Estructuras condicionales, repetitivas y arreglos unidimensionales
Clase 2: Miercoles 9 nov 2022
Estructuras condicionales
En programación, una condición es una instrucción que es evaluada por el compilador, el resultado de la evaluación puede ser verdadero o falso.
Ejemplo
La hora de llegada a la institución se considera PUNTUAL si el alumno llega antes de las 6:25 am. Se considera TARDE si el alumno llega entre las 6:26 am y las 7:00 am. Finalmente se considera FALTISTA si el alumno llegá despúes de las 7:00 am.
En un programa de C++ esto se podría representar de la siguiente manera:
// usamos double con fines demostrativos
double horaLlegada = 6.30;
if (horaLlegada <= 6.25) {
std::cout << "PUNTUAL" << std::endl;
}
else if (horaLlegada <= 7.00) {
std::cout << "TARDE" << std::endl;
}
else {
std::cout << "FALTISTA" << std::endl;
}
Estos son los resultados que el programa anterior devolvió para el alumno "Padilla".
Dia | Hora Llegada | Resultado del programa |
---|---|---|
Lunes | 6:15 am | PUNTUAL |
Martes | 7:10 am | FALTISTA |
Miercoles | 6:41 am | TARDE |
Jueves | 7:01 am | FALTISTA |
Viernes | 6:20 am | PUNTUAL |
Operadores condicionales
Signo | Definición |
---|---|
> | mayor que |
< | menor que |
<= | menor o igual que |
>= | mayor o igual que |
== | igual que |
Arreglos unidimensionales
Un arreglo es una estructura de datos que permite almacenar diferentes valores en una variable.
Un arreglo tiene las siguientes caracteristicas:
- Tiene un tipo de dato asociado.
- Tiene un tamaño fijo.
- Tiene un nombre que lo identifica de las demás variables del programa.
Un ejemplo básico de un arreglo unidimensional es el siguiente:
std::string diasSemana[5] = {"Lunes", "Martes", "Miercoles", "Jueves", "Viernes"};
El ejemplo anterior es una manera común de inicializar un arreglo unidimensional.
Las caracteristicas de este arreglo son:
- El tipo de dato asociado es
std::string
. - El tamaño es 5.
- El nombre que lo identifica de las demás variables del programa es
diasSemana
. - Todo lo que está encerrado entre
{...}
son los valores del arreglo.
Para acceder a los valores del arreglo se deberá hacer a través de indices.
Por ejemplo: para imprimir el dato que se encuentra en la posición 4 se haría de la siguiente manera:
std::cout << "dias semana: " << diasSemana[3] << std::endl;
Para efectos de este ejercicio se declara otro arreglo llamado horasLlegada
de tipo std::string y con un tamaño de 5.
std::string horasLlegada[5] = {"6:15", "7:10", "6:41", "7:01", "6:20"};
Ejemplo:
#include <iostream>
int main()
{
std::string diasSemana[5] = {"Lunes", //0
"Martes", //1
"Miercoles", //2
"Jueves", //3
"Viernes"}; //4
std::string horasLlegada[5] = {"6:15", //0
"7:10", //1
"6:41", //2
"7:01", //3
"6:20"}; //4
std::cout << "dia: " << diasSemana[0] << ", hora llegada: " << horasLlegada[0] << std::endl;
std::cout << "dia: " << diasSemana[1] << ", hora llegada: " << horasLlegada[1] << std::endl;
std::cout << "dia: " << diasSemana[2] << ", hora llegada: " << horasLlegada[2] << std::endl;
std::cout << "dia: " << diasSemana[3] << ", hora llegada: " << horasLlegada[3] << std::endl;
std::cout << "dia: " << diasSemana[4] << ", hora llegada: " << horasLlegada[4] << std::endl;
return 0;
}
En el ejercicio de ejemplo se inicializaron los arreglos y se imprime el contenido de cada uno en pantalla.
Ciclos
Es un bloque de código que se ejecuta varias veces mientras se cumpla la condición del ciclo.
En C++ los ciclos más utilizados son while
y for
. Ambos ciclos cumplen con la funcionalidad de repetir una o más instrucciones mientras se cumpla una condición con la diferencia que la manera en que se construye el ciclo es diferente.
Ejemplo de ciclos:
- Ciclo
while
std::string diasSemana[5] = {"Lunes", "Martes", "Miercoles", "Jueves", "Viernes"};
int i = 0;
while ( i < 5 ) {
std::cout << "dia semana: " << diasSemana[i] << std::endl;
i = i + 1;
}
- Ciclo
for
std::string diasSemana[5] = {"Lunes", "Martes", "Miercoles", "Jueves", "Viernes"};
for (int i = 0; i < 5; i = i + 1) {
std::cout << "dia semana: " << diasSemana[i] << std::endl;
}
Una breve explicación de lo que hacen los dos ciclos:
int i = 0;
inicializa la variable i con el valor de 0.i < 5
es la condición que deberá cumplirse para que el ciclo se ejecute.i = i + 1
incrementa en 1 la variablei
por cada vez que se ejecute el ciclo.
Haciendo uso de ciclo for el programa de imprimir la asistencia de los alumnos quedaría de la siguiente manera:
#include <iostream>
int main()
{
std::string diasSemana[5] = {"Lunes", //0
"Martes", //1
"Miercoles", //2
"Jueves", //3
"Viernes"}; //4
std::string horasLlegada[5] = {"6:15", //0
"7:10", //1
"6:41", //2
"7:01", //3
"6:20"}; //4
for (int i = 0; i < 5; i = i + 1) {
std::cout << "dia semana: " << diasSemana[i] << ", hora llegada: " << horasLlegada[i] << std::endl;
}
return 0;
}
Referencias
https://roa.cedia.edu.ec/webappscode/55/estructuras_condicionales.html