elemento 2

73
APLICACIONES SENCILLAS UTILIZANDO SENTENCIAS DE CONTROL PARA DESARROLLAR LA LOGICA DE LA PROGRAMACION EN LENGUAJE C++ AUTOR: JOHANA VARGAS PERIODO: SEP2013-FEB2014 CARRERA DE DOCENCIA EN INFORMATICA SEGUNDO SEMESTRE UNIVERSIDAD TECNICA DE AMBATO FACULTAD DE CIENCIAS HUMANAS Y DE LA EDUCACION

Upload: johitafresh

Post on 21-May-2015

330 views

Category:

Education


0 download

TRANSCRIPT

Page 1: Elemento 2

APLICACIONES SENCILLAS UTILIZANDO SENTENCIAS DE CONTROL

PARA DESARROLLAR LA LOGICA DE LA PROGRAMACION EN

LENGUAJE C++

AUTOR: JOHANA VARGAS

PERIODO: SEP2013-FEB2014

CARRERA DE DOCENCIA EN INFORMATICA

SEGUNDO SEMESTRE

UNIVERSIDAD TECNICA DE AMBATO

FACULTAD DE CIENCIAS HUMANAS Y DE LA EDUCACION

Page 2: Elemento 2

PROGRAMA 1

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

2. ANALISIS

Para realizar las condiciones se utiliza la sentencia condicionante IF y ELSE de esta manera

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

3. DOCUMENTACION:

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

Librerías

Declaración de variable tipo entera

Inicio del programa

Blanqueo de pantalla

Ingreso y escaneo de datos

If para condicionar cada una

de las calificaciones

Page 3: Elemento 2

} 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(); } 4. CORRIDO DEL PROGRAMA:

PROGRAMA 2

1. 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.

2. ANALISIS

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

el número ingresado.

Fin del programa

Pausar pantalla

If para condicionar cada una

de las calificaciones

Page 4: Elemento 2

3. DOCUMENTACION:

#include<stdio.h> #include<conio.h> void main() { Int n; clrscr(); gotoxy (10,5);printf("DIAS DE LA SEMANA SEGUN EL NUMERO"); gotoxy(5,8);printf("Ingrese el numero:");scanf("%d",&n); if((n<8)&&(n>0)) { if(n==1) gotoxy(10,10);printf("Lunes"); } if(n==2) { gotoxy(10,10);printf(“ Martes"); } if(n==3) { gotoxy(10,10);printf("Miercoles"); } if(n==3) { gotoxy(10,10);printf("Jueves"); } if(n==3) { gotoxy(10,10);printf("Viernes"); } if(n==3) { gotoxy(10,10);printf("Sábado"); } if(n==3) { gotoxy(10,10);printf("Es Domingo"); } getch(); }

If para condicionar cada uno

de los días

Librerías

Declaración de variable tipo entera

Inicio del programa

Blanqueo de pantalla

Ingreso y escaneo de datos

Fin del programa

Pausar pantalla

Fin del programa

Pausar pantalla

Page 5: Elemento 2

4. CORRIDO DEL PROGRAMA:

PROGRAMA 3

1. 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.

2. ANALISIS

Se utiliza IFs para validar cada condicionamiento de los valores y según su resultado se

le acredita un porcentaje a la venta y un DO WHILE para repetir el proceso n número

de veces.

3. DOCUMENTACION:

#include<stdio.h> #include<conio.h> main() { int z=1,y=0,con; float a,b,c,d,e,f,g,h,i; do {

Declaración de variables tipo entero y flotante

Blanqueo pantalla

Do para repetir n veces

Librerias

Page 6: Elemento 2

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

Ingresa y escanea la venta

Ifs para hacer las validaciones

Caso contrario

Imprime la venta y

porcentaje ganado

Repetir proceso

Fin del programa

Page 7: Elemento 2

4. CORRIDO DEL PROGRAMA

PROGRAMA 4

1. ENUNCIADO:

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

los mismos.

2. ANALISIS: 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.

3. DOCUMENTACIO

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;

Librerías

Ingreso y escaneo de datos

Librerías

Declaración de variables tipo enteras

Inicio del programa

Blanqueo de pantalla

Condición para validar los datos Operación

Page 8: Elemento 2

CORRIDO DEL PROGRAMA:

PROGRAMA 5

1. 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. El programa se repite n veces.

2. ANALISIS: 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.

3. DOCUMENTACION:

#include<stdio.h> #include<conio.h> void main() { int a,b,suma,op; { clrscr(); do {

} Else { gotoxy(5,22); printf("ingrese un número mayor"); } gotoxy(15,15); printf("el resultado es: %d",r); getch(); }

Imprime resultados

Fin del programa

Pausar pantalla

Librerías

Librerías

Inicio del programa

Declaración de variables tipo enteras

Page 9: Elemento 2

gotoxy(36,4); printf(" "); gotoxy(10,4); printf("Ingrese el primer número: "); scanf("%d",&a); } 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(); }

4. CORRIDO DEL PROGRAMA:

PROGRAMA 6

1. 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”

Segundo DO para validar los datos

Ingreso y escaneo de datos

Ingreso y escaneo de datos

Tercer DO para validar los datos

Operación

Imprime resultados

Primer DO para que se repita n

veces

Pausar pantalla

Fin del programa

Page 10: Elemento 2

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.

2. ANALISIS: Se utilizan IFs para obtener el resultado; si la persona es bebe, niño,

adolescente, adulto o adulto mayor.

3. DOCUMENTACION:

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

Librerías

Declaración de variables

Blanquea pantalla

Ingresa la edad

DO para validar las edades

Imprime es un

bebe

Imprime es un niño

Imprime es un adolescente

Fin del programa

Librerías

Page 11: Elemento 2

4. CORRIDO DEL PROGRAMA:

PROGRAMA 7

1. 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.

2. ANALISIS: Utilizamos 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

de los productos y realizar operaciones básicas y un DO WHILE para repetirlo n

veces.

3. DOCUMENTACION:

#include<stdio.h> #include<conio.h 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);

Librerías

Librerías

Inicio del programa

Declaración de variables

Do para generar n veces

Blanquea pantalla

Diseño de la factura

Escaneo la cantidad y precio

Page 12: Elemento 2

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("Subtotal %2.2f",sub); gotoxy(10,12);printf("Iva %2.2f",iv); gotoxy(10,13);printf("Total %2.2f",to); getch(); }

4. CORRIDO DEL PROGRAMA:

PROGRAMA 8

1. 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.

2. ANALISIS: Se utiliza tres DO WHILEs para realizar las validaciones en las

calificaciones, caso contrario me pedirá d nuevo que ingrese la calificacion.

Operaciones

Repetir n

veces

Imprimir resultados

Page 13: Elemento 2

3. DOCUMENTACION:

#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 Informática"); 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 { 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();

4. CORRIDO DEL PROGRAMA:

Librerías

Librerías

Inicio del programa

Declaración de variables

Borrar pantalla

Do para hacer las validaciones

Ingresa modulo y

nota

Operaciones

Escaneamos el promedio junto con el promedio general

Fin de programa

Diseño de

pantalla

Do para hacer las validaciones

Ingresa modulo y nota

Page 14: Elemento 2

PROGRAMA 9

1. ENUNCIADO: Realice un programa en C++ que me permita obtener el líquido 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 correspondientes de ingresos, egresos y total a recibir.

El programa se genera n veces.

2. ANALISIS:

3. DOCUMENTACION:

4. CORRIDO DEL PROGRAMA:

PROGRAMA 10

1. ENUNCIADO:

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

Librerías

Page 15: Elemento 2

2. ANALISIS:

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.

3. DOCUMENTACION:

#include<conio.h> #include<stdio.h> main () { int i; clrscr(); for(i=2;i<=78;i++) { gotoxy(i,1);printf("-"); gotoxy(i,24); printf("-"); } for(i=2;i<=24;i++) { gotoxy(2,i);printf("-"); gotoxy(78,i);printf("-"); } gotoxy(25,5);printf("BORDE EN PANTALLA"); getch(); }

4. CORRIDO DEL PROGRAMA:

Librerías

Librerías

Inicio del programa

Declaración de variable tipo entera

Blanqueo de pantalla

