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)
- Obtener enlace
- X
- Correo electrónico
- Otras aplicaciones
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 comocinycout.#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).
- Menores de 30 años (
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:
- Ingresar número de televidentes (
N):- Valida que esté entre 0 y 1000.
- Registrar datos de cada televidente:
- Solicita y valida la edad (0-100 años) y la hora (0-23 horas).
- Llama a
Incluirpara actualizar la audiencia.
- Mostrar estadísticas:
- Calcula y muestra los porcentajes de audiencia para cada franja.
- 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
- Obtener enlace
- X
- Correo electrónico
- Otras aplicaciones
Comentarios
Publicar un comentario