Есть ответ 👍

Чем можно заменить оператор goto в турбо паскале. существует программа нужно, чтобы при нажатии определенной буквы выполнялась определенный цикл, как это сделать не используя оператор безусловного перехода goto. пример на следующем коде: program abc; uses crt; var a, b, x, y, w, z: real; c, d, e, q: integer; begin begin {q} writeln ('la-la-la'); writeln ('если хотите вычислить сумму, то нажмите с, произведение- d, операцию деления -e '); readln; clrscr; end; begin {c} readln(a, b); writeln (a+b); readln; clrscr; end; begin {d} readln(x, y); writeln (x*y); readln; clrscr; end; begin {e} readln(w, z); writeln (w/z); readln; clrscr; end; end. если пользователь нажимает букву q нужно вернуть его к операции: " begin {q} writeln ('la-la-la'); writeln ('если хотите вычислить сумму, то нажмите с, произведение- d, операцию деления -e '); end; " в случае, если пользователь вводит любую другую букву нужно сказать, что 'error, please enter c, e or d' и после того, как он введет нужную букву вывести соответствующую операцию

222
308
Посмотреть ответы 3

Ответы на вопрос:


Program abc; uses crt; var   a,b: real;   c: char; begin   clrscr;   repeat       writeln('la-la-la');       write('если хотите вычислить сумму, то нажмите с,');       writeln(' произведение- d, операцию деления -e ');       writeln('для завершения работы нажмите q');       c: =readkey;       case c of       'c','c': begin           write('сложение: введите слагаемые: '); read(a,b);           writeln('сумма равна ',a+b);           write('для продолжения нажмите любую клавишу');           readkey;           clrscr           end;       'd','d': begin           write('умножение: введите сомножители: '); read(a,b);           writeln('произведение равно ',a*b);           write('для продолжения нажмите любую клавишу');           readkey;           clrscr           end;       'e','e': begin           write('деление: введите делимое и делитель: '); read(a,b);           writeln('частное равно ',a/b);           write('для продолжения нажмите любую клавишу');           readkey;           clrscr           end;       'q','q': ;       else begin           writeln(#13#10,'error, please enter c, e or d',#13#10);           end       end;   until c in ['q','q'];   writeln('ждем вас снова! ');   readkey end.

Почему бы не использовать условия if для выбора нужного цикла по введённой букве? program abc; uses crt; var   a, b, x, y, w, z: real;   c, d, e, q: integer;   action: char; begin   action : = 'x';   while not (action = 'q') do   begin       writeln ('la-la-la');       writeln ('если хотите вычислить сумму, то нажмите с, произведение- d, операцию деления -e ');       readln(action);       clrscr;       if action = 'c' then       begin           readln(a, b);           writeln (a+b);           readln(action);           clrscr;       end;       if action = 'd' then       begin           readln(x, y);           writeln (x*y);           readln(action);           clrscr;       end;       if action = 'e' then       begin           readln(w, z);           writeln (w/z);           readln(action);           clrscr;       end;       if not ( (action = 'c') or (action = 'd') or (action = 'e') or (action = 'q') ) then       begin           writeln('ошибка, введите c, d, e или q');           readln(action);           clrscr;       end;   end; end.

а) a * b / c   =   /frac{ab}{c}  

б) a / b * c = /frac{ac}{b}  

в) a+b / c = a+ /frac{b}{c}  

г) (a+b) / c =   /frac{a+b}{c}  

д) a+b / c+d = a+ /frac{b}{c} +d

е) (a+b) / (c+d) =   /frac{a+b}{c+d}

Популярно: Информатика