Upload
cristty21
View
1.641
Download
0
Embed Size (px)
DESCRIPTION
Algoritmo, Educacion, POO
Citation preview
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
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. 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
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
2
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.
TIPOS DE SENTENCIAS
CONDICIONANTES: Son aquellas que cumplen una condición.
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)
Variables
Constantes
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
kkkkkk
D= a+b
D= c+b d
UNIVERSIDAD TÉCNICA DE AMBATO
FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA
PROGRAMACIÓN
EJEMPLO:
a>b AND a>c Si a es mayor que b y a es mayor que c. (x+5)= 10 OR (y>=4) 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.
2.- LAZO DO-WHILE: Se cumple solo cuando la condición es verdadera.
3.- CONDICIONANTES SELECTIVAS: Trabaja en función de una selección.
i=1; i <=10; i+2
i
Nota 1
Nota1 >10 Nota 1
op
Op=1
Op=2
Op=3
P1
P2
P3
3
UNIVERSIDAD TÉCNICA DE AMBATO
FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA
PROGRAMACIÓN
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");
4
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
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:
*TIPOS DE DATOS PREDEFINIDOS
|tabla con los tipos de datos predefinidos en c
>ENTEROS: números completos y sus negativos
Palabra reservada: Ejemplo Tamaño (byte) ¡Rango de valores a
Int ¡-850 2 -3276? a 3276??
variantes de enteros [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
>REALES: números con decimales o punto flotante
Palabra reservada: Ejemplo Tamaño (byte) Rango de valores
Float 85 |4 3.4x10"38
a 3.4x1038
variantes de los reales Doublé 0.0058 8 1.7x10"
308 a 1.7x10
306
long doublé 1.00E-07 10 3.4x10"4932
a 1.1x104S32
16
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. Asignaciones 2. Lecturas 3. Impresiones 4. 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
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.
18
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. tipo es el tipo regresado por la función
2. nombre función es el nombre de la función
3. int núm. es el número de parámetros que la función procesará
4. ... 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(...)
{
25
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 es\n", "una prueba\n", 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
INDICE
INTRODUCCIÓN
QUE ES UN PROGRAMA
PROGRAMA 1
PROGRAMA 2
PROGRAMA 3
PROGRAMA 4
PROGRAMA 5
PROGRAMA 6
PROGRAMA 7
PROGRAMA 8
PROGRAMA 9
PROGRAMA 10
PROGRAMA 11
PROGRAMA 12
PROGRAMA 13
PROGRAMA 14
PROGRAMA 15
PROGRAMA 16
27
UNIVERSIDAD TÉCNICA DE AMBATO
FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA
PROGRAMACIÓN
PROGRAMA 17
PROGRAMA 18
PROGRAMA 19
PROGRAMA 20
PROGRAMA 21
1
2
3
5
6
7
8
10
12
13
15
19
20
22
23
25
27
28
30
31
33
34
36
38
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.
TIPOS DE SENTENCIAS
CONDICIONANTES: Son aquellas que cumplen una condición.
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
Variables
Constantes
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
kkkkkk
D= a+b
D= c+b d
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>
#include<conio.h>
main ()
{
int a=1,b=0,oper;
float c,p,v,s,t,f,g,r,q;
do
{
clrscr();
a=1;
b=0;
gotoxy(30,2);printf("COMISIONES DE VENTAS");
gotoxy(5,5);printf("Ingresar el valor de la venta:");
scanf("%f",&c);
if((c>2999)&&(c<5001))
{
p=(c*5)/100;
v=c+p;
gotoxy(8,10);printf("La venta total es=%f",v);
gotoxy(8,13);printf("La ganancia es=%f",p);
}
if((c>5000)&&(c<8499))
{
s=(c*7)/100;
t=s+c;
gotoxy(8,10);printf("La venta total es=%f",t);
gotoxy(8,13);printf("La ganancia es=%f",s);
}
if((c>8500)&&(c<10001))
{
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)
{
f=(c*10)/100;
g=f+c;
gotoxy(8,10);printf("La venta total es=%f",g);
gotoxy(8,13);printf("La ganancia es=%f",f);
}
gotoxy(30,20);printf("PRESS 1 para continuar o 0 abandonar");
scanf("%d",&oper);
}
VALIDACION DE LOS TERMINOS ESTABLECIDAS EN NUESTRO PROGRAMA
LIBRERIAS
PROCESO DE REPETICION
LIMPIADO DE PANTALLA
IMPRIMO VALORES Y LOS HAGO VALIDOS
DECISION SENTENCIA
IF
PROCESOS
DECISION SENTENCIA
IF
PROCESOS
DECISION SENTENCIA
IF
DECISION SENTENCIA
IF
PROCESOS
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();
}
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>
#include<conio.h>
main ()
{
int d;
d=1;
CERRAMO EL
PROGRAMA
VALIDACION DE LOS TERMINOS ESTABLECIDAS EN NUESTRO PROGRAMA
LIBRERIAS
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");
scanf("%d", &d);
do
{
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:
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);
getch();
}
3.-CORRIDO DEL PROGRAMA:
PROCESO DE REPETICION
PROCESOS CASES
IMPRIMO VALORES Y LOS HAGO VALIDOS
CERRAMOS PROCESO DE REPETICION
CERRAMO EL 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>
#include<stdio.h>
void main()
{
int n1, n2, tot;
clrscr();
gotoxy(33,3);printf("SUMA DE DOS NUMEROS");
gotoxy(5,5);printf("primer valor:");scanf("%d",&n1);
gotoxy(5,7);printf("segundo numero:");scanf("%d",&n2);
tot=n1+n2;
gotoxy(7,9);printf("la respuesta es = %d",tot);
getch();
}
3.-CORRIDO DEL PROGRAMA:
VALIDACION DE LOS TERMINOS ESTABLECIDAS EN NUESTRO PROGRAMA
LIBRERIAS
IMPRIMO VALORES Y LOS HAGO
VALIDOS
CERRAMOS EL 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>
#include<conio.h>
void main()
{
int a,b,suma,op;
do
{
clrscr();
gotoxy(31,2); printf("suma de dos numeros");
do
{
gotoxy(37,5);printf(" ");
gotoxy(10,5); printf("ingrese el primer numero==>");scanf("%d",&a);
}while (a<3 || a>23);
do
{
gotoxy(37,7); printf(" ");
gotoxy(10,7); printf("ingrese el segundo numero==>");scanf("%d",&b);
}while (b<5 || b>17);
VALIDACION DE LOS TERMINOS ESTABLECIDAS EN NUESTRO PROGRAMA
LIBRERIAS
PROCESO DE REPETICION
IMPRIMO VALORES
Y LOS HAGO VALIDOS
PROCESO DE REPETICION
PROCESOS
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 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();
}
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
Cerramos EL
PROGRAMA
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
#include<stdio.h>
#include<conio.h>
main()
{
clrscr();
int n1,n2,n3,p,s;
gotoxy(8,3); printf("promedios");
gotoxy(5,5); printf("ingrese la nota1: "); scanf("%d",&n1);
if(n1>10)
{
gotoxy(5,7);printf("nota incorrecta");
}
else
{
gotoxy(5,9); printf("ingrese la nota2: "); scanf("%d",&n2);
}
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;
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();
}
3.- Corrido del programa
VALIDACION DE LOS TERMINOS ESTABLECIDAS EN NUESTRO PROGRAMA
LIBRERIAS
SENTENCIAS IF
IMPRIMO VALORES Y LOS HAGO VALIDOS
PROCESOS
Cerramos EL
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>
#include<conio.h>
#include<string.h>
void main()
{
int ed,op;
char nombre[15];
do
{
clrscr();
gotoxy(31,1);printf("Saber edad y equivalencia");
flushall();
VALIDACION DE LOS TERMINOS ESTABLECIDAS EN NUESTRO PROGRAMA
LIBRERIAS
ABRIMOS EL DO
UNIVERSIDAD TÉCNICA DE AMBATO
FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA
PROGRAMACIÓN gotoxy(10,3);printf("Ingrese nombre: ");gets(nombre);
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)
{
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);
getch();
}
3.-CORRIDO DEL PROGRAMA
SENTENCIAS IF
IMPRIMO VALORES Y LOS HAGO VALIDOS
CERRAMOS EL DO
Cerramos EL 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>
#include<conio.h>
main()
{
int op,j,a=4,b=4,c=4,d=4,v=0;
float cant,vuni,vtotal,iva,s,sub,totalp;
char p[15];
clrscr();
gotoxy(23,1); printf("SIMULACION DE FACTURA");
gotoxy(5,4); printf("Producto");
gotoxy(20,4); printf("Cantidad");
gotoxy(34,4); printf("Precio Unitario");
gotoxy(55,4); printf("Valor");
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);
vtotal=cant*vuni;
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);
j=v;
sub=j;
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
VALIDACION DE LOS TERMINOS ESTABLECIDAS EN
NUESTRO PROGRAMA
LIBRERIAS
IMPRIMO VALORES
Y LOS HAGO VALIDOS
CERRAMOS EL DO
ABRIMOS EL DO
IMPRIMO VALORES LOS HAGO VALIDOS Y PROCESOS
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:
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>
#include<conio.h>
main()
{
int c=5,n1,n2,n3,op;
float prom;
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");
gotoxy(5,8); printf("Matematica Basica");
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");
VALIDACION DE LOS TERMINOS ESTABLECIDAS EN
NUESTRO PROGRAMA
LIBRERIAS
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
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);
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);
getch();
}
3.-CORRIDO DEL PROGRAMA:
ABRIMOS EL DO
SENTENCIA DEL DO -WHILE Y PROCESOS
CERRAMOS EL DO – WHILE
CERRAMOS EL 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>
#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;
int c,h,op;
char n[50];
do
{
flushall();
clrscr();
gotoxy(31,3); printf("INGRESO DE DATOS");
gotoxy(2,5); printf("Ingrese su nombre: ");flushall(); gets(n);
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 {
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);
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("**************************");
gotoxy(10,10); printf("Ingresos");
gotoxy(46,10); printf("Egresos");
gotoxy(5,12); printf("Sueldo nominal ");
if(c==1)
{
s=x;
gotoxy(21,12); printf("%.2f",s);
}
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;
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);
PROCESO DO
WHILE
VALIDANDO
TERMINOS
IMPRIMO VALORES Y
LOS HAGO VALIDOS
DECISION SENTENCIA
IF
PROCESOS
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);
}
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);
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();
}
DECISION SENTENCIA
IF
PROCESOS
SENTENCIA DO WHILE Y
PROCESOS
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
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("*");
}
for (i=1;i<=24;i++)
{
gotoxy(1,i);printf("*");
gotoxy(80,i);printf("*");
}
getch();
}
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()
SENTENCIA FOR
SENTENCIA FOR
CERRAMOS EL
PROGRAMA
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;
do
{
fila=6;
clrscr();
//bordes
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("*");
}
//serie de pares
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;
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();
VALIDACION DE LOS TERMINOS ESTABLECIDAS EN NUESTRO PROGRAMA
PROCESO DE REPETICION
LIMPIADOR DE PANTALLA
SENTENCIA FOR
SENTENCIA FOR
VALIDACION DE LOS TERMINOS ESTABLECIDAS EN
NUESTRO PROGRAMA
SENTENCIA FOR
CERRAMOS EL PROCESOS
DE REPETICION
CERRAMOS EL
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
12.- Realizar un programa y visualizar los números primos.
5. ANÁLISIS DEL PROGRAMA:
#include<stdio.h>
#include<conio.h>
#include<string.h>
main()
{
int i, j, fla=7, lim, cnt=0, resul, op;
do
{
fla=7;
clrscr();
gotoxy(35,3);printf("NUMEROS PRIMOS");
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("*");
LIBRERIAS
VALIDACION DE LOS TERMINOS ESTABLECIDAS EN NUESTRO PROGRAMA
PROCESO DE REPETICION
SENTENCIA FOR
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)
{
cnt=cnt+1;
}
}
if(cnt==2)
{
gotoxy(40,fla);printf("%d",i);
fla=fla+1;
}
}
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:
DECISION SENTENCIA
IF
CERRAMOS 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>
main()
{
int i,j,m,l,f=1,op;
do
{
clrscr();
f=1;
//borde de pantalla
m=10;
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("*");
}
gotoxy(31,3);printf("FACTORIALES");
gotoxy(15,7);printf("ingrese el limite: ");scanf("%d",&l);
for (j=1;j<=l;j++)
{
f=f*j;
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();
}
LIBRERIAS
VALIDACION DE LOS TERMINOS ESTABLECIDAS EN NUESTRO PROGRAMA
PROCESO DE REPETICION
SENTENCIA FOR
IMPRIMO VALORES Y LOS
HAGO VALIDOS
SENTENCIA FOR Y SUS PROCESOS
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>
#include<conio.h>
main ()
{
int fac,lim,i,n,m,j,op ;
do
{
clrscr();
//borde de pantalla
m=9;
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("*");
LIBRERIAS
VALIDACION DE LOS TERMINOS ESTABLECIDAS EN NUESTRO PROGRAMA
PROCESO DE REPETICION
SENTENCIA FOR BORDE DE PANTALLA
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);
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("*");
gotoxy(23,m); printf("%d",j);
gotoxy(25,m); printf("=");
gotoxy(27,m); printf("%d",n);
m=m+1;
}
gotoxy(8,22); printf("presione 1 para regresar o 0 para salir: ");scanf("%d",&op);
}
while (op==1);
getch();
}
3. CORRIDO DEL PROGRAMA
IMPRIMO VALORES Y LOS HAGO VALIDOS
SENTENCIA FOR Y PROCESOS DE LA TABLA DE
MULTUIPLICAR
CERRAMOS
PROCESO DE
REPETICION
CERRAMOS EL
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>
#include<stdio.h>
main()
{
int i=0,j=0,lt,c,res=0,op=1,nc=0;
do
{
clrscr();
for(i=1;i<=24;i++)
{
gotoxy(1,i);printf("*");
gotoxy(79,i);printf("*");
}
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",<);
gotoxy(6,6);printf("1");
c=2;
for(i=2;i<=lt;i++)
{
for(j=1;j<=c;j++)
{
if(i%j==0)
{
nc=nc+1;
}
}
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();
}
LIBRERIAS
VALIDACION DE LOS TERMINOS ESTABLECIDAS EN NUESTRO
PROGRAMA
PROCESO DE REPETICION
LIMPIADOR DE PANTALLA
SENTENCIA FOR PARA
REALIZAR EL BORDE
VALIDACION DE LOS TERMINOS ESTABLECIDAS EN NUESTRO PROGRAMA
SENTENCIA FOR
SENTENCIA IF
CERRAMOS
PROCESO DE
REPETICION CERRAMOS EL
PROGRAMA
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>
#include<stdio.h>
void main()
{
int limite,i,fla,op;
do
{
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("*");
}
flushall();
gotoxy(25,5);printf("Series");
LIBRERIAS
VALIDACION DE LOS TERMINOS ESTABLECIDAS EN NUESTRO PROGRAMA
PROCESO DE REPETICION
SENTENCIA FOR PARA
REALIZAR EL BORDE
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;
}
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();
}
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
SENTENCIA FOR Y SUS
RESPECTIVOS PROCESOS
CERRAMOS PROCESO DE
REPETICION
CERRAMOS EL
PROGRAMA
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("*");
}
for(i=1;i<=24;i++)
{
gotoxy(1,i);printf("*");
gotoxy(80,i);printf("*");
}
gotoxy(16,2);printf("SERIE DE NUMEROS NUMERADOR
CUALQUIER,DENOMINADOR IMPAR");
gotoxy(10,3);printf("Ingrse el limite: ");scanf("%d",&l);
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);
d=d+2;
gotoxy(13,6+i);printf("%d",d);
gotoxy(9,6+i);printf("/");
}
gotoxy(10,20);printf("Desea continuar 1 caso contario 0: ");scanf("%d",&op);
}while(op==1);
getch();
}
11. CORRIDO DEL PROGRAMA
SENTENCIA FOR PARA
REALIZAR EL BORDE
IMPRIMO VALORES Y LOS HAGO VALIDOS
SENTENCIA FOR Y SUS
RESPECTIVOS PROCESOS
CERRAMOS
PROCESO DE
REPETICION CERRAMOS EL
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>
#include<stdio.h>
void main()
{
int s,f,i,d,j,op;
float factorial;
do
{
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("*");
}
gotoxy(15,2);printf("SERIE DE NUMEROS CON NUMERADOR
IMPAR E FACTORIAL DENOMINADOR");
gotoxy(10,3);printf("Ingrse el limite: ");scanf("%d",&s);
do
{
LIBRERIAS
VALIDACION DE LOS TERMINOS ESTABLECIDAS EN NUESTRO PROGRAMA
PROCESO DE REPETICION
LIMPIADOR DE PANTALLA
SENTENCIA FOR PARA
REALIZAR EL BORDE
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;
gotoxy(5,6+i);printf("%d",f);
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();
}
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 ()
SENTENCIA FOR Y SUS
RESPECTIVOS PROCESOS
CERRAMOS PROCESO DE REPETICION
CERRAMOS EL
PROGRAMA
LIBRERIAS
UNIVERSIDAD TÉCNICA DE AMBATO
FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA
PROGRAMACIÓN {
int i,l,j,c,d,s,p,op,fa;
do
{
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("*");
}
gotoxy(16,2);printf("SERIE DE NUMEROS NUMERADOR
CUALQUIER,DENOMINADOR PAR");
gotoxy(10,3);printf("Ingrse el limite: ");scanf("%d",&l);
gotoxy(10,4);printf("ingrese el factor:");scanf("%d",&fa);
c=0;
d=0;
for(i=1;i<=l;i++)
{
c=c+3;
gotoxy(5,6+i);printf("%d",c);
d=d+2;
gotoxy(13,6+i);printf("%d",d);
gotoxy(9,6+i);printf("/");
}
gotoxy(10,20);printf("Desea continuar 1 caso contario 0: ");scanf("%d",&op);
}while(op==1);
getch();
}
1. CORRIDO DEL PROGRAMA
VALIDACION DE LOS TERMINOS ESTABLECIDAS EN NUESTRO PROGRAMA
PROCESO DE REPETICION
SENTENCIA FOR PARA
REALIZAR EL BORDE
IMPRIMO VALORES Y
LOS HAGO VALIDOS
SENTENCIA FOR Y SUS
RESPECTIVOS PROCESOS
CERRAMOS PROCESO DE REPETICION CERRAMOS EL
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>
#include<stdio.h>
main()
{
int i, limit, fibon=0, colum=5, b=1, c=0, fac=1, op;
do
{
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("*");
}
for(i=1;i<=24;i++)
{
gotoxy(1,i);printf("*");
gotoxy(80,i);printf("*");
}
gotoxy(17,3);printf("SERIE NUMERADOR FACTORIAL
Y DENOMINADOR FIBONACCI");
gotoxy(4,5);printf("numero a visualizar: ");scanf("%d",&limit);
for(i=1;i<=limit;i++)
{
gotoxy(colum,9);printf("%d",fibon);
fibon=b+c;
b=c;
c=fibon;
gotoxy(colum,8);printf("-");
LIBRERIAS
VALIDACION DE LOS TERMINOS
ESTABLECIDAS EN NUESTRO PROGRAMA
PROCESO DE REPETICION
SENTENCIA FOR PARA
REALIZAR EL BORDE
IMPRIMO VALORES Y LOS HAGO VALIDOS
SENTENCIA FOR Y SUS
RESPECTIVOS PROCESOS
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;
}
gotoxy(3,22);printf("PRESIONE 1 PARA REPETIR LA SERIE O 0 PARA FINALIZAR>>
");scanf("%d",&op);
}
while(op==1);
getch();
}
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>
CERRAMOS PROCESO DE REPETICION
CERRAMOS EL
PROGRAMA
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()
{
int i, j, np, cot=0, c=5, resul, op, colum=15, imp=1, aux;
do
{
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("*");
}
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");
gotoxy(8,6);printf("Serie: ");
aux=0;
for(i=1;i<=(2*np);i++)
{
if(aux==np)
{break;
}
cot=0;
for(j=1;j<=i;j++)
{
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("-");
colum=colum+5;
gotoxy(c,9);printf("%d",imp);
imp=imp+2;
c=c+5;
}
VALIDACION DE LOS TERMINOS ESTABLECIDAS EN NUESTRO
PROGRAMA PROCESO DE REPETICION
SENTENCIA FOR PARA
REALIZAR EL BORDE
IMPRIMO VALORES Y LOS HAGO VALIDOS
SENTENCIA FOR Y SU
RESPECTIVOS PROCESOS
DECISION SENTENCIA IF Y
SUS PROCESOS
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:
");scanf("%d",&op);
}
while(op==1);
getch();
}
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>
CERRAMOS
PROCESO DE
REPETICION
CERRAMOS EL
PROGRAMA
LIBRERIAS
UNIVERSIDAD TÉCNICA DE AMBATO
FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA
PROGRAMACIÓN 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 main()
{
int op,col=8,l,i;
float a,p,nu,s,r,c,m,c1,di,d,dv,e;
clrscr();
do
{
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);
VALIDACION DE LOS TERMINOS ESTABLECIDAS EN NUESTRO PROGRAMA
LIMPIADOR DE PANTALLA
SENTENCIA FOR PARA
REALIZAR EL BORDE
VALIDACION DE LOS TERMINOS ESTABLECIDAS EN NUESTRO
PROGRAMA
PROCESO DE REPETICION
LLAMAMOS A LA FUNCION BORDE
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);
}
break;
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;
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, FOR Y LA IMPRESIÓN DE SUS
PROCESOS
DECISION SENTENCIA
IF Y SUS PROCESOS
CERRAMOS EL CASE
SENTENCIA CASE Y LA IMPRESIÓN DE SUS
PROCESOS
CERRAMOS EL CASE
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);
break;
}
gotoxy(3,23);printf("1 PARA VOLVER AL MENU DE DATOS
0 PARA FINALIZAR: ");scanf("%d",&op);
}
while(op==1);
getch();
}
1. CORRIDO DEL PROGRAMA:
CERRAMOS EL CASE
CERRAMOS PROCESO DE
REPETICION
CERRAMOS EL
PROGRAMA
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>
#include<stdlib.h>
#include<math.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++)
{
gotoxy(1,i);printf("*");
gotoxy(80,i);printf("*");
}
}
LIBRERIAS
VALIDACION DE LOS TERMINOS ESTABLECIDAS EN NUESTRO PROGRAMA
SENTENCIA FOR PARA
REALIZAR EL BORDE
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,
sum,min,sus,res,mult1,mult2,pro,di,div,coc;
float resp,f;
do
{
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");
gotoxy(10,11);printf("4.- DIVISION");
gotoxy(10,13);printf("5.- RAIZ CUADRADA");
gotoxy(10,15);printf("6.- POTENCIACION");
gotoxy(10,17);printf("7.- SALIR");
do
{
gotoxy(38,21);printf(" ");
gotoxy(10,21);printf("Que opcion desea realizar>> ");
scanf("%d",&op);
}while(op>7);
switch(op)
{
case 1:
do
{
clrscr();
borde();
gotoxy(33,3);printf("SUMA");
gotoxy(5,5);printf("Ingrese la primera cantidad>>");scanf("%d",&s1);
gotoxy(5,7);printf("Ingrese la segunda cantidad>>");scanf("%d",&s2);
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();
VALIDACION DE LOS TERMINOS ESTABLECIDAS EN NUESTRO PROGRAMA
PROCESO DE REPETICION
IMPRIMO VALORES Y LOS HAGO VALIDOS PARA EMPEZAR HACER EL MENU
VALIDAR CON LA SENTENCIA
WHILE
SENTENCIA CASE Y LA IMPRESIÓN DE SUS PROCESOS
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;
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) ;
break;
case 4:
do
{
clrscr();
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) ;
break;
case 5:
do
{
SENTENCIA CASE Y LA IMPRESIÓN DE SUS PROCESOS
CERRAMOS EL CASE
SENTENCIA CASE Y LA IMPRESIÓN DE SUS PROCESOS
CERRAMOS EL CASE
SENTENCIA CASE Y LA IMPRESIÓN DE SUS PROCESOS
LIMPIADOR DE PANTALLA
CERRAMOS EL CASE
PROCESO DE REPETICION
UNIVERSIDAD TÉCNICA DE AMBATO
FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA
PROGRAMACIÓN clrscr();
borde(
gotoxy(33,3);printf("RAIZ CUADRADA");
gotoxy(5,5);printf("ingrese el valor:");scanf("%d",&val);
resp=sqrt(val);
gotoxy(12,11);printf("respuesta>> %f",resp);
gotoxy(18,19);printf("PRESIONE 1 PARA REPETIR
EL PROCESO O 0 PARA FINALIZAR: ");scanf("%d",&opc);
}while(opc==1) ;
break;
case 6:
do
{
clrscr();
borde();
gotoxy(33,3);printf("POTENCIACION");
gotoxy(5,5);printf("ingrese la base:");scanf("%d",&b);
gotoxy(5,7);printf("ingrese el numero a exponer:");scanf("%d",&exp);
resul=b;
for(i=1;i<=exp-1;i++)
{
resul=resul*b;
gotoxy(12,11);printf("respuesta>> %d",resul);
}
gotoxy(18,19);printf("PRESIONE 1 PARA REPETIR
EL PROCESO O 0 PARA FINALIZAR: ");scanf("%d",&opc);
}while(opc==1) ;
break;
case 7:
exit;
break;
}
}
gotoxy(18,22);printf("DESEA VOLVER AL
MENU PRINCIPAL 1/0: ");scanf("%d",&aux);
}
while(aux==1);
getch();
}
2. CORRIDO DEL PROGRAMA:
LLAMAMOS A LA FUNCION BORDE
SENTENCIA CASE Y LA IMPRESIÓN DE SUS
PROCESOS
SENTENCIA CASE Y LA IMPRESIÓN DE SUS PROCESOS
CERRAMOS CASE
PROCESOS DE REPETICION
PROCESO FOR Y PROCESOS
CERRAMOS PROCESO DE
REPETICION
CERRAMOS CASE
SALIR TOTALMENTE DEL PROGRAMA
CERRAMOS PROCESO DE
REPETICION
CERRAMOS EL 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>
#include<stdlib.h>
void borde()
{
int i;
LIBRERIAS
VALIDACION DE LOS TERMINOS ESTABLECIDAS EN NUESTRO PROGRAMA
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("*");
}
for(i=1;i<=24;i++)
{
gotoxy(1,i);printf("*");
gotoxy(80,i);printf("*");
}
}
void main()
{
int i, l,a,p, op,opc,aux=0,ba,al,l1,l2,l3,r,d;
float pi=13.141516;
do
{
clrscr();
{
borde();
gotoxy(20,3);printf("<<AREAS Y PERIMETROS DE
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();
SENTENCIA FOR PARA
REALIZAR EL BORDE
VALIDACION DE LOS TERMINOS ESTABLECIDAS
EN NUESTRO PROGRAMA
PROCESO DE REPETICION
MENU DE OPCIONES
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);
getch();
}
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++)
CERRAMOS 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 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;
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++)
{
gotoxy(1,i);printf("±");
gotoxy(80,i);printf("±");
}
}
void numero()
{
do
{
gotoxy(24,4);printf(" ");
gotoxy(15,4);printf("Numero 1; ");scanf("%d",&a);
}
while(a>64 || a<4);
do
{
gotoxy(24,5);printf(" ");
LIBRERIAS
Declaración de variables
Impresión del margen
Inicio de la función void main
Inicio del do
Ingreso el primer numero
Inicio del do
Ingreso el segundo numero
Si ese numero cumple con la condición
empleada pide el siguiente numero
Inicio de la función borde
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);
}
while(b>64 || b<4);
do
{
gotoxy(24,6);printf(" ");
gotoxy(15,6);printf("Numero 3: ");scanf("%d",&c);
}while(c>64 || c<4);
}
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);
}
}
if(b<=a && b<=c)
{
if(a<=c)
{
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)
{
Si ese numero cumple con la condición
empleada pide el siguiente numero
Inicio del do
Ingreso el tercer numero
Inicio de la función void orden
Proceso para presentar
los números ingresados
en forma ordenada
ascendentemente.
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();
numero();
orden();
gotoxy(15,22);printf("Desea salir 1/0: ");scanf("%d",&op);
}
while(op==1);
getch();
}
4. CORRIDO DEL PROGRAMA
Borrar pantalla
Llamar al borde
Llamar a la función
numero Llamar a la función orden
ordennumero
Fin del programa
Si la opción ingresada por el usuario es igual a 1 el
proceso se repetirá
Inicio de la función principal
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>
#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()
{
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 perfecto(int l)
{
r=pow(dos,ex);
s=pow(dos,ex2);
v=r*(s-1);
gotoxy(7,8);printf("%d",v);
for(i=1;i<=l-1;i++)
{
LIBRERIAS
Declaración de variables
Inicio de la función borde
Impresión del margen
Operaciones para sacar los
números perfectos
Inicio de la función void
perfecto
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;
expo3=expo3+2;
c=a*(b-1);
gotoxy(7,f);printf("%d",c);
f=f+1;
}
}//cierre del void
void main()
{
do
{
f=9,dos=2,ex=1,ex2=2,expo2=2,expo3=3,f=9;
clrscr();
borde();
gotoxy(30,4);printf("SERIE DE NUMEROS PERFECTOS");
gotoxy(5,6);printf("Ingrese un limite: ");scanf("%d",&l1);
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);
getch();
}
Operaciones para sacar los
números perfectos
Borrar pantalla
Llamar al borde
Impresión del titulo
Ingreso del limite
Llamo a la función perfecto
Si la opción ingresada por el usuario es igual a 1 el
proceso se repetirá
Fin del
programa
Impresión de los números
perfectos
Declaración de variables
Inicio de la función principal
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 GRADO\n");
gotoxy(2,4);printf("====================================================
==========\n");
gotoxy(10,5);printf("El programa soluciona la ecuación de segundo grado\n");
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);
/* Cálculos y resultados */
discriminante = b*b - 4*a*c; // calculo de discriminate
printf("\n La ecuacion\n");
printf(" %14d\n", 2);
printf(" %12gx + %gx + %g = 0\n", a, b, c); // impresiones
printf(" tiene por soluciones ");
if (discriminante == 0) // sentencia si dis es = a 0
{ // inicio de if
printf(" una raiz real doble\n"); // impresión
x1 = x2 = -b / (2*a); // calculo
printf(" x1 = %.2f\n", x1);
printf(" x2 = %.2f\n", x2); // impresión en pantalla
} // fin de if
else if (discriminante > 0) //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 reales\n");
x1 = (-b + sqrt(discriminante)) / (2*a);
x2 = (-b - sqrt(discriminante)) / (2*a);
// impresiones
printf("x1 = %.2f\n", x1);
printf("x2 = %.2f\n", x2);
}
Else // caso contrario
{ //impresión en pantalla
printf("dos raíces complejas conjugadas\n");
//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);
} //fin del ese
} // fin de la función
void main () // 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 do-while para validar el día de nacimiento.
Comentario [SC6]: Ingreso del día de nacimiento.
Comentario [SC7]: Cierre del lazo do-while para validar el día de nacimiento.
Comentario [SC8]: Inicio del lazo do-while para validar el mes de nacimiento.
Comentario [SC9]: Ingreso del mes de nacimiento.
Comentario [SC10]: Inicio del lazo do-while para validar el mes de nacimiento.
Comentario [SC11]: Ingreso del año de nacimiento.
Comentario [SC12]: Inicio del lazo do-while para validar el día actual.
Comentario [SC13]: Ingreso del día actual.
Comentario [SC14]: Cierre del lazo do-while para validar el día actual.
Comentario [SC15]: Inicio del lazo do-while para validar el mes actual.
Comentario [SC16]: Ingreso del mes actual.
Comentario [SC17]: Cierre del lazo do-while 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 do-while para validar que el número ingresado sea de 4 cifras.
Comentario [SC24]: Ingreso de un número.
Comentario [SC25]: Cierre del lazo do-while 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 do-while 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 do-while 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 do-while 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 do-while 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>
#include<conio.h>
int i;
void borde()
{
for(i=1;i<=80;i++)
{
gotoxy(i,1); printf("*");
gotoxy(i,24); printf("*");
}
for(i=1;i<=24;i++)
{
Librerías que vamos a utilizar en el programa
Declaramos la variable global
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()
{
int vector1[10],fila,op,lim;
do
{
clrscr();
borde();
gotoxy(25,3); printf("**VISUALIZAR DATOS VECTOR**");
gotoxy(10,5); printf("INGRESE EL LIMITE==>");
scanf("%d",&lim);
fila=6;
for(i=1;i<=lim;i++)
{
do
{
gotoxy(20,fila); printf(" ");
gotoxy(20,fila); scanf("%d",&vector1[i]);
}
while(vector1[i]<3 || vector1[i]>23);
Realizamos el programa principal y declaramos la
variables que vamos a utilizar en el programa principal
Aquí damos un limite al vector
para poder dar datos
numéricos a un limita vector
Ingresamos el limite
Ingresamos los números para que se llene
el vector previamente dado un limite
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++)
{
gotoxy(40,fila); printf("%d",vector1[i]);
fila=fila+1;
}
gotoxy(10,20); printf("PRESIONE 1 PARA REPETIR EL PROGRAMA CASO
CONTRARIO 0==>");
scanf("%d",&op);
}
while(op);
getch();
}
DOCUMENTACIÓN
Aquí se visualiza el vector que
ingresamos en otra posición
Ingresamos otra opción para ver si se repite el programa n veces
Visualiza la opción y da por terminado el 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 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; Declaracion de variables globales
void borde() Inicio de 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("*");
}
}
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:"); Mensaje en la pantalla
for(i=1;i<=lim;i++) Inicio de un lazo for de un limite dado hasta un limite dado
{
gotoxy(60,fila);printf("%d",vector1[i]); Impremir el resultado
fila=fila+1;
} Cierre de lazo for
} cierre de la funcion
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; declareacion devariables
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]); leer la variable
gotoxy(col+10,fila);scanf("%d",&vector2[i]);
fila=fila+1; posiciones en la pantalla
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"); Mensaje en la pantalla
for(i=1;i<=limites;i++) Inicio de un lazo for
{
sumavector[i]=vector1[i]+vector2[i]; formula para realizar la suma
gotoxy(60,fila);printf("%d",sumavector[i]); Imprimir el resultado
fila=fila+1; 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>
#include<stdlib.h>
int multivec[15],opc,divisionvec[15],
restavec[15],i,op,col,fila,vector1[15],vector2[15],
sumavec[15],limite1;
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 ingreso(int limite1)
{
Ingreso las
librerías
Declaración de
variables
Función borde
Este proceso es
para realizar el
borde
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++)
{
gotoxy(col,fila); scanf("%d",&vector1[i]);
gotoxy(col+10, fila); scanf("%d",&vector2[i]);
fila=fila+1;
}
}
void suma(int limite1)
{
fila=8;
for(i=1;i<=limite1;i++)
{
sumavec[i]=vector1[i]+vector2[i];
gotoxy(40,fila); printf("%d",sumavec[i]);
fila=fila+1;
}
}
void resta(int limite1)
{
fila=8;
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.
Función para realizar la suma
Abrimos con una llave
Ingresamos el valor de la fila en la que va a
empezar a visualizarse los datos del vector.
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.
Función para realizar la resta
Abrimos con una llave
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;
}
}
void multi(int limite1)
{
fila=8;
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, 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.
Función para realizar la multiplicación
Abrimos con una llave
Ingresamos el valor de la fila en la que va a
empezar a visualizarse los datos del vector.
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)
{
fila=8;
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;
}
}
void main()
{
do
{
Función para realizar la división.
Abrimos con una llave
Ingresamos el valor de la fila en la que va a
empezar a visualizarse los datos del vector.
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.
Función principal del programa.
Abrimos con una llave
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();
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:
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);
Limpia la pantalla.
Llama a la función borde.
Diseño de pantalla.
Utilizamos la sentencia
switch para el menú de
opciones.
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");
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();
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.
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);
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;
}
clrscr();
borde();
gotoxy(10,23);
printf("SI DESEA VOLVER AL MENU PRESIONE 1 CASO CONTRARIO
O==>");
scanf("%d",&op);
}
while(op==1);
getch();
}
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.
Cerramos el switch
limpiamos pantalla y
volvemos a llamar a la
función borde.
Cerramos el ciclo do while
escribiendo un mensaje
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>
#include<stdlib.h>
int i, j=1, f, vect[10], vectpar[10], vectimp[10], op, l;
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("*");
Activación de librería esto habilita
procesos para el programa
Declaración de variables
que se utilizaran en el
programa
Función borde
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;
}
}
f=10;
for(i=1;i<j;i++)
{
gotoxy(39,f);printf("%d",vectpar[i]);
f=f+1;
}
}
void impar()
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
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++)
{
if(i%2==1)
{
vectimp[j]=vect[i];
j=j+1;
}
}
f=10;
for(i=1;i<j;i++)
{
gotoxy(60,f);printf("%d",vectimp[i]);
f=f+1;
}
}
void main()
{
do
{
flushall();
f=10;
clrscr();
bdob();
gotoxy(36,3);printf("VECTORES");
Comparación si la función es impar
Almacenamiento en un nuevo
vector
Impresión de datos de las
posiciones impares
Programa principal
Do while este nos ayuda a
utilizar el programa cuantas
veces deseemos
Limpia pantalla
Llama a la función del borde
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);
do
{
gotoxy(20,f);printf(" ");
gotoxy(20,f);scanf("%d",&vect[i]);
}
while(vect[i]<6 || vect[i]>26);
f=f+1;
}
par();
impar();
gotoxy(3,22);printf("PRESIONE 1 PARA CONTINUAR O 0CASO CONTRARIO::>
");scanf("%d",&op);
}
while(op==1);
getch();
}
Ingreso de datos del vector
Validación de los datos, estos
deben ser mayor que seis y
menor que veinte y seis
Llama a la función par
Llama a la función impar
Cierre del do while
Cierre o fin del programa
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()
{
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)
{
a=1;
b=0;
f=1;
gotoxy(9,6);printf("FIBONACI FACTOREAL");
for(i=1;i<=m;i++)
ELABORACION DE UN BORDE PARA
DISEÑO DE PANTALLA UTILIZANDO
POSICIONES.
FUNCION SERIE DONDE GENERARA
EL FIBONACI Y EL FACTOREAL
IGUALACION DE VARIABLE. DESDE
QUE NUMERO DESEAMOS QUE
EMPIESE
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;
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)
{
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()
{
REALIZARA OPERACIONES PARA
CALCULAR FIBONACI Y FACTOREAL
IMPRIMIRA LOS RESULTADOS DE
FIBONACI Y FACTOREAL
COMPRUEBA SI LA POSICION ES
PAR O IMPAR
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();
gotoxy(30,2);printf("... SERIE CON VECTORES ...");
gotoxy(10,4);printf("LIMITE::> ");scanf("%d",&n);
serie(n);
gotoxy(15,22);printf("DESEA CONTINUAR DIJITE 1 CASO CONTRARIO 0 ==> ");scanf("%d",&op);
}while(op==1);
getch();
}
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
CICLO DO WHILE ESTE
AYUDARA A REGRESAR AL
PROGRAMA CUANTAS VECES
DE DESEE
LLAMAMOS A LA FUNCION DEL
BORDE
INGRESAREMOS UN LMITE
CIERRE O FIN DEL PROGRAMA
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>
#include<stdio.h>
int i, f, vect[100], vectbusq[100], lim, op;
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("º");
}
Librerías principales
Variables Globales
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;
for(i=1;i<=l;i++)
{
if(vect[i]%2==0)
{
gotoxy(34,f);printf("%d",vect[i]);
f=f+1;
}
}
f=9;
for(i=1;i<=l;i++)
{
if(vect[i]%2==1)
{
gotoxy(55,f);printf("%d",vect[i]);
Función donde realizaremos el proceso del ejercicio
Abrimos llave para nuestra Función.
Igualación de variables
Este for nos indica el límite y
abrimos la llave del primer for.
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.
Cerramos la llave del primer for
Igualación de la variable
Este es un segundo for nos indica el límite
y abrimos llave para inicializar el for.
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()
{
do
{
clrscr();
bdob();
gotoxy(21,3);printf("<<BUSQUEDA DE # PARES E
IMPARES_VECTORES>>");
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>>");
f=9;
Comenzaremos con el programa principal.
Abrimos la sentencia.
Do.
Limpiar pantalla.
Llamamos a la función borde.
Impresión de mensajes
Posición de fila
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++)
{
do
{
gotoxy(18,f);printf(" ");
gotoxy(18,f);scanf("%d",&vect[i]);
}
while(vect[i]<3 || vect[i]>33);
f=f+1;
}
busq(lim);
gotoxy(3,22);printf("Presione 1 para volver a ingresar vectores o 0 para
finalizar>> ");scanf("%d",&op);
}
while(op==1);
getch();
}
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.
Este for nos indica el límite e abrimos
llave.
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.
Cerramos llave
Llamamos a la función
Imprimimos el mensaje
Aquí cerramos la llave del ciclo do while damos
pause a nuestro programa y cerramos llave.
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.
#include<stdio.h> #include<conio.h> int j,fila,vecfi[10],i,f1,f2,limite,facpar,facimp,op; void borde() { for(i=1;i<=24;i++) { gotoxy(2,i);printf("-"); gotoxy(80,i);printf("-"); } for(i=1;i<=80;i++)
Librerías
Declaración de variables
Función global para el borde,
e inicio del ciclo, da color
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; int limitetab; 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; } else { vecfi[i]=facimp*limitetab; gotoxy(10,fila);printf("%d",vecfi[i]); fila=fila+1; } } } void main() { do { clrscr(); borde(); gotoxy(8,4);printf("Ingrese el limite: "); scanf("%d",&limite); do { gotoxy(5,6); printf(" "); gotoxy(5,6);printf("par:");scanf("%d",&facpar); } while(facpar%2==1); do { gotoxy(5,7); printf(" "); gotoxy(5,7);printf("impar: ");scanf("%d",&facimp); } while(facimp%2==0); factor(); gotoxy(3,22); printf("nuevo proceso 1 salir 0: "); scanf("%d",&op);
Inicio de la función factor
y del ciclo for
Condición para calcular los
factores impares y pares
Inicio del programa
principal
Inicio de el ciclo do while
llamamos al borde ye
ingresamos el limite
Ingreso de los
números pares
Ingreso de los impares,
repetición del proceso y fin
del programa
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("-"); } }
Proceso de borde
Librerías, declaración de
variables he inicio de la
función 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();
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(); }
Usamos una
condición Y para
la impresión un
for mas para el
vector
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
#include<stdio.h>
#include<conio.h>
int op,i,j,limite,au,aux,mu,factor,fa,fila,vecto[15];
void borde()
{
Ingreso las
librerías
Declaración de
variables
Función 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("*");
gotoxy(i,24);printf("*");
}
for(i=1;i<=24;i++)
{
gotoxy(1,i);printf("*");
gotoxy(80,i);printf("*");
}
}
void facto()
{
fila=9;
mu=0;
au=1;
factor=1;
for(i=1;i<=limite;i++)
{
Este proceso es
para realizar el
borde
Función de la serie
Igualación de las
variables
Que el for vaya
hasta el límite
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;
}
else
{
factor=factor*au;
au=au+1;
vecto[i]=factor;
}
gotoxy(7,fila);printf("%d",vecto[i]);
fila=fila+1;
}
}
void orden()
{
for(i=1;i<=limite;i++)
{
for(j=1;j<=limite;j++)
{
if(vecto[i]<vecto[j])
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
Ingresamos una
nueva función que se
llama orden
UNIVERSIDAD TÉCNICA DE AMBATO
FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA
PROGRAMACIÓN
{
aux=vecto[i];
vecto[i]=vecto[j];
vecto[j]=aux;
}
}
}
fila=9;
for(i=1;i<=limite;i++)
{
gotoxy(20,fila);printf("%d",vecto[i]);
fila=fila+1;
}
fila=9;
for(i=1;i<=limite;i++)
{
for(j=1;j<=limite;j++)
{
if(vecto[i]>vecto[j])
{
aux=vecto[i];
vecto[i]=vecto[j];
vecto[j]=aux;
}
}
}
Llama a la función
de borde
Limpio de pantalla
Posición en donde
que quiero que se
me imprima printf
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]
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]
UNIVERSIDAD TÉCNICA DE AMBATO
FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA
PROGRAMACIÓN
fila=9;
for(i=1;i<=limite;i++)
{
gotoxy(35,fila);printf("%d",vecto[i]);
fila=fila+1;
}
}
void main()
{
do
{
clrscr();
borde();
gotoxy(25,3);printf("FacPares/Impares");
gotoxy(12,5);printf("Ingrese el limite: ");scanf("%d",&limite);
gotoxy(10,7);printf("Factor: ");scanf("%d",&fa);
facto();
Después vamos a
mandar otro for que
vaya hasta el límite y
después vamos a
imprimir el vector [i]
Abro el programa
Abro el do
Llama a la función
de borde
Limpio de pantalla
Posición en donde
que quiero que se
me imprima printf
Pide el límite que
quieres imprimir
Pide el factor que
quieres imprimir
Llamo a la función
facto
UNIVERSIDAD TÉCNICA DE AMBATO
FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA
PROGRAMACIÓN
orden();
gotoxy(5,20);printf("Presione 1 para repetir el proceso o 0 para salir: ");scanf("%d",&op);
}
while(op==1);
getch();
}
CORRIDO
Se me imprime
mensaje para
continuar o terminar
el programa
Cierro la función de
do-while
Llamo a la función
orden
Cierro el programa
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>
#include<stdio.h>
int f1, aux, num, i, j, f, vect[100];
int vectser[100], lim, op, cont;
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++)
Ingresamos las librerías que vamos a utilizar
Ingresamos las variables que vamos a utilizar, son variable
de tipo enteras
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)
{
f=9;
f1=9;
for(j=1;j<=l;j++)
{
do
{
gotoxy(18,f);printf(" ");
gotoxy(18,f);scanf("%d",&vect[j]);
}
while(vect[j]<3 || vect[j]>25);
f=f+1;
cont=0;
for(i=1;i<=vect[j];i++)
{
if(vect[j]%i==0)
{
cont=cont+1;
}}
if(cont==2)
Aquí realizamos una función para
poder verificar si un número es o no
primo
Aquí imprimimos y validamos el vector ingresado que este
entre parámetro que nos dieron para realizarlo
Sumamos a la fila (f=f+1), y igualamos a cero el contador
Este for es para que se imprima en las filas pares
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;
}}}
void orden(int l)
{
for(i=1;i<=l;i++)
{
for(j=1;j<=l;j++)
{
if(vectser[i]<vectser[j])
{
aux=vectser[i];
vectser[i]=vectser[j];
vectser[j]=aux;
}}}
gotoxy(29,9);printf("ASCE");
f=11;
for(i=1;i<=l;i++)
{
gotoxy(39,f);printf("%d",vectser[i]);
f=f+1;
}
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 dse le pregunta con un if si el
Esta función es para poder ordenar al vector de manera ascendente y descendente
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].
Aquí utilizamos una variable auxiliar
para que tome el valor de otra variable
Igualamos la fila a 11
Imprimimos al vector de manera ascendente
Estos for son para que se imprima
hasta un cierto límite.
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];
vectser[i]=vectser[j];
vectser[j]=aux;
}}}
gotoxy(52,9);printf("DESC");
f=11;
for(i=1;i<=l;i++)
{
gotoxy(62,f);printf("%d",vectser[i]);
f=f+1;
}}
void main()
{
do
{
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");
Aquí utilizamos una variable auxiliar
para que tome el valor de otra variable
Imprimimos al vector de manera descendente
Realizamos el programa principal
Ponemos una sentencia do-while para que se pueda repetir n veces.
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);
orden(lim);
gotoxy(3,22);printf("Otra vez si1/no 0: ");scanf("%d",&op);
}
while(op==1);
getch();
}
CORRIDO DEL PROGRAMA
Llamamos a las demás funciones que ya realizamos.
Cerramos el lazo do-while
Terminamos con un getch(); y con la llave.
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>
#include<string.h>
#include<ctype.h>
char cadena[20],vecimpar[20];
int i,fi,op,n,h;
void borde()
Librerías
Declaracion de variables tipo caracter
Inicio función borde
Declaracion de variables enteras
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++)
{
textcolor(i+1);
gotoxy(i,1);cprintf("*");
gotoxy(i,24);cprintf("*");
}
for (i=1;i<=24;i++)
{
textcolor(i+1);
gotoxy(1,i);cprintf("*");
gotoxy(80,i);cprintf("*");
}
}
void cad()
{
flushall();
gotoxy(30,5);gets(cadena);
l=strlen(cadena);
fila=9;
for(i=0;i<l;i++)
{
textcolor(i+1);
gotoxy(23,fi);cprintf("%c",cadena[i]);
Inicio función cad
Fin función borde
Fin ciclo for
Impresión borde
color
Inicio ciclo for
color
Impresión borde
Fin ciclo for
Inicio ciclo for
Palabra reservada que permite funcionar ciclo do while
Impresión cadena
Igualación limite palabra reservada strlen
Igualación fila a 9
Inicio ciclo for
Impresión vector ingresante
Contador mas 1
color
UNIVERSIDAD TÉCNICA DE AMBATO
FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA
PROGRAMACIÓN fila=fila+1;
}
}
void cont()
{
h=1;
for(i=0;i<n;i++)
{
vecimpar[h]=cadena[i];
h=h+1;
}
fila=8;
for(i=0;i<h;i++)
{
gotoxy(45,fi);printf("%c",vecimpar[i]);
fila=fila+1;
}
}
void main()
{
do
{
clrscr();
borde();
gotoxy(25,3);printf("<< CARACTERES >>");
Inicio función cont
Igualación variable a 1
Inicio ciclo for
Igualación vector auxiliar a vector ingresante
Fin ciclo for
Fin función cadena
Contador mas 1
Fin ciclo for
Igualación variable fila a 8
Inicio ciclo for
Impresión vector resultante
Contador mas 1
Fin ciclo for
Fin funcion cad
Inicio función principal
Inicio ciclo do while
Blanqueo de pantalla
Se llama a la funcion borde
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 : ");
gotoxy(15,7);printf("<< V REALIZADO>>");
gotoxy(38,7);printf("<< V.RESULTANTE>>");
cad();
cont();
gotoxy(12,22);printf("PULSE 1 PARA CONTINUAR O 0 PARA SALIR : ");scanf("%d",&op);
}
while(op==1);
getch();
}
CORRIDO DEL PROGRAMA
Impresión titulos
Se llama a la funcion cad
Se llama a la función cont
Impresión
repetición
Fin ciclo do while
Fin 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); gotoxy(i,1);cprintf("*"); gotoxy(i,24);cprintf("*"); } for(i=2;i<=23;i++) { textcolor(17); gotoxy(1,i);cprintf("*"); gotoxy(80,i);cprintf("*"); } }
Abrimos las librerías
Iniciamos los valores de nuestro programa
Nuestro borde
Función que ocuparemos
después
UNIVERSIDAD TÉCNICA DE AMBATO
FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA
PROGRAMACIÓN
void nomb() { flushall(); gotoxy(12,5);gets(nombre); n=strlen(nombre); fi=5; for(i=0;i<n;i++) { if(islower (nombre[i])) { nombre[i]=toupper(nombre[i]); textcolor(i+1); 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); }} } void main() { do { clrscr(); borde(); nomb(); textcolor(2); gotoxy(12,18);cprintf("ingrese el caracter ");scanf("%c",&a); textcolor(3); for(i=0;i<n;i++) { if(nombre[i]==a) { 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(); }
Permite leer el carácter
Permite almacenar en otro vector
For para ingresar el vector,
utilizamos la función textcolor para
poner color a las letras
Comenzaremos con el
programa principal
Abrimos la Sentencia do
Borrado de pantalla y llamado de la función borde
Llamamos a las funciones
Cerramos la sentencia do
while
Pausado en el programa y
cerrado del programa
Imprimir el título y subtítulos
de nuestro programa
For para su limite y el if para buscar
su posición par
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; } } void main() { do { clrscr(); borde(); textcolor(2); gotoxy(15,3);cprintf("VECTORES"); nomb(); impar(); gotoxy(5,22);cprintf("Desea repetir 1 Salir 0: ");scanf("%d",&op); }while(op==1); getch(); }
Inicio del programa
Sentencia do while
Borrar pantalla Función borde
Funciones
Pausa 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++) { textcolor(5); gotoxy(20,8);cprintf("CONSONANTES"); textcolor(i+1); gotoxy(8,fi);cprintf("%c",tex[i]); 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' ) { tex1[h]=tex[i]; textcolor(i+1); gotoxy(25,fi);cprintf("%c",tex1[h]); h=h+1; fi=fi+1; } } } void main() { do { clrscr(); borde(); textcolor(5); gotoxy(25,3);cprintf("VECTORES"); conso(); gotoxy(5,22);printf("Repetir el proceso 1 salir 0: ");scanf("%d",&op); }while(op==1); getch(); }
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.
Inicio del programa
Sentencia do while
Borrar pantalla Función borde
Funciones
Pausa 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>
#include<conio.h>
int i,op,fila,a;
char nom[40];
void borde()
{
for(i=1;i<=80;i++)
{
textcolor(i+1);
gotoxy(i,1);printf("!");
gotoxy(i,24);printf("!");
}
for(i=2;i<=24;i++)
{
textcolor(i+1);
gotoxy(1,i);printf("!");
gotoxy(80,i);printf("!");
}
}
void inver()
{
flushall();
Librerías
Declaración de variables
Función global para el borde, e inicio
del ciclo, da color
Impresión del borde, cierre del ciclo
Función global para el borde, e inicio
del ciclo, da color
Impresión del borde
Cierre del ciclo y de la
función
Función global e inicio
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++)
{
textcolor(i+1);
gotoxy(30,fila);cprintf("%c",nom[i]);
fila=fila+1;
}
fila=8;
for(i=a;i>=0;i--)
{
textcolor(i+1);
gotoxy(45,fila);cprintf("%c",nom[i]);
fila=fila+1;
}
}
void main()
{
do
{
clrscr();
borde();
gotoxy(32,2);printf("**Cadena de Caracteres Invertida**");
Ciclo “FOR” ,color para e vector
Impresión del vector en forma
vertical
Proceso de la forma
invertida con ciclo “for”
Impresión del nuevo vector
invertido y con color
Cierre del ciclo y de la
función
Función principal e inicio
Inicio del ciclo “do-while”
Limpiado de pantalla y
llamado de la función borde
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();
gotoxy(12,22);printf("Digite 1 para continuar o 0 para salir : ");scanf("%d",&op);
}while(op==1);
getch();
}
Corrido:
Llamado de la función
global
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]; //DECLARACION DE VARIABLES GLOBALES ENTERAS Y DE CARACTER//
int x,li,lim,i,p,l2;
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);
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()
{
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("%c\n",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)
FUNCIÓN BORDE
FUNCION PARA SACAR CONSONANTES
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
#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()
Fin de programa
Declaración de variables
Función 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<=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");
Lazo For
Lazo For
Inicio de Función
Proceso Matemático
Sentencias
Inicio de Función
Proceso Matemático
Sentencias
UNIVERSIDAD TÉCNICA DE AMBATO
FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA
PROGRAMACIÓN
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(" ");
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
UNIVERSIDAD TÉCNICA DE AMBATO
FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA
PROGRAMACIÓN
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:
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
UNIVERSIDAD TÉCNICA DE AMBATO
FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA
PROGRAMACIÓN
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();
}
Corrido
Llamado de funciones
Sentencias
Proceso matemático
Sentencias
Case 5
Sentencias
Fin del programa
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
#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; } }
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
UNIVERSIDAD TÉCNICA DE AMBATO
FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA
PROGRAMACIÓ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
Funciones primos
Inicialización variables
Lazo For
Condición If
Fin función
Función Ascendente
Lazo For
Fin de función
UNIVERSIDAD TÉCNICA DE AMBATO
FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA
PROGRAMACIÓN
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); }
Corrido
Función descendente
Lazo for
Fin de función
Función principal
Llamado de funciones
Lazo Do While
Fin de función
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> #include<conio.h> int j,i,k,op,matriz1[10][10],col=10,fila=8,limite,datos,sali,f; void borde() { for(k=2;k<=80;k++) { gotoxy(k,2);printf("-"); gotoxy(k,24);printf("-"); } 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++) { for(j=1;j<=limite;j++) { gotoxy(col,fila); scanf("%d",&matriz1[i][j]); col=col+5; } col=10; fila=fila+1; } } void sal(int sali)
Librerías
Declaración de variables
Función para el diseño del borde
Función para el ingreso de los
datos de la matriz utilizando ciclos
FOR
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++) { for(j=1;j<=limite;j++) { gotoxy(col,fila); printf("%d",matriz1[i][j]); col=col+5; } col=40; fila=fila+1; } } void main() { do { clrscr(); borde(); gotoxy(3,3); printf("Ingrese un límite: "); scanf("%d",&limite); ing(datos); sal(sali); gotoxy(4,22); printf("NUEVO 1 SALIR 0: "); scanf("%d",&op); } while(op==1); getch(); }
4. CORRIDO DEL PROGRAMA:
Función para la impresión de
nuestra matriz utilizando ciclos
FOR
Cuerpo principal del programa
Ciclo DO-while para repetir n veces
Blanqueo de pantalla
Llamado de la función del
borde
Llamado de las funciones de la matriz
Ingreso del límite de datos
Ciclo DO-while para repetir n
veces
Pausar pantalla
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>
#include<stdio.h>
int fil, col, aux, i, j, mat[10][10], vect[10], lim, op, a, b, c, h;
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 diag()
{
Declaración de variables
Librerías
Función global para el borde
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;
gotoxy(col,fil);printf("%d",mat[i][j]);
col=col+4;
}
col=5;
fil=fil+3;
}
}
void dprinc()
{
col=21;
fil=8;
h=1;
Proceso para calcular la
serie del fibonasi
Condición para calcular la
diagonal
Inicio de la función calcular
la diagonal principal
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;
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]);
Función para calcular la
diagonal secundaria
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();
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>>");
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);
Función donde a
proseguimos a imprimir
los datos
Pedimos los respectivos
datos.
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; Resta H = b – a; Multiplicación h = a*b
H=2+5 b>a h= 5-2 h= 3*4
H=7 h= 3 h= 12
División h=b/a; Potenciación h= Radicación h=
b>a h=6/3 h= h=
h=2 h=8 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 km; M; Cm; mm
M km; Dm; Cm; mm
Cm km; Dm; M; mm
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