С Новым годом! Форум программистов, компьютерный форум, киберфорум
PascalABC.NET
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.96/75: Рейтинг темы: голосов - 75, средняя оценка - 4.96
0 / 0 / 0
Регистрация: 01.03.2018
Сообщений: 3
1

Напишите программу, которая вычисляет значение арифметического выражения, записанного в постфиксной форме

05.03.2018, 15:06. Показов 14390. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Напишите программу, которая вычисляет значение арифметического выражения, записанного в постфиксной форме. В выражении используются только целые числа, знаки арифметических операций и вызовы функций abs , sin , cos и sqrt . Знак '/' обозначает обычное деление (результат – вещественное число).

Входные данные
На вход программы подаётся символьная строка, которая содержит запись арифметического выражения в постфиксной форме. Элементы постфиксной записи разделены пробелами.

Выходные данные
Программа должна вывести значение переданного ей выражения с точностью 3 знака в дробной части. Если выражение записано неверно, программа должна вывести слово 'ERROR'.

Примеры
входные данные
5 15 sqrt + 4 sin 7 cos sqrt + 1 - / abs
выходные данные
9.986
входные данные
5 sin 15 cos + 4 7 sqrt + 1 -
выходные данные
ERROR
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.03.2018, 15:06
Ответы с готовыми решениями:

Написать программу,которая вычисляет значение арифметического выражения записанного в постфиксной форме,с помощью стека
Написать программу,которая вычисляет значение арифметического выражения записанного в постфиксной...

Программа, которая вычисляет значения арифметического выражения, записанного в постфиксной форме, с помощью стека
Составить программу,которая вычисляет значения арифметического выражения, записанного в постфиксной...

Напишите программу вычисления выражения, записанного в постфиксной форме
напишите программу вычисления, записанного в постфиксной форме ( требуется писать через рекурсию )

Рекурсия: вычисление значения арифметического выражения, записанного в постфиксной форме
Разработайте рекурсивную функцию или процедуру для решения задачи. Составьте функцию,...

1
5084 / 2655 / 2350
Регистрация: 10.12.2014
Сообщений: 10,048
06.03.2018, 06:54 2
Лучший ответ Сообщение было отмечено Romani_park как решение

Решение

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
begin
  var a := ReadLnString.ToWords;
  var s := new Stack<real>;
  var val : Real;
  try
    foreach var v in a do
      if TryStrToFloat(v, val) then
        s.Push(val)
      else
        case v of
          'abs' : s.Push( abs( s.Pop ) );
          'sin' : s.Push( sin( s.Pop ) );
          'cos' : s.Push( cos( s.Pop ) );
          'sqrt': s.Push( sqrt( s.Pop) );
          String('+') : s.Push( s.Pop + s.Pop );
          String('-') : s.Push(-s.Pop + s.Pop );
          String('/') : s.Push(1 / s.Pop * s.Pop);
        else
          raise new Exception;
        end;
    if s.Count <> 1 then
      raise new Exception;
    WriteLn(s.Pop:0:3);
  except
    WriteLn('ERROR');
  end;
end.
0
06.03.2018, 06:54
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.03.2018, 06:54
Помогаю со студенческими работами здесь

Организовать функцию для вычисления арифметического выражения записанного в постфиксной форме
Нужна программа: Организовать функцию для вычисления арифметического выражения записанного в...

организовать функцию для вычисления арифметического выражения записанного в постфиксной форме
Нужна программа: Организовать функцию для вычисления арифметического выражения записанного в...

Вычислить значение выражения, записанного в постфиксной форме
Напишите программу, которая вычисляет значение арифметического выражения, записанного в постфиксной...

Функция вычисляющая значение выражения, записанного в постфиксной форме в текстовом файле
Описать функцию value (postfix), которая вычисляет как целое число значение выражения (без...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru