72
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

Programacion elem2

Embed Size (px)

Citation preview

Page 1: Programacion elem2

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: Programacion elem2

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: Programacion elem2

} 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: Programacion elem2

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: Programacion elem2

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: Programacion elem2

{ 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: Programacion elem2

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

Librerías

Ingreso y escaneo de datos

Librerías

Declaración de variables tipo enteras

Inicio del programa

Blanqueo de pantalla

Page 8: Programacion elem2

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

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

Condición para validar los datos

Imprime resultados

Fin del programa

Pausar pantalla

Operación

Librerías

Librerías

Inicio del programa

Declaración de variables tipo enteras

Page 9: Programacion elem2

int a,b,suma,op; { clrscr(); do { 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:

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: Programacion elem2

Si la edad está entre 3 y 5 debe visualizarse: nombre, “es un bebé”

Si la edad es > 5 y <13 debe visualizarse: nombre, “es un niño”

Si la edad es > 13 y ≤ 21 debe visualizarse: nombre, “es un adolescente”

Si la edad es > 21 y ≤ 60 debe visualizarse: nombre, “es un adulto”

Si la edad es > 60 debe visualizarse: nombre, “es un adulto mayor”

El programa se repite tantas veces como el usuario lo desee.

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

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

Librerías

Page 11: Programacion elem2

getch(); }

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

Librerías

Fin del programa

Librerías

Inicio del programa

Declaración de variables

Do para generar n veces

Blanquea pantalla

Diseño de la factura

Page 12: Programacion elem2

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("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.

Escaneo la cantidad y precio

Operaciones

Repetir n

veces

Imprimir resultados

Page 13: Programacion elem2

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

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

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

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: Programacion elem2

getch();

4. CORRIDO DEL PROGRAMA:

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: Librerías

Page 15: Programacion elem2

4. CORRIDO DEL PROGRAMA:

PROGRAMA 10

1. ENUNCIADO:

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

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: Programacion elem2

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: Programacion elem2

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("*"); } for(i=1;i<=23;i++) { gotoxy(1,i);printf("*");

Librerías

Librerías

Inicio del programa

Declaración de variables

Blanqueo de pantalla

Margen.

Do para repetir n veces

Page 18: Programacion elem2

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:

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.

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

Fin del programa

Ingreso y escaneo de datos

Page 19: Programacion elem2

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

4. CORRIDO DEL PROGRAMA:

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: Programacion elem2

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

Librerías

Librerías

Inicio del programa

Declaración de variables

Do para repetir n veces

Blanqueo de pantalla

Borde

Ciclo for para obtener el

factorial

Fin del programa

Page 21: Programacion elem2

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.

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

Librerías

Librerías

Inicio del programa

Declaración de variables

Do para generar n veces

Margen

Blanqueo de pantalla

Page 22: Programacion elem2

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:

Título e ingreso y escaneo de

datos

Fin del programa

Impresión de resultados

de forma horizontal

Ciclo para generar el factor y los

numeros impares

Page 23: Programacion elem2

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

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;

Librerías

Librerías

Inicio del programa

Declaración de variables

Blanqueo de pantalla

Margen.

Ingreso y escaneo de datos.

Se imprime los números primos correspondientes al rango

Do para repetir n veces

Page 24: Programacion elem2

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.

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

Librerías

Librerías

Inicio del programa

Declaración de variables

Do para repetir n veces

Blanqueo de pantalla

Fin de programa

Page 25: Programacion elem2

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

4. CORRIDO DEL PROGRAMA:

margen

Título, ingreso y escaneo

de datos

Fin del programa

Ciclo for para obtener numeros impares

y factorial de forma horizontal

Page 26: Programacion elem2

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

Librerías

librerías

Inicio del programa

Declaración de variables

Do para generar n veces

Margen

Título, ingreso y

escaneo de

datos

Ciclo para generar la serie

de cualquier factor y los

numeros pares

Page 27: Programacion elem2

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

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;

Librerías

Fin del

programa

Librerías

Inicio del programa

Declaración de variables

Blanqueo de pantalla

Page 28: Programacion elem2

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:

Margen

Ciclo para generar factorial

y numeros Fibonacci

Fin del programa

Ingreso y escaneo de datos

Operaciones

Page 29: Programacion elem2

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;

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

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

Ciclo for para las series

Impresión de resultados

Page 30: Programacion elem2

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.

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

Librerías

Fin del programa

Librerías

Comienza la función borde

Declaración de variables

Page 31: Programacion elem2

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

Margen.

Se llama al borde

Declaración de variables

Menú

Comienzo del do

Caso 1

Se llama al borde

Termina el primer caso

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.

Se ingresan los numeros a

restar.

Resta.

Caso 2

Se llama al borde

Page 32: Programacion elem2

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; } gotoxy(2,22);printf("1 continuar 0 salir");scanf("%d",&op); }while(op==1); getch(); }

