Upload
phungduong
View
218
Download
0
Embed Size (px)
Citation preview
PLAN 06 / NMS INFORMÁTICA III
Julio 2009 1
BENEMÉRITA UNIVERSIDAD AUTÓNOMA DE PUEBLA
NIVEL MEDIO SUPERIOR
INFORMÁTICA III
Primera Parte
MATERIAL DIDÁCTICO
MANUAL DE PRÁCTICAS Y ANTOLOGÍA
JULIO DE 2009
ÁREA DE CIENCIAS EXACTAS
ACADEMIA GENERAL DE INFORMÁTICA
32 SESIONES DE 100 MIN
NOMBRE DEL ALUMNO (A): NÚMERO DE COMPUTADORA: GRADO Y GRUPO: NOMBRE DEL PROFESOR (A): ESCUELA:
PLAN 06 / NMS INFORMÁTICA III
Julio 2009 2
PRESENTACIÓN DEL MANUAL PARA EL ALUMNO El presente MANUAL DE PRÁCTICAS Y ANTOLOGÍA de Informática III para el
alumno constituye la parte final del desarrollo del aprendizaje, en el área de
Informática, del Plan de Estudios vigente (plan 06) del Nivel Medio Superior para
el tercer año del bachillerato Universitario. Este primer manual de un total de dos
para todo el ciclo escolar, apoyará al estudiante en el aprendizaje del lenguaje de
programación C y del uso del lenguaje de hipertexto HTML.
El Manual está estructurado de la siguiente manera:
Presentación del Manual para los alumnos
Programa
Unidades por semestre con sus respectivos mapas conceptuales, objetivos y contenidos que están desarrolladas en lecciones. Al inicio de cada lección se definen los conceptos más relevantes, seguidas de diversas actividades de aprendizaje, además de ejemplos codificados en lenguaje de programación con sus comentarios correspondientes para explicar su funcionamiento.
Bibliografía de referencia y de consulta de alumnos y facilitadores (maestros).
Este material está diseñado para ayudar al estudiante en la solución de
situaciones problémicas que se presenten de manera cotidiana y que se puedan
resolver a través del diseño de un programa de computadora, con ello el
estudiante desarrollará sus habilidades y destrezas para analizar el problema y
plantear una solución. El material presenta al principio conceptos básicos y poco a
poco va subiendo de nivel para una mejor comprensión. Se aborda una
metodología que permite al estudiante reconocer el problema y proponer una
solución viable desde la perspectiva de un lenguaje común pero estructurado y
después de un lenguaje de programación de computadora.
Es recomendable que en cada programa que desarrolle, haga primero el
algoritmo o el diagrama de flujo para crear un programa más eficiente y que el
tiempo de codificación y ejecución no sea excesivo.
PLAN 06 / NMS INFORMÁTICA III
Julio 2009 3
DISEÑO ESTRUCTURACIÓN Y ACTUALIZACIÓN POR INTEGRANTES DE LA
ACADEMIA GENERAL DE COMPUTACIÓN:
Autores :
Profesores:
José Caselín Rosas
Javier Díaz Sánchez
Mónica Campos Sánchez
Maricela Sánchez Hernández
Ma. De los Ángeles Sánchez de los Santos
COLABORADORES
Profesores:
Alma Rosa Catalán Alarcón
Edgar Juárez Isasmendi
Briseyda Bravo
Ma. De Lourdes Carreón Sánchez
María Griselda Inés García Ávila
Alberto Vega Báez
Lucero Aranda Ortiz
Alejandra Reyes Vélez
Óscar López Gámez
Jorge Sandoval Robles
Ma. Del Pilar Beatriz Guevara Castillo
Flaviano Pérez Romero
PLAN 06 / NMS INFORMÁTICA III
Julio 2009 4
INFORMÁTICA III PROGRAMA
OBJETIVO GENERAL DE LA MATERIA Desarrollar las potencialidades cognitivas, valorativas y actitudinales mediante el uso adecuado de la computadora como herramienta esencial, en un contexto de situaciones problémicas y trabajo interdisciplinario a nivel aplicativo, para continuar estudios superiores como persona sensible, crítica y que participe en la construcción de un mundo más humano.
OBJETIVO GENERAL DEL CURSO Utilizar el lenguaje de programación C para resolver problemas en general, a través de funciones simples e interactivas que permitan la resolución modular del problema y así disminuir la complejidad del mismo, a nivel reproductivo –aplicativo. Utilizar herramientas de programación gráfica para crear un entorno visual. Utilizar las herramientas de Internet para elaborar trabajos académicos en donde se comparta y se actualice la información a través de cometarios. Diseñar páginas web utilizando el lenguaje de hipertexto HTML para publicar información de tipo general a través de internet.
RELACIÓN CON EL PERFIL DE EGRESO DEL BACHILLERATO: CONTRIBUCIÓN Y LOGROS El Plan de estudios 06 del Nivel Medio Superior busca que “… Los alumnos que egresan de la Institución han logrado un conocimiento y comprensión de sí mismos, una formación académica que les ha familiarizado con los avances científicos y tecnológicos, que les permite una visión interdisciplinaria e integral, que los hace sensibles a las problemáticas sociales, económicas, políticas, éticas, estéticas y ecológicas, que los prepara para su ingreso al nivel superior; capaces de interactuar en equipo, con una actitud fraterna, libre, justa, pacífica, tolerante y de respeto a la pluralidad….” Por lo tanto, la asignatura de Informática busca incidir, para que nuestros egresados logren:
• Escribir y hablar correctamente. • Escuchar y preguntar para comprender y apreciar los puntos de vista de
otros. • Leer y comprender la información presentada en sus diversas formas. • Identificar las capacidades y limitaciones de los recursos tecnológicos
informáticos contemporáneos y emergentes y evaluar el potencial de estos sistemas y servicios al conducir la vida personal, en el aprendizaje permanente y para satisfacer las necesidades en el ámbito laboral.
PLAN 06 / NMS INFORMÁTICA III
Julio 2009 5
• Desarrollar destrezas de información sencillas: uso de una herramienta, como el catálogo de una biblioteca.
• Desarrollar destrezas de información compuestas: combinación de destrezas y herramientas de información.
• Demostrar y defender comportamientos éticos y legales en el uso de tecnología informática y de la información entre compañeros, familiares y en la comunidad en la que se vive.
• Usar herramientas y recursos tecnológicos para administrar y comunicar información personal y académica.
• Usar de manera natural, rutinaria y eficiente las fuentes de información en línea para satisfacer necesidades de colaboración e investigación.
• Seleccionar y aplicar herramientas tecnológicas para el análisis de información, la resolución de problemas y la toma de decisiones en el ámbito del aprendizaje.
UNIDADES UNIDAD 0. CONCEPTOS GENERALES DE PROGRAMACIÓN UNIDAD I. SENTENCIAS DE DECISIÓN. UNIDAD II. SENTENCIAS DE REPETICIÓN. UNIDAD III. CREACIÓN DE FUNCIONES. UNIDAD IV. INTRODUCCIÓN A GRAFICADO. UNIDAD V. COMO COMPARTIR EL CONOCIMIENTO CON OTROS USUARIOS PRESENTACIÓN DE LAS UNIDADES UNIDAD 0. CONCEPTOS GENERALES DEPROGRAMACIÓN Se presentan conceptos de programación básicos para determinar a nivel general el nivel de conocimientos que tienen los estudiantes, se incluyen también conceptos teóricos fundamentales para que el estudiante tenga bases más sólidas para las unidades siguientes, por lo mismo permite nivelar a los estudiantes reforzando o repasando temas nuevos o que no dominan. UNIDAD I. SENTENCIAS DE DECISIÓN Se presentan las sentencias de decisión básicas y anidadas, así como el selector múltiple, aún cuando el estudiante para esta primera unidad ya debe tener conocimientos básicos del lenguaje de programación c, se han agregado algunas prácticas básicas para retomar lo que se estudió en el año anterior. Se agregan además conceptos básicos que no se abordaron en el curso anterior para que el estudiante inicie su aprendizaje del lenguaje de programación C en un nivel más avanzado y con situaciones problémicas más complejas. UNIDAD II. SENTENCIAS DE REPETICIÓN En esta unidad se ve le necesidad de realizar tareas repetitivas dentro de la solución de un problema, para ello se utilizan diversas estructuras de repetición que dependiendo de las necesidades del problema se utiliza la más adecuada.
PLAN 06 / NMS INFORMÁTICA III
Julio 2009 6
UNIDAD III. CREACIÓN DE FUNCIONES Dada la complejidad que presenta la solución de algunas situaciones problémicas, se implementa una estrategia para reducir el grado de dificultad que implica tal situación, para ello se inserta el concepto de funciones, que es un medio para resolver una situación problémica mediante una estrategia denominada stepwise, que permite la reutilización de código. UNIDAD IV. INTRODUCCIÓN AL GRAFICADO Un lenguaje de programación de nivel medio como es el C tiene características que lo hacen ser un lenguaje potente ya que permite manipular directa o indirectamente los dispositivos físicos, uno de ellos es por ejemplo la salida de video, que permite mostrar gráficos simples pero que el usuario controla de forma absoluta, por tanto se introducen las sentencias gráficas básicas que permiten al estudiante conocer su funcionamiento y determinar su aplicación en el contexto en el que se encuentre. UNIDAD V. COMO COMPARTIR EL CONOCIMIENTO CON OTROS USUARIOS Las TIC´s juegan un papel determinante en el desarrollo de cualquier ser humano y de cualquier sociedad, ante esta perspectiva surge la necesidad de compartir conocimientos e información que nos obligan a utilizar otro tipo de recursos alternos a los convencionales, por ello se introducen conceptos como Webcast y Weblog, que permiten comunicarnos y publicar información a través de internet, sin embargo, dada la limitante de este recurso, se incluyen elementos de codificación del lenguaje de hipertexto HTML para que se diseñen mecanismos de comunicación más versátiles y de un diseño propio. CONTENIDO DE LAS UNIDADES UNIDAD 0 CONCEPTOS GENERALES DEPROGRAMACIÓN Objetivo de la Unidad
Demostrar el nivel de conocimientos previos del lenguaje de programación C y
profundizar en conceptos generales a través del diseño, y programación de
diversos proyectos.
Lección I
0.1.1 Solución de un problema
Lección 2
0.1.2 Programa en lenguaje C
0.1.2.1 Codificación de un programa
0.1.2.2 Compilar y ejecutar
Lección 3
0.1.3 Variables e identificadores
PLAN 06 / NMS INFORMÁTICA III
Julio 2009 7
Lección 4
0.1.4 Actividades
UNIDAD I SENTENCIAS DE DECISIÓN Objetivo de la Unidad
Elaborar programas de acuerdo a las soluciones algorítmicas planteadas a un
problema que incluya la toma de decisiones a nivel aplicativo
Lección I
1.1.1. Estructura simple (if <condición>)
Lección 2
1.2.1 Estructura doble (if <condición 1> else <condición 2>
1.2.2 Estructura anidada (un if dentro de otro if)
Lección 3
1.3.1. Estructura selectiva múltiple (switch – case)
Lección 4
1.4.1 Ejercicios
UNIDAD II SENTENCIAS DE REPETICIÓN Objetivo de la Unidad
Elaborar programas de acuerdo a las soluciones algorítmicas planteadas a un
problema que incluya la ejecución de tareas iterativas a nivel aplicativo
Lección 5
2 .1 El ciclo for
Lección 6
2. 2 El ciclo while
PLAN 06 / NMS INFORMÁTICA III
Julio 2009 8
Lección 7
2. 3 El ciclo do-while
Lección 8
2.4 Ejercicios
UNIDAD III CREACIÓN DE FUNCIONES
Objetivo de la Unidad
Disminuir la complejidad de un programa a través de funciones simples integradas
en un programa principal a nivel aplicativo
Lección 9
3.1 Estructura, creación y uso de funciones
Lección 10
3.3 Tipos de funciones (void, int, float) y paso de parámetros.
Lección 11
3.4 Ejercicios
UNIDAD IV INTRODUCCIÓN AL GRAFICADO (8 SESIONES)
Objetivo de la Unidad
Diseñar objetos en movimiento mediante sentencias de la biblioteca gráfica a nivel
creativo.
Lección 12
4.1 Protocolos para trabajar en ambiente gráfico
4.3 Creación de figuras geométricas básicas
PLAN 06 / NMS INFORMÁTICA III
Julio 2009 9
UNIDAD V COMO COMPARTIR EL CONOCIMIENTO CON OTROS USUARIOS
(INTERNET II)
Objetivo de la unidad
Utilizar las herramientas de Internet para elaborar trabajos académicos en
donde se comparta, se actualice y se difunda información a utilizando
herramientas ya establecidas y de diseño propio.
Lección 13
5.1. Introducción a HTML.
Lección 14
5.2. Estructura de un documento HTML
Lección 15
5.3.1 Introducción a las TIC
5.3.2 Uso del e-mail
Lección 16
5.4.1 Webtools
5.4.2 WebQuest
5.4.3 Webblog
Lección 17
5.5.1 Actividades.
ACTIVIDADES Y EXPERIENCIAS DE APRENDIZAJE POR UNIDAD
UNIDAD 0. CONCEPTOS GENERALES DE PROGRAMACIÓN Se realizan varios programas para recordar conceptos de programación
desde la estructura hasta los comandos básicos para guardar, compilar y ejecutar.
Se conoce la diferencia ente tipos de datos. Se describen detalladamente la utilidad de las funciones printf() y scanf(),
incluyendo los tipos de carácter. Se utilizan sentencias básicas de formato de texto para diferenciar
resultados. UNIDAD I. SENTENCIAS DE DECISIÓN.
PLAN 06 / NMS INFORMÁTICA III
Julio 2009 10
Se introducen sentencias simples y anidadas para resolver problemas que incluyan la toma de decisiones.
Se utiliza la sentencia de selección múltiple “switch” para elegir una opción de entre varias y evitar así el uso excesivo de sentencias de decisión simple.
Se inserta la tabla de operaciones lógicas para entender la estructura de las sentencias de decisión.
UNIDAD II. SENTENCIAS DE REPETICIÓN. Se resuelven problemas que requieran la ejecución de tareas repetitivas a
través de los ciclos ó sentencias de repetición: for, while, do-while, dependiendo de la necesidad del contexto en el que se encuentre.
Se retoma la implementación de algoritmos y diagramas de flujo para facilitar la comprensión de sentencias de repetición.
Se desarrollan varios ejercicios para que el estudiante utilice el ciclo apropiado para cada situación problémica.
UNIDAD III. CREACIÓN DE FUNCIONES. Se aprende a crear funciones para disminuir la complejidad de un
programa. Se crean diferentes funciones y se reutilizan en diferentes partes del
programa. Se introduce el concepto de argumento de una función, destacando la necesidad de utilizarlo.
Se crean programas mejor estructurados con una esquema modular incluyendo funciones.
UNIDAD IV. INTRODUCCIÓN A GRAFICADO. Se conocen las librerías necesarias para crear gráficos. Se conocen las sentencias para crear figuras geométricas básicas. Se crean programas con gráficos incluyendo colores en líneas y en
rellenos. Se utiliza la tabla de colores para crear figuras en dos y tres dimensiones
con tramas y rellenos diversos. UNIDAD V. COMO COMPARTIR EL CONOCIMIENTO CON OTROS USUARIOS
PLAN 06 / NMS INFORMÁTICA III
Julio 2009 11
UNIDAD 0 CONCEPTOS GENERALES DE PROGRAMACIÓN
Objetivo de la Unidad
Demostrar el nivel de conocimientos previos del lenguaje de programación C y
profundizar en conceptos generales a través del diseño, y programación de
diversos proyectos.
Lección 1.
Solución a un problema
A partir de un problema el estudiante encontrará la solución por medio de un
esquema gráfico y escrito, reconociendo operaciones a realizar, así como la
entrada y salida de datos que la solución requiere.
Actividades:
Problema
Necesitamos obtener el promedio final de una materia, sabiendo que las
calificaciones están distribuidas en 4 parciales.
Solución
Para dar respuesta al problema planteado, necesitamos 4 variables de entrada
para recibir los datos numéricos y una variable de salida para recibir el resultado,
esta última variable es el promedio; mismo que ha sido derivado de una operación
matemática.
Variables de Entrada y Salida: Las variables necesitan un nombre propio y único
para su correcto manejo (sintaxis) e identificación.
Veamos un esquema gráfico de forma general para visualizar nuestra idea
Nombres otorgados a las entradas (identificadores): calf1, calf2, calf3, calf4
Salida: promedio
PLAN 06 / NMS INFORMÁTICA III
Julio 2009 12
Proceso (Matemático):
Lección 2.
Programa en Lenguaje C
A partir de la solución encontrada al problema en la sección previa, el estudiante
realizará la codificación del programa correspondiente.
Actividades:
Para realizar un programa que pueda obtener el promedio de calificaciones a
través del lenguaje C, será necesario revisar las siguientes consideraciones:
Se requiere de un nombre propio (identificador) para cada variable de entrada y
salida; también considere que en un futuro proyecto determinará nombres a
variables temporales o auxiliares, todos estos nombres que identifican a cada
elemento siguen reglas definidas por una sintaxis.
Para nuestro caso se han determinado los siguientes nombres:
Entrada: calf1, calf2, calf3, calf4
Salida: promedio
Ahora es necesario determinar el tipo de datos a manejar, una calificación puede
contener decimales o valores enteros, por ello existen tipo adecuados para las
entradas y salidas de datos en un lenguaje de programación, en este programa
utilizaremos el tipo float, porque es capaz de manipular decimales.
• calf1
• calf2
• calf3
• calf4
Entradas
•p=(calf1+calf2+calf3+calf4)/4
Proceso
• Imprimir P
Salida
PLAN 06 / NMS INFORMÁTICA III
Julio 2009 13
Para el procesamiento de la información; cada una de las entradas será sumada,
luego esa suma total es dividida y puesta en la variable llamada "promedio". En
lenguaje C, el uso de los signos de agrupación y de operación determina la
correcta precedencia y un resultado óptimo.
¿Qué es la precedencia?
Es el orden en el que se ejecutan los operadores
Con signos de agrupación
Sin signos de agrupación
Después de establecer los elementos anteriores, se da paso al proceso de
codificación, donde necesitaremos instrucciones y funciones propias del lenguaje,
las instrucciones y los nombres de tales funciones se denominan palabras
reservadas, que nunca serán consideradas como identificadores de nuestras
variables.
int
9, 10, 5
Enteros
float
8.8, 9, 10
Reales
8 6 9 10 (8+6+9+10)/4 8.25
8 6 9 10 8+6+9+10/4 25.5
PLAN 06 / NMS INFORMÁTICA III
Julio 2009 14
Borrado de pantalla y
reubicación del cursor
Declaración de variables
Un programa necesita de comentarios para facilitar su comprensión, con ello se
puede identificar al autor, el uso y enfoque del código, y la utilización de variables,
bibliotecas y funciones.
Codificación del Programa
// Autor: J Díaz © 2010
/* Programa para Obtener el Promedio de 4 Calificaciones */
//BUAP
//Materia: Informática III
#include "stdio.h"
#include "conio.h"
void main(void)
{
float calf1, calf2, calf3,calf4,promedio;
clrscr();
printf("Dame la calificación del primer parcial \n");
scanf("%f",&calf1)
printf("Dame la calificación del segundo parcial \n");
scanf("%f",&calf2)
printf("Dame la calificación del tercer parcial \n");
scanf("%f",&calf3)
printf("Dame la calificación del cuarto parcial \n");
printf("Dame el primer parcial \n");
scanf("%f",&calf1)
8
Memoria (PC)
Inclusión de las librerías:
Estándar de
entrada/Salida, y de
Pantalla
Uso de comentarios
Inicio de la función
principal “main”
Se utiliza la función
printf para presentar
textos en pantalla y la
función scanf para
ingresar los datos a las
variables
Se realiza el proceso
matemático y se asigna
un resultado a la
variable de salida
PLAN 06 / NMS INFORMÁTICA III
Julio 2009 15
A través de la función
“printf” se presenta el
resultado de la
operación guardado en
la variable promedio Realiza una pausa en espera de una
instrucción del usuario
scanf("%f",&calf4)
promedio:=(calf1+calf2+calf3+calf4)/4;
printf("Promedio: %f",promedio);
getch();
}
Compilar y Ejecutar
Durante la codificación es importante guardar constantemente la información, para
ello utilice la siguiente secuencia:
File Save as… [nombre.cpp] (Nombre no mayor a 8 caracteres )
En caso de Guardar en Memoria Flash USB, determine la letra asignada
por su computadora.
En la compilación se realiza el proceso de verificación de sintaxis e interpretación
de las estructuras, por ello aparecerán mensajes que denotan errores y
advertencias con sus posibles causas.
Palabras Claves
Palabras Clave: estas palabras son propias del lenguaje, por lo que no pueden
utilizarse como identificadores y cada una de ellas realiza una función específica.
Palabras Clave
Auto Break case char continue Default
Compilar F9
Ejecutar
Ctrl+F9
PLAN 06 / NMS INFORMÁTICA III
Julio 2009 16
Do Double else enum extern float For
Goto If int long register Return
Short Sizeof static struct switch
Typedef Union unsigned void while
Tipos de Datos
Tipo Longitud Rango
unsigned char 8 bits 0 a 255
char 8 bits -128 a 127
enum 16 bits -32,768 a 32,767
unsigned int 16 bits 0 a 65,535
short int 16 bits -32,768 a 32,767
int 16 bits -32,768 a 32,767
unsigned long 32 bits 0 a 4,294,967,295
long 32 bits -2,147,483,648 a 2,147,483,647
float 32 bits 3.4 * (10**-38) a 3.4 * (10**+38)
double 64 bits 1.7 * (10**-308) a 1.7 * (10**+308)
long double 80 bits 3.4 * (10**-4932) a 1.1 * (10**+4932)
Lección 3.
Declaración de Variables e Identificadores
Conocerá la importancia de la declaración de variables en un programa y
aprenderá a crear los identificadores necesarios para cada variable, utilizará los
operadores aritméticos y aprenderá la importancia de los componentes de las
funciones de entrada y salida, así como la utilidad de los comentarios dentro de un
programa.
Actividades:
En un problema existen; variables, constantes y funciones construidas por el
usuario, las cuales deben tener un nombre y se conoce por identificador, está
constituido por letras o secuencias de letras y números para ser diferenciadas.
Variables
Las variables deben ser declaradas antes de usarlas, para ello se determina el
tipo de dato para almacenar la información y a continuación uno o más
PLAN 06 / NMS INFORMÁTICA III
Julio 2009 17
identificadores1 (el nombre de cada una de las variables), cuando use varios
identificadores para un mismo tipo use comas (,) para separarlos.
Así se compone un identificador
BNF
letra_mina | b |...| z
letra_mayA | B |...| Z
letrasletra_min | letra_may
digito0 | 1 |...| 9
tipochar | short | int | long | unsigned char | unsigned short | unsigned |
unsigned long | float | double
identificador(letra | _)(letra | _ | digito)*
tipo identificador (, identificador)*;
int calf1,calf2;
float promedio;
Notación: * cero o más ítems
Nota: El lenguaje C diferencia mayúsculas de minúsculas en cada identificador.
Comentarios
Al escribir un programa es importante la documentación del mismo, existen dos
formas de generar comentarios. El primero es usar los delimitadores /* y */:
1 Para Turbo C son significativos solo 32 caracteres en un identificador
PLAN 06 / NMS INFORMÁTICA III
Julio 2009 18
/* un comentario */ /**************** /*
*un comentario un comentario
****************/ */
o bien, por cada línea se anteponen dos diagonales (//) previas al texto:
// un comentario //******************* //
//un comentario //un comentario
//******************* //
Entradas y salidas básicas
printf (“cadenas %tipo_de_datos”,lista de argumentos);
Considerada como la salida estándar. Es una función de la
biblioteca estándar <stdio.h>, que imprime en pantalla.
scanf(“%tipo_dato”,&argumento);
Lectura estándar de datos. También función de <stdio.h>
Constantes y caracteres de printf y scanf
De acuerdo al tipo de datos que vamos a utilizar en la funciones printf(); y scanf(),
se debe especificar el carácter de formato asociado.
printf(“ cadena %carácter ”,argumento);
Carácter Formato Asociado (tipo de dato)
%c Carácter (un solo carácter)
%d Entero decimal
%e Punto Flotante en notación Científica
%f Punto flotante
%g Formato e o f (el más corto)
PLAN 06 / NMS INFORMÁTICA III
Julio 2009 19
%s Cadena de caracteres
scanf(“ %carácter ”,&argumento);
Carácter Formato Asociado (tipo de dato)
%c Carácter (un solo carácter)
%d Entero decimal
%f Punto Flotante
%lf Punto flotante (Double)
%s Cadena de caracteres
Operadores
Un operador es un símbolo que indica al compilador un tratamiento específico
para los elementos, existen las siguientes clases de operadores: aritméticos,
relacionales, lógicos y sobre bits.
Operadores Aritméticos Precedencia
Operador Acción
- sustracción o negativo (unario)
+ Suma
* multiplicación
/ división
% división módulo
-- decremento
++ incremento
Mas alta ++ --
-
* / %
Mas baja + -
PLAN 06 / NMS INFORMÁTICA III
Julio 2009 20
Lección 4.
Actividades
Realizará las actividades que refuercen sus conocimientos de la unidad
correspondiente
Actividades
1. Formule las variables de entrada y salida de las siguientes ecuaciones
Fórmula de la distancia: )()( 1212),(
22
21 yyxxPPd
Punto medio de un segmento de recta:
2
)(,
2
)( 2121 yyxx
Pendiente: 21
21
xx
yy
x
ym
Forma punto-pendiente: )( 11 xxmyy
2. Expresar el área de la superficie de un cubo como una función de su volumen y viceversa.
Área Cubo: 26LA , Volumen Cubo: 3LV
3. Expresar el volumen de una esfera como una función del área de su superficie.
Área Esfera: 24 rA , Volumen Esfera: 3
4
3 rV
4. Realice un programa que calcule el volumen de un cono: hrV 2
2
1
5. Investigue sobre el conjunto de números: Naturales, Enteros, Racionales, Irracionales, Reales, Complejos, su dominios, alcances y usos.
6. Realice un programa para calcular : 2,3 y 4
PLAN 06 / NMS INFORMÁTICA III
Julio 2009 21
UNIDAD I SENTENCIAS DE DECISIÓN
Objetivo de la Unidad
Elaborar programas de acuerdo a las soluciones algorítmicas planteadas a un
problema que incluya la toma de decisiones a nivel aplicativo.
Lección 1
Estructura simple (if <condición>) Resolverá situaciones problémicas que requieran la toma de decisiones mediante estructuras comparativas simples.
Actividades:
Estructuras de control selectivo
Cuando un programa necesita “tomar” decisiones a ciertas condiciones o datos, se implementa la estructura if(condición)sentencia; como la forma más simple. En ella la computadora analiza el resultado de la condición sólo en términos de falso o verdadero, si la condición es verdadera realiza la siguiente sentencia delimitada por punto y coma (;), de lo contrario salta hasta la segunda sentencia, de cualquier forma esta última se realizará ya que el compilador es secuencial. Puede aplicar mayor control en la toma de decisiones, sólo agregando la palabra reservada else (“en otro caso”), para indicar la “segunda opción”, pero se dará el caso en que su código va más allá de una simple línea, tal vez sean 10 o 20 o más, entonces debe usar los paréntesis para agrupar las sentencias. Y porque no, quizás el programa necesite varias condiciones subsecuentes, entonces tendrá que crear ifs anidados. Mostraremos unos ejemplos a continuación:
Problema
Necesitamos determinar si una persona es mayor o menor de edad, a partir de la información necesaria, enviando un mensaje ilustrativo Solución
Habrá una variable que recibirá la edad, después se hace una comparación en donde se determina que se mostrará.
PLAN 06 / NMS INFORMÁTICA III
Julio 2009 22
If (condición) sentencia; #include “stdio.h” void main(void) { int edad; printf(“Dame tu edad”); scanf(“%d”,&edad);
if (edad >=18)
printf(“\n Mayor de edad”); printf(“Después de evaluar se continúa”); }
If (condición) sentencia else sentencia; #include “stdio.h” void main(void) { int edad;
printf(“\n Dame tu edad”);
scanf(“%d”,&edad);
if (age >=18)
printf( “\nMayor de Edad ” ); else
printf( “\n Menor de edad” );
printf(“\n Después de evaluar se continúa”);
} Lección 2. Estructura doble (if <condición 1> else <condición 2> Utilizará estructuras de decisión más complejas, operadores lógicos y comparativos, para la optimización del funcionamiento de un programa. Actividades:
edad>=18
Siguiente Instrucción
Es Mayor
22 años 1
7 añ
os
22 años 17 años
Si No
22 años 17
años
22 años 17 años
Si No
edad >=18
Siguiente Instrucción
Es Mayor Es Menor
PLAN 06 / NMS INFORMÁTICA III
Julio 2009 23
Problema
Necesitamos un programa para determinar según la edad, cuál será la película apropiada para la persona. Estas son las condiciones:
Edad
Menor de 5 años “Bee una abeja”
De 5 a 12 años, “Peter Pan”
Mayor de 12 a 17, “Harry Potter”
Mayor de 18, “Tango”
Solución
Necesitamos leer la edad, después evaluar a través de una comparativa en la que pueden existir intervalos, estos a su vez, son elaborados con operadores relacionales y operadores lógicos.
PLAN 06 / NMS INFORMÁTICA III
Julio 2009 24
If (condición) sentencia else sentencia; (anidados) #include “stdio.h” void main(void) { int edad;
printf(“\n Dame tu edad: ”);
scanf(“%d”,&edad);
if (edad <5)
printf( “\n Bee, una Abeja” );
else
if ((edad >=5) && (edad <=12))
printf( “\n Peter Pan” );
else
if ((edad>12) && (edad<17))
printf( “\n Harry Potter” );
else
printf( “\n Tango” );
printf(“\n Después de evaluar se continúa”);
}
4 años 17
años
Siguiente Instrucción
Si No
Bee, una
abeja
edad <5
edad >=5 &&
edad <=12 Si No
Peter Pan
17
años
edad >12 &&
edad <=17
Harry Potter Tango
Si No
17
años
4 años 17 años
PLAN 06 / NMS INFORMÁTICA III
Julio 2009 25
Nota: Es importante aclarar, que la instrucción if o else, solo ejecuta EXCLUSIVAMENTE una sentencia (una línea de código), por lo que será necesario usar paréntesis para agrupar a un conjunto, por ejemplo:
if (edad >=18)
{
textcolor(8);
cprintf( “\nMayor de Edad ” );
} else
{
textcolor(8); cprintf( “\nMayor de Edad ” );
}
El escalonador de if-else-if
El uso de este escalonador se debe a la necesidad de excesivas comparativas, en el se siguen las misma acciones que un if (condición) sentencia; else sentencia;. De hecho la computadora evalúa las expresiones en forma descendente, y tan pronto encuentra una condición verdadera dentro de las comparaciones, ejecuta la sentencia o sentencias y salta el resto de la escalera.
Ejercicio de Aula
Dados dos números
determinar, cual es el mayor
de estos o si son iguales.
Dados los lados de un
triángulo determinar si es
equilátero, escaleno o
isósceles.
If (condición)
sentencia;
else if (condición)
sentencia;
else if (condición)
sentencia;
else if (condición)
sentencia;
.
.
else
sentencia;
PLAN 06 / NMS INFORMÁTICA III
Julio 2009 26
Operadores relacionales
Operador Significado
> Mayor que
>= Mayor que o igual
< Menor que
<= Menor que o igual
== Igual
!= No igual
Operadores Lógicos
Lógica :: ^̂ (Y), vv (O), ~~ (Negación),
En lenguaje C : && (Y), || (O), ! (Negación)
Tablas de Verdad
Conjunción
P Q P ^ Q
V V V
V F F
F V F
F F F
Disyunción
P Q P v Q
V V V
V F V
F V V
F F F
Negación
P ~ P
V F
F V
Atención: Cuando use este tipo de operadores verifique que ambos símbolos se
encuentre escritos, ya que al estar sólo uno de ellos, se aplican operaciones sobre
bits y no operaciones lógicas.
PLAN 06 / NMS INFORMÁTICA III
Julio 2009 27
Actividades
Realice los siguientes programas: (Debe diseñar primero, el algoritmo diagrama de
flujo correspondiente a cada programa).
1. Que obtenga el resultado de las siguientes funciones por intervalos. Nota: La función recibirá un valor para x, y genera un resultado según las condiciones cumplidas.
2,2
20,2
0,2
)(
xx
xx
xx
xf
1,12
20,3
0,
)(
2
xx
x
xx
xf
2. Que decida a través de un mensaje en pantalla, cuando un número es positivo, negativo o cero.
3. Que obtenga la función de valor absoluto
0,
0,
aa
aaa
4. Que obtenga las soluciones y casos de la ecuación cuadrática:
a
acbbx
2
42 , para los casos:
a) a=0, b=0 b) 042 acb , 042 acb , 042 acb
Nota: debe existir solución para números complejos.
5. Que determine la longitud esperada en centímetros de un feto humano, la función lineal que usará es L=1.5t-6.7, donde t >= 12. Considere restricciones con un mínimo para t de 12 semanas y un máximo de 42 semanas.
6. La comisión internacional para la caza de ballenas, decreta que el peso
W (en toneladas largas de 22400 libras) de una ballena azul adulta se determina por la función W=3.51L-192, donde L es la longitud en pies, L debe ser mayor que o igual a 70 pies. El programa determinará el peso de la ballena.
7. Realice la siguiente función:
ddoouubbllee ccoonnvveerr__FFCC((ddoouubbllee ggrraaddooss,, cchhaarr ttiippoo)) Esta función convertirá
una determinada temperatura dado el número de grados y la primera
letra correspondiente a su escala a los grados de su escala contraria,
siguiendo la correspondencia Fahrenheit a Celsius y viceversa:
conver_FC(100,’C’) 212 (Grados Fahrenheit). C=(5/9)*(F-32).
PLAN 06 / NMS INFORMÁTICA III
Julio 2009 28
Lección 3.
Estructura selectiva múltiple (switch – case)
Aprenderá a utilizar la sentencia de decisión múltiple como alternativa a la
sentencia de decisión simple, cuando el uso de esta última resulte excesivo.
Actividades:
Selector Múltiple (Switch)
Es una alternativa al escalonador if-else-if, tiene el mismo objetivo pero su sintaxis es muy reducida y entendible. A esta sentencia se le conoce como bifurcación múltiple. En esta sentencia en la parte superior se encuentra el elemento a comparar de una lista descendiente de constantes, por lo que el sistema lee y compara en la lista predeterminada y al encontrar una coincidencia se ejecuta la sentencia o bloque de sentencias, su estructura es: switch(valor) { case constante1:
sentencia(s);
break;
case constante2:
sentencia(s);
break;
case constante3:
sentencia(s);
break;
default:
sentencia(s);
}
Sentencias
Switch( valor )
Sentencias Sentencias
Sentencias
Constante1
Constante2 Constante3
default
PLAN 06 / NMS INFORMÁTICA III
Julio 2009 29
Cuando no existe coincidencia alguna en el listado de constantes, se tiene la instrucción default: que significa, caso por omisión o caso predeterminado; esta última instrucción es totalmente opcional, sin embargo la apertura y cierre de paréntesis para agrupar a la lista son obligatorias.
Problema
Se desea realizar un programa que funcione como una calculadora para procesar dos valores. Solución
Se necesitan dos variables de entrada, una variable para almacenar el resultado de una operación, y una variable de tipo char, que funcionara como receptor de la operación que se desea realizar y que se considera parte del menú.
PLAN 06 / NMS INFORMÁTICA III
Julio 2009 30
#include "stdio.h" #include "conio.h" void menu(void) { clrscr(); printf("\n+: suma"); printf("\n-: resta"); printf("\nx: producto"); printf("\n/: división"); } void main(void) { float a,b; char c; menu(); printf("\n Primer valor: "); scanf("%f",&a); printf("\n Segundo valor: "); scanf("%f",&b); printf("\n Operación: "); scanf("%c",&c); scanf("%c",&c);
switch(c)
{
case '+': printf("\n%.2f + %.2f = %.4f",a,b,a+b);
break;
case '-': printf("\n%.2f - %.2f = %.4f",a,b,a-b);
break;
case 'x': printf("\n%.2f * %.2f = %.4f",a,b,a*b);
break;
case '/': printf("\n%.2f / %.2f = %.4f",a,b,a/b);
break;
default:
printf("\nError");
} printf("\n Después de evaluar se continúa"); getch(); getch(); }
Cuando ocupe constantes de tipo carácter use comilla
simple ´a´, recordando que distingue Mayúsculas de
minúsculas. Si usa constantes numéricas inclúyalas en la
lista de manera normal: case 1:
PLAN 06 / NMS INFORMÁTICA III
Julio 2009 31
Funcionamiento de switch en el programa
Actividades
1. Amplíe la calculadora de tal forma que se puedan realizar operaciones de
trigonometría, raíz cuadrada y cúbica.
„+‟ : a+b
C (tipo char)
Siguiente Instrucción
„x‟ : a+b
Default:
C x a 5 b 4
9
Se realiza la lectura del carácter
Seguido a esto, se lleva el valor
hacia switch, donde se realizar una
comparativa con cada uno de los
elementos hasta encontrar la
IGUALDAD y se ejecuta la
instrucción o instrucciones
PLAN 06 / NMS INFORMÁTICA III
Julio 2009 32
UNIDAD II Sentencias de repetición
Objetivo de la Unidad
Elaborar programas de acuerdo a las soluciones algorítmicas planteadas a un
problema que incluya la ejecución de tareas iterativas a nivel aplicativo
Lección 1
El ciclo for
Utilizará el ciclo de repetición For para implementar tareas repetitivas en donde se
conozca el número de veces que se ejecutará la tarea.
Actividades:
Es muy común encontrar en los algoritmos operaciones que se deben ejecutar un
número repetido de veces. El conjunto de instrucciones que se ejecuta
repetidamente se llama ciclo. Todo ciclo debe terminar de ejecutarse luego de un
número finito de veces, por lo que es necesario en cada repetición del mismo,
evaluar las condiciones necesarias para decidir si debe seguir ejecutándose o debe
detenerse. En todo ciclo, siempre debe existir una condición de parada o fin de
ciclo.
En algunos algoritmos podemos establecer que el ciclo se repetirá un número
definido de veces. Llamaremos PARA (en inglés FOR) a la sentencia repetitiva que
se ejecuta un número definido de veces.
En esta unidad haremos uso del símbolo para representar la asignación de
un valor a una variable.
PLAN 06 / NMS INFORMÁTICA III
Julio 2009 33
repetir
FELICITAR Y
ENTREGAR
MEDALLA
¿Jugador es
igual a
jugador 5?
Finaliza
premiación
Si jugador no es
igual a jugador 5,
que pase el
siguiente jugador
jugadores
Ejemplo 1.
Tomemos como primer ejemplo la entrega de medallas a los 5 jugadores de un
equipo campeón de beisbol por parte del presidente del torneo.
Ciclo de repetición PARA (FOR). En forma de algoritmo
Algoritmo: Entrega de medallas a un equipo de beisbol.
1.- Inicio
2.- PARA jugador 1 hasta jugador 5 repetir
2.1 Felicitar jugador
2.2 Colocarle medalla
Fin PARA
PLAN 06 / NMS INFORMÁTICA III
Julio 2009 34
Problema 1: Construya un diagrama de flujo tal que, dados los sueldos de 10
trabajadores de una empresa, obtenga el total de la nómina de la misma.
Explicación de las variables.
SUE1, SUE2, SUE3, SUE4, SUE5, SUE6, SUE7, SUE8, SUE9, SUE10. Variables
de tipo real. Representan los sueldos de los empleados.
NOMINA: Variable de tipo real. Almacena la suma de los sueldos de todos los
trabajadores.
Problema 2: ¿Qué sucedería si en lugar de tener 10 empleados, la empresa
tuviera 100 ó 1000?
Se puede resolver con una estructura repetitiva, de tal forma que el ciclo se ejecute
tantas veces como empleados tenga la empresa.
El diagrama de flujo 1.3 es más claro y más general que el diagrama 1.2.
Modificando la condición (i <= 10), podemos utilizar esta solución para N
empleados (i <=N). Donde N nos representa en este caso un dato que puede ser
un valor mayor a 10.
Explicación de las variables.
i: Es una variable de tipo entero que representa la variable contador del ciclo.
Cuenta el número de veces que ha de repetirse una determinada acción. El
contador toma un valor inicial (1) y se incrementa en una unidad en cada
repetición del ciclo.
Diagrama de flujo 1.2 INICIO
SUE1, SUE2, SUE3, SUE4, SUE5, SUE6,
SUE7, SUE8, SUE9, SUE10
NOMINA SUE1+SUE2+SUE3+SUE4+SUE5+SUE6+SUE7+SUE8+SUE9+SUE10
FIN
PLAN 06 / NMS INFORMÁTICA III
Julio 2009 35
nomina: Es una variable de tipo real que representa un acumulador. Este se
utiliza cuando debemos obtener el total acumulado de un conjunto de
cantidades, generalmente se inicializa en cero.
sueldo: Es una variable de tipo real. Representa el sueldo del trabajador.
Lección 2.
En la siguiente tabla podemos observar el
seguimiento del algoritmo para los
sueldos: $1500, $890, $700, $950, $2300,
$1650, $1800, $1400, $760, $900.
Tabla 1.1 I sueldo nomina+sueldo nomina
0
1 1500 0+1500 1500
2 890 1500+890 2390
3 700 2390+700 3090
4 950 3090+950 4040
5 2300 4040+2300 6340
6 1650 6340+1650 7990
7 1800 7990+1800 9790
8 1400 9790+1400 11190
9 760 11190+760 11950
10 900 11950+900 12850 11
Sentencia
repetitiva
PARA
VERDADER
O
INICIO
FALSO
sueldo
nomina nomina + sueldo
i i+1
FIN
i = 1
nomina = 0
nomina
i < = 10
Diagrama de flujo 1.3
Inicia el ciclo
Finaliza el ciclo Valor que
se imprime
PLAN 06 / NMS INFORMÁTICA III
Julio 2009 36
Algoritmo y Codificación en lenguaje “C”
Algoritmo: Calcular la nómina a un grupo
de 10 empleados.
i: variable de tipo entero.
sueldo y nomina: variables de tipo real.
1.- Inicio
2.- i 1 y nomina 0
3.- Para i= 1 hasta 10 hacer
Leer sueldo
nomina nomina + sueldo
Incrementar i i+1
4.- Fin Para
5.- Escribir nomina
6.- Fin
/*Codificación en C */
#include <stdio.h>
#include <conio.h>
void main () {
clrscr();
int i;
float sueldo, nomina;
nomina=0;
for (i=1;i<=10;i++)
{
printf("Introduce sueldo de empleado:");
scanf("%f",&sueldo);
nomina = nomina+sueldo;
}
printf("Nomina=%f", nomina);
getch();
}
PLAN 06 / NMS INFORMÁTICA III
Julio 2009 37
Lección 2
El ciclo While
Utilizará el ciclo de repetición While para implementar tareas repetitivas que
se ejecutarán siempre y cuando cumplan con una condición inicial.
Actividades:
En algunos algoritmos no podemos establecer el número de veces que ha de
ejecutarse el ciclo. Llamaremos MIENTRAS (en inglés WHILE) a la sentencia
repetitiva que se ejecuta mientras la condición resulta verdadera, la sentencia
MIENTRAS termina cuando la condición es falsa.
Ejemplo 2. ¿Qué hacer para ver la película Harry Potter?. En este ejemplo se hace
uso del ciclo de repetición MIENTRAS (WHILE).
repetir
repetir
Si no hay
fila
Ver
cartelera
¿Proyectan
Harry Potter?
Ir al
cine
Si no
proyectan
Harry Potter
Decidir otra
actividad
¿Hay fila
para
formarse
en ella?
Mientras
haya
personas
delante
Avanzar
en fila ¿ Hay
boletos?
Si no hay
boletos
refunfuñar
Comprar
una
entrada
Pasar a sala
Localizar
asiento
Mientras
proyectan
película
Ver película
Abandonar cine
Volver a
casa
PLAN 06 / NMS INFORMÁTICA III
Julio 2009 38
Algoritmo: ¿Qué hacer para ver la película Harry Potter?.
1.- Inicio
2.- Ver la cartelera de cines en el periódico
3.- Si proyectan Harry Potter entonces
3.1 Ir al cine
Si_no
3.2 Decidir otra actividad
3.3 Ir al paso 7
Fin_si
4.- Si hay fila entonces
4.1 Formarse en ella
4.2 Mientras haya personas delante hacer
4.2.1 Avanzar en la fila
Fin_mientras
Fin_si
5.- Si hay boletos entonces
5.1 Comprar una entrada
5.2 Pasar a la sala
5.3 Localizar el asiento
5.4 Mientras proyectan la película hacer
5.4.1 Ver la película
Fin_mientras
5.5 Abandonar el cine
Si_no
5.6 Refunfuñar
Fin_si
PLAN 06 / NMS INFORMÁTICA III
Julio 2009 39
6.- Volver a casa
7.- Fin
En el algoritmo anterior existen palabras que incluyen los conceptos importantes de
selección (expresadas por si_entonces, si_no if_then_else) y de repetición
(expresadas con mientras, hacer mientras en ingles, while, do-while). Otro
aspecto a considerar es el método elegido para describir los algoritmos: empleo de
indentación (sangrado) en escritura de algoritmos.
Ejemplo 3. Preparar una taza de té. Ciclo de repetición MIENTRAS (WHILE).
repetir
repetir
Tomar
tetera
Llenarla
de agua
Encender
fuego
Poner
tetera
en
fuego
Esperar
Mientras
no hierva
el agua
Mientras
no esta
hecho el
té
Verter
té en
taza
Esperar Tomar
bolsa de
té
Introducirla
en la tetera
PLAN 06 / NMS INFORMÁTICA III
Julio 2009 40
Algoritmo: Preparar una taza de té.
1.- Inicio.
2.- Tomar la tetera.
3.- Llenarla de agua.
4.- Encender el fuego.
5.- Poner la tetera en el fuego.
5.1 Mientras no hierva el agua
5.1.1 Esperar
Fin mientras
6.- Tomar la bolsa de té.
7.- Introducirla en la tetera.
7.1 Mientras no está hecho el té.
7.1.1 Esperar
Fin mientras
8.- Verter té en la taza.
9.- Fin.
Ejemplo 5.
Diseñar un algoritmo para calcular la velocidad media (en m/s) de los corredores
de una carrera de 1500 metros. La entrada serán parejas de números (minutos,
segundos) que darán el tiempo de cada corredor. Por cada corredor se imprimirá el
tiempo en minutos y segundos, así como la velocidad media. El ciclo se ejecutará
hasta que demos una entrada de 0,0 que será la marca de fin de entrada de datos.
PLAN 06 / NMS INFORMÁTICA III
Julio 2009 41
Algoritmo
Algoritmo: Calcular la velocidad media (en m/s) de los corredores de una carrera de 1500
metros.
1.- Inicio
2.- Distancia 1500
3.- Leer (m, s)
3.1 Mientras m != 0 ó s != 0 hacer
3.1.1 Tiempo s + m*60
3.1.2 v distancia/tiempo
3.1.3 Escribir (m, s, v)
3.1.4 Leer(m, s)
Fin mientras
4.- Fin
Leer
minutos
(m),
segundos
(s)
Mientras
m diferente de cero
ó
s diferente de cero
Realizar
operaciones:
tiempo = s*m*60
v=distancia/tiempo
Escribir minutos
(m), segundos (s) y
velocidad (v).
Leer minutos (m) y
segundos (s)
repetir
PLAN 06 / NMS INFORMÁTICA III
Julio 2009 42
Problema 1: Supongamos que debemos obtener la suma de los gastos que
hicimos en nuestro último viaje, pero no sabemos exactamente cuántos fueron.
INICIO
sumagastos = 0
gasto
gasto <> 0
NO
SI
sumagastos = sumagastos+gasto
gasto
FIN
sumagastos
Sentencia repetitiva
MIENTRAS
Diagrama de flujo 1.5
PLAN 06 / NMS INFORMÁTICA III
Julio 2009 43
Explicación de las variables.
sumagastos: Es una variable de tipo real. Es un acumulador, acumula los gastos
efectuados.
gasto: Es una variable de tipo real. Su valor en la primera lectura debe ser
verdadero, es decir distinto de 0. Su valor se modifica en cada repetición del ciclo.
Cuando la variable gasto tome el valor de 0, entonces el ciclo se detendrá y a
continuación se imprimirá la suma de los gastos efectuados.
En la siguiente tabla podemos observar el seguimiento del algoritmo para los
siguientes gastos: $2528, $3500, $1600, $1850, $150, 0.
Tabla 1.2
gasto sumagastos+gasto sumagastos
0
2528 0+2528 2528
3500 2528+3500 6028
1600 6028+1600 7628
1850 7628+1850 9478
150 9478+150 9628 0
A continuación presentamos el algoritmo correspondiente del total de gastos de un
viaje.
gasto y sumagastos son variables de tipo real.
Algoritmo: Total de gastos de un viaje.
1.- Inicio
2.- sumagastos 0
3.- Leer gasto
4.- Mientras gasto sea diferente de 0 hacer
sumagastos sumagastos+gasto
Leer gasto
5.- Fin Mientras
Finaliza el ciclo
Inicia el ciclo
Valor que
se imprime
PLAN 06 / NMS INFORMÁTICA III
Julio 2009 44
6.- Escribir sumagastos
7.- Fin
Codificación en lenguaje C: Total de gastos de un viaje.
#include <stdio.h>
#include <conio.h>
void main(){
clrscr(); // limpia pantalla
float sumagastos, gasto;
sumagastos=0;
printf("Introduce gasto: ");
scanf("%f",&gasto);
while(gasto != 0){
sumagastos=sumagastos+gasto;
printf("\nIntroduce gasto: ");
scanf("%f",&gasto);
}
printf("\nEl gasto total del viaje es de: %0.2f",sumagastos);
getch();
}
PLAN 06 / NMS INFORMÁTICA III
Julio 2009 45
Lección 3.
El ciclo do-while
Utilizará el ciclo de repetición Do-While para implementar tareas repetitivas que se
ejecutarán al menos una vez y continuará su ciclo siempre y cuando cumplan con
una condición específica.
Actividades:
Con la sentencia repetitiva HACER-MIENTRAS todas las sentencias en el interior
del ciclo se ejecutan al menos una vez antes de que la condición se evalúe.
Entonces, si la condición es verdadera las sentencias que están dentro del ciclo se
ejecutan una vez más. El proceso continúa hasta que la condición evaluada toma el
valor falso.
Ejemplo 4. Endulzar mi café. Ciclo de repetición HACER MIENTRAS (DO-WHILE).
Algoritmo: Endulzar mi café.
1.- Inicio
2.- Tomar la cafetera
3.- Llenar mi taza con café
3.1 Hacer
3.1.1 Verter cucharadita de azúcar en el café
3.1.2 Disolver azúcar en el café
3.1.3 Probar sabor del café
repetir
Tomar
cafetera
Llenar taza
con café
Vertir
cucharadita
de azúcar en
el café.
Disolver
azúcar en
el café
Probar
sabor del
café
Mientras
sabor del
café sea
amargo
PLAN 06 / NMS INFORMÁTICA III
Julio 2009 46
Mientras sabor de café sea amargo
4.- Fin
Problema 3.
Supóngase que en una reciente elección hubo dos candidatos (con identificadores
1 y 2). Se desea saber, mediante un programa, el número total de ciudadanos que
votaron. El funcionario electoral tecleará los votos de manera desorganizada, tal y
como se obtuvieron en la elección, el final de datos está representado por un cero.
Observe, la siguiente lista de votos: 1,2,2,1,2,1,1,2,1,1,2,2,1,0
Donde 1 representa un voto para el candidato 1 y 2 un voto para el candidato 2.
Vamos a representar mediante un diagrama de flujo el problema anterior.
Sentencia repetitiva
HACER MIENTRAS
NO
INICIO
contadorvotos= -1
voto
SI
contadorvotos = contadorvotos+1
FIN
contadorvotos
voto <> 0
PLAN 06 / NMS INFORMÁTICA III
Julio 2009 47
Explicación de las variables.
contadorvotos: Es una variable de tipo entero. Es un acumulador, acumula los
votos de cada persona. La razón de inicializar la variable en -1, se debe a que si
leemos un voto que sea cero, la operación contadorvotos=contadorvotos+1 lo
contara como un voto mas y por eso desde el inicio lo estamos eliminando.
voto: Es una variable de tipo entero. Lee el valor 1 ó 2 que representan el voto para
el candidato respectivo. Su valor se modifica con cada lectura de voto al repetirse
el ciclo. Cuando la variable voto tome el valor de 0, entonces el ciclo se detendrá e
imprimirá cuantas personas votaron.
Tabla 1.3
voto contadorvoto+1 contadorvoto
-1
1 -1+1 0
2 0+1 1
2 1+1 2
1 2+1 3
2 3+1 4
1 4+1 5
1 5+1 6
2 6+1 7
1 7+1 8
1 8+1 9
2 9+1 10
2 10+1 11
1 11+1 12
0 12+1 13 Valor que
se imprime Finaliza el ciclo
Inicia el ciclo
PLAN 06 / NMS INFORMÁTICA III
Julio 2009 48
Algoritmo: Número total de ciudadanos que votaron.
1.- Inicio
2.- contadorvotos -1
3.- Hacer
Leer voto
contadorvotos contadorvotos+1
4.- Mientras voto sea diferente de cero
5.- Escribir contadorvotos
6.- Fin
/* Codificación en leguaje C */
#include <stdio.h>
#include <conio.h>
void main(){
clrscr();
int contadorvotos;
int voto;
contadorvotos=-1;
do {
printf("Introduce voto: ");
scanf("%i",&voto);
contadorvotos=contadorvotos+1;
}while(voto != 0);
printf("El numero de ciudadanos que votaron es de: %i
",contadorvotos);
getch();
}
PLAN 06 / NMS INFORMÁTICA III
Julio 2009 49
Observando los ejemplos anteriores nos damos cuenta que cualquier ciclo de
repetición PARA, MIENTRAS y HACER MIENTRAS consta de las siguientes
partes:
Variable de Control. El valor de esta variable se evalúa en la condición
lógica para determinar si se finaliza o se repite una vez más el ciclo. Es
importante que se le asigne un valor inicial verdadero. Si el valor de la
variable de control es falso, entonces el ciclo no se ejecuta.
Ejemplos de variables de control.
i 1 respuesta “SI” continuar verdadero
Condición Lógica. La evaluación de la variable de control en esta
condición permite decidir cuándo finalizara la ejecución del ciclo. La
condición se evalúa al inicio de los ciclos PARA y MIENTRAS; y se evalúa al
final, en el caso del ciclo HACER MIENTRAS.
Ejemplos de condiciones lógicas.
i <= 10 respuesta = “SI” continuar = verdadero
Conjunto de Instrucciones. Son las instrucciones que se encuentran
dentro del ciclo y que se ejecutaran repetidamente.
Modificación de la Variable de Control. Se refiere a una instrucción en la
cual se asigna un nuevo valor a la variable de control para que vuelva a ser
evaluada en la condición lógica.
Ejemplos de modificación de la variable de control.
i i+1 i i-1 i i+5 respuesta “NO” continuar falso
PLAN 06 / NMS INFORMÁTICA III
Julio 2009 50
Actividades
Crear los siguientes programas: (Debe diseñar primero el algoritmo o diagrama de flujo).
1. Que calcule el factorial de un número. Recordemos que el factorial de un número N responde a la fórmula
N!=N*(N-1)*(N-2)*(N-3)*…………………………………………3*2*1
Es decir si queremos obtener el factorial de 5 es:
5!=5*4*3*2*1=120
2. Que muestre la tabla de multiplicar de un número x, con el siguiente formato de salida: X * 1 = X X * 2 = Y Etc.
3. Que calcule la potencia de un número xy usando for. 4. Que muestre los número de 0 a 100, con incrementos de z. 5. Que obtenga las siguientes sumatorias eligiendo el máximo posible en
lugar de infinito.
51
1
.,)5)(4(
1sol
kkk
,
43
1
1
31 ., sol
k
k
,
31
110
3 ., solk
k
6. Que obtenga las sumatorias anteriores eligiendo los índices inicial y
final, es decir el valor de k y un número final.
PLAN 06 / NMS INFORMÁTICA III
Julio 2009 51
UNIDAD III Creación de Funciones
Objetivo de la Unidad
Disminuir la complejidad de un programa a través de funciones simples integradas
en el programa principal a nivel aplicativo.
Lección 9.
Estructura, creación y uso de funciones
Aprenderá la importancia de crear funciones para disminuir la complejidad de un
programa.
Problema
Un concepto importante en la programación es la división de un proyecto en
pequeños elementos, estos elementos que funcionan como módulos exclusivos para
una tarea adoptan el nombre de funciones; las funciones reciben o generan datos
que serán utilizados en el programa principal.
Veamos un ejemplo en el que la división en varios módulos es primordial; el caso es
el siguiente, se desea ver el promedio de cuatro parciales a través de dos formas,
promedio como media aritmética y como promedio ponderado, donde este último
está determinado por porcentajes que suman el 100%.
Media Aritmética: (calf1 + calf2+ calf3+ alf4)/4
Promedio Ponderado: calf1*porcent1+ calf2*porcent2+ calf3*porcent3+
calf4*porcent4
Para solucionar este caso considere realizar 2 funciones, a las que llamaremos
Media_arit() y Media_pond()
Inicia el programa en
"main()" llamando a las
funciones
Media_arit
Recibe los datos:
c1,c2
prom=(c1+c2)/2
Media_pond
Recibe los datos:
c1,c2,porc1, porc2,
prom=c1*porc1+c2*porc2
se presentan los resultados en la función principal
"main"
PLAN 06 / NMS INFORMÁTICA III
Julio 2009 52
Procesamiento de la función Media_arit:
Codificación:
#include “stdio.h”
#imclude “conio.h”
void Media_arit(void) {
float c1, c2,c3, c4, prom;
printf("Calificación 1");
scanf("%f",&c1);
printf("Calificación 2");
scanf("%f",&c2);
prom=(c1+c2)/2;
printf(“El resultado es %f”, prom);
}
void Media_pond(void) {
float c1, c2, porc1, porc2, prom;
printf("Calificación 1");
• printf("Calificación 1");
• scanf("%f",&c1);
• printf("Calificación 2");
• scanf("%f",&c2);
Entradas
• prom=(c1+c2+c3+c4)/4
Proceso•printf("Promedio %f",
prom);
Salida
Las funciones reciben y regresan valores, pueden
entrar diferentes tipos de datos y generar salidas de
otro tipo. En nuestro caso el tipo void significa valor
nulo, es decir, no sale nada, no entra nada.
Toda función tiene un cuerpo delimitado
por {llaves}, donde cada variable tiene un
alcance único en este espacio.
Estructura
tipo nombre_función( argumentos-tipo)
Void Media_arit(void)
PLAN 06 / NMS INFORMÁTICA III
Julio 2009 53
scanf("%f",&c1);
printf("Calificación 2");
scanf("%f",&c2);}
printf(“Porcentaje en decimal: *50%+-> 0.5”);
printf("Porcentaje Calf1: ");
scanf("%f",&pond1);
printf("Porcentaje Calf2");
scanf("%f",&pond2);
prom=(c1*porc1+c2*porc2);
printf(“El resultado es %f”, prom);
}
void main(void)
{
Clrscr();
Media_arit();
Media_pond();
}
La ejecución del programa será secuencial, iniciando en la función “main”, ahí el
programa ejecutará cada una de las funciones que encuentre, ingresando a la
estructura respectiva hasta terminar y continuar con la siguiente.
Lección 10.
Tipos de funciones (void, int, float)
Aprenderá a utilizar distintos tipos de función, incluyendo los argumentos como
elementos que permiten aumentar la utilidad de una función.
El programa busca a
“main()” y se ejecuta
secuencialmente
1
2
PLAN 06 / NMS INFORMÁTICA III
Julio 2009 54
Actividades:
Una característica importante de las funciones es la capacidad que tienen para
reciben argumentos(valores) y devolver algún tipo de valor, por ejemplo, se realiza
una función que da por resultado el cubo de un número, utilizando otra función que
multiplica 2 números;
#include “stdio.h”
#include “conio.h”
int multiplica (int a, int b)
{
return a*b;
}
int cubo(int number)
{
return multiplica(multiplica(number,number),number);
}
Así trabaja la función “cubo”, con el valor de x igual a 4
Cubo(4) multiplica( multiplica( 4,4) , 4)
void main(void)
{
int x, resultado;
printf("Numero: ");
scanf("%d",&x);
resultado=cubo(x);
printf("\nCubo es %d", resultado);
getch();
}
1
2
Se pasa como
argumento el valor
de la variable “x”
en la función
cubo(x).
16
4
64
16
resultado
PLAN 06 / NMS INFORMÁTICA III
Julio 2009 55
Definición de funciones
Una estrategia para la solución de problemas complejos es la división del mismo
problema en problemas más pequeños –esta técnica se denomina comúnmente
divide y vencerás-; este método es conocido como diseño descendente, es
decir la resolución comienza con una descomposición modular, hasta llegar a un
refinamiento sucesivo (stepwise). Por lo que será necesario crear módulos o
funciones que responderán a determinados sucesos o peticiones. De hecho una de
las ventajas más importante de la modulación es la reutilización del código, ya
que se deben crear funciones con propósitos generales, en la programación
orientada a objetos la reutilización es totalmente clara, aquí se crean objetos dentro
de clases capaces de adaptarse a mejoras generadas por un proceso llamado
herencia.
De hecho la base de la programación en C es la función, por lo que la necesidad de
crear funciones satisface al proceso de modulación. En este lenguaje todas las
funciones están en el mismo nivel externo, no puede anidar funciones internas para
una función específica, es decir no debe haber una función dentro de otra
función, un problema puede tener un o más módulos, puede tener una o más
funciones en un o más archivos; sin embargo existe una función que es el punto de
inicio o de entrada del programa, esta función es main(), el resto de las funciones
generadas se llamas desde el interior de main() o del interior de otras según la
dependencia de las mismas. Además todas las funciones deben devolver un
“valor” de cualquier tipo, desde uno definido hasta un creado por el usuario, usa
return para devolver un valor, de hecho al usar esta instrucción la función produce
una salida inmediata; pero cuando la función no necesite devolver un valor usa
void ya que este indica “sin valor”.
Como organizar las funciones
C es un lenguaje de funciones, en donde una función específica denominada main() indica el punto de ejecución. Sin embargo las funciones deben ser estructuradas según su dependencia de otras; podrá editar las funciones de forma desorganizada, pero cuando una función necesite del resultado de otra el compilador le indicará este tipo de dependencias no satisfechas. Por tanto, las funciones principales deberán estar ubicadas en la parte superior de las funciones dependientes, nótese que estamos atendiendo a un proceso de diseño descendente.
PLAN 06 / NMS INFORMÁTICA III
Julio 2009 56
Argumentos y resultados de funciones
Una función puede contener distintos tipos de datos como argumentos (parámetros
de entrada) y devolver un tipo totalmente distinto a los anteriores; por ello se debe
analizar con sumo detalle los parámetros de entrada y resultados. El siguiente
ejemplo muestra una función que tiene como parámetros de entrada 4 números de
tipo entero, y por salida el promedio de los mismos en tipo flotante (real).
#include <stdio.h>
#include <conio.h>
float promedio(int a, int b, int c, int d)
{
return (float(a+b+c+d))/4;
}
void main(void)
{
int a,b,c,d;
clrscr();
printf("4 numeros separados por espacios: ");
scanf("%d %d %d %d", &a,&b,&c,&d);
printf("\nPromedio: %.2f", promedio(a,b,c,d));
getch();
}
Los argumentos de una función
deben estar separados por comas, y
antecedidos por un tipo de dato.
Se está aplicando un cast, esto es, “convertir” la
salida en otro tipo de dato. Sin esto, se genera
una división entera.
Declaración de variables locales de tipo entero, recuerde ser explícito en el tipo
de datos a leer y devolver; además se debe tener en cuenta que al declarar
variables locales estas sólo existen en sus funciones, por lo que no existe
ninguna relación entre las variables locales de main() y las de promedio()
La lectura de varios elementos, sólo
las variables son separadas por comas,
los tipos pueden variar según sus
necesidades.
Para que el resultado se muestre
con dos decimales, use
.nDECIMALES
PLAN 06 / NMS INFORMÁTICA III
Julio 2009 57
Lección 11.
Ejercicios
Realizará ejercicios que refuercen su aprendizaje en el uso de funciones
Actividades:
1. Realice las siguientes funciones:
ddoouubbllee ppootteenncciiaa((ddoouubbllee bbaassee,, ddoouubbllee eexxppoonneennttee)) xy basado en logaritmo natural y el número exponencial
ddoouubbllee rraaiicceess((ddoouubbllee rraaddiiccaannddoo,, ddoouubbllee rraaddiiccaall)) yx basado en
logaritmo natural y el número exponencial.
ddoouubbllee ggrraadd22rraadd((ddoouubbllee ggrraaddooss)) Convertir grados a radianes.
ddoouubbllee rraadd22ggrraadd((rraaddiiaanneess ggrraaddooss)) Convertir radianes a grados.
PLAN 06 / NMS INFORMÁTICA III
Julio 2009 58
UNIDAD IV INTRODUCCIÓN AL GRAFICADO
Objetivo de la Unidad
Diseñar objetos en movimiento mediante sentencias de la biblioteca gráfica a
nivel creativo.
Lección 12
Protocolos para trabajar en ambiente gráfico
Aprenderá los elementos necesarios y su configuración para desarrollar un
programa que incluya componentes gráficos.
Actividades:
Un lenguaje de programación permite interactuar de forma gráfica con el usuario a
través de librerías preestablecidas que preparan a la computadora para el entorno.
Se pueden crear figuras geométricas básicas y complejas mediante estructuras
propias o personalizadas por el usuario.
El uso de funciones matemáticas aplicadas a estructuras propias del lenguaje,
permite visualizar elementos de tipo abstracto, es el caso de usar funciones
trigonométricas para el ploteo de puntos generadores de formas curvas.
Ejemplo1. A continuación mostramos la configuración del compilador turbo c para que un programa que traza una línea se pueda visualizar. Para que Turbo C pueda realizar la compilación y ejecución de funciones gráficas, esta necesita ser activada: OptionsLinker..Libraries..
PLAN 06 / NMS INFORMÁTICA III
Julio 2009 59
Lección 13
Creación de figuras geométricas básicas
A continuación incluya las siguientes
librerías al código:
#include <graphics.h>
#include <stdlib.h>
#include <graphics.h>
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
int main(void)
{
/* Proceso de auto detección de video*/
int gdriver = DETECT, gmode, errorcode;
/* Inicializa el modo gráfico */
initgraph(&gdriver, &gmode, "");
/* Resultado de la inicialización*/
errorcode = graphresult();
if (errorcode != grOk)
{
printf("Error modo gráfico: %s\n",
grapherrormsg(errorcode));
printf("Salir (enter):");
getch();
exit(1);
}
/*Si el modo se inicializa correctamente */
/* Dibuja un rectángulo/
rectangle(0, 0, getmaxx(), getmaxy());
getch();
/*cierra el modo gráfico/
closegraph();
return 0;
}
Para inicializar el modo gráfico en C,
se debe detectar la tarjeta de video
disponible y su resolución.
La función
initgraph(&gdriver,&gmode,””); inicializa
el modo gráfico con la tarjeta detectada
(DETECT) y la resolución disponible
(gmode). La cadena de caracteres
siguiente solo indica la ruta (path) de los
controladores de dicha tarjeta.
Por esta razón necesitamos cambiar el
path BIN de Turbo C por BGI, usando:
FileChange dir...
La pantalla logra una resolución de 640 x 350 en casos VGA
o EGA a 16 colores. Use la función getmaxx() y getmaxy()
para conocer los límites superior e inferior de la pantalla.
PLAN 06 / NMS INFORMÁTICA III
Julio 2009 60
Lección 13
Creación de figuras geométricas básicas
Desarrollará programas con componentes gráficos, a través de las librerías
preestablecidas.
Actividades:
Utilizando Sentencias de Dibujo y Forma Rellenas
Cuando se dibujan formas rellenas de una elipse, un sector o una barra; el relleno
es sólido, no existe una trama, y si deseamos personalizar nuestro relleno en base
a una trama, es necesario declara un arreglo que albergará 8 caracteres, los cuales
según su secuencia de bits diseñará un mapa para la trama:
#include <graphics.h>
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
#include <string.h>
void main(void)
{
int midx,midy,radioy,radiox;
char trama[8] = {0xff, 0x07, 0x02, 0x02, 0x02, 0x02, 0x07, 0xff};
int gdriver = DETECT, gmode, errorcode;
initgraph(&gdriver, &gmode, "");
errorcode = graphresult();
if (errorcode != grOk)
{
printf("Error: %s\n", grapherrormsg(errorcode));
printf("Presione cualquier tecla...");
getch();
exit(1);
}
midx=getmaxx()/2;
midy=getmaxy()/2;
rectangle(0,0,getmaxx(),getmaxy());
circle(midx,midy,100);
radioy=60;
radiox=80;
setfillpattern(trama,BLUE);
fillellipse(midx,midy,radiox,radioy);
setcolor(BLUE);
radiox=radioy=120;
11111111
00000111
00000010
00000010
00000010
00000010
00000111
11111111
oxff
ox07
ox02
ox02
ox02
ox02
ox07
oxff
PLAN 06 / NMS INFORMÁTICA III
Julio 2009 61
ellipse(midx,midy,0,270,radiox,radioy);
setcolor(YELLOW);
setfillstyle(SOLID_FILL,4);
radiox=radioy=50;
sector(midx,midy,0,270,radiox,radioy);
getch();
/*cierra el modo gráfico/
closegraph();
return 0;
}
Código para dibujar una línea
line(x1,y1,x2,y2); en las coordenadas x1,y1 (inicio) ,x2,y2 (final)
Ejemplo: line(0,0,100,10);
Código para dibujar un punto
putpixel(x1,y1,color); en las coordenadas x1,y1 con un color
Ejemplo: putpixel(100,100,BLUE);
Código para obtener el valor máximo de puntos en los ejes X y Y de la
pantalla
getmaxx(); Devuelve la coordenada máxima para X de la pantalla (límite superior)
getmaxy(); Devuelve la coordenada máxima para Y de la pantalla (límite inferior)
Código para imprimir texto
Actividad de Aula:
1. Realice la fig (2a), use circle(); arc(); pieslice(); fillellipse(); sector();
2. Dibuje el Sistema Solar
PLAN 06 / NMS INFORMÁTICA III
Julio 2009 62
outtextxy(x,y,”cadena”); en las coordenadas x,y
Ejemplo: outtextxy(10,20,”Impresión de texto”);
Código para trazar una barra
bar3d(x1,y1, x2,y2); en las coordenadas x1,y1 (inicio) ,x2,y2 (final)
Ejemplo: bar(10,320,100,400);
Código para trazar una barra 3D
bar3d(x1,y1, x2,y2, Profundidad <25%> (x2-x1)/4, Mostrar profundidad(s/n)<1,0>);
Ejemplo: bar3d(10,200,100,300,50,1);
Código para trazar un círculo
circle(cx,cy,radio); Dibuja un circulo con centro en cx yc y y radio.
Ejemplo: circle(200,200,100);
Código para trazar una barra 3D
rectangle(x1,y1,x2,y2); Dibuja un rectángulo en las coordenadas x1,y1 (inicio) ,x2,y2 (final).
Ejemplo: rectangle(10,200,100,300,50,1);
Funciones para cambiar colores
setcolor(c); Cambia el color (Primer Plano)
setbkcolor(c); Cambia el color de fondo
cleardevice(c); Limpia la pantalla
PLAN 06 / NMS INFORMÁTICA III
Julio 2009 63
Tabla de Colores
setcolor(): esta función cambia el color de la línea de dibujo (contorno). La tabla también muestra su disponibilidad para el primer y segundo plano.
Constante Valor Primer Plano Segundo Plano (fondo)
BLACK 0 SI SI
BLUE 1 SI SI
GREEN 2 SI SI
CYAN 3 SI SI
RED 4 SI SI
MAGENTA 5 SI SI
BROWN 6 SI SI
LIGHTGRAY 7 SI SI
DARKGRAY 8 NO SI
LIGHTBLUE 9 NO SI
LIGHTGREEN 10 NO SI
LIGHTCYAN 11 NO SI
LIGHTRED 12 NO SI
LIGHTMAGENTA 13 NO SI
YELLOW 14 NO SI
WHITE 15 NO SI
BLINK 128 NO Modo texto
Cambiar La Trama De Relleno De Figuras Sólidas
Para cambiar la trama de relleno usa la función setfillpattern(pattern, BLUE); la cual como se puede ver necesita definir un color de relleno. Si se desea tramas predefinidas se debe usar la constantes del cuadro inferior, y definir un estilo de llenado con setfillstyle(SOLID_FILL,COLOR); también se necesita un color para rellenar.
Constante Valor Llenar con...
EMPTY_FILL 0 Color de fondo
SOLID_FILL 1 Color (sólido)
LINE_FILL 2 ---
LTSLASH_FILL 3 ///
SLASH_FILL 4 ///
BKSLASH_FILL 5 \\\
LTBKSLASH_FILL 6 \\\
HATCH_FILL 7 Trama ligera
XHATCH_FILL 8 Trama cruzada
INTERLEAVE_FILL 9 Líneas entrelazadas
WIDE_DOT_FILL 10 Pts ampliamente espaciados
PLAN 06 / NMS INFORMÁTICA III
Julio 2009 64
CLOSE_DOT_FILL 11 Pts estrechamente espaciados
USER_FILL 12 Trama predefinida (usuario)
Descripción de elementos para la generación de elipses, sectores y arcos.
ellipse(x,y,0,360,radiox,radioy); Dibuja una Elipse (contorno) fillellipse(x,y,radiox,radioy);Dibuja una Elipse (llena sector(x,y,0,360,radiox,radioy);Dibuja un sector (lleno) (x,y) Centro de la elipse radiox Eje Horizontal radioy Eje Vertical AInicio Ángulo de inicio Afinal Ángulo de FINAL Los ángulos son grados: [0,360] arc(x,y,AInicio, AFinal,radio); Dibuja un arco
pieslice(x,y,AInicio, AFinal,radio); Dibuja un trozo de pie (arco relleno)
PLAN 06 / NMS INFORMÁTICA III
Julio 2009 65
Actividades
1. Realizar la grafica de las funciones seno y coseno en un solo plano
Para poder usar funciones
trigonométricas incluya la
librería <math.h>: los resultados
y los argumentos de las
funciones son considerados en
radianes.
2. Realiza la grafica de un círculo usando las funciones seno y coseno
3. Realizar la gráfica de una roseta usando las funciones seno y coseno.
Utilice ecuaciones paramétricas para trazar formas tan complejas como
esta:
PLAN 06 / NMS INFORMÁTICA III
Julio 2009 66
BIBLIOGRAFIA
1.- CAIRÓ Osvaldo, “METODOLOGÍA DE LA PROGRAMACIÓN ALGORITMOS, DIAGRAMAS DE
FLUJO Y PROGRAMAS”
ALFAOMEGA
MÉXICO, 1995
476 PAGINAS.
2.- SANTOS MANUEL, PATIÑO ISMAEL, CARRASCO RAUL, “FUNDAMENTOS DE
PROGRAMACIÓN”
ALFAOMEGA RA-MA
MÉXICO 2006
317 PAGINAS.
3.- JOYANES AGUILAR LUIS, “FUNDAMENTOS DE PROGRAMACION, ALGORITMOS,
ESTRUCTURAS DE DATOS Y OBJETOS”
MCGRAWHILL 3era EDICION.
ESPAÑA, 2003
1004 PAGINAS.
4.- KENDALL E. KENNETH AND JULIE, “ANALISIS Y DISEÑO DE SISTEMAS”
6ta EDICIÓN
PEARSON EDUCACIÓN
MÉXICO, 2005
726 PAGINAS.
PLAN 06 / NMS INFORMÁTICA III
Julio 2009 67
Bibliografía Javier Díaz
Lenguaje C Introducción a la programación
Al Kelley, Ira Pohl
Addison-Wesley Iberoamericana
SITESA, México. DF. 1987
Lecciones de Cálculo
Introducción a la derivada
Allan B. Cruse
Milliane Lehman
Fondo Educativo Interamericano
Cálculo con Geometría analítica
Denis G Zill
Grupo Editorial Iberoamerica
Software: Turbo C++ version 3.0
Borland International Inc. 1990, 1992 ©
PLAN 06 / NMS INFORMÁTICA III
Julio 2009 68