Помощь - Поиск - Пользователи - Календарь
Полная версия: задача с оператором ветвления
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
stalin
я недавно начал программировать!и мне это нравиться и я достиг определенных успехов!но вот задался вопросом а как будет выглядеть код такой задачи в которой будет выполнятся какое-то действие например с:=а+в и после этого действия будет следовать вопрос: может еще?Y/N и если будет дано Y, то цикл- а еcли N то End.
P.S.(естественно код должен быть примитивен как 5 рублей)
подскажите пожалуйста!
спасибо всем кто откликнется!
Unconnected
Можно использовать оператор безусловного перехода goto (многие воспринимают его как зло, правда).. Создаёшь переменную типа label, например label p; перед секцией var, вставляешь её перед вводом данных например:
p:
{ввод данных}.

Далее, при запросе y/n если выбрано y, то goto p;
if (key='y') or (key='Y') then goto p; {key - переменная типа char или string}
stalin
а нельзя ли на примере показать код?а то чет я не могу додуматься (я же еще начинающий) wacko.gif !
Unconnected
Код
var
  c1:char;
  a,b,c:byte;
  label p;
begin
  p:
  writeln('Vvedite chislo A i chislo B');
  readln(a,b);
  c:=a+b;
  writeln(a,'+',b,'=',c);
  writeln('Restart? Y/N');
  readln(c1);
  if (c1='y') or (c1='Y') then goto p;
  if (c1='n') or (c1='N') then halt;
end.



Заметь, метки описываются не так, как я написал выше (уже исправлено).
amega
можно еще так
только непомню код n N;

repeat
{действие}
Writeln('Хотите еще ?');
readln(а);
until keypressed#{код n N};

stalin
всем спасибо!тему можно закрывать!
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.