![]() |
1. Заголовок или название темы должно быть информативным !
2. Все тексты фрагментов программ должны помещаться в теги [code] ... [/code] или [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ" и используйте ПОИСК !
4. НЕ используйте форум для личного общения!
5. Самое главное - это раздел теоретический, т.е. никаких задач и программ (за исключением небольших фрагментов) - для этого есть отдельный раздел!
![]() ![]() |
![]() |
serg |
![]()
Сообщение
#1
|
Гость ![]() |
Привет всем.
Чем больше работаешь в борланде тем больше разочаровываеся. Накрапал маленькую прогу лабы. При дебаге, в условном переходе независимо что хранится в перемненой срабатывает. кто сталкивался с таким чудом подскажите как из этой ситуации выходить. За ранее благодарень Исходник: var e,m,l:integer; label 1,2,3,4,5; var e1,m1,l1,d,f,q,c,n:integer; begin writeln (' Введите год: '); read (e); writeln (' Введите месяц: '); read (m); writeln (' Введите число: '); read (l); n:=0 ; m1:=1; d:=7; f:=d; 4: if f > 7 then f :=1; if m = m1 then begin if l = 1 then goto 5; for q:=2 to l do begin f:=f+1; writeln (f,'-день'); if f = 8 then begin f:=1; writeln (f,'--день'); end; writeln (f,'-день'); end; 5: writeln (f,'-день недели'); goto 1; end; writeln (n,' -', f,' ','-день'); if n <> 28 then goto 3; writeln (m1,'-m1'); if m1 = 2 then begin m1:=m1+1; writeln (m1,'-д m1'); { f:=f+1; if f=8 then f:=1; } goto 2; end; {вот тут глюк} if m1 <> 1 or 3 or 5 or 7 or 8 or 10 or 12 then begin writeln (m1,'-д m1'); for c:= 1 to 3 do begin f:=f+1; if f=8 then f:=1; end; m1:=m1+1; n :=0; goto 2; end else for c:= 1 to 2 do begin f:=f+1; if f = 8 then f :=1; end; m1:=m1+1; n:=0; goto 4; 3: n:=28 ; 2: goto 4; 1: end. |
ozzy |
![]()
Сообщение
#2
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 42 Репутация: ![]() ![]() ![]() |
if (m1 <> 1) or (m1 <> 3) or (m1 <> 5) or (m1 <> 7) or (m1 <> 8) or (m1 <> 10) or (m1 <> 12) then
Честно признаюсь, программу полностью не смотрел, но проверка условия должна быть расписана так. |
trminator |
![]()
Сообщение
#3
|
Четыре квадратика ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 579 Пол: Мужской Репутация: ![]() ![]() ![]() |
1 or 3 or 5 or 7 or 8 or 10 or 12 = 15
if m1 <> 1 or 3 or 5 or 7 or 8 or 10 or 12 эквивалентно if m1 <> 15 -------------------- Закон добровольного труда Зимерги:
Люди всегда согласны сделать работу, когда необходимость в этом уже отпала |
serg |
![]()
Сообщение
#4
|
Гость ![]() |
каким образом?
обьясни принцип работы компилятора в данной ситуации |
ozzy |
![]()
Сообщение
#5
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 42 Репутация: ![]() ![]() ![]() |
Цитата каким образом? обьясни принцип работы компилятора в данной ситуации Операции производятся слева направо, но у оr приоритет операций выше, чем у <>, поэтому or выполняется раньше. Цитата Чем больше работаешь в борланде тем больше разочаровываеся. Эта... Хммм... Может, книжку какую почитаешь? |
![]() ![]() |
![]() |
Текстовая версия | 27.07.2025 10:35 |