Телесистемы
 Разработка, производство и продажа радиоэлектронной аппаратуры
На главную   | Карта сайта | Пишите нам | В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:jobsmp@pochta.ru

Телесистемы | Электроника | Конференция «Микроконтроллеры и их применение»

На алгоритм.

Отправлено БУБУ 05 февраля 2007 г. 11:02
В ответ на: а строка "Пока ссылки не рабочие" истину глаголет, или по забывчивости висит ?! отправлено megajohn 05 февраля 2007 г. 10:30


(*
Вычисление дня недели в приложениях автоматического вычисления
дня недели в датах от 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.



Составить ответ | Вернуться на конференцию

Ответы


Отправка ответа
Имя*: 
Пароль: 
E-mail: 
Тема*:

Сообщение:

Ссылка на URL: 
URL изображения: 

если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
поделите 4 пополам:

Перейти к списку ответов | Конференция | Раздел "Электроника" | Главная страница | Карта сайта

Rambler's Top100 Рейтинг@Mail.ru
 
Web telesys.ru