Diapositivas Repetitivas Ii Estudiantes
Diapositivas Repetitivas Ii Estudiantes
Diapositivas Repetitivas Ii Estudiantes
1
¿Cómo terminar un bucle?
Una de las cosas importantes en C++ a la hora de utilizar bucles, es
la implementación de una forma para culminar con él, es decir,
para que nuestro bucle no se convierta en un bucle infinito.
Para ello se han creado formas que nos ayudan a resolver este
problema.
Vamos a estudiar diferentes maneras de terminar correctamente
un bucle.
• Bucles controlados por ………………………..
• Bucles controlados por ………………………………..
• Bucles controlados por …………………………………...
Bucles controlados por contadores
int main ()
{ float suma=0, precio;
int productos, i=1;
cout<<"Cuantos productos va a llevar?: ";
cin>>productos;
while (i<=productos)
{ cout<<"Ingrese precio: ";
cin>>precio;
suma=suma+precio;
i++; }
cout<<"Monto total a pagar= "<<suma;
getch(); }
¿Quiere que cuente ¿Cuántos productos
todos mis productos? va a llevar?
QUE INCOMODIDAD
Bucles controlados por centinelas
Si no se tiene conocimiento de cuántas veces se va a repetir
el cuerpo del bucle, podemos dar la opción de que sea el
usuario quien determine cuándo finalizar.
Un centinela ……………………………………………………………………
................................................................................................
……………………………………………………………………………………………..
.
A la hora de usar un centinela para finalizar un bucle se debe
tener mucho cuidado, el valor elegido debe ser totalmente
……………………………….. de los posibles valores de la lista para que
se pueda utilizar para señalar ………………………………………………….
Bucles controlados por centinelas
Ejemplo: Escribir un programa que permita leer los precios de productos en un
supermercado y mostrar el total a pagar.
En este caso el centinela será un número negativo, ya que indicará el final de la lista
int main ()
{ float suma=0, precio;
getch(); }
Bucles controlados por banderas o interruptores
interruptores o banderas (flags)
Es una variable ………………………… que se utiliza
para conservar el estado de una condición.
Se denomina bandera o interruptor por
asociarse a un interruptor (encendido/apagado)
o a una bandera (arriba/abajo)
interruptores o banderas (flags)
del bucle.
int main ()
{ float suma=0, precio; debe inicializarse
bool flag=true; antes de comenzar el
char respuesta; bucle
while (flag)
{ suma=0;
system("cls");
do { cout<<"Ingrese precio: ";
cin>>precio;
if (precio>=0)
suma=suma+precio;
} while (precio>=0) ;
while (1)
{cout<<"Ingrese numero: "; cin>>n;
if (n%5==0)
break;
else
cont++; }
cout<<"Ha ingresado "<<cont<<" numeros";
getch();
}
LA FUNCION EXIT()
La función EXIT() tiene una operatoria
mucho más drástica que las anteriores ,
en vez de saltear una iteración o
abandonar un lazo de programa , esta
abandona directamente al programa
mismo dándolo por terminado . Realiza
también una serie de operaciones útiles
como ser , el cerrado de cualquier
archivo que el programa hubiera abierto
, el vaciado de los buffers de salida , etc.
Programa para mostrar la tabla
de multiplicar de un número
solicitado al usuario
int main() {
int numtab, i=1;
cout << "\n Numero de la Tabla de Multiplicar:";
cin >> numtab;
while(i<=10 )
{ cout<< numtab <<" * "<<i<<" = "<<i*numtab<<endl;
i++;}
getch();
}
int main()
{ int numtab, i=1;
cout << "\n Numero de la Tabla de Multiplicar:";
cin >>numtab;
do{
cout<< numtab <<" * "<<i<<" = "<<i*numtab<<endl;
i++;
} while(i<=10);
getch();
}
int main()
{ int numtab;
cout << "\n Numero de la Tabla de Multiplicar: ";
cin >> numtab;
getch();
}
QUIZ
DE TEORÍA
Estructuras
Repetitivas II
El valor del interruptor debe inicializarse dentro del
cuerpo del bucle.
verdadero
falso
¿Cuántas sentencias for anidadas pueden contener
una sentencia for?
Sólo dos
Ninguna
verdadero
falso
Puede colocarse una estructura do…while
dentro de una estructura while
verdadero
falso
Puede colocarse una estructura for dentro de una
estructura while
verdadero
falso
break, en una estructura repetitiva, causa la salida
anticipada de una estructura repetitiva
verdadero
falso
continue, en una estructura repetitiva, salta los
enunciados restantes del cuerpo de la estructura
repetitiva .
verdadero
falso
En el siguiente programa, ¿la variable suma es un
contador?
verdadero
falso
2 participantes: participante A y participante B juegan Yan Ken Po.
Se considera 3 elementos:
Tijera se representa por la letra t
Papel se representa por la letra p
Roca se representa por la letra r
La tijera gana al papel, el papel gana a la roca y la roca gana a la tijera.
Si los dos participantes eligen el mismo elemento nadie gana puntos.
El programa debe seguir hasta que alguno de los participantes obtenga 3 puntos.
El programa mostrará quien ganó y cuantas jugadas fue necesario realizar .
Ejemplo:
Jugada 1: Jugada 2:
Participante A: t Participante A: r
Participante B: p Participante B: r
Jugada 3:
Participante A:p
Participante B: r