Sie sind auf Seite 1von 21

Algoritmos y Programacin : ESTRUCTURAS REPETITIVAS

Ms. Ing. Yenny Sifuentes Daz

Analizar el problema, disear un algoritmo y codificar en C++ para:


Ejercicio 1 A. ANALISIS DEL PROBLEMA Definicin del problema
Escriba todos los nmeros pares comprendidos entre 1 y 50.

Especificaciones de entrada Memoria Variables i

Especificaciones de salida Nmeros Pares entre 1 y 50 Variables i (tipo entero) 2 22 42 4 6 8 10 12 14 16 18 20 24 26 28 30 32 34 36 38 40 44 46 48 50

B. ALGORITMO i1 ESCRIBIR(Nmeros Pares entre 1 y 50) Para(i;i<=25;i++) ESCRIBIR(2*i)

C. CODIGO #include<conio.h> #include<iostream.h> int main () { cout<<"\n N\243meros Pares entre 1 y 50"<<endl; cout<<"\n"; for(int i=1;i<=25;i++) cout<<" "<<2*i<<endl; getch(); return 0; }

Algoritmos y Programacin : ESTRUCTURAS REPETITIVAS

Ms. Ing. Yenny Sifuentes Daz

Ejercicio 2 A. ANALISIS DEL PROBLEMA Definicin del problema


Lea el valor inicial y el valor final de un rango de nmeros enteros y escriba todos los nmeros comprendidos en el rango.

Especificaciones de entrada Ingrese valor inicial: Ingrese valor final: Variables I (tipo float) F (tipo float) Memoria I F

Especificaciones de salida Los nmeros son: Variables I (tipo float)

B. ALGORITMO

I, F ESCRIBIR(Nmeros Pares en un rango) ESCRIBIR(Ingrese valor inicial:) LEER(I) ESCRIBIR (Ingrese valor final: ) LEER(F) Para(I;I<=F;I++) ESCRIBIR(I)

Algoritmos y Programacin : ESTRUCTURAS REPETITIVAS

Ms. Ing. Yenny Sifuentes Daz

C. CODIGO

#include<conio.h> #include<iostream.h> int main () { float I, F, valor1, valor2; cout<<"N\meros pares en un rango "<<endl; do{cout<<"Ingrese valor inicial: "; cin>>I; valor1=I-int(I); if(I<0||valor1!=0) cout<<"Valor no aceptado. Debe ser un numero entero positivo o 0"<<endl; }while(I<0||valor1!=0); //validacin: entero positivo do{ cout<<"Ingrese valor final: "; cin>>F; valor2=F-int(F); if(F<0||valor2!=0||F<=I) cout<<"ERROR: Debe ser un numero entero positivo y mayor que el inicial"<<endl; }while(F<0||valor2!=0||F<=I); //validacin: entero positivo y mayor que I cout<<"\n Rango ingresado correctamente"<<endl; cout<<"El rango ingresado es: ( "<<I<<" , "<<F<<" )"; cout<<"\n\n Los numeros son: "<<endl; for(I;I<=F;I++) //condicin de rango cout<<" "<<I<<endl; getch(); return 0; }

Algoritmos y Programacin : ESTRUCTURAS REPETITIVAS

Ms. Ing. Yenny Sifuentes Daz

Ejercicio 3 A. ANALISIS DEL PROBLEMA Definicin del problema


Encuentre el primer valor N para el cual la siguiente suma excede a 10000: 1 + 2 + 3 + 4 + ... + N

Especificaciones de entrada Memoria Variables N suma 1

Especificaciones de salida SUMA DE NUMEROS Variables N(tipo int) Nmero encontrado:

B. ALGORITMO N1, suma ESCRIBIR(SUMA DE NUMEROS) Para(N;N<=1000000;N++) sumaN*(N+1)/2 suma>10000 V ESCRIBIR(Numero encontrado: , N) F

