Programación estructurada

2,060 views
1,891 views

Published on

Algoritmo, Educacion, POO

Published in: Education
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,060
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
116
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Programación estructurada

  1. 1. UNIVERSIDAD TÉCNICA DE Ambato FACULTAD DE CIENCIAS HUMANAS Y DE LA EDUCACIÓN CARRERA DE DOCENCIA EN INFORMÁTICA PROGRAMACIÓN Ing. Wilma Gavilánez NOMBRES: Adriana Villalta CURSO: Segundo de Docencia en Informática PARALELO: “Único” AÑO: 2013 -2014
  2. 2. ÍNDICE 1) Introducción 1 2) Programación y elementos de un programa 2 3) Lenguaje de Programación 3 4) Condicionantes (SIMPLES, DOBLES MIXTAS, COMPUESTAS) 4 5) Sentencias (IF, ELSE, SWITCH) 5 6) Lenguaje C 9 7) Ciclos (DO, DO WHILE) 14 8) Tipos de datos estructurados 16 9) Funciones en C 17 10) Parámetros 22 11) Bibliografía 27
  3. 3. UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN INTRODUCCIÓN ELEMENTO 1 Analizar los lineamientos generales sobre programación estructurada para insertarse en los fundamentos de la programación, mediante un cuaderno digital de conceptualizaciones sobre las generalidades de programación estructurada. EL lenguaje C es el resultado de un proceso de desarrollo que inició con un lenguaje denominado BCPL. Este influenció a otro llamado B (inventado por Ken Thompson). En los años 70; éste lenguaje llevó a la aparición del C. Con la popularidad de las microcomputadoras muchas compañías comenzaron implementar su propio C por lo cual surgieron discrepancias entre sí. Por esta razón ANSI (American National Standars Institute, por sus siglas en inglés), estableció un comité en 1983 para crear una definición no ambigua del lenguaje C e independiente de la máquina que pudiera utilizarse en todos los tipos de C. 1
  4. 4. UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN PROGRAMACION ESTRUCTURADA LENGUAJE C PROGRAMACIÓN: Secuencia de instrucciones para llegar a la solución de un problema, la cual será necesario ejecutar varias etapas. CARACTERÍSTICAS DEL LENGUAJE C El lenguaje C se conoce como un lenguaje compilado. Existen dos tipos de lenguaje: interpretados y compilados. Los interpretados son aquellos que necesitan del código fuente para funcionar (P.ej: Basic). Los compilados convierten el código fuente en un fichero objeto y éste en un fichero ejecutable. Este es el caso del lenguaje C. describir en poco espacio y aprender rápidamente. Este es sin duda el objetivo de éste curso. No pretende ser un completo manual de la programación, sinó una base útil para que cualquiera pueda introducirse en este apasionante mundo. Aunque en principio cualquier compilador de C es válido, para seguir este curso se recomienda utilizar el compilador Turbo C/C++ o bien el Borland C++ 5.0. PROGRAMA: Conjunto de sentencias ordenadas secuencialmente, para generar procesos automatizados. ELEMENTOS DE UN PROGRAMA 1. Datos de entrada 2. Procesos 3. Resultados o datos de salida Podemos decir que el lenguaje C es un lenguaje de nivel medio, ya que combina elementos de lenguaje de alto nivel con la funcionalidad del lenguaje ensamblador. Es un lenguaje estructurado, ya que permite crear procedimientos en bloques dentro de otros procedimientos. Hay que destacar que el C es un lenguaje portable, ya que permite utilizar el mismo código en diferentes equipos y sistemas informáticos: el lenguaje es independiente de la arquitectura de cualquier máquina en particular. Por último solo queda decir que el C es un lenguaje relativamente pequeño; se puede 2
  5. 5. LENGUAJE DE PROGRAMACIÓN Sintaxis que permite generar instrucciones para desarrollar aplicaciones. ELEMENTOS DE UN LENGUAJE DE PROGRAMACIÓN PALABRAS RESERVADAS: Palabras únicas que realizan una función determinada. LIBRERÍAS: Subprogramas que realizan procesos. IDENTIFICADORES: Nombre asignados por el programador. Variables Constantes TIPOS DE SENTENCIAS CONDICIONANTES: Son aquellas que cumplen una condición. SIMPLES: Una sola condición. Operadores relacionales. DOBLES: Dos condiciones unidas con operadores lógicos. MIXTOS: Dos o más condiciones. N>10 Incorrecto Correcto A>b&&b> c D= c+b kkkkkk D= a+b d CONDICIONES COMPUESTAS: La unión de condiciones simples y operadores lógicos forman las condiciones compuestas. Entre los operadores lógicos tenemos:    AND (y) OR (o) NOT (no)
  6. 6. UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN 3 EJEMPLO: a>b AND a>c (x+5)= 10 OR (y>=4) Si a es mayor que b y a es mayor que c. Si x+5 es igual a 10 O y es mayor o igual que 4. CONDICIONANTES REPETITIVAS: Realizan procesos cíclicos repetitivos, se determina un inicio y un fin. 1.- LAZO FOR: Inicio, fin, incremento. i=1; i <=10; i+2 i 2.- LAZO DO-WHILE: Se cumple solo cuando la condición es verdadera. Nota 1 Nota1 >10 Nota 1 3.- CONDICIONANTES SELECTIVAS: Trabaja en función de una selección. op Op=1 Op=2 Op=3 P1 P2 P3
  7. 7. UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN 4 SENTENCIA IF La sentencia if, actúa como cabría esperar. Si la condición es verdadera, la sentencia se ejecuta, de otro modo, se salta dicha sentencia, continuando la ejecución del programa con otras sentencias a continuación de ésta. La forma general de la sentencia if es: if (condición) sentencia; Si el resultado del test es verdadero (true) se ejecuta la sentencia que sigue a continuación de if, en caso contrario, falso (false), se salta dicha sentencia, tal como se indica en la figura. La sentencia puede consistir a su vez, en un conjunto de sentencias agrupadas en un bloque. if (condición){ sentencia1; sentencia2; } En el siguiente ejemplo, si el número del boleto que hemos adquirido coincide con el número aparecido en el sorteo, nos dicen que hemos obtenido un premio. if(numeroBoleto==numeroSorteo) System.out.println("has obtenido un premio");
  8. 8. UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN SENTENCIA IF - ELSE La sentencia if...else completa la sentencia if, para realizar una acción alternativa if (condición) sentencia1; else sentencia2 Las dos primeras líneas indican que si la condición es verdadera se ejecuta la sentencia 1. La palabra clave else, significa que si la condición no es verdadera se ejecuta la sentencia 2, tal como se ve en la figura. Dado que las sentencias pueden ser simples o compuestas la forma general de if...else es if (condición){ sentencia1; sentencia2; }else{ sentencia3 sentencia4; 5
  9. 9. UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN sentencia5; } Existe una forma abreviada de escribir una sentencia condicional if...else como la siguiente: if (numero Boleto==numeroSoreteo) premio=1000; else premio=0; en una sola línea premio= (numero Boleto==numeroSoreteo)? 1000: 0; Un ejemplo significativo es el siguiente: el signo de un número elevado a una potencia par es positivo, y es negativo cuando está elevado a una potencia impar. int signo= (exponente%2==0)?1:-1; La condición entre paréntesis es la siguiente: un número es par, cuando el resto de la división entera de dicho número entre dos vale cero. SENTENCIA SWITCH Como podemos ver en la figura del apartado anterior, la sentencia if...else tiene dos ramas, el programa va por una u otra rama dependiendo del valor verdadero o falso de la expresión evaluada. A veces, es necesario, elegir entre varias alternativas, como se muestra en la siguiente figura 6
  10. 10. UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN Por ejemplo, considérese las siguientes series de sentencias if...else if(expresión==valor1) sentencia1; else if(expresión==valor2) sentencia2; else if(expresión==valor3) sentencia3; else sentencia4; El código resultante puede ser difícil de seguir y confuso incluso para el programador avanzado. El lenguaje Java proporciona una solución elegante a este problema mediante la sentencia condicional switch para agrupar a un conjunto de sentencias if...else. switch(expression){ case valor1: sentencia1; break; //sale de switch case valor2: sentencia2; break; //sale switch case valor3: sentencia3; break; //sale de switch default: sentencia4; } En la sentencia switch, se compara el valor de una variable o el resultado de evaluar una expresión, con un conjunto de números enteros valor1, valor2, valor3, .. o con un 7
  11. 11. UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN conjunto de caracteres, cuando coinciden se ejecuta el bloque de sentencias que están asociadas con dicho número o carácter constante. Dicho bloque de sentencias no está entre llaves sino que empieza en la palabra reservada case y termina en su asociado break. Si el compilador no encuentra coincidencia, se ejecuta la sentencia default, si es que está presente en el código. LENGUAJE C C++ es un lenguaje de programación diseñado a mediados de los años 1980 por Bjarne Stroustrup. La intención de su creación fue el extender al exitoso lenguaje de programación C con mecanismos que permitan la manipulación de objetos. En ese sentido, desde el punto de vista de loslenguajes orientados a objetos, el C++ es un lenguaje híbrido. Posteriormente se añadieron facilidades de programación genérica, que se sumó a los otros dos paradigmas que ya estaban admitidos (programación estructurada y la programación orientada a objetos). Por esto se suele decir que el C++ es un lenguaje de programación multiparadigma. Actualmente existe un estándar, denominado ISO C++, al que se han adherido la mayoría de los fabricantes de compiladores más modernos. Existen también algunos intérpretes, tales como ROOT. Una particularidad del C++ es la posibilidad de redefinir los operadores, y de poder crear nuevos tipos que se comporten como tipos fundamentales.
  12. 12. UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN El nombre C++ fue propuesto por Rick Mascitti en el año 1983, cuando el lenguaje fue utilizado por primera vez fuera de un laboratorio científico. Antes se había usado el nombre "C con clases". En C++, la expresión "C++" significa "incremento de C" y se refiere a que C++ es una extensión de C. TIPOS DE DATOS C++ tiene los siguientes tipos fundamentales:      Caracteres: char (también es un entero), wchar_t Enteros: short, int, long, long long Números en coma flotante: float, double, long double Booleanos: bool Vacío: void ESTRUCTURA La directiva #include  Por medio de esta directiva se indica al compilador cuáles son los archivos de cabecera que deberá incluir en la compilación del programa, con la finalidad de indicarle donde están los prototipos e implementación de las funciones que se utilizarán en dicho programa. La directiva #define  A través de ella se definen las constantes y macro definiciones que se utilizarán en el programa. Prototipos de funciones  Los prototipos de funciones no son otra cosa que una especie de declaración de funciones, donde se debe especificar el tipo de dato que devolverán dichas funciones, el nombre de la función y sus parámetros, en caso de que los tenga, aunque en Turbo C no es obligatorio el uso de prototipos de funciones, para efectos de claridad y como una práctica sana de programación, se recomienda usarlos. Declaración de variables 9
  13. 13. UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN   Es necesario declarar las variables que se utilizarán en el programa, de modo que el compilador reserve un espacio en memoria para esas variables, la sintaxis es: [tipo] [nombre_de_la_variable] [[dimension]]; (la dimensión sólo se usa para arreglos). Ejemplo: int x; int arreglo [100]; Y ya que hablamos de variables, cabe mencionar que las variables pueden ser declaradas globales o locales, solamente como referencia, las variables globales son aquellas variables que conservan su valor durante la ejecución de todo el programa y se declaran antes del main(), mientras que las variables locales solamente tienen valor durante la ejecución de la función o procedimiento en que fueron declaradas y se declaran después de la llave que indica el principio de una función o procedimiento. De cualquier manera, las diferencias entre las variables locales y globales serán objeto de estudio más adelante. La función main()  La función main() en un programa en C significa el cuerpo del programa o el programa principal, ya que es la primer función que el enlazador busca para ejecutar; si la función main() no tiene parámetros, significa que solamente la utilizaremos para decirle al programa cuándo y cómo debe hacer las cosas, pero, si tiene parámetros, es decir, si desde la línea de comando se llama con valores de entrada, la cosa cambia, y nos ocuparemos de la función main() con parámetros más adelante. Funciones de E/S básicas  Las funciones de E/S son las que se utilizan para capturar datos desde el teclado e imprimirlos por medio de la salida estándar (monitor). Estas instrucciones soportan ciertos formatos: La función scanf   La función scanf captura cualquier tipo de dato introducido por el teclado, y para esto, es necesario incluir en su llamada a función el formato o tipo de dato que se pretende leer por teclado, ejemplo: scanf(“%d”,&x); En este caso, se especifica una entrada de tipo decimal o entero (“%d”), mientras que el operador de indirección (&) indica que se debe guardar el valor en la localidad de memoria x, en otras palabras, indica que se recibirá un valor entero y se debe almacenar en la variable x. Ahora bien, los tipos de formato más usados para la instrucción scanf son: 10
  14. 14. UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN %d, %i Entero decimal con signo %f Número real o flotante %c Dato tipo carácter %s Dato tipo cadena %u Sin signo La función printf  La función printf es la contraparte de la función scanf, ya que mientras scanf lee datos desde el teclado, la función printf los escribe, es decir, provee la salida en pantalla, esta función también utiliza los formatos de scanf, con la particularidad de que printf puede modificar la salida de los datos, por ejemplo, si se declara una variable entera, y se le asigna el valor 65, y al momento de imprimir el valor de la variable se especifica una salida de tipo caracter, la salida será el caracter “A” (el 65 equivale a la letra A en el código ASCII). scanf(“%d”,&x); /* Se lee la variable como entera */ printf(“%c”,x); /* Se escribe como caracter */ Delimitación de bloques de código (uso correcto de las llaves)  En la programación estructurada, a menudo se tienen que delimitar bloques de código para indicar al programa el conjunto de instrucciones que se deben ejecutar en determinado momento, para esto, se utilizan las llaves, la manera correcta de usar las llaves es la siguiente, si un bloque de código consiste en sólo una línea, las llaves no son necesarias, pero si dicho bloque de código consta de más de una línea, el uso de las llaves es imprescindible. Estructuras de selección  Las estructuras de selección son usadas para bifurcar el control en un programa, es decir, se utilizan para evaluar expresiones que pueden tomar valores de verdadero y falso, o 1 y 0, respectivamente, ya que en C no existe el tipo de dato booleano, por lo que se usan sus equivalentes. La sentencia if 11
  15. 15. UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN  La sentencia if es usada para evaluar una expresión lógica que puede tomar valores de 1 y 0, es decir, verdadero o falso, la sentencia if se conoce como estructura de selección simple, ya que si se cumple la condición especificada entre los paréntesis, se ejecuta un bloque de código, y si no se cumple, no se ejecuta nada, su sintaxis es la siguiente: if (condición) { Bloque de instrucciones } Ejemplo: if (x==0) { printf(“El número es 0”); printf(“a”); } En este ejemplo, si la condición (x==0) se cumple, se imprime el mensaje “El número es 0” y se emite un pitido por el speaker de la computadora, y si no se cumple, pues no pasa nada. La sentencia if - else  Esta sentencia es más o menos como la anterior, con la diferencia que en este ejemplo, si la condición se evalúa como verdadera, se ejecuta una secuencia de instrucciones, mientras que si la condición se evalúa como falsa se ejecuta otra secuencia de instrucciones; su sintaxis es la siguiente: if (condición) { Bloque de instrucciones 1 } else { Bloque de instrucciones 2 } Ejemplo: if (x==0) { printf(“El número es 0”); printf(“a”); } else printf(“Es un número diferente de 0”); 12
  16. 16. UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN Es posible añadir sentencias if para hacer una selección todavía más compleja, es de ir, dentro de un if puede ir otro, y dentro de éste, otro más, etc... Ejemplo: if (x==0) { printf(“El número es 0”); printf(“a”); } else if(x<0) printf(“Es un número negativo”); else printf(“Es un número positivo”); En este ejemplo, si el número es 0, se visualizará un mensaje indicándolo, pero si no es cero, se establece una segunda condición para saber si se trata de un número negativo o positivo. La sentencia switch - case  Esta sentencia es la utilizada para evaluar las llamadas “opciones de abanico”, de donde se saca una de varias opciones, es decir, switch permite múltiples ramificaciones con una sola expresión a evaluar. Es más eficiente que utilizar muchos if anidados. Un enunciado switch evalúa una expresión. Su sintaxis es la siguiente: switch ( selector ) { case valor posible 1: acciones 1;break; * * * * case valor posible n: acciones n; break; default: /* Opcional */ acciones a realizar si ninguna opción es la correcta } La sentencia break provoca que el control del programa dentro del switch termine, es decir, si se encuentra un valor para la expresión, se ejecutan las acciones correspondientes, y si se encuentra un break, el bloque switch-case termina, y las instrucciones para los otros valores correspondientes al selector se ignoran. Ciclos  Dentro de la programación estructurada, se hace necesaria la ejecución repetitiva de tareas, lo cual no es problema, gracias a los ciclos. 13
  17. 17. UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN El ciclo for  El ciclo for ejecuta un bloque de instrucciones n veces, es recomendable la utilización de este ciclo cuando se conoce el número de iteraciones o repeticiones de una tarea, es decir, cuando se sabe el número de veces que se va a repetir algo. Su sintaxis es la siguiente: for(valor inicial; condición de paro; incremento o actualización) { bloque de instrucciones } Donde el valor inicial se asigna a una variable de tipo entero llamada “variable centinela”, cuya función es la de contar y controlar el número de iteraciones del ciclo. Ejemplo: for (i=0; i<10; i++) { printf(“*”); } Donde se establece como variable centinela la variable i y se inicializa con 0, la condición de paro del ciclo es que i no sea menor que 10, y el incremento o actualización de i es un incremento de 1 en 1, el ciclo for anterior se lee así: “se inicia i con 0, mientras que i sea menor que 10, i se incrementa en 1”. El ciclo while Este ciclo ejecuta un bloque de instrucciones mientras una condición determinada sea correcta. Su sintaxis es la siguiente: while(condición) { bloque de instrucciones } Cuando la ejecución de un programa llega al ciclo while, sucede lo siguiente: Es evaluada la expresión de la condición. Si la condición se evalúa como falsa (es decir, a cero), el ciclo while termina, y la ejecución pasa al primer enunciado que se encuentre a continuación de los enunciados del while. Si la condición se evalúa como verdadera (esto es, 1), se ejecutan los enunciados (bloque de instrucciones ) del while. La ejecución regresa al paso 1. 14
  18. 18. UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN Es decir, se evalúa la expresión de la condición, y de resultar cierta, se ejecuta el bloque de instrucciones del while, mientras que, si dicha condición se evalúa como falsa, la ejecución del ciclo termina.  El ciclo do-while El ciclo do-while es muy similar al while, es decir, también ejecuta un bloque de instrucciones mientras una condición determinada sea verdadera, pero tiene una diferencia principal con respecto al while: en el ciclo while la expresión se evalúa antes de ejecutar el ciclo, mientras que en el do-while, primero se ejecuta el bloque de instrucciones y luego se evalúa la condición. Su sintaxis es la siguiente: do { bloque de instrucciones }while(condición); Tipos de datos estructurados Los tipos de datos estructurados son aquellos que constan de más de un valor, como las estructuras (también llamadas tipos de datos abstractos), los arreglos y las matrices. 15
  19. 19. UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN *TIPOS DE DATOS PREDEFINIDOS |tabla con los tipos de datos predefinidos en c >ENTEROS: números completos y sus negativos 16 Palabra reservada: Ejemplo Tamaño (byte) ¡Rango de valores a Int ¡-850 2 -3276? a 3276?? [short int -10 1 -128 a 127 unsigned int 45689 2 0 a 65535 long int 588458 4 -2147483648 a 2147483647 unsigned long 20000 4'£ 0 a 4294967295 variantes de enteros >REALES: números con decimales o punto flotante Palabra reservada: Ejemplo Float Tamaño (byte) 85 |4 Rango de valores 3.4x10" 38 a 3.4x10 38 variantes de los reales Doublé 0.0058 8 1.7x10" 308 long doublé 1.00E-07 10 3.4x10" 4932 a 1.7x10 306 a 1.1x10 4S32 Funciones en C La modularización, es una técnica usada por los programadores para hacer sus códigos más cortos; ya que consiste en reducir un gran problema complejo, en pequeños problemitas más sencillos, concentrándose en la solución por separado, de cada uno de ellos. En C, se conocen como funciones aquellos trozos de códigos utilizados para dividir un programa con e¡ objetivo que, cada bloque realice una tarea determinada. En las funciones juegan un papel muy importe las variables, ya que como se ha dicho estas pueden ser locales o globales. Variables Globales: Estas se crean durante toda la ejecución del programa, y son globales, ya que pueden ser llamadas, leídas, modificadas, etc; desde cualquier función. Se definen antes del main(). Variables Locales: Estas, pueden ser utilizadas únicamente en la función que hayan sido declaradas. La sintaxis de una función es la siguiente:
  20. 20. UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN Tipo__de_datos nombre_de_la_funcion (tipo y nombre de argumentos) { acciones } • Tipo de datos: Es el tipo de dato que devolverá esa función, que puede ser real, entera, o tipo void(es decir que no devolverá ningún valor). • Nombre de la función: Es el identificador que le damos a nuestra función, la cual debe cumplir las regias que definimos en un principio para los identificadores. • Tipo y nombre de argumentos: son los parámetros que recibe la función. Los argumentos de una función no son más que variables locales que reciben un valor. Este valor se lo enviamos al hacer la llamada a la función. Pueden existir funciones que no reciban argumentos. • Acciones: Constituye el conjunto de acciones, de sentencias que cumplirá la función, cuando sea ejecutada. Entre ellas están: 1. 2. 3. 4. Asignaciones Lecturas Impresiones Cálculos Una función, termina con la llave de cerrar, pero antes de esta llave, debemos colocarle la instrucción return, con la cual devolverá un valor específico. Es necesario recalcar que si la función no devuelve ningún valor, es decir, es tipo void, no tiene que ir la sentencia return, ya que de lo contrario, nos dará un error. Pero, es válido que nos hagamos la siguiente pregunta: ¿Cómo funcionan los subprogramas? A menudo, utilizamos el adjetivo de "Subprogramas", para referirnos a las funciones, así que, el lector debe familiarizarse también con este término. Los subprogramas se comunican con el programa principal, que es el que contiene a las funciones, mediante parámetros, que estos pueden ser: Parámetros Formales y Parámetros Actuales. Cuando se da la comunicación los parámetros actuales son utilizados en lugar de los parámetros formales. 17
  21. 21. UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN Paso de Parámetros Existen dos formas de pasar parámetros, las cuales son: A) Paso por Valor También conocido como parámetros valor. Los valores se proporcionan en el orden de cálculos de entrada. Los parámetros se tratan como variables locales y los valores iniciales se proporcionan copiando los valores de correspondientes argumentos. Los parámetros formales-Locales de una función reciben como iniciales los valores de los parámetros actuales y con ellos se ejecutan las acciones descritas en el subprograma. Ejemplo: 1) A=5 FUNCIONES 18 Una función es un conjunto de líneas de código que realizan una tarea específica y puede retornar un valor. Las funciones pueden tomar parámetros que modifiquen su funcionamiento.
  22. 22. UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN Las funciones son utilizadas para descomponer grandes problemas en tareas simples y para implementar operaciones que son comúnmente utilizadas durante un programa y de esta manera reducir la cantidad de código. Cuando una función es invocada se le pasa el control a la misma, una vez que esta finalizó con su tarea el control es devuelto al punto desde el cual la función fue llamada. PARÁMETROS Normalmente, las funciones operan sobre ciertos valores pasados a las mismas ya sea como constantes literales o como variables, aunque se pueden definir funciones que no reciban parámetros. Existen dos formas en C++ de pasar parámetros a una función; por referencia o por valor. El hecho es que si en una declaración de función se declaran parámetros por referencia, a los mismos no se les podrá pasar valores literales ya que las referencias apuntan a objetos (variables o funciones) residentes en la memoria; por otro lado, si un parámetro es declarado para ser pasado por valor, el mismo puede pasarse como una constante literal o como una variable. Los parámetros pasados por referencia pueden ser alterados por la función que los reciba, mientras que los parámetros pasados por valor o copia no pueden ser alterados por la función que los recibe, es decir, la función puede manipular a su antojo al parámetro, pero ningún cambio hecho sobre este se reflejará en el parámetro original. Parámetros por valor La función cuadrado() (ver arriba) es un clásico ejemplo que muestra el paso de parámetros por valor, en ese sentido la función cuadrado() recibe una copia del parámetro n. En la misma función se puede observar que se realiza un cálculo (n*n), sin embargo el parámetro original no sufrirá cambio alguno, esto seguirá siendo cierto aun cuando dentro de la función hubiera una instrucción parecida a n = n * n; o n*=n; Parámetros por referencia Para mostrar un ejemplo del paso de parámetros por referencia, vamos a retomar el caso de la función cuadrado, salvo que en esta ocasión cambiaremos ligeramente la sintaxis para definir la misma. Veamos: // regresar el cuadrado de un número double cuadrado2(double &n) { n *= n; return n; } Al poner a prueba las funciones cuadrado() y cuadrado2() se podrá verificar que la primera de estas no cambia el valor del parámetro original, mientras que la segunda sí lo hace. LLAMAR A UNA FUNCIÓN para llamar a la función cuadrado() vista anteriormente, podemos emplear: cout << cuadrado(25); cout << cuadrado(X); 19
  23. 23. UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN R = cuadrado(X); FUNCIONES VOID Bajo ciertas circunstancias se deseará escribir funciones que no regresen valor alguno (esto sería algo parecido a escribir procederes en Pascal) y para ello podemos declarar a la función como void. La palabra reservada void es utilizada para declarar funciones sin valor de retorno y también para indicar que una función específica no requiere de parámetros. Por ejemplo, la función pausa() que se verá en seguida, no devolverá valor alguno y la misma no requiere de parámetros. // esta función requiere de la librería iostream void pausa(void) { cout << "Por favor presione <Enter> HOLA..."; cin.get(); cin.ignore(255, 'n'); // rechazar caracteres introducidos antes de <Enter> } Notas: se debe de aclarar que el uso de la palabra void dentro de los parentesis es opcional al momento de declarar una función. Así, la función pausa() podría haberse declarado como void pausa(), y la misma puede invocarse como: pausa();. FUNCIONES DE TIPO PUNTERO (*) En muchas ocasiones se desea que ciertas funciones regresen una referencia o puntero hacia un tipo (sea este estructurado o no) específico de dato en lugar de un valor específico. En tales casos, la función se deberá declarar como para que regrese un puntero. Por ejemplo, supongamos que deseamos crear una función para convertir un número entero en notación decimal a una cadena de caracteres en forma de números binarios, luego, la función mencionada podría escribirse para que reciba el número entero como parámetro y regrese un puntero a una cadena de caracteres conteniendo la conversión. Para ser más puntuales, vamos a escribir un programa en donde se verá la función binstr(), y cuyo objetivo será precisamente convertir números decimales en cadenas binarias. Nota: observe que en la sintaxis para declarar funciones tipo puntero se debe de poner el símbolo * despues del tipo y antes del nombre de la función que se está declarando. Esto se puede ver en el programa, ya que la función binstr se declara como: char *binstr(unsigned int); #include <iostream> #include <string.h> using namespace std; // declaración de prototipo char *binstr(unsigned int); // punto de prueba 20
  24. 24. UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN int main() { int n = 128; cout << "decimal = " << n << ", binario = " << binstr(n) << endl; cin.get(); } // definición de función binstr() // nota: esta funcion requiere de la librería estándar string char *binstr(unsigned int n) { static char buffer[65]; int i = 0; strcpy(buffer, "0"); if (n > 0) { while (n > 0) { buffer[i] = ( n & 1 ) + '0'; i++; n >>= 1; } buffer[i] = '0'; strrev(buffer); } // fin (n > 0) return buffer; } VARIABLES ESTÉTICAS Y AUTOMÁTICAS Dentro de una función, las variables y/o constantes pueden ser declaradas como: auto (por omisión) o como static. Si una variable dentro de una función es declarada como estática significa que la misma retendrá su valor entre las llamadas a la función. Por otro lado, las variables automáticas pierden su valor entre las llamadas. En el programa anterior puede verse que el arreglo de caracteres (buffer [65]) se ha declarado como estático para garantizar que dicho buffer retenga los datos aún después de que la función termine. En el mismo ejemplo, si el buffer no se declara como estático, el contenido del mismo podría ser destruido al salir de la función y los resultados obtenidos podrían ser no deseados. PARÁMETROS CONSTANTES Los parámetros usados por una función pueden declararse como constantes ( const ) al momento de la declaración de la función. Un parámetro que ha sido declarado como constante significa que la función no podrá cambiar el valor del mismo ( sin importar si dicho parámetro se recibe por valor o por referencia ). Exempla: 21
  25. 25. UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN int functions( cost int n ); void prints( cost char *str ); PARÁMETROS CON VALOR POR DEFECTO Los parámetros usados por una función pueden declararse con un valor por defecto. Un parámetro que ha sido declarado con valor por defecto es opcional a la hora de hacer la llamada a la función. Ejemplo: Dada la función: void saludo( char* mensaje = "Hola sudafrica 2010" ); la misma puede ser invocada como: saludo(); // sin parámetro saludo("Sea usted bienvenido a C++"); // con parámetro Para ver un ejemplo más, vamos a considerar el caso de la función binstr() del programa funciones01. Ahora, vamos modificar dicha función, salvo que esta ocasión nos interesa que la misma sirva para convertir números decimales en cadenas numéricas y cuya base de conversión sea pasada como parámetro. Es decir, la función de la que estamos hablando podrá convertir números decimales a: binario, octal, decimal, hexadecimal, etc.; y la única condición será que la base indicada esté entre el 2 y el 36, inclusive. Nota: Ya que la función servirá para convertir números a cualquier representación la nombraremos como numstr() en lugar de binstr(). Si la función es invocada sin el parámetro base regresará una cadena de digitos decimales. #include <iostream> #include <stdlib.h> using namespace std; // declaración de prototipo char *numstr(unsigned int, const int base = 10); // punto de prueba int main() { int n = 128; cout << "decimal = " << n << ", binario = " << numstr(n, 2) << endl; cout << "decimal = " << n << ", octal.. = " << numstr(n, 8) << endl; cin.get(); } 22
  26. 26. UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN // definición de función numstr() // nota: esta funcion requiere de la librería stdlib.h char *numstr(unsigned int n, const int base) { static char buffer[65]; itoa(n, buffer, base); return buffer; } PARÁMETROS DE TIPO PUNTERO Anteriormente se mencionó que en C++ los parámetros a una función pueden pasarse por valor o por referencia, al respecto, podemos agregar que los parámetros también pueden pasarse como punteros. El paso de parámetros de punteros es bastante parecido al paso de parámetros por referencia, salvo que el proceso de los datos dentro de la función es diferente. Por ejemplo, las funciones: void referencia( int &X ) { X = 100; } void puntero( int *X ) { *X = 100; } PARÁMETROS ESTRUCTURADOS Al igual que cualquier otro tipo los parámetros de tipo estruturado pueden pasarse por valor o por referencia, sin embargo, podría ser que si una estructura es pasada por valor el compilador mostrara una advertencia (warning) indicando que se pasado por valor una estructura, puesto que el paso de estructuras por valor es permitido usted puede ignorar la advertencia, pero lo mejor es pasar estructuras por referencia. Si una estructura es pasada por valor y si esta es muy grande podría ser que se agotara la memoria en el segmento de pila ( Stack Segment ), aparte de que la llamada a la función sería más lenta. Para ver un ejemplo, consideremos el caso del siguiente tipo estructurado: struct empleado { char nombre[32]; int edad; char sexo; }; Ahora, pensemos que deseamos escribir una función para imprimir variables del tipo empleado. Así, la función puede escribirse de las tres maneras siguientes: void ImprimeEmpleadoV( empleado e) { cout << "Nombre: " << e.nombre << endl; cout << "Edad: " << e.edad << endl; cout << "Sexo: " << e.sexo << endl; } // Parametro empleado pasado por referencia void ImprimeEmpleadoR( empleado &e ) 23
  27. 27. UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN { cout << "Nombre: " << e.nombre << endl; cout << "Edad: " << e.edad << endl; cout << "Sexo: " << e.sexo << endl; } // Parametro empleado pasado como puntero void ImprimeEmpleadoP( empleado *e ) { cout << "Nombre: " << e->nombre << endl; cout << "Edad: " << e->edad << endl; cout << "Sexo: " << e->sexo << endl; } FUNCIONES SOBRECARGADAS C++, a diferencia del C estándar, permite declarar funciones con el mismo nombre y a esto se conoce como sobrecarga de funciones. Las funciones sobrecargadas pueden coincidir en tipo, pero al menos uno de sus parámetros tiene que ser diferente. En todo caso, si usted trata de declarar funciones sobrecargadas que coincidan en tipo y número de parámetros el compilador no se lo permitirá. Para poner un ejemplo vamos a considerar el caso de dos funciones cuyo nombre será divide, ambas regresarán el cociente de dos números, salvo que una de ellas operará sobre números enteros y la otra lo hará sobre números reales ( de punto flotante ). Nota: cuando en los programas se hace una llamada a una función sobrecargada, el compilador determina a cuál de las funciones invocar en base al tipo y número de parámetros pasados a la función. #include <iostream.h> #include <stdlib.h> using namespace std; // divide enteros int divide(int a, int b) { cout << "división entera" << endl; return ( (b != 0) ? a/b : 0); } // divide reales double divide(double a, double b) { 24
  28. 28. UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN cout << "división real" << endl; return ( (b != 0) ? a/b : 0); } // punto de prueba int main() { cout << divide(10, 3) << endl; cout << divide(10.0, 3.0) << endl; cin.get(); } NÚMERO VARIABLE DE PARAMETROS En C,C++ se pueden crear funciones que operen sobre una lista variable de parámetros, es decir, en donde el número de parámetros es indeterminado. En esta sección se mostrará un ejemplo de la manera en que podemos crear funciones para manejar tales asuntos, y para ello haremos uso de tres macros soportadas por C++: 1. va_list puntero de argumentos 2. va_start inicializar puntero de argumentos 3. va_end liberar puntero de argumentos La sintaxis que usaremos para declarar funciones con lista de parámetros variables es: 1) tipo nombrefuncion(...) 2) tipo nombrefuncion(int num, ...) donde: 1. 2. 3. 4. 25 tipo es el tipo regresado por la función nombre función es el nombre de la función int núm. es el número de parámetros que la función procesará ... esta notación se emplea para indicar que el número de parámetros es variable Nota: observe que la primera forma de declaración es realmente variable el número de parámetros a procesar y en estos casos se debe establecer el mecanismo para determinar cuándo se ha procesado el último de los argumentos, en el segundo tipo de declaración el número total de parámetros a procesar es igual al valor del parámetro núm. En el siguiente programa, por ejemplo, se define una función ( printstr ) que despliega una lista variable de cadenas de caracteres. #include <iostream.h> #include <stdarg.h> // despliega una lista de cadenas, la ultima debe ser NULL void printstr(...) {
  29. 29. UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN va_list ap; char *arg; va_start(ap, 0); while ( (arg = va_arg(ap, char*) ) != NULL) { cout << arg; } va_end(ap); } int main() { printstr("Hola, ", "Esta esn", "una prueban", NULL); cin.get(); return 0; } En el programa que se listará en seguida, se define la función suma(), misma que operará sobre listas de números enteros, la función devolverá la suma de dichos números. #include <iostream>//entrada y salida #include <stdarg.h> using namespace std; // Esta función opera sobre una lista variable de números enteros int suma( int num, ... ) { int total = 0; va_list argptr; va_start( argptr, num ); while( num > 0 ) { total += va_arg( argptr, int ); num--; } va_end( argptr ); return( total ); } int main() { cout << suma(4, 100, 200, 300, 400) << endl; cin.get(); return 0; } 26
  30. 30. UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN BIBLIOGRAFÍA:       Programación estructurada – Ing. Jimmy Guevara http://codigoc.org/541-tipos-de-funciones-en-c http://es.wikibooks.org/wiki/Programaci%C3%B3n_en_C%2B%2B/Funciones http://www.monografias.com/trabajos/lengprog/lengprog.shtml http://jorgesaavedra.wordpress.com/2007/05/05/lenguajes-de-programacion/ http://es.kioskea.net/contents/304-lenguajes-de-programacion 27 INDICE INTRODUCCIÓN PROGRAMA 8 QUE ES UN PROGRAMA PROGRAMA 9 PROGRAMA 1 PROGRAMA 10 PROGRAMA 2 PROGRAMA 11 PROGRAMA 3 PROGRAMA 12 PROGRAMA 4 PROGRAMA 13 PROGRAMA 5 PROGRAMA 14 PROGRAMA 6 PROGRAMA 15 PROGRAMA 7 PROGRAMA 16
  31. 31. UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN PROGRAMA 17 15 PROGRAMA 18 19 PROGRAMA 19 20 PROGRAMA 20 22 23 PROGRAMA 21 1 2 3 5 6 7 8 10 12 25 27 28 30 31 33 34 36 38 13 PROGRAMA 22 43 PROGRAMA 23 46 PROGRAMA 24 47 PROGRAMA 25 51 PROGRAMA 26 52 PROGRAMA 27 53 PROGRAMA 28 54
  32. 32. UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN INTRODUCCIÓN Programar aplicaciones sencillas utilizando sentencias de control para desarrollar la lógica de programación a través de un cuaderno digital. EL lenguaje C es el resultado de un proceso de desarrollo que inició con un lenguaje denominado BCPL. Este influenció a otro llamado B (inventado por Ken Thompson). En los años 70; éste lenguaje llevó a la aparición del C. Con la popularidad de las microcomputadoras muchas compañías comenzaron a implementar su propio C por lo cual surgieron discrepancias entre sí. Por esta razón ANSI (American National Standars Institute, por sus siglas en inglés), estableció un comité en 1983 para crear una definición no ambigua
  33. 33. UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN del lenguaje C e independiente de la máquina que pudiera utilizarse en todos los tipos de C. La programación lógica es un tipo de paradigmas de programación dentro del paradigma de programación declarativa. El resto de los su paradigmas de programación dentro de la programación declarativa son: programación funcional, programación con restricciones, programas DSL (de dominio específico) e híbridos. La programación funcional se basa en el concepto defunción (que no es más que una evolución de los predicados), de corte más matemático. La programación lógica gira en torno al concepto de predicado, o relación entre elementos. PROGRAMA Conjunto de sentencias ordenadas secuencialmente, para generar procesos automatizados. ELEMENTOS DE UN PROGRAMA: 1. Datos de entrada 2. Procesos 3. Resultados o datos de salida ELEMENTOS DE UN LENGUAJE DE PROGRAMACIÓN PALABRAS RESERVADAS: Palabras únicas que realizan una función determinada. LIBRERÍAS: Subprogramas que realizan procesos.
  34. 34. UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN IDENTIFICADORES: Nombre asignados por el programador. Variables Constantes TIPOS DE SENTENCIAS CONDICIONANTES: Son aquellas que cumplen una condición. SIMPLES: Una sola condición. Operadores relacionales. DOBLES: Dos condiciones unidas con operadores lógicos. MIXTOS: Dos o más condiciones. N>10 Incorrecto Correcto A>b&&b> c D= c+b kkkkkk D= a+b d 1.- Diseñe un programa que me permita obtener las comisiones de ventas de la empresa XYZ, Bajo los siguientes condicionamientos si el valor de la venta es igual a >= 3000 y <=5000 el porcentaje es de 5%, >=5000 y <=8500 el porcentaje es de 7%; >=8500 y <=10000 el porcentaje es de 8% >10000 el porcentaje es de 10%; Visualice el valor total de ventas ingresadas y el total de comisiones entregadas el proceso se repite n veces. 1.- Análisis del Programa:  Introducimos las librerías, las variables, ingresamos la validación de variables, comenzamos con el ciclo do- while para la repetición del programa, ingresamos e clrscr para el limpiado de pantalla, impresión de valores y validación, aplicamos la sentencia if para la primera condicionante, luego ingresamos los procesos de la
  35. 35. UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN misma con la sentencia if realizamos las tres condicionantes, luego cerrados el proceso repetitivo y luego cerramos finalmente el programa. 2.- Documentación del programa #include<stdio.h> LIBRERIAS #include<conio.h> main () { int a=1,b=0,oper; VALIDACION DE LOS TERMINOS ESTABLECIDAS EN NUESTRO PROGRAMA float c,p,v,s,t,f,g,r,q; do PROCESO DE REPETICION { clrscr(); LIMPIADO DE PANTALLA a=1; b=0; gotoxy(30,2);printf("COMISIONES DE VENTAS"); IMPRIMO VALORES Y LOS HAGO VALIDOS gotoxy(5,5);printf("Ingresar el valor de la venta:"); scanf("%f",&c); if((c>2999)&&(c<5001)) DECISION SENTENCIA { IF p=(c*5)/100; v=c+p; gotoxy(8,10);printf("La venta total es=%f",v); PROCESOS gotoxy(8,13);printf("La ganancia es=%f",p); } if((c>5000)&&(c<8499)) DECISION SENTENCIA { IF s=(c*7)/100; t=s+c; gotoxy(8,10);printf("La venta total es=%f",t); PROCESOS gotoxy(8,13);printf("La ganancia es=%f",s); } if((c>8500)&&(c<10001)) DECISION SENTENCIA { IF r=(c*8)/100; q=r+c; gotoxy(8,10);printf("La venta total es=%f",q); gotoxy(8,13);printf("La ganancia es=%f",r); } if(c>10000) DECISION SENTENCIA { IF f=(c*10)/100; g=f+c; gotoxy(8,10);printf("La venta total es=%f",g); PROCESOS gotoxy(8,13);printf("La ganancia es=%f",f); } gotoxy(30,20);printf("PRESS 1 para continuar o 0 abandonar"); scanf("%d",&oper); } CERRAMOS PROCESO DE REPETICION
  36. 36. UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN while(oper==1); getch(); } CERRAMO EL PROGRAMA 3.-CORRIDO DEL PROGRAMA 2.- Diseñe un programa que me permita ingresar un número entero desde teclado de 1 al 7, y que me permita visualizar el nombre del día de la semana que corresponda. 1.-Análisis del Programa:  Introducimos las librerías, las variables, ingresamos la validación de variables, comenzamos con el ciclo do- while para la repetición del programa, ingresamos e clrscr para el limpiado de pantalla, impresión de valores y validación, aplicamos el proceso de case y break para cada condición, luego cerrados el proceso repetitivo y luego cerramos finalmente el programa. 2.- Documentación del programa #include<stdio.h> LIBRERIAS #include<conio.h> main () { int d; VALIDACION DE LOS TERMINOS ESTABLECIDAS EN NUESTRO PROGRAMA d=1;
  37. 37. UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN clrscr(); gotoxy(10,2);printf("ingrese un dia de la semana"); IMPRIMO VALORES Y LOS HAGO VALIDOS scanf("%d", &d); do { PROCESO DE REPETICION switch (d) { case 1: gotoxy(10,5);printf("lunes"); break; case 2: gotoxy(10,5);printf("martes"); break; case 3: gotoxy(10,5);printf("miercoles"); break; case 4: PROCESOS CASES gotoxy(10,5);printf("jueves"); break; case 5: gotoxy(10,5);printf("viernes"); break; case 6: gotoxy(10,5);printf("sabado"); break; case 7: gotoxy(10,5);printf("domingo"); break; default: gotoxy(10,5); printf("error"); } } while (d<=7); CERRAMOS PROCESO DE REPETICION getch(); CERRAMO EL PROGRAMA } 3.-CORRIDO DEL PROGRAMA:
  38. 38. UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN 3.-Diseñe un programa que me permita ingresar 2 números por teclado y realizar la suma de los mismos. 1.-ANALISIS DEL PROGRAMA  Introducimos las librerías, las variables, ingresamos la validación de variables, impresión de valores, luego hago el proceso de la suma y luego cerramos finalmente el programa. 2.- Documentación del programa #include<conio.h> LIBRERIAS #include<stdio.h> void main() { VALIDACION DE LOS TERMINOS ESTABLECIDAS EN NUESTRO PROGRAMA int n1, n2, tot; clrscr(); gotoxy(33,3);printf("SUMA DE DOS NUMEROS"); IMPRIMO VALORES Y LOS HAGO gotoxy(5,5);printf("primer valor:");scanf("%d",&n1); VALIDOS gotoxy(5,7);printf("segundo numero:");scanf("%d",&n2); tot=n1+n2; gotoxy(7,9);printf("la respuesta es = %d",tot); getch(); CERRAMOS EL PROGRAMA } 3.-CORRIDO DEL PROGRAMA:
  39. 39. UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN 4.-Realice la suma de 2 números, siempre que el primer valor este entre 3 y 23, y el segundo este entre 5 y 17. 1.- Análisis del programa  Introducimos las librerías, las variables, ingresamos la validación de variables, comenzamos con el ciclo do- while para la repetición del programa, ingresamos e clrscr para el limpiado de pantalla, impresión de valores y validación, aplicamos el proceso del do- while para la repetición de la suma, luego cerrados el proceso repetitivo de cada uno y luego cerramos finalmente el programa. 2.- Documentación del programa #include<stdio.h> LIBRERIAS #include<conio.h> void main() { int a,b,suma,op; VALIDACION DE LOS TERMINOS ESTABLECIDAS EN NUESTRO PROGRAMA do { clrscr(); gotoxy(31,2); printf("suma de dos numeros"); do PROCESO DE REPETICION { IMPRIMO VALORES gotoxy(37,5);printf(" "); gotoxy(10,5); printf("ingrese el primer numero==>");scanf("%d",&a); Y LOS HAGO VALIDOS }while (a<3 || a>23); do PROCESO DE REPETICION { gotoxy(37,7); printf(" "); gotoxy(10,7); printf("ingrese el segundo numero==>");scanf("%d",&b); IMPRIMO VALORES }while (b<5 || b>17); Y LOS HAGO VALIDOS PROCESOS
  40. 40. UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN suma=a+b; gotoxy(10,9); printf("la suma es==>%d",suma); gotoxy(10,11); printf("presione 1 para continuar o 0 para salir: ");scanf("%d",&op); }while(op==1); getch(); Cerramos EL } PROGRAMA IMPRIMO VALORES Y LOS HAGO VALIDOS 3.-CORRIDO DEL PROGRAMA: 5.- Diseñe un programa que me permita ingresar 3 números enteros desde teclado que corresponden a 3 notas las mismas que deben estar entre 1 y 10, obtenga el promedio correspondiente y determine su equivalencia.  Si el promedio es mayor o igual a 7, está aprobado.  Si el promedio es mayor o igual a 5 y  Menor que 7 esta suspenso  Si el promedio es menor que 5 esta reprobado 1.-ANALISIS DEL PROGRAMA  Introducimos las librerías, las variables, ingresamos la validación de variables, comenzamos con el ciclo do- while para la repetición del programa, ingresamos e clrscr para el limpiado de pantalla, impresión de valores y validación, aplicamos el proceso del if y else para cada condición, ingresamos los procesos de la suma y promedios, luego cerrados el proceso repetitivo y finalmente cerramos el programa. 2.- Documentación del programa
  41. 41. UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN #include<stdio.h> LIBRERIAS #include<conio.h> main() { clrscr(); VALIDACION DE LOS TERMINOS ESTABLECIDAS EN NUESTRO PROGRAMA int n1,n2,n3,p,s; gotoxy(8,3); printf("promedios"); IMPRIMO VALORES gotoxy(5,5); printf("ingrese la nota1: "); scanf("%d",&n1); Y LOS HAGO VALIDOS if(n1>10) { gotoxy(5,7);printf("nota incorrecta"); } else { gotoxy(5,9); printf("ingrese la nota2: "); scanf("%d",&n2); } SENTENCIAS IF if(n2>10) { gotoxy(5,11);printf("nota incorrecta"); } else { gotoxy(5,13); printf("ingrese la nota3: "); scanf("%d",&n3); } if(n3>10) { gotoxy(5,15);printf("nota incorrecta"); } s=n1+n2+n3; PROCESOS p=s/3; gotoxy(5,17); printf("su pronedio es: %d",p ); if((p>=7)&&(p<=10)) {gotoxy(5,18);printf("Aprueba");} if((p<=6)&&(p>=5)) {gotoxy(5,18); printf("Suspenso");} if((p<=4)&&(p>=0)) {gotoxy(5,18); printf("Reprueba");} getch(); } Cerramos EL PROGRAMA 3.- Corrido del programa
  42. 42. UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN 6.- Diseñe un programa que me permita ingresar el nombre de una persona y la edad de la misma que debe estar entre 3 y 85, para obtener las siguientes equivalencias:  Si la edad está entre 3 y 5 debe visualizarse: nombre, “es un bebé”  Si la edad es > 5 y <13 debe visualizarse: nombre, “es un niño”  Si la edad es > 13 y ≤ 21 debe visualizarse: nombre, “es un adolescente”  Si la edad es > 21 y ≤ 60 debe visualizarse: nombre, “es un adulto”  Si la edad es > 60 debe visualizarse: nombre, “es un adulto mayor” El programa se repite tantas veces como el usuario lo desee. 1.-ANALISIS DEL PROGRAMA  Introducimos las librerías, las variables, ingresamos la validación de variables, comenzamos con el ciclo do- while para la repetición del programa, ingresamos e clrscr para el limpiado de pantalla, impresión de valores y validación, aplicamos el proceso del if y else para cada condición, luego cerrados el proceso repetitivo y finalmente cerramos el programa. 2.-Documentación del programa #include<stdio.h> LIBRERIAS #include<conio.h> #include<string.h> void main() { int ed,op; VALIDACION DE LOS TERMINOS ESTABLECIDAS EN NUESTRO PROGRAMA char nombre[15]; do ABRIMOS EL DO { clrscr(); gotoxy(31,1);printf("Saber edad y equivalencia"); flushall();
  43. 43. UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN IMPRIMO VALORES gotoxy(10,3);printf("Ingrese nombre: ");gets(nombre); Y LOS HAGO VALIDOS do { gotoxy(27,4);printf(" "); gotoxy(10,4);printf("Ingrese la edad: ");scanf("%d",&ed); }while(ed>85 || ed<3); if(ed>=3 && ed<=5) { gotoxy(10,7);printf("Es un bebe"); } else { if(ed>5 && ed<=13) { gotoxy(10,7);printf("Ni¤o"); } else { if(ed>15 && ed<=21) SENTENCIAS IF { gotoxy(10,7);printf("Adolecente"); } else { if(ed>21 && ed<=61) { gotoxy(10,7);printf("Adulto"); } else { gotoxy(10,7);printf("Adulto Mayor"); } } } } gotoxy(10,6);puts(nombre); gotoxy(10,10);printf("Presione 1 para continuar o 0 para salir: ");scanf("%d",&op); }while(op==1); CERRAMOS EL DO getch(); } Cerramos EL PROGRAMA 3.-CORRIDO DEL PROGRAMA
  44. 44. UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN
  45. 45. UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN 7.- Diseñe un programa que me permita simular la venta de productos en una factura, de la cual necesitamos ingresar el nombre del producto, la cantidad, precio unitario y calcular el precio total. El programa se repite n veces según los productos que el usuario desee ingresar. 1.-ANALISIS DEL PROGRAMA  Introducimos las librerías, las variables, ingresamos la validación de variables, comenzamos con el ciclo do- while para la repetición del programa, ingresamos e clrscr para el limpiado de pantalla, impresión de valores y validación con procesos, luego cerrados el proceso repetitivo y finalmente cerramos el programa. 2.- Documentación del programa #include<stdio.h> LIBRERIAS #include<conio.h> main() { int op,j,a=4,b=4,c=4,d=4,v=0; VALIDACION DE LOS TERMINOS ESTABLECIDAS EN float cant,vuni,vtotal,iva,s,sub,totalp; NUESTRO PROGRAMA char p[15]; clrscr(); gotoxy(23,1); printf("SIMULACION DE FACTURA"); IMPRIMO VALORES gotoxy(5,4); printf("Producto"); Y LOS HAGO VALIDOS gotoxy(20,4); printf("Cantidad"); gotoxy(34,4); printf("Precio Unitario"); gotoxy(55,4); printf("Valor"); do ABRIMOS EL DO { flushall(); a=a+1;gotoxy(5,a);gets(p); b=b+1;gotoxy(23,b);scanf("%2f",&cant); c=c+1;gotoxy(39,c);scanf("%2f",&vuni); IMPRIMO VALORES vtotal=cant*vuni; LOS HAGO VALIDOS Y PROCESOS d=d+1;gotoxy(55,d);printf("%.2f",vtotal); v=v+vtotal; gotoxy(2,24);printf("presione 1 para ingresar otro producto o 0 para finalizar la factura: ");scanf("%d",&op); }while(op==1); CERRAMOS EL DO j=v; sub=j; PROCESOS gotoxy(45,21); printf("subtotal: %.2f",sub); iva=(sub*12)/100; gotoxy(50,22); printf("iva: %.2f",iva); vtotal=sub+iva; gotoxy(40,23); printf("valor a pagar: %.2f",vtotal); getch(); Cerramos EL } PROGRAMA
  46. 46. UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN 3.- CORRIDO DEL PROGRAMA: 8.-Diseñe un programa que me permita calcular el promedio general de las notas de distintas materias correspondientes al 2do semestre de docencia en informática, en donde cada uno de las notas ingresadas deben estar entre 1 y 10. 1.-ANALISIS DEL PROGRAMA:  Introducimos las librerías, las variables, ingresamos la validación de variables, comenzamos con el ciclo do- while para la repetición del programa, ingresamos e clrscr para el limpiado de pantalla, ingresamos el do-while para cada condición, luego cerrados el proceso repetitivo y finalmente cerramos el programa. 2.- Documentación del programa #include<stdio.h> LIBRERIAS #include<conio.h> main() { int c=5,n1,n2,n3,op; VALIDACION DE LOS TERMINOS ESTABLECIDAS EN float prom; NUESTRO PROGRAMA clrscr(); gotoxy(27,2);printf("Facultad de Ciencias Humanas"); gotoxy(30,3);printf("Segundo Informatica"); gotoxy(8,5); printf("Modulos nota 1nota 2 nota 3promedio"); gotoxy(5,6); printf("Programacion 1"); gotoxy(5,7); printf("Fisica 2"); IMPRIMO VALORES gotoxy(5,8); printf("Matematica Basica"); Y LOS HAGO VALIDOS gotoxy(5,9); printf("M. de la Investigacion"); gotoxy(5,10);printf("Trabajo en Equipo"); gotoxy(5,11);printf("Realidad Nacional"); gotoxy(5,12);printf("Ntics");
  47. 47. UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN do { ABRIMOS EL DO c=c+1; do { gotoxy(39,c);printf(" "); gotoxy(39,c);scanf("%d",&n1); } while (n1>10); do { gotoxy(49,c);printf(" "); gotoxy(49,c);scanf("%d",&n2); } while (n2>10); do { gotoxy(60,c);printf(" "); gotoxy(60,c);scanf ("%d",&n3); } while (n3>10); SENTENCIA DEL DO WHILE Y PROCESOS prom=(n1+n2+n3)/3; gotoxy(70,c);printf("%.2f",prom); gotoxy(5,15);printf("presione 1 para continuar o 0 para salir");scanf("%d",&op); } while (op==1); CERRAMOS EL DO – WHILE getch(); } CERRAMOS EL PROGRAMA 3.-CORRIDO DEL PROGRAMA:
  48. 48. UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN 9.-Realice un programa en C++ que me permita obtener el liquido a recibir de un empleado bajo los siguientes parámetros: El empleado percibe un salario minimo vital el mismo que depende de su categoría, existen 3 posibles alterantivas, este datos deberá ser ingresada al inicio del programa conjuntamente con el nombre del empleado:  Categoria 1 180,00  Categoría 2 250,00  Categoría 3 380,00 A este salario minimo vital se le incluye algunos rubros que son: 1. Horas extras, las mimas que no pueden exceder 8, cada hora extra cuesta Usd. 1,80. 2. Bono familiar la misma que esta condicionada. Si el empleado tiene mas de dos hujos se le paga Usd. 4,50 por cada hijo caso contrario se le reconoce Usd. 6,20 por cada hijo. 3. Obtenga el valor del IESS que es el 11,5 % del nominal 4. Se le descuenta el 2% del nominal como aporte a la asociación 5. Obtenga los valores correspondientres de ingresos, egresos y total a recibir. El programa se genera n veces. 1.-Análisis del Programa:  Introducimos las librerías, las variables, ingresamos la validación de variables, comenzamos con el ciclo do- while para la repetición del programa, ingresamos e clrscr para el limpiado de pantalla, ingresamos el do-while para cada condición y su validación e impresión de valores, luego trabajamos con la sentencia if y else para las condiciones y sus respectivos procesos, cerrados el proceso repetitivo y finalmente cerramos el programa. 2.- Documentación del programa #include<stdio.h> LIBRERIAS #include<conio.h> main () { float x=180, y=250, z=380,s,iess,i=11.5, dcto,a=2,p=1.80,ex,hex,j=4.50,k=6.20,b,in,eg,t; VALIDACION DE LOS TERMINOS int c,h,op; ESTABLECIDAS EN NUESTRO PROGRAMA char n[50]; do PROCESO DE REPETICION { flushall(); clrscr(); gotoxy(31,3); printf("INGRESO DE DATOS"); gotoxy(2,5); printf("Ingrese su nombre: ");flushall(); gets(n); do
  49. 49. UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN { gotoxy(2,8); printf("Escoja su categoria: 1, 2 o 3: "); scanf("%d",&c); } while(c>3 || c<1); gotoxy(2,11); printf("Cantidad de hijos registrados: "); scanf("%d",&h); do { gotoxy(2,14);printf("Horas extras registradas: "); scanf("%f",&hex); } while(hex<1 || hex>8); PROCESO DO WHILE VALIDANDO TERMINOS clrscr(); gotoxy(5,3); printf("********************ROL DE PAGOS********************"); gotoxy(5,5); printf("Empleado: %s",n); gotoxy(5,6); printf("Corresponde: Septiembre 2013"); gotoxy(5,7); printf("Dias laborados: 30 dias"); gotoxy(5,8); printf("**************************"); IMPRIMO VALORES Y gotoxy(10,10); printf("Ingresos"); LOS HAGO VALIDOS gotoxy(46,10); printf("Egresos"); gotoxy(5,12); printf("Sueldo nominal "); if(c==1) { s=x; DECISION SENTENCIA gotoxy(21,12); printf("%.2f",s); IF } if(c==2) { s=y; gotoxy(21,12); printf("%.2f",s); } if(c==3) { s=z; gotoxy(21,12); printf("%.2f",s); } iess=(s*i)/100; PROCESOS gotoxy(38,12); printf("Seguro: "); gotoxy(52,12); printf("%.2f",iess); dcto=(s*a)/100; gotoxy(38,13); printf("Dcto. Asoc.: "); gotoxy(52,13); printf("%.2f",dcto);
  50. 50. UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN ex=(hex*p); gotoxy(5,13); printf("Horas extras: "); gotoxy(21,13);printf("%.2f",ex); gotoxy(5,14); printf("Bono Familiar: "); if (h>2) { b=(h*j); gotoxy(21,14);printf("%.2f",b); } DECISION SENTENCIA IF if (h<3) { b=(h*k); gotoxy(21,14);printf("%.2f",b); } in=(s+ex+b); gotoxy(5,18); printf("Total Ingresos: "); gotoxy(21,18);printf("%.2f",in); PROCESOS eg=(iess+dcto); gotoxy(38,18);printf("Total Egresos: "); gotoxy(52,18);printf("%.2f",eg); t=(in-eg); gotoxy(38,24);printf("TOTAL A RECIBIR: "); gotoxy(55,24);printf("%.2f",t); gotoxy(37,23);printf("*************************"); gotoxy(37,25);printf("*************************"); gotoxy(5,23); printf("presione 1 para regresar o "); gotoxy(5,24); printf("presione 0 para salir: "); scanf("%d",&op); } while (op==1); getch(); } CERRAMOS EL PROGRAMA SENTENCIA DO WHILE Y PROCESOS
  51. 51. UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN 3.-CORRIDO DEL PROGRAMA 10.- Diseñe un programa que me permita imprimir un borde de pantalla 1. Análisis del Programa: #include<stdio.h> #include<conio.h> main() { int i,limite,fila=6,op; fila=6; LIBRERIAS VALIDACION DE LOS TERMINOS ESTABLECIDAS EN NUESTRO PROGRAMA LIMPIADO DE PANTALLA
  52. 52. UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN //bordes for (i=1;i<=80;i++) { gotoxy(i,1);printf("*"); gotoxy(i,24);printf("*"); } SENTENCIA FOR for (i=1;i<=24;i++) { gotoxy(1,i);printf("*"); gotoxy(80,i);printf("*"); } getch(); } SENTENCIA FOR CERRAMOS EL PROGRAMA 2. CORRIDO DEL PROGRAMA 11.- Diseñe un programa que me permita visualizar la serie de los números pares y los impares que existen hasta el número límite ingresado desde teclado. 3. Análisis del Programa: #include<stdio.h> #include<conio.h> main() LIBRERIAS
  53. 53. UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN { int i,limite,fila=6,op; VALIDACION DE LOS TERMINOS ESTABLECIDAS EN NUESTRO PROGRAMA do PROCESO DE REPETICION { fila=6; clrscr(); LIMPIADOR DE PANTALLA //bordes for (i=1;i<=80;i++) { SENTENCIA FOR gotoxy(i,1);printf("*"); gotoxy(i,24);printf("*"); } for (i=1;i<=24;i++) { gotoxy(1,i);printf("*"); gotoxy(80,i);printf("*"); } //serie de pares SENTENCIA FOR gotoxy(5,2);printf("ingrese el limite: ");scanf("%d",&limite); gotoxy(20,4);printf("Pares:"); for (i=2;i<=limite;i+=2) { gotoxy(23,fila);printf("%d",i); fila=fila+1; } fila=6; VALIDACION DE LOS TERMINOS ESTABLECIDAS EN NUESTRO PROGRAMA SENTENCIA FOR gotoxy(42,4);printf("Impares:"); for (i=1;i<=limite;i+=2) { gotoxy(46,fila);printf("%d",i); fila=fila+1; } gotoxy(60,21);printf("presione:"); gotoxy(60,22);printf("1 para continuar"); gotoxy(60,23);printf("0 para salir: "); scanf("%d",&op); } while(op==1); getch(); CERRAMOS EL PROGRAMA CERRAMOS EL PROCESOS DE REPETICION
  54. 54. UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN } 4. CORRIDO DEL PROGRAMA 12.- Realizar un programa y visualizar los números primos. 5. ANÁLISIS DEL PROGRAMA: #include<stdio.h> LIBRERIAS #include<conio.h> #include<string.h> main() VALIDACION DE LOS TERMINOS ESTABLECIDAS { EN NUESTRO PROGRAMA int i, j, fla=7, lim, cnt=0, resul, op; do PROCESO DE REPETICION { fla=7; clrscr(); gotoxy(35,3);printf("NUMEROS PRIMOS"); for(i=1;i<=80;i++) { SENTENCIA FOR gotoxy(i,1);printf("*"); gotoxy(i,24);printf("*"); } for(i=1;i<=24;i++) { gotoxy(1,i);printf("*"); gotoxy(80,i);printf("*"); SENTENCIA FOR
  55. 55. UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN } gotoxy(5,8);printf("ingrese limite: ");scanf("%d",&lim); for(i=1;i<=lim;i++) { cnt=0; for(j=1;j<=i;j++) { resul=i%j; if(resul==0) { DECISION SENTENCIA cnt=cnt+1; } IF } if(cnt==2) { gotoxy(40,fla);printf("%d",i); fla=fla+1; } CERRAMOS EL } PROGRAMA  CORRIDO DE PROGRAMA 13.- Diseñe un programa que me permita visualizar la factorial de un número ingresado desde teclado. 6. ANÁLISIS DEL PROGRAMA:
  56. 56. UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN #include<stdio.h> LIBRERIAS #include<conio.h> main() { int i,j,m,l,f=1,op; VALIDACION DE LOS TERMINOS ESTABLECIDAS EN NUESTRO PROGRAMA do PROCESO DE REPETICION { clrscr(); f=1; //borde de pantalla m=10; for (i=1;i<=80;i++) { gotoxy(i,1); printf("*"); gotoxy(i,24);printf("*"); } SENTENCIA FOR for (i=1;i<=24;i++) { gotoxy(1,i); printf("*"); gotoxy(80,i);printf("*"); } gotoxy(31,3);printf("FACTORIALES"); IMPRIMO VALORES Y LOS gotoxy(15,7);printf("ingrese el limite: ");scanf("%d",&l); HAGO VALIDOS for (j=1;j<=l;j++) { f=f*j; SENTENCIA FOR Y SUS PROCESOS gotoxy(20,m);printf("El factorial de: %d = %d",j,f); m=m+1; } gotoxy(15,22);printf("presione 1 para continuar o 0 para salir: ");scanf("%d",&op); } while (op==1); getch(); CERRAMOS EL } PROGRAMA
  57. 57. UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN 1. CORRIDO DEL PROGRAMA 14.-Diseñe un programa que me permita ejercer la tabla de multiplicación de cualquier factor imprimido desde teclado y por cualquier limite impreso desde teclado, el programa se genera n veces, diseñe el borde de la pantalla. 2. ANÁLISIS DEL PROGRAMA: #include<stdio.h> LIBRERIAS #include<conio.h> main () { int fac,lim,i,n,m,j,op ; VALIDACION DE LOS TERMINOS ESTABLECIDAS EN NUESTRO PROGRAMA do { PROCESO DE REPETICION clrscr(); //borde de pantalla m=9; for (i=1;i<=80;i++) { gotoxy(i,1); printf("*"); SENTENCIA FOR gotoxy(i,24);printf("*"); } BORDE DE PANTALLA for (i=1;i<=24;i++) { gotoxy(1,i); printf("*"); gotoxy(80,i);printf("*");
  58. 58. UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN } //tabla de multiplicar gotoxy(31,3); printf("TABLAS DE MULTIPLICAR"); gotoxy(10,5); printf("Factor: ");scanf("%d",&fac); IMPRIMO VALORES Y LOS HAGO VALIDOS gotoxy(10,7); printf("Limite: ");scanf("%d",&lim); for(j=1;j<=lim;j++) { n=fac*j; gotoxy(19,m); printf("%d",fac); gotoxy(21,m); printf("*"); SENTENCIA FOR gotoxy(23,m); printf("%d",j); Y PROCESOS DE LA TABLA DE gotoxy(25,m); printf("="); MULTUIPLICAR gotoxy(27,m); printf("%d",n); m=m+1; } CERRAMOS gotoxy(8,22); printf("presione 1 para regresar o 0 para salir: ");scanf("%d",&op); PROCESO DE } REPETICION while (op==1); getch(); } CERRAMOS EL PROGRAMA 3. CORRIDO DEL PROGRAMA
  59. 59. UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN 15.- Diseñe un programa en c++ que me permita visualizar los números primos con repetición y el borde. 7. ANÁLISIS DEL PROGRAMA: #include<conio.h> LIBRERIAS #include<stdio.h> main() { int i=0,j=0,lt,c,res=0,op=1,nc=0; do PROCESO DE REPETICION { clrscr(); VALIDACION DE LOS TERMINOS ESTABLECIDAS EN NUESTRO PROGRAMA LIMPIADOR DE PANTALLA for(i=1;i<=24;i++) { gotoxy(1,i);printf("*"); gotoxy(79,i);printf("*"); SENTENCIA FOR PARA } REALIZAR EL BORDE for(i=1;i<=80;i++) { gotoxy(i,1);printf("*"); gotoxy(i,24);printf("*"); } gotoxy(29,2);printf("NUMEROS PRIMOS"); gotoxy(6,4);printf("INGRESE EL LIMITE : ");scanf("%d",&lt); gotoxy(6,6);printf("1"); c=2; for(i=2;i<=lt;i++) SENTENCIA FOR { for(j=1;j<=c;j++) { if(i%j==0) { nc=nc+1; } SENTENCIA IF } if(nc==2) { printf("%6d",i); } nc=0; c=c+1; } gotoxy(2,23),printf("REPETIR 1 Y 0 PARA SALIR : ");scanf("%d",&op); } while(op==1); getch(); CERRAMOS EL } PROGRAMA VALIDACION DE LOS TERMINOS ESTABLECIDAS EN NUESTRO PROGRAMA CERRAMOS PROCESO DE REPETICION
  60. 60. UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN 8. CORRIDO DEL PROGRAMA 16.- Diseñe un programa que me permita generar cualquier seria de números. 9. ANÁLISIS DEL PROGRAMA: #include<conio.h> LIBRERIAS #include<stdio.h> void main() { VALIDACION DE LOS TERMINOS ESTABLECIDAS EN NUESTRO PROGRAMA int limite,i,fla,op; do PROCESO DE REPETICION { clrscr(); for(i=1;i<=80;i++) { gotoxy(i,1);printf("*"); gotoxy(i,24);printf("*"); } for(i=1;i<=24;i++) { SENTENCIA FOR PARA gotoxy(1,i);printf("*"); REALIZAR EL BORDE gotoxy(80,i);printf("*"); } flushall(); gotoxy(25,5);printf("Series"); IMPRIMO VALORES Y LOS HAGO VALIDOS
  61. 61. UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN gotoxy(15,6);printf("Ingrese limite: ");scanf("%d",&limite); fla=6; for(i=2;i<=limite;i+=2) { gotoxy(20,fla+1);printf("%d",i); fla=fla+1; SENTENCIA FOR Y SUS } RESPECTIVOS PROCESOS fla=7; for(i=1;i<=limite;i+=2) { gotoxy(40,fla);printf("%d",i); fla=fla+1; } gotoxy(15,20);printf("Desea salir 1/0: ");scanf("%d",&op); }while(op==1); getch(); CERRAMOS EL } PROGRAMA  CERRAMOS PROCESO DE REPETICION CORRIDO DEL PROGRAMA: 17.- Diseñe un programa que me permita generar una serie de números, en donde el numerados es cualquier factor ingresado desde teclado, y el numerador es la serie de los números impares. 10. ANÁLISIS DEL PROGRAMA: #include<stdio.h> #include<conio.h> void main () { int i,l,j,c,d,s,p,op,fa; do LIBRERIAS VALIDACION DE LOS TERMINOS ESTABLECIDAS EN NUESTRO PROGRAMA PROCESO DE REPETICION
  62. 62. UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN { clrscr(); for(i=1;i<=80;i++) { gotoxy(i,1);printf("*"); gotoxy(i,24);printf("*"); SENTENCIA FOR PARA } REALIZAR EL BORDE for(i=1;i<=24;i++) { gotoxy(1,i);printf("*"); gotoxy(80,i);printf("*"); } gotoxy(16,2);printf("SERIE DE NUMEROS NUMERADOR IMPRIMO VALORES Y CUALQUIER,DENOMINADOR IMPAR"); LOS gotoxy(10,3);printf("Ingrse el limite: ");scanf("%d",&l); HAGO VALIDOS gotoxy(10,4);printf("ingrese el factor:");scanf("%d",&fa); c=0; d=1; for(i=1;i<=l;i++) { c=c+3; gotoxy(5,6+i);printf("%d",c); SENTENCIA FOR Y SUS d=d+2; RESPECTIVOS PROCESOS gotoxy(13,6+i);printf("%d",d); gotoxy(9,6+i);printf("/"); CERRAMOS } PROCESO DE gotoxy(10,20);printf("Desea continuar 1 caso contario 0: ");scanf("%d",&op); }while(op==1); REPETICION getch(); CERRAMOS EL } PROGRAMA 11. CORRIDO DEL PROGRAMA
  63. 63. UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN 18.- Realice un programa que me permita general la siguiente serie de datos: N= 5 Factor impar como numerador Factorial como denominador 12. ANÁLISIS DEL PROGRAMA: #include<conio.h> LIBRERIAS #include<stdio.h> void main() { int s,f,i,d,j,op; VALIDACION DE LOS TERMINOS ESTABLECIDAS EN NUESTRO PROGRAMA float factorial; do { PROCESO DE REPETICION clrscr(); LIMPIADOR DE PANTALLA for(i=1;i<=80;i++) { gotoxy(i,1);printf("*"); gotoxy(i,24);printf("*"); SENTENCIA FOR PARA } REALIZAR EL BORDE for(i=1;i<=24;i++) { gotoxy(1,i);printf("*"); gotoxy(80,i);printf("*"); } gotoxy(15,2);printf("SERIE DE NUMEROS CON NUMERADOR IMPAR E FACTORIAL DENOMINADOR"); gotoxy(10,3);printf("Ingrse el limite: ");scanf("%d",&s); do { IMPRIMO VALORES Y LOS HAGO VALIDOS PROCESO DE VALIDACION CON DO WHILE
  64. 64. UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN gotoxy(32,4);printf(" "); gotoxy(10,4);printf("ingrese el factor:");scanf("%d",&f); } while(f%2==0); factorial=1; for(i=1;i<=s;i++) { factorial=factorial*i; SENTENCIA FOR Y SUS gotoxy(5,6+i);printf("%d",f); RESPECTIVOS PROCESOS f=f+2; gotoxy(13,6+i);printf("%4.0f",factorial); gotoxy(9,6+i);printf("/"); } gotoxy(10,20);printf("Desea continuar 1 caso contario 0: ");scanf("%d",&op); }while(op==1); getch(); CERRAMOS EL } PROGRAMA  CERRAMOS PROCESO DE REPETICION CORRIDO DEL PROGRAMA 19.- Generar n elementos de la siguiente serie, cualquier factor ingresando desde teclado como numerador, el denominador números pares 13. ANÁLISIS DEL PROGRAMA: #include<stdio.h> #include<conio.h> void main () LIBRERIAS
  65. 65. UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN { VALIDACION DE LOS TERMINOS ESTABLECIDAS EN NUESTRO PROGRAMA int i,l,j,c,d,s,p,op,fa; do { PROCESO DE REPETICION clrscr(); for(i=1;i<=80;i++) { gotoxy(i,1);printf("*"); SENTENCIA FOR PARA gotoxy(i,24);printf("*"); REALIZAR EL BORDE } for(i=1;i<=24;i++) { gotoxy(1,i);printf("*"); gotoxy(80,i);printf("*"); } gotoxy(16,2);printf("SERIE DE NUMEROS NUMERADOR CUALQUIER,DENOMINADOR PAR"); IMPRIMO VALORES Y gotoxy(10,3);printf("Ingrse el limite: ");scanf("%d",&l); gotoxy(10,4);printf("ingrese el factor:");scanf("%d",&fa); LOS HAGO VALIDOS c=0; d=0; for(i=1;i<=l;i++) { c=c+3; SENTENCIA FOR Y SUS gotoxy(5,6+i);printf("%d",c); RESPECTIVOS PROCESOS d=d+2; gotoxy(13,6+i);printf("%d",d); gotoxy(9,6+i);printf("/"); } CERRAMOS gotoxy(10,20);printf("Desea continuar 1 caso contario 0: ");scanf("%d",&op); PROCESO }while(op==1); DE REPETICION getch(); CERRAMOS EL } PROGRAMA 1. CORRIDO DEL PROGRAMA
  66. 66. UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN 20.- Genere una serie de datos que lleve por numerador el factorial y por denominador la serie de Fibonacci. #include<conio.h> LIBRERIAS #include<stdio.h> main() { VALIDACION DE LOS TERMINOS int i, limit, fibon=0, colum=5, b=1, c=0, fac=1, op; ESTABLECIDAS EN NUESTRO PROGRAMA do PROCESO DE REPETICION { fibon=0, colum=5, b=1, c=0, fac=1; clrscr(); for(i=1;i<=80;i++) { gotoxy(i,1);printf("*"); gotoxy(i,24);printf("*"); SENTENCIA FOR PARA } REALIZAR EL BORDE for(i=1;i<=24;i++) { gotoxy(1,i);printf("*"); gotoxy(80,i);printf("*"); } gotoxy(17,3);printf("SERIE NUMERADOR FACTORIAL IMPRIMO VALORES Y LOS Y DENOMINADOR FIBONACCI"); gotoxy(4,5);printf("numero a visualizar: ");scanf("%d",&limit); HAGO VALIDOS for(i=1;i<=limit;i++) { gotoxy(colum,9);printf("%d",fibon); fibon=b+c; SENTENCIA FOR Y SUS b=c; RESPECTIVOS PROCESOS c=fibon; gotoxy(colum,8);printf("-");
  67. 67. UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN gotoxy(colum,7);printf("%d",fac); fac=fac*i; colum=colum+5; } CERRAMOS gotoxy(3,22);printf("PRESIONE 1 PARA REPETIR LA SERIE O 0 PARA FINALIZAR>> PROCESO ");scanf("%d",&op); DE REPETICION } while(op==1); getch(); CERRAMOS EL } PROGRAMA 2. CORRIDO DEL PROGRAMA 21.- Genere la siguiente serie de datos primos en el numerador e impares en el denominador. 3. ANÁLISIS DEL PROGRAMA: #include<stdio.h> LIBRERIAS
  68. 68. UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN #include<conio.h> #include<string.h> main() { VALIDACION DE LOS TERMINOS int i, j, np, cot=0, c=5, resul, op, colum=15, imp=1, aux; ESTABLECIDAS EN NUESTRO do PROCESO DE REPETICION PROGRAMA { imp=1; colum=15; c=10; clrscr(); gotoxy(16,3);printf("SERIE NUMERADOR PRIMOS DENOMINADOR IMPARES"); for(i=1;i<=80;i++) { gotoxy(i,1);printf("*"); gotoxy(i,24);printf("*"); SENTENCIA FOR PARA } REALIZAR EL BORDE for(i=1;i<=24;i++) { gotoxy(1,i);printf("*"); gotoxy(80,i);printf("*"); } gotoxy(3,5);printf("Limite: ");scanf("%d",&np); gotoxy(10,7);printf("1"); IMPRIMO VALORES Y LOS HAGO VALIDOS gotoxy(8,6);printf("Serie: "); aux=0; for(i=1;i<=(2*np);i++) { if(aux==np) {break; } cot=0; SENTENCIA FOR Y SU for(j=1;j<=i;j++) RESPECTIVOS PROCESOS { resul=i%j; if(resul==0) { cot=cot+1; } } if(cot==2) { gotoxy(colum,7);printf("%d",i); aux=aux+1; gotoxy(colum,8);printf("-"); DECISION SENTENCIA IF Y colum=colum+5; SUS PROCESOS gotoxy(c,9);printf("%d",imp); imp=imp+2; c=c+5; }
  69. 69. UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN } gotoxy(3,23);printf("PRESIONE 1 PARA REPETIR EL PROCESO O 0 PARA FINALIZAR: CERRAMOS ");scanf("%d",&op); PROCESO DE } REPETICION while(op==1); getch(); CERRAMOS EL } PROGRAMA 4. CORRIDO DEL PROGRAMA 22.-Diseñe un programa que me presente un menú de opciones con las operaciones básicas, estas son suma, resta, multiplicación, división y una opción para salir del programa. 5. ANÁLISIS DEL PROGRAMA: #include<conio.h> #include<stdio.h> #include<stdlib.h> #include<math.h> LIBRERIAS
  70. 70. UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN void borde() { VALIDACION DE LOS TERMINOS ESTABLECIDAS EN NUESTRO PROGRAMA int i; clrscr(); LIMPIADOR DE PANTALLA for(i=1;i<=80;i++) { gotoxy(i,1);printf("*"); gotoxy(i,24);printf("*"); } for(i=1;i<=24;i++) { gotoxy(1,i);printf("*"); gotoxy(80,i);printf("*"); } } void main() { int op,col=8,l,i; float a,p,nu,s,r,c,m,c1,di,d,dv,e; clrscr(); do PROCESO DE REPETICION { SENTENCIA FOR PARA REALIZAR EL BORDE VALIDACION DE LOS TERMINOS ESTABLECIDAS EN NUESTRO PROGRAMA LLAMAMOS A LA FUNCION BORDE borde(); gotoxy(32,3);printf("OPERACIONES BASICAS"); gotoxy(5,5);printf("1.Suma"); gotoxy(5,7);printf("2.Resta"); gotoxy(5,9);printf("3.Multiplicaci¢n"); gotoxy(5,11);printf("4.Divisi¢n"); gotoxy(5,13);printf("5.Salir"); gotoxy(5,22);printf("Que opcion desea realizar: "); scanf("%d",&op); switch(op) { case 1: clrscr(); borde(); gotoxy(33,3);printf("SUMA"); gotoxy(5,5);printf("Cuantos numeros desea sumar: "); scanf("%d",&l); for(i=1;i<=l;i++) { gotoxy(5,6);printf("Ingrese los numeros: ");scanf("%f",&nu); IMPRIMO VALORES Y LOS HAGO VALIDOS PARA EMPEZAR HACER EL MENU SENTENCIA CASE, FOR Y LA IMPRESIÓN DE SUS PROCESOS
  71. 71. UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN s=s+nu; } gotoxy(col,8);printf("La suma es = %f",s); break; case 2: clrscr(); borde(); gotoxy(33,3);printf("RESTA"); gotoxy(5,5);printf("Ingrese la primera cantidad: "); scanf("%f",&c); gotoxy(5,6);printf("Ingrese la segunda cantidad: "); scanf("%f",&c1); if(c<=c1) { r=c1-c; gotoxy(col,12);printf("Resta = %f",r); } else { r=c-c1; gotoxy(col,12);printf("Resta = %f",r); } CERRAMOS EL CASE break; SENTENCIA CASE, FOR Y LA IMPRESIÓN DE SUS PROCESOS DECISION SENTENCIA IF Y SUS PROCESOS case 3: clrscr(); borde(); gotoxy(32,3);printf("MULTIPLICACION"); gotoxy(5,5);printf("Ingrese el producto 1: ");scanf("%f",&p); gotoxy(5,7);printf("Ingrese el producto 2: ");scanf("%f",&nu); m=p*nu; gotoxy(col,13);printf("Multiplicaci¢n = %f",m); break; CERRAMOS EL CASE case 4: clrscr(); borde(); gotoxy(35,3);printf("DIVISION"); gotoxy(5,5);printf("Ingrese el dividendo: ");scanf("%f",&dv); gotoxy(5,6);printf("Ingrese el divisor: ");scanf("%f",&di); d=dv/di; gotoxy(col,12);printf("La division = %f",d); break; case 5: clrscr(); SENTENCIA CASE Y LA IMPRESIÓN DE SUS PROCESOS SENTENCIA CASE Y LA IMPRESIÓN DE SUS PROCESOS
  72. 72. UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN borde(); exit(0); CERRAMOS EL CASE break; } gotoxy(3,23);printf("1 PARA VOLVER AL MENU DE DATOS 0 PARA FINALIZAR: ");scanf("%d",&op); } while(op==1); getch(); CERRAMOS EL } PROGRAMA 1. CORRIDO DEL PROGRAMA: CERRAMOS PROCESO DE REPETICION
  73. 73. UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN 23.- Realice un menú en el cual se visualice las 6 operaciones básicas: suma, resta, multiplicación, división, potenciación y radicación, con sus respectivas validaciones. 1. ANÁLISIS DEL PROGRAMA: #include<conio.h> #include<stdio.h> LIBRERIAS #include<stdlib.h> #include<math.h> void borde() { VALIDACION DE LOS TERMINOS ESTABLECIDAS EN NUESTRO PROGRAMA int i; clrscr(); for(i=1;i<=80;i++) { gotoxy(i,1);printf("*"); gotoxy(i,24);printf("*"); } SENTENCIA FOR PARA for(i=1;i<=24;i++) REALIZAR EL BORDE { gotoxy(1,i);printf("*"); gotoxy(80,i);printf("*"); } }
  74. 74. UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN void main() { int i,a,p,num,exp,resul,b,op,opc,aux=0,s1,s2,s3,s4,d,val, VALIDACION DE LOS TERMINOS ESTABLECIDAS EN NUESTRO PROGRAMA sum,min,sus,res,mult1,mult2,pro,di,div,coc; float resp,f; do PROCESO DE REPETICION { clrscr(); { borde(); gotoxy(20,3);printf("<>LAS SEIS OPERACIONES BASICAS>>"); gotoxy(10,5);printf("1.- SUMA"); gotoxy(10,7);printf("2.- RESTA"); gotoxy(10,9);printf("3.- MULTIPLICACION"); IMPRIMO VALORES Y LOS gotoxy(10,11);printf("4.- DIVISION"); HAGO VALIDOS gotoxy(10,13);printf("5.- RAIZ CUADRADA"); PARA EMPEZAR HACER EL gotoxy(10,15);printf("6.- POTENCIACION"); MENU gotoxy(10,17);printf("7.- SALIR"); do { gotoxy(38,21);printf(" "); VALIDAR CON LA SENTENCIA gotoxy(10,21);printf("Que opcion desea realizar>> "); WHILE scanf("%d",&op); }while(op>7); switch(op) { case 1: do { clrscr(); borde(); gotoxy(33,3);printf("SUMA"); SENTENCIA CASE Y gotoxy(5,5);printf("Ingrese la primera cantidad>>");scanf("%d",&s1); LA IMPRESIÓN DE gotoxy(5,7);printf("Ingrese la segunda cantidad>>");scanf("%d",&s2); SUS PROCESOS gotoxy(5,9);printf("Ingrese la tercera cantidad>>");scanf("%d",&s3); gotoxy(5,11);printf("Ingrese la cuarta cantidad>>");scanf("%d",&s4); sum=s1+s2+s3+s4; gotoxy(12,13);printf("suma>> %d",sum); gotoxy(12,17);printf("PRESIONE 1 PARA REPETIR EL PROCESO O 0 PARA FINALIZAR: ");scanf("%d",&opc); }while(opc==1) ; break; case 2: do { clrscr(); borde(); CERRAMOS EL CASE
  75. 75. UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN gotoxy(33,3);printf("RESTA"); gotoxy(5,5);printf("Ingrese el minuendo:");scanf("%d",&min); do { gotoxy(27,7);printf(" "); gotoxy(5,9);printf("ingrse el sustraendo:");scanf("%d",&sus); }while(min<sus); res=min-sus; gotoxy(25,12);printf("la resta es>> %d",res); gotoxy(18,19);printf("PRESIONE 1 PARA REPETIR EL PROCESO O 0 PARA FINALIZAR: ");scanf("%d",&opc); }while(opc==1) ; break; SENTENCIA CASE Y LA IMPRESIÓN DE SUS PROCESOS CERRAMOS EL CASE case 3: do { clrscr(); borde(); gotoxy(33,3);printf("MULTIPLICACION"); gotoxy(5,5);printf("ingrese el primer valor:");scanf("%d",&mult1); gotoxy(5,7);printf("ingrese el segundo valor:");scanf("%d",&mult2); pro=mult1*mult2; gotoxy(12,11);printf("multiplicacion>> %d",pro); gotoxy(18,19);printf("PRESIONE 1 PARA REPETIR EL PROCESO O 0 PARA FINALIZAR: ");scanf("%d",&opc); }while(opc==1) ; CERRAMOS EL CASE break; case 4: do { clrscr(); LIMPIADOR DE PANTALLA borde(); gotoxy(33,3);printf("DIVISION"); gotoxy(5,5);printf("ingrese el dividendo:");scanf("%d",&di); do { gotoxy(27,7);printf(" "); gotoxy(5,9);printf("ingrse el divisor:");scanf("%d",&div); }while(di<div); coc=di/div; gotoxy(12,11);printf("respuesta>> %d",coc); gotoxy(18,19);printf("PRESIONE 1 PARA REPETIR EL PROCESO O 0 PARA FINALIZAR: ");scanf("%d",&opc); }while(opc==1) ; CERRAMOS EL CASE break; case 5: do PROCESO DE REPETICION { SENTENCIA CASE Y LA IMPRESIÓN DE SUS PROCESOS SENTENCIA CASE Y LA IMPRESIÓN DE SUS PROCESOS
  76. 76. UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN clrscr(); borde( LLAMAMOS A LA FUNCION BORDE gotoxy(33,3);printf("RAIZ CUADRADA"); gotoxy(5,5);printf("ingrese el valor:");scanf("%d",&val); resp=sqrt(val); SENTENCIA CASE Y LA gotoxy(12,11);printf("respuesta>> %f",resp); IMPRESIÓN DE SUS gotoxy(18,19);printf("PRESIONE 1 PARA REPETIR PROCESOS EL PROCESO O 0 PARA FINALIZAR: ");scanf("%d",&opc); }while(opc==1) ; break; CERRAMOS CASE case 6: do PROCESOS DE REPETICION { clrscr(); borde(); gotoxy(33,3);printf("POTENCIACION"); SENTENCIA CASE Y LA gotoxy(5,5);printf("ingrese la base:");scanf("%d",&b); IMPRESIÓN DE SUS gotoxy(5,7);printf("ingrese el numero a exponer:");scanf("%d",&exp); PROCESOS resul=b; for(i=1;i<=exp-1;i++) { PROCESO FOR resul=resul*b; Y PROCESOS gotoxy(12,11);printf("respuesta>> %d",resul); } CERRAMOS PROCESO DE gotoxy(18,19);printf("PRESIONE 1 PARA REPETIR EL PROCESO O 0 PARA FINALIZAR: ");scanf("%d",&opc); REPETICION }while(opc==1) ; break; CERRAMOS CASE case 7: exit; SALIR TOTALMENTE DEL PROGRAMA break; } } CERRAMOS PROCESO DE gotoxy(18,22);printf("DESEA VOLVER AL MENU PRINCIPAL 1/0: ");scanf("%d",&aux); REPETICION } while(aux==1); getch(); CERRAMOS EL PROGRAMA } 2. CORRIDO DEL PROGRAMA:
  77. 77. UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN 24.- Realice un menú de las áreas y perímetros de las 4 figuras básicas: circulo, cuadrado, triangulo y rectángulo. 1. ANÁLISIS DEL PROGRAMA: #include<conio.h> #include<stdio.h> LIBRERIAS #include<stdlib.h> void borde() { VALIDACION DE LOS TERMINOS ESTABLECIDAS EN NUESTRO PROGRAMA int i;
  78. 78. UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN clrscr(); for(i=1;i<=80;i++) { gotoxy(i,1);printf("*"); gotoxy(i,24);printf("*"); SENTENCIA FOR PARA } for(i=1;i<=24;i++) REALIZAR EL BORDE { gotoxy(1,i);printf("*"); gotoxy(80,i);printf("*"); } } void main() { VALIDACION DE LOS TERMINOS int i, l,a,p, op,opc,aux=0,ba,al,l1,l2,l3,r,d; ESTABLECIDAS float pi=13.141516; EN NUESTRO PROGRAMA do PROCESO DE REPETICION { clrscr(); { borde(); gotoxy(20,3);printf("<<AREAS Y PERIMETROS DE MENU DE OPCIONES LAS 4 FIGURAS BASICAS>>"); gotoxy(10,5);printf("1.- CUADRADO"); gotoxy(10,7);printf("2.- TRIANGULO"); gotoxy(10,9);printf("3.- RECTANGULO"); gotoxy(10,11);printf("4.- CIRCULO"); gotoxy(10,13);printf("5.- Salir"); gotoxy(10,21);printf("Que opcion desea realizar>> "); scanf("%d",&op); switch(op) { case 1: do { clrscr(); borde(); gotoxy(33,3);printf("CUADRADO"); gotoxy(5,5);printf("Ingrese el lado del cuadrado>> ");scanf("%d",&l); a=l*l; p=l+l+l+l; gotoxy(12,7);printf("Area>> %d",a); gotoxy(12,9);printf("perimetro>> %d",p); gotoxy(12,17);printf("PRESIONE 1 PARA REPETIR EL PROCESO O 0 PARA FINALIZAR: ");scanf("%d",&opc); }while(opc==1) ; break; case 2: do { clrscr();
  79. 79. UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN borde(); gotoxy(33,3);printf("TRIANGULO"); gotoxy(5,5);printf("Ingrese la base:");scanf("%d",&ba); gotoxy(5,7);printf("ingrse la altura:");scanf("%d",&al); gotoxy(5,13);printf("ingrese lado a:"),scanf("%d",&l1); gotoxy(5,15);printf("ingrese lado b:"),scanf("%d",&l2); gotoxy(5,17);printf("ingrese lado c:"),scanf("%d",&l3); a=ba*al/2; gotoxy(30,6);printf("Area>> %d",a); p=l1+l2+l3; gotoxy(25,12);printf("perimetro>> %d",p); gotoxy(20,21);printf("PRESIONE 1 PARA REPETIR EL PROCESO O 0 PARA FINALIZAR: ");scanf("%d",&opc); }while(opc==1) ; break; case 3: do { clrscr(); borde(); gotoxy(33,3);printf("RECTANGULO"); gotoxy(5,5);printf("ingrese la base:");scanf("%d",&ba); gotoxy(5,7);printf("ingrese la altura:");scanf("%d",&al); a=ba*al; p=2*(ba+al); gotoxy(12,11);printf("area>> %d",a); gotoxy(12,13);printf("perimetro>> %d",p); gotoxy(20,20);printf("PRESIONE 1 PARA REPETIR EL PROCESO O 0 PARA FINALIZAR: ");scanf("%d",&opc); }while(opc==1) ; break; case 4: do { clrscr(); borde(); gotoxy(33,3);printf("circulo"); gotoxy(5,5);printf("ingrese el radio:");scanf("%d",&r); gotoxy(5,7);printf("ingrese el diametro:");scanf("%d",&d); a= pi*(r*r); p= pi*d; gotoxy(12,11);printf("area>> %d",a); gotoxy(12,13);printf("perimetro>> %d",p); gotoxy(20,20);printf("PRESIONE 1 PARA REPETIR EL PROCESO O 0 PARA FINALIZAR: ");scanf("%d",&opc); }while(opc==1); break; case 5:
  80. 80. UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN exit; break; } } gotoxy(20,22);printf("DESEA VOLVER AL MENU PRINCIPAL 1/0: ");scanf("%d",&aux); } while(aux==1); CERRAMOS EL getch(); PROGRAMA }  CORRIDO DEL PROGRAMA 25.- Realice un menú que me permita realizar las conversiones básicas de metro, kilometro, hectómetro y decímetro.  CODIFICADO #include<conio.h> #include<stdio.h> #include<stdlib.h> void borde() { int i; clrscr(); for(i=1;i<=80;i++) { gotoxy(i,1);printf("±"); gotoxy(i,24);printf("±"); } for(i=1;i<=24;i++)
  81. 81. UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN { gotoxy(1,i);printf("±"); gotoxy(80,i);printf("±"); } } void main() { int op,col=8; float km,nu,dam,hm,m; clrscr(); do { borde(); gotoxy(32,3);printf("CONVERSIONES BASICAS"); gotoxy(32,2);printf("////////////////////"); gotoxy(32,4);printf("////////////////////"); gotoxy(5,6);printf("1.- De Metros a Km - Hm - Dam"); gotoxy(5,8);printf("2.- De Kilometros a M - Hm - Dam"); gotoxy(5,10);printf("3.- De Hectometros a M - Km - Dam"); gotoxy(5,12);printf("4.- De Decametros a M - Km - Hm"); gotoxy(5,14);printf("5.- Salir"); gotoxy(5,22);printf("Que opcion desea realizar: ");scanf("%d",&op); switch(op) { case 1: clrscr(); borde(); gotoxy(33,3);printf("De Metros a Km - Hm - Dam"); gotoxy(5,5);printf("Ingrece la cantidad: ");scanf("%f",&nu); km=nu*0.001; hm=nu*0.01; dam=nu*0.1; gotoxy(col,8);printf("Km = %f",km); gotoxy(col,10);printf("Hm = %f",hm); gotoxy(col,12);printf("Dam = %f",dam); break; case 2: clrscr(); borde(); gotoxy(33,3);printf("De Kilometros a M - Hm - Dam"); gotoxy(5,5);printf("Ingrece la cantidad: ");scanf("%f",&nu); m=nu*1000; hm=nu*100; dam=nu*10; gotoxy(col,8);printf("M = %f",m); gotoxy(col,12);printf("Hm = %f",hm); gotoxy(col,10);printf("Dam = %f",dam); break; case 3: clrscr(); borde();
  82. 82. UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN gotoxy(33,3);printf("De Hectometros a M - Km - Dam"); gotoxy(5,5);printf("Ingrece la cantidad: ");scanf("%f",&nu); km=nu*0.1; m=nu*100; dam=nu*10; gotoxy(col,12);printf("Km = %f",km); gotoxy(col,8);printf("M = %f",m); gotoxy(col,10);printf("Dam = %f",dam); break; case 4: clrscr(); borde(); gotoxy(33,3);printf("De Metros a M - Km - Hm"); gotoxy(5,5);printf("Ingrece la cantidad: ");scanf("%f",&nu); km=nu*0.001; hm=nu*0.01; m=nu*10; gotoxy(col,12);printf("Km = %f",km); gotoxy(col,10);printf("Hm = %f",hm); gotoxy(col,8);printf("M = %f",m); break; case 5: exit(0); break; } gotoxy(3,23);printf("1 PARA VOLVER AL MENU DE DATOS 0 PARA FINALIZAR: ");scanf("%d",&op); } while(op==1); getch(); }
  83. 83. UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN 26.-Diseñe un programa que me permita realizar un borde utilizaciones funciones.  CODIFICADO #include<stdio.h> #include<conio.h> #include<stdlib.h> int i; void borde() { for(i=1;i<=80;i++) { gotoxy(i,24);printf("*"); gotoxy(i,1);printf("*"); } for(i=1;i<=24;i++) { gotoxy(1,i);printf("*"); gotoxy(80,i);printf("*"); } } void main () { clrscr(); borde(); getch(); }

×