OBJETIVO. Comprender el funcionamiento de la Estructura de Control do… while()
INSTRUCCIONES. Leer con atención y llevar a cabo las actividades numeradas, para evaluación, enviar a [email protected] Asunto: PE, el ejercicio resuelto, guardado como Ejercicio 6. Apellido(s)
Nombres(s) a más tardar el próximo domingo
DESARROLLO. Por definición, la computadora es un dispositivo que lleva a cabo tareas repetitivas facilitando el trabajo de las personas
Para poder repetir una tarea o un algoritmo en computadora, se requieren ciclos o estructuras de control que indican cuántas veces se debe ejecutar un proceso o una porción de código
El primer ciclo que estudiaremos, se llama haz… mientras (condición); y sus características son:
CICLO HAZ…
MIENTRAS
Se ejecuta el bloque mientras se cumpla la condición. Al menos una vez
Usos del Ciclo haz… mientras (condición): Repetir bloques de instrucciones una o más veces, esto es, después de una primera ejecución se repite el bloque mientras se cumpla una condición. Por ejemplo:
I. Validar datos de entrada, esto es, pedirlos y leerlos mientras sean incorrectos II. Procesar elementos mientras el usuario quiera
III. Ejecutar un bloque de instrucciones N veces (donde N sea mayor a uno) A continuación, se probarán códigos para los usos típicos de un ciclo:
I. VALIDAR DATOS DE ENTRADA: MIENTRAS SEAN INCORRECTOS 1. En un nuevo documento de Dev C++ copiar el siguiente código:
#include <iostream>
using namespace std;
int main(){
int tiempo;
float distancia, velocidad;
do{
cout<<"\n\nINGRESE DISTANCIA Y TIEMPO ";
cin>>distancia>>tiempo;
}while(tiempo<=0);
velocidad = distancia/tiempo;
cout<<"\nVELOCIDAD = "<<velocidad;
if (velocidad > 130) cout<<"\nMUY ALTA";
PROGRAMACIÓN ESTRUCTURADA Ejercicio 6. Ciclo do…while() Mtra. Irma Ardón
ALUMNO(S)___________________________________________________________________
haz inicio bloque
fin mientras (condición) do { bloque;
} while (condición);
Inicio del ciclo para validar el tiempo
Fin del ciclo, se repite mientras el tiempo sea menor o igual a cero
else cout<<"\nDENTRO DE LIMITE";
}
2. Probar el código anterior, la primera vez con tiempo menor a cero, luego con cero y luego con doce.
Copiar la ventana de ejecución y pegarla en el siguiente espacio:
[PEGAR AQUI]
II. PROCESAR ELEMENTOS MIENTRAS EL USUARIO QUIERA 3. En un nuevo documento de Dev C++ copiar el siguiente código:
#include <iostream>
using namespace std;
int main(){
int tiempo;
float distancia, velocidad;
int resp;
do{
cout<<"\n\nINGRESE DISTANCIA Y TIEMPO ";
cin>>distancia>>tiempo;
velocidad = distancia/tiempo;
cout<<"\nVELOCIDAD = "<<velocidad;
if (velocidad > 130) cout<<"\nMUY ALTA";
else cout<<"\nDENTRO DE LIMITE";
cout<<"\nOTRO? 1. SI 2. NO ";
cin>>resp;
}while(resp==1);
}
4. Probar el código anterior, copiar la ventana de ejecución y pegarla en el siguiente espacio:
[PEGAR AQUI]
5. Codificar el ejercicio de las bebidas visto en clase, copiar como texto el código y la ventana de ejecución
[PEGAR AQUÍ]
III. REPETIR UN PROCESO UNA O MÁS VECES 6. En un nuevo documento de Dev C++ copiar el siguiente código:
#include <iostream>
#define N 3
using namespace std;
int main(){
int tiempo;
float distancia, velocidad;
int cont;
cont=1;
do{
cout<<"\n\nINGRESE DISTANCIA Y TIEMPO ";
cin>>distancia>>tiempo;
velocidad = distancia/tiempo;
cout<<"\nVELOCIDAD = "<<velocidad;
Declaración de la variable resp de tipo int o respuesta del usuario
Inicio del ciclo que se repetirá mientras el usuario responda 1 (sí)
Preguntar al usuario si desea repetir el proceso (1. SI 2. NO)
y leer su respuesta
Repetir el proceso mientras el usuario diga 1. SI
Definición de N o veces a repetir el proceso
Declaración de cont, de tipo entero, que permitirá contar las veces que se repite
Inicialización de cont
Inicio del ciclo que se repetirá N veces
if (velocidad > 130) cout<<"\nMUY ALTA";
else cout<<"\nDENTRO DE LIMITE";
cont++;
}while(cont <= N);
}
7. Probar el código anterior, copiar la ventana de ejecución y pegarla en el siguiente espacio:
[PEGAR AQUI]
CICLOS ANIDADOS
Una práctica común es utilizar más de un ciclo en un programa, esto es, uno que se repita mientras el usuario quiera y otro que valide los datos de entrada, como en el siguiente código:
8. En un nuevo documento de Dev C++ copiar:
#include<iostream>
using namespace std;
int main(){
int tiempo;
float distancia, velocidad;
//DECLARACIÓN DE LA VARIABLE resp DE TIPO int O RESPUESTA DEL USUARIO 1 (SI) 2 (NO):
int resp;
do{ //INICIO DEL CICLO do QUE SE REPETIRÁ MIENTRAS EL USUARIO RESPONDA 1 (SI):
do { // INICIO DEL CICLO QUE VALIDA EL TIEMPO cout<<"\n\nINGRESE DISTANCIA Y TIEMPO ";
cin>>distancia>>tiempo;
}while(tiempo <= 0); //REPETIR mientras EL TIEMPO SEA MENOR O IGUAL QUE CERO velocidad = distancia/tiempo;
cout<<"\nVELOCIDAD = "<<velocidad;
if (velocidad > 130) cout<<"\nMUY ALTA";
else cout<<"\nDENTRO DE LIMITE";
//PREGUNTAR AL USUARIO SI DESEA REPETIR EL PROCESO 1 (SI) 2 (NO):
cout<<"\nPROCESAR OTRO? 1. SI 2. NO ";
//LEER LA RESPUESTA DEL USUARIO:
cin>>resp;
//REPETIR EL PROCESO MIENTRAS EL USUARIO DIGA QUE SÍ:
}while(resp == 1);
}
9. Probar el código anterior copiar la ventana de ejecución y pegarla en el siguiente espacio:
[PEGAR AQUI]
A continuación se añadirán a un código, los ciclos necesarios para validar las entradas y repetir el proceso mientras el usuario quiera, para ello, seguir las instrucciones numeradas que se encuentran como
comentarios
10.En un nuevo documento de Dev C++ copiar el siguiente código y añadirle las instrucciones
necesarias para repetir el proceso mientras el usuario quiera y otro ciclo que se repita mientras el dato de entrada sea incorrecto:
Incremento en uno del contador
Fin del ciclo
#include <iostream>
using namespace std;
int main(){
float calif;
//10. Declarar la VARIABLE resp DE TIPO int O RESPUESTA DEL USUARIO 1 (SI) 2 (NO):
//11. INICIAR EL CICLO do QUE SE REPETIRÁ MIENTRAS EL USUARIO RESPONDA 1 (SI):
//12. INICIAR EL CICLO do QUE SE REPETIRA MIENTRAS LA CALIFICACIÓN SEA MENOR A SEIS:
cout<<"\nINGRESE CALIFICACION MAYOR O IGUAL A SEIS ";
cin>>calif;
//13. TERMINAR EL CICLO do PARA VALIDAR QUE LA CALIFICACIÓN LEÍDA ES APROBATORIA:
if (calif>=9.5 && calif <= 10) cout<<"\nExcelente";
else {
if (calif >= 8.5 && calif <=9.4) cout<<"\nMuy bien";
else {
if(calif>=7.5 && calif<=8.4) cout<<"\nBien";
else cout<<"\nTu puedes mejorar!!!";
} }
//14. PREGUNTAR AL USUARIO SI DESEA REPETIR EL PROCESO 1 (SI) 2 (NO):
//15. LEER LA RESPUESTA DEL USUARIO:
//16. TERMINAR EL CICLO do QUE PERMITE REPETIR EL PROCESO MIENTRAS EL USUARIO DIGA QUE SÍ:
}
17. Probar el código con cuatro calificaciones diferentes y copiar en el siguiente espacio la ventana de ejecución
[PEGAR AQUI]
Responder, de acuerdo a su definición, el ciclo haz… mientras (condición):
18.Se ejecuta mientras la condición__________________ (al menos _______ vez) 19. Cuando se utiliza para validar datos, la condición se forma con los valores
___(¿correctos o incorrectos?)_ de los datos de entrada