IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> День, месяц, год
SwlR
сообщение 1.11.2005 13:21
Сообщение #1


Гость






Ввести день, месяц, год; определить какой это день недели


Есть программа, которая при вводе числа (целого), определяет на какой день недели приходится n-й день невисокосного года. 1-е число - ПН.
program data;
uses crt;
var
i,n:integer;
begin
clrscr;
write ('vvedi n= ');
readln (n);
i:=n mod 7;
case i of
1:writeln ('Monday');
2:writeln ('Tuesday');
3:writeln ('Wensday');
4:writeln ('Thursday');
5:writeln ('Friady');
6:writeln ('Saturday');
7,0:writeln ('Sanday');
end;
readln;
end.


А как разобраться с этой задачей?
 К началу страницы 
+ Ответить 
 
Closed Topic Открыть новую тему 
Ответов
volvo
сообщение 1.11.2005 13:24
Сообщение #2


Гость






Смотри здесь:
FAQ: Задачи связанные с календарем
Там есть модуль, который можно подключить и пользоваться описанными функциями. Если тебе не нужен модуль, то вот так (сами функции - из того же модуля, чуть-чуть переделанные. Описание смотри по приведенной ссылке):
type
tdate = record
d : byte;
m : byte;
y : integer;
end;

const
Days_of_week: array[0 .. 6] of String[3] =
('Вс', 'Пн', 'Вт', 'Ср', 'Чт', 'Пт', 'Сб');

function numofday(dat: tdate): longint;
var
stcor : integer;
begin
stcor := 2-dat.y div 100+dat.y div 400;
if ((dat.y mod 100 = 0) and
(dat.y mod 400 <> 0)) and
(dat.m <= 2) then stcor := stcor + 1;

inc(dat.m);
if dat.m <= 3 then begin
dat.m := dat.m+12;
dec(dat.y);
end;
numofday := (36525*dat.y) div 100 + (306*dat.m) div 10 + stcor + dat.d;
end;

function dayofweek(dat: tdate): byte;
var
sum : real;
day : byte;
buf : longint;
begin
buf := numofday(dat);
buf := buf+4;
day := buf mod 7;
dayofweek := day;
end;

var
mydate: tdate;

begin
write('input DD MM YYYY');
with mydate do readln(d, m, y);

writeln(days_of_week[dayofweek(mydate)]);
end.
 К началу страницы 
+ Ответить 

Сообщений в этой теме


Closed Topic Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 20.07.2025 14:26
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"