Строка содержит арифметическое выражение из двух чисел - выполнить его - Pascal ABC

Узнай цену своей работы

Формулировка задачи:

Строка содержит арифмитическое выражение из двух чисел, между которыми стоит арифмитический знак(+ или -). Написать программу, которая позволяет ввести строку, выполнить данное арифмитическое действие и вывести результат. т.е. ввожу "15+2", мне выводит "17" С числами до 9 я справился, а вот если уже двузначные, то тут проблемы.

Решение задачи: «Строка содержит арифметическое выражение из двух чисел - выполнить его»

textual
Листинг программы
procedure sum(s1, s2: string; var r2: string);
var
  zap, cod, t1, t2, i: integer;
  r, r1: string;
begin
  zap := 0;
  r2 := '';
  if length(s2) < length(s1) then 
  begin
    for i := 1 to length(s1) - length(s2) do s2 := '0' + s2;
  end;
  for i := length(s1) downto 1 do
  begin
    val(s1[i], t1, cod);
    val(s2[i], t2, cod);
    t1 := t1 + t2 + zap;
    str(t1, r);
    if length(r) < 2 then begin r2 := r + r2; zap := 0; end
    else begin
      r2 := r[2] + r2;
      r1 := r[1];
      val(r1, zap, cod);
      
    end;
  end;
  if zap <> 0 then r2 := zap + r2;
 
end;

Объяснение кода листинга программы

  1. Создается процедура sum с тремя параметрами: s1, s2 и r2 типа string, и одной переменной типа integer, называемой zap.
  2. Переменная zap инициализируется значением 0.
  3. Переменная r2 инициализируется пустой строкой.
  4. Если длина строки s2 меньше длины строки s1, то к каждому символу строки s2 добавляется символ '0'.
  5. Для каждого символа строки s1, начиная с последнего (с индексом len(s1)-1), выполняется следующая последовательность действий:
    • Вычисляется значение переменной t1, равное сумме значений переменных t1 и t2.
    • Вычисляется значение переменной t2, равное сумме значений переменных t1 и t2.
    • Значение переменной t1 присваивается переменной r.
    • Значение переменной t2 присваивается переменной r.
    • Если длина строки r меньше или равна 2, то к строке r добавляется строка r2.
    • Значение переменной zap присваивается сумме значений переменных t1 и t2.
  6. Если значение переменной zap не равно 0, то к строке r добавляется строка zap.
  7. Процедура заканчивается.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 3.571 из 5
Похожие ответы