Задача 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
- 879 reads
vedro-compota
Sun, 12/12/2021 - 13:08
Permalink
засчитано
засчитано
_____________
матфак вгу и остальная классика =)