1) Elabore un programa que permita determinar en que años desde el 2025 hasta el 2099 se repite la misma combinación de Mes, día y día de semana, por ejemplo:
Programa para determinar en que años se cumple la combinación día + mes + día de semana
Ingrese Mes = 7
Ingrese Dia de Mes = 20
Ingrese Dia de Semana (Dom=1 Lun=2 Mar=3 Mie=4 Jue=5 Vie=6 Sab=7) = 3
Los años que se presentan esta combinación entre 2025 y 2099 corresponden a:
2027 2032 2038 2049 2055 2060 2066 2077 2083 2088 2094
--------------------------------
Process exited after 10.41 seconds with return value 0
Presione una tecla para continuar . . .
12) Dado el siguiente programa indique en sus propias palabras que hace el programa
Solución
1)
/*Parcial Nro. 1 Semestre 2026-I
Programa para determinar años desde el 2025 hasta 2099 donde
se da la misma combinación día, mes y día de semana
Elaborado por Carlos Ferrer
Rev.: Oct 2025
*/
//Biblioteca para recibir datos y enviar datos a la consola (Pantalla negra)
#include <iostream>
using namespace std;
main()
{
int dia=1,mes=1,a=2025,Dia_s=4;
int diab,mesb,Dia_sb;
int bisiesto;
//Validamos el mes a ingresar
cout<<"Programa para determinar que a#os se cumple la combinación dia + mes + dia de semana"<<endl<<endl;
do
{
cout <<"Ingrese el mes a validar (1-12) = ";
cin >>mesb;
if (mesb<1 or mesb>12)
{
cout <<endl<<endl<<"Error.. el rango es de 1 a 12 !!!!"<<endl<<endl;
}
}
while (mesb<1 or mesb>12);
//Validamos el día a ingresar
do
{
cout <<"Ingrese el dia a validar (1-31) = ";
cin >>diab;
if (diab<1 or diab>31)
{
cout <<endl<<endl<<"Error.. el rango es de 1 a 31 !!!!"<<endl<<endl;
diab=32;
}
if (diab>30 and (mesb==4 or mesb==6 or mesb==9 or mesb==11))
{
cout <<endl<<endl<<"Error.. el mes indicado solo tiene 30 dias !!!!"<<endl<<endl;
diab=32;
}
else if (diab>29 and mesb==2)
{
cout <<endl<<endl<<"Error.. febrero solo tiene 28 dias o 29 días"<<endl<<endl;
diab=32;
}
}
while (diab<1 or diab>31);
//Validamos el día de la semana a ingresar
do
{
cout <<"Ingrese el dia de la semana a validar (Dom=1 Lun=2 Mar=3 Mie=4 Jue=5 Vie=6 Sab=7) = ";
cin >>Dia_sb;
if (Dia_sb<1 or Dia_sb>7)
{
cout <<endl<<endl<<"Error.. el rango es de 1 a 7 !!!!"<<endl<<endl;
}
}
while (Dia_sb<1 or Dia_sb>12);
system("cls");
cout <<"Programa para determinar que a#os se cumple la combinación dia + mes + dia de semana"<<endl<<endl;
cout <<"Dia = "<<diab<<" Mes = "<<mesb<<endl;
cout <<"Dia de Semana (Dom=1 Lun=2 Mar=3 Mie=4 Jue=5 Vie=6 Sab=7) = "<<Dia_sb<<endl<<endl;
//Determinamos los años en los cuales se cumple las mismas combinaciones
while(a<2099)
{
// bisiesto= divisible entre 4 y no es divisible entre 100 o es divisible entre 100 y 400
if ((a%4==0 and a%100!=0) or (a%100==0 and a%400==0))
{
bisiesto=1;
}
else
{
bisiesto=0;
}
//Incrementamos el día a revisar
dia=dia+1;
Dia_s=Dia_s+1;
/* Si es el octavo día activamos el turno (turno=1) de lo contrario
incrementamos el contador de 8 dias (1 día de turno siete libres)*/
if (Dia_s==8)
{
Dia_s=1;
}
/*Verificamos si el mes de 31 días se cumplió y
nos pasamos al mes siguiente*/
if (dia==31 and (mes==11 or mes==6 or mes==4 or mes==9))
{
dia=1;
mes=mes+1;
}
/*Verificamos si el mes de 28 dias + año Bisiesto
se cumplió y nos pasamos al mes siguiente*/
else if (dia>28 and mes==2 and bisiesto==0)
{
dia=1;
mes=mes+1;
}
/*Verificamos si el mes de 29 días + año Bisiesto
se cumplió y nos pasamos al mes siguiente*/
else if (dia>29 and mes==2 and bisiesto==1)
{
dia=1;
mes=mes+1;
}
/*Verificamos si el mes de 31 días
se cumplió y nos pasamos al mes siguiente*/
else if (dia==32)
{
dia=1;
mes=mes+1;
}
//Verificamos el cambio de año y nos cambiamos de año
if (mes==13)
{
mes=1;
a=a+1;
}
//Presentamos los resultados
if (dia==diab and mes==mesb and Dia_s==Dia_sb)
{
cout <<a<<" ";
}
}
}
2)
El programa presenta en pantalla los primeros veinte (20) números a partir de 100000 que al sacarle la raíz cuadrada el resultado genere un numero:
a.- Entero (sin parte decimal)
b.- Primo
c.- Que termine siete (7).
No hay comentarios.:
Publicar un comentario