4. CORRIDO DEL PROGRAMA:

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

Fin del programa

Page 33: Programacion elem2

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.

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

Librerías

Page 34: Programacion elem2

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

Impresión del titulo

Operaciones de área y perímetro

Fin del ciclo do

while

Fin del primer case

Inicio case 2

Inicio 2º do while

Page 35: Programacion elem2

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

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

Fin del 3º ciclo do while

Operación del área

Impresión de la base y la altura

Impresión del perímetro

Se llama al borde

Inicio de 4º case

Page 36: Programacion elem2

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:

Impresión de la base y

altura del rectángulo

Operación del perímetro

Impresión del perímetro

Operación del área

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: Programacion elem2

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>

Librerías

Librerías

Page 38: Programacion elem2

#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

{

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

Declaración de variables

margen.

Se llama al borde

Declaración de variables

Diseño del menu

Comienzo del do

Borrar pantalla

función para el borde

Page 39: Programacion elem2

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

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

Caso 1

Se llama al borde

Termina el primer caso

Comienza en switch y lee la opción elegida

Se ingresan los numeros a

sumar.

Se ingresan los numeros a

restar.

Caso 2

Se llama al borde

Se imprime los numeros a sumar y la

suma.

Page 40: Programacion elem2

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

Se ingresan los numeros a

dividir.

Caso 3

Se llama al borde

Se imprime los numeros a dividir y la

division

Termina el segundo caso

Caso 4

Se llama al borde

Page 41: Programacion elem2

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

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

Se ingresan los numeros a

multiplicar.

División.

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

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

Page 42: Programacion elem2

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

4. CORRIDO DEL PROGRAMA:

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: Programacion elem2
Page 44: Programacion elem2

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

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

}

Librerías

Librerias

Función borde

Ciclo for borde

Page 45: Programacion elem2

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

{

case 1:

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

Inicio case 1

Borrar pantalla

Page 46: Programacion elem2

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;

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

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

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

Impresión conversiones

Page 47: Programacion elem2

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

{

case 4:

clrscr();

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

case 4

Borrar pantalla

Se llama al borde

Page 48: Programacion elem2

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

}

4. CORRIDO DEL PROGRAMA:

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: Programacion elem2

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>

Librerías

Librerías

Page 50: Programacion elem2

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

}

}

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

Función borde

Inicio del programa

principal

borde

Declaración de variables

Igualación de variables

Borrar la pantalla

Se llama al borde

Declaración de variables

Ciclo do while

Page 51: Programacion elem2

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

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

menú

Inicio swich

Inicio case 1

Borrar pantalla

Se llama al borde

Impresión números pares

Ciclo for del límite

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

Page 52: Programacion elem2

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

{

h=h+3;

z=x+y;

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

x=y;

y=z;

}

break;

case 4:

clrscr();

borde();

Contador

Fin case 2

Operación número impar

Inicio case 3

Ingreso limite serie Fibonacci

Igualación de variables

Ciclo for límite

Contador

Borrar pantalla

Librerías

Impresión serie Fibonacci

Se llama al borde

Borrar pantalla

Inicio case 4

Fin case 3

Igualación de variables

Impresión números impares

Page 53: Programacion elem2

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

}

while(oper==1);

getch();

}

4. CORRIDO DEL PROGRAMA:

Operaciones de la factorial

Ciclo for del límite

Librerías

Ingreso del límite del factorial

Fin del programa

