enunciado, solución y video de. ejercicio TIA 2. Taller Final: elaboración de un algoritmo en el lenguaje de programación C++ (al final se encuentra el video)

 Este programa en C++ clasifica la audiencia de un canal de televisión según franjas horarias y rangos de edad, solicitando datos para calcular estadísticas y determinando cuál es la franja horaria con mayor audiencia. A continuación, se detalla cada parte del código:


Bibliotecas y Configuración Inicial

#include <iostream> #include <locale> using namespace std;
  • #include <iostream>: Permite usar funciones de entrada y salida como cin y cout.
  • #include <locale>: Permite configurar la localización (por ejemplo, para caracteres especiales como ñ).
  • setlocale(LC_ALL, "es.ES.UTF-8"): Configura el idioma y formato cultural para que se adapten al español.

Variables Globales

Se declaran contadores globales para las franjas horarias y los rangos de edad:

int audienciaFranja1 = 0, audienciaFranja2 = 0, audienciaFranja3 = 0, audienciaFranja4 = 0; int audienciaMenosDe30 = 0, audienciaMasDe30 = 0;
  • Las variables de franja horaria cuentan espectadores según horarios:
    • Franja 1: Antes de las 14:00 h.
    • Franja 2: De 14:00 a 20:00 h.
    • Franja 3: De 20:00 a 22:00 h.
    • Franja 4: Después de las 22:00 h.
  • Las variables de edad cuentan espectadores menores o mayores de 30 años.

Función Conv_hora

Determina la franja horaria según la hora ingresada:

int Conv_hora(int hora) { if (hora < 14) return 1; else if (hora >= 14 && hora < 20) return 2; else if (hora >= 20 && hora < 22) return 3; else return 4; }
  • Verifica el rango de la hora y retorna un número que corresponde a la franja.

Función Conv_edad

Determina el rango de edad:


int Conv_edad(int edad) { if (edad < 30) return 1; else if (edad >= 30 && edad <= 100) return 2; else return 0; // Edad no válida. }
  • Clasifica a las personas en dos grupos:
    • Menores de 30 años (1).
    • Entre 30 y 100 años (2).

Función Incluir

Actualiza los contadores globales de audiencia según edad y hora:


void Incluir(int edad, int hora) { int franja = Conv_hora(hora); int rangoEdad = Conv_edad(edad); if (rangoEdad == 0) { cout << "Edad no válida." << endl; return; } if (franja == 1) audienciaFranja1++; else if (franja == 2) audienciaFranja2++; else if (franja == 3) audienciaFranja3++; else if (franja == 4) audienciaFranja4++; if (rangoEdad == 1) audienciaMenosDe30++; else if (rangoEdad == 2) audienciaMasDe30++; }
  • Convierte hora y edad a sus respectivas categorías y actualiza los contadores.

Función Consulta

Permite obtener la audiencia en una franja específica:


int Consulta(int franja) { if (franja == 1) return audienciaFranja1; if (franja == 2) return audienciaFranja2; if (franja == 3) return audienciaFranja3; if (franja == 4) return audienciaFranja4; return 0; }

Función Maximo

Determina la franja con la mayor audiencia:


int Maximo(int &horaMaxima, int &numTelevidentes, int &rangoEdadMenosDe30, int &rangoEdadMasDe30) { int maxAudiencia = audienciaFranja1, maxFranja = 1; if (audienciaFranja2 >= maxAudiencia) { maxAudiencia = audienciaFranja2; maxFranja = 2; } if (audienciaFranja3 > maxAudiencia) { maxAudiencia = audienciaFranja3; maxFranja = 3; } if (audienciaFranja4 > maxAudiencia) { maxAudiencia = audienciaFranja4; maxFranja = 4; } horaMaxima = maxFranja == 1 ? 13 : (maxFranja == 2 ? 19 : (maxFranja == 3 ? 21 : 23)); numTelevidentes = maxAudiencia; rangoEdadMenosDe30 = audienciaMenosDe30; rangoEdadMasDe30 = audienciaMasDe30; return maxFranja; }
  • Calcula cuál es la franja con más televidentes y actualiza los datos relacionados.

Función Principal main

Controla el flujo principal del programa:

  1. Ingresar número de televidentes (N):
    • Valida que esté entre 0 y 1000.
  2. Registrar datos de cada televidente:
    • Solicita y valida la edad (0-100 años) y la hora (0-23 horas).
    • Llama a Incluir para actualizar la audiencia.
  3. Mostrar estadísticas:
    • Calcula y muestra los porcentajes de audiencia para cada franja.
  4. Consultar franja de máxima audiencia:
    • Permite al usuario ver la franja con más televidentes y detalles.

Ejecución

El programa valida datos cuidadosamente y permite al usuario obtener estadísticas en tiempo real. También incluye opciones para consultar la franja horaria con mayor audiencia y finalizar el programa.

Importante!!
Adjunto Link del video final

https://www.youtube.com/watch?v=D9acg2yIg-k


Comentarios

Entradas populares de este blog

Utilización de estructuras repetitivas "Ciclos" y subprogramas

Presentación Inducción