Documente Academic
Documente Profesional
Documente Cultură
Irma Prado
1. Validación de datos de entrada . En este caso utilizaremos esta sentencia para validar la
entrada de datos. Es decir, vamos a solicitar al usuario ingresar uno o más datos en un
rango que nosotros queremos. Ejemplos cortos, para explicar la validación de datos de
entrada:
1.1. Realizar un programa que pida al usuario ingresar una nota comprendida entre 0 y
100, luego indicar si la nota corresponde “ aprobado” o “ reprobado”.
#include <iostream.h>
main()
{
int nota;
do{
cout<<"Escriba su nota (entre 0 y 100)? ";
cin>>nota;
}while(nota<0 || nota>100);
if(nota >=51) {
cout<<"Aprobado"<<endl;
}
else
{
cout<<"Reprobado"<<endl;
}
system("pause");
}
La línea de código clave para esta validación es :
}while(nota<0 || nota>100);
Porque programa cuándo se debe repetir la ejecución, en otras palabras, si nota es menos
a cero ó si nota es mayor a 100 repita. Al tener el conector lógico or podemos decir que si
una de las dos condiciones es verdad repita. ES MUY IMPORTANTE QUE ENTIENDA ESTA
CONDICIÓN.
1.2. Tarea 1. Realice un programa que lea la edad de una persona, luego indicar si es niño,
joven, adulto o anciano. La edad es una dato que no puede ser negativo, por razones
obvias, como máximo puede tomar el valor de 100.
1.3. Ahora vamos a ser más drásticos, obligando al usuario que digite un número en
particular, en este caso le vamos a pedir que ingrese un número 5. El usuario lo puede
1
Introducción a la programación LENGUAJE CPP Doc. Ing. Irma Prado
#include <iostream.h>
main()
{
int dato;
do{
cout<<"Escriba el número 5 : ";
cin>>dato;
}while(dato!=5);
}
1.4. En el siguiente programa, le vamos a pedir que ingrese un dato 5, pero solo le vamos
a dar 3 oportunidades para hacerlo. Entonces, tenemos que contar los intentos
realizados por el usuario. Al final si lo logró le mostramos caritas:
#include <iostream.h>
main()
{
int dato; //variable para el dato
int c=0; //contador para contar las oportunidades
do{
cout<<"Escriba el número 5 : ";
cin>>dato;
c++; //contamos el intento
}while(dato!=5 && c<3);
if (dato==5){
cout<<":) en "<<c<<" intentos....."<<endl;
}
else{
cout<<":("<<endl;
}
system("pause"); //detenemos la ejecución del programa
}
Para entender mejor las condiciones que se realizan en las sentencias condicionales y
repetitivas (if, while, do while), vamos a recurrir a las tablas de verdad de lógica matemática.
Donde VERDAD tiene el valor numérico de 1 y FALSO tiene el valor numérico de 0. Entonces
si la respuesta de una pregunta es falsa asumimos que es 0. Ahora los conectores lógicos que
utilizamos para agrupar varias preguntas en una son
2
Introducción a la programación LENGUAJE CPP Doc. Ing. Irma Prado
Entonces ahora podemos aplicar las tablas de verdad para evaluar correctamente la
respuesta a las preguntas complejas que podamos tener, no se olvide que si la
respuesta es VERDAD asumimos el valor 1 y si la respuesta es FALSA asumimos el
valor 0. Veamos las tablas de verdad:
3
Introducción a la programación LENGUAJE CPP Doc. Ing. Irma Prado
Note en esta tabla que A es el valor de verdad de la primera pregunta, && el conector,
B es el valor de verdad de la segunda pregunta y Q eh la respuesta o valor de verdad
de toda la condición. En este caso, quiere decir que como la respuesta de la condición
de while es 1 toda la respuesta de la condición while es VERDAD, por lo que se repite la
ejecución de las sentencias entre llaves de do{…} while. No se olvide que do while no
repite cuando la condición es falsa.
1.5. Tarea 2. Se requiere saber los sgtes datos estadísticos de los estudiantes de un
curso, edad, número de materias que cursa y promedio de sus notas. Algunos
estudiantes cursan varias materias. Realice un programa que lea edad, número de
materias, notas y obtenga el promedio de edad de los alumnos del curso, cuántas
materias en promedio cursan los alumnos y el promedio de notas del curso.
1.6. Programa que cuenta datos que ingresa el usuario hasta antes que el usuario
ingrese el 999.
#include <iostream.h>
main()
{
int x; //para los datos que ingresa el usuario
int c=0; //para contar los números que van ingresando
do {
cout<<" (para salir 999) escriba el dato ";
cin>>x;
c++;
}while(x!=999);
cout<<" El usuario ha ingresado "<<c<<" datos incluyendo 999"<<endl;
system("pause");
}
1.7. Tarea 3.- Modifique el programa anterior de tal forma que sume los valores que ha
ingresado el usuario, en esta suma no debe estar considerado el valor 999 que se
utiliza para salir.
1.8. Programa para generar un número random. El defecto de este programa es que
cada vez que ejecute el programa generará el mismo número.
#include<stdlib.h>
/* el defecto de este programa es que en cada ejecucion
4
Introducción a la programación LENGUAJE CPP Doc. Ing. Irma Prado
1.9. Programa para generar 20 números primos, evitando que en cada ejecución del
programa inicien los mismos números.
#include <cstdlib>
#include <iostream.h>
int main()
{
srand((unsigned)time(0)); //utilizamos para evitar que se generen los mismos
//números en cada ejecución del programa
int i;
for(int k=1;k<=40;k++){ //vamos a generar 40 números
i=rand()%10; //obtiene números randómicos menores de 10, incluyendo el 0
cout << i << "\n"; }
system("pause");
}
Sumar:
==
Los números 3 y 5 del ejemplo fueron generados con números random que no pasan
de 10.