C. CODIGO #include<conio.h> #include<iostream.h> int main () { double N=1, suma; cout<<"SUMA DE NUMEROS"<<endl; for(N;N<=1000000;N++) { suma=N*(N+1)/2; if(suma>10000) { cout<<"Numero encontrado: "; cout<<N<<endl; cout<<"La suma es: "<<suma; break; } } getch(); return 0; }

Algoritmos y Programacin : ESTRUCTURAS REPETITIVAS

Ms. Ing. Yenny Sifuentes Daz

Ejercicio 4 A. ANALISIS DEL PROBLEMA Definicin del problema


Mostrar los N primeros trminos de la serie: 5, 7, 10,14,19,..,

Especificaciones de entrada

Serie 5;7 ; 10; 14; 19 Ingrese el nmero de trminos que desea ver:

Memoria N i T 0 4

Variables N (tipo int)

Especificaciones de salida

Variables T (tipo int)

B. ALGORITMO N, i0, T4 ESCRIBIR(Serie: 5; 7; 10; 14; 19...) ECRIBIR (Ingrese el nmero de trminos que desea ver: ) ii+1 TT+i ESCRIBIR(T) i<N

C. CODIGO #include<conio.h> #include<iostream.h> int main () { float N, i=0, T=4, val; cout<<"Serie: 5; 7; 10; 14; 19..."<<endl; do{cout<<"Ingrese el n\243mero de terminos que desea ver: "; cin>>N; val=N-int(N); if(val!=0||N<=0) cout<<"\n ERROR: el n\243mero debe ser natural"<<endl; }while(val!=0||N<=0); //validacin:

