215
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

Programación estructurada

Embed Size (px)

DESCRIPTION

Algoritmo, Educacion, POO

Citation preview

Page 1: Programación estructurada

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

Page 2: Programación estructurada

Í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

Page 3: Programación estructurada

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

Page 4: Programación estructurada

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

Page 5: Programación estructurada

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

Page 6: Programación estructurada

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

Page 7: Programación estructurada

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

Page 8: Programación estructurada

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

Page 9: Programación estructurada

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

Page 10: Programación estructurada

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

Page 11: Programación estructurada

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.

Page 12: Programación estructurada

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

Page 13: Programación estructurada

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

Page 14: Programación estructurada

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

Page 15: Programación estructurada

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

Page 16: Programación estructurada

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

Page 17: Programación estructurada

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

Page 18: Programación estructurada

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

Page 19: Programación estructurada

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

Page 20: Programación estructurada

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

Page 21: Programación estructurada

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

Page 22: Programación estructurada

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

Page 23: Programación estructurada

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

Page 24: Programación estructurada

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

Page 25: Programación estructurada

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

Page 26: Programación estructurada

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

Page 27: Programación estructurada

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

Page 28: Programación estructurada

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

Page 29: Programación estructurada

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

Page 30: Programación estructurada

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

Page 31: Programación estructurada

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

Page 32: Programación estructurada

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

Page 33: Programación estructurada

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.

Page 34: Programación estructurada

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

Page 35: Programación estructurada

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

Page 36: Programación estructurada

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

Page 37: Programación estructurada

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

Page 38: Programación estructurada

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

Page 39: Programación estructurada

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

Page 40: Programación estructurada

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

Page 41: Programación estructurada

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

Page 42: Programación estructurada

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

Page 43: Programación estructurada

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

Page 44: Programación estructurada

UNIVERSIDAD TÉCNICA DE AMBATO

FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA

PROGRAMACIÓN

Page 45: Programación estructurada

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

Page 46: Programación estructurada

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

Page 47: Programación estructurada

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

Page 48: Programación estructurada

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

Page 49: Programación estructurada

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

Page 50: Programación estructurada

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

Page 51: Programación estructurada

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

Page 52: Programación estructurada

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

Page 53: Programación estructurada

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

Page 54: Programación estructurada

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

Page 55: Programación estructurada

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

Page 56: Programación estructurada

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

Page 57: Programación estructurada

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

Page 58: Programación estructurada

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

Page 59: Programación estructurada

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",&lt);

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

Page 60: Programación estructurada

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

Page 61: Programación estructurada

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

Page 62: Programación estructurada

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

Page 63: Programación estructurada

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

Page 64: Programación estructurada

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

Page 65: Programación estructurada

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

Page 66: Programación estructurada

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

Page 67: Programación estructurada

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

Page 68: Programación estructurada

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

Page 69: Programación estructurada

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

Page 70: Programación estructurada

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

Page 71: Programación estructurada

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

Page 72: Programación estructurada

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

Page 73: Programación estructurada

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

Page 74: Programación estructurada

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

Page 75: Programación estructurada

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

Page 76: Programación estructurada

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

Page 77: Programación estructurada

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

Page 78: Programación estructurada

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

Page 79: Programación estructurada

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:

Page 80: Programación estructurada

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

Page 81: Programación estructurada

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();

Page 82: Programación estructurada

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();

}

Page 83: Programación estructurada

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();

}

Page 84: Programación estructurada

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

Page 85: Programación estructurada

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

{

Page 86: Programación estructurada

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

Page 87: Programación estructurada

UNIVERSIDAD TÉCNICA DE AMBATO

FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA

PROGRAMACIÓN

Page 88: Programación estructurada

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

Page 89: Programación estructurada

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.

Page 90: Programación estructurada

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

Page 91: Programación estructurada

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

Page 92: Programación estructurada

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

Page 93: Programación estructurada

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

Page 94: Programación estructurada

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();

Page 95: Programación estructurada

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

Page 96: Programación estructurada

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

Page 97: Programación estructurada

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

Page 98: Programación estructurada

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

Page 99: Programación estructurada

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.

Page 100: Programación estructurada

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.

Page 101: Programación estructurada

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.

Page 102: Programación estructurada

UNIVERSIDAD TÉCNICA DE AMBATO

FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA

PROGRAMACIÓN

Corrido:

Page 103: Programación estructurada

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.

Page 104: Programación estructurada

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.

Page 105: Programación estructurada

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.

Page 106: Programación estructurada

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.

Page 107: Programación estructurada

UNIVERSIDAD TÉCNICA DE AMBATO

FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA

PROGRAMACIÓN

Corrido:

Page 108: Programación estructurada

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

Page 109: Programación estructurada

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

Page 110: Programación estructurada

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

Page 111: Programación estructurada

UNIVERSIDAD TÉCNICA DE AMBATO

FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA

PROGRAMACIÓN

CORRIDO

Page 112: Programación estructurada

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("*");

}

}

