Напишите программу, которая вычисляет выражение, состоящее из трех чисел и двух знаков (допускаются только знаки «+» или «–»). Выражение вводится как символьная строка, все числа целые.Информатика 10 класс, Паскаль тема «Символьные строки»
Пример:
Введите выражение:
12-3+45
ответ: 54​

alusykapogo alusykapogo    3   22.04.2020 17:18    66

Ответы
crystalrain crystalrain  21.01.2024 07:29
Хорошо! Вот решение:

```pascal
Program CalculateExpression;
var
expression: String;
number1, number2, number3, result: Integer;
begin
// Шаг 1: Ввод выражения
Write('Введите выражение: ');
Readln(expression);

// Шаг 2: Разбиение выражения на числа и знаки
number1 := StrToInt(Copy(expression, 1, Pos('-', expression)-1));
number2 := StrToInt(Copy(expression, Pos('-', expression)+1, Pos('+', expression)-Pos('-', expression)-1));
number3 := StrToInt(Copy(expression, Pos('+', expression)+1, Length(expression)));

// Шаг 3: Вычисление результата
if Pos('-', expression) > 0 then
result := number1 - number2 + number3
else
result := number1 + number2 + number3;

// Шаг 4: Вывод результата
Writeln('Ответ: ', result);
end.
```

Объяснение решения:
1. В начале программы мы объявляем переменные: `expression` для ввода выражения, `number1`, `number2` и `number3` для хранения чисел в выражении, и `result` для хранения итогового результата.
2. Шаг 1: Мы просим пользователя ввести выражение и сохраняем его в переменную `expression`.
3. Шаг 2: Мы разбиваем строку `expression` на три числа (`number1`, `number2` и `number3`) с помощью функции `Copy`. Мы находим позицию первого знака "-", затем позицию следующего знака "+" (если он есть), и вырезаем соответствующие подстроки, чтобы получить числа.
4. Шаг 3: Мы вычисляем результат, проверяя, содержит ли строка `expression` знак "-". Если да, то мы вычитаем `number2` из `number1` и прибавляем `number3`. Если нет, то мы складываем все три числа.
5. Шаг 4: Мы выводим результат на экран с помощью функции `Writeln`.

Такая программа позволит решить задачу и получить ответ на вопрос.
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика