Встречено 'until', а ожидалось ';' - PascalABC.NET
Формулировка задачи:
Решение задачи: «Встречено 'until', а ожидалось ';'»
textual
Листинг программы
program calculator; //v1.1 var a, b, rez: real;oper, calc: string;flag_start: boolean; begin flag_start := false; calc := 'N'; rez := 0; repeat if(flag_start = false) then begin writeln('Are you want to use calculator:Y/N/'); readln(calc); if(calc <> 'Y') then break; writeln('Please input the first number'); readln(a); writeln('please choose operator:+,-,*,/,div,mod'); readln(oper); rez := a; writeln('Please input a second number'); readln(a); case oper of '+': rez := rez + a; '-': rez := rez - a; '*': rez := rez * a; '/': rez := rez / a; 'div': rez := int(round(rez) div round(a)); 'mod': rez := int(round(rez) mod round(a)); else writeln( 'You chose wrong operator'); end; end else begin writeln('please choose operator:+,-,*,/,div,mod'); readln(oper); rez := a; writeln('Please input a second number'); readln(a); case oper of '+': rez := rez + a; '-': rez := rez - a; '*': rez := rez * a; '/': rez := rez / a; 'div': rez := int(round(rez) div round(a)); 'mod': rez := int(round(rez) mod round(a)); else writeln( 'You chose wrong operator'); end; end; // <--- Этого не хватало writeln('Will you continue to use a calculator?Y/N'); readln(calc); until(calc = 'N'); WriteLn('Result is', rez:8:2); readln; end.
Объяснение кода листинга программы
- Объявлены переменные: a, b, rez (результат) типа real (число с плавающей точкой), oper (оператор), calc (выбор пользователя) типа string (строка).
- Инициализированы переменные: rez = 0, flag_start = false, calc = 'N'.
- Входим в цикл repeat.
- Если flag_start = false, то выводим приглашение для ввода пользователем выбора.
- Читаем ввод пользователя и сохраняем его в переменную calc.
- Если calc не равно 'Y', то выходим из цикла.
- Выводим приглашение для ввода первого числа.
- Читаем ввод пользователя и сохраняем его в переменную a.
- Выводим приглашение для выбора оператора.
- Читаем ввод пользователя и сохраняем его в переменную oper.
- Присваиваем rez значение a.
- Выводим приглашение для ввода второго числа.
- Читаем ввод пользователя и сохраняем его в переменную a.
- Определяем операцию по значению переменной oper.
- Выполняем соответствующую арифметическую операцию и присваиваем результат переменной rez.
- Проверяем корректность выбранного оператора.
- Если пользователь ввел неверный оператор, выводим сообщение об ошибке.
- Повторяем шаги 4-17 для случая, когда flag_start = true.
- Выводим приглашение для выбора продолжения использования калькулятора.
- Читаем ввод пользователя и сохраняем его в переменную calc.
- Цикл повторяется до тех пор, пока calc не станет равным 'N'.
- Выводим результат на экран.
- Ждем ввода пользователя для завершения работы программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д