Page 113: Programación estructurada

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

Page 114: Programación estructurada

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

Page 115: Programación estructurada

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

Page 116: Programación estructurada

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

Page 117: Programación estructurada

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

Page 118: Programación estructurada

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

Page 119: Programación estructurada

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.

Page 120: Programación estructurada

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.

Page 121: Programación estructurada

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

Page 122: Programación estructurada

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.

Page 123: Programación estructurada

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.

Page 124: Programación estructurada

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.

Page 125: Programación estructurada

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.

Page 126: Programación estructurada

UNIVERSIDAD TÉCNICA DE AMBATO

FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA

PROGRAMACIÓN

CORRIDO

Page 127: Programación estructurada

UNIVERSIDAD TÉCNICA DE AMBATO

FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA

PROGRAMACIÓN

Page 128: Programación estructurada

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

Page 129: Programación estructurada

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

Page 130: Programación estructurada

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

Page 131: Programación estructurada

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

Page 132: Programación estructurada

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.

Page 133: Programación estructurada

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

Page 134: Programación estructurada

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

Page 135: Programación estructurada

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

Page 136: Programación estructurada

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.

Page 137: Programación estructurada

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.

Page 138: Programación estructurada

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

Page 139: Programación estructurada

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.

Page 140: Programación estructurada

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

Page 141: Programación estructurada

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

Page 142: Programación estructurada

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

Page 143: Programación estructurada

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

Page 144: Programación estructurada

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

Page 145: Programación estructurada

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

Page 146: Programación estructurada

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

Page 147: Programación estructurada

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

Page 148: Programación estructurada

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]

Page 149: Programación estructurada

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

Page 150: Programación estructurada

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

Page 151: Programación estructurada

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

Page 152: Programación estructurada

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

Page 153: Programación estructurada

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

Page 154: Programación estructurada

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.

Page 155: Programación estructurada

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

Page 156: Programación estructurada

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.

Page 157: Programación estructurada

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

Page 158: Programación estructurada

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

Page 159: Programación estructurada

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

Page 160: Programación estructurada

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

Page 161: Programación estructurada

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

Page 162: Programación estructurada

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

Page 163: Programación estructurada

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:

Page 164: Programación estructurada

UNIVERSIDAD TÉCNICA DE AMBATO

FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA

PROGRAMACIÓN

CORRIDO DEL PROGRAMA:

Page 165: Programación estructurada

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.

Page 166: Programación estructurada

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.

Page 167: Programación estructurada

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

Page 168: Programación estructurada

UNIVERSIDAD TÉCNICA DE AMBATO

FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA

PROGRAMACIÓN

Page 169: Programación estructurada

UNIVERSIDAD TÉCNICA DE AMBATO

FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA

PROGRAMACIÓN

CORRIDO DEL PROGRAMA

Page 170: Programación estructurada

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

Page 171: Programación estructurada

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

Page 172: Programación estructurada

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:

Page 173: Programación estructurada

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

Page 174: Programación estructurada

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

Page 175: Programación estructurada

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

Page 176: Programación estructurada

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;

Page 177: Programación estructurada

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

Page 178: Programación estructurada

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\\

Page 179: Programación estructurada

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.

Page 180: Programación estructurada

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

Page 181: Programación estructurada

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

Page 182: Programación estructurada

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

Page 183: Programación estructurada

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

Page 184: Programación estructurada

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

Page 185: Programación estructurada

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

Page 186: Programación estructurada

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.

Page 187: Programación estructurada

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

Page 188: Programación estructurada

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

Page 189: Programación estructurada

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

Page 190: Programación estructurada

UNIVERSIDAD TÉCNICA DE AMBATO

FACULTAD DE CIENCIAS HUMNAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA

PROGRAMACIÓN

1. ENUNCIADO:

Page 191: Programación estructurada

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

Page 192: Programación estructurada

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

Page 193: Programación estructurada

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);

Page 194: Programación estructurada

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);

Page 195: Programación estructurada

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;

Page 196: Programación estructurada

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

Page 197: Programación estructurada

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

Page 198: Programación estructurada

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

Page 199: Programación estructurada

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

Page 200: Programación estructurada

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

Page 201: Programación estructurada

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

Page 202: Programación estructurada

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

Page 203: Programación estructurada

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

Page 204: Programación estructurada

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

Page 205: Programación estructurada

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.

Page 206: Programación estructurada

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++)

{

Page 207: Programación estructurada

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.

Page 208: Programación estructurada

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

Page 209: Programación estructurada

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

Page 210: Programación estructurada

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

Page 211: Programación estructurada

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

Page 212: Programación estructurada

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.

Page 213: Programación estructurada

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:

Page 214: Programación estructurada

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

Page 215: Programación estructurada

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