elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Curso - Calculando el Calendario Mentalmente
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Curso - Calculando el Calendario Mentalmente  (Leído 1,527 veces)
~

Desconectado Desconectado

Mensajes: 67



Ver Perfil WWW
Curso - Calculando el Calendario Mentalmente
« en: 1 Octubre 2016, 20:23 pm »

Semana 1 - Calculando el Calendario Mentalmente.
Aprendiendo la Secuencia de los Días 1-31.




Este es un curso corto sobre un algoritmo para calcular el calendario usando solo cálculos mentales de aritmética simple.

Actualmente solo hay un video para la Semana 1, pero eso debería dar suficiente tiempo para entender cada parte del curso de una forma realmente detallada.

El algoritmo es muy liviano así que es adecuado para permitir su uso y cálculos mentales con este, así que también debería ser extremadamente simple, optimizado y ligero si se usa para implementar una aplicación de administración de fecha, por ejemplo en un BIOS de código abierto o en un kernel.

No se trata de calcular un timestamp sino que de los números en cuestión 1-31 y sus nombres de día de semana correspondientes.
Citar
Calculando el Calendario Mentalmente.
Aprendiendo la Secuencia de Días del 1 al 31.



La primera cosa que necesitamos aprender para calcular el calendario mentalmente, es aprender la secuencia de los días en orden vertical. Esto nos permitirá alcanzar todas las semanas rápidamente para cualquier día, también nos permitirá obtener todos los números de días para cada día de la semana.

La única otra cosa que nunca debemos olvidar es el nombre de día de semana en el que comienza el mes, y también el número de días de ese mes. Simplemente debemos memorizar eso, y normalmente es suficiente memorizar eso para el mes actual. A medida pase el tiempo, nos resultará más rutinario recordar esos detalles.

Tenemos meses con 28, 29, 30 y 31 días, pero si aprendemos la secuencia de 31 días podremos calcular cualquier día de meses más cortos.

La siguiente es la secuencia verbal que necesitamos aprender. Una única línea es la secuencia para un único día de semana. El mes puede iniciar en cualquier día, así que la secuencia para el día 1 o el resto de días puede caer en cualquier día de semana:

1, 8,  15, 22, 29.
2, 9,  16, 23, 30.
3, 10, 17, 24, 31.
4, 11, 18, 25.
5, 12, 19, 26.
6, 13, 20, 27.
7, 14, 21, 28.

Simplemente memoriza los números anteriores y mira si puedes luego inspeccionar el calendario para el mes actual y hacer concordar esta secuencia con la secuencia para el mes en cuestión en que estás interesado. Solo hay 7 días de la semana, así que esta lista solo puede empezar en 7 formas diferentes, pero esta misma secuencia se usa siempre para las 7 combinaciones.

Ahora mira si puedes determinar el primer día de semana sin ver el calendario, y también el último día. Practica con otros días a medida que los necesites.


Determinando el Último Día.

Tenemos meses con 28, 29, 30 y 31 días.
Los meses de 28 días terminan el día de semana antes del que empezaron.
Los meses de 29 días terminan el día de semana en el que empezaron.
Los meses de 30 días terminan el siguiente día de semana del que empezaron.
Los meses de 31 días terminan dos días de semana después del que empezaron.

El primer día del siguiente mes es simplemente el siguiente día de semana para cualquiera de los últimos días de semana que acabamos de describir.

Ahora mira si puedes calcular el último día de semana para este mes y luego el primer día de semana para el siguiente mes al avanzar al siguiente día de semana.

Ahora también trata de calcular el día de semana de varios cumpleaños o días de semana de fechas en las que necesites terminar o pagar algo. También trata de calcular los días de semana para el Sábado o Domingo siguientes.



« Última modificación: 1 Octubre 2016, 20:25 pm por ~ » En línea

Sitio web (si la siguiente imagen no aparece es porque está offline):
~

Desconectado Desconectado

Mensajes: 67



Ver Perfil WWW
Curso - Calculando el Calendario Mentalmente (Semana 2)
« Respuesta #1 en: 8 Octubre 2016, 05:27 am »

Parte 2
Semana 2




Calculando el Calendario Mentalmente.
Calculando Libremente para Cualquier Mes.

Citar
Debemos recordar el primer día de semana del año, si es bisiesto, y la siguiente secuencia de números a continuación. Si el año no es bisiesto, debemos calcular normalmente la secuencia de principio de mes y luego restar 1, y esto aplica a partir de Febrero.

Esta secuencia aplica con 0 para Enero ya que es el punto inicial, y luego desde Febrero hasta el primer día del siguiente año.

Para saber manualmente si el año es bisiesto, simplemente necesitamos ver si Febrero es de 29 días. Si es de 28 días, entonces no es bisiesto.

