Программирование (фото с сайта pixabay.com)

Программа «Элементарный калькулятор» (Pascal)

Примеры

Варианты решений задачки №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.

Добавить комментарий

Ваш адрес email не будет опубликован.