Fin case 4

Inicio case 5

Función salir

Fin case 5

Impresión de la factorial

Page 54: Programacion elem2

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

Librerías

Librerías

Inicio de la función

Declaración de variables

Inicio for

borde

Page 55: Programacion elem2

gotoxy(i,24);printf("*"); } for(i=1;i<=24;i++) { gotoxy(1,i);printf("*"); gotoxy(80,i);printf("*"); } } void main() { clrscr(); borde(); getch(); }

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:

Inicio del programa

llamado del margen

Page 56: Programacion elem2

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

Inicio del programa

Librerías

Función para generar

numeros naturales

Declaración de variables tipo enteras

DO para que se repita n veces

Blanqueo de pantalla

Ingreso y escaneo de datos

Función para generar el

borde

Llamado de la función borde

Page 57: Programacion elem2

4. CORRIDO DEL PROGRAMA:

PROGRAM

A2 8

1. ENU

NCIADO:

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>

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

Librerías

Para que se repita n veces

Pausar pantalla

Fin del programa

Llamado de la función limite

Librerías

Page 58: Programacion elem2

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

{

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

}

}

void impar(int num)

{

ri=num%2;

Declaración de variables

borde

Ciclo for borde

Función borde

Función par

Operación numero par

Comparación

Impresión numero par

Función impar

Operación número impar

Page 59: Programacion elem2

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

{

do

{

clrscr();

borde();

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

Caso contrario

Impresión número primo

Función principal

Inicio ciclo do while

Borra pantalla

Se llama al borde

Page 60: Programacion elem2

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

break;

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

Inicio case 3

Fin case 2

Se llama a la función impar

Borrar pantalla

Page 61: Programacion elem2

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

4. CORRIDO DEL PROGRAMA:

Fin ciclo do while

Inicio case 4

Fin case 3

Ingreso número verificación

primo

Se llama al borde

Borrar pantalla

Función salir

Fin case 4

Fin del programa

Page 62: Programacion elem2

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.

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

Librerías

Librerías

Declaración de variables

Función borde

Page 63: Programacion elem2

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

Proceso del if con el caso contrario e impresiones de resultados

Inicio del if

Inicio del programa principal

Inicio del do

Impresión del menu

Inicio del switch para el

menu

Page 64: Programacion elem2

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

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

Contador del total vendido

Fin del do

Lectura e impresión del vendedor 1

Llamado de la fusión

Page 65: Programacion elem2

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

5. CORRIDO DEL PROGRAMA:

Contador del total vendido

Fin del do

Contador del total vendido

de los 3 vendedores

Fin del do

Page 66: Programacion elem2

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

Page 67: Programacion elem2

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++) { 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); }

Librerías

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

Page 68: Programacion elem2

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

Inicio del if

Cálculos

Caso contrario

Impresión de

resultados

Inicio del if

Caso contrario

Impresión de

resultados

Inicio del if

Cálculos

Impresión de

resultados

Page 69: Programacion elem2

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:

Contador

Contador

Impresión de recaudacion

Page 70: Programacion elem2

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

}

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

LIBRERIAS

Declaracion de variables

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

Page 71: Programacion elem2

do

{

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

gotoxy(15,6);printf("Numero 3: ");scanf("%d",&c);

}while(c>64 || c<4);

}

void orden()

{

if(a<=b && a<=c)

{

if(b<=c)

{

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

}

if(c<=b)

{

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

}

}

if(b<=a && b<=c)

{

if(a<=c)

{

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

}

if(c<=a)

{

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

}

}

if(c<=a && c<=b)

{

if(a<=b)

{

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

}

if(b<=a)

{

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

}

}

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

Inicio de la función void orden

if para que los números

ingresados estén en

forma ordenada

ascendentemente.

if para que los números

ingresados estén en

forma ordenada

ascendentemente.

Page 72: Programacion elem2

}

void main()

{

do

{

clrscr();

borde();

numero();

orden();

getch();

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

}while(op==1);

}

4. CORRIDO DEL PROGRAMA

Blanqueo de pantalla

Llamar al borde

Llamar a la función

numero Llamar a la función orden

Fin del programa

Inicio del programa