![]() |
1. Заголовок или название темы должно быть информативным !
2. Все тексты фрагментов программ должны помещаться в теги [code] ... [/code] или [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ" и используйте ПОИСК !
4. НЕ используйте форум для личного общения!
5. Самое главное - это раздел теоретический, т.е. никаких задач и программ (за исключением небольших фрагментов) - для этого есть отдельный раздел!
![]() ![]() |
![]() |
slipknot178 |
![]()
Сообщение
#1
|
Группа: Пользователи Сообщений: 2 Пол: Мужской Репутация: ![]() ![]() ![]() |
var
a,b,c: integer;
p,v,s,f: real;
begin
write (’Введите число:’);
readln (a);
writeln (‘Введите месяц’);
readln (b);
writeln ('Введите год');
readln (c);
p:=(c mod 4);
v:=(c div 4);
if p=0 then case b of
1: b:=31;
2: b:=2*31-3;
3: b:=3*31-3;
4: b:=4*31-4;
5: b:=5*31-4;
6: b:=6*31-5;
7: b:=7*31-5;
8: b:=8*31-5;
9: b:=9*31-6;
10: b:10*31-6;
11: b:=11*31-7;
12: b:=12*31-7;
else
end;
s:=v*364+(c-v)*365+b+a;
f:=s div 7;
case f of
0: writeln ('воскресение');
1: writeln ('понедельник');
2: writeln ('вторник');
3: writeln ('среда');
4: writeln ('четверг');
5: writeln ('пятница');
6: writeln ('суббота');
end;
else case b of
1: b:=31;
2: b:=2*31-2;
3: b:=3*31-2;
4: b:=4*31-3;
5: b:=5*31-3;
6: b:=6*31-4;
7: b:=7*31-4;
8: b:=8*31-4;
9: b:=9*31-5;
10: b:10*31-5;
11: b:=11*31-6;
12: b:=12*31-6;
else
end;
s:=v*364+(c-v)*365+b+a;
f:=s div 7;
case f of
0: writeln ('воскресение');
1: writeln ('понедельник');
2: writeln ('вторник');
3: writeln ('среда');
4: writeln ('четверг');
5: writeln ('пятница');
6: writeln ('суббота');
end;
readln;
end.
|
MeatCrash |
![]()
Сообщение
#2
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 56 Пол: Мужской Реальное имя: Александр Репутация: ![]() ![]() ![]() |
У меня есть эта программа, только она по другому выполнена, если надо, могу выложить.
|
MeatCrash |
![]() ![]()
Сообщение
#3
|
![]() Пионер ![]() ![]() Группа: Пользователи Сообщений: 56 Пол: Мужской Реальное имя: Александр Репутация: ![]() ![]() ![]() |
Вот текст этой программы. Она работает как надо.
Program Days;
Var
IsCorrectDate: Boolean;
d,m,y: Integer;
Procedure InputDate(var d,m,y: Integer; var Correctly: Boolean);
begin
Write('Vvedite datu v formate DD MM GGGG: ');
ReadLn(d,m,y);
Correctly := (d>=1) and (d<=31) and (m>=1) and (m<=12) and (y>=1582) and
(y<=4903)
end;
Procedure WriteDay(d,m,y: Integer);
const
Days_of_week: array [0..6] of String [11] =
('Voscresenye','Ponedelnik','Vtornik','Sreda','Chetverg','Pyatnica',
'Subbota');
var
c,w: Integer;
begin
if m < 3 then
begin
m := m + 10;
y := y - 1
end
else
m := m - 2;
c := y div 100;
y := y mod 100;
w := abs(trunc(2.6*m-0.2)+d+y div 4+y+c div 4-2*c) mod 7;
WriteLn(Days_of_week[w])
end;
Begin
Repeat
InputDate(d,m,y,IsCorrectDate);
If IsCorrectDate then
WriteDay(d,m,y)
Until Not IsCorrectDate
End.
|
![]() ![]() |
![]() |
Текстовая версия | 7.08.2025 5:21 |