задача 7 урок 18
Primary tabs
На вход вашей программы подается строка вида:
например:1 + 3или
2 - 12Напишите программу, которая разбирает вычисляет результат этого приложения (сделайте поддержку операций сложения и вычитания).
program task_7_lesson_18; // разбиваю на 3 строки procedure strok(s: string; var chislo1, chislo2, znak: string); var i: integer; begin for i := 1 to length(s) do begin if ((s[i] >= '0') and (s[i] <= '9')) then chislo2 := chislo2 + s[i] else if (s[i] <> ' ') then begin znak := s[i]; chislo1 := chislo2; chislo2 := ''; end; end; end; function operat(s1, s2, znak: string) : integer; // выполняю операцию var n, n1, code: integer; begin val(s1, n, code); val(s2, n1, code); if (znak = '+') then result := n + n1 else if (znak = '-') then result := n - n1 else write('ERROR'); end; var s, chislo1, chislo2: string; znak: string; otvet: integer; begin chislo1 := ''; chislo2 := ''; znak := ''; readln(s); strok(s, chislo1, chislo2, znak); otvet := operat(chislo1, chislo2, znak); writeln(otvet); readln end.
Консоль
567 + 45 612
- Log in to post comments
- 580 reads