nmero natural
do{i++; T=T+i; cout<<T<<" }while(i<N); getch(); return 0;}

";

Algoritmos y Programacin : ESTRUCTURAS REPETITIVAS

Ms. Ing. Yenny Sifuentes Daz

Ejercicio 5 A. ANALISIS DEL PROBLEMA Definicin del problema


Ingrese una serie de nmeros hasta ingresar el valor 0. Luego reporte cuntos de los nmeros ingresados fueron impares y cuantos pares.

Especificaciones de entrada Ingrese nmero: Variables N (tipo int) Memoria N c1 c2 0 0

Especificaciones de salida La cantidad de nmeros PARES es: La cantidad de nmeros IMPARES es:

Variables c1 (tipo int) c2 (tipo int)

B. ALGORITMO N, c10, c20 ESCRIBIR(PARES E IMPARES) ESCRIBIR(Ingrese numero:) LEER(N) V N==0 F

ESCRIBIR(Numero 0 ingresado) c1c1-1 V c1c1+1 Nmod2==0 c2c2+1 N!=0 ESCRIBIR(La cantidad de numeros PARES es: ) ESCRIBIR(c1) ESCRIBIR(La cantidad de nmeros IMPARES es: ) ESCRIBIR(c2) F

Algoritmos y Programacin : ESTRUCTURAS REPETITIVAS

Ms. Ing. Yenny Sifuentes Daz

C. CODIGO

#include<conio.h> #include<iostream.h> int main () { float N, c1=0, c2=0, val; int NE; cout<<" \20 \250PARES E IMPARES\77"<<endl; cout<<"\n Presione 0 para terminar"<<endl; do{ do{ cout<<"\n Ingrese n\243mero: "; cin>>N; val=N-int(N); if(val!=0) cout<<"\n ERROR: el n\243 debe ser entero"; }while(val!=0); //validacin: nmero entero NE=N; //cambio de tipo float a int if(N==0) {cout<<"\n Numero 0 ingresado"<<endl; c1=c1-1;} //el 0 no ser contado como par if(NE%2==0) c1=c1+1; //contador nmeros pares else c2=c2+1; //contador nmeros impares }while(NE!=0); cout<<"\n La cantidad de n\243meros PARES es: "<<c1<<endl; cout<<"\n La cantidad de n\243meros IMPARES es: "<<c2<<endl; getch(); return 0; }

Algoritmos y Programacin : ESTRUCTURAS REPETITIVAS

Ms. Ing. Yenny Sifuentes Daz

Ejercicio 6 A. ANALISIS DEL PROBLEMA Definicin del problema


Calcular la suma de los cuadrados de los N primeros nmeros enteros. N es un entero positivo ingresado desde teclado

Especificaciones de entrada Ingrese el nmero N: Variables N (tipo int) Memoria N i suma

Especificaciones de salida La suma es: Variables suma (tipo int)

B. ALGORITMO N, i, suma ESCRIBIR(SUMA DE LOS PRIMEROS N2 NATURALES) ESCRIBIR(Ingrese el numero N:) LEER(N) N<0 Para(i=1;i<=N;i++) sumasuma+i*i ESCRIBIR(La suma es: , suma)

C. CODIGO #include<conio.h> #include<iostream.h> int main () { int suma=0, i; float N, val; do{cout<<" \n \20SUMA DE LOS PRIMEROS N\375 NATURALES"<<endl; cout<<"\n Ingrese el n\243mero N: "; cin>>N; val=N-int(N); }while(val!=0||N<0); //validacin

nmero natural
for(i=1;i<=N;i++) suma=suma+i*i; //suma de los N cout<<"\n La suma es: "<<suma; getch(); return 0; }

Algoritmos y Programacin : ESTRUCTURAS REPETITIVAS

Ms. Ing. Yenny Sifuentes Daz

Ejercicio 7 A. ANALISIS DEL PROBLEMA Definicin del problema


Calcule la suma de los nmeros pares comprendidos entre INICIO y FIN. INICIO y FIN son ingresados por el usuario.

Especificaciones de entrada SUMA DE PARES ENTRE INICIO Y FIN Ingrese INICIO: Ingrese FIN: Memoria I F i suma Especificaciones de salida La suma es: Variables suma

Variables I (tipo float) F (tipo float)

B. ALGORITMO I, F, suma, i ESCRIBIR(SUMA DE PARES ENTRE INICIOY FIN) ESCRIBIR(Ingrese INICIO: ) LEER(I) ESCRIBIR (Ingrese FIN: ) LEER(F) F<=I Para(iI+1;i<F;ii+1) V sumasuma+i ESCRIBIR(La suma es: , suma) imod2==0 F

C. CODIGO #include<conio.h> #include<iostream.h> int main () {float I, F; int i, suma=0; cout<<"\n \20 SUMA DE PARES ENTRE INICIO Y FIN"<<endl; cout<<"\n Ingrese INICIO: "; cin>>I; do{cout<<"\n Ingrese FIN: "; cin>>F; if(F<I) cout<<"\n ERROR: FIN debe ser mayor que INICIO"; }while(F<=I); cout<<"\n El rango ingresado es: ( "<<I<<" ; "<<F<<" )"; for(i=I+1;i<F;i++) if(i%2==0) suma=suma+i; cout<<"\n\n La suma es: "<<suma; getch(); return 0;}

Algoritmos y Programacin : ESTRUCTURAS REPETITIVAS

Ms. Ing. Yenny Sifuentes Daz

Ejercicio 8 A. ANALISIS DEL PROBLEMA Definicin del problema


Que simule un reloj digital. (HH:MM:SS). Ejemplo: 12:06:13

Especificaciones de entrada Memoria Variables h m s V Especificaciones de salida Reloj Digital Variables h (tipo int) m (tipo int) s (tipo int) B. ALGORITMO H, m, s, V ESCRIBIR(Reloj Digital) Para(h0;h<=24;hh+1) Para(m0;m<60;mm+1) Para(s0;s<60;ss+1) Para(V0;V<60;VV+1) ESCRIBIR(h) ESCRIBIR(m) ESCRIBIR(s) C. CODIGO #include<conio.h> #include<iostream.h> #include<conio2.h> //librera con funciones gotoxy y clreol int main () { int h, m, s, V; cout<<"\n \16 Reloj Digital \16"; for(h=0;h<=24;h++) { for(m=0;m<60;m++) { for(s=0;s<60;s++) { for(V=0;V<30000;V++) gotoxy(20,10);clreol();cout<<h<<" : "<<m<<" : "<<s; } } } getch(); return 0;} 0:0:1

Algoritmos y Programacin : ESTRUCTURAS REPETITIVAS

Ms. Ing. Yenny Sifuentes Daz

Ejercicio 9 A. ANALISIS DEL PROBLEMA Definicin del problema


Lea una base real y un exponente entero positivo y calcule su potencia.

Especificaciones de entrada POTENCIA DE UN NMERO Ingrese base: Ingrese exponente: Memoria e b i P Especificaciones de salida La potencia es: Variables P (tipo float) 1

Variables b (tipo float) e (tipo int)

B. ALGORITMO

C. CODIGO #include<conio.h> #include<iostream.h> int main () {float b, e, val, i, P=1; cout<<"\n \257 POTENCIA DE UN NUMERO \256"<<endl; cout<<"\n Ingese base: "; cin>>b; do{cout<<"\n Ingrese exponente: "; cin>>e; val=e-int(e); if(val!=0||e<0) cout<<"\n ERROR: debe ser n\243mero entero positivo"<<endl; }while(val!=0||e<0); //validacin

e, b, i, P1 ESCRIBIR(POTENCIA DE UN NUMERO) ESCRIBIR(Ingrese base: ) LEER(b) ESCRIBIR (Ingrese exponente) LEER(e) e<0 Para(i1;i<=e;ii+1) P=P*b ESCRIBIR(La potencia es: , P)

nmero entero
for(i=1;i<=e;i++) P=P*b; cout<<"\n La potencia es: "<<P; getch(); return 0;}

Algoritmos y Programacin : ESTRUCTURAS REPETITIVAS

Ms. Ing. Yenny Sifuentes Daz

Ejercicio 10 A. ANALISIS DEL PROBLEMA Definicin del problema


Lea dos nmeros enteros e imprima todos sus divisores comunes, excepto la unidad.

Especificaciones de entrada DIVISORES COMUNES DE 2 NUMEROS Ingrese 1er numero: Ingrese 2do numero: Memoria A B i men Especificaciones de salida Los divisores comunes son: Variables i (tipo int)

Variables A (tipo int) B (tipo int)

B. ALGORITMO A, B, men, i ESCRIBIR (Ingrese 1er nmero: ) LEER(A) ESCRIBIR (Ingrese 2do nmero: ) LEER(B) V menA A<B menB F

ESCRIBIR(Los divisores comunes son: ) Para(i2;i<=men;ii+1)


Amodi==0 and Bmodi==0

V ESCRIBIR(i)

Algoritmos y Programacin : ESTRUCTURAS REPETITIVAS

Ms. Ing. Yenny Sifuentes Daz

C. CODIGO

#include<conio.h> #include<iostream.h> #include<math.h> //librera con funcin abs int main () { float A, B, val; int a, b, i, men; cout<<"\n \376 DIVISORES COMUNES DE 2 NUMEROS \376"<<endl; do{cout<<"\n Ingrese 1er N\243mero: "; cin>>A; val=A-int(A); if(val!=0) cout<<" ERROR: el n\243mero debe ser entero"<<endl; }while(val!=0); //Validacion: nmero entero do{cout<<" Ingrese 2do N\243mero: "; cin>>B; val=B-int(B); if(val!=0) cout<<" ERROR: el n\243mero debe ser entero"<<endl; }while(val!=0); //validacin: nmero entero a=A; b=B; //conversion de variable tipo float a tipo int if(a==b) cout<<" N\243meros iguales"<<endl; //mensaje amigable if(a<b) men=a; else men=b; //variable "men" para determinar n de iteraciones cout<<"\n Los divisores comunes son: "<<endl;

//se consideran los numeros negativos de acuerdo a la //def. de DIVISOR(d): (D/d)=k D es entero, d es entero //postivo y k entero
for(i=2;i<=abs(men);i++)

//conversion de - a + con "abs" (para poder ejecutar el bucle)


