Чем можно заменить оператор 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
Ответы на вопрос:
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}
Популярно: Информатика
-
Оля01072028.07.2022 23:15
-
ask5206.08.2022 20:56
-
dashaananasic1820.03.2022 06:20
-
шамшода02.07.2020 17:58
-
Ябулочкасизюмом20.02.2021 19:31
-
AndreyVisaGold20.05.2022 16:51
-
Skillet12151605.09.2020 15:22
-
Light11111124.03.2022 18:24
-
Nathoe78921.11.2022 20:03
-
olegohremenko29.01.2021 13:25