Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Ricardo Castaeda
2011
-1-
1.11 Estructuras Repetitivas
1.11.2 Estructura Para.- Nos permite ejecutar varias veces un conjunto de
instrucciones un numero fijo de veces.
Forma General
Para vc = vi, vf, vinc
.........................
Ing. Ricardo Castaeda
...........................
....(Bloque Para)
........................
Fin Para
Donde:
vc variable de control, llamado tambin ndice del Para.
vi valor inicial es el primer valor que toma la variable de control.
vf valor final, es el ultimo valor con el que el lazo para se ejecutara.
vinc valor incremento, valor en el cual se incrementa la variable de
control despus de cada lazo.
Funcionamiento.- El funcionamiento del lazo Para se explica mediante un algoritmo.
Seudocdigo Programa
/* halla suma y promedio de 10 valores # include<iostream.h>
ledos, ojo no usa contador, pero i # include<conio.h>
cumple esa funcin */ void main( )
valor, suma , i son enteros {
promedio es real int valor, suma, i;
1. Suma 0 float promedio;
2. Para i = 1,10 // El incremento unitario clrscr( );
Se puede omitir cont = 0;
2.1 Leer(valor) suma = 0;
2.2 Suma suma + valor for ( i = 1; i <= 10; i++ )
Fin Para {
3. Promedio suma/10.0 cout<< valor = ; cin >> valor;
4. Escribir ( Suma = , suma) suma = suma + valor;
5. Escribir ( Promedio =, promedio) }
6. Fin promedio = suma/10.0;
cout << Suma = << suma<< endl;
cout << Promedio = << promedio;
getch( );
}
-3-
Problema 1 . Escriba un programa que funcione como un cajero automtico, o sea:
La clave numrica solo podr ser ingresada un mximo de tres veces.
La operacin podr ser consultar saldo, retirar o abonar a la cuenta.
El retiro mximo ser 600 soles por vez
Ing. Ricardo Castaeda
FinMientras
6. FIN
Programa
# include<iostream.h>
# include<conio.h>
# include<stdlib.h>
# include<timeo.h>
void main( )
{ int clave, clave1,veces;
float saldo cantidad;
char operacin;
clrscr( );
-5-
randomize ( ); // inicializa generador de nmeros con una semilla funcin de la hora
clave = random(9000) + 1000 // Genera clave de 4 dgitos
saldo = random(10000) // Genera saldo hasta 9999 soles
veces = 0;
Ing. Ricardo Castaeda
operacin = 0
while ( operacin ! = 4)
{
clrscr( );
gotoxy ( 35,2); cout << CAJERO AUTOMATICO;
gotoxy ( 32,12); cout << Ingrese su clave => ; cin >> clave1
if ( clave == clave1)
{
clrscr();
gotoxy( 35,2); cout << CAJERO AUTOMATICO;
gotoxy( 40,6); cout << 1.- Consulta ;
gotoxy( 40,7); cout << 2.- Retiro ;
gotoxy( 40,8); cout << 3.- Abono ;
gotoxy( 40,9); cout << 4.- Salir ;
gotoxy( 40,15); cout << Operacin ; cin >>operacin;
switch ( operacin)
{
case 1 : clrscr();
gotoxy( 35,2); cout << CONSULTA;
gotoxy( 33,22); cout << Su saldo es = << saldo;
getch();
break;
case 2 : clrscr();
gotoxy( 35,2); cout << RETIRO ;
gotoxy( 33,12);cout<< Indique cantidad a retirar = ; cin>>cantidad;
if ( cantidad <= saldo)
if ( cantidad > 600)
{
gotoxy( 35,22);
cout << Error el mximo retiro es 600 soles;
}
else
{
saldo = saldo cantidad;
gotoxy( 35,22);
cout << Su nuevo saldo es = << saldo;
}
else
{ gotoxy( 33,22);
-6-
cout << Su saldo es insuficiente.. ;
}
getch();
break;
Ing. Ricardo Castaeda
case 3 : clrscr();
gotoxy(35,2); cout << ABONO ;
gotoxy(33,12);cout<< Indique cantidad a abonar = ; cin>>cantidad;
saldo = saldo + cantidad;
gotoxy( 33,22); cout << Su saldo es = << saldo;
getch();
break;
}
}
else
{ gotoxy( 33,22);
cout << Error clave incorrecta ...;
veces = veces +1;
getch();
exit ( 0);
}
if ( veces > = 3)
{ gotoxy( 33,22);
cout << Su tarjeta ha sido retenida.....;
getch();
}
} // Fin de la instruccin while
}
1.11.3 Estructura Ejecutar Mientras .- Tiene los mismos objetivos que la estructura
mientras pero la secuencia es la inversa ( Ejecucin - prueba).
Forma General
Hacer
.........................
...........................
............(Bloque )
........................
Mientras (Condicin)
Funcionamiento.- Primero se ejecuta el bloque de instrucciones despus se evala la
condicin, si esta se cumple (es verdadera) se vuelve a ejecutar el bloque , se vuelve a
evaluar la condicin y si esta se sigue cumpliendo se vuelve a ejecutar el bloque y as se
seguir repitiendo mientras la condicin sea verdadera, si en alguna evaluacin la
condicin ya no se cumple termina la repeticin y se pasa a la siguiente instruccin.
-7-
Ejemplo: Escriba un algoritmo que me permitan mostrar un men vertical.
Seudocdigo switch ( opcion)
/* muestra men vertical */ { case 1: clrscr();
opcion es caracter cout << tarea 1;
Ing. Ricardo Castaeda
1. Hacer getch();
1.1 LimpiarPantalla ( ) break;
1.2 Escribir ( MENU VERTICAL) case 2: clrscr();
1.3 Escribir ( 1.- Tarea 1 ) cout << tarea 2;
1.4 Escribir ( 2.- Tarea 2 ) getch();
1.5 Escribir ( 3.- Tarea 3 ) break;
1.6 Escribir ( 4.- Tarea 4 ) case 3: clrscr();
1.7 Escribir ( 5.- Salir ) cout << tarea 3;
1.8 Escribir ( Opcion =>) getch();
1.9 Leer (opcion) break;
1.10 case ( Opcion) case 4: clrscr();
1.10.1 1: Funcion1() cout << tarea 4;
1.10.2 2: Funcion2() getch();
1.10.3 3: Funcion3() break;
1.10.4 4: Funcion4() }
FinCase } while ( opcion ! = 5)
Mientras ( opcion <> 5) }
2. FIN cont = 0;
Programa suma = 0;
# include<iostream.h> do
# include<conio.h> {
void main( ) cout<< valor = ; cin >> valor;
{ suma = suma + valor;
char opcion; cont = cont + 1; // cont ++
do } while ( cont < 10)
{ promedio = suma/10.0;
clrscr( ); cout << Suma = << suma<< endl;
gotoxy(30,2);c cout << Promedio = << promedio;
cout<<MENU VERTICAL; getch( );
gotoxy(30,6);cout<<1.- Tarea 1; }
gotoxy(30,7);cout<<2.- Tarea 2;
gotoxy(30,8);cout<<3.- Tarea 3;
gotoxy(30,9);cout<<4.- Tarea 4;
gotoxy(30,16);
cout<<Opcion :
cin >> opcion;
http://www.dcp.com.ar/mfc/indice.htm-8-