Programación estructurada
Upcoming SlideShare
Loading in...5
×
 

Programación estructurada

on

  • 1,347 views

Algoritmo, Educacion, POO

Algoritmo, Educacion, POO

Statistics

Views

Total Views
1,347
Views on SlideShare
1,347
Embed Views
0

Actions

Likes
1
Downloads
93
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Programación estructurada Programación estructurada Document Transcript

  • 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
  • Í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
  • 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 View slide
  • 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 View slide
  • 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)
  • 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
  • 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");
  • 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
  • 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
  • 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
  • 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.
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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:
  • 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
  • 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.
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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(...) {
  • 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
  • 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
  • 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
  • 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
  • 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.
  • 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
  • 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
  • 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;
  • 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:
  • 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:
  • 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
  • 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
  • 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
  • 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();
  • 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
  • UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN
  • 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
  • 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");
  • 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:
  • 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
  • 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);
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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:
  • 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
  • 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("*");
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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("-");
  • 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
  • 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; }
  • 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
  • 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
  • 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
  • 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
  • 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("*"); } }
  • 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
  • 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
  • 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:
  • 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;
  • 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();
  • 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:
  • 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++)
  • 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();
  • 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(); }
  • 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(); }
  • UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN 27.-Diseñe un programa utilizando funciones que me permita generar n numeros naturales.  CODIFICADO #include<stdio.h> #include<conio.h> #include<stdlib.h> int i,a,b,c; void borde () { 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 nun ( ) { if(a>b && a>c) { gotoxy(16,14);printf("%d",a); } else
  • UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN { if(b<a && b>c) { gotoxy(16,15);printf("%d",b); } else { gotoxy(16,16);printf("%d",c); } if(c<a && c>b) { gotoxy(16,17);printf("%d",c); } else { gotoxy(16,18);printf("%d",b); } } } void main() { clrscr(); borde (); gotoxy(30,3);printf("ASCENDENTE"); do {
  • UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN gotoxy(37,5);printf(" "); gotoxy(12,5);printf("Ingrese el primer numero:");scanf("%d",&a); }while(a<3||a>65); do { gotoxy(37,7);printf(" "); gotoxy(12,7);printf("Ingrese el segundo numero:");scanf("%d",&b); }while(b<3||b>65); do { gotoxy(37,9);printf(" "); gotoxy(12,9);printf("Ingrese el tercer numero:");scanf("%d",&c); }while(c<3||c>65); nun ();  CORRIDO DEL PROGRAMA
  • UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN
  • UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN Programa 33 1.ENUNCIADO Diseñe un programa utilizando funciones que me permita ingresar 3 valores enteros desde teclado entre 4 y 64 y presentarlos en forma ordenada ascendentemente. 2.ANALISIS Para este programa se necesitan varias funciones de condición if para hacer la comparación y así poder imprimir los números en forma ascendente y para validar los números también otros if para que el número ingresado este el rango que se pedía en el programa 3.DOCUMENTACION #include<stdio.h> #include<conio.h> int i,a,b,c,op; LIBRERIAS Declaración de variables Inicio de la función borde void borde() { for(i=1;i<=80;i++) inicio del for { gotoxy(i,1);printf("±"); gotoxy(i,24);printf("±"); } for(i=1;i<=24;i++) { Impresión del margen gotoxy(1,i);printf("±"); gotoxy(80,i);printf("±"); } } void numero() Inicio de la función void main { do Inicio del do { gotoxy(24,4);printf(" "); Ingreso el primer numero gotoxy(15,4);printf("Numero 1; ");scanf("%d",&a); } Si ese numero cumple con la condición while(a>64 || a<4); empleada pide el siguiente numero do { gotoxy(24,5);printf(" Inicio del do "); Ingreso el segundo numero
  • UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN gotoxy(15,5);printf("Numero 2: ");scanf("%d",&b); } Si ese numero cumple con la condición while(b>64 || b<4); empleada pide el siguiente numero do Inicio del do { gotoxy(24,6);printf(" "); gotoxy(15,6);printf("Numero 3: ");scanf("%d",&c); Ingreso el tercer numero }while(c>64 || c<4); } void orden() Inicio de la función void orden { if(a<=b && a<=c) { if(b<=c) { gotoxy(15,8);printf("%d %d %d",a,b,c); } if(c<=b) { gotoxy(15,8);printf("%d %d %d",a,b,c); } } Proceso para presentar if(b<=a && b<=c) los números ingresados { en forma ordenada if(a<=c) ascendentemente. { gotoxy(15,8);printf("%d %d %d",b,a,c); } if(c<=a) { gotoxy(15,8);printf("%d %d %d",b,c,a); } } if(c<=a && c<=b) { if(a<=b) { gotoxy(15,8);printf("%d %d %d",c,a,b); } if(b<=a) {
  • UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN gotoxy(15,8);printf("%d %d %d",c,b,a); } } gotoxy(15,7);printf("El orden es:"); } void main() { do { clrscr(); borde(); Inicio de la función principal Borrar pantalla Llamar al borde Llamar a la función numero Llamar a la función orden numero(); orden(); ordennumero gotoxy(15,22);printf("Desea salir 1/0: ");scanf("%d",&op); } while(op==1); Si la opción ingresada por el usuario es igual a 1 el proceso se repetirá getch(); } Fin del programa 4. CORRIDO DEL PROGRAMA
  • UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN Programa 34 1. ENUNCIADO Diseñe un programa utilizando funciones que me permita generar y visualizar los números perfectos. 2. ANALISIS    En este programa utilizamos la librería math porque utilizamos la función pow Utilizamos un do –while para que el usuario ingrese otro limite o quiera salir del programa Aquí también empleamos la utilización de las funciones 3.DOCUMENTACION #include<stdio.h> LIBRERIAS #include<conio.h> #include<math.h> int i,r,dos=2,ex=1,ex2=2,s,v,l1,expo2=2,expo3=3,a,b,c,f=9,i,op; void borde() Inicio de la función borde { for(i=1;i<=80;i++) { gotoxy(i,1);printf("*"); gotoxy(i,24);printf("*"); } Impresión del margen for(i=1;i<=24;i++) { gotoxy(1,i);printf("*"); gotoxy(80,i);printf("*"); } } Inicio de la función void void perfecto(int l) perfecto { r=pow(dos,ex); Operaciones para sacar los s=pow(dos,ex2); números perfectos v=r*(s-1); gotoxy(7,8);printf("%d",v); for(i=1;i<=l-1;i++) { Declaración de variables
  • UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN a=pow(dos,expo2); b=pow(dos,expo3); expo2=expo2+2; Operaciones para sacar los números perfectos expo3=expo3+2; c=a*(b-1); gotoxy(7,f);printf("%d",c); f=f+1; } }//cierre del void Impresión de los números perfectos Inicio de la función principal void main() { do { f=9,dos=2,ex=1,ex2=2,expo2=2,expo3=3,f=9; clrscr(); Declaración de variables Borrar pantalla Llamar al borde borde(); gotoxy(30,4);printf("SERIE DE NUMEROS PERFECTOS"); gotoxy(5,6);printf("Ingrese un limite: ");scanf("%d",&l1); Impresión del titulo Ingreso del limite Llamo a la función perfecto perfecto(l1); gotoxy(50,22);printf(" "); gotoxy(4,22);printf("PRESIONE 1 PARA VOLVER AL MENU O 0 PARA SALIR: ");scanf("%d",&op); } while(op==1); Si la opción ingresada por el usuario es igual a 1 el proceso se repetirá getch(); } Fin del programa
  • UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN 4. CORRIDO DEL PROGRAMA Programa 35 ENUNCIADO Diseñe un programa utilizando funciones que me permita resolver un sistema de ecuación de 2° grado. Análisis. Partiremos escribiendo la fórmula para tener base de que nomás se va a utilizar. La fórmula genera dos respuestas: Una con el signo más (+) y otra con el signo menos (−) antes de la raíz. Solucionar una ecuación de segundo grado se limita, entonces, a identificar las letras a, b y c y sustituir sus valores en la fórmula. La fórmula general para resolver una ecuación de segundo grado sirve para resolver cualquier ecuación de segundo grado, sea completa o incompleta, y obtener buenos resultados tiene que ver con las técnicas de factorización. Codificación. #include <stdio.h> #include <stdlib.h> #include <conio.h> Activation de Liberia
  • UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN #include <math.h> int i,j,op; // declaración de variables globales void borde() { textcolor(BLUE); for(i=1;i<=80;i++) { gotoxy(i,1);cprintf("*"); gotoxy(i,24);cprintf("*"); función del borde } for(i=1;i<=24;i++) { gotoxy(1,i);cprintf("*"); gotoxy(80,i);cprintf("*"); // impression de * } // fin del ciclo for } // fin de la function borde void seg () // function para la ecuacion { // inicio de la function float a, b, c; float x1, x2; float x1real, x2real; /* complejas float x1imag, x2imag; /* Partes imaginarias soluciones complejas */ float discriminante; /* Presentacion */ system ("cls"); /* Borrado de la pantalla */ borde(); */
  • UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN gotoxy(10,3);printf("RESOLUCION DE LA ECUACION DE SEGUNDO GRADOn"); gotoxy(2,4);printf("==================================================== ==========n"); gotoxy(10,5);printf("El programa soluciona la ecuación de segundo gradon"); gotoxy(10,6);printf(" 2 n"); gotoxy(10,7);printf("ax + bx + c = 0 n"); /* Petición de datos */ printf("Introduzca los coeficientes:n"); printf(" Coeficiente a: "); scanf("%f", &a); printf(" Coeficiente b: "); scanf("%f", &b); printf(" Coeficiente c: "); scanf("%f", &c); discriminante = b*b - 4*a*c; /* Cálculos y resultados */ // calculo de discriminate printf("n La ecuacionn"); printf(" %14dn", 2); printf(" %12gx + %gx + %g = 0n", a, b, c); // impresiones printf(" tiene por soluciones "); if (discriminante == 0) { // sentencia si dis es = a 0 // inicio de if printf(" una raiz real doblen"); // impresión x1 = x2 = -b / (2*a); // calculo printf(" x1 = %.2fn", x1); printf(" x2 = %.2fn", x2); } else if (discriminante > 0) // impresión en pantalla // fin de if //si dis es mayor a cero
  • UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN { // cálculos printf(" dos raices realesn"); x1 = (-b + sqrt(discriminante)) / (2*a); x2 = (-b - sqrt(discriminante)) / (2*a); // impresiones printf("x1 = %.2fn", x1); printf("x2 = %.2fn", x2); } Else { // caso contrario //impresión en pantalla printf("dos raíces complejas conjugadasn"); //cálculos x1real = x2real = -b / (2*a); x1imag = sqrt(-discriminante) / (2*a); x2imag = -sqrt(-discriminante) / (2*a); // impresiones printf("x1 = ( %.2f, %.2fi)n", x1real, x1imag); printf("x2 = ( %.2f, %.2fi)n", x2real, x2imag); } } void main () { //fin del ese // fin de la función // inicio del programa // llave de inicio Do //ciclo do { // llave de inicio de do borde (); // funcion borde seg (); // funcion seg
  • UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN gotoxy(22,22);printf("desea continuar: ");scanf("%d",&op); // impresión en pantalla y lectura } while(op==1); getch(); //pausa } // fin del programa. Corrido
  • UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN ENUNCIADO Diseñe un programa en C, utilizando funciones que permita: 1.- Obtener la edad de una persona en años, meses y días 2.-Descomponer un número de 4 cifras en todos sus componentes Análisis: Para calcular el número de años, meses y días que tiene una persona debemos tener en cuenta que debemos restar del número del año actual el año de nacimiento, y de la misma forma los meses y los días, si uno no nos alcanza para poder restar, debemos pedir prestado una unidad, bien sea al mes o al años, dependiendo el orden. Entonces primero ingresamos por teclado la fecha de nacimiento y la fecha actual, y procedemos a realizar los procesos mencionados anteriormente. Ahora bien, para descomponer un número de 4 cifras, debemos primero dividir dicho número ingresado para 1000 y multiplicarlo por 1000, (um=(num/1000)*1000), realizamos la división con / para tomar solo el número entero y al multiplicarlo por 1000 podremos encontrar la unidad de millar del número ingresado, y restar del número ingresado la unidad de millar, (num=num-um), de igual forma será para encontrar la centena, (c=(num/100)*100), (num=num-c), la decena ,(d=(num/10)*10), (num=num-d), y la unidad es lo que nos sobra. Y al final solo visualizamos los resultados. Documentación: #include<conio.h> #include<stdio.h> #include<stdlib.h> int op, d, m, a, dn, mn, an, a1, dd, mm, aa, mmm, ddd, num, um, c, dec; 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++) { gotoxy(1,i);printf("*"); gotoxy(80,i);printf("*"); } } void edad() Comentario [SC1]: Librerías principales. Comentario [SC2]: Declaración de variables. Comentario [SC3]: Subprograma
  • UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN { do { gotoxy(11,6);printf(" "); gotoxy(11,6);scanf("%d",&dn); } while(dn<1 || dn>30); gotoxy(13,6);printf("/"); do { gotoxy(14,6);printf(" "); gotoxy(14,6);scanf("%d",&mn); } while(mn<1 || mn>12); gotoxy(16,6);printf("/"); gotoxy(17,6);scanf("%d",&an); gotoxy(5,8);printf("Ingrese la fecha actual dd/mm/aa>> "); do { gotoxy(11,9);printf(" "); gotoxy(11,9);scanf("%d",&d); } while(d<1 || d>30); gotoxy(13,9);printf("/"); do { gotoxy(14,9);printf(" "); gotoxy(14,9);scanf("%d",&m); } while(m<1 || m>12); gotoxy(16,9);printf("/"); gotoxy(17,9);scanf("%d",&a); dd=d-dn+30; if(dd>30) { dd=dd-30; mm=m-mn+12; } else { mm=m-mn-1+12; Comentario [SC4]: Inicio del subprograma para calcular la edad. Comentario [SC5]: Inicio del lazo dowhile para validar el día de nacimiento. Comentario [SC6]: Ingreso del día de nacimiento. Comentario [SC7]: Cierre del lazo dowhile para validar el día de nacimiento. Comentario [SC8]: Inicio del lazo dowhile para validar el mes de nacimiento. Comentario [SC9]: Ingreso del mes de nacimiento. Comentario [SC10]: Inicio del lazo dowhile para validar el mes de nacimiento. Comentario [SC11]: Ingreso del año de nacimiento. Comentario [SC12]: Inicio del lazo dowhile para validar el día actual. Comentario [SC13]: Ingreso del día actual. Comentario [SC14]: Cierre del lazo dowhile para validar el día actual. Comentario [SC15]: Inicio del lazo dowhile para validar el mes actual. Comentario [SC16]: Ingreso del mes actual. Comentario [SC17]: Cierre del lazo dowhile para validar el mes actual. Comentario [SC18]: Ingreso del año actual.
  • UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN if(mm>12) { mm=mm-12; aa=a-an; } else { aa=a-an-1; }} gotoxy(5,13);printf("Usted tiene %d dias",dd); gotoxy(5,14);printf("Usted tiene %d meses",mm); gotoxy(5,15);printf("Usted tiene %d anos",aa); } void desc() { do { gotoxy(25,5);printf(" "); gotoxy(5,5);printf("Ingrese un numero>> ");scanf("%d",&num); } while(num<1000 || num>9999); um=(num/1000)*1000; gotoxy(5,7);printf("Unidad de millar>> %d",um); num=num-um; c=(num/100)*100; gotoxy(5,9);printf("Centena>> %d",c); num=num-c; dec=(num/10)*10; gotoxy(5,11);printf("Decena>> %d",dec); num=num-dec; gotoxy(5,13);printf("Unidad>> %d",num); } void main() { do { clrscr(); borde(); gotoxy(32,3);printf("<<MENU DE OPCIONES>>"); gotoxy(5,5);printf("1.- Calcule su edad>>"); gotoxy(5,7);printf("2.- Descomponer un numero de 4 cifras>>"); Comentario [SC19]: Condiciones y procesos para calcular el número de años, días y meses. Comentario [SC20]: Impresión Comentario [SC21]: Fin del subprograma para calcular la edad. Comentario [SC22]: Inicio del subprograma para descomponer un número de 4 cifras. Comentario [SC23]: Inicio del lazo dowhile para validar que el número ingresado sea de 4 cifras. Comentario [SC24]: Ingreso de un número. Comentario [SC25]: Cierre del lazo dowhile para validar que el número ingresado sea de 4 cifras. Comentario [SC26]: Proceso para descomponer y encontrar su Unidad de Millar. Comentario [SC27]: Impresión de la Unidad de Millar. Comentario [SC28]: Proceso para descomponer y encontrar su Centena. Comentario [SC29]: Impresión de la Centena. Comentario [SC30]: Proceso para descomponer y encontrar su Decena. Comentario [SC31]: Impresión de la Decena. Comentario [SC32]: Proceso para descomponer y encontrar su Unidad. Comentario [SC33]: Impresión Comentario [SC34]: Fin del subprograma para descomponer un número de 4 cifras. Comentario [SC35]: Inicio del programa principal. Comentario [SC36]: Inicio del lazo dowhile para repetir n veces el programa. Comentario [SC37]: Limpieza de pantalla.
  • UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN gotoxy(5,9);printf("3.- Salir>>"); do { gotoxy(25,11);printf(" "); gotoxy(5,11);printf("Que desea realizar>> ");scanf("%d",&op); } while(op>3); switch(op) { case 1: clrscr(); borde(); gotoxy(33,3);printf("<<CALCULE SU EDAD>>"); gotoxy(5,5);printf("Ingrese su fecha de nacimiento dd/mm/aa>> "); edad(); break; case 2: clrscr(); borde(); gotoxy(33,3);printf("<<DESCOMPOSICION DE UN NUMERO>>"); desc(); break; case 3: exit(0); break; } gotoxy(3,22);printf("PRESIONE 1 PARA VOLVER A REPETIR EL PROCESO O 0 PARA FINALIZAR>> ");scanf("%d",&op); } while(op==1); getch(); } Comentario [SC38]: Diseño del menú de opciones. Comentario [SC39]: Ingreso de la opción. Comentario [SC40]: Selección del grupo de sentencias a ejecutarse. Comentario [SC41]: Sentencia 1 para calcular la edad de una persona. Comentario [SC42]: Sentencia 2 para la descomposición de un número. Comentario [SC43]: Sentencia 3 para salir. Comentario [SC44]: Condición para repetir o finalizar el programa. Comentario [SC45]: Cierre del lazo dowhile para repetir n veces el programa. Comentario [SC46]: Fin del programa.
  • UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN Corrido:
  • UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN ENUNCIADO Diseñe un menú de opciones utilizando funciones que me permita diseñar 4 estilos de bordes diferentes. Análisis: Creo un menú con opciones para crear los distintos estilos de borde. La primera opción será de un borde simple, la segunda de un borde doble, la tercera de un borde con encabezado, y la cuarta un borde al gusto del programador. Para realizar los distintos estilos de borde utilizamos los códigos ASCII. Documentación: #include<conio.h> #include<stdio.h> #include<stdlib.h> int op; 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++) { gotoxy(1,i);printf("*"); gotoxy(80,i);printf("*"); } } void bsim() { int i; clrscr(); gotoxy(1,1);printf("Ú"); gotoxy(80,1);printf("¿"); for(i=2;i<=79;i++) { gotoxy(i,1);printf("Ä"); gotoxy(i,24);printf("Ä"); } Comentario [SC47]: Librerías principales. Comentario [SC48]: Declaración de variables globales. Comentario [SC49]: Subprograma del borde de nuestro programa.
  • UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN gotoxy(1,24);printf("À"); gotoxy(80,24);printf("Ù"); for(i=2;i<=23;i++) { gotoxy(1,i);printf("³"); gotoxy(80,i);printf("³"); } } void bdob() { int i; clrscr(); gotoxy(1,1);printf("É"); gotoxy(80,1);printf("»"); for(i=2;i<=79;i++) { gotoxy(i,1);printf("Í"); gotoxy(i,24);printf("Í"); } gotoxy(1,24);printf("È"); gotoxy(80,24);printf("¼"); for(i=2;i<=23;i++) { gotoxy(1,i);printf("º"); gotoxy(80,i);printf("º"); } } void ep() { int i; clrscr(); gotoxy(1,1);printf("É"); gotoxy(80,1);printf("»"); for(i=2;i<=79;i++) { gotoxy(i,3);printf("ù"); gotoxy(i,21);printf("ù"); gotoxy(i,1);printf("Í"); gotoxy(i,24);printf("Í"); } gotoxy(1,24);printf("È"); Comentario [SC50]: Subprograma para un borde simple. Comentario [SC51]: Subprograma para un borde doble.
  • UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN gotoxy(80,24);printf("¼"); for(i=2;i<=23;i++) { gotoxy(1,i);printf("º"); gotoxy(80,i);printf("º"); } } void lucho() { int i; clrscr(); gotoxy(1,1);printf("þ"); gotoxy(80,1);printf("þ"); for(i=2;i<=79;i++) { gotoxy(i,1);printf("þ"); gotoxy(i,24);printf("þ"); } gotoxy(1,24);printf("þ"); gotoxy(80,24);printf("þ"); for(i=2;i<=23;i++) { gotoxy(1,i);printf("þ"); gotoxy(80,i);printf("þ"); } } void main() { do { clrscr(); borde(); gotoxy(30,3);printf("<<ESTILOS DE BORDES_GATO>>"); gotoxy(5,5);printf("1.- Borde simple>>"); gotoxy(5,7);printf("2.- Borde doble>>"); gotoxy(5,9);printf("3.- Encabezado y pie de pagina>>"); gotoxy(5,11);printf("4.- Borde <<Lucho's>>"); gotoxy(5,13);printf("5.- Salir>>"); do { gotoxy(25,11);printf(" "); Comentario [SC52]: Subprograma para un borde con encabezado y pie de página. Comentario [SC53]: Subprograma para un borde a mi estilo. Comentario [SC54]: Inicio del programa principal. Comentario [SC55]: Inicio del lazo dowhile para repetir n veces el programa. Comentario [SC56]: Limpieza de pantalla. Comentario [SC57]: Subprograma del borde de nuestro programa. Comentario [SC58]: Menú de opciones.
  • UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN gotoxy(5,15);printf("Que desea realizar>> ");scanf("%d",&op); } while(op>5); switch(op) { case 1: clrscr(); bsim(); gotoxy(30,10);printf("<<BORDE SIMPLE>>"); break; case 2: clrscr(); bdob(); gotoxy(30,10);printf("<<BORDE DOBLE>>"); break; case 3: clrscr(); ep(); gotoxy(30,10);printf("<<ENCABEZADO Y PIE>>"); break; case 4: clrscr(); lucho(); gotoxy(30,10);printf("<<LUCHO'S>>"); break; case 5: exit(0); break; } gotoxy(3,22);printf("PRESIONE 1 PARA VOLVER A REPETIR EL PROCESO O 0 PARA FINALIZAR>> ");scanf("%d",&op); } while(op==1); getch(); } Comentario [SC59]: Condición para ingresar la opción que deseo realizar en un rango de 1 a 5. Comentario [SC60]: Lee nuestra opción que deseamos realizar. Comentario [SC61]: Case 1 para crear un borde simple. Comentario [SC62]: Case 2 para crear un borde doble. Comentario [SC63]: Case 3 para crear un borde con encabezado y pie de página. Comentario [SC64]: Case 4 para crear un borde a mi propio estilo. Comentario [SC65]: Case 5 para salir del programa. Comentario [SC66]: Cierre de switch. Comentario [SC67]: Condición para repetir o finalizar el programa. Comentario [SC68]: Cierre del lazo dowhile para repetir n veces el programa. Comentario [SC69]: Pausa del programa. Comentario [SC70]: Fin.
  • UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN Corrido:
  • UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN Programa 38 Diseñe un programa utilizando vectores y funciones que me permita ingresar datos a un vector y presentarlos en otro vector ANÁLISIS Primero ingresamos las librerías que vamos a utilizar en este programa en este caso son las dos principales la STDIO.H Y LA CONIO.H, después como es un programa con funciones declaramos la variable que vamos a utilizar globalmente. Después ingresamos una función con el nombre de borde para que nuestro programa se visualice con un borde. Luego realizamos el programa principal con un VOID MAIN () para que se abra el programa principal seguido con la llave { y declaramos las demás variables a realizar en el programa (int vector1[10],fila,op,lim;), después ponemos un do-while para que se repita el programa n veces y llamamos las funciones realizadas y realizamos el ingreso del límite para que podaos ingresar datos a una función y que luego se visualice. CODIGO #include<stdio.h> Librerías que vamos a utilizar en el programa #include<conio.h> int i; Declaramos la variable global void borde() { for(i=1;i<=80;i++) { gotoxy(i,1); printf("*"); gotoxy(i,24); printf("*"); } for(i=1;i<=24;i++) { Realizamos la función para que se pueda realizar un borde en nuestro programa
  • 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() Realizamos el programa principal y declaramos la variables que vamos a utilizar en el programa principal { int vector1[10],fila,op,lim; do { clrscr(); Aquí damos un limite al vector para poder dar datos numéricos a un limita vector borde(); gotoxy(25,3); printf("**VISUALIZAR DATOS VECTOR**"); gotoxy(10,5); printf("INGRESE EL LIMITE==>"); scanf("%d",&lim); Ingresamos el limite fila=6; for(i=1;i<=lim;i++) { do { gotoxy(20,fila); printf(" "); gotoxy(20,fila); scanf("%d",&vector1[i]); Ingresamos los números para que se llene el vector previamente dado un limite } while(vector1[i]<3 || vector1[i]>23); Damos o validamos los datos que estén entre 3 y 23
  • UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN fila=fila+1; } fila=6; for(i=1;i<=lim;i++) Aquí se visualiza el vector que ingresamos en otra posición { gotoxy(40,fila); printf("%d",vector1[i]); fila=fila+1; } gotoxy(10,20); printf("PRESIONE 1 PARA REPETIR EL PROGRAMA CASO CONTRARIO 0==>"); Ingresamos otra opción para ver si se repite el programa n veces scanf("%d",&op); } while(op); Visualiza la opción y da por terminado el programa getch(); } DOCUMENTACIÓN
  • UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN CORRIDO
  • UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN Enunciado Diseñe un programa utilizando vectores y funciones que me permita validar los datos de entrada de un vector y presentarlos en un vector resultante Análisis Ingresar el vector de entrada Visualizar en un nuevo vector los vectores de entrada Código #include<stdio.h> #include<conio.h> Liberia principal int vector1[100],fila=10, i,lim; void borde() Declaracion de variables globales Inicio de funcion { 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("*"); } } proceso para realizer el borde
  • UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN void entrada() Inicio de la función { gotoxy(23,8);printf("Ingreso:"); Mensaje en la pantalla gotoxy(20,6);printf("Ingrese el limite:");scanf("%d",&lim); Ingresar la variable for(i=1;i<=lim;i++) { Inicio de lazo for do { inicio de un lazo do para que genere n veces gotoxy(25,fila);printf(" "); recorrido de espacio gotoxy(25,fila);scanf("%d",&vector1[i]); leer la variable }while(vector1[i]<3||vector1[i]>23); cierre de validacion datos fila=fila+1; } Cierre de lazo for } Fin de la función void salida() { Inicio de la función fila=10; gotoxy(57,8);printf("Salida:"); for(i=1;i<=lim;i++) Mensaje en la pantalla Inicio de un lazo for de un limite dado hasta un limite dado { gotoxy(60,fila);printf("%d",vector1[i]); fila=fila+1; } Cierre de lazo for } cierre de la funcion Impremir el resultado
  • UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN main() Inicio de programa principal { clrscr(); Blanqueado de pantalla borde(); Llamada de la función de borde gotoxy(31,4);printf("PRESENTACION DE VECTORES"); Mensaje en la pantalla entrada(); salida(); Llamada de la funciones getch(); } pausa en la pantalla Fin de programa principal Corrido Enunciado Diseñe un programa utiliza do vectores y funciones que me permita sumar los datos ingresados y validados de un vector y presentar la sumatoria en un vector resultante. Análisis Ingresar los datos y validar de un vector Representar la sumatoria en un nuevo vector
  • UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN Código #include<stdio.h> Librería s principales #include<conio.h> int vector1[15],vector2[15],sumavector[15],fila=10,lim,i,col=20,op; globales void borde() { Inicio de la funcion for(i=1;i<=80;i++) { gotoxy(i,1);printf("*"); gotoxy(i,24);printf("*"); } for(i=1;i<=24;i++) proceso para realizer el borde { gotoxy(1,i);printf("*"); gotoxy(80,i);printf("*"); } } void ingreso(int limite1) Inicio de la funcion { for(i=1;i<=limite1;i++) Inicio de un lazo for { gotoxy(col,fila);scanf("%d",&vector1[i]); gotoxy(col+10,fila);scanf("%d",&vector2[i]); fila=fila+1; posiciones en la pantalla leer la variable declareacion devariables
  • UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN } Cierre de lazo for } Cierre la llave de funcion void suma(int limites) Inicio de a funcion { fila=10; Posicion en la pantalla gotoxy(50,8);printf("vector resultante"); for(i=1;i<=limites;i++) Mensaje en la pantalla Inicio de un lazo for { sumavector[i]=vector1[i]+vector2[i]; gotoxy(60,fila);printf("%d",sumavector[i]); fila=fila+1; formula para realizar la suma Imprimir el resultado posicion en la pantalla } Cierre de lazo for } Cierre de la funcion main() { Do inicio de lazo do para la validacion de datos { fila=10; clrscr(); Blanqueado de pantalla borde(); Llamada de la función gotoxy(31,4);printf("SUMA DE VECTORES"); gotoxy(15,8);printf("vector 1:"); Mensaje en la pantalla gotoxy(27,8);printf("vector 2:"); gotoxy(22,6);printf("Ingrese el limite:");scanf("%d",&lim); Leer la variable ingreso(lim); suma(lim); Llamada de la funciones
  • UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN getch(); Pausa en la pantalla gotoxy(10,22);printf("Desea realizar otra suma 1, salir 0>> ");scanf("%d",&op);Leer la variable }while(op==1); Cierre de lazo for de validación de datos } Fin de programa principal Corrido ENUNCIADO Diseñe un programa utilizando vectores y un menú de opciones que me permita realizar las 4 operaciones básicas, estas son: suma, resta, multiplicación y división. ANALISIS En este programa se realizan las operaciones básicas que son la suma, resta, multiplicación y división utilizando un menú de opciones y con vectores, en donde tenemos que ingresar valores en dos vectores diferentes en el vector1 y vector2 para que vayan realizando las operaciones correspondiente teniendo en cuenta las condiciones plantedas que se dieron en la resta y división en
  • UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN donde el valor del vector1 debe ser mayor al valor del vector2 si no se cumple la condición no se realiza las operaciones y se imprime un mensaje. CDIFICACION #include<stdio.h> #include<conio.h> Ingreso las librerías #include<stdlib.h> int multivec[15],opc,divisionvec[15], restavec[15],i,op,col,fila,vector1[15],vector2[15], Declaración de variables sumavec[15],limite1; void borde() Función borde { for(i=1;i<=80;i++) { gotoxy(i,1); printf("*"); gotoxy(i,24); printf("*"); Este proceso es para realizar el borde } for(i=1;i<=24;i++) { gotoxy(1,i); printf("*"); gotoxy(80,i); printf("*"); } } void ingreso(int limite1) Función para ingresar los valores de los vectores { Ingresamos la posición en la cual se va a visualizar los vectores
  • UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN col=12; fila=8; for(i=1;i<=limite1;i++) Utilizamos el for para poder ingresar los valores del vector1 y vector2 al final vamos sumando fila para q vayan colocándose en las posiciones correctas, cerramos la laves del for y la llaves de la función ingreso. { gotoxy(col,fila); scanf("%d",&vector1[i]); gotoxy(col+10, fila); scanf("%d",&vector2[i]); fila=fila+1; } } void suma(int limite1) Función para realizar la suma { Abrimos con una llave fila=8; Ingresamos el valor de la fila en la que va a empezar a visualizarse los datos del vector. for(i=1;i<=limite1;i++) { sumavec[i]=vector1[i]+vector2[i]; gotoxy(40,fila); printf("%d",sumavec[i]); fila=fila+1; } Utilizamos el for para poder ingresar los valores del vector1 y vector2, realizamos la operación en donde se suman los dos vectores e imprimimos el resultado, vamos sumando fila para las correctas posiciones cerramos el for y la función suma. } void resta(int limite1) Función para realizar la resta { Abrimos con una llave fila=8; Ingresamos el valor de la fila en la que va a empezar a visualizarse los datos del vector.
  • UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN for(i=1;i<=limite1;i++) { if(vector1[i]>=vector2[i]) { restavec[i]=vector1[i]-vector2[i]; gotoxy(40,fila); printf("%d",restavec[i]); } else { gotoxy(40,fila); printf("NO SE PUEDE CALCULAR"); } fila=fila+1; Utilizamos el for para poder ingresar los valores del vector1 y vector2, luego se utiliza un if para indicar que el vector1 debe ser mayor que el vector2 si la condición se cumple realizamos la operación en donde se resta los valores del vector que sea mayor e imprimimos el resultado, cerramos el if y si no se cumple la condición escribimos un mensaje y no se realiza la operación, cerramos la llaves y vamos sumando fila para las correctas posiciones cerramos el for y la función resta. } } void multi(int limite1) Función para realizar la multiplicación { Abrimos con una llave fila=8; Ingresamos el valor de la fila en la que va a empezar a visualizarse los datos del vector. for(i=1;i<=limite1;i++) { multivec[i]=vector1[i]*vector2[i]; gotoxy(40,fila); printf("%d",multivec[i]); fila=fila+1; } Utilizamos el for para poder ingresar los valores del vector1 y vector2, realizamos la operación en donde se mulitiplican los dos vectores e imprimimos el resultado, vamos sumando fila para las correctas posiciones cerramos el for y la función multi.
  • UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN } void division(limite1) Función para realizar la división. { Abrimos con una llave fila=8; Ingresamos el valor de la fila en la que va a empezar a visualizarse los datos del vector. for(i=1;i<=limite1;i++) { if(vector1[i]>=vector2[i]) { divisionvec[i]=vector1[i]/vector2[i]; gotoxy(40,fila); printf("%d",divisionvec[i]); } else { gotoxy(40,fila); printf("NO SE PUEDE CALCULAR"); } fila=fila+1; Utilizamos el for para poder ingresar los valores del vector1 y vector2, luego se utiliza un if para indicar que el vector1 debe ser mayoro igual que el vector2 si la condición se cumple realizamos la operación en donde se dividen los valores del vector que sea mayor e imprimimos el resultado, cerramos el if y si no se cumple la condición escribimos un mensaje y no se realiza la operación, cerramos la llaves y vamos sumando fila para las correctas posiciones cerramos el for y la función división. } } void main() Función principal del programa. { Abrimos con una llave do { Utilizamos el ciclo do while para que el proceso se repita tantas veces desee el usuario
  • UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN clrscr(); Limpia la pantalla. borde(); Llama a la función borde. gotoxy(15,3); printf("**OPERACIONES CON VECTORES Y FUNCIONES**"); gotoxy(10,5); printf("1.-SUMA"); gotoxy(10,7); printf("2.-RESTA"); gotoxy(10,9); printf("3.-MULTIPLICACION"); gotoxy(10,11); printf("4.-DIVISION"); gotoxy(10,13); printf("QUE OPCION DESEA==>"); scanf("%d",&op); switch(op) { case 1: Utilizamos la sentencia switch para el menú de opciones. do { clrscr(); borde(); gotoxy(30,3);printf("1.-SUMA"); gotoxy(11,7); printf("VECTOR 1"); gotoxy(21,7); printf("VECTOR 2"); gotoxy(40,7); printf("SUMA VECTOR"); gotoxy(10,5); printf("INGRESE LIMITE==>"); scanf("%d",&limite1); ingreso(limite1); suma(limite1); Diseño de pantalla.
  • UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN gotoxy(10,23); printf("SI DESEA REPETIR EL PROCESO PRESIONE 1 CASO CONTRARIO 0==>"); scanf("%d",&opc); } while(opc==1); break; case 2: do { clrscr(); borde(); gotoxy(30,3); printf("2.-RESTA"); gotoxy(11,7); printf("VECTOR 1"); gotoxy(21,7); printf("VECTOR 2"); gotoxy(40,7); printf("RESTA VECTOR"); gotoxy(10,5); printf("INGRESE LIMITE==>"); scanf("%d",&limite1); ingreso(limite1); resta(limite1); gotoxy(10,23); printf("SI DESEA REPETIR EL PROCESO PRESIONE 1 CASO CONTRARIO 0==>"); scanf("%d",&opc); } Diseño de la segunda opción del menú de opciones llamamos a las funcione y utilizamos el ciclo do while pa repetir el proceso la veces que desee el usuario, lo cerramos con un break.
  • UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN while(opc==1); break; case 3: do { clrscr(); borde(); gotoxy(30,3); printf("3.-MULTIPLICACION"); gotoxy(11,7); printf("VECTOR 1"); Diseño de la tercera opción del menú de opciones llamamos a las funcione y utilizamos el ciclo do while pa repetir el proceso la veces que desee el usuario, lo cerramos con un break. gotoxy(21,7); printf("VECTOR 2"); gotoxy(40,7); printf("MULTIPLICACION VECTOR"); gotoxy(10,5); printf("INGRESE LIMITE==>"); scanf("%d",&limite1); ingreso(limite1); multi(limite1); gotoxy(10,23); printf("SI DESEA REPETIR EL PROCESO PRESIONE 1 CASO CONTRARIO 0==>"); scanf("%d",&opc); } while(opc==1); break; do { case 4: clrscr(); borde();
  • UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN gotoxy(30,3); printf("4.-DIVISION"); gotoxy(11,7); printf("VECTOR 1"); gotoxy(21,7); printf("VECTOR 2"); gotoxy(40,7); printf("DIVISION VECTOR"); gotoxy(10,5); printf("INGRESE LIMITE==>"); scanf("%d",&limite1); Diseño de la cuarta opción del menú de opciones llamamos a las funcione y utilizamos el ciclo do while pa repetir el proceso la veces que desee el usuario, lo cerramos con un break. ingreso(limite1); division(limite1); gotoxy(10,23); printf("SI DESEA REPETIR EL PROCESO PRESIONE 1 CASO CONTRARIO 0==>"); scanf("%d",&opc); } while(opc==1); break; Cerramos el switch limpiamos pantalla y volvemos a llamar a la función borde. } clrscr(); borde(); gotoxy(10,23); printf("SI DESEA VOLVER AL MENU PRESIONE 1 CASO CONTRARIO O==>"); scanf("%d",&op); } Cerramos el ciclo do while escribiendo un mensaje while(op==1); getch(); Pausa. } Cerramos la función main.
  • UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN CORRIDO
  • UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN
  • UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN Programa 42 Diseñe un programa utilizando funciones que me permita ingresar n números en un vector entre 6 y 26, recorra el vector y encuentre todas las posiciones pares y asígnelas a un nuevo vector, recorra el vector original y encuentre todas las posiciones impares del vector y asígnelos a un nuevo vector, visualice el vector de entrada y los vectores resultantes. ANALISIS: Nos pedirá ingresar un límite de datos y al frente nos debe imprimir en un vector los datos de las posiciones pares y en otro vector nos imprimirá los datos de las posiciones impares. Como así también nos genera un borde como diseño del programa, y como final tenemos ingresar uno para continuar utilizando nuestro programa o 0 para salir del mismo. CODIFICADO: #include<conio.h> #include<stdio.h> Activación de librería esto habilita procesos para el programa #include<stdlib.h> int i, j=1, f, vect[10], vectpar[10], vectimp[10], op, l; Declaración de variables que se utilizaran en el programa void bdob() { int i; Función borde clrscr(); gotoxy(1,1);printf("*"); gotoxy(80,1);printf("*"); for(i=2;i<=79;i++) { gotoxy(i,1);printf("*"); gotoxy(i,24);printf("*"); } gotoxy(1,24);printf("*"); gotoxy(80,24);printf("*"); Generación del borde utilizando posiciones e imprimiendo el borde que va a ir en pantalla
  • UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN for(i=2;i<=23;i++) { gotoxy(1,i);printf("*"); gotoxy(80,i);printf("*"); } } void par() { j=1; for(i=1;i<=l;i++) { if(i%2==0) { vectpar[j]=vect[i]; j=j+1; } Proceso de comparación si la posición es par y se almacenara en un nuevo vector y se imprimirá en pantalla utilizaremos el gotoxy para posiciones en pantalla } f=10; for(i=1;i<j;i++) { gotoxy(39,f);printf("%d",vectpar[i]); f=f+1; } } void impar() Función para ver si la posición es impar
  • UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN { j=1; for(i=1;i<=l;i++) Comparación si la función es impar { if(i%2==1) { vectimp[j]=vect[i]; Almacenamiento en un nuevo vector j=j+1; } } f=10; for(i=1;i<j;i++) { gotoxy(60,f);printf("%d",vectimp[i]); f=f+1; Impresión de datos de las posiciones impares } } void main() Programa principal { do { Do while este nos ayuda a utilizar el programa cuantas veces deseemos flushall(); f=10; Limpia pantalla clrscr(); bdob(); Llama a la función del borde gotoxy(36,3);printf("VECTORES"); Pide ingresar un limite de generación de datos
  • UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN gotoxy(5,5);printf("Ingrese el limite>> ");scanf("%d",&l); gotoxy(15,8);printf("VECTOR 1"); gotoxy(29,8);printf("POSICIONES IMPAR"); gotoxy(51,8);printf("POSICIONES PAR"); for(i=1;i<=l;i++) { gotoxy(3,f);printf("INGRESO %d::",i); Ingreso de datos del vector do { gotoxy(20,f);printf(" "); gotoxy(20,f);scanf("%d",&vect[i]); } Validación de los datos, estos deben ser mayor que seis y menor que veinte y seis while(vect[i]<6 || vect[i]>26); f=f+1; } Llama a la función par par(); Llama a la función impar impar(); gotoxy(3,22);printf("PRESIONE ");scanf("%d",&op); 1 PARA CONTINUAR O } while(op==1); Cierre del do while getch(); } Cierre o fin del programa 0CASO CONTRARIO::>
  • UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN CORRIDO: Programa 43 Diseñe un programa utilizando funciones y vectores que me permita generar un vector de posiciones pares con la serie del fibonasi y las posiciones impares con el factorial. ANALISIS: Nos pedirá ingresar un limite de datos con ello nos generara internamente el fibonaci y factoreal y nos imprimirá las posiciones impares con el fibonaci y las posiciones pares con el factoreal. CODIFICADO: #include<conio.h> #include<stdio.h> LIBRERIAS QUE HABILITAN PROCESOS PARA LA ELABORACION DEL PROGRAMA.
  • UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN int i,n,op,a,b,c,vect[25],fi; float f; void borde() { ELABORACION DE UN BORDE PARA DISEÑO DE PANTALLA UTILIZANDO POSICIONES. for(i=1;i<=79;i++) { gotoxy(80,1);printf("*"); gotoxy(1,1);printf("*"); gotoxy(i,1);printf("*"); gotoxy(i,24);printf("*"); } for(i=2;i<=23;i++) { gotoxy(1,24);printf("*"); gotoxy(80,24);printf("*"); gotoxy(1,i);printf("*"); gotoxy(80,i);printf("*"); } } void serie(int m) FUNCION SERIE DONDE GENERARA EL FIBONACI Y EL FACTOREAL { a=1; IGUALACION DE VARIABLE. DESDE QUE NUMERO DESEAMOS QUE EMPIESE b=0; f=1; gotoxy(9,6);printf("FIBONACI for(i=1;i<=m;i++) FACTOREAL"); IMPRIMIRA LOS MENSAJES QUE DESEEMOS
  • UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN { f=f*i; REALIZARA OPERACIONES PARA CALCULAR FIBONACI Y FACTOREAL c=a+b; a=b; b=c; gotoxy(15,8+i);printf("%d",c); gotoxy(25,8+i);printf("%0.0f",f); if(i%2==0) IMPRIMIRA LOS RESULTADOS DE FIBONACI Y FACTOREAL COMPRUEBA SI LA POSICION ES PAR O IMPAR { vect[i]=c; } else { vect[i]=f; } } fi=9; gotoxy(40,6);printf("POSICION"); for(i=1;i<=m;i++) { gotoxy(45,fi);printf("%d",vect[i]); fi=fi+1; } } void main() { PROGRAMA PRINCIPAL
  • UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN do { clrscr(); borde(); CICLO DO WHILE ESTE AYUDARA A REGRESAR AL PROGRAMA CUANTAS VECES DE DESEE LLAMAMOS A LA FUNCION DEL BORDE gotoxy(30,2);printf("... SERIE CON VECTORES ..."); gotoxy(10,4);printf("LIMITE::> ");scanf("%d",&n); INGRESAREMOS UN LMITE serie(n); gotoxy(15,22);printf("DESEA CONTINUAR DIJITE 1 CASO CONTRARIO 0 ==> ");scanf("%d",&op); }while(op==1); getch(); CIERRE O FIN DEL PROGRAMA } CORIIDO: Programa 44 1.- Enunciado: Diseñe un programa utilizando funciones y vectores que me permita ingresa n elementos en un vector entre 3 y 33, recorre el vector y encontrar todos los datos pares y asignarlos a un nuevo vector, encontrar todos los datos impares
  • UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN y asignarlos a un nuevo vector, visualice tanto el vector de entrada como los vectores resultantes. 2.-Codicifcado: #include<conio.h> Librerías principales #include<stdio.h> int i, f, vect[100], vectbusq[100], lim, op; Variables Globales void bdob() { int i; clrscr(); textcolor(i);gotoxy(1,1);cprintf("É"); gotoxy(80,1);cprintf("»"); for(i=2;i<=79;i++) { textcolor(i); gotoxy(i,1);cprintf("Í"); gotoxy(i,24);cprintf("Í"); } gotoxy(1,24);cprintf("È");gotoxy(80,24);cprintf("¼"); for(i=2;i<=23;i++) { textcolor(i); gotoxy(1,i);cprintf("º");gotoxy(80,i);cprintf("º"); } Nuestro Borde acompañado de una Función.
  • UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN } void busq(int l) { f=9; Función donde realizaremos el proceso del ejercicio Abrimos llave para nuestra Función. Igualación de variables for(i=1;i<=l;i++) Este for nos indica el límite y abrimos la llave del primer for. { if(vect[i]%2==0) Dentro del for realizamos un if donde nos indica si la división es igual a cero es para el número par, e imprimimos en un nuevo vector el resultado en caso que sea número par. { gotoxy(34,f);printf("%d",vect[i]); f=f+1; } } f=9; Cerramos la llave del primer for Igualación de la variable for(i=1;i<=l;i++) { Este es un segundo for nos indica el límite y abrimos llave para inicializar el for. if(vect[i]%2==1) { gotoxy(55,f);printf("%d",vect[i]); Dentro del segundo for realizamos un if donde nos indica si el residuo de la división es 1 su respuesta es impar, abrimos llaves e imprimimos el resultado impar en un nuevo vector, y cerramos las llaves del for como del if y de la función.
  • UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN f=f+1; } } } void main() Comenzaremos con el programa principal. { do { Abrimos la sentencia. Do. clrscr(); Limpiar pantalla. bdob(); Llamamos a la función borde. gotoxy(21,3);printf("<<BUSQUEDA IMPARES_VECTORES>>"); DE # gotoxy(5,5);printf("Ingrese el limite>> ");scanf("%d",&lim); gotoxy(13,7);printf("<<VECTOR>>"); gotoxy(26,7);printf("<<NUMEROS PARES>>"); gotoxy(47,7);printf("<<NUMEROS IMPARES>>"); Impresión de mensajes f=9; Posición de fila PARES E
  • UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN for(i=1;i<=lim;i++) Este for nos indica el límite e abrimos llave. { do { gotoxy(18,f);printf(" "); gotoxy(18,f);scanf("%d",&vect[i]); } Este es un Do While interno nos indica que imprimiremos la respuesta e ingresamos el vector, el While nos indica si él un vector es menor que 3 o mayor que 33. Declaramos la posición de fila. while(vect[i]<3 || vect[i]>33); Cerramos llave f=f+1; } busq(lim); Llamamos a la función gotoxy(3,22);printf("Presione 1 para volver a ingresar vectores o 0 para finalizar>> ");scanf("%d",&op); Imprimimos el mensaje } while(op==1); getch(); Aquí cerramos la llave del ciclo do while damos pause a nuestro programa y cerramos llave. } 3.- Análisis del programa:   Primero ingresamos las librerías las cuales son muy importantes. Luego realizamos un for donde nos permite hacer el borde de nuestro programa.
  • UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN   Realizamos una función en la cual hacemos el proceso de los números pares e impares con vectores. Para finalizar abrimos la función principal donde llamamos a las demás funciones para que se realice el proceso y asi finalizamos nuestro programa, y obtenemos lo que deseamos. 4.-Corrido del Programa: Programa 45 Diseñe un programa en c utilizando vectores y funciones que me permita generar con cualquier factor impar ingresado desde teclado las posiciones pares del vector, y con um factor par las posiciones impares del vector. Librerías #include<stdio.h> #include<conio.h> int j,fila,vecfi[10],i,f1,f2,limite,facpar,facimp,op; Declaración de variables void borde() { for(i=1;i<=24;i++) { gotoxy(2,i);printf("-"); gotoxy(80,i);printf("-"); Función global para el borde, } e inicio del ciclo, da color for(i=1;i<=80;i++)
  • UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN { gotoxy(i,2);printf("-"); gotoxy(i,24);printf("-"); } } void factor() { fila=10; Inicio de la función factor int limitetab; y del ciclo for limitetab=0; for (j=1;j<=limite;j++) { if(j%2!=0) { limitetab=limitetab+1; vecfi[i]=facpar*limitetab; gotoxy(10,fila);printf("%d",vecfi[i]); fila=fila+1; Condición para calcular los } factores impares y pares else { vecfi[i]=facimp*limitetab; gotoxy(10,fila);printf("%d",vecfi[i]); fila=fila+1; } } } Inicio del programa void main() principal { do { clrscr(); Inicio de el ciclo do while borde(); llamamos al borde ye gotoxy(8,4);printf("Ingrese el limite: "); scanf("%d",&limite); ingresamos el limite do { gotoxy(5,6); printf(" "); Ingreso de los gotoxy(5,6);printf("par:");scanf("%d",&facpar); números pares } while(facpar%2==1); do { gotoxy(5,7); printf(" "); gotoxy(5,7);printf("impar: ");scanf("%d",&facimp); } Ingreso de los impares, while(facimp%2==0); repetición del proceso y fin factor(); del programa gotoxy(3,22); printf("nuevo proceso 1 salir 0: "); scanf("%d",&op);
  • UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN } while(op==1); getch(); } Programa 46 Diseñe un programa utlizando vectores y funciones que me permita ordenar un vector en forma ascendente y descendente. Ingresado entre 6 y 26. #include<stdio.h> #include<conio.h> #include<stdlib.h> int i,conta,residuo,j,op,fila=5,k,aux,limite,vec[10]; void borde() { for(i=1;i<=79;i++) { gotoxy(i,1);printf("-"); gotoxy(i,23);printf("-"); } for(i=1;i<=23;i++) { gotoxy(1,i);printf("-"); gotoxy(79,i);printf("-"); } } Librerías, declaración de variables he inicio de la función borde Proceso de borde
  • UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN void ingreso() { int fila=5; for(i=1;i<=limite;i++) { do { gotoxy(5,fila);printf(" "); gotoxy(5,fila);scanf("%d",&vec[i]); } while((vec[i]<6)||(vec[i]>26)); fila=fila+1; } } void ascendente () { int fila=5; for (i=1;i<=limite;i++) { for (j=1;j<=limite;j++) { if (vec[i]<vec[j]) { aux=vec[i]; vec[i]=vec[j]; vec[j]=aux; } } } for (i=1;i<=limite;i++) { gotoxy(40,fila);printf("%d",vec[i]); fila=fila+1; } } void descendente () { int fila=5; for (i=1;i<=limite;i++) { for (j=1;j<=limite;j++) { if (vec[i]>vec[j]) { aux=vec[i]; vec[i]=vec[j]; Inicio de la función para el ingreso con un rango entre 6 y 26 Inicio de función ascendente calculamos con dos for y una condición Y para la impresión un for mas para el vector Inicio de función descendente calculamos con dos for
  • UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN vec[j]=aux; } } } for (i=1;i<=limite;i++) { gotoxy(55,fila);printf("%d",vec[i]); fila=fila+1; } } void main() { do { clrscr(); Usamos una condición Y para la impresión un for mas para el vector borde(); gotoxy(3,2);printf("ingrese el limite....: ");scanf("%d",&limite); gotoxy(2,4);printf("INGRESO"); gotoxy(30,4);printf(" ASCENDENTE DESCENDENTE"); ingreso(); ascendente(); descendente(); gotoxy(3,22);printf("pulse 1 para volver y salir 0.....: ");scanf("%d",&op); } while (op==1); getch(); } Inicio del programa principal llamamos funciones he ingresamos el limite
  • UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN ENUNCIADO 47.-Diseñe un programa utilizando vectores y funciones que me permita generar un vector de n elementos con un factor ingresado desde teclado en las posiciones impares del vector y factorial en las posiciones pares del vector presente en el vector ordenado en forma ascendente y descendente CODIFICACION Ingreso las librerías Declaración de variables Función borde #include<stdio.h> #include<conio.h> int op,i,j,limite,au,aux,mu,factor,fa,fila,vecto[15]; void borde() {
  • UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN for(i=1;i<=80;i++) { gotoxy(i,1);printf("*"); Este proceso es para realizar el borde gotoxy(i,24);printf("*"); } for(i=1;i<=24;i++) { gotoxy(1,i);printf("*"); gotoxy(80,i);printf("*"); } } Función de la serie void facto() { fila=9; mu=0; Igualación de las variables au=1; factor=1; Que el for vaya hasta el límite for(i=1;i<=limite;i++) {
  • UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN if(i%2==1) { mu=mu+fa; vecto[i]=mu; En este proceso es para que podamos sacar los números impares donde el número ingresado lo dividimos para 2 sino caso contrario sacamos el factor y después vamos a imprimir el vector [i] donde después vamos a ir sumando la fila más 1 para la posición del vector } else { factor=factor*au; au=au+1; vecto[i]=factor; } gotoxy(7,fila);printf("%d",vecto[i]); fila=fila+1; } } Ingresamos una nueva función que se llama orden void orden() { for(i=1;i<=limite;i++) { for(j=1;j<=limite;j++) { if(vecto[i]<vecto[j])
  • UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN { Este proceso nos sirve para ordenar el vector en forma ascendente vamos a mandar dos for uno que es interno y otro que es externo donde el vector [i]sea menor que el vector[j] después vamos a mandar otro for que vaya hasta el límite y posteriormente vamos a imprimir el vector [i] Limpio de pantalla aux=vecto[i]; vecto[i]=vecto[j]; vecto[j]=aux; } } } fila=9; for(i=1;i<=limite;i++) { Llama a la función de borde gotoxy(20,fila);printf("%d",vecto[i]); Posición en donde que quiero que se me imprima printf } fila=fila+1; fila=9; for(i=1;i<=limite;i++) { for(j=1;j<=limite;j++) Este proceso nos sirve para ordenar el vector en forma ascendente vamos a mandar dos for uno que es interno y otro que es externo donde el vector [i]sea mayor que el vector[j] { if(vecto[i]>vecto[j]) { aux=vecto[i]; vecto[i]=vecto[j]; vecto[j]=aux; } } }
  • UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN fila=9; Después vamos a mandar otro for que vaya hasta el límite y después vamos a imprimir el vector [i] for(i=1;i<=limite;i++) { gotoxy(35,fila);printf("%d",vecto[i]); fila=fila+1; } } Abro el programa void main() { Abro el do do { Limpio de pantalla clrscr(); Llama a la función de borde borde(); Posición en donde que quiero que se me imprima printf gotoxy(25,3);printf("FacPares/Impares"); Pide el límite que quieres imprimir gotoxy(12,5);printf("Ingrese el limite: ");scanf("%d",&limite); Pide el factor que quieres imprimir gotoxy(10,7);printf("Factor: ");scanf("%d",&fa); Llamo a la función facto facto();
  • UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN Llamo a la función orden Se me imprime mensaje para continuar o terminar el programa Cierro la función de do-while orden(); gotoxy(5,20);printf("Presione 1 para repetir el proceso o 0 para salir: ");scanf("%d",&op); } while(op==1); Cierro el programa getch(); } CORRIDO
  • UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN ANALISIS En este programa presentado, vamos a trabajar con funciones y vectores donde tenemos que la posiciones impares se me ubique el número ingresado y el factorial tiene que ubicarse en las posiciones pares del vector donde después vamos a ordenar el vector en orden ascendente y en orden descendente en el cual también utilizaremos una variable “op” que se utilizara para la opción desea continuar SI o NO, esto se lo realiza con el Laso DO – WHILE que permite generar nuevamente el programa. PROGRAMA 48 ENUNCIADO Diseñe un programa con funciones y vectores que me permita ingresar un sin número de elementos en un vector entre 3 y 25, recorrer el vector y encontré todos aquellos valores que sean números primos asígnelos en un nuevo vector y preséntelos ordenados en forma ascendente y descendente. ANÁLISIS Para realizar este programa necesitamos utilizar funciones tanto para el borde como para los números primos y para ordenar dichos números en forma ascendente y descendente.  Para el vector que vamos a ingresar necesitamos un ciclo do while el mismo que debemos condicionarlo para que este vector ingresado sea menor que 3 o mayor que 25, este proceso debemos realizarlo dentro de una función a la cual denominaremos pri ya que también dentro de esta función realizaremos las operaciones para encontrar los números primos para lo cual necesitamos de la condición if y de ciclos for los cuales nos ayudaran a generar dichos números.  Par ordenar el vector de forma ascendente y descendente necesitamos de una función denominada as para la forma ascendente y de una función denominada des para la forma descendente dentro de las cuales
  • UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN se encontrara un ciclo for el mismo que nos ayudara a realizar dicho proceso e imprimirlo tanto ascendente como descendente.  Además utilizamos un ciclo do while para repetir este proceso el número de veces que el usuario desee. . DOCUMENTACIÓN #include<conio.h> Ingresamos las librerías que vamos a utilizar #include<stdio.h> int f1, aux, num, i, j, f, vect[100]; int vectser[100], lim, op, cont; Ingresamos las variables que vamos a utilizar, son variable de tipo enteras void borde() { int i; clrscr(); gotoxy(1,1);printf("É"); gotoxy(80,1);printf("»"); for(i=2;i<=79;i++) { gotoxy(i,1);printf("Í"); gotoxy(i,24);printf("Í"); } gotoxy(1,24);printf("È"); gotoxy(80,24);printf("¼"); for(i=2;i<=23;i++) Aquí realizamos una función para poder realizar el borde en el programa
  • 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 primo(int l) Aquí realizamos una función para poder verificar si un número es o no primo { f=9; f1=9; for(j=1;j<=l;j++) { do { gotoxy(18,f);printf(" "); Aquí imprimimos y validamos el vector ingresado que este entre parámetro que nos dieron para realizarlo gotoxy(18,f);scanf("%d",&vect[j]); } while(vect[j]<3 || vect[j]>25); f=f+1; Sumamos a la fila (f=f+1), y igualamos a cero el contador cont=0; for(i=1;i<=vect[j];i++) { Este for es para que se imprima en las filas pares if(vect[j]%i==0) { cont=cont+1; }} if(cont==2) Este if es para que se imprima en las filas impares
  • UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN { vectser[j]=vect[j]; gotoxy(34,f1);printf("%d",vectser[j]); f1=f1+1; }}} Esta función es para poder ordenar al vector de manera ascendente y descendente void orden(int l) { for(i=1;i<=l;i++) Realizamos dos for para que se de un límite y se pregunte a las dos posiciones, y después de le pregunta con un if si el vector [i] es < que el vector [j]. { for(j=1;j<=l;j++) { if(vectser[i]<vectser[j]) { aux=vectser[i]; vectser[i]=vectser[j]; Aquí utilizamos una variable auxiliar para que tome el valor de otra variable vectser[j]=aux; }}} gotoxy(29,9);printf("ASCE"); f=11; Igualamos la fila a 11 for(i=1;i<=l;i++) { gotoxy(39,f);printf("%d",vectser[i]); Imprimimos al vector de manera ascendente f=f+1; } for(i=1;i<=l;i++) Estos for son para que se imprima hasta un cierto límite. Realizamos dos for para que se de un límite y se pregunte a las dos posiciones, y después dse le pregunta con un if si el
  • UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN { for(j=1;j<=l;j++) { if(vectser[i]>vectser[j]) { aux=vectser[i]; Aquí utilizamos una variable auxiliar para que tome el valor de otra variable vectser[i]=vectser[j]; vectser[j]=aux; }}} gotoxy(52,9);printf("DESC"); Imprimimos al vector de manera descendente f=11; for(i=1;i<=l;i++) { gotoxy(62,f);printf("%d",vectser[i]); f=f+1; }} void main() Realizamos el programa principal { do Ponemos una sentencia do-while para que se pueda repetir n veces. { clrscr(); borde(); gotoxy(21,3);printf("BUSQUEDA DE NUMRS- PARES E IMPARES"); gotoxy(5,5);printf("limite: ");scanf("%d",&lim); gotoxy(13,7);printf("VECTOR"); Ingresamos el límite e imprimimos un título
  • UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN gotoxy(26,7);printf("#PRIMOS"); gotoxy(47,7);printf("#IMPARES"); primo(lim); Llamamos a las demás funciones que ya realizamos. orden(lim); gotoxy(3,22);printf("Otra vez si1/no 0: ");scanf("%d",&op); } while(op==1); getch(); Terminamos con un getch(); y con la llave. } CORRIDO DEL PROGRAMA Cerramos el lazo do-while
  • UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN PROGRAMA 49 ENUNCIADO Diseñe un programa utilizando funciones que me permita leer una cadena de caracteres ingresado desde teclado y que a su vez cuente la cantidad de caracteres de dicho vector. ANÁLISIS En este programa por medio de funciones podemos realizar tanto el borde como para colocar la cadena de caracteres e imprimirla y para encontrar los datos de las posiciones impares del vector.  Para colocar la cadena de caracteres en una posición e imprimirla necesitamos de una función a la cual la denominaremos void cad para realizar dicho proceso requerimos de un ciclo for el mismo que nos permitirá imprimir la cadena de caracteres deseada y añadirle color.  Para encontrar los datos de la cadena de caracteres del vector necesitamos de una nueva función a la cual la denominaremos void cont para realizar dicho proceso requerimos de un ciclo for el cual nos permitirá contar los caracteres ingresados además requerimos de otro ciclo for el mismo que nos ayudara a imprimir dichos datos.  Además utilizamos un ciclo do while para repetir este proceso el número de veces que el usuario desee. DOCUMENTACIÓN #include<stdio.h> #include<conio.h> Librerías #include<string.h> #include<ctype.h> char cadena[20],vecimpar[20]; int i,fi,op,n,h; void borde() Declaracion de variables tipo caracter Declaracion de variables enteras Inicio función borde
  • UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN { Inicio ciclo for for (i=1;i<=80;i++) { color textcolor(i+1); gotoxy(i,1);cprintf("*"); Impresión borde gotoxy(i,24);cprintf("*"); } Fin ciclo for for (i=1;i<=24;i++) Inicio ciclo for { color textcolor(i+1); gotoxy(1,i);cprintf("*"); Impresión borde gotoxy(80,i);cprintf("*"); } Fin ciclo for } Fin función borde void cad() Inicio función cad { Palabra reservada que permite funcionar ciclo do while flushall(); Impresión cadena gotoxy(30,5);gets(cadena); l=strlen(cadena); Igualación limite palabra reservada strlen Igualación fila a 9 fila=9; for(i=0;i<l;i++) Inicio ciclo for { textcolor(i+1); color gotoxy(23,fi);cprintf("%c",cadena[i]); Contador mas 1 Impresión vector ingresante
  • UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN fila=fila+1; } Fin ciclo for } Fin función cadena void cont() Inicio función cont { h=1; Igualación variable a 1 for(i=0;i<n;i++) Inicio ciclo for { Igualación vector auxiliar a vector ingresante vecimpar[h]=cadena[i]; h=h+1; Contador mas 1 } Fin ciclo for fila=8; Igualación variable fila a 8 for(i=0;i<h;i++) Inicio ciclo for { gotoxy(45,fi);printf("%c",vecimpar[i]); fila=fila+1; Impresión vector resultante Contador mas 1 } Fin ciclo for } void main() Fin funcion cad Inicio función principal { do Inicio ciclo do while { clrscr(); borde(); Blanqueo de pantalla Se llama a la funcion borde gotoxy(25,3);printf("<< CARACTERES >>");
  • UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN gotoxy(8,5);printf("*.CARACTERES : "); Impresión titulos gotoxy(15,7);printf("<< V REALIZADO>>"); gotoxy(38,7);printf("<< V.RESULTANTE>>"); cad(); Se llama a la funcion cad cont(); Se llama a la función cont gotoxy(12,22);printf("PULSE 1 PARA CONTINUAR O 0 PARA SALIR : ");scanf("%d",&op); Impresión repetición } while(op==1); Fin ciclo do while getch(); } Fin programa CORRIDO DEL PROGRAMA
  • UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN Programa 50 Diseñe un programa en c++ utilizando funciones que me permita leer una cadena de caracteres, ingresar desde teclado un caracter que desee buscar en la cadena ingresada, asignela a un nuevo vector e imprimalo en un vector resultante. #include<stdio.h> #include<conio.h> #include<string.h> #include<ctype.h> char nombre[20],a; int i,fi,n,op, cont; void borde() { for(i=1;i<=79;i++) { textcolor(17); Abrimos las librerías Iniciamos los valores de nuestro programa gotoxy(i,1);cprintf("*"); gotoxy(i,24);cprintf("*"); } for(i=2;i<=23;i++) { textcolor(17); gotoxy(1,i);cprintf("*"); gotoxy(80,i);cprintf("*"); } } Función que ocuparemos después Nuestro borde
  • UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN void nomb() { flushall(); Permite leer el carácter gotoxy(12,5);gets(nombre); n=strlen(nombre); Permite almacenar en otro vector fi=5; for(i=0;i<n;i++) { if(islower (nombre[i])) { For para ingresar el vector, nombre[i]=toupper(nombre[i]); utilizamos la función textcolor para textcolor(i+1); poner color a las letras gotoxy(40,fi);cprintf("%c",nombre[i]); fi=fi+1; } if(nombre[i]==a) { cont=cont+1; textcolor (3); gotoxy(30,10);cprintf("Letras>> %d",cont); }} Comenzaremos con el } programa principal void main() { do Abrimos la Sentencia do { Borrado de pantalla y llamado de la función borde clrscr(); borde(); Llamamos a las funciones nomb(); textcolor(2); Imprimir el título y subtítulos gotoxy(12,18);cprintf("ingrese el caracter ");scanf("%c",&a); de nuestro programa textcolor(3); for(i=0;i<n;i++) { if(nombre[i]==a) For para su limite y el if para buscar { su posición par cont=cont+1; }} textcolor (3); gotoxy(15,15);cprintf("Letras>> %d",cont); gotoxy(12,22);cprintf("desea repetir 1 salir 0: ");scanf("%d",&op); }while(op==1); getch(); Pausado en el programa y } cerrado del programa Cerramos la sentencia do while
  • UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN ANALISIS:        Primero empezamos abriendo nuestras bibliotecas Después validamos nuestras variables globales, que servirán para la ejecución de nuestro programa, teniendo en cuenta que estamos ocupando char que servirá para hacer cadena de caracteres. Realizamos nuestra primera función llamada borde que nos servirá para más después abrir en nuestras funciones realizadas Comenzamos a realizar nuestra primera función llamada nomb, en esta se guardaran todos los procesos para poder hacer nuestro primer programa donde está el ingreso y las etiquetas de nuestro programa, además ingresaremos el carácter y un proceso de for en el cual se almacenen un vector con sus respectivos caracteres. Después de esto comenzaremos otra función llamado impar, en la cual haremos todos los procesos respectivos a nuestro segundo programa el cual ira comparando las posiciones impares de nuestro vector anterior y ahora irlo almacenando en un vector nuevo. Por ultimo realizaremos nuestro programa principal en el cual solo llamaremos a nuestras anteriores funciones en las cuales se han guardado todos los procesos de cada programa, llamaremos a nuestro borde i limpiado de pantalla Por ultimo haremos que se repita nuestro programa con una sentencia do while y cerraremos nuestro programa. DOCUMENTACION DEL PROGRAMA:
  • UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN CORRIDO DEL PROGRAMA:
  • UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN 51.- Diseñe un programa utilizando funciones y vectores que me permita leer una cadena de caracteres, leer el vector y encontrar todos los datos que se encuentren en posición de impares del vector y asignarlos a un nuevo vector, presente el nuevo vector ordenado. ANÁLISIS Empezamos abriendo las librerías para activar funciones, utilizamos variables de tipo enteras y alfabéticas tres funciones con sentencia “for”, una para el borde y las dos restantes para realizar los procesos y al impresión de las letras qu están en las posiciones impares, un do-while para repetir los procesos cuantas veces se desee, empezamos el programa con viod main, llamamos a las funciones, e imprimimos resultados. DOCUMENTACION #include<stdio.h> #include<conio.h> #include<ctype.h> char nombre[20],vecimpar[20]; Librerías.- colección de clases y funciones, escritas en el núcleo del lenguaje. Variables.- son un tipo de datos, Alfabéticas y enteras.
  • UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN int i,fi,op,n,h; void borde() { for(i=1;i<=79;i++) { textcolor(9); gotoxy(i,1);printf("±"); gotoxy(i,24);printf("±"); } for(i=2;i<=23;i++) { textcolor(9); gotoxy(1,i);printf("±"); gotoxy(80,i);printf("±"); } } void nomb() { flushall(); textcolor(3); gotoxy(5,5);cprintf("TEXTO:"); textcolor(i+1); gotoxy(12,5);gets(nombre); n=strlen(nombre); fi=9; for(i=0;i<n;i++) { textcolor(3); gotoxy(5,7);cprintf("VECTOR"); textcolor(i+1); gotoxy(8,fi);cprintf("%c",nombre[i]); fi=fi+1; } } void impar() { h=1; for(i=0;i<n;i++) { if(i%2==0) { vecimpar[h]=nombre[i]; h=h+1; } } Sentencia “for” para realizar el borde Funciones.- Las funciones son bloques de código utilizados para dividir un programa en partes más pequeñas Color para el texto Lectura de variables Un vector, también llamado array(arreglo) unidimensional, es una estructura de datos que permite agrupar elementos del mismo tipo y almacenarlos en un solo bloque de memoria juntos, uno después de otro. Sentencia “for” para la impresión de las letras en posiciones impares.
  • UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN fi=8; for(i=0;i<h;i++) { textcolor(3); gotoxy(15,7);cprintf("POSICIONES"); textcolor(i+1); gotoxy(20,fi);cprintf("%c",vecimpar[i]); fi=fi+1; } } Inicio del programa void main() Sentencia do while { do Borrar pantalla { Función borde clrscr(); borde(); textcolor(2); gotoxy(15,3);cprintf("VECTORES"); nomb(); Funciones impar(); gotoxy(5,22);cprintf("Desea repetir 1 Salir 0: ");scanf("%d",&op); }while(op==1); Pausa getch(); Fin del programa } pantalla Función borde
  • UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN
  • UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN CORRIDO DEL PROGRAMA
  • UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN 52.- Diseñe un programa utilizando funciones y vectores que me permita leer una cadena de caracteres y recorrer dicha cadena y encontrar solo aquellas que sean consonantes, agruparlas y colocarlas en un nuevo vector. ANÁLISIS Empezamos abriendo las librerías para activar funciones, utilizamos variables de tipo enteras y alfabéticas tres funciones con sentencia “for”, una para el borde y las dos restantes para realizar los procesos y al impresión de las consonantes, un do-while para repetir los procesos cuantas veces se desee, empezamos el programa con viod main, llamamos a las funciones, e imprimimos resultados. DOCUMENTACION #include<stdio.h> #include<string.h> #include<ctype.h> #include<conio.h> char tex[20],tex1[20]; int i,n,fi,h,op; void borde() { for(i=1;i<=79;i++) { textcolor(6); gotoxy(i,1);printf("±"); gotoxy(i,24);printf("±"); } for(i=2;i<=23;i++) { textcolor(6); gotoxy(1,i);printf("±"); gotoxy(80,i);printf("±"); } } void conso() { flushall(); fi=9; textcolor(5); gotoxy(5,5);cprintf("TEXTO: "); gets(tex); gotoxy(5,8);cprintf("VECTOR"); n=strlen(tex); Librerías.- colección de clases y funciones, escritas en el núcleo del lenguaje. Variables.- son un tipo de datos, Alfabéticas y enteras. Sentencia “for” para realizar el borde Funciones.- Las funciones son bloques de código utilizados para dividir un programa en partes más pequeñas Color para el texto Lectura de variables
  • UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN for(i=0;i<n;i++) { Un vector, también llamado array(arreglo) textcolor(5); unidimensional, es una estructura de datos que gotoxy(20,8);cprintf("CONSONANTES"); permite agrupar elementos del mismo tipo y textcolor(i+1); almacenarlos en un solo bloque de memoria juntos, gotoxy(8,fi);cprintf("%c",tex[i]); uno después de otro. fi=fi+1; } fi=9; for(i=0;i<n;i++) { if(tex[i]!='a' && tex[i]!='e' && tex[i]!='i' && tex[i]!='o' && tex[i]!='u' ) Sentencia “for” para la impresión de las letras { en posiciones impares. tex1[h]=tex[i]; textcolor(i+1); gotoxy(25,fi);cprintf("%c",tex1[h]); h=h+1; fi=fi+1; } } } void main() Inicio del programa { do Sentencia do while { clrscr(); Borrar pantalla borde(); Función borde textcolor(5); gotoxy(25,3);cprintf("VECTORES"); Funciones conso(); gotoxy(5,22);printf("Repetir el proceso 1 salir 0: ");scanf("%d",&op); }while(op==1); Pausa getch(); Fin del programa } pantalla Función borde
  • UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN CORRIDO DEL PROGRAMA Programa 53 Enunciado: Diseñe un programa utilizando vectores y funciones que me permita leer una cadena de caracteres y presentarla de forma invertida Codificación:
  • UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN #include<stdio.h> #include<string.h> Librerías #include<conio.h> int i,op,fila,a; Declaración de variables char nom[40]; void borde() { for(i=1;i<=80;i++) { Función global para el borde, e inicio del ciclo, da color textcolor(i+1); gotoxy(i,1);printf("!"); gotoxy(i,24);printf("!"); Impresión del borde, cierre del ciclo } for(i=2;i<=24;i++) { textcolor(i+1); gotoxy(1,i);printf("!"); Función global para el borde, e inicio del ciclo, da color Impresión del borde gotoxy(80,i);printf("!"); } } Cierre del ciclo y de la función void inver() { Función global e inicio flushall(); Ingreso de datos con caracteres y almacenarían en auxiliar
  • UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN gotoxy(20,6);printf("Ingrese la palabra: ");gets(nom); a=strlen(nom); fila=9; for(i=0;i<a;i++) { Ciclo “FOR” ,color para e vector textcolor(i+1); gotoxy(30,fila);cprintf("%c",nom[i]); fila=fila+1; } Impresión del vector en forma vertical fila=8; for(i=a;i>=0;i--) { Proceso de la forma invertida con ciclo “for” textcolor(i+1); gotoxy(45,fila);cprintf("%c",nom[i]); Impresión del nuevo vector invertido y con color fila=fila+1; } } Cierre del ciclo y de la función void main() { Función principal e inicio do Inicio del ciclo “do-while” { clrscr(); borde(); Limpiado de pantalla y llamado de la función borde gotoxy(32,2);printf("**Cadena de Caracteres Invertida**"); Impresión de mensajes
  • UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN gotoxy(27,8);printf("Vector"); gotoxy(43,8);printf("Inversion"); inver(); Llamado de la función global gotoxy(12,22);printf("Digite 1 para continuar o 0 para salir : ");scanf("%d",&op); }while(op==1); getch(); } Corrido: Cierre del ciclo Pausa y cierre del programa
  • UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN Análisis: En este programa hemos utilizado la variable char para declaración con caracteres la palabra, un get para ingresar datos con caracteres, un “for” para invertir al vector ingresado e imprimir el en un nuevo vector todo esto se hace en una función global y al último se llama en una función principal void main PROGRAMA 54 ENUNCIADO Diseñe un programa utilizando vectores y funciones que me permita leer una cadena de caracteres y recorrer dicha cadena y encontrar solo aquellas que sean consonantes, agruparlas y colocarlas en un nuevo vector. ANALISIS Utilizo 4 librerías declaro dos variables tipo carácter y 7 variables de tipo entero utilizo 3 funciones la primera para el diseño del borde en pantalla la segunda función para sacar el proceso de encontrar las consonantes y la tercera función es la principal utilizo un do while para repetir el proceso CODIFICACION #include<conio.h> #include<stdio.h> #include<math.h> #include<string.h> char cad[25],c2[25]; int x,li,lim,i,p,l2; //DECLARACION DE VARIABLES GLOBALES ENTERAS Y DE CARACTER//
  • UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN int op=1; void borde() { textcolor(YELLOW); FUNCIÓN BORDE for(i=1;i<=80;i++) { gotoxy(i,1);cprintf("*"); gotoxy(i,24);cprintf("*"); } for(i=1;i<=24;i++) { gotoxy(1,i);cprintf("*"); //IMPRECION DE * gotoxy(80,i);cprintf("*"); } //FIN DEL CICLO FOR } // FIN DEL CICLO DE LA FUNCION DEL BORDE // void caracter() { FUNCION PARA SACAR CONSONANTES gotoxy(5,5);printf("Cadena:");gets(cad); //IMPRIMO UN MENSAJE CON LA PALABRA CADENA lim=strlen(cad); li=7;// ACUMULADOR p=0;//CONTADOR for(i=0;i<lim;i++) // CICLO FOR PARA SACAR EL LIMITE DE LETRAS QUE QUIERO ENCONTRAR { // ABRO EL CICLO FOR gotoxy(25,li);printf("%cn",cad[i]); //IMPRIMO LA CANTIDAD DE LETRAS li=li+1; //CONTADOR DEL CICLO FOR QUE SE BA IR SUMANDO DE UNO EN UNO x=i; // AUXILIAR (cad[i]); if (x != 0)
  • UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN { if((cad[i] == 'a')||(cad[i] == 'e')||(cad[i] == 'i')||(cad[i] == 'o')||(cad[i] == 'u')) // CONDICIONES PARA ENCONTRAR LAS C ONSONANTES { } Else // CASO CONTRARIO { c2[p]=cad[i]; p=p+1; // SIRVE PARA I R DE UNO EN UNO SUMANDO } } } li=7; // CONTADOR lim=lim-1; //LIMITE MENOS1 for(i=0;i<p;i++) // { gotoxy(45,li);printf("%c",c2[i]);//IMPRIMO CARACTER li=li+1;//LIMITE MAS UNO } } void main() // FUNCION PRINCIPAL { // INICIO DE LA FUNCION PRINCIPAL Do //INICIO DE CICLO REPETITIVO CON UN DO PARA MAS ABAJO CERRAR CON WHILE { clrscr(); //LIMPIADO DE PANTALLA borde(); // FUNCION BORDE caracter(); // FUNCION CARÁCTER gotoxy(30,2);cprintf("======================"); gotoxy(30,3);printf("POSICIONES CONSONANTES"); //IMPRIMO LAS POSICIONES DE LAS CONSONANTES gotoxy(30,4);cprintf("======================"); gotoxy(22,6);printf("PALABRA"); //IMPRIMO LA PALABRA gotoxy(40,6);printf("CONSONANTE");// IMPRIMO CONSONANTES
  • UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN gotoxy(3,23);printf("DESEA REPETIR EL PROCESO 1 O 0 PARA SALIR: ");scanf("%d",&op); } while(op==1); // CICLO REPETITIVO getch(); // PAUSA EN EL PROGRAMA } //FIN DE LA FUNCION PRINCIPAL CORRIDO Programa #55: Aranceles Universitarios Enunciado Diseñe un programa utilizando funciones que me permita automatizar el sistema de recaudación por concepto de matriculas a los estudiantes de la UNIANDES, tomando en cuenta los siguientes parámetros.
  • UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN Los aranceles universitarios por concepto de matrícula, están estipulados de acuerdo a los tipos de colegios. Si es particular paga 250,00 Servicio médico que representa el 9% del valor de la matrícula Servicio de internet que el 10% del valor de la matrícula Servicio de canchas deportivas y servicios adicionales 12% del valor de la matrícula Visualice los valores parciales y totales del costo de la matrícula. Si es fiscomisional paga 180,00 Servicio médico que representa el 8% del valor de la matrícula Servicio de internet que el 9% del valor de la matrícula Servicio de canchas deportivas y servicios adicionales 11% del valor de la matrícula Si es fiscal paga 120,00 Servicio médico que representa el 6% del valor de la matrícula Servicio de internet que el 8% del valor de la matrícula Servicio de canchas deportivas y servicios adicionales 10% del valor de la matrícula Visualice los valores parciales y totales del costo de la matrícula. • Todos pagan por derecho de carnet usd. 5,00 • Visualice el número de estudiantes matriculados y el valor total recaudado por concepto de matriculas • El proceso se repite tantas veces como el usuario lo decida
  • UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN • Se presenta el diseño del borde. Análisis 1. Se utiliza una función para imprimir los valores particulares 2. Se utiliza otra función para imprimir los valores fiscomisionales y de igual manera los fiscales. 3. Se realizan los procesos para calcular los porcentajes de descuesto para los demás aranceles 4. En otra función presentamos todos los valores totales 5. Dentro del programa principal imprimos las etiquetas correspondientes 6. Utilizamos una función switch con 4 case 7. En el case uno llamamos a la función particular y condicionamos a repetirse las veces que el usuario lo desee 8. En el case uno llamamos a la función fiscomisional y condicionamos a repetirse las veces que el usuario lo desee 9. En el case uno llamamos a la función fiscal y condicionamos a repetirse las veces que el usuario lo desee 10. En el case 4 presentamos los valores acumulados de los procesos anteriores y de la cantidad de matriculas utilizadas. 11. Cerramos el switch con una opción para salir del programa 12. Cada paso debe presentar la opción para continuar o salir según lo desee el usuario Documentación Fin de programa Declaración de variables Función Borde #include<conio.h> #include<stdio.h> #include<stdlib.h> int op,i,op1,op2,cp,cf,cfs,tc; float me,in,cdsa,tp,cr,tf,tfs,tap,tu; void borde()
  • UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN Lazo For Lazo For Inicio de Función Proceso Matemático Sentencias Inicio de Función Proceso Matemático Sentencias { for(i=1;i<=79;i++) { gotoxy(80,1);printf("»"); gotoxy(1,1);printf("É"); gotoxy(i,1);printf("Í"); gotoxy(i,24);printf("Í"); } for(i=2;i<=23;i++) { gotoxy(1,24);printf("È"); gotoxy(80,24);printf("¼"); gotoxy(1,i);printf("º"); gotoxy(80,i);printf("º"); } } void particular() { gotoxy(35,4);printf("1.-Particular"); me=250*0.09; in=250*0.10; cdsa=250*0.12; tp=250+me+in+cdsa+5; gotoxy(15,6);printf("Medico: %2.2f",me); gotoxy(15,7);printf("Internet: %2.2f",in); gotoxy(15,8);printf("Canchas deportivas: %2.2f",cdsa); gotoxy(15,9);printf("Carnet: 5"); gotoxy(15,10);printf("Total Particular: %2.2f",tp); } void fiscomisional() { gotoxy(35,4);printf("2.-Fiscomisional"); me=180*0.08; in=180*0.09; cdsa=180*0.11; tf=180+me+in+cdsa+5; gotoxy(15,6);printf("Medico: %2.2f",me); gotoxy(15,7);printf("Internet: %2.2f",in); gotoxy(15,8);printf("Canchas deportivas: %2.2f",cdsa); gotoxy(15,9);printf("Carnet: 5");
  • UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN Inicio de Función Proceso Matemático Sentencias Inicio de Función Proceso Matemático Sentencias Programa Principal Lazo Do While Llamado de funciones Sentencias Lazo Do While Sentencias gotoxy(15,10);printf("Total Fiscomisional: %2.2f",tf); } void fiscal() { gotoxy(35,4);printf("3.-Fiscal"); me=120*0.06; in=120*0.08; cdsa=120*0.10; tfs=120+me+in+cdsa+5; gotoxy(15,6);printf("Medico: %2.2f",me); gotoxy(15,7);printf("Internet: %2.2f",in); gotoxy(15,8);printf("Canchas deportivas: %2.2f",cdsa); gotoxy(15,9);printf("Carnet: 5"); gotoxy(15,10);printf("Total Fiscal: %2.2f",tfs); } void total() { gotoxy(35,2);printf("Total Recaudado"); tap=tp+tf+tfs; gotoxy(15,4);printf("Total Particular: %2.2f",tp); gotoxy(15,5);printf("Total Fiscomisional: %2.2f",tf); gotoxy(15,6);printf("Total Fiscal: %2.2f",tfs); gotoxy(15,7);printf("Total: %2.2f",tap); } void main() { do { clrscr(); borde(); gotoxy(38,2);printf("UNIANDES"); gotoxy(15,4);printf("1.-Particular"); gotoxy(15,5);printf("2.-Fiscomisional"); gotoxy(15,6);printf("3.-Fiscal"); gotoxy(15,7);printf("4.-Total Recaudado"); gotoxy(15,8);printf("5.-Salir"); do { gotoxy(29,9);printf(" ");
  • UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN Inicio de switch Incio del Case 1 Lazo Do While Llamado de funciones Sentencias Fin de case 1 Incio del Case 2 Lazo Do While Llamado de funciones Sentencias Fin de case 2 Incio del Case 3 Lazo Do While Llamado de funciones Sentencias Fin de case 3 Inicio del Case 4 gotoxy(15,9);printf("Elija opcion: ");scanf("%d",&op); }while(op>5); switch(op) { case 1: cp=0; do { cp=cp+1; clrscr(); borde(); particular(); gotoxy(15,20);printf("Otra matricula 1/0: ");scanf("%d",&op2); }while(op2==1); break; case 2: cf=0; do { cf=cf+1; clrscr(); borde(); fiscomisional(); gotoxy(15,20);printf("Otra matricula 1/0: ");scanf("%d",&op2); }while(op2==1); break; case 3: cfs=0; do { cfs=cfs+1; clrscr(); borde(); fiscal(); gotoxy(15,20);printf("Otra matricula 1/0: ");scanf("%d",&op2); }while(op2==1); break; case 4:
  • UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN Llamado de funciones Sentencias Proceso matemático Sentencias Case 5 Sentencias Fin del programa Corrido clrscr(); borde(); total(); gotoxy(15,15);printf("Matriculados Fical: %d",cfs); gotoxy(15,16);printf("Matriculados Fiscomicional: %d",cf); gotoxy(15,17);printf("Matriculados Particular: %d",cp); tc=cfs+cf+cp; tu=tap*tc; gotoxy(15,8);printf("Total de ingresos: %2.2f",tu); gotoxy(15,18);printf("Total Matriculados: %d",tc); break; case 5: exit(0); break; } gotoxy(15,22);printf("Desea salir 1/0: ");scanf("%d",&op1); }while(op1==1); getch(); }
  • UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN Programa 56 Enunciado Diseñe un programa utilizando vectores y funciones que me permita Ingresar n elementos entre 3 y 23 en las posiciones impares del vector y las posiciones pares se generan con cualquier factor ingresado desde teclado, recorra el vector y encuentre todos aquellos valores que sean números primos y asignarlos a un nuevo vector, presente el vector resultante ordenado en forma ascendente y descendente. Análisis 1. Codificamos el borde dentro de una funciones 2. Dentro de otra funciones ingresamos un límite y un factor 3. Si la posiciones es par debemos condicionar el valor ingresado entre 3 y 23 4. Si la posiciones es impar realizamos el proceso para que se genere el factor 5. Realizamos otra función para imprimir los números que sean únicamente primos 6. Utilizamos un for para verificar si los datos son primos, de ser así se asignara dicho valor a un vector 7. Utilizamos otra función para ordenar de forma ascendente los valores asignados al vector de números primos 8. De igual manera utilizamos una función para ordenar de forma descendente los valores asignados al vector de los números primos.
  • UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN 9. Abrimos la función del programa principal 10. Llamamos las funciones previamente codificadas Documentación Librerías Declaración de Variables int Inicio de función borde Lazo For Fin de función Función de ingreso Ingresos e impresiones Inicializaciones Lazo For Fin de función #include<stdio.h> #include<conio.h> int i,lim,fac,op,vect1[15],f,fila,d,aux,c,a,vec[15],j,lim2; void borde() { for(i=1;i<=80;i++) { textcolor(i); gotoxy(i,1);cprintf("*"); gotoxy(i,24);cprintf("*"); } for(i=1;i<=24;i++) { textcolor(i); gotoxy(1,i);cprintf("*"); gotoxy(80,i);cprintf("*"); } } void ingreso() { gotoxy(31,5);printf("PROCESO DE VECTORES"); gotoxy(15,7);printf("Limite>> ");scanf("%d",&lim); gotoxy(45,7);printf("Factor>> ");scanf("%d",&fac); gotoxy(13,10);printf("Entrada"); f=0; fila=11; for(i=1;i<=lim;i++) { gotoxy(15,fila);scanf("%d",&vect1[i]); }while(vect1[i]<3 || vect1[i]>23); } if(i%2==1) { f=f+fac; vect1[i]=f; gotoxy(15,fila);printf("%d",vect1[i]); } fila=fila+1; } }
  • UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN Funciones primos Inicialización variables Lazo For Condición If Fin función Función Ascendente Lazo For Fin de función void primos() { lim2=1; fila=11; gotoxy(25,10);printf("#s Primos"); for(i=1;i<=lim;i++) { a=0; for(j=1;j<=vect1[i];j++) { if(vect1[i]%j==0) { a=a+1; } } if(a==2) { vec[lim2]=vect1[i]; gotoxy(26,fila);printf("%d",vec[lim2]); fila=fila+1; lim2=lim2+1; }}} void ascendente() { for(i=1;i<lim2;i++) { for(j=1;j<lim2;j++) { if(vec[i]<vec[j]) { aux=vec[i]; vec[i]=vec[j]; vec[j]=aux; } } } fila=11; for(i=1;i<lim2;i++) { gotoxy(38,10);printf("Ascendente"); gotoxy(40,fila);printf("%d",vec[i]); fila=fila+1; } }//cierre
  • UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN Función descendente Lazo for Fin de función Función principal Llamado de funciones Lazo Do While Fin de función Corrido void descendente() { for(i=1;i<lim2;i++) { for(j=1;j<lim2;j++) { if(vec[i]>vec[j]) { aux=vec[i]; vec[i]=vec[j]; vec[j]=aux; } } } fila=11; for(i=1;i<lim2;i++) { gotoxy(58,10);printf("Descendente"); gotoxy(65,fila);printf("%d",vec[i]); fila=fila+1; } }//cierre void main() { do { clrscr(); borde(); ingreso(); primos(); ascendente(); descendente(); getch(); gotoxy(10,22);printf("Presione 1/0>> ");scanf("%d",&op); }while(op==1); }
  • UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN 1. ENUNCIADO:
  • UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN Diseñe un programa utilizando funciones y matrices que me permita visualizar los datos en una matriz y otra matriz resultante con los datos ingresados. 2. ANÁLISIS: En este programa utilizaremos funciones tanto para el borde como para ingresar y presentar los datos de nuestra matriz, esencialmente la utilización de ciclos FOR para que permita ingresar los datos de nuestra matriz, imprimimos resultados y utilizamos un DO-WHILE para que el programa se repita n veces quiera el usuario. 3. DOCUMENTACION: #include<stdio.h> Librerías #include<conio.h> int j,i,k,op,matriz1[10][10],col=10,fila=8,limite,datos,sali,f; Declaración de variables void borde() { for(k=2;k<=80;k++) { gotoxy(k,2);printf("-"); gotoxy(k,24);printf("-"); } Función para el diseño del borde for(k=2;k<=24;k++) { gotoxy(2,k);printf("-"); gotoxy(80,k);printf("-"); } } void ing(int datos) { col=10; fila=8; for(i=1;i<=limite;i++) { Función para el ingreso de los for(j=1;j<=limite;j++) datos de la matriz utilizando ciclos { gotoxy(col,fila); scanf("%d",&matriz1[i][j]); FOR col=col+5; } col=10; fila=fila+1; } } void sal(int sali)
  • UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN { fila=8; col=40; for(i=1;i<=limite; i++) Función para la impresión de { for(j=1;j<=limite;j++) nuestra matriz utilizando ciclos { FOR gotoxy(col,fila); printf("%d",matriz1[i][j]); col=col+5; } col=40; fila=fila+1; } } Cuerpo principal del programa void main() { do Ciclo DO-while para repetir n veces { clrscr(); Blanqueo de pantalla borde(); Llamado de la función del borde gotoxy(3,3); printf("Ingrese un límite: "); scanf("%d",&limite); ing(datos); Llamado de las funciones de la matriz sal(sali); gotoxy(4,22); printf("NUEVO 1 SALIR 0: "); scanf("%d",&op); } while(op==1); getch(); Pausar pantalla } 4. CORRIDO DEL PROGRAMA: Ingreso del límite de datos Ciclo DO-while para repetir n veces
  • UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN 5. Programa 58 6. Diseñe un programa utilizando funciones y matrices que me permita generar una matriz con cualquier factor ingresado desde teclado. 7. ANALISIS 8. Este programa me permite ingresar una matriz de cualquier orden y se imprime los factores ingresados en toda la matriz. 9. Ingresamos la librerías y las variables globales abrimos una función para el borde e ingresamos textcolor(YELLOW); para escoger el color mediente lazos for hacemos el proceso del borde y cerramos el mismo, abrimos la función del programa ingresamos en una variable para que se almacene el factor, también se ingresa las filas y columnas de la matriz, sumamos el factor para la variable ingresada ubicamos las posiciones de la matriz y cerramos el programa. Abrimos la función para llamar al proceso ingreso un lazo repetitivo, un limpiador de pantalla,llamo a la función del borde y del programa cierro el lazo repetitivo ingreso un getch para que no haiga un eco y por ultimo cierro todo el programa 10. 11. 12. #include<stdio.h> 13. #include<conio.h> LIBRERIAS 14. #include<ctype.h> 15. int i,j,m,matriz[5][5],columna,fila,limite,datos,factor,a,op; VARIABLES GLOBALES 16. void borde(int datos) SE ABRE LA FUNCION DEL BORDE 17. { 18. textcolor(YELLOW); ESCOGER EL COLOR 19. for(i=1;i<=80;i++) 20. { 21. gotoxy(i,1);cprintf("*"); 22. gotoxy(i,24);cprintf("*"); 23. } PROCESO DEL BORDE 24. for(i=1;i<=24;i++) 25. { 26. gotoxy(1,i);cprintf("*"); 27. gotoxy(80,i);cprintf("*"); 28. } 29. } SE CIERRA LA FUNCION 30. 31. void programa(int datos) FUNCION DEL PROGRAMA 32. { SE ABRE LA FUNCION 33. a=0; 34. gotoxy(33,3);cprintf("MATRIZ FACTOR"); 35. gotoxy(8,5);cprintf("Limite: ");scanf("%d",&datos); ENUNCIADOS 36. gotoxy(8,6);cprintf("Factor: ");scanf("%d",&factor);
  • UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN 37. 38. columna=10; 39. fila=10; 40. for(i=1;i<=datos; i++) PROCESO DE LA MATRIZ 41. { 42. for(j=1;j<=datos; j++) 43. { 44. gotoxy(8,8);cprintf("Matriz ingreso"); 45. matriz[i][j]=a; 46. gotoxy(columna,fila);printf("%d",matriz[i][j]); 47. columna=columna+4; PROCESO DEL FACTOR 48. } 49. columna=10; 50. fila=fila+2; 51. } 52. a=0; 53. columna=50; 54. fila=10; 55. for(i=1;i<=datos; i++) 56. { 57. for(j=1;j<=datos; j++) 58. { 59. gotoxy(45,8);cprintf("Matriz resultante"); 60. a=a+factor; 61. matriz[i][j]=a; PROCESO PARA COPIAR ALADO 62. gotoxy(columna,fila);printf("%d",matriz[i][j]); EL FACTOR 63. columna=columna+4; 64. } 65. columna=50; 66. fila=fila+2; 67. } 68. } SE CIERRA LA FUNCION 69. void main () SE ABRE LA FUNCION PARA LLAMAR AL PROGRAMA 70. { 71. do 72. { SE ABRE EL LAZO REPETITIVO 73. clrscr (); LIMPIADOR DE PANTALLA 74. borde(datos); 75. programa(datos); LLAMA A LAS FUNCIONES 76. gotoxy(3,23);cprintf("DESEA REPETIR PRESIONE 1 O 0 PARA SALIR: ");scanf("%d",&op);
  • UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN 77. } SE CIERRA EL LAZO REPETITIVO 78. while(op==1); 79. getch(); PARA QUE NO EXISTA ECO 80. } SE CIERRA EL PROGRMA 81. 82. 83. 84. Programa 59 85. Diseñe un programa utilizando funciones y matrices que me permita Imprimir una matriz cuadrática de ceros excepto la diagonal principal. 86. ANALISIS 87. Este programa me permite ingresar una matriz de cualquier orden y se imprime de ceros y su diagonal principal de unos. 88. Ingresamos las librerías introducimos las variables globales abrimos la función del borde ingresamos un textcolor(YELLOW); para darle color al diseño mediante lazos for asemos el margen de la pantalla y cerramos la función abrimos la función del programa para la matriz visualizamos el límite que se desea ingresar ingresamos dos lazos for con (i,j) para formar a la matriz, ingresamos una condición si el número de la fila es igual al de la columna se imprima con unos caso contrario de ceros cerramos la función. Por ultimo abrimos void main() para llamar al programa abrimos un lazo repetitivo escribimos un clrscr para limpiar la pantalla llamamos al borde y al programa y cerramos el programa 89. 90. 91. #include<conio.h> 92. #include<stdio.h> LIBRERIAS 93. #include<ctype.h> 94. int op=1,limite,fila=7,columna=13,i,j; INGRESAMOS VARIABLES GLOBALES 95. int matriz[10][10],datos;
  • UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN 96. void borde() FUNCION DEL BORDE 97. { 98. textcolor(YELLOW); INGRESAR COLOR 99. for(i=1;i<=80;i++) 100. { 101. gotoxy(i,1);cprintf("*"); 102. gotoxy(i,24);cprintf("*"); 103. } 104. for(i=1;i<=24;i++) PROCESO DEL BORDE 105. { 106. gotoxy(1,i);cprintf("*"); 107. gotoxy(80,i);cprintf("*"); 108. } 109. } CIERRO LA FUNCION 110. void programa(int datos) FUNCION DEL PROGRAMA 111. { ABRIR LA FUNCION 112. gotoxy(3,5);cprintf("Limite: ");cscanf("%d",&limite); INGRESAR UN LIMITE 113. for(i=1;i<=limite;i++) 114. { ORDENAR LA MATRIZ 115. for(j=1;j<=limite;j++) 116. { 117. if(i==j) 118. { 119. matriz[i][j]=1; 120. gotoxy(columna,fila);cprintf("%d",matriz[i][j]); REALIZA UNA CONDICION 121. columna=columna+5; 122. } 123. else 124. { 125. matriz[i][j]=0; 126. gotoxy(columna,fila);printf("%d",matriz[i][j]); 127. columna=columna+5; CASO CONTRARIO 128. } 129. } 130. fila=fila+1; 131. columna=13; 132. } 133. } SE CIERRA LA FUNCION 134. void main() FUNCION PARA LLAMAR AL PROGRAMA 135. { ABRIR LA FUNCION 136. do
  • UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN 137. { ABRIR UN LAZO REPETITIVO 138. clrscr(); LIMPIADOR DE PANTALLA 139. borde(); SE LLAMA A LA FUNCION BORDE 140. gotoxy(36,2);cprintf("========"); 141. gotoxy(37,3);cprintf("MATRIZ"); ENUNCIADO 142. gotoxy(36,4);cprintf("========"); 143. programa (datos); 144. gotoxy(3,23);cprintf("DESEA REPETIR 1 O 0 PARA SALIR: ");cscanf("%d",&op); 145. } 146. while(op==1); CIERRO LA FUNCION 147. getch(); PARA QUE NO EXISTA ECO 148. } SE CIERRA LA FUNCION 149. 150. 151. Programa 60 Diseñe un programa utilizando matrices y funciones que me permita llenar una matriz con valores ceros, a excepción de sus diagonales, en donde la diagonal principal se llena con un factor cualquiera ingresado desde teclado y la diagonal secundaria con el factorial, visualice la diagonales principal y secundaria. Análisis
  • UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN Necesitamos funciones para realizar el ejercicio también necesitamos matrices necesitamos variables globales para generar un factor cualquiera y otra variable para generar el factorial. Documentación #include<conio.h> #include<stdio.h> int op,i,j,fi,c,n,ma[50][50],f,cf,fac; void borde() { for(i=1;i<=79;i++) { gotoxy(80,1);printf("»"); gotoxy(1,1);printf("É"); gotoxy(i,1);printf("Í"); gotoxy(i,24);printf("Í"); } for(i=2;i<=23;i++) { gotoxy(1,24);printf("È"); gotoxy(80,24);printf("¼"); gotoxy(1,i);printf("º"); gotoxy(80,i);printf("º"); } } void presen(int m) { c=15; fi=5; cf=0; gotoxy(15,4);printf("Ingrese factor: ");scanf("%d",&f); for(i=1;i<=m;i++) { for(j=1;j<=m;j++) { if(i==j) { cf=cf+f; ma[i][j]=cf; gotoxy(c,fi);printf("%d",ma[i][j]); c=c+3; } else { ma[i][j]=0; gotoxy(c,fi);printf("%d",ma[i][j]); Comentario [W71]: Librerias principales Comentario [W72]: Variables gobales Comentario [W73]: Función borde
  • UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN c=c+3; } } c=15; fi=fi+1; } } void diago(int m) { c=45; fi=5; cf=0; for(i=1;i<=m;i++) { for(j=1;j<=m;j++) { if(i==j) { cf=cf+f; ma[i][j]=cf; gotoxy(c,fi);printf("%d",ma[i][j]); c=c+3; } } fi=fi+1; } } void diagosec(int m) { c=45; fi=5; fac=1; for(i=1;i<=n;i++) { for(j=m;j>=1;j--) { if(i==j) { fac=fac*j; ma[i][j]=fac; gotoxy(c,fi);printf("%d",ma[i][j]); c=c+3; } c=c+3; } Comentario [W74]: Funcion para generar un factor cualquiera en la diagonal principal
  • UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN c=45; fi=fi+1; } } void diagosecu(int m) { c=15; fi=5; fac=1; for(i=1;i<=n;i++) { for(j=m;j>=1;j--) { if(i==j) { fac=fac*j; ma[i][j]=fac; gotoxy(c,fi);printf("%d",ma[i][j]); c=c+3; } c=c+3; } c=15; fi=fi+1; } } void main() { do { clrscr(); borde(); gotoxy(32,2);printf("INGRESO MATRICES"); gotoxy(15,3);printf("Ingrese el limite: ");scanf("%d",&n); presen(n); diago(n); diagosec(n); diagosecu(n); gotoxy(15,22);printf("Desea salir 1/0: ");scanf("%d",&op); }while(op==1); Comentario [W75]: Funcion para generar el factorial Comentario [W76]: Funcion para presentar la diagonal secundaria Comentario [W77]: Inicio del programa principal Comentario [W78]: Inicio del ciclo do while Comentario [W79]: Limpiar pantalla Comentario [W80]: Llamada a la función borde Comentario [W81]: Ingreso del limite Comentario [W82]: Llamada a las funciones Comentario [W83]: Fin del ciclo do while
  • UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN getch(); } Corrido Programa 61 Diseñe un programa utilizando funciones y matrices que me permita Generar una matriz con la serie del fibonasi, encontrar los datos de sus diagonales visualizarlos en forma de equiz, asignar estos datos a un vector resultante ordenado en forma ascendente y descendente. Análisis Para este programa utilizamos funciones para llamar al procedimiento para realizar el ejercicio también necesitamos matrices, variables globales para generar poder realizar los respectivos procedimientos para generar la serie del fibonasi y asi proseguir a llamar a las distintas funciones en donde se visualice la matriz las diagonales otra para ordenar ascendentemente y otra para ordenar descendentemente. Comentario [W84]: Pausa y fin del programa
  • UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN Documentación #include<conio.h> Librerías #include<stdio.h> int fil, col, aux, i, j, mat[10][10], vect[10], lim, op, a, b, c, h; Declaración de variables void bdob() { int i; clrscr(); gotoxy(1,1);printf("É"); gotoxy(80,1);printf("»"); Función global para el borde for(i=2;i<=79;i++) { gotoxy(i,1);printf("Í"); gotoxy(i,24);printf("Í"); } gotoxy(1,24);printf("È"); gotoxy(80,24);printf("¼"); for(i=2;i<=23;i++) { gotoxy(1,i);printf("º"); gotoxy(80,i);printf("º"); } } void diag() { Inicio de la función para determinar las diagonales
  • UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN col=5; fil=8; a=1; b=0; c=0; for(i=1;i<=lim;i++) { for(j=1;j<=lim;j++) { c=a+b; a=b; b=c; mat[i][j]=c; Proceso para calcular la serie del fibonasi gotoxy(col,fil);printf("%d",mat[i][j]); col=col+4; } col=5; fil=fil+3; } } void dprinc() { col=21; Inicio de la función calcular la diagonal principal fil=8; h=1; Condición para calcular la diagonal
  • UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN for(i=1;i<=lim;i++) { for(j=1;j<=lim;j++) { if(i==j) { vect[h]=mat[i][j]; h=h+1; gotoxy(col,fil);printf("%d",mat[i][j]); col=col+4; } } fil=fil+3; } } void dsec() { col=28; Función para calcular la diagonal secundaria fil=8; j=lim; for(i=1;i<=lim;i++) { vect[h]=mat[i][j]; h=h+1; gotoxy(col,fil);printf("%d",mat[i][j]); Imprimimos la matriz
  • UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN j=j-1; col=col-4; fil=fil+3; } } void diag_vect() { fil=8; for(i=1;i<h;i++) { gotoxy(41,fil);printf("%d",vect[i]); fil=fil+2; } } void orden() { fil=8; for(i=1;i<h;i++) { for(j=1;j<h;j++) { if(vect[i]<vect[j]) { aux=vect[i]; vect[i]=vect[j]; Función para ordenar las diagonales.
  • UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN vect[j]=aux; } } } fil=8; for(i=1;i<h;i++) { gotoxy(56,fil);printf("%d",vect[i]); fil=fil+2; } for(i=1;i<h;i++) { for(j=1;j<h;j++) { if(vect[i]>vect[j]) { aux=vect[i]; vect[i]=vect[j]; vect[j]=aux; } } } fil=8; for(i=1;i<h;i++) {
  • UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN gotoxy(71,fil);printf("%d",vect[i]); fil=fil+2; } } void main() { do { clrscr(); bdob(); Función donde a proseguimos a imprimir los datos gotoxy(34,2);printf("<<MATRICES>>"); gotoxy(5,4);printf("Ingrese el limite>> ");scanf("%d",&lim); gotoxy(4,6);printf("<<MATRIZ>>"); gotoxy(18,6);printf("<<Diagonales>>"); gotoxy(34,6);printf("<<Vector_Diag>>"); gotoxy(50,6);printf("<<Ascendente>>"); gotoxy(65,6);printf("<<Descendente>>"); Pedimos los respectivos datos. diag(); dprinc(); dsec(); diag_vect(); orden(); gotoxy(3,22);printf("Presione 1 para volver a repetir el proceso o 0 para finalizar>> ");scanf("%d",&op); } while(op==1);
  • UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN getch(); } Corrido. Programa 62 Diseñe un programa utilizando matrices y funciones que me permita generar una matriz con números pares, a excepción de sus diagonales, las mismas que se llenan con números impares, recorra la matriz y encuentre los dtos de sus diagonales y guarderlas en vector. Análisis Primero ingresamos las librerías que vamos a utilizar en este programa en este caso son las dos principales la STDIO.H Y LA CONIO.H, después como es un programa con funciones declaramos las variables que vamos a utilizar globalmente proseguimos a nombrar una función llamada borde para que nuestro programa se visualice con un borde y otra función en donde realicemos los cálculos de la matriz para finalizar realizamos el programa principal con un VOID MAIN y proseguimos a llamar cada función e imprimimos. CODIGO Librerías que vamos a utilizar en el programa
  • UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN #include<stdio.h> #include<conio.h> int a,i,j,lim,imp,b,matriz[10][10],col,fil,op; void borde() { 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 mat() { a=2; b=1; col=5; fil=10; for(i=0;i<lim;i++) { for(j=0;j<lim;j++) { if(i==j || j==(lim-1)-i) { matriz[i][j]=b; b=b+2; } else{ matriz[i][j]=a; a=a+2; } gotoxy(col,fil);printf("%d",matriz[i][j]); col=col+4; } fil=fil+2; col=5; } } void main() { do { clrscr(); Declaramos la variable global Realizamos la función para que se pueda realizar un borde en nuestro programa Inicio de la función para realizar el calculo de la matriz Calculamos las diagonales de la matriz con numeros impares y rellenamos la matriz con numeros pares
  • UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN borde(); gotoxy(3,4);printf("Ingrese el limite > "); scanf("%d",&lim); mat(); gotoxy(3,22); printf("1 continuar 0 salir > "); scanf("%d",&op); } while(op==1); getch(); } En esta función ya proseguimos a llamar a las otras funciones e imprimos
  • UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN Corridor. Análisis: Este programa nos sirve para obtener el promedio de un estudiante ya que cuando ingresemos las tres notas de un alumno nos pueda sacar la suma y el promedio donde si el promedio es mayor igual que 7 aprueba y si el promedio es mayor o igual a 5 y Menor que 7 está en suspenso y si el promedio es menor que 5 reprobado. ANALISIS: En este programa nos sirve para que pueda sacar los días de la semana donde la condición es que ingresemos un numero entero del 1 al 7 y que el número que digitemos nos debe salir el día que corresponda. ANALISIS: En este programa es el que nos ayuda a obtener las comisiones que una empresa tiene de las ventas que ha realizado en donde podemos sacar lo siguiente si >= 3000 y <=5000 el porcentaje es de 5%, >=5000 y <=8500 el porcentaje es de 7%; >=8500 y <=10000 el
  • UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN porcentaje es de 8%; >10000 el porcentaje es de 10%; ya que también este programa me da la opción donde puedo realizar el proceso las veces que el usuario lo desea. ANALISIS: Este programa nos sirve para poder sacar la suma de dos números cualquiera donde el usuario puede ingresar por teclado los numero que desea para que la computadora realice el proceso para poder sacar el resultado de la suma ANALISIS: En este programe lo que nos pide es que si el primer número que ingresamos pro teclado tiene que tener una condición que tiene que estar entre 3 y 23 y el segundo número que ingrese tiene que tener la siguiente condición que tiene que estar entre 5 y 17 y si ingresamos un numero de las dos condiciones que tenemos nos sale erros y si ingresamos los números que están dentro de esa condición se nos realiza la suma normal también se puede realizar las veces que uno quiera ANALISIS: En este programa presentado, tenemos que utilizar una variable “op” que se utilizara para la opción desea continuar SI o NO, esto se lo realiza con el Laso DO – WHILE que permite generar nuevamente el programa. Utilizamos el “if “para realizar la condición y si es la condición es verdadera me imprima el mensajes que deseo que me aparezca en el programa. ANALISIS: En este programa realizamos una factura con diseño incluido utilizamos variables como “int, float, char “las de tipo “float” nos sirve para cantidades con decimales y las “char” para ingresar el detalle de la factura, utilizamos un for para el diseño de la estructura del margen de la factura, también un lazo DO-WHILE par realizar de nuevo el programa, y un “if “para las condiciones respectivas en cada literal, tenemos variables para almacenar los cálculos respectivos.
  • UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN Análisis: En este programa deseamos encontrar el promedio general del curso para lo q utilizamos lazo “ DO- WHILE” para que solo ingrese notas solo de 1 entre 10 ANALISIS: En este programa que hemos elaborado para sacar el líquido a recibir de un empleado,, tenemos que utilizar una variable “op” que se utilizara para la opción desea continuar SI o NO, esto se lo realiza con el Laso DO – WHILE que permite generar nuevamente el programa, utilizamos un “if” para condicionar las horas extras y para escoger la categoría del empleado y acumuladores para realizar cálculos. ANALISIS: El programa antes presentado, tenemos que utilizar una variable “op” que se utilizara para la opción desea continuar SI o NO, esto se lo realiza con el Laso DO – WHILE que permite generar nuevamente el programa. Utilizamos el lazo for para generar el borde en la pantalla. Análisis: Este programa nos permite generar un margen o borde en pantalla para mejorar la presentación en pantalla. Análisis: Este programa nos va a generar el borde en pantalla así como también generara los números pares ingresando un límite ingresando desde teclado. ANALISIS: Este programa nos ayuda a generar números pares e impares y a la vez nos genera el borde. ANALISIS: este programa genera el borde como también genera la tabla de multiplicar ingresando por teclado el número y el límite. Analisis del Programa: Este programa nos permite realizar los números factoriales se pueden repetir n veces del numero que le ingresemos. Análisis del Programa:
  • UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN Este programa lo generamos el numerador se imprimen los números primos y en el denominador los impares se repetirán las veces que nosotros queramos. Analisis del Programa: Este programa genera un numero primo asta el limite que nosotros ingresemos. ANALISIS El primer ciclo lleva la cuenta de los números de 1 a lim de uno por uno en la variable c, luego se inicia un ciclo de 1 a i en la variable j. Este ciclo se hará n veces porque está dentro de el primer ciclo, en la variable res se guarda el residuo de dividir i / j , si el residuo es cero, se incremento al contador, si al terminarse el segundo ciclo el contador es igual a 2, significa que el número es primo y lo imprime, y eldenominador solo le va sumando 2 al numero que ingrese el usuario ANALISIS En este programa se va smando a col el umero 5 para que todos a fraciones esten en su posici{on correcta adema{as se utiliza un iclo do while para que se repita el proceso tanta veces quiera el usuario. ANALISIS En ese programa se utiliza un menu de opciones para indicar las diferente alternativas que hay y se un sentencia selectiva llamada switch que sirve para que escoja no de lo procesos que se debe realizar, se utiliza el ciclo do while para repetir el proceso tantas veces quiera el usuario. ANALISIS Este programa utiliza un menú de opciones de las áreas y perímetros de las figuras geométricas, utilizamos una sentencia selectiva switch para que seleccione el proceso que debe realizar, al inicio se declara a la variable pi con s valor ara que se pueda ejecutar correctamente en el momento de realizar la operación, se utiliza un ciclo do while para que el proceso se repita tantas veces quiera el usuario ANÁLISIS Suma h=b + a; H=2+5 H=7 Resta H = b – a; b>a h= 5-2 h= 3 División h=b/a; b>a h=6/3 h=2 Potenciación h= h= h=8 Multiplicación h = a*b h= 3*4 h= 12 Radicación h= h= h=8
  • UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA PROGRAMACIÓN Analisis: KM DM M Cm Mm DM; M; Cm; Mm. km; M; Cm; mm km; Dm; Cm; mm km; Dm; M; mm km; Dm; M; Cm Análisis : Números pares =0+2=2+2=4+2=6……..N Números impares=1+2=3+2=5+2=7..….N Números primos= 1,3,5,7…….n Análisis:     utilización de un ciclo for con un limite n en una sola función con dos variables i n Analisis: Se utilizara funciones, condiciones, ademas de eso se imprimira el borde de pantalla. Las condiciones serán: La venta es ≥ 8500 y ≤ 13500 la comisión es del 3% La venta es > 13500 y ≤ 18000 la comisión es del 8% La venta es > 18000 la comisión es del 11% ´para los tres vendedores