Связь и интернет Архив Программирование
   
Сделать стартовойСделать закладку            
   ПОИСК  
   
Главная / Алгоритмы / Разное /
8  Perl
8  PHP
8  JavaScript
8  HTML
8  DHTML
8  XML
8  CSS
8  C / C++
8  Pascal и Delphi
8  Турбо Ассемблер
8  MySQL
8  CASE-технологии
8  Алгоритмы
8  Python
8  Обратная связь
8  Гостевая книга
Новости о мире


Проверка, високосный год или нет. Вычисление дня недели - Программирование от RIN.RU
Проверка, високосный год или нет. Вычисление дня недели


  1. Год делится на 400 -> високосный -> конец

  2. Год делится на 100 -> не високосный -> конец

  3. Год делится на 4 -> високосный -> конец

  4. Год не високосный -> конец

  5. Всё




А вот моя программка для определения дня недели. Кому надо - разберется. Работает вроде до 2100 года.


Вычисление дня недели в приложениях автоматического вычисления дня недели в датах от 1996 года и старше.


Copyright (C) Sergei Frolov, 1998.
v1.0 Jan, 4, 1998.


Программа ориентирована на применение в приложениях, написанных на языке ассемблера без использования аппаратного умножения/деления и операций с плавающей запятой.


program denned;


const


YEARS : array[0.. 3] of byte = (0, 2, 3, 4);
MONTHS : array[1..12] of byte = (0, 3, 3, 6, 1, 4, 6, 2, 5, 0, 3, 5);
DAYOFWEEKS : array[0..6] of string =
('Воскресенье', 'Понедельник', 'Вторник', 'Среда', 'Четверг',
'Пятница', 'Суббота');


var


a, b, c, d, e, f, tmp : byte;
day, month, year : word;


begin


repeat


write('Число XX -> ');
readln(day);
if day = 0 then break; { выход }
write('Месяц XX -> ');
readln(month);
write('Год XXXX -> ');
readln(year);
tmp := year - 1996;
a := tmp and 3;
b := (tmp shr 2) + (tmp and $FC);
c := MONTHS[month];
if (a = 0) and (month > 2) then inc(c);
a := YEARS[a];
e := (a + b + c + day) mod 7;
writeln('Результат: ', DAYOFWEEKS[e]);
writeln;


until false;


end.




 8  Комментарии к статье  8 8  Обсудить в чате

 
  
  
    Copyright ©  RIN 2003 - 2004      * Обратная связь