Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Теоретические вопросы _ Вопрос новичка.

Автор: Сибиряк 2 19.08.2007 8:17

Как закончить код программы чтоб после ее выполнения и нажатия ентер она возвращалась к первоначальному состоянию. Например var a, b, c: integer;
write('a='); readln(a);
write('b='); readln(b);
c:= a+b;
write('c')
end. Как после вывода ответа и нажатия ентер вернуться назад к вводу первого числа чтоб решить другой аналогичный пример? Спасибо.

Автор: Bokul 19.08.2007 8:45

Использовать условные циклы repeat...until (условие) или while (условие) do

Автор: Сибиряк 2 19.08.2007 10:37

Я примерно понимаю это. Но если не трудно как это будет выглядеть в вышеуказанном примере? Спасибо.

Автор: volvo 19.08.2007 12:08

uses crt;
var a, b, c: integer;
begin
repeat
write('a='); readln(a);
write('b='); readln(b);
c:= a+b;
writeln('c=', c);
writeln('Повторить? [y/n]');
until upcase(readkey) <> 'Y';
end.

Пока будешь нажимать 'Y' или 'y' - программа будет начинаться заново.

Автор: Сибиряк 2 21.08.2007 1:40

Ясно спасибо.

Автор: spill 29.09.2007 16:23

А еще можно так:

Код

uses crt;
var a, b, c: integer;
Procedure Calc;
begin
  write('a='); readln(a);
  write('b='); readln(b);
  c:= a+b;
  writeln('c=', c);
  writeln('Повторить? [y/n]');
  ReadLn (A);
  If a = 'y'
  Then Calc;  
end.

Автор: volvo 29.09.2007 17:08

Цитата
А еще можно так:
А еще НУЖНО проверять то, что ты пишешь! mad.gif

Как минимум 3 ошибки...

Автор: Айра 29.09.2007 17:09

uses crt;
var a, b, c: integer; !
...
If a = 'y' !
...
end.

Хм.. не думаю, что компилятор это примет.. число равно символу(букве)?.. ты запускал код?

Автор: daZe1 1.11.2007 17:17

Та да.... может a - Char??? nea.gif

Автор: 2ral 11.11.2007 3:37

Цитата(spill @ 29.09.2007 13:23) *

writeln('Повторить? [y/n]');
ReadLn (A);
If a = 'y'


ты используешь А как число и как символ. он компиляцию даже не пройдет! norespect.gif