М | Пользуемся тегами |
program sum;
var
x,y,s:integer;
write('введите 1е сагаемое);
read(x);
write('введите 2е слагаемое');
read(y);
s:=x+y;
write('сумма равна',s);
end.
Жмешь Alt+F5 и смотришь на результат ...
program sum;
var
x,y,s:integer;
begin {<----}
write('введите 1е сагаемое');
read(x);
write('введите 2е слагаемое');
read(y);
s:=x+y;
write('сумма равна',s);
readln;{<----}
readln;
end.
Tan, и что?
Не заметил, что в программе 2 раза вводится число + Enter? Не поможет тут Readln... Сам догадаешься, почему, или подсказать?
Я наверно не тем голову забил, но кроме ковычки в предыдущем своём посте, я больше ничего не заметил =)
Ты проверял, КАК твой код работает? Вот попробуй его запустить, и потом расскажи, ПОЧЕМУ так происходит... Ты же написал ReadLn, почему программа НЕ ждет нажатия на Enter, а завершается сразу же?
не знаю как в БП7, я компилировал на Pascal ABC, у меня ожидает ввода данных, могу print screen кинуть.
Я не знаю, что это Pascal ABC - этот раздел не для экзотики, а для стандартного Паскаля...
P.S.
Вопрос к автору: каким компилятором пользуешься?
Верное замечание, впредь буду компилить под стандартным, ситуацию спасают 2 readln, но почему, не понял =) Можно объяснить ?
Спасибо Lapp, для меня ты вполне доступно объяснил, я всё уловил, только сейчас вспомнил, что такое у меня случалось раньше и довольно часто, но я по разному от этого уходил (в том числе и 2йным Readln, ведь тогда я не знал причину этой штуки).
Проблема решается добавлением вместо Readln в конце программы такой строчки:
repeat until keypressed;
Я не говорю про преимущества, я говорю про альтернативу. В данном же случае одного Readln мало, уже два надо. А если переменных больше, а переход на другую строку не сделан, тогда сколько readlnов понадобится?
З.Ы. Я не претендую на идеальность этого варианта
Видимо да. Хотя я сама с такой ситуацией не сталкивалась - не идет один ReadLn, тогда пользуюсь вышеуказанным циклом
Как альтернатива, можно вот так
...
readln(y);
s:=x+y;
write('сумма равна',s);
readln;
end.
Логично. Вот только не пойму, почему вы так категорично отнеслиськ моему варианту?
Просто вышеперечисленная дискуссия к которой вы присоединились не носила характера как от этого избавиться (я даже до поста Lapp без проблем бы обошёл эту проблему, мы просто говорили почему она возникла). Cherynka, ответ на твой пост, а зачем лишний модуль в программе ? К тому же если автор вопроса выложил исходник, надо быть максимально близким к нему в решении и рекомендациях. Можно и ассемблером обойти эту проблему, но в данной ситуации надо ли это ?