Inicio del ciclo repetitivo

para genera el margen

Impresión de un mensaje en pantalla

Pausar pantalla

Fin del programa

Page 16: Elemento 2

PROGRAMA 11

1. ENUNCIADO:

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

límite desde teclado con un margen el programa debe generase n veces.

2. ANALISIS: 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.

3. DOCUMENTACION:

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

Librerías

Librerías

Declaración de variable tipo entera

DO para que se repita n veces

Blanqueo de pantalla

Primer ciclo para generar

el borde

Titulo

Variable fila para que comience desde ahí

Segundo ciclo para obtener los

números pares

Para que se repita n veces

Pausar pantalla

Fin del programa

Ingreso y escaneo de datos

Page 17: Elemento 2

4. CORRIDO DEL PROGR

PROGRAMA 12

1. 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.

2. ANALISIS:

Utilización de lazos for para el borde y para obtener los numeros pares e impares

además de un DO WHILE para que el proceso se genere n veces

3. DOCUMENTACION:

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

Librerías

Librerías

Inicio del programa

Declaración de variables

Blanqueo de pantalla

Margen.

Do para repetir n veces

Page 18: Elemento 2

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

}

4. CORRIDO DEL PROGRAMA:

Se imprime los números correspondientes a los

pares e impares

Fin del programa

Margen.

Ingreso y escaneo de datos

Page 19: Elemento 2

PROGRAMA 13

1. 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.

2. ANALISIS: 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 DO WHILE para repetirla n veces.

3. DOCUMENTACION:

#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); } gotoxy(15,20);printf("Desea salir 1/0: ");scanf("%d",&op); }while(op==1); getch(); }

Librerías

Librerías

Inicio del programa

Declaración de variables tipo enteras

Do para repetir n veces

Blanqueo de pantalla

Borde

Ingreso y escaneo de

datos

Ciclo for para la tabla

de multiplicar

Impresión de resultados

Ingreso de la opción para

salir o regresar

Page 20: Elemento 2

4. CORRIDO DEL PROGRAMA:

PROGRAMA 14

1. ENUNCIADO:

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

teclado.

2. ANALISIS: Necesitamos un lazo for para generar el factorial y una variable

declara en 1 y multiplicarle por el contador y presentar el contador además de un

DO WHILE para repetirla n veces. .

3. DOCUMENTACION:

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

Librerías

Librerías

Inicio del programa

Declaración de variables

Do para repetir n veces

Blanqueo de pantalla

Borde

Page 21: Elemento 2

gotoxy(80,i);printf("*"); } 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("Factorial de: %d",i); gotoxy(33,6+i);printf("="); } gotoxy(15,20);printf("Desea salir 1/0: ");scanf("%d",&op); }while(op==1); getch(); }

4. CORRIDO DEL PROGRAMA:

PROGRAMA 15

1. 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.

2. ANALISIS: utilizamos un DO WHILE para generar n veces el proceso y dos ciclos

FOR para mostrar el borde en pantalla y para obtener los numeros pares e impares

en forma horizontal.

Ciclo for para obtener el

factorial

Fin del programa

Page 22: Elemento 2

3. DOCUMENTACION:

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

4. CORRIDO DEL PROGRAMA:

Librerías

Librerías

Inicio del programa

Declaración de variables

Do para generar n veces

Margen

Título e ingreso y escaneo de

datos

Fin del programa

Impresión de resultados

de forma horizontal

Blanqueo de pantalla

Ciclo para generar el factor y los

numeros impares

Page 23: Elemento 2

PROGRAMA 16

1. 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.

2. ANALISIS: utilizamos un DO WHILE para generar n veces el proceso y ciclos

FOR para mostrar el borde en pantalla y para obtener la serie de numeros primos

en forma horizontal

3. DOCUMENTACION:

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

Librerías

Librerías

Inicio del programa

Declaración de variables

Blanqueo de pantalla

Margen.

Ingreso y escaneo de datos.

Do para repetir n veces

Page 24: Elemento 2

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

4. CORRIDO DEL PROGRAMA:

PROGRAMA 17

1. 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.

2. ANALISIS: utilizamos un DO WHILE para generar n veces el proceso y ciclos

