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".

DiaHora LlegadaResultado del programa
Lunes6:15 amPUNTUAL
Martes7:10 amFALTISTA
Miercoles6:41 amTARDE
Jueves7:01 amFALTISTA
Viernes6:20 amPUNTUAL

Operadores condicionales

SignoDefinició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 variable i 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