Dia de la semana de hoy

De Ejercicios

Enunciado

Realiza un programa que pida al usuario el día del mes en el que estamos y en qué día empezó dicho mes, es decir que diga si fue lunes, martes, miércoles, jueves, viernes, sábado o domingo. Entonces devolverá el día de la semana en que estamos.

Por ejemplo, si el usuario dice que hoy es día 10 y el mes empezó en lunes, entonces el sistema devolverá: Miércoles. Si el usuario dice que hoy es día 23 y el mes empezó en jueves, entonces el sistema devolverá que hoy es viernes.

Observación: En este ejercicio se requiere usar dos estructuras switch, una para decidir el desplazamiento dependiendo del día de la semana, y otra para devolver la respuesta dependiendo del resto.

Soluciones

Programa en Matlab

% Programa DiaSemana
% Entradas:
%   - Día de la semana del primer día del mes
%   - Número del día para saber su día de la semana
% Salidas:
%   Mensaje con el día de la semana del número indicado
% Variables:
 
clear all
%Leer datos de entrada.
dia1 = input('¿En qué día de la semana empezó el mes?: ','s');
num_hoy = input ('¿Qué día es hoy?: ');
 
%Calcular acumulador según el primer dia del mes.
switch dia1
    case {'l','L','lunes','Lunes','LUNES'}
        acum=0;
    case {'m','M','martes','Martes','MARTES'}
        acum=1;
    case {'x','X','miercoles','Miercoles','MIERCOLES','miércoles','Miércoles'}
        acum=2;
    case {'j','J','jueves','Jueves','JUEVES'}
        acum=3;
    case {'v','V','viernes','Viernes','VIERNES'}
        acum=4;
    case {'s','S','sabado','Sabado','SABADO','sábado','Sábado'}
        acum=5;
    case {'d','D','domingo','Domingo','DOMINGO'}
        acum=6;
    otherwise
        disp('Día de la semana incorrecto')
        acum=-1;
end
if acum>=0
    %Calcular valor del día de la semana actual.
    dia_hoy = mod(num_hoy+acum,7);
    %Mostrar dia de la semana.
    switch dia_hoy
        case 0
            disp('Hoy es DOMINGO');
        case 1
            disp('Hoy es LUNES');
        case 2
            disp('Hoy es MARTES');
        case 3
            disp('Hoy es MIERCOLES');
        case 4
            disp('Hoy es JUEVES');
        case 5
            disp('Hoy es VIERNES');
        case 6
            disp('Hoy es SABADO');
    end
end
Tipos de soluciones
Navegación
Tipos de soluciones
Herramientas