FOR para mostrar el borde en pantalla y para obtener la serie de numeros impares

como numerador y factorial como denominador en forma horizontal.

Se imprime los números primos correspondientes al rango

Fin de programa

Page 25: Elemento 2

3. DOCUMENTACION:

#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 DATOS"); gotoxy(15,5);printf("Ingrese el Limite: ");scanf("%d",&limite); a=1; 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(); }

Librerías

librerías

Inicio del programa

Declaración de variables

Do para repetir n veces

margen

Título, ingreso y escaneo

de datos

Fin del programa

Ciclo for para obtener numeros impares

y factorial de forma horizontal

Blanqueo de pantalla

Page 26: Elemento 2

4. CORRIDO DEL PROGRAMA:

PROGRAMA 18

1. ENUNCIADO:

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

numerador, el denominador numeros pares.

2. ANALISIS: utilizamos un DO WHILE para generar n veces el proceso y ciclos

FOR para mostrar el borde en pantalla y para obtener la serie de cualquier factor

como numerador y numeros pares como denominador en forma horizontal.

3. DOCUMENTACION:

#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"); gotoxy(4,9);printf("Ingrese el límite: "); scanf("%d",&n);

Librerías

librerías

Inicio del programa

Declaración de variables

Do para generar n veces

Margen

Título, ingreso y

escaneo de

datos

Page 27: Elemento 2

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

4. CORRIDO DEL PROGRAMA:

PROGRAMA 19

1. ENUNCIADO:

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

del Fibonacci

Ciclo para generar la serie

de cualquier factor y los

numeros pares

Fin del

programa

Page 28: Elemento 2

2. ANALISIS: utilizamos un DO WHILE para generar n veces el proceso y ciclos

FOR para mostrar el borde en pantalla y para obtener la serie de la factorial como

numerador y numeros Fibonacci como denominador en forma horizontal.

3. DOCUMENTACION:

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

4. CORRIDO DEL PROGRAMA:

Librerías

Librerías

Inicio del programa Declaración de variables e

inicio del do

Blanqueo de pantalla

Margen

Ciclo para generar factorial

y numeros Fibonacci

Fin del programa

Ingreso y escaneo de datos

Operaciones

Page 29: Elemento 2

PROGRAMA 20

1. 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.

2. ANALISIS: utilizamos un DO WHILE para generar n veces el proceso y ciclos

FOR para mostrar el borde en pantalla y para obtener la serie de numeros impares

como numerador y numeros impares como denominador en forma horizontal.

3. DOCUMENTACION:

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

Librerías

Inicio del programa

Declaración de variables

Do para generar n veces

Librerías

Borde

Blanqueo de pantalla

Título, ingreso y escaneo de

datos

Page 30: 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();

}

4. CORRIDO DEL PROGRAMA:

PROGRAMA 21

1. 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.

2. ANALISIS: se realiza un menú de opciones que nos permita elegir varias

operaciones y para esto necesitamos un switch para realizar las operaciones y un

case para cada caso, break para terminarlos casos y dos do whiles para volver al

menú y para salir del programa.

Ciclo for para las series

Impresión de resultados

Fin del programa

Page 31: Elemento 2

3. DOCUMENTACION:

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

Librerías

Librerías

Comienza la función borde

Declaración de variables

Margen.

Se llama al borde

Declaración de variables

Menú

Comienzo del do

Caso 1

Se llama al borde

Borrar pantalla

Comienza switch y lee la opción elegida

Se imprime los numeros a sumar y la

suma.

Se ingresan los numeros a

sumar.

OPERACION.

Page 32: Elemento 2

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: 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("----"); gotoxy(10,12);printf("%d",M); break; case 5: exit(0); break; }

Termina el primer caso

Se ingresan los numeros a

restar.

Resta.

Caso 2

Se llama al borde

Se imprime los numeros a restar y la resta

Se ingresan los numeros a

dividir.

Caso 3

Se llama al borde

Se imprime los numeros a dividir y la

división

Termina el tercer caso

Se ingresan los numeros a

multiplicar.

Caso 4

Se llama al borde

Se imprime los numeros multiplicar.

Termina el cuarto caso

