Elemento2

107
UNIVERSIDAD TÉCNICA DE AMBATO FACULTAD DE CIENCIAS HUMAS Y DE LA EDUCACIÓN DOCENCIA EN INFORMÁTICA SEGUNDO SEMESTRE “A” PROGRAMACIÓN I ING WILMA GAVILANEZ ELEMENTO 2 PROGRAMAS RESUELTOS RICARDO JARA SEPTIEMBRE 2013 FEBRERO 2014

description

Programacion 1

Transcript of Elemento2

Page 1: Elemento2

UNIVERSIDAD TÉCNICA DE AMBATO

FACULTAD DE CIENCIAS HUMAS Y DE LA

EDUCACIÓN

DOCENCIA EN INFORMÁTICA

SEGUNDO SEMESTRE “A”

PROGRAMACIÓN I

ING WILMA GAVILANEZ

ELEMENTO 2

PROGRAMAS RESUELTOS

RICARDO JARA

SEPTIEMBRE 2013 – FEBRERO 2014

Page 2: Elemento2

PROGRAMACIÓN I UNIVERSIDAD TÉCNICA DE AMBATO Elemento 2

Programa 1

Enunciado:

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

Análisis:

Para realizar las condiciones se utiliza la sentencia if y else de esta manera podremos saber

si la persona está aprobada, suspensa, o reprobada.

Documentación:

#include<stdio.h> #include<conio.h> void main() { float a,b,c,d,p; clrscr(); gotoxy(8,5);printf("Introduzca la primera calificacion:"); calificación scanf("%f",&a); if((a>0)&&(a<11)) { gotoxy(8,8); printf("Introduzca la segunda calificacion:"); scanf("%f",&b); }

Librerías

Inicio del programa

Declaración de variables

Borrar pantalla

La primera condición

Ingresa la calificación

Page 3: Elemento2

PROGRAMACIÓN I UNIVERSIDAD TÉCNICA DE AMBATO Elemento 2

if((b>0)&&(b<11)) { gotoxy(8,11); printf("Introduzca la tercera calificacion:"); scanf("%f",&c); } if((c>0)&&(c<11)) { p=(a+b+c)/3; } if(p>6) { gotoxy(8,14); printf("Ha aprobado, el promedio es:%f",p); } if((p>4)&&(p<7)) { gotoxy(8,14); printf("Esta suspenso, el promedio es:%f",p); } if(p<5) { gotoxy(8,14); printf("Ha reprobado, el promedio es:%f",p); } getch(); }

Fin del programa

La segunda condición

La tercera condición

La cuarta condición

La quinta condición

La sexta condición

Page 4: Elemento2

PROGRAMACIÓN I UNIVERSIDAD TÉCNICA DE AMBATO Elemento 2

Corrido del programa:

Programa 2

Enunciado:

Diseñe un programa que me permita ingresar un número entero desde teclado entre 1 y 7,

que me permita visualizar el nombre del día de la semana que le corresponde.

Análisis:

En este programa utilizamos varias sentencias if y else para poder saber a qué día pertenece

el número ingresado.

Documentación:

#include<stdio.h>

#include<conio.h>

void main()

