![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 09.04.2011
Сообщений: 134
|
![]()
Задали такое задание: написать программу, считывающую входную строку в форме обратной польской записи и производящую вычисления простых арифметических и логических выражений, которые состоят из однобуквенных операндов, логических и арифметических операций. Значения однобуквенных операторов можно ввести в диалоге, а можно оператором присваивания.
т.е ,например у нас есть строка в ОПЗ ABCDE-+, пользователь должен ввести значение А,В,С,D,Е или задать их в программе, и программа должна вывести результат этих вычислений. Если честно не понял вообще, как это можно реализовать на делфи. Что такое ОПЗ вроде понимаю, но на делфи написать не могу. ![]() |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
во-первых, в Обратной Польской Записи
Код:
ну явно же операций НЕ ХВАТАЕТ. посчитается D - E + C. переменные A и B останутся в стеке невостребованными (что, разумеется, недопустимо) во-вторых, обратную польскую запись и придумали как раз для того, чтобы упростить вычисление выражений. В этой форме нет никаких приоритетов, скобок и прочей сложности, как в инфиксной форме записи. Знай себе засовывай операнды в стек, да вытаскивай их оттуда по мере необходимости. в этой части программа не вызовет вообще никаких сложностей. в-третьих, каким образом задаётся выражение? (вводится строка?), и, главное, каким образом оператор будет вводить в программу значение переменных? (в принципе, конечно, это тоже несложно, но надо продумать алгоритм/интерфейс взаимодействия программы и оператора) |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Обратная польская запись C++ | nurgayin | Помощь студентам | 0 | 24.03.2011 18:48 |
Обратная польская запись | CodeNOT | Общие вопросы C/C++ | 2 | 13.12.2010 22:54 |
Обратная польская запись | alexobenikov | Общие вопросы C/C++ | 12 | 25.11.2010 23:03 |
Обратная польская запись | Катуха | Помощь студентам | 6 | 27.12.2008 10:23 |
Обратная польская запись | Роман Радер | Общие вопросы Delphi | 0 | 09.12.2008 18:18 |