Caso 5 Finalizar

Page 33: Elemento 2

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

4. CORRIDO DEL PROGRAMA:

PROGRAMA 22

1. 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.

2. ANALISIS: se realiza un menú de opciones que nos permita elegir varias

operaciones y para esto necesitamos un switch para realizar las operaciones y un

case para cada caso, break para terminarlos casos y dos do whiles para volver al

menú y para salir del programa.

Fin del programa

Page 34: Elemento 2

3. DOCUMENTACION:

#include<stdio.h> #include<conio.h> LIBRERIAS #include<stdlib.h> void borde() Función borde { int i,ope; Declaracion de variables clrscr(); for(i=2;i<=80;i++) { gotoxy(i,2);printf("*"); gotoxy(i,24);printf("*"); } Ciclo for para el borde for(i=2;i<=24;i++) { gotoxy(2,i);printf("*"); gotoxy(80,i);printf("*"); } } 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: "); scanf("%d",&la);

Librerías

Impresión del titulo

Page 35: Elemento 2

pcu=la+la+la+la; acu=la*la; gotoxy(10,12);printf("EL PERIMETRO ES :"); gotoxy(29,12);printf("%d + %d + %d + %d = %d",la,la,la,la,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 : "); 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: ");

Operaciones 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

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

Impresión del perímetro

Page 36: Elemento 2

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); } 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; } gotoxy(5,20);printf("PULSE 1 PARA REALIZAR OTRA OPERACION O 0 PARA SALIR : ");scanf("%d",opec); } while(opec==0); getch(); }

4. CORRIDO DEL PROGRAMA:

Fin del 3º ciclo do while

Operación del área

Impresión de la base y la altura

Se llama al borde

Impresión de la base y

altura del rectángulo

Operación del perímetro

Impresión del perímetro

Operación del área

Inicio de 4º case

Fin del ciclo do while inicial

Fin del programa

Fin del 4º case

Inicio 5º case

Fin del 5º case

Función salir

Page 37: Elemento 2
Page 38: Elemento 2

PROGRAMA 23

1. 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.

2. ANALISIS: se realiza un menú de opciones que nos permita elegir varias

operaciones y para esto necesitamos un switch para realizar las operaciones y un

case para cada caso, break para terminarlos casos y dos do whiles para volver al

menú y para salir del programa.

3. DOCUMENTACION:

#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() inicio del programa

Librerías

Librerías

función para el borde

Declaración de variables

margen.

Page 39: Elemento 2

{

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

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

Se llama al borde

Declaración de variables

Diseño del menu

Comienzo del do

Caso 1

Se llama al borde

Borrar pantalla

Comienza en switch y lee la opción elegida

Se ingresan los numeros a

sumar.

Page 40: Elemento 2

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:

clrscr();

borde();

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

gotoxy(4,4);printf("INGRESE EL PRIMER NUMERO >");scanf("%f",&a);

Termina el primer caso

Se ingresan los numeros a

restar.

Caso 2

Se llama al borde

Se imprime los numeros a restar y la resta

Termina el segundo caso

Se ingresan los numeros a

dividir.

Caso 3

Se llama al borde

Se imprime los numeros a sumar y la

suma.

Page 41: Elemento 2

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

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

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.

Termina el cuarto caso

Se ingresan el numeros a

radicar.

Caso 5

Se llama al borde

Page 42: Elemento 2

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

break;

}

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

}while(op==1);

getch();}

Se imprime la radicación del número

ingresado

Termina el quinto caso

Se ingresan la base y la

potencia.

Potencia.

Caso 6

Se llama al borde

Se imprime la base y la potencia y a su vez

el resultado

Termina el sexto caso

Caso 7 Finalizar

Fin del programa

Page 43: Elemento 2

4. CORRIDO DEL PROGRAMA:

Page 44: Elemento 2

PROGRAMA 24

1. ENUNCIADO:

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

decámetros, hectómetros.

2. ANALISIS: se realiza un menú de opciones que nos permita elegir varias

operaciones y para esto necesitamos un switch para realizar las operaciones y un

case para cada caso, break para terminarlos casos y dos do whiles para volver al

menú y para salir del programa.

3. DOCUMENTACION:

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

Librerías

Librerias

Función borde

Ciclo for borde

Page 45: Elemento 2

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

}

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

{

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

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

}

}

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

Impresión borde

Inicio del programa

Declaración variables

Ciclo do while

Borrar pantalla

Se llama al borde

Impresión menú

switch

Ciclo do while

Page 46: Elemento 2

{

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;

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;

Inicio case 1

Borrar pantalla

Se llama al borde

Ingreso kilometros

conversiones

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

Page 47: Elemento 2

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

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

{

Impresión conversiones

Fin ciclo do while

Fin case 2

Ciclo do while

INICIO CASE 3

Operación conversiones

Impresión conversiones

Fin ciclo do while

Fin case 3

Ciclo do while

Borrar pantalla

Llamo al borde

Ingreso los decametros

Page 48: Elemento 2

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;

case 5:

exit(0);

break;

}

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

}

while(opc==1);

getch();

}

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

Función salir

Fin case 5

Fin ciclo do while

Fin del programa

Page 49: Elemento 2

4. CORRIDO DEL PROGRAMA:

Page 50: Elemento 2

PROGRAMA 25

1. 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

2. ANALISIS: se realiza un menú de opciones que nos permita elegir varias

operaciones y para esto necesitamos un switch para realizar las operaciones y un

case para cada caso, break para terminarlos casos y dos do whiles para volver al

menú y para salir del programa

3. DOCUMENTACION:

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

{

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

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

Librerías

Librerías

Función borde

borde

Declaración de variables

Page 51: Elemento 2

}

}

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

Inicio del programa

principal

Igualación de variables

Borrar la pantalla

Se llama al borde

Declaración de variables

Ciclo do while

menú

Inicio swich

Inicio case 1

Borrar pantalla

Se llama al borde

Impresión números pares

Ciclo for del límite

Page 52: 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;

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

Ingreso limite serie Fibonacci

Igualación de variables

Ciclo for límite

Borrar pantalla

Librerías

Impresión números impares

Page 53: Elemento 2

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

{

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;

}

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

Impresión de la factorial

Page 54: Elemento 2

gotoxy(15,23);printf("PRESS 1 PARA CONTINUAR 0 SALIR: ");scanf("%d",&oper);

}

while(oper==1);

getch();

}

4. CORRIDO DEL PROGRAMA:

Fin del programa

Page 55: Elemento 2

PROGRAMA 26

1. ENUNCIADO:

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

2. ANALISIS:

Utilizando funciones con parámetros realizaremos uno llamado borde y llamarlo

cuando sea necesario.

3. DOCUMENTACION:

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

Librerías

Librerías

Inicio de la función

Declaración de variables

Inicio for

borde

Inicio del programa

llamado del margen

Page 56: Elemento 2

4. CORRIDO DEL PROGRAMA:

PROGRAMA 27

1. ENUNCIADO: Diseñe un programa utilizando funciones que me permita generar n

numeros naturales

2. ANALISIS: utilizando funciones realizamos el borde y la operación para generar n

numeros naturales dentro de las mismas utilizando ciclos FOR y DO WHILE

3. DOCUMENTACIÓN:

#include<stdio.h> #include<conio.h> int i,op,limite,fila,col; 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("-"); } }

Librerías

Declaración de variables tipo enteras

Función para generar el

borde

Page 57: Elemento 2

4. CORRIDO DEL PROGRAMA:

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

DO para que se repita n veces

Para que se repita n veces

Pausar pantalla

Fin del programa

Ingreso y escaneo de datos

Llamado de la función borde

Llamado de la función limite

Page 58: Elemento 2

PROGRAMA2 8

1. 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

2. ANALISIS:

3. DOCUMENTACION:

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

}

Librerías

Librerías

Declaración de variables

borde

Ciclo for borde

Función borde

Page 59: Elemento 2

}

void par(int num)

{

rp=num%2;

if(rp==0)

{

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

Función par

Operación numero par

Comparación

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

Condición

Contador

Condición 2

Impresión número primo

Page 60: Elemento 2

}

else

{

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

}

}

void main()

