Задача 7 Урок 18
Primary tabs
На вход вашей программы подается строка вида:
например:1 + 3или
2 - 12Напишите программу, которая разбирает вычисляет результат этого приложения
(сделайте поддержку операций сложения и вычитания).
var inputString: string; function algebra(num1, num2: integer; char1: string): integer; begin if (char1 = '+') then result := num1 + num2 else if (char1 = '-') then result := num1 - num2 else result := num1; end; procedure getNumsAndChar(inputString: string); var num1, num2, loopCount, errorCode: integer; char1: string; toString1, toString2: string; flag: boolean; begin num1 := 0; num2 := 0; flag := true; toString1 := ''; toString2 := ''; char1 := ''; for loopCount := 1 to length(inputString) do begin if (inputString[loopCount] >= '0') and (inputString[loopCount] <='9') and flag then toString1 := toString1 + inputString[loopCount] else if (inputString[loopCount] >= '0') and (inputString[loopCount] <= '9') and not flag then toString2 := toString2 + inputString[loopCount] else if (inputString[loopCount] = '+') or (inputString[loopCount] = '-') and not flag then char1 := char1 + inputString[loopCount] else if flag then flag := false; end; val(toString1, num1, errorCode); val(toString2, num2, errorCode); writeln(algebra (num1, num2, char1)); end; begin writeln('Введите строку'); readln(inputString); getNumsAndChar(inputString); readln(); end.
КОНСОЛЬ
Введите строку 159 + 1 160
- Log in to post comments
- 626 reads
vedro-compota
Sun, 12/12/2021 - 13:08
Permalink
засчитано
засчитано
_____________
матфак вгу и остальная классика =)