{

Int n;

clrscr();

Librerías

Inicio del programa

Declaración de variables

Borrar pantalla

Page 5: Elemento2

PROGRAMACIÓN I UNIVERSIDAD TÉCNICA DE AMBATO Elemento 2

gotoxy (10,5);printf("DIAS DE LA SEMANA SEGUN EL NUEMERO");

gotoxy(5,8);printf("Ingrese el numero:");scanf("%d",&n);

if((n<8)&&(n>0))

{

if(n==1)

{

gotoxy(10,10);printf("Es Lunes");

}

if(n==2)

{

gotoxy(10,10);printf("Es Martes");

}

if(n==3)

{

gotoxy(10,10);printf("Es Miercoles");

}

if(n==3)

{

gotoxy(10,10);printf("Es Jueves");

}

if(n==3)

{

gotoxy(10,10);printf("Es Viernes");

}

if(n==3)

{

gotoxy(10,10);printf("Es Sábado");

}

if(n==3)

{

gotoxy(10,10);printf("Es Domingo");

}

getch();

}

La primera condición para ingresar un número q no sea mayor a 7

Fin del programa

Condiciones para saber el día que le pertenece al número ingresado

Se ingresa el día

Page 6: Elemento2

PROGRAMACIÓN I UNIVERSIDAD TÉCNICA DE AMBATO Elemento 2

Corrido del programa:

Page 7: Elemento2

PROGRAMACIÓN I UNIVERSIDAD TÉCNICA DE AMBATO Elemento 2

Programa 3

Enunciado:

Diseñe un programa en C++ que me permita obtener las comisiones de ventas de la

empresa xyz bajo los siguientes condicionamientos:

Si el valor de la venta es ≥ 3000 y ≤ 5000 el valor de porcentaje es de 5%

Si el valor de la venta es > 5000 y ≤ 8500 el valor de porcentaje es de 7%

Si el valor de la venta es > 8500 y ≤ 10000 el valor de porcentaje es de 8%

Si el valor de la venta es > 10000 el valor de porcentaje es de 10%

Visualice el valor total de ventas ingresadas y el total de comisiones ingresadas; el proceso

se repite n veces.

Análisis:

Se ingresa la venta, se aplican las condiciones especificadas, se obtiene el resultado y según

su resultado se le acredita un porcentaje a la venta, si desea repetir el proceso ingresa el 1 si

desea salir se elige el 0

Documentación:

#include<stdio.h>

#include<conio.h>

main()

{

int z=1,y=0,con;

float a,b,c,d,e,f,g,h,i;

do

{

clrscr();

z=1;

y=0;

gotoxy(32,4);printf("VENTAS EFECTUADAS");

gotoxy(5,7);printf("Ingresar el valor de la venta efectuada:");

scanf("%f",&a);

if((a>2999)&&(a<5001))

{

b=(a*5)/100;

c=a+b;

gotoxy(8,10);printf("Total de ventas : %f",c);

gotoxy(8,13);printf("Su utilidad es : %f",b);

Librerías

Inicio del programa

Declaración de variables

Borrar pantalla

Ingresa venta

Comienzo del do

Comienzo del if

Imprime la venta y porcentaje ganado

Page 8: Elemento2

PROGRAMACIÓN I UNIVERSIDAD TÉCNICA DE AMBATO Elemento 2

}

if((a>5000)&&(a<8499))

{

d=(a*7)/100;

e=d+a;

gotoxy(8,10);printf("Total de ventas : %f",e);

gotoxy(8,13);printf("Su utilidad es : %f",d);

}

if((a>8500)&&(a<10001))

{

h=(a*8)/100;

i=h+a;

gotoxy(8,10);printf("Total de ventas : %f",i);

gotoxy(8,13);printf("Su utilidad es : %f",h);

}

if(a>10000)

{

f=(a*10)/100;

g=f+a;

gotoxy(8,10);printf("Total de ventas : %f",g);

gotoxy(8,13);printf("Su utilidad es : %f",f);

}

gotoxy(30,20);printf("Pulsa 1 para continuar o 2 salir del programa");

scanf("%d",&con);

}

while(con==1);

getch();

}

Corrido del programa:

Fin del do

Caso contrario

Comienzo del if

Imprime la venta y porcentaje ganado

Caso contrario

Imprime la venta y porcentaje ganado

Ingresar opción

Imprime la venta y porcentaje ganado

Page 9: Elemento2

PROGRAMACIÓN I UNIVERSIDAD TÉCNICA DE AMBATO Elemento 2

Programa 4

Enunciado:

Diseñe un programa que me permita ingresar 2 números por teclado y realizar la suma de

los mismos.

Análisis:

Utilizamos un if para que me valide los datos ingresados para que el primer número

ingresado sea mayor que el segundo número caso contrario me imprima un mensaje y me

pida nuevamente.

Documentación:

#include <stdio.h>

#include <conio.h>

int a,b,r;

void main ()

{

clrscr();

gotoxy(15,8); printf("ingrese 1er valor: "); scanf("%d",&a);

gotoxy(15,12); printf("ingrese 2do valor: ");

scanf("%d",&b);

if(a>b)

{

r=a+b;

}

Else

{

gotoxy(5,22); printf("ingrese un número mayor");

}

gotoxy(15,15); printf("el resultado es: %d",r);

getch();

}

Librerías

Ingreso y escaneo de datos

Librerías

Declaración de variables tipo enteras

Inicio del programa

Blanqueo de pantalla

Condicion para validar los datos

Imprime resultados

Fin del programa

Pausar pantalla

operacion

Page 10: Elemento2

PROGRAMACIÓN I UNIVERSIDAD TÉCNICA DE AMBATO Elemento 2

Corrido del programa:

Programa 5

Enunciado:

Diseñe un programa que realice la suma de dos números, siempre que el primer valor este

entre 3 y 23 y el segundo valor este entre 5 y 17.

Análisis:

Utilizamos un DO WHILE para que el proceso se repita cuantas veces quiera el usuario y

también dos más para que me valide los datos ingresados entre los rango de 3 y 23 y el otro

de 5 y 17 caso contrario me pida nuevamente.

Documentación:

#include<stdio.h>

#include<conio.h>

void main()

{

int a,b,suma,op;

{

clrscr();

do

{

gotoxy(36,4); printf(" ");

gotoxy(10,4); printf("Ingrese el primer número: ");

scanf("%d",&a);

}

Librerías

Librerías

Inicio del programa

Declaración de variables tipo enteras

Segundo DO para validar los datos

Ingreso y escaneo de datos

Page 11: Elemento2

PROGRAMACIÓN I UNIVERSIDAD TÉCNICA DE AMBATO Elemento 2

while (a<3||a>23);

do

{

gotoxy(36,6); printf(" ");

gotoxy(10,6); printf("Ingrese el segundo numero: ");

scanf("%d",&b);

}

while ((b>4)&&(b<18));

suma= a+b;

gotoxy(10,8); printf("La suma es: %d",suma);

gotoxy(10,10); printf("Presione 1 para continuar o 0 para salir");

scanf("%d",&op);

}

while (op==1);

getch();

}

Corrido del programa:

Programa 7

Enunciado:

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”

Ingreso y escaneo de datos

Tercer DO para validar los datos

Primer DO para que se

repita n veces

Pausar pantalla

Fin del programa

Page 12: Elemento2

PROGRAMACIÓN I UNIVERSIDAD TÉCNICA DE AMBATO Elemento 2

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.

Análisis:

Se ingresa el nombre de la persona y su edad, se aplican las condiciones especificadas, se

obtiene el resultado; si la persona es bebe, niño, adolescente, adulto o adulto mayor, si

desea repetir el proceso ingresa el 1 si desea salir se elige el 0.

Documentación:

#include<stdio.h>

#include<conio.h>

void main()

{

int e;

char nombre[15];

clrscr();

gotoxy(15,2); printf("EQUIVALENCIAS DE EDAD");

flushall();

gotoxy(10,4); printf("Ingrese el nombre: "); gets(nombre);

do

{

gotoxy(18,6); printf(" ");

gotoxy(10,6); printf("Ingrese la edad: ");scanf("%d",&e);

}

while (e<3||e>85);

if((e>2)&&(e<6))

{

gotoxy(10,10); puts(nombre);

gotoxy(20,10); printf("Es un bebe");

}

if ((e>5)&&(e<14))

{

gotoxy(10,10); puts(nombre);

gotoxy(20,10); printf("Es un niño");

}

if ((e>12)&&(e<22))

{

gotoxy(10,10); puts(nombre);

gotoxy(20,10); printf("Es un adolescente");

}

Librerías

Inicio del programa

Declaración de variables

Borrar pantalla

Ingresar la edad

Ingresa nombre

Comienzo del do

Fin del do

Imprime es un bebe

Caso contrario si la edad es menor que 5 y mayor que 14

Imprime es un niño

Caso contrario si la edad es menor que 12 y mayor que 22

Imprime es un adolescente

Page 13: Elemento2

PROGRAMACIÓN I UNIVERSIDAD TÉCNICA DE AMBATO Elemento 2

getch();

}

Corrido del programa:

Programa 8

Enunciado:

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.

Análisis:

Necesitas una variable tipo carácter para ingresar el nombre otra tipo entero para ingresar la

cantidad otra tipo flotante para ingresar el valor de cada uno y después utilizar variables

enceradas para almacenar el valor final de la factura y repetirlo n veces.

Documentación:

#include<stdio.h>

#include<conio.h>

#include<string.h>

Bibliotecas

Fin del programa

Page 14: Elemento2

PROGRAMACIÓN I UNIVERSIDAD TÉCNICA DE AMBATO Elemento 2

void main()

{

int can,op;

float pre,sub=0,iv,to;

char pro[15];

do

{

clrscr();

gotoxy(31,1);printf("Factura de n Productos");

flushall();

gotoxy(10,2);printf("Producto");

gotoxy(26,2);printf("Cantidad");

gotoxy(36,2);printf("Precio");

gotoxy(43,2);printf("Valor total");

gotoxy(10,3);gets(pro);

gotoxy(26,3);scanf("%d",&can);

gotoxy(36,3);scanf("%f",&pre);

vt=can*pre;

gotoxy(43,3);printf("%2.2f",vt);

sub=sub+vt;

iv=(sub*12)/100;

to=sub+iv;

gotoxy(10,20);printf("Presione 1 para continuar o 0 para salir: ");scanf("%d",&op);

}while(op==1);

gotoxy(10,11);printf("Sub total %2.2f",sub);

gotoxy(10,12);printf("Iva %2.2f",iv);

gotoxy(10,13);printf("Total %2.2f",to);

getch();

}

Inicio del programa

Bibliotecas

Inicio del do

Borrado de pantalla

Impresión de títulos

Ingreso de la cantidad y precio

Operaciones

Fin del

do

Impresión de respuestas

Page 15: Elemento2

PROGRAMACIÓN I UNIVERSIDAD TÉCNICA DE AMBATO Elemento 2

Corrido del programa:

Programa 9

Enunciado:

Diseñe un programa que me permita calcular el promedio general de las notas de distintas

materias correspondientes al 2º Semestre de Docencia en Informática, en donde cada una de

las notas ingresadas debe estar entre 1 y 10.

Page 16: Elemento2

PROGRAMACIÓN I UNIVERSIDAD TÉCNICA DE AMBATO Elemento 2

Análisis:

Se ingresa el nombre del módulo, se ingresan las tres notas para luego obtener el promedio

de dicho modulo las notas deben ser menores o iguales a 10 y mayores o iguales a 1, se

desea seguir ingresando los diferentes modulos selecciona el numero 1 despues de obtener

el primer promedio para que siga ingresando mas modulos, si ya no desesa ingresar ningún

otro modulo selecciona el 0 para proceder a calcular el promedio general el cual se obtiene

sumando los promedios de cada modulo y dividiendo para la cantidad de modulos

ingrsados, si desea salir elige el cero.

Documentación:

#include<conio.h>

#include<stdio.h>

void main()

{

char no[15];

int op,c=0;

float n1,n2,d,n3,fla=8,pg=0,p;

clrscr();

gotoxy(25,2);printf("UNIVERSIDAD TECNICA DE AMBATO");

gotoxy(20,4);printf("FACULTAD DE CIENCIAS HUMANAS Y DE LA EDUCACION");

gotoxy(29,5);printf("Segundo Informatica");

gotoxy(10,7);printf("MODULO NOTA1 NOTA2 NOTA3 PROMEDIO");

do

{

c=c+1;

gotoxy(10,fla);gets(no);

do

{

gotoxy(27,fla);printf(" ");

gotoxy(27,fla);scanf("%f",&n1);

}while(n1>10 || n1<1);

do

{

gotoxy(36,fla);printf(" ");

gotoxy(36,fla);scanf("%f",&n2);

}while(n2>10 || n2<1);

do

Librerías

Inicio del programa

Declaración de variables

Borrar pantalla

Comienzo del do

Ingresa modulo y nota

Page 17: Elemento2

PROGRAMACIÓN I UNIVERSIDAD TÉCNICA DE AMBATO Elemento 2

{

gotoxy(45,fla);printf(" ");

gotoxy(45,fla);scanf("%f",&n3);

}while(n3>10 || n3<1);

p=(n1+n2+n3)/3;

pg=pg+p;

gotoxy(54,fla);printf("%2.2f",p);

gotoxy(10,15);printf("%2.2f",pg);

fla=fla+1;

gotoxy(4,24);printf("Presione 1 para continuar o 0 para salir: ");scanf("%d",&op);

}while(op==1);

d=pg/c;

gotoxy(10,fla+6);printf("%d",d);

getch();

}

CORRIDO

Sacamos el promedio de cada módulo conjuntamente con el promedio general.

Sacaneamos el promedio de cada módulo junto con el promedio

general

Fin de programa

Page 18: Elemento2

PROGRAMACIÓN I UNIVERSIDAD TÉCNICA DE AMBATO Elemento 2

Programa 10

Enunciado:

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.

Análisis:

Se ingresa la categoría que desea calcular, se ingresa numero de hijos y numero de horas

extras, se aplican las operaciones necesarias para los resultados deseados, se obtiene el

resultado en donde se imprime, salario mas horas extras, bono familiar, descuento del iees,

descuentos de la asociación, egresos, ingresos, total recibido, si desea repetir el proceso

ingresa el 1 si desea salir se elige el 0.

Documentación:

#include<conio.h>

#include<stdio.h>

void main ()

{

int vol;

do

{

Librerías

Inicio del programa

Declaración de variables

Borrar pantalla

Comienzo del do

Page 19: Elemento2

PROGRAMACIÓN I UNIVERSIDAD TÉCNICA DE AMBATO Elemento 2

clrscr();

int op,ex,hi,reg;

float ext,c1=180,c2=250,c3=380,iees,hij,nomi,descu,egre,total;

gotoxy(10,1);printf("Salario Liquido Recibido Por Un Empleado");

gotoxy(12,2);printf("Escoja su Categoria Segun Su Salario");

gotoxy(15,4);printf("1.- Categoria 180 ");

gotoxy(15,6);printf("2.- Categoria 250 ");

gotoxy(15,8);printf("3.- Categoria 380 ");

gotoxy(15,12);printf("Ingrese La Categoria :");scanf("%d",&op);

if (op==1)

{

do

{

clrscr();

gotoxy(20,1);printf("CATEGORIA 1");

gotoxy(10,5);printf("NUMERO DE HORAS EXTRAS..: ");scanf("%d",&ex);

if ((ex>=0)&&(ex<=8))

{

gotoxy(10,14);ext=(ex*1.80)+c1;

gotoxy(10,9);printf("SALARIO MAS HORAS EXTRAS...: %2.2f ",ext);

}

else

{

do

{

gotoxy(40,5);printf(" ");

gotoxy(10,12);printf("SOLO PUEDE TENER HASTA 8 HORAS EXTRAS");

gotoxy(10,5);printf("NUMERO DE HORAS EXTRAS..: ");scanf("%d",&ex);

}

while ((ex<=0)&&(ex>=8));

gotoxy(10,14);ext=(ex*1.80)+c1;

gotoxy(10,9);printf("SALARIO MAS HORAS EXTRAS...: %2.2f ",ext);

}

gotoxy(10,6);printf("NUMERO DE HIJOS.........: ");scanf("%d",&hi);

if(hi>2)

{

hij=hi*4.5;

}

else

hij=hi*6.2;

gotoxy(10,10);printf("BONO FAMILIAR..............: %2.2f",hij);

nomi=ext+hij;

iees=(nomi*115)/1000;

gotoxy(10,11);printf("DESCUENTO DEL IEES.........: %2.2f",iees);

descu=(nomi*2)/100;

gotoxy(10,12);printf("DESCUENTO DE LA ASOCIACION.: %2.2f",descu);

gotoxy(10,14);printf("INGRESOS...................: %2.2f",nomi);

Declaración

de variables

Comienzo del if

Impresión de menu

Lectura de horas extras

Inicio del if

Impresion

Caso contrario

Lectura de horas extras Fin del do

Impresion

Inicio del if

Impresión de resultados

Page 20: Elemento2

PROGRAMACIÓN I UNIVERSIDAD TÉCNICA DE AMBATO Elemento 2

egre=iees+descu;

total=nomi-egre;

gotoxy(10,13);printf("EGRESOS....................: %2.2f",egre);

gotoxy(10,15);printf("TOTAL RECIBIDO.............: %2.2f",total);

gotoxy(2,23);printf("SI DESEA HACER OTRO ROL DE PRESIONE 1 CASO

CONTRARIO 0...................: ");

scanf("%d",&reg);

}

while(reg==1);

}

if(op==2)

{

do

{

clrscr();

gotoxy(20,1);printf("CATEGORIA 2");

gotoxy(20,5);printf("NUMERO DE HORAS EXTRAS....: ");scanf("%d",&ex);

if ((ex>=0)&&(ex<=8))

{

gotoxy(10,14);ext=(ex*1.80)+c2;

gotoxy(10,9);printf("SALARIO MAS HORAS EXTRAS

....: %2.2f ",ext);

}

else

{

do

{

gotoxy(40,5);printf(" ");

gotoxy(10,12);printf("SOLO PUEDE TENER HASTA 8 HORAS");

gotoxy(20,5);printf("NUMERO DE HORAS EXTRAS....: ");

scanf("%d",&ex);

}

while ((ex<=0)&&(ex>=8));

gotoxy(10,14);ext=(ex*1.80)+c2;

gotoxy(10,9);printf("SALARIO CON HORAS EXTRAS

....: %2.2f ",ext);

}

gotoxy(20,6);printf("NUMERO DE HIJOS...........: ");scanf("%d",&hi);

if(hi>2)

{

hij=hi*4.5;

}

else

hij=hi*6.2;

Fin del do

Comienzo del if

Lectura de horas extras

Inicio del if

Caso contrario

Lectura de horas extras

Fin del do

Impresion

Inicio del if

Calculo

Page 21: Elemento2

PROGRAMACIÓN I UNIVERSIDAD TÉCNICA DE AMBATO Elemento 2

gotoxy(10,10);printf("BONO FAMILIAR...............: %2.2f",hij);

nomi=ext+hij;

iees=(nomi*115)/1000;

gotoxy(10,11);printf("DESCUENTO DEL IEES..........: %2.2f",iees);

descu=(nomi*2)/100;

gotoxy(10,12);printf("DESCUENTO ASOCIACION........: %2.2f",descu);

gotoxy(10,14);printf("INGRESOS....................: %2.2f",nomi);

egre=iees+descu;

total=nomi-egre;

gotoxy(10,13);printf("EGRESOS.....................: %2.2f",egre);

gotoxy(10,15);printf("TOTAL RECIBIDO..............: %2.2f",total);

gotoxy(2,23);printf("SI DESEA HACER OTRO ROL DE PRESIONE 1 CASO

CONTRARIO 0...................: ");

scanf("%d",&reg);

}

while(reg==1);

}

if(op==3)

{

do

{

clrscr();

gotoxy(20,1);printf("CATEGORIA 3");

gotoxy(20,5);printf("NUMERO DE HORAS EXTRAS....: ");

scanf("%d",&ex);

if ((ex>=0)&&(ex<=8))

{

gotoxy(10,14);ext=(ex*1.80)+c3;

gotoxy(5,9);printf("SALARIO MAS HORAS EXTRAS

....: %2.2f ",ext);

}

else

{

do

{

gotoxy(40,5);printf(" ");

gotoxy(10,12);printf("SOLO PUEDE TENER HASTA 8 HORAS");

gotoxy(20,5);printf("NUMERO DE HORAS EXTRAS....: ");

scanf("%d",&ex);

}

while ((ex<=0)&&(ex>=8));

gotoxy(10,14);ext=(ex*1.80)+c3;

gotoxy(5,9);printf("SALARIO MAS HORAS EXTRAS

....: %2.2f ",ext);

Impresión de resultados

Fin del do

Comienzo del if

Lectura de horas extras

Inicio del if

Impresion

Caso contrario

Lectura de horas extras

Fin del do

Impresion

Page 22: Elemento2

PROGRAMACIÓN I UNIVERSIDAD TÉCNICA DE AMBATO Elemento 2

}

gotoxy(20,6);printf("NUMERO DE HIJOS...........: ");scanf("%d",&hi); if(hi>2)

{

hij=hi*4.5;

}

else

hij=hi*6.2;

gotoxy(5,10);printf("BONO FAMILIAR...............: %2.2f",hij);

nomi=ext+hij;

iees=(nomi*115)/1000;

gotoxy(5,11);printf("DESCUENTO DEL IEES..........: %2.2f",iees);

descu=(nomi*2)/100;

gotoxy(5,12);printf("DESCUENTO ASOCIACION........: %2.2f",descu);

gotoxy(5,14);printf("INGRESOS....................: %2.2f",nomi);

egre=iees+descu;

total=nomi-egre;

gotoxy(5,13);printf("EGRESOS.....................: %2.2f",egre);

gotoxy(5,15);printf("TOTAL RECIBIDO..............: %2.2f",total);

gotoxy(2,23);printf("SI DESEA HACER OTRO ROL DE PRESIONE 1 CASO

CONTRARIO 0...................: ");

scanf("%d",&reg);

}

while(reg==1);

getch();

}

gotoxy(2,24);printf("SI DESEA HACER SU CALCULO CON OTRA

CATEGORIA PULSE 1 CASO CONTRARIO 0....: ");

scanf("%d",&vol);

}

while (vol==1);

}

Corrido del programa:

Impresión de resultados

Fin del do

Fin del do

Inicio del if

Page 23: Elemento2

PROGRAMACIÓN I UNIVERSIDAD TÉCNICA DE AMBATO Elemento 2

Page 24: Elemento2

PROGRAMACIÓN I UNIVERSIDAD TÉCNICA DE AMBATO Elemento 2

Programa 11

Enunciado:

Diseñe un programa que me permita imprimir un borde de pantalla

Análisis:

Utilizamos un ciclo FOR para que tenga un inicio y un fin tal símbolo utilizado para que

nos de la imagen de un borde.

Documentación:

#include<conio.h>

#include<stdio.h>

main ()

{

int i;

clrscr();

for(i=2;i<=78;i++)

{

gotoxy(i,1);printf("-");

gotoxy(i,24); printf("-");

}

Librerías

Librerías

Inicio del programa

Declaración de variable tipo entera

Blanqueo de pantalla

Inicio del ciclo repetitivo

para genera el margen

Page 25: Elemento2

PROGRAMACIÓN I UNIVERSIDAD TÉCNICA DE AMBATO Elemento 2

for(i=2;i<=24;i++)

{

gotoxy(2,i);printf("-");

gotoxy(78,i);printf("-");

}

gotoxy(25,5);printf("BORDE EN PANTALLA");

getch();

}

Corrido del programa:

Programa 12

Enunciado:

Diseñe un programa que me permita visualizar la serie de los números pares ingresando un

límite desde teclado.

Análisis:

Impresión de un mensaje en

pantalla Pausar pantalla

Fin del programa

Page 26: Elemento2

PROGRAMACIÓN I UNIVERSIDAD TÉCNICA DE AMBATO Elemento 2

Utilizamos un DO WHILE para que el proceso se genere n veces, dos ciclos FOR el

primero para el borde y el segundo para ingresar un límite para obtener los números pares.

Documentación:

#include<conio.h>

#include<stdio.h>

main ()

{

int i,limite,fila,op;

do

{

clrscr();

for(i=2;i<=75;i++)

{

gotoxy(i,1);printf("-");

gotoxy(i,24); printf("-");

}

for(i=1;i<=24;i++)

{

gotoxy(2,i);printf("-");

gotoxy(75,i);printf("-");

}

otoxy(25,5);printf("NUMEROS PARES");

gotoxy(6,8);printf("INGRESE EL LIMITE: "); scanf("%d",&limite);

fila=10;

for(i=2;i<=limite;i+=2)

{

gotoxy(10,fila); printf("%d",i);

fila=fila+1;

}

gotoxy(4,18); printf("INGRESAR UN NUEVO NUMERO 1 SALIR 0: ");

scanf("%d",&op);

}

while(op==1);

getch();

}

Corrido del programa:

Librerías

Librerías

Inicio del programa

Declaración de variable tipo entera

DO para que se repita n veces

Blanqueo de pantalla

Primer ciclo para generar

el borde

Primer ciclo para generar

el borde

Variable fila para que comience desde ahí

Segundo ciclo para obtener los

números pares

Pausar pantalla

Fin del programa

Ingreso y escaneo

de datos

Page 27: Elemento2

PROGRAMACIÓN I UNIVERSIDAD TÉCNICA DE AMBATO Elemento 2

Programa 13

Enunciado:

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.

Análisis:

Se ingresa el límite de los números, gracias a las condiciones dadas se separan los pares de

los imperes y se colocan en la fila que les corresponde, si desea volver a repetir el proceso

deberá seleccionar el 1 caso contrario en 0, el do while nos ayuda a repetir o cancelar el

programa.

Documentación:

Page 28: Elemento2

PROGRAMACIÓN I UNIVERSIDAD TÉCNICA DE AMBATO Elemento 2

#include<conio.h>

#include<stdio.h>

void main()

{

int limite, fila=9, i, op=1;

do

{

clrscr();

for(i=1;i<=80;i++)

{

gotoxy(i,1);printf("*");

gotoxy(i,24);printf("*");

}

for(i=1;i<=23;i++)

{

gotoxy(1,i);printf("*");

gotoxy(80,i);printf("*");

}

gotoxy(25,3);printf("SERIE DE NUMEROS");

gotoxy(4,5);printf("ingrece el limite ");scanf("%d",&limite);

gotoxy(9,7);printf(" numeros pares numeros impares");

for(i=2;i<=limite;i+=2)

{

gotoxy(18,fila);printf("%d",i);

fila=fila+1;

}

fila=9;

for(i=1;i<=limite;i+=2)

{

gotoxy(40,fila);printf("%d",i);

fila=fila+1;

}

gotoxy(6,22);printf("continuar 1 cerrar 0 ====>");scanf("%d",&op);

}

while(op==1);

getch();

}

CORRIDO

Librerías

Inicio del programa

Declaración de variables

Borrar pantalla

Se imprime el margen.

Comienzo del do

Se ingresa el límite. Se divide los pares y los impares

Se imprime los números correspondientes a los pares e impares

Fin de programa

Page 29: Elemento2

PROGRAMACIÓN I UNIVERSIDAD TÉCNICA DE AMBATO Elemento 2

Programa 14

Enunciado:

Diseñe un programa que me permita generar las tablas de multiplicar de cualquier factor

ingresado desde teclado y por cualquier limite ingresado desde teclado, el programa se

genera n veces, diseñe el borde en pantalla.

Análisis:

Necesitamos un lazo for dos variables tipo enteras una será el factor o número y la otra

será el límite y después un ciclo para repetirle n veces.

Documentación:

Page 30: Elemento2

PROGRAMACIÓN I UNIVERSIDAD TÉCNICA DE AMBATO Elemento 2

#include<conio.h>

#include<stdio.h>

void main()

{

int i,f,l,d,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("*");

}

gotoxy(15,2);printf("Tabla de multiplicar");

gotoxy(10,3);printf("Factor: ");scanf("%d",&f);

gotoxy(10,4);printf("Limite: ");scanf("%d",&l);

for(i=1;i<=l;i++)

{

d=f*i;

gotoxy(10,4+i);printf("%d",f);

gotoxy(18,4+i);printf("%d",d);

gotoxy(12,4+i);printf("*");

gotoxy(16,4+i);printf("=");

gotoxy(14,4+i);printf("%d",i);

Bibliotecas

Inicio del programa

Declaración de variable

Inicio del do

Borrar pantalla

Ciclo for para el borde

Impresión del borde

Ingreso del límite y factor

Ciclo for para la tabla

de multiplicar

Impresión de los

resultados

Page 31: Elemento2

PROGRAMACIÓN I UNIVERSIDAD TÉCNICA DE AMBATO Elemento 2

}

gotoxy(15,20);printf("Desea salir 1/0: ");scanf("%d",&op);

}while(op==1);

getch();

}

Corrido del programa:

Programa 15

Enunciado:

Diseñe un programa que me permita visualizar la factorial de un número ingresado desde

teclado.

Ingreso de la opción para

salir o regresar

Page 32: Elemento2

PROGRAMACIÓN I UNIVERSIDAD TÉCNICA DE AMBATO Elemento 2

Análisis:

Necesitamos un lazo for para generar el factorial y una variable declara en 1 y multiplícale

por el contador y presentar el contador.

Documentación:

#include<stdio.h>

#include<conio.h>

void main()

{

int i,n,f,op;

float fac;

fac=1;

do

{

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

}

Inicio del programa

Inicio del programa

Declaración de variables

Inicio del do

Borrar la pantalla

Ciclo for para el borde

Impresión del borde

Page 33: Elemento2

PROGRAMACIÓN I UNIVERSIDAD TÉCNICA DE AMBATO Elemento 2

gotoxy(28,3);printf("FACTORIAL DE NUMEROS");

gotoxy(4,4);printf("Ingrese el limite: ");scanf("%d",&n);

for(i=1;i<=n;i++)

{

fac=fac*i;

gotoxy(35,6+i);printf("%6.0f",fac);

gotoxy(15,6+i);printf("Factodrial de: %d",i);

gotoxy(33,6+i);printf("=");

}

gotoxy(15,20);printf("Desea salir 1/0: ");scanf("%d",&op);

}while(op==1);

getch();

}

Corrido del programa:

Ciclo for el factorial

Impresión del factorial

Ingreso de opción para

salir o repetir

Fin del programa

While para la opción

Page 34: Elemento2

PROGRAMACIÓN I UNIVERSIDAD TÉCNICA DE AMBATO Elemento 2

Programa 16

Enunciado:

Diseñe un programa que me permita generar una serie de números, en donde el numerador

es cualquier factor ingresado desde teclado, y el numerador es la serie de los números

impares.

Análisis:

Este programa tubo cierto grado de dificultad en cuanto a la ubicación de los do while

utilizamos para sacar el numerador un ciclo for y multiplicamos y para el denominador

otro ciclo for para generar el límite de números que el usuario quiera según lo ingresado en

el programa y para sacar los números impares utilizamos un contador que comienza en 1 y

sumamos más dos también utilizamos un do while para poder realizar nuevamente el

programa cuantas veces lo requiera el usuario.

Documentación:

#include<stdio.h>

#include<conio.h>

void main()

{

int i,f,r,d,op,factor,limite;

do

{

clrscr();

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

}

gotoxy(35,2);printf("// SERIE DE NUMEROS \\");

gotoxy(15,9);printf("Ingrese el Limite: ");scanf("%d",&limite);

f=0;

d=0;

librerías

Inicio del programa

Declaración de variables

inicio de la sentencia

do(mientras)

estructura del ciclo for

Cuerpo del ciclo for

Cuerpo del ciclo for

Utilización del for para

realizar el margen

Impresión del título del

programa e ingreso de

límite

Page 35: Elemento2

PROGRAMACIÓN I UNIVERSIDAD TÉCNICA DE AMBATO Elemento 2

r=1;

for(i=1;i<=limite;i++)

{

d=d+4;

r=r+2;

factor=i*limite;

gotoxy(14+d,12);printf("%d",factor);

gotoxy(14+d,13);printf("-");

gotoxy(14+d,14);printf("%d",r);

}

gotoxy(3,23);printf("NUEVO PROCESO 1 SALIR 0: ");

scanf("%d",&op);

}

while(op==1);

getch();

}

Corrido del programa:

Estructura del ciclo for

Aquí el numerador es la serie

del número que ingresamos

ingresamos

Si el usuario digita 1 se repite el proceso para hacer

otra serie caso contrario termina el programa

Fin del programa

Fin del

do

Aquí el denominador so

los números impares

Page 36: Elemento2

PROGRAMACIÓN I UNIVERSIDAD TÉCNICA DE AMBATO Elemento 2

Programa 17

Enunciado:

Diseñe un programa en C++ que me permita generar n numeros primos, el proceso se repite

n veces y se visualiza el borde de pantalla.

Análisis:

Se ingresa el límite hasta donde desea que se visualicen los numeros primos, gracias a las

condiciones dadas se visiualizan solo los numeros primos que se encuentren en el limite

ingresado, si desea volver a repetir el proceso deberá seleccionar el 1 caso contrario en 0.

Documentación:

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

{

Librerías

Inicio del programa

Declaración de variables

Borrar pantalla

Se imprime el margen.

Comienzo del do

Se ingresa el límite.

Page 37: Elemento2

PROGRAMACIÓN I UNIVERSIDAD TÉCNICA DE AMBATO Elemento 2

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

}

Corrido del programa:

Se imprime los números primos correspondientes al rango

Fin de programa

Page 38: Elemento2

PROGRAMACIÓN I UNIVERSIDAD TÉCNICA DE AMBATO Elemento 2

Programa 18

Enunciado:

Realice un programa que me permita generar la siguiente serie de datos: como numerador

la serie de los impares y como denominador el factorial.

Análisis:

Este programa tubo cierto grado de dificultad en cuanto a la ubicación de los do while

utilizamos para sacar los números impares utilizamos un contador que comienza en 0 y

sumamos más dos y para el denominador utilizamos un contador y multiplicamos por la

variable del ciclo for también utilizamos un do while para poder realizar nuevamente el

programa cuantas veces lo requiera el usuario

Documentación:

#include<stdio.h>

#include<conio.h>

void main()

{

int j,b,d,c,op,limite,f,a;

do

{

clrscr();

for(j=1;j<=80;j++)´

{

gotoxy(j,24);printf("-");

gotoxy(j,1);printf("-");

}

for(j=1;j<=24;j++)

{

gotoxy(1,j);printf("-");

gotoxy(80,j);printf("-");

}

gotoxy(35,2);printf("SERIE DE NUMEROS");

gotoxy(15,5);printf("Ingrese el Limite: ");scanf("%d",&limite);

a=1;

librerías

Inicio del programa

Declaración de variables

inicio de la sentencia

do(mientras)

Estructura del ciclo for

Utilización del for para

realizar el margen

Impresión del título del

programa

Page 39: Elemento2

PROGRAMACIÓN I UNIVERSIDAD TÉCNICA DE AMBATO Elemento 2

b=1;

d=0;

f=0;

c=1;

for(j=1;j<=limite;j++)

{

f=f+5;

a=a*j;

gotoxy(15+f,9);printf("%d ",a);

gotoxy(15+f,8); printf("-");

gotoxy(15+f,7);printf("%d",c);

c=c+2;

}

gotoxy(3,22);printf("NUEVO PROCESO 1 SALIR 0: ");scanf("%d",&op);

}while(op==1);

getch();

}

Corrido del programa:

Fin del programa

Si el usuario digita 1 se repite el proceso para hacer

otra serie caso contrario termina el programa

Para el numerador utilizamos c=c+2 para

sacar el numero impar

Y para el denominador a=a*j es decir el

contador por la variable de for

Page 40: Elemento2

PROGRAMACIÓN I UNIVERSIDAD TÉCNICA DE AMBATO Elemento 2

Programa 19

Enunciado:

Genere n elementos de la siguiente serie: cualquier factor ingresado desde teclado como

numerador, el denominador numeros pares.

Análisis:

Este programa tubo cierto grado de dificultad en cuanto a la ubicación de los do while

utilizamos para sacar el numerador un ciclo for y multiplicamos y para el denominador

otro ciclo for para generar el límite de números que el usuario quiera según lo ingresado en

el programa y para sacar los números pares utilizamos un contador que comienza en 0 y

sumamos más dos también utilizamos un do while para poder realizar nuevamente el

programa cuantas veces lo requiera el usuario

Documentación:

#include<conio.h>

#include<stdio.h>

main ()

{

int i,n,m,p,j,l,d,opc;

do

{

clrscr();

for(i=2;i<=80;i++)

{

gotoxy(i,1);printf("*");

gotoxy(i,24);printf("*");

}

for(i=1;i<=24;i++)

{

gotoxy (2,i); printf("*");

gotoxy(80, i); printf("*");

}

gotoxy(10,4);printf(" Programa que permite generar una serie de números");

librerías

Inicio del programa

Declaración de variables

inicio de la sentencia

do(mientras)

estructura del ciclo for

Cuerpo del ciclo for

Cuerpo del ciclo for

Utilización del for para

realizar el margen

Impresión del

título del

programa

Page 41: Elemento2

PROGRAMACIÓN I UNIVERSIDAD TÉCNICA DE AMBATO Elemento 2

gotoxy(4,9);printf("Ingrese el límite: ");

scanf("%d",&n);

l=6;

for(j=1;j<=n;j++)

{

P=j*n;

gotoxy(l,13); printf("%d",p);

gotoxy(l,14); printf("--");

l=l+3;

}

m=0;

l=6;

for(d=1;d<=n;d++)

{

m=m+2;

gotoxy(l,15); printf("%d",m);

l=l+3;

}

gotoxy(6,18);printf("Si desea realizar otra serie digite 1 o 0 para salir:

");scanf("%d",&opc);

}

while(opc==1);

getch();

}

Corrido del programa:

Estructura del ciclo for

Aquí el numerador es

la serie del número

que ingresamos

Estructura del ciclo for

Aquí imprime en el denominador

los números pares

Si el usuario digita 1 se repite el proceso para hacer

otra serie caso contrario termina el programa

Fin del programa

Fin del

do

Page 42: Elemento2

PROGRAMACIÓN I UNIVERSIDAD TÉCNICA DE AMBATO Elemento 2

Programa 20

Enunciado:

Genere una serie de datos que lleve por numerador el factorial y por denominador la serie

del fibonasi

Análisis:

Se ingresa el limite de la serie, se aplican los cálculos respectivos, se obtiene el resultado

que se imprime como numerador factores y denominador serie fibonaci, si desea repetir el

proceso ingresa el 1 si desea salir se elige el 0.

Documentación:

#include<conio.h>

#include<stdio.h>

void main()

{

int lt,j,op,i,a,co,b,c;

do

{

float fact=1;

clrscr();

for(i=1;i<=24;i++)

{

gotoxy(1,i);printf("*");

gotoxy(79,i);printf("*");

}

for(i=1;i<=79;i++)

{

gotoxy(i,1);printf("*");

gotoxy(i,25);printf("*");

}

gotoxy(25,2);printf("TABLA DEL FACTORIAL Y FIBONACI ");

gotoxy(2,3);printf("INGRESE EL LIMITE : ");scanf("%d",&lt);

a=1;

b=0;

co=10;

for(j=1;j<=lt;j++)

{

fact=fact*j;

Librerías

Inicio del programa

Declaración de variables e

inicio del do

Borrar pantalla

Inicio del ciclo for

Margen

Inicio del ciclo for

Ingreso del limite

calculos

Page 43: Elemento2

PROGRAMACIÓN I UNIVERSIDAD TÉCNICA DE AMBATO Elemento 2

c=a+b;

a=b;

b=c;

gotoxy(co-3,6);printf("%4.0f",fact);

gotoxy(co-1,7);printf("---");

gotoxy(co,8);printf("%d",c);

co=co+7;

}

gotoxy(2,24);printf("1 continuar 0 salir");scanf("%d",&op);

}while(op==1);

getch();

}

Corrido del programa:

Programa 21

Enunciado:

Genere la siguiente serie de datos: primos en el numerador e impares como denominador

Análisis:

Cálculos e impresión

Fin del do

Page 44: Elemento2

PROGRAMACIÓN I UNIVERSIDAD TÉCNICA DE AMBATO Elemento 2

Necesitamos dos lazos for para resolver los números primos y una variable para ejecutar los

números impares.

Documentación:

#include<stdio.h>

#include<conio.h>

void main()

{

int i,j,r,l,c,f,op,a;

do

{

f=0;

a=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(32,2);printf("serie de datos");

gotoxy(5,3);printf("Limite: ");scanf("%d",&l);

for(i=1;i<=l;i++)

{

c=0;

Impresión del factorial

Inicio del programa

Declaración de variables

Inicio del do

Borrar el programa

Ciclo for para el borde

Impresión del borde

Ingreso del límite

Page 45: Elemento2

PROGRAMACIÓN I UNIVERSIDAD TÉCNICA DE AMBATO Elemento 2

for(j=1;j<=i;j++)

{

r=i%j;

if(r==0)

{

c=c+1;

}

}

if(c==2)

{

gotoxy(15,5);printf("1");

gotoxy(18+f,5);printf("%d",i);

f=f+3;

a=a+2;

}

gotoxy(15+f,6);printf("--");

gotoxy(15+f,7);printf("%d",a);

}

gotoxy(5,22);printf("Desea salir 1/0: ");scanf("%d",&op);

}while(op==1);

getch();

}

Corrido del programa:

Ciclos for para el numerador

y denominador

Condiciones con sentencia if

Impresión de respuestas

Ingreso de la opción para

salir o regresar While para la opción

Fin del programa

Page 46: Elemento2

PROGRAMACIÓN I UNIVERSIDAD TÉCNICA DE AMBATO Elemento 2

Programa 22

Enunciado:

Diseñe un programa que me permita generar la siguiente serie de datos: como numerador

los numeros impares y como denominador la serie fibonasi.

Análisis:

Page 47: Elemento2

PROGRAMACIÓN I UNIVERSIDAD TÉCNICA DE AMBATO Elemento 2

Necesitamos un ciclo for para generar los numero impares y la serie de Fibonacci y después

presentamos los valores.

Documentación:

#include<stdio.h>

#include<conio.h>

void main()

{

int i,a,b,c,l,p,cv,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("*");

gotoxy(35,2);printf("Serie de datos");

gotoxy(15,4);printf("Limite: ");scanf("%d",&l);

a=1;

b=0;

Inicio del programa

Declaración de variables

Inicio del do

Bibliotecas

Ciclo for para el borde

Impresión del borde

Borrar el programa

Ingreso del límite

Intercambio de valores

Page 48: Elemento2

PROGRAMACIÓN I UNIVERSIDAD TÉCNICA DE AMBATO Elemento 2

p=1;

cv=0.5;

for(i=1;i<=l;i++)

{

c=a+b;

a=b;

b=c;

cv=cv+3;

gotoxy(15+cv,9);printf("%d",c);

gotoxy(15+cv,8);printf("--");

gotoxy(15+cv,7);printf("%d",p);

p=p+2;

}

gotoxy(15,22);printf("Desea salir 1/0: ");scanf("%d",&op);

}while(op==1);

getch();

}

Corrido

Ciclo for para la serie

Impresión de resultados

Impresión del borde

While para la opción

Fin del programa

Page 49: Elemento2

PROGRAMACIÓN I UNIVERSIDAD TÉCNICA DE AMBATO Elemento 2

Programa 23

Enunciado:

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.

Análisis:

Se ingresa la opción que desee realizar, si elije la suma, se ingresa los numeros que desee

sumar de igualmanera con la resta división y multiplicación se debe ingresar los dos

números, para la resta el segundo numero no debe ser mayor que el primero caso contrario

seguirá pidiendo el numero hasta que cumpla la condición n2>n1, si desea volver a repetir

el proceso deberá seleccionar el 1 caso contrario en 0.

Page 50: Elemento2

PROGRAMACIÓN I UNIVERSIDAD TÉCNICA DE AMBATO Elemento 2

Documentación:

#include<math.h>

#include<conio.h>

#include<stdio.h>

#include<stdlib.h>

void borde()

{

int i;

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 c,d,op,S,R,M;

float a,b,DV,RD,PT;

do

{

clrscr();

borde();

gotoxy(35,3);printf("OPERACIONES BASICAS");

Librerías

Comienza la función para el borde

Declaración de variables

Se imprime el margen.

Se llama al borde

Declaración de variables

Comienzo del do

Borrar pantalla

Borrar pantalla

Page 51: Elemento2

PROGRAMACIÓN I UNIVERSIDAD TÉCNICA DE AMBATO Elemento 2

gotoxy(25,5);printf("1. SUMA");

gotoxy(25,6);printf("2. RESTA");

gotoxy(25,7);printf("3. DIVISION");

gotoxy(25,8);printf("4. MULTIPLICACION");

gotoxy(25,11);printf("5.SALIR");

gotoxy(23,13);printf("ELIGA UNA OPCION >");scanf("%d",&op);

switch(op)

{

case 1:

clrscr();

borde();

gotoxy(30,3);printf("SUMA");

gotoxy(4,4);printf("INGRESE PRIMER NUMERO >");

scanf("%d",&c);

gotoxy(4,5);printf("INGRESE SEGUNDO NUMERO >")

;scanf("%d",&d);

S=c+d;

gotoxy(10,8);printf("%d",c);

gotoxy(9,9);printf("+");

gotoxy(10,10);printf("%d",d);

gotoxy(9,11);printf("----");

gotoxy(10,12);printf("%d",S);

break;

case 2:

clrscr();

borde();

gotoxy(30,3);printf("RESTA");

gotoxy(4,4);printf("INGRESE PRIMER NUMERO >");

Se imprime el menú

Caso 1

Se llama al borde

Termina el primer caso

Comienza en switch y lee la opción elegida

Se imprime los numeros a sumar y la

suma.

Se ingresan los numeros a

sumar.

Suma.

Se ingresan los numeros a

restar.

Caso 2

Se llama al borde

Page 52: Elemento2

PROGRAMACIÓN I UNIVERSIDAD TÉCNICA DE AMBATO Elemento 2

scanf("%d",&c);

do{

gotoxy(28,5);printf(" ");

gotoxy(4,5);printf("INGRESE SEGUNDO NUMERO >");scanf("%d",&d);

}while(d>c);

R=c-d;

gotoxy(10,8);printf("%d",c);

gotoxy(10,10);printf("%d",d);

gotoxy(9,9);printf("-");

gotoxy(9,11);printf("----");

gotoxy(10,12);printf("%d",R);

break;

case 3:

clrscr();

borde();

gotoxy(30,3);printf("DIVISION");

gotoxy(4,4);printf("INGRESE EL PRIMER NUMERO >");

scanf("%f",&a);

gotoxy(4,5);printf("INGRESE EL SEGUNDO NUMERO >");

scanf("%f",&b);

DV=a/b;

gotoxy(10,8);printf("%2.0f",a);

gotoxy(16,8);printf("%2.0f",b);

gotoxy(14,8);printf("/");

gotoxy(20,8);printf("=");

gotoxy(24,8);printf("%2.2f",DV);

break;

case 4:

Resta.

Se ingresan los numeros a

dividir.

División.

Caso 3

Se llama al borde

Se imprime los numeros a dividir y la

división

Termina el segundo caso

Se imprime los números a

restar y la resta

Page 53: Elemento2

PROGRAMACIÓN I UNIVERSIDAD TÉCNICA DE AMBATO Elemento 2

clrscr();

borde();

gotoxy(30,3);printf("MULTIPLICACION");

gotoxy(4,4);printf("INGRESE EL PRIMER NUMERO >");

scanf("%d",&c);

gotoxy(4,5);printf("INGRESE EL SEGUNDO NUMERO >");

scanf("%d",&d);

M=c*d;

gotoxy(10,8);printf("%d",c);

gotoxy(9,9);printf("*");

gotoxy(10,10);printf("%d",d);

gotoxy(9,11);printf("----");

gotoxy(10,12);printf("%d",M);

break;

break;

case 5:

exit(0);

break;

}

gotoxy(2,22);printf("1 continuar 0 salir");

scanf("%d",&op);

}while(op==1);

getch();

}

Se ingresan los numeros a

multiplicar.

Multiplicación

Caso 4 Se llama al borde

Se imprime los numeros a dividir y la

división.

Termina el segundo caso

Termina el segundo caso

Caso 5 finalizar

Fin del programa

Page 54: Elemento2

PROGRAMACIÓN I UNIVERSIDAD TÉCNICA DE AMBATO Elemento 2

Corrido del programa:

Page 55: Elemento2

PROGRAMACIÓN I UNIVERSIDAD TÉCNICA DE AMBATO Elemento 2

Page 56: Elemento2

PROGRAMACIÓN I UNIVERSIDAD TÉCNICA DE AMBATO Elemento 2

Programa 24

Enunciado:

Diseñe un programa con un menú de opciones que me permita calcular las áreas y

perímetros de las 4 figuras básicas: circulo, cuadrado, triangulo, rectángulo.

Análisis:

Utilizamos la función borde para que permanezca durante la ejecución del programa el

borde, además el swith para lograr ejecutar las opciones de menú mediante case y

finalizando con break, y el ciclo do while para que el programa se repita n número de

veces.

Documentación:

#include<stdio.h>

#include<conio.h> LIBRERIAS

#include<stdlib.h>

void borde() Función borde

{

int i,ope; Declaracion de variables

clrscr(); Borrar pantalla

for(i=2;i<=80;i++) Ciclo for para el borde

{

gotoxy(i,2);printf("*");

gotoxy(i,24);printf("*");

} Se imprime el margen

for(i=2;i<=24;i++)

{

gotoxy(2,i);printf("*");

gotoxy(80,i);printf("*");

Page 57: Elemento2

PROGRAMACIÓN I UNIVERSIDAD TÉCNICA DE AMBATO Elemento 2

}

}

void main() Inicio de programa

{

int la,ope,pcu,acu,r,opec; Declaración de variables

float cp,ca;

do inicio primer ciclo do while

{

clrscr(); borrar la pantalla

borde(); Se llama al borde

gotoxy(33,4);printf("<< AREA Y PERIMETRO >>");

gotoxy(20,6);printf("1.CUADRADO");

gotoxy(20,8);printf("2.CIRCULO"); impresión del menú

gotoxy(20,10);printf("3.TRIANGULO");

gotoxy(20,12);printf("4.RECTANGULO");

gotoxy(20,14);printf("5.SALIR");

gotoxy(15,18);printf("<< INGRESE UNA OPCION: ");

scanf("%d",&ope); escaneo de la opción

switch(ope) comienzo del switch

{

case 1: incio de la primera opcion

do inicio del ciclo do while

{

clrscr(); borrar la pantalla

borde(); Se llama al borde

gotoxy(20,6);printf("<< AREA Y PERIMETRO DEL CUADRADO >>");

opcion del menu

gotoxy(10,8);printf("INGRESE EL LADO: ");

Impresión del titulo

Impresión del lado

Page 58: Elemento2

PROGRAMACIÓN I UNIVERSIDAD TÉCNICA DE AMBATO Elemento 2

scanf("%d",&la);

pcu=la+la+la+la;

acu=la*la;

gotoxy(10,12);printf("EL PERIMETRO ES :");

gotoxy(29,12);printf("%d + %d + %d + %d = %d",pcu);

gotoxy(10,14);printf("EL AREA ES :");

gotoxy(29,14);printf("%d * %d = %d ",la,la,acu);

gotoxy(5,20);printf("PULSE 1 PARA REALIZAR OTRA OPERACION O 0 PARA

SALIR : ");

scanf("%d",&opec);

}

while(opec==1);

break;

case 2:

do

{

float ar,pe,ra;

const float pi=3.141632;

clrscr();

borde();

gotoxy(20,6);printf("<< AREA Y PERIMETRO DEL CIRCULO >>");

gotoxy(10,8);printf("INGRESE EL RADIO :");

scanf("%f", &ra);

ar=2*(pi*ra);

pe=pi*(ra*ra);

gotoxy(10,12);printf("EL PERIMETRO ES: %7.3f",pe);

gotoxy(10,14);printf("EL AREA ES: %7.3f",ar);

gotoxy(5,20);printf("PULSE 1 PARA REALIZAR OTRA OPERACION O 0

PARA SALIR : ");

Operaciones de área y perímetro

Impresión de área y perímetro

Fin del ciclo

do while

Fin del primer case

Inicio case 2

Inicio 2º do while

Declaración de variables

Borrar la pantalla

Se llama al borde

Área y perímetro del

círculo

Ingreso del radio

Operaciones de área y perímetro

Impresión de área y perímetro

Fin 2º

ciclo do

while

Page 59: Elemento2

PROGRAMACIÓN I UNIVERSIDAD TÉCNICA DE AMBATO Elemento 2

scanf("%d",&opec);

}

while(opec==1);

break;

case 3:do

{

int l1,ba,l3,l2,ato,pet,ha;

clrscr();

borde();

gotoxy(20,4);printf("<< AREA Y PERIMETRO DEL TRIANGULO >>");

gotoxy(13,6);printf("PERIMETRO");

gotoxy(7,8);printf("<< INGRESE EL 1er LADO: ");

scanf("%d",&l1);

gotoxy(7,10);printf("<<INGRESE EL 2do LADO: ");

scanf("%d",&l2);

gotoxy(7,12);printf("<<INGRESE EL 3er LADO: ");

scanf("%d",&l3);

pet=l1+l2+l3;

gotoxy(9,14);printf(" ES IGUAL :%d ",pet);

gotoxy(50,6);printf("AREA");

gotoxy(40,8);printf("<< INGRESE LA BASE: ");

scanf("%d",&ba);

gotoxy(40,10);printf("<< INGRESE LA ALTURA: ");

scanf("%d",&ha);

ato=(ba*ha)/2;

gotoxy(43,14);printf(" ES IGUAL :%d ",ato);

gotoxy(5,20);printf("PULSE 1 PARA REALIZAR OTRA OPERACION O 0 PARA

SALIR : ");

scanf("%d",&opec);

Fin case 2

Inicio case3

Inicio 3º ciclo do while

Operación del perímetro

Declaración variable

Borrar pantalla

Se llama al borde

Impresión de los

lados del triangulo

Operación del área

Impresión de la base y la altura

Impresión del área

Impresión del perímetro

Page 60: Elemento2

PROGRAMACIÓN I UNIVERSIDAD TÉCNICA DE AMBATO Elemento 2

}

while(opec==1);

break;

case 4:

do

{

int per,bar,are,har;

clrscr();

borde();

gotoxy(20,4);printf("<< AREA Y PERIMETRO DEL RECTANGULO >>");

gotoxy(10,8);printf("<< INGRESE LA BASE :");

scanf("%d",&bar);

gotoxy(10,10);printf("<< INGRESE LA ALTURA: ");

scanf("%d",&har);

per=(2*bar)+(2*har);

gotoxy(10,14);printf("EL PERIMETRO ES :%d",per );

are=bar*har;

gotoxy(10,16);printf("EL AREA ES :%d ",are);

gotoxy(5,20);printf("PULSE 1 PARA REALIZAR OTRA OPERACION O 0 PARA

SALIR : ");

scanf("%d",&opec);

}

while(opec==1);

break;

case 5:

exit(5);

break;

}

Fin del 3º ciclo do while

Fin del 3º ciclo do while

Borrar la pantalla

Se llama al borde

Operación del perímetro

Impresión del perímetro

Operación del área

Inicio del 4º do while

Declaración de variables

Inicio de 4º case

Fin del 4º case

Inicio 5º case

Fin del 5º case

Impresión del área

Función salir

Page 61: Elemento2

PROGRAMACIÓN I UNIVERSIDAD TÉCNICA DE AMBATO Elemento 2

gotoxy(5,20);printf("PULSE 1 PARA REALIZAR OTRA OPERACION O 0 PARA

SALIR : ");scanf("%d",opec);

}

while(opec==0);

getch();

}

Corrido del programa:

Fin del ciclo do while inicial

Fin del programa

Page 62: Elemento2

PROGRAMACIÓN I UNIVERSIDAD TÉCNICA DE AMBATO Elemento 2

Page 63: Elemento2

PROGRAMACIÓN I UNIVERSIDAD TÉCNICA DE AMBATO Elemento 2

Page 64: Elemento2

PROGRAMACIÓN I UNIVERSIDAD TÉCNICA DE AMBATO Elemento 2

Programa 25

Enunciado:

Diseñe un programa a través de un menú de opciones que me permita calcular las 6

operaciones básicas con sus respectivas validaciones. Estas son suma, resta, multiplicación,

división, potenciación y radicación.

Análisis:

Se ingresa la opción que desee realizar, si elige la suma, se ingresa los números que desee

sumar de igual manera con la resta división y multiplicación se debe ingresar los dos

números, para la resta el segundo número no debe ser mayor que el primero caso contrario

seguirá pidiendo el numero hasta que cumpla la condición n2>n1, si desea volver a repetir

el proceso deberá seleccionar el 1 caso contrario en 0.

Documentación:

#include<math.h>

#include<conio.h>

#include<stdio.h>

#include<stdlib.h>

void borde()

{

int i;

for (i=1;i<=80;i++)

{

gotoxy(i,1);printf(">");

gotoxy(i,24);printf(">");

}

for(i=1;i<=24;i++)

Librerías

Comienza la función para el borde

Declaración de variables

Se imprime el margen.

Page 65: Elemento2

PROGRAMACIÓN I UNIVERSIDAD TÉCNICA DE AMBATO Elemento 2

{

gotoxy(1,i);printf(">");

gotoxy(80,i);printf(">");

}

}

void main()

{

int c,d,op,S,R,M;

float a,b,DV,RD,PT;

do

{

clrscr();

borde();

gotoxy(35,3);printf("OPERACIONES BASICAS");

gotoxy(25,5);printf("1. SUMA");

gotoxy(25,6);printf("2. RESTA");

gotoxy(25,7);printf("3. DIVISION");

gotoxy(25,8);printf("4. MULTIPLICACION");

gotoxy(25,9);printf("5. RADICACION");

gotoxy(25,10);printf("6. POTENCIACION");

gotoxy(25,11);printf("7.SALIR");

gotoxy(23,13);printf("ELIGA UNA OPCION >");scanf("%d",&op);

switch(op)

{

case 1:

clrscr();

borde();

gotoxy(30,3);printf("SUMA");

Se llama al borde

Declaración de variables

Se imprime el menu

Comienzo del do

Caso 1

Se llama al borde

Borrar pantalla

Borrar pantalla

Comienza en switch y lee la opción elegida

Page 66: Elemento2

PROGRAMACIÓN I UNIVERSIDAD TÉCNICA DE AMBATO Elemento 2

gotoxy(4,4);printf("INGRESE PRIMER NUMERO >");scanf("%d",&c);

gotoxy(4,5);printf("INGRESE SEGUNDO NUMERO >");scanf("%d",&d);

S=c+d;

gotoxy(10,8);printf("%d",c);

gotoxy(9,9);printf("+");

gotoxy(10,10);printf("%d",d);

gotoxy(9,11);printf("----");

gotoxy(10,12);printf("%d",S);

break;

case 2:

clrscr();

borde();

gotoxy(30,3);printf("RESTA");

gotoxy(4,4);printf("INGRESE PRIMER NUMERO >");

scanf("%d",&c);

do{

gotoxy(28,5);printf(" ");

gotoxy(4,5);printf("INGRESE SEGUNDO NUMERO >");

scanf("%d",&d);

}while(d>c);

R=c-d;

gotoxy(10,8);printf("%d",c);

gotoxy(10,10);printf("%d",d);

gotoxy(9,9);printf("-");

gotoxy(9,11);printf("----");

gotoxy(10,12);printf("%d",R);

break;

case 3:

Termina el primer caso

Se imprime los numeros a sumar y la

suma.

Se ingresan los

numeros a

sumar.

Suma.

Se ingresan los numeros a

restar.

Caso 2

Se llama al borde

Se imprime los numeros a restar y la rest

Page 67: Elemento2

PROGRAMACIÓN I UNIVERSIDAD TÉCNICA DE AMBATO Elemento 2

clrscr();

borde();

gotoxy(30,3);printf("DIVISION");

gotoxy(4,4);printf("INGRESE EL PRIMER NUMERO >");

scanf("%f",&a);

gotoxy(4,5);printf("INGRESE EL SEGUNDO NUMERO >");

scanf("%f",&b);

DV=a/b;

gotoxy(10,8);printf("%2.0f",a);

gotoxy(16,8);printf("%2.0f",b);

gotoxy(14,8);printf("/");

gotoxy(20,8);printf("=");

gotoxy(24,8);printf("%2.2f",DV);

break;

case 4:

clrscr();

borde();

gotoxy(30,3);printf("MULTIPLICACION");

gotoxy(4,4);printf("INGRESE EL PRIMER NUMERO >");

scanf("%d",&c);

gotoxy(4,5);printf("INGRESE EL SEGUNDO NUMERO >");

scanf("%d",&d);

M=c*d;

gotoxy(10,8);printf("%d",c);

gotoxy(9,9);printf("*");

gotoxy(10,10);printf("%d",d);

gotoxy(9,11);printf("----");

Se ingresan los numeros a

dividir.

División.

Se imprime los numeros a dividir y la

division

Termina el segundo caso

Se ingresan los numeros a

multiplicar.

División.

Caso 4

Se llama al borde

Se imprime los numeros a dividir y la

división.

Page 68: Elemento2

PROGRAMACIÓN I UNIVERSIDAD TÉCNICA DE AMBATO Elemento 2

gotoxy(10,12);printf("%d",M);

break;

case 5:

clrscr();

borde();

gotoxy(30,3);printf("RADICACION");

gotoxy(4,4);printf("INGRESE EL NUMERO >");scanf("%d",&c);

RD=sqrt(c);

gotoxy(10,8);printf("raiz cuadrada de %d",c);

gotoxy(30,8);printf("=");

gotoxy(33,8);printf("%2.2f",RD);

break;

case 6:

clrscr();

borde();

gotoxy(30,3);printf("POTENCIACION");

gotoxy(4,4);printf("INGRESE EL NUMERO >");scanf("%d",&c);

gotoxy(4,5);printf("INGRESE LA POTENCIA >");scanf("%d",&d);

PT=pow(c,d);

gotoxy(10,8);printf("%d",c);

gotoxy(12,8);printf("^");

gotoxy(14,8);printf("%d",d);

gotoxy(15,8);printf("=");

gotoxy(17,8);printf("%4.0f",PT);

break;

case 7:

exit(0);

Termina el segundo caso

Se ingresan el numeros a

radicar.

Radicación.

Caso 5

Se llama al borde

Se imprime la radicación del numero

ingresado

Termina el segundo caso

Se ingresan la base y pa

potencia.

Potencia.

Caso 6

Se llama al borde

Se imprime la base y la potencia y a su vez

el resultado

Termina el segundo caso

Caso 7 finalizar

Page 69: Elemento2

PROGRAMACIÓN I UNIVERSIDAD TÉCNICA DE AMBATO Elemento 2

break;

}

gotoxy(2,22);printf("1 continuar 0 salir");scanf("%d",&op);

}while(op==1);

getch();

}

Corrido del programa:

Fin del programa

Page 70: Elemento2

PROGRAMACIÓN I UNIVERSIDAD TÉCNICA DE AMBATO Elemento 2

Page 71: Elemento2

PROGRAMACIÓN I UNIVERSIDAD TÉCNICA DE AMBATO Elemento 2

Page 72: Elemento2

PROGRAMACIÓN I UNIVERSIDAD TÉCNICA DE AMBATO Elemento 2

Page 73: Elemento2

PROGRAMACIÓN I UNIVERSIDAD TÉCNICA DE AMBATO Elemento 2

Programa 26

Enunciado:

Diseñe un programa que me permita realizar las conversiones básicas: metros, kilómetros,

decámetros, hectómetros.

Análisis:

Utilizamos el lazo for para realizar el borde de pantalla, la función borde para que

permanezca durante la ejecución del menú el mismo, el cual se realiza mediante el swich

iniciando con el case y finalizando con break, el ciclo do while nos ayuda a repetir el menú

n número de veces.

Documentación:

#include<stdio.h>

#include<conio.h>

#include<stdlib.h>

#include<math.h>

void borde()

{

int i;

for(i=2;i<=80;i++)

{

gotoxy(i,2); printf("-");

gotoxy(i,23); printf("-");

}

for(i=2;i<=23;i++)

{

gotoxy(2,i); printf("-");

gotoxy(80,i); printf("-");

Fin del programa

Función borde

Declaración variable

Ciclo for borde

Impresión borde

Page 74: Elemento2

PROGRAMACIÓN I UNIVERSIDAD TÉCNICA DE AMBATO Elemento 2

}

}

void main()

{

int op,opc,opci;

float kim1,hec,deca,metros,km,hec1,deca1;

do

{

clrscr();

borde();

gotoxy(15,5); printf("CONVERSIONES BASICAS");

gotoxy(10,7); printf("1. KILOMETROS");

gotoxy(10,8); printf("2. HECTOMETROS");

gotoxy(10,9); printf("3. DECAMETROS");

gotoxy(10,10); printf("4. METROS");

gotoxy(10,11); printf("5. SALIR");

gotoxy(16,15); printf("escoja la opcion que desee: "); scanf("%d",&op);

switch(op)

{

do

{

case 1:

clrscr();

borde();

gotoxy(15,5); printf("CONVERSION A KILOMETROS");

gotoxy(10,8); printf("INGRESE LOS KILOMETROS: "); scanf("%f",&km);

metros=km*1000;

deca=km*100;

hec=km*10;

Fin ciclo for

Función principal

Declaración variables

Ciclo do while

Borrar pantalla

Se llama al borde

Impresión menú

Fin del programa

Ciclo do while

Inicio case 1

Borrar pantalla

Se llama al borde

Ingreso kilometros

Operación conversiones

Page 75: Elemento2

PROGRAMACIÓN I UNIVERSIDAD TÉCNICA DE AMBATO Elemento 2

gotoxy(11,12); printf("EL RESULTADO EN HECTOMETROS ES: %2.0f",hec);

gotoxy(11,13); printf("EL RESULTADO EN DECAMETROS ES: %2.0f",deca);

gotoxy(11,14); printf("EL RESULTADO EN METROS ES: %2.0f",metros);

gotoxy(3,18); printf("realizar otra vez 1 salir 0: "); scanf("%d",&opci);

}

while (opci==1);

break;

do

{

case 2:

clrscr();

borde();

gotoxy(15,5); printf("CONVERSION A HECTOMETROS");

gotoxy(10,8); printf("INGRESE LOS HECTOMETROS: "); scanf("%f",&hec);

metros=hec*100;

deca=hec*10;

kim1=hec/10;

gotoxy(11,12); printf("EL RESULTADO EN KILOMETROS ES: %2.0f",kim1);

gotoxy(11,13); printf("EL RESULTADO EN DECAMETROS ES: %2.0f",deca);

gotoxy(11,14); printf("EL RESULTADO EN METROS ES: %2.0f",metros);

gotoxy(3,18); printf("realizar otra vez 1 salir 0: "); scanf("%d",&opci);

}

while(opci==1);

break;

do

{

case 3:

clrscr();

borde();

Impresión conversiones

Se llama al borde

Borrar pantalla

Inicio case 2

Ciclo do while

Fin case 1

Fin ciclo do while

Ingreso hectometros

Operación conversiones

Impresión conversiones

Fin ciclo do while

Fin case 2

Ciclo do while

INICIO CASE 3

Borrar pantalla

Llamo al borde

Page 76: Elemento2

PROGRAMACIÓN I UNIVERSIDAD TÉCNICA DE AMBATO Elemento 2

gotoxy(15,5); printf("CONVERSION A DECAMETROS");

gotoxy(10,8); printf("INGRESE LOS DECAMETROS: "); scanf("%f",&deca);

metros=deca*10;

hec1=deca/100;

kim1=deca/1000;

gotoxy(11,12); printf("EL RESULTADO EN KILOMETROS ES: %2.0f",kim1);

gotoxy(11,13); printf("EL RESULTADO EN HECTOMETROS ES: %2.0f",hec1);

gotoxy(11,14); printf("EL RESULTADO EN METROS ES: %2.0f",metros);

gotoxy(3,18); printf("realizar otra vez 1 salir 0: "); scanf("%d",&opci);

}

while(opci==1);

break;

do

{

case 4:

clrscr();

borde();

gotoxy(15,5); printf("CONVERSION A METROS");

gotoxy(10,8); printf("INGRESE LOS METROS: "); scanf("%f",&metros);

deca1=metros/1000;

hec1=metros/100;

kim1=metros/10;

gotoxy(11,12); printf("EL RESULTADO EN KILOMETROS ES: %2.0f",kim1);

gotoxy(11,13); printf("EL RESULTADO EN HECTOMETROS ES: %2.0f",hec1);

gotoxy(11,14); printf("EL RESULTADO EN DECAMETROS ES: %2.0f",deca1);

gotoxy(3,18); printf("realizar otra vez 1 salir 0: "); scanf("%d",&opci);

}

while(opci==1);

break;

Operación conversiones

Impresión conversiones

Fin ciclo do while

Fin case 3

Ciclo do while

Ingreso los decametros

Fin case 4

Borrar pantalla

Se llama al borde

Ingreso metros

Operación conversiones

Impresión conversiones

Fin ciclo do while

Inicio case 5

Fin case 4

Page 77: Elemento2

PROGRAMACIÓN I UNIVERSIDAD TÉCNICA DE AMBATO Elemento 2

case 5:

exit(0);

break;

}

gotoxy(4,20); printf("VOLVER AL MENU 1 SINO 0: "); scanf("%d",&opc);

}

while(opc==1);

getch();

}

Corrido del programa:

Función salir

Fin case 5

Fin ciclo do while

Fin del programa

Page 78: Elemento2

PROGRAMACIÓN I UNIVERSIDAD TÉCNICA DE AMBATO Elemento 2

Page 79: Elemento2

PROGRAMACIÓN I UNIVERSIDAD TÉCNICA DE AMBATO Elemento 2

Page 80: Elemento2

PROGRAMACIÓN I UNIVERSIDAD TÉCNICA DE AMBATO Elemento 2

Programa 27

Enunciado:

Diseñe un programa que me permita generar el siguiente menú de opciones de la siguiente

serie de datos:

1. Numeros Pares

2. Numeros Impares

3. Fibonasi

4. Factorial

5. Salir

Análisis:

Utilizamos la función borde para que permanezca durante la ejecución del programa, el

menú de opciones se realiza mediante el swich el cual permite elegir la opción a ejecutar el

cual se inicia con el case en el mismo que se encuentra todas la operaciones a realizarse y

finaliza con break, el ciclo do while el cual permite ejecutar el programa n número de

veces.

Documentación:

#include<stdio.h>

#include<conio.h>

#include<stdlib.h>

void borde()

{

int j;

for(j=1;j<=80;j++)

{

gotoxy(j,24);printf("*");

gotoxy(j,1);printf("*");

}

for(j=1;j<=24;j++)

{

Librerías

Función borde

Ciclo for del borde

Impresión del borde

Declaración de variables

Page 81: Elemento2

PROGRAMACIÓN I UNIVERSIDAD TÉCNICA DE AMBATO Elemento 2

gotoxy(1,j);printf("*");

gotoxy(80,j);printf("*");

}

}

void main()

{

int lim,oper,i,h=7,x,y,z,a=1,par=2,op,li,imp=1,l,limi;

float r;

do

{

a=1;

h=7;

clrscr();

borde();

gotoxy(25,3);printf(">>>SERIES DE DATOS<<<");

gotoxy(10,5);printf("1.-NUMEROS PARES");

gotoxy(10,7);printf("2.-NUMEROS IMPARES");

gotoxy(10,9);printf("3.-SERIE FIBONACCI");

gotoxy(10,11);printf("4.-FACTORIAL");

gotoxy(10,13);printf("5.-SALIR");

gotoxy(10,15);printf("INGRESE LA OPCION QUE DESEA GENERAR:

");scanf("%d",&op);

switch(op)

{

case 1:

clrscr();

borde();

gotoxy(25,3);printf("NUMEROS PARES");

gotoxy(5,5);printf("INGRESE EL LIMITE:");scanf("%d",&lim);

Función principal

Igualación de variables

Borrar la pantalla

Se llama al borde

Declaración de variables

Ciclo do while

Inicio ciclo

Impresión

del menú

Inicio swich

Inicio case 1

Borrar pantalla

Se llama al borde

Page 82: Elemento2

PROGRAMACIÓN I UNIVERSIDAD TÉCNICA DE AMBATO Elemento 2

for(i=1;i<=lim;i++)

{

h=h+3;

gotoxy(5+h,7);printf("%d",par);

par=par+2;

}

break;

case 2:

clrscr();

borde();

gotoxy(25,3);printf("NUMEROS IMPARES");

gotoxy(5,5);printf("INGRESE EL LIMITE:");scanf("%d",&li);

for(i=1;i<=li;i++)

{

h=h+3;

gotoxy(5+h,7);printf("%d",imp);

imp=imp+2;

}

break;

case 3:

clrscr();

borde();

gotoxy(25,3);printf("SERIE FIBONACCI");

gotoxy(5,5);printf("INGRESE EL LIMITE:");scanf("%d",&l);

x=1;

y=0;

for(i=1;i<=l;i++)

{

Contador

Impresión números pares

Operación numero par

Fin case 1

Inicio case2

Borrar pantalla

Se llama al borde

Ingreso del límite números

impares

Ciclo for del límite

Contador

Fin case 2

Operación número impar

Inicio case 3

Igualación de variables

Ciclo for límite

Borrar pantalla

Librerías

Impresión números impares

Page 83: Elemento2

PROGRAMACIÓN I UNIVERSIDAD TÉCNICA DE AMBATO Elemento 2

h=h+3;

z=x+y;

gotoxy(5+h,7);printf("%d",z);

x=y;

y=z;

}

break;

case 4:

clrscr();

borde();

gotoxy(25,3);printf("FACTORIAL");

gotoxy(5,5);printf("INGRESE EL LIMITE:");scanf("%d",&limi);

r=1;

for(i=1;i<=limi;i++)

{

h=h+3;

r=r*i;

gotoxy(5,7+i);printf("%8.0f",r);

}

break;

case 5:

exit(0);

break;

}

gotoxy(15,23);printf("PRESS 1 PARA CONTINUAR 0 SALIR: ");

scanf("%d",&oper);

}

Contador

Impresión serie Fibonacci

Operaciones de la factorial

Ciclo for del límite

Librerías

Ingreso del límite del factorial

Se llama al borde

Borrar pantalla

Inicio case 4

Fin case 3

Igualación de variables

Fin case 4

Inicio case 5

Función salir

Fin case 5

Fin ciclo

do while

Impresión de la factorial

Page 84: Elemento2

PROGRAMACIÓN I UNIVERSIDAD TÉCNICA DE AMBATO Elemento 2

while(oper==1);

getch();

}

Corrido del programa:

Fin del programa

Page 85: Elemento2

PROGRAMACIÓN I UNIVERSIDAD TÉCNICA DE AMBATO Elemento 2

Page 86: Elemento2

PROGRAMACIÓN I UNIVERSIDAD TÉCNICA DE AMBATO Elemento 2

Page 87: Elemento2

PROGRAMACIÓN I UNIVERSIDAD TÉCNICA DE AMBATO Elemento 2

RICARDO Programa 28

Diseñe un programa que me permita realizar un borde utilizaciones funciones.

Análisis:

Se realiza un for en una función llamada void borde (), en el se realiza el ciclo for

correspondiente, se inicia el programa llamando a dicha función, se imprime el margen de

la pantalla como funcion

Documentación

#include<stdio.h>

#include<conio.h>

#include<stdlib.h>

int i,op,opc,conta,p,contav;

float tv,venta,valo;

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

{

clrscr();

borde();

getch();

}

Corrido

Librerías

Inicio de la funcion

Declaración de variables

Inicio for

Impresión

Inicio del ciclo for

Impresión

Inicio del programa

Impresión del margen

Page 88: Elemento2

PROGRAMACIÓN I UNIVERSIDAD TÉCNICA DE AMBATO Elemento 2

Programa 29

Enunciado:

Diseñe un programa utilizando funciones que me permita generar n numeros naturales

Análisis:

Utilizando funciones se realiza el borde, y la generación de números naturales dentro d las

mismas utilizando ciclos FOR y DO WHILE.

Documentación:

#include<stdio.h>

#include<conio.h>

int i,op,limite,fila,col;

void borde()

{

for(i=2;i<=80;i++)

{

Librerías

Declaración de variables tipo enteras

Page 89: Elemento2

PROGRAMACIÓN I UNIVERSIDAD TÉCNICA DE AMBATO Elemento 2

Corrido del programa:

gotoxy(i,2); printf("-");

gotoxy(i,23); printf("-");

}

for(i=2;i<=23;i++)

{

gotoxy(2,i); printf("-");

gotoxy(80,i); printf("-");

}

}

void numeros (int limite1)

{

fila=8;

col=8;

for(i=1;i<=limite1;i++)

{

gotoxy(col,fila); printf("%d",i);

fila=fila+1;

if(fila==18)

{

col=col+10;

fila=8;

fila=fila+1;

}

}

}

void main ()

{

do

{

clrscr();

borde();

gotoxy(10,4); printf("SERIE DE NUMEROS NATURALES");

gotoxy(15,5); printf("Ingrese el limite: "); scanf("%d",&limite);

numeros(limite);

gotoxy(3,22); printf("presione 1 para volver a hacer o 0 para salir: ");

scanf("%d",&op);

}

while(op==1);

getch();

}

Inicio del programa

Función para generar

numeros naturales

Blanqueo de pantalla

Fin del programa

Ingreso y escaneo de datos

Función para generar el

borde

Llamado de la función borde

Llamado de la función limite

Page 90: Elemento2

PROGRAMACIÓN I UNIVERSIDAD TÉCNICA DE AMBATO Elemento 2

Programa 30

Enunciado:

Diseñe un programa utilizando funciones y un menú de opciones que me permita realizar el

siguiente proceso.

Serie de datos

1. Verificar numeros pares

2. Verificar numeros impares

3. Verificar numeros primos

4. Salir

Análisis:

Page 91: Elemento2

PROGRAMACIÓN I UNIVERSIDAD TÉCNICA DE AMBATO Elemento 2

Utilizamos la función borde la mima que permite que se mantenga durante la ejecución del

programa, mediante el ciclo for se realiza el borde de pantalla, además para realizar el

menú de opciones se utiliza el swich el cual nos permite realizar las opciones que se

encuentran dentro del menú, el cual se inicia con case donde se llama a las funciones

realizadas dentro de un ciclo do while y se finaliza con el break, el ciclo do while permite

realizar la ejecución del programa n número de veces.

Documentación:

#include<stdio.h>

#include<conio.h>

#include<stdlib.h>

int numero,op,rp,ri,i,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 par(int num)

{

rp=num%2;

if(rp==0)

Librerías

Declaración de variables

Impresión borde

Ciclo for borde

Función borde

Función par

Operación numero par

Comparación

Page 92: Elemento2

PROGRAMACIÓN I UNIVERSIDAD TÉCNICA DE AMBATO Elemento 2

{

gotoxy(20,5);printf("ES PAR");

}

}

void impar(int num)

{

ri=num%2;

if(ri==1)

{

gotoxy(30,12);printf("ES IMPAR");

}

}

void primo(int num)

{

c=0;

for(i=1;i<=numero/2;i++)

if(numero%i==0)

c=c+1;

if(c==2)

{

gotoxy(20,12); printf ("NO ES PRIMO",numero);

}

else

{

gotoxy(20,12);printf ("ES PRIMO",numero);

}

}

void main()

{

Impresión numero par

Función impar

Operación número impar

Condición

Impresión número impar

Inicio función primo

Igualación de variable

Ciclo for número primo

Fin función impar

Condición Contador

Condición 2

Impresión número primo

Caso contrario

Impresión número primo

Fin función primo

Función principal

Fin función par

Page 93: Elemento2

PROGRAMACIÓN I UNIVERSIDAD TÉCNICA DE AMBATO Elemento 2

do

{

clrscr();

borde();

gotoxy(35,2);printf("<< SERIE DE DATOS >>");

gotoxy(15,5);printf("1.VERIFICAR DI ES PAR");

gotoxy(15,7);printf("2.VERIFICAR SI ES IMPAR");

gotoxy(15,9);printf("3.VERIFICAR SI ES PRIMO");

gotoxy(15,11);printf("4.SALIR");

do

{

gotoxy(29,13);printf(" ");

gotoxy(15,13);printf("ELIJA UNA OPCION: ");scanf("%d",&op);

}while(op>4);

switch(op)

{

case 1:

clrscr();

borde();

gotoxy(33,3);printf("VERIFICAR SI ES PAR");

gotoxy(15,5);printf("NUMERO: ");scanf("%d",&numero);

par(numero);

break;

case 2:

clrscr();

borde();

gotoxy(33,3);printf("VERIFICAR SI ES IMPAR");

gotoxy(15,5);printf("NUMERO: ");scanf("%d",&numero);

impar(numero);

Inicio ciclo do while

Borra pantalla

Se llama al borde

Impresión menú

Inicio ciclo do while

Inicio case 1

Escaneo opción

Fin ciclo do while

Ingreso número

verificación impar

Inicio swich

Se llama al borde

Titulo case 1

Ingrese el número

Se llama a la función par

Fin case 1

Inicio case2

Se llama al borde

Se llama a la función impar

Page 94: Elemento2

PROGRAMACIÓN I UNIVERSIDAD TÉCNICA DE AMBATO Elemento 2

break;

case 3:

clrscr();

borde();

gotoxy(33,3);printf("VERIFICAR SI ES PRIMO");

gotoxy(15,5);printf("NUMERO: ");scanf("%d",&numero);

primo(numero);

break;

case 4:

exit(0);

break;

}

gotoxy(15,22);printf("Desea salir 1/0: ");scanf("%d",&op);

}while(op==1);

getch();}

Corrido de programa:

Fin ciclo do while

Inicio case 4

Fin case 3

Se llama función número primo

Ingreso número verificación

primo

Se llama al borde

Borrar pantalla

Inicio case 3

Función salir

Fin case 4

Fin programa

Page 95: Elemento2

PROGRAMACIÓN I UNIVERSIDAD TÉCNICA DE AMBATO Elemento 2

Page 96: Elemento2

PROGRAMACIÓN I UNIVERSIDAD TÉCNICA DE AMBATO Elemento 2

Programa 31

Enunciado:

Diseñe un programa utilizando funciones que me permita calcular el valor de las

comisiones por venta de vehículos según los siguientes condicionamientos, existen 3

vendedores, el vendedor 1, el vendedor 2, el vendedor 3, se asigna un valor de comision si:

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%

Obtenga el numero de ventas realizadas por vendedor, el total de ventas realizadas, el total

de comisiones recibidas y el total general de todas las comisiones.

Análisis:

Page 97: Elemento2

PROGRAMACIÓN I UNIVERSIDAD TÉCNICA DE AMBATO Elemento 2

Se elige que vendedor es del menú, se aplican las operaciones especificadas se ingresa la

venta, se obtiene el resultado usando la opción 4 del menú de opciones, si desea repetir el

proceso ingresa el 1 si desea salir se elige el 0.

Documentación:

#include<stdio.h>

#include<conio.h>

#include<stdlib.h>

int i,op,opc,conta,p,contav;

float tv,venta,valo,tore,tore1,tore2,sumto;

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 v1(int venta)

{

if(venta<8500)

{

}

else

{

if(venta>=8500 && venta<=13500)

{

tv=venta*0.03;

gotoxy(10,11); printf("la comision es: %f",tv);

}

else

{

if(venta>13500 && venta<=18000)

{

tv=venta*0.08;

gotoxy(10,11); printf("la comision es: %f",tv);

}

else

{

Librerías

Declaración de variables

Función borde

Inicio de la función para el programa

principal

Proceso del if con el caso contrario e impresiones de resultados

Inicio del if

Page 98: Elemento2

PROGRAMACIÓN I UNIVERSIDAD TÉCNICA DE AMBATO Elemento 2

tv=venta*0.11;

gotoxy(10,11); printf("la comision es : %f",tv);

}

}

}

}

void main()

{

p=0;

do

{

p=p+1;

clrscr();

borde();

gotoxy(10,3);printf("COMISION DE VENTAS DE VEHICULOS

EMPRESA XYZ ");

gotoxy(18,5);printf("1.Vendedor 1");

gotoxy(18,6);printf("2.Vendedor 2");

gotoxy(18,7);printf("3.Vendedor 3");

gotoxy(18,8);printf("4.Total de ventas");

gotoxy(18,9);printf("5.Salir");

gotoxy(18,12);printf("Elija opcion: ");scanf("%d",&op);

switch(op)

{

conta=0;

contav=0;

valo=0;

do

{

case 1:

clrscr();

borde();

conta=conta+1;

gotoxy(10,5);printf("Vendedor 1: ");scanf("%f",&venta);

gotoxy(15,20);printf("Ingresar otra venta 1 sino 0: ");scanf("%d",&opc);

contav=contav+1;

gotoxy(10,8); printf("total de ventas: %d",contav);

v1(venta);

valo=valo+venta;

venta=venta+venta;

gotoxy(10,10); printf("total ventas: %2.2f",venta);

tore=venta+tv;

gotoxy(10,12); printf("Total a recibir: %2.2f",tore);

}

while(opc==1);

break;

do

Inicio del programa principal

Inicio del do

Impresión del menu

Inicio del switch para el

menu

Igualación de variables a 0

Comienzo del do

Lectura e impresión del vendedor 1

Llamado de la fusión

Contador del total vendido

Fin del do

Page 99: Elemento2

PROGRAMACIÓN I UNIVERSIDAD TÉCNICA DE AMBATO Elemento 2

{

case 2:

clrscr();

borde();

conta=conta+1;

gotoxy(10,5);printf("Vendedor 2: ");scanf("%f",&venta);

gotoxy(15,20);printf("Ingresar otra venta 1 sino 0: ");

scanf("%d",&opc);

contav=contav+1;

gotoxy(10,8); printf("total de ventas: %d",contav);

v1(venta);

valo=valo+venta;

venta=venta+venta;

gotoxy(10,10); printf("total ventas: %f",venta);

tore1=venta+tv;

gotoxy(10,12); printf("Total a recibir: %2.2f",tore1);

}

while(opc==1);

break;

do

{

case 3:

clrscr();

borde();

conta=conta+1;

gotoxy(10,5);printf("Vendedor 3: ");scanf("%f",&venta);

gotoxy(15,20);printf("Ingresar otra venta 1 sino 0: ");

scanf("%d",&opc);

contav=contav+1;

gotoxy(10,8); printf("total de ventas: %d",contav);

v1(venta);

valo=valo+venta;

venta=venta+venta;

gotoxy(10,10); printf("total ventas: %f",venta);

tore2=venta+tv;

gotoxy(10,12); printf("Total a recibir: %2.2f",tore2);

}

while(opc==1);

break;

case 4:

clrscr();

borde();

sumto=tore+tore1+tore2;

gotoxy(15,8);

printf("Total general de los 3 vendedrores: %2.2f",sumto);

break;

case 5:

Lectura e impresión del vendedor 1

Llamado de la fusión

Contador del total vendido

Fin del do

Lectura e impresión del vendedor 1

Llamado de la fusión

Contador del total vendido

Fin del do

Contador del total vendido

de los 3 vendedores

Fin del do

Page 100: Elemento2

PROGRAMACIÓN I UNIVERSIDAD TÉCNICA DE AMBATO Elemento 2

exit(0);

break;

}

gotoxy(15,22);printf("VOLVER AL MENU 1 SALIR 0: ");scanf("%d",&op);

}while(op==1);

getch();

}

Corrido del programa:

Page 101: Elemento2

PROGRAMACIÓN I UNIVERSIDAD TÉCNICA DE AMBATO Elemento 2

Page 102: Elemento2

PROGRAMACIÓN I UNIVERSIDAD TÉCNICA DE AMBATO Elemento 2

Page 103: Elemento2

PROGRAMACIÓN I UNIVERSIDAD TÉCNICA DE AMBATO Elemento 2

Programa 32

Enunciado:

Diseñe un programa permita obtener el valor a pagar por concepto consumo de agua

potable según el siguiente condicionamiento.

Se ingresa desde teclado el nombre del abonado y las lecutras del medidor del mes antesior

y del mes actual, considerando siempre que la lecutura actual no puede ser menor que la

anterio, la diferenciaentre las dos lecturas me permite obtener el consumo actual las mismas

que tiene el siguiente condicionamiento

Si el consumo es ≤ 30 litros de agua, se le factura el valor minimo que son Usd.

6,00

Si el consumo es > 30 y ≤ que 200 se cobra, 1,50 centavos cada litro de agua

Si el cosnumo es > 200 litros se cobra 2,75 cada litro

A este importe total obtenido se le añade los impuestos de ley

5% Basurero

%5 IECE

3% Municipio

Obtenga el costo total de la factura

El programa debe funcionar para n usuarios al final se visualiza el numero total de usuarios

recaudados y el valor total recaudado.

Análisis:

Se ingresa el nombre de la persona la lectura de su pago anterior de agua potable y la

lectura actual de su consumo, se aplican las condiciones especificadas para el calculo

necesario, se obtiene el resultado; numero de litros consumidos, valor a pagar de agua,

valor a pagar de recolección de basura, valor del IECE, valor del municipio, valor total a

pagar y recaudación total del dia, si desea repetir el proceso ingresa el 1 si desea salir se

elige el 0.

Documentación:

#include<stdio.h>

#include<conio.h>

#include<stdlib.h>

int i,op,usu;

float lan,lac,total,to,bas,muni,iece,fac,total1=6.00,,factu3,facto;

Librerías Declaración de variables

Page 104: Elemento2

PROGRAMACIÓN I UNIVERSIDAD TÉCNICA DE AMBATO Elemento 2

char nombre[30];

void borde()

{

for(i=2;i<=80;i++)

{

gotoxy(i,2); printf("*");

gotoxy(i,23); printf("*");

}

for(i=2;i<=23;i++)

{

gotoxy(2,i); printf("*");

gotoxy(80,i); printf("*");

}

}

void main()

{

do

{

clrscr();

borde();

gotoxy(30,3);printf("FACTURA DE AGUA POTABLE");

gotoxy(3,5);printf("INGRESE EL NOMBRE DE LA CUENTA...:

");scanf("%s",&nombre);

do

{

gotoxy(37,6);printf(" ");

gotoxy(37,7);printf(" ");

gotoxy(3,6);printf("INGRESE LECTURA ANTERIOR.........: ");

scanf("%f",&lan);

gotoxy(3,7);printf("INGRESE LECTURA ACTUAL...........: ");

scanf("%f",&lac);

}

while (lac<lan);

total=lac-lan;

gotoxy(5,11);printf("NUMERO DE LITROS CONSUMIDOS....: %f",total);

if(total<=30)

{

bas=total1*0.05;

iece=total1*0.05;

muni=total1*0.03;

fac=total1+bas+iece+muni;

factu1=factu1+fac;

gotoxy(5,13);printf("VALOR A PAGAR DE AGUA : %f",total1);

gotoxy(5,14);printf("VALOR A PAGAR DE BASURERO..: %f",bas);

gotoxy(5,15);printf("VALOR A PAGAR DE IECE...........: %f",iece);

gotoxy(5,16);printf("VALOR A PAGAR DE MUNICIPIO..: %f",muni);

gotoxy(5,17);printf("VALOR A PAGAR DE FACTURA........: %f",fac);

Función borde

Inicio del programa principal

Ingreso de nombre lectura actual y anterior; utilización de un do para que el valor de lectura actual sea mayor que lectura anterior

Inicio del do

Cálculos

Impresión de

resultados

Page 105: Elemento2

PROGRAMACIÓN I UNIVERSIDAD TÉCNICA DE AMBATO Elemento 2

gotoxy(5,19);printf("TOTAL DE RECAUDACION............: %f",factu1);

}

else

{

if((total>30)&&(total<=200))

{

to=total*1.50;

bas=to*0.05;

iece=to*0.05;

muni=to*0.03;

fac=to+bas+iece+muni;

gotoxy(5,13);printf("VALOR A PAGAR DE AGUA...: %f",to);

gotoxy(5,14);printf("VALOR A PAGAR DE BASURERO......: %f",bas);

gotoxy(5,15);printf("VALOR A PAGAR DE IECE...........: %f",iece);

gotoxy(5,16);printf("VALOR A PAGAR DE MUNICIPIO....: %f",muni);

gotoxy(5,17);printf("VALOR A PAGAR DE FACTURA........: %f",fac);

factu2=factu2+fac;

gotoxy(5,19);printf("TOTAL DE RECAUDACION...: %f",factu2);

}

else

{

if(total>200)

{

to=total*1.50;

bas=to*0.05;

iece=to*0.05;

muni=to*0.03;

fac=to+bas+iece+muni;

gotoxy(5,13);printf("VALOR A PAGAR DE AGUA...: %f",to);

gotoxy(5,14);printf("VALOR A PAGAR DE BASURERO.....: %f",bas);

gotoxy(5,15);printf("VALOR A PAGAR DE IECE...........: %f",iece);

gotoxy(5,16);printf("VALOR A PAGAR DE MUNICIPIO...: %f",muni);

gotoxy(5,17);printf("VALOR A PAGAR DE FACTURA........: %f",fac);

factu3=factu3+fac;

gotoxy(5,19);printf("TOTAL DE RECAUDACION...: %f",factu3);

}

}

}

usu=usu+1;

gotoxy(2,22);printf("otro usuario 1 y 0 para salir");scanf("%d",&op);

}

while(op==1);

facto=factu1+factu2+factu3;

gotoxy(5,18);printf("TOTAL DE USUARIOS......: %d",usu);

gotoxy(5,19);printf("RECAUDACION: %f",facto);

getch();

}

Caso contrario

Inicio del if

Cálculos

Caso contrario

Impresión de

resultados

Inicio del if

Cálculos

Contador

Impresión de

resultados

Contador

Impresión de recaudacion

Page 106: Elemento2

PROGRAMACIÓN I UNIVERSIDAD TÉCNICA DE AMBATO Elemento 2

Corrido del programa:

Page 107: Elemento2

PROGRAMACIÓN I UNIVERSIDAD TÉCNICA DE AMBATO Elemento 2