{

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

Caso contrario

Impresión número primo

Función principal

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

Inicio swich

Borrar pantalla

Page 61: Elemento 2

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

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

Ingreso número

verificación impar

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

Fin ciclo do while

Inicio case 4

Fin case 3

Ingreso número verificación

primo

Se llama al borde

Borrar pantalla

Inicio case 3

Fin case 2

Se llama a la función impar

Función salir

Fin case 4

Fin del programa

Page 62: Elemento 2

4. CORRIDO DEL PROGRAMA:

PROGRAMA29

1. 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 comisión 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 número de ventas realizadas por vendedor, el total de ventas realizadas, el total

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

Page 63: Elemento 2

2. ANALISIS: Realizar un menú, establecer funciones y aplicar las operaciones

especificadas para ingresar la venta, Se obtiene el resultado usando la opción 4 del

menú de opciones, Utilizamos un do while para repetir el proceso n veces.

3. DOCUMENTACION:

#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("*"); 4. 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 { tv=venta*0.11; gotoxy(10,11); printf("la comision es : %f",tv); } }

Librerías

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 64: Elemento 2

} } 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 { case 2: clrscr(); borde(); conta=conta+1; gotoxy(10,5);printf("Vendedor 2: ");scanf("%f",&venta);

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

Lectura e impresión del vendedor 1

Page 65: Elemento 2

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: exit(0); break; } gotoxy(15,22);printf("VOLVER AL MENU 1 SALIR 0: ");scanf("%d",&op); }while(op==1); getch(); }

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 66: Elemento 2

5. CORRIDO DEL PROGRAMA:

Page 67: Elemento 2

PROGRAMA 31

1. 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 lecturas del medidor del mes anterior

y del mes actual, considerando siempre que la lectura actual no puede ser menor que la

anterior, la diferencia entre 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 mínimo que son Usd.

6,00

Si el consumo es > 30 y ≤ que 200 se cobra, 1,50 centavos cada litro de agua

Si el consumo 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 número total de usuarios

recaudados y el valor total recaudado.

2. ANALISIS: utilizamos funciones para realizar el pago de agua potable rigiéndose a

cada una de los condicionamientos que nos pide ahí, siempre y cuando no olvidar el

borde y el DO WHILE para generar n veces el programa.

3. DOCUMENTACION:

#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,factu1,factu2,factu3,facto; 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++) {

Librerías

Función borde

Inicio del programa principal

Page 68: Elemento 2

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 POTABLE...: %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); 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 POTABLE...: %f",to); gotoxy(5,14);printf("VALOR A PAGAR DE BASURERO.......: %f",bas); gotoxy(5,15);printf("VALOR A PAGAR DE IECE...........: %f",iece);

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

Inicio del if

Cálculos

Caso contrario

Impresión de

resultados

Inicio del if

Impresión de

resultados

Page 69: Elemento 2

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 POTABLE...: %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("TOTAL DE RECAUDACION...: %f",facto); getch();

4. CORRIDO DEL PROGRAMA:

Caso contrario

Inicio del if

Cálculos

Contador

Impresión de

resultados

Contador

Impresión de recaudacion

Page 70: Elemento 2

PROGRAMA 32

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: Utilizaremos varias funciones con condiciones if para hacer las

comparaciones y para validar los datos y no olvidemos también para que el proceso se

repita n veces

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

}

LIBRERIAS

Declaracion de variables

Page 71: Elemento 2

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

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)

{

Impresión del margen

Inicio de la función void main

Inicio del do

Validación de datos

Ingreso y escaneo de datos el

segundo numero

Inicio de la función void orden

if para que los números

ingresados estén en

forma ordenada

ascendentemente.

Page 72: Elemento 2

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)

{

gotoxy(15,8);printf("%d %d %d",c,b,a);

}

}

gotoxy(15,7);printf("El orden es:");

}

void main()

{

do

{

clrscr();

borde();

numero();

orden();

getch();

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

}while(op==1);

}

Blanqueo de pantalla

Llamar al borde

Llamar a la función

numero Llamar a la función orden

Fin del programa

if para que los números

ingresados estén en

forma ordenada

ascendentemente.

Inicio del programa

Page 73: Elemento 2

4. CORRIDO DEL PROGRAMA