Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.10.2008, 17:07   #1
lsd11
Новичок
Джуниор
 
Регистрация: 17.08.2008
Сообщений: 2
По умолчанию Не проверяется логическое выражение в операторе While

Код HTML:
Program My8_22;
 Var a,b:longint;
  Begin
  WriteLn('Введите два числа* <> 0');
  ReadLn(a,b);
  While (a<>0) or (b<>0) do

   if (a>b)
    then
     a:=a mod b
    else
     b:=b mod a;

  WriteLn('Наибольший общий делитель =',a+b);
  ReadLn;
  End.
Вылетает почему-то с ошибкой 200 (деление на 0). Т.е например при введении чисел 144 и 12, после a:=a mod b, a=0 , но из цикла while не выходит при проверке выражения (a<>0) or (b<>0), а начинает выполнять соответственно b:=b mod a; ???????!!
У меня Free Pascal IDE стоит.

Последний раз редактировалось lsd11; 15.10.2008 в 17:09.
lsd11 вне форума Ответить с цитированием
Старый 15.10.2008, 18:16   #2
Greblin
Меркантильный кю
Участник клуба
 
Аватар для Greblin
 
Регистрация: 02.02.2008
Сообщений: 1,001
По умолчанию

Ну естественно вылетает: цикл крутится пока хотя бы одно из чисел не равно 0.
Код:
while (a <> 0) and (b <> 0) do
Росли вроде умными, выросли дурнями... (c)А.Васильев
Greblin вне форума Ответить с цитированием
Старый 15.10.2008, 19:09   #3
lsd11
Новичок
Джуниор
 
Регистрация: 17.08.2008
Сообщений: 2
По умолчанию

Вот это да, я не заметил. Благодарю.
lsd11 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Строковое выражение SeregaIRK Общие вопросы C/C++ 1 07.10.2008 19:20
Упростить логическое выражение. Помогите с поступлением. DartMrakkk Помощь студентам 4 27.07.2008 12:35
ошибка в операторе case wowka Помощь студентам 5 24.07.2008 11:47
Вопрос об операторе IF Лёка Общие вопросы Delphi 4 01.02.2008 22:33
помогите подобрать формулу или логическое выражение... Dr.Eric Microsoft Office Excel 7 22.11.2006 06:56