lunes, 30 de marzo de 2026

01J.- Programación I - Primera Evaluación (26 de marzo de 2026) - semestre 2026 - II (Solución del Profesor)

 

Video Explicativo


El dilema del Planificador


El jefe de la empresa para la cual ustedes trabajan es un adicto a la planificación, él desea que el grupo al cual Ud. pertenece elabore un programa que presente en pantalla cual día de la semana corresponde una fecha ingresada entre el 26 de marzo de 2026 y el 31 de diciembre de 2040, tal como se indica en las siguientes graficas:




El profesor seleccionara a uno de los integrantes del grupo para que pase al laboratorio y defienda el programa, la defensa consistirá en modificar el programa según instrucciones del profesor. La calificación del estudiante será la calificación del grupo.

Nota: Asegúrese de que su programa considere los años bisiestos (Años con 29 de febrero)

El Programa final 

(Según cambio a ultima hora del profesor)

1ro de enero de 1900 a 31 de diciembre de 2036


/* 

Programa del Planificador 

elaborado por: Carlos Ferrer

Rev. del 30 de marzo de 2026

*/



#include<iostream>

#include<locale.h>

using namespace std;


main()

{

int dia_b,mes_b,anio_b;

int dia_s=1; //lunes = 1 hasta domingo = 7 (día de inicio Jueves)

int dia=1,mes=1,anio=1900; //fecha de inicio

int bisiesto; // bisiesto = 1 No Bisiesto = 0

int aux; //variable de uso general

string aux2[13]={"","Enero","Febrero","Marzo","Abril","Mayo","Junio","Julio","Agosto","Septimbre","Octubre","Noviembre","Diciembre"};

string aux1[8]={"","Lunes","Martes","Miercoles","Jueves","Viernes","Sabado","Domingo"};

setlocale(LC_ALL,"spanish");

//Validación de datos de entrada

do

{

cout <<"Ingrese el año a buscar (1900 a 2036) = ";

    cin >>anio_b;

    if (anio_b<1900 or anio_b>2036)

    {

    cout <<endl<<"Valor fuera de rango!!!"<<endl<<endl;

}

    

}

while (anio_b<1900 or anio_b>2036);

do

{

cout <<"Ingrese el mes a buscar (1 a 12) = ";

    cin >>mes_b;

    if (mes_b<1 or mes_b>12)

    {

    cout <<endl<<"Valor fuera de rango!!!"<<endl<<endl;

}

    

}

while (mes_b<1 or mes_b>12);

if ((anio_b%4==0 and anio_b%100!=0 ) or (anio_b%4==0 and anio_b%100==0 and anio_b%400==0))

{

bisiesto=1;

}

else

{

bisiesto=0;

}

if (mes_b==2 and bisiesto==1)

{

aux=29;

}

else if (mes_b==2 and bisiesto==0)

{

aux=28;

}

else if (mes_b==11 or mes_b==6 or mes_b==4 or mes_b==9)

{

aux=30;

}

else

{

aux=31;

}

do

{

cout <<"Ingrese el día a buscar (1 a "<<aux<<") = ";

    cin >>dia_b;

    if (dia_b<1 or dia_b>aux)

    {

    cout <<endl<<"Valor fuera de rango!!!"<<endl<<endl;

}

    

}

while (dia_b<1 or dia_b>aux);

/*

  Buscamos el día de la semana de la fecha a buscar, no movemos en el calendario

  hasta conseguir la fecha solicitada

*/ 

while (dia!=dia_b or mes!=mes_b or anio!=anio_b )

{

dia_s=dia_s+1;

if (dia_s==8)

{

dia_s=1;

}

if ((anio%4==0 and anio%100!=0 ) or (anio%4==0 and anio%100==0 and anio%400==0))

{

bisiesto=1;

}

else

{

bisiesto=0;

}

dia=dia+1;

if (mes==2 and bisiesto==1 and dia==30)

{

dia=1;

mes=mes+1;

}

if (mes==2 and bisiesto==0 and dia==29)

{

dia=1;

mes=mes+1;

}

if ((mes==11 or mes==6 or mes==4 or mes==9) and dia==31)

{

dia=1;

mes=mes+1;

}

if (dia==32)

{

dia=1;

mes=mes+1;

}

if (mes==13)

{

mes=1;

anio=anio+1;

}

}

//Presentamos el resultado

cout <<endl<<endl<<"Solución = El "<<día<<" del mes de "<<aux2[mes];

cout <<" de "<<anio<<" corresponderá a un día = "<<aux1[dia_s]<<endl<<endl;

}




No hay comentarios.:

Publicar un comentario