Варианты решений задачки №1 (программа «Элементарный калькулятор») на языке Pascal. Первый вариант самый простой, с использованием переменных целого типа и условного оператора if ... then ... else ... («если» … «то» … «иначе» …):
{ Программа "Элементарный калькулятор", вариант №1 }
program SimpleCalc; { Необязательная строка, пишем по традиции }
var
a, b: Integer; { Переменные-целочисленные операнды }
op: Char; { Переменная-символ арифметической операции }
begin
{ Получаем исходные данные}
write('Введите операнд a: ');
readln(a); { Вводим первый операнд }
write('Введите операнд b: ');
readln(b); { Вводим второй операнд }
write('Введите операцию (+, -, *, /): ');
readln(op); { Вводим символ операции }
{ Выполняем операцию и выводим результат }
if op = '+' then
writeln('a + b = ', a + b)
else
if op = '-' then
writeln('a - b = ', a - b)
else
if op = '*' then
writeln('a * b = ', a * b)
else
if op = '/' then
writeln('a / b = ', a / b)
else
writeln('Неизвестная операция!')
end.
Текст программы сохраняем в файл с именем, например, 01.pas. Работаем в Linux (например Linux Mint) и используем Free Pascal, поэтому скомпилировать файл можно так:
$ fpc 01.pas
а запустить готовую программу (при условии, что компиляция прошла без ошибок и исполняемый файл был создан) так:
$ ./01
Теперь попробуем записать эту же программу более лаконично: оформим компактнее ввод данных и используем оператор выбора case вместо конструкции if ... then ... else ...:
{ Программа "Элементарный калькулятор", вариант №2 }
program SimpleCalc;
var
a, b: Integer; { Переменные-целочисленные операнды }
op: Char; { Переменная-символ арифметической операции }
begin
{ Получаем исходные данные}
write('Введите операнды a и b (через пробел): ');
readln(a, b);
write('Введите операцию (+, -, *, /): ');
readln(op);
{ Выполняем операцию и выводим результат }
case op of
'+': writeln('a + b = ', a + b);
'-': writeln('a - b = ', a - b);
'*': writeln('a * b = ', a * b);
'/': writeln('a / b = ', a / b);
else
writeln('Неизвестная операция!')
end
end.
Еще один вариант — украсим оформление вывода результатов и добавим проверку «деления на ноль» (как уже сделал один из учеников):
{ Программа "Элементарный калькулятор", вариант №3 }
program SimpleCalc;
var
a, b: Integer; { Переменные-целочисленные операнды }
op: Char; { Переменная-символ арифметической операции }
begin
{ Получаем исходные данные}
write('Введите операнды a и b (через пробел): ');
readln(a, b);
write('Введите операцию (+, -, *, /): ');
readln(op);
{ Выполняем операцию и выводим результат }
case op of
'+': writeln(a,' + ', b, ' = ', a + b);
'-': writeln(a,' - ', b, ' = ', a - b);
'*': writeln(a,' * ', b, ' = ', a * b);
'/': if b <> 0 then { На ноль мы делить не умеем }
writeln(a,' / ', b, ' = ', a / b)
else
writeln('Операция деления на ноль не определена!');
else
writeln('Неизвестная операция!')
end
end.