martes, 22 de marzo de 2022

Algoritmo de Gauss para día de la semana en Octave por Alexander Arias

Algoritmo de Gauss para día de la semana en Octave por Alexander Arias



disp("Algoritmo de Gauss para día de la semana en Octave por Alexander Arias");
disp("Aplicando las Formulas de Gauss para día de la semana");
disp("Autor: ALexander Arias");
disp("Fecha: Martes 22 de marzo de 2022");
disp("Haciendo algoritmos de una sola línea");
A=input("Ingrese Año");
M=input("Ingrese mes 1-12");
D=input("Ingrese día");
%disp(A);
%A=2022
%M=3
%D=22

k1=mod(A,400)==0
k2=mod(A,100)!=0
k3=mod(A,4)==0
disp('bisiesto')
b=k1||(k2&&k3)

disp('offset mes')
k41=~b*((M==1)*0+(M==2)*3+(M==3)*3+(M==4)*6+(M==5)*1+(M==6)*4+(M==7)*6+(M==8)*2+(M==9)*5+(M==10)*0+(M==11)*3+(M==12)*5)
k42=b*((M==1)*0+(M==2)*3+(M==3)*4+(M==4)*0+(M==5)*2+(M==6)*5+(M==7)*0+(M==8)*3+(M==9)*6+(M==10)*1+(M==11)*4+(M==12)*6)
k4=k41+k42

disp('d1')
k5=mod(5*mod((A-1),4),7)
k6=mod(4*mod((A-1),100),7)
k7=mod(6*mod((A-1),400),7)
d1=k5+k6+k7

disp('d')
d=(d1+k4+D)
d=mod(d,7)+1 %tomando indice 1 para domingo

dias=["domingo";"lunes"; "martes"; "miercoles"; "jueves"; "viernes"; "sabado"];
dias(d,:)



octave:45> source("cal_20221903.m")
Algoritmo de Gauss para día de la semana en Octave por Alexander Arias
Aplicando las Formulas de Gauss para día de la semana
Autor: ALexander Arias
Fecha: Martes 22 de marzo de 2022
Haciendo algoritmos de una sola línea
Ingrese Año> 1777
Ingrese mes 1-12> 4
Ingrese día> 30
k1 = 0
k2 = 1
k3 = 0
bisiesto
b = 0
offset mes
k41 = 6
k42 = 0
k4 = 6
d1
k5 = 0
k6 = 3
k7 = 6
d1 = 9
d
d = 45
d = 4
ans = miercoles

No hay comentarios:

Publicar un comentario