![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
Spinne |
![]()
Сообщение
#1
|
Новичок ![]() Группа: Пользователи Сообщений: 37 Пол: Мужской Репутация: ![]() ![]() ![]() |
Задали мне задачку с таким условием:
ИСПОЛЬЗУЯ СИМВОЛЬНЫЕ ПЕРЕМЕННЫЕ И ДРУГИЕ ТИПЫ ПЕРЕМЕН- НЫХ,СОСТАВИТЬ ПРОГРАММУ - ОПРЕДЕЛИТЬ ДЕНЬ НЕДЕЛИ В ЗАВИСИМОСТИ ОТ ДАТЫ В ТЕКУЩЕМ ГОДУ. Я наклепал следующее: Код program Lab411; type month=1..12; days=1..31; var x:integer; y:real; d:days; m:month; label 1,2; BEGIN writeln('введите число, месяц'); readln(d,m); if m>12 then goto 1; case m of 1,3,5,7,8,10,12:if d>31 then goto 1; 2:if d>28 then goto 1; 4,6,9,11:if d>30 then goto 1; end; case m of 1:x:=d; 2:x:=31+d; 3:x:=59+d; 4:x:=90+d; 5:x:=120+d; 6:x:=151+d; 7:x:=181+d; 8:x:=212+d; 9:x:=243+d; 10:x:=273+d; 11:x:=304+d; 12:x:=334+d; end; y:=x-7*(int(x/7)); if y=0 then writeln('вторник'); if y=1 then writeln('среда '); if y=2 then writeln('четверг'); if y=3 then writeln('пятница'); if y=4 then writeln('суббота '); if y=5 then writeln('воскресенье'); if y=6 then writeln('понедельник'); goto 2; 1: writeln('ошибка ввода '); 2:END. Вроде как работает, но всё ли правильно? Сообщение отредактировано: volvo - 17.12.2004 18:06 -------------------- coitus interruptus
|
![]() ![]() |
fms |
![]()
Сообщение
#2
|
![]() Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 195 Пол: Женский Репутация: ![]() ![]() ![]() |
вот не моя прогр. (откуда не оч. помню..
![]() Код program Days; {$N+,E+} var r,f:comp; y,d,m:integer; procedure pause; assembler; asm mov ah,8 int 21h or al,al jne @ int 21h @: end; procedure pro80; var w:byte; st:string[11]; begin f:=365*y+d+31*(m-1); if m<=2 then begin f:=f+trunc((y-1)/4); f:=f-trunc(3*(trunc((y-1)/100+1))/4) end else begin f:=f-trunc(0.4*m+2.3)+trunc(y/4); f:=f-trunc(3/4*(trunc(y/100)+1)) end; w:=trunc(f-trunc(f/7)*7); case w of 0: st:='вс'; 1: st:='пн'; 2: st:='вт'; 3: st:='четв'; 4: st:='среда'; 5: st:='пт'; 6: st:='сб ' end; writeln('это день --- ',st); writeln end; procedure read_dt; const sp='введите деньмесяцгод: [dd mm yyyy]: '; begin write(sp); read(d,m,y); pro80 end; begin writeln; write('определение дня недели и '); writeln('кол-ва дней м/у датами.'); writeln; read_dt; r:=f; read_dt; writeln('между этими датами -- ', abs(f-r):15:0,' дней.'); pause end { Days }. Сообщение отредактировано: volvo - 17.12.2004 18:07 -------------------- непонимающая..
|
![]() ![]() |
![]() |
Текстовая версия | 18.07.2025 20:15 |