{ if(a%i==0&&b%i==0) cout<<" "<<i; } getch(); return 0; }

Algoritmos y Programacin : ESTRUCTURAS REPETITIVAS

Ms. Ing. Yenny Sifuentes Daz

Ejercicio 11 A. ANALISIS DEL PROBLEMA Definicin del problema


Lea un nmero entero positivo y determine si es un nmero perfecto. (Un nmero entero positivo es perfecto si es igual a la suma de todos sus divisores enteros positivos, excepto el mismo. Ejemplo: 6 es un nmero perfecto, ya que sus divisores son: 1,2,3 y 1+2+3 = 6)

Especificaciones de entrada NUMERO PERFECTO Ingrese un nmero: Variables N (tipo int) Memoria N suma i Especificaciones de salida El nmero es perfecto El nmero no es perfecto Variables

B. ALGORITMO N, suma, i ESCRIBIR(NUMERO PERFECTO) ESCRIBIR(Ingrese un numero: ) LEER(N) Para(i1;i<N;ii+1) V sumasuma+1


Nmodi==0

V ESCRIBIR(El numero es perfecto)

N==suma

ESCRIBIR(El numero no es perfecto)

Algoritmos y Programacin : ESTRUCTURAS REPETITIVAS

Ms. Ing. Yenny Sifuentes Daz

C. CODIGO

#include<conio.h> #include<iostream.h> int main(void) { float N, val; int NE, suma=0, i; cout<<"\n \257 NUMERO PERFECTO \256"<<endl; do{cout<<"\n Ingrese un n\243mero: "; cin>>N; val=N-int(N); if(val!=0||N<0) cout<<" El n\243mero debe ser entero positivo"<<endl; }while(val!=0||N<0); //validacion: numero entero positivo NE=N; //conversion variable tipo float a tipo int for(i=1;i<NE;i++) { if(NE%i==0) suma=suma+i; } //suma de los divisores de NE if(NE==suma) cout<<"\n El n\243mero es perfecto"; else cout<<"\n El n\243mero NO es perfecto"; getch(); return 0;}

Algoritmos y Programacin : ESTRUCTURAS REPETITIVAS

Ms. Ing. Yenny Sifuentes Daz

Ejercicio 12 A. ANALISIS DEL PROBLEMA Definicin del problema


Lea nmero entero y lo escriba en forma inversa. (2345, su inverso 5432).

Especificaciones de entrada NUMERO INVERSO Variables A (tipo int) Ingrese numero entero positivo: Memoria A C N Especificaciones de salida El inverso es: Variables C (tipo int)

B. ALGORITMO

A, C, N ESCRIBIR(NUMERO INVERSO) ESCRIBIR(Ingrese numero entero positivo: ) LEER(A) ESCRIBIR(El inverso es: ) CAmod10 AA/10 ESCRIBIR(C) A>=1

Algoritmos y Programacin : ESTRUCTURAS REPETITIVAS

Ms. Ing. Yenny Sifuentes Daz

C. CODIGO

#include<conio.h> #include<iostream.h> #include<math.h> //librera para usar valor absoluto int main () { float A, val; int N, C; cout<<" NUMERO INVERSO "<<endl; do{cout<<"\n Ingrese un n\243mero entero positivo: "<<endl; cin>>A; val=A-int(A); if(val!=0||A<0) cout<<" ERROR"<<endl; }while(val!=0||A<0); //validacion: numero entero N=A; cout<<"\n El inverso es: "; do{C=N%10; //C almacena las cifras N=N/10; //reduciendo numero cout<<C; }while(N>=1); getch(); return 0; }

Algoritmos y Programacin : ESTRUCTURAS REPETITIVAS

Ms. Ing. Yenny Sifuentes Daz

Ejercicio 13 A. ANALISIS DEL PROBLEMA Definicin del problema


Lea dos nmeros enteros y determine su mnimo comn mltiplo.

Especificaciones de entrada MINIMO COMUN MULTIPLO Variables A (tipo int) B (tipo int) Ingrese 1er Nmero: Ingrese 2do Nmero: Memoria A B men i Especificaciones de salida El mnimo comn mltiplo es: Variables MCM (tipo int) p MCM 1

B. ALGORITMO

A, B, MCM, men, p1 ESCRIBIR(MINIMO COMUN MULTIPLO) ESCRIBIR(Ingrese 1er nmero natural) LEER(A) ESCRIBIR(Ingrese 2do nmero natural) LEER(B) V menA
A<B

menB

Para(i1;i<=men;ii+1)
Amodi==0 and Bmodi==0

V p1

MCMA*B/p ESCRIBIR(El minimo comn mltiplo es:, MCM)

Algoritmos y Programacin : ESTRUCTURAS REPETITIVAS

Ms. Ing. Yenny Sifuentes Daz

C. CODIGO

#include<conio.h> #include<iostream.h> int main () { float A, B, val; int a, b, i, p=1, men, MCM; cout<<"\n \256 MINIMO COMUN MULTIPLO \257"<<endl; do{cout<<"\n Ingrese 1er n\243mero natural: "; cin>>A; val=A-int(A); if(val!=0||A<0) cout<<" ERROR"<<endl; }while(val!=0||A<0); //validacin: nmero natural do{cout<<"\n Ingrese 2do n\243mero natural: "; cin>>B; val=B-int(B); if(val!=0||B<0) cout<<" ERROR"<<endl; }while(val!=0||B<0); //validacin: nmero natural a=A; b=B; //cambio de tipo float a int if(a<b) men=a; else men=b; for(i=1;i<=men;i++) { if(a%i==0&&b%i==0) p=i; } //p es mximo comn divisor MCM=a*b/p; //simplificacion de p*(a/p)*(b/p) cout<<"\n El minimo comun multiplo es: "; cout<<MCM; getch(); return 0;}

Algoritmos y Programacin : ESTRUCTURAS REPETITIVAS

Ms. Ing. Yenny Sifuentes Daz

Ejercicio 14 A. ANALISIS DEL PROBLEMA Definicin del problema


Lea dos nmeros enteros y determine su mximo comn divisor

Especificaciones de entrada MAXIMO COMUN DIVISOR Variables A (tipo int) B (tipo int) Ingrese 1er numero: Ingrese 2do numero: Memoria A B men i Especificaciones de salida El MCD es: Variables p (tipo int) p 1

B. ALGORITMO A, B, MCM, men, p1 ESCRIBIR(MAXIMO COMUN DIVISOR) ESCRIBIR(Ingrese 1er nmero) LEER(A) ESCRIBIR(Ingrese 2do nmero) LEER(B) V menA
A<B

menB

Para(i1;i<=men;ii+1)
Amodi==0 and Bmodi==0

V p1

ESCRIBIR(EL MCD es, p)

Algoritmos y Programacin : ESTRUCTURAS REPETITIVAS

Ms. Ing. Yenny Sifuentes Daz

C. CODIGO

#include<conio.h> #include<iostream.h> #include<math.h> //libreria con funcion abs int main () { float A, B, val; int a, b, i, p, men; cout<<"\n \25 ALOGIRTMO: MAXIMO COMUN DIVISOR \25"<<endl; do{cout<<"\n Ingrese 1er n\243mero entero: "; cin>>A; val=A-int(A); if(val!=0) cout<<"\n ERROR"<<endl; }while(val!=0); //validacion: numero entero do{cout<<"\n Ingrese 2do n\243mero entero: "; cin>>B; val=B-int(B); if(val!=0) cout<<"\n ERROR"<<endl; }while(val!=0); //validacion: numero entero a=A; b=B; //cambio de tipo float a int if(a<b) men=a; else men=b; //condicion para el final del bucle for(i=1;i<=abs(men);i++) { if(a%i==0&&b%i==0) p=i; //almacenamiento de MCD en p } cout<<"\n El MCD es: "; cout<<p; getch(); return 0;}

Das könnte Ihnen auch gefallen