También en general, si el año es exactamente divisible entre 4 entonces es bisiesto. Esto puede no aplicar para todos los años existentes, pero es la consideración mínima que podemos determinar calculando solo mentalmente de forma simple.

Debemos aprender la siguiente secuencia de números para poder calcular el día inicial para cualquiera de los meses. Cada uno de estos números corresponde a cada uno de los meses del año, desde Enero a Diciembre, y el último número individual corresponde al primer día del siguiente año:

0, 3, 5, 1.
3, 6, 1, 4.
7, 2, 5, 7.
3.

Ejemplos de años bisiestos son 2000, 2004, 2008, etc.

Podríamos aprender:
- El número de un año especial específico. Por ejemplo 1984.
- El primer día de semana de ese año. Domingo en este caso.
- Y si es bisiesto al ver si Febrero tiene 29 días. En este caso sí.

Solo con eso y con nuestras técnicas hasta ahora podemos ahora calcular cualquier día de ese año.



Ahora trata de determinar el primer día de Noviembre y el 2 de Noviembre del 2016. 2016 empezó en Viernes, es bisiesto porque Febrero tiene 29 días. 2016 es divisible exactamente entre 4.

Para Noviembre corresponde avanzar 5 días y como es bisiesto tenemos que avanzar esos 5 días en lugar de 4 días, para reflejar que el 29 de Febrero está presente. Así que como empezamos en el primer día del año:

Viernes.

Si avanzamos 5 días después, desde el día inicial del año, tenemos:

Viernes, Sábado, Domingo, Lunes, Martes.
Así que el 1 de Noviembre del 2016 cae en Martes, y obviamente el 2 de Noviembre cae en Miércoles.



En línea

Sitio web (si la siguiente imagen no aparece es porque está offline):
~

Desconectado Desconectado

Mensajes: 67



Ver Perfil WWW
Re: Curso - Calculando el Calendario Mentalmente
« Respuesta #2 en: 17 Octubre 2016, 11:04 am »

Semana 3
Parte 3 - Programa para Obtener el Primer Día de Semana, y el Número de Días de Ese Año



Citar
http://archive.org/download/MentalCalendar/yearinit.html

Este es un programa HTML pensado para correr en un navegador web de una computadora de escritorio, teléfono, tablet o Palm.

Este es un programa HTML pensado para correr en un navegador web de una computadora de escritorio, teléfono, tablet o Palm.

Solo necesitamos especificar el número del año y con eso obtendremos el nombre del primer día de semana de ese año y el número de días de ese año para saber si es bisiesto (366 días) o no (365 días).

Junto con nuestras técnicas de cálculo mental del calendario, esto es todo lo que necesitamos para calcular cualquier día de cualquier año de la historia.

Tambíén podríamos implementar como programa las técnicas puramente mentales, para calcular los valores de cualquier año para una aplicación o applet de calendario.

En línea

Sitio web (si la siguiente imagen no aparece es porque está offline):
~

Desconectado Desconectado

Mensajes: 67



Ver Perfil WWW
Curso - Calculando el Calendario Mentalmente (Semana 4)
« Respuesta #3 en: 21 Octubre 2016, 12:16 pm »

Semana 4
Parte 4 - Documentos Originales de la Creación del Método (Año 2000)




Citar
http://archive.org/download/MentalCalendar/calendarcalc.zip

Este video contiene una referencia a los documentos originales en donde se explica este método para calcular el calendario mentalmente, el cual fue creado allá en el año 2000. También contiene un documento adicional que explica adicionalmente cómo calcular cualquier fecha, y que fue creado el 2014 en Español e Inglés.
« Última modificación: 21 Octubre 2016, 12:21 pm por ~ » En línea

Sitio web (si la siguiente imagen no aparece es porque está offline):
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
ayuda calendario, calculo dia de la semana
Java
casidus 0 2,311 Último mensaje 24 Enero 2010, 18:48 pm
por casidus
Video curso de Master en PHP 3 Niveles - Intermedio Semana 1
PHP
Graphixx 1 2,940 Último mensaje 21 Noviembre 2015, 23:46 pm
por carliches
Video curso de Master en PHP 3 Niveles - Intermedio Semana 2
PHP
Graphixx 0 2,120 Último mensaje 30 Septiembre 2013, 01:25 am
por Graphixx
Video curso de Master en PHP 3 Niveles - Intermedio Semana 3
PHP
Graphixx 0 2,089 Último mensaje 2 Octubre 2013, 01:58 am
por Graphixx
Video curso de Master en PHP 3 Niveles - Intermedio Semana 4
PHP
Graphixx 0 1,742 Último mensaje 3 Octubre 2013, 02:25 am
por Graphixx
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines