Текущий архив: 2007.12.02;
Скачать: CL | DM;
Вниз
Консольный калькулятор Найти похожие ветки
← →
Masher (2007-11-05 07:44) [0]Здравствуйте, подскажите, плз, как сделать консольный калькулятор в Delphi? Интересует реализация простых арифметических операций, примера найти не удалось, а у самой сложности.
← →
Юрий Зотов © (2007-11-05 07:48) [1]Вариант 1.
Найти готовый строчный калькулятор, в Сети их полно.
Вариант 2.
Изучить теорию синтаксического анализа и написать самостоятельно. Задавая здесь конкретные вопросы, а не вопросы типа "как написать программу".
← →
Anatoly Podgoretsky © (2007-11-05 08:42) [2]> Юрий Зотов (05.11.2007 07:48:01) [1]
Ты помнишь чем вариант два кончился :-)
← →
Kolan © (2007-11-05 10:59) [3]> Вариант 2.
А че обязательно решать 2+2 на калькуляторе?
Вариант:
2
<Ввод>
+
<Ввод>
2
<Ввод>
=
<Ввод>
Ведь на порядок проще реализовать…
← →
Zeqfreed © (2007-11-05 11:00) [4]> Юрий Зотов © (05.11.07 07:48) [1]
Может там гораздо проще все? Без синтаксического анализа.
← →
Anatoly Podgoretsky © (2007-11-05 11:19) [5]А пусть сначала озвучит учебное задание и ТЗ
← →
Юрий Зотов © (2007-11-05 11:44) [6]> Anatoly Podgoretsky © (05.11.07 08:42) [2]
Насколько помню, он кончился тем,что чуть ли не десяток человек взялись доказывать, что напишут калькулятор без всякой теории - но из всех написанных ими программ только одна работала более-менее прилично, да и то, чтобы этого добиться, потребовалось пара месяцев и тестирование всем форумом. В тот время, как с теорией эта штука пишется за день и без глюков.
← →
Efir (2007-11-05 12:51) [7]В нете на эту тему тонны информации. Поищи информацию на тему обратной польской записи и если разберёшся, то задачка будет решена за
> день и без глюков
.
← →
Однокамушкин (2007-11-05 12:59) [8]
> Efir (05.11.07 12:51) [7]
>
> Поищи информацию на тему обратной польской записи
Вот объясните, ну на фига тут польская запись, хоть прямая, хоть обратная? Сначала написать анализатор, который переведёт инфиксную запись в постфиксную, а потом ещё один, который считает выражение в постфиксной записи... Зачем? Анализатор, непосредственно вычисляющий выражение в инфиксной записи пишется даже чуть-чуть легче, чем переврдящий инфиксную запись в постфиксную - блок анализа строки там тот же самый, а сложить два числа легче, чем заботиться об их размещении в стеке
← →
korneley © (2007-11-05 13:08) [9]
>на фига тут польская запись
>...
> сложить два числа легче, чем заботиться об их размещении
> в стеке
А как учесть приоритет операций? Не говоря уж о скобках.
← →
Однокамушкин (2007-11-05 13:19) [10]
> korneley © (05.11.07 13:08) [9]
> А как учесть приоритет операций? Не говоря уж о скобках.
Дык их что при непосредственном вычислении, что при переводе в постфиксную запись по любому приходится учитывать... Это вот если пользователя заставить сразу вводить всё в постфиксной записи, тогда да, всё просто, но я бы на месте преподавателя такой калькулятор бы не принял
← →
Юрий Зотов © (2007-11-05 13:48) [11]> korneley © (05.11.07 13:08) [9]
> А как учесть приоритет операций? Не говоря уж о скобках.
Если БНФ расписаны грамотно, то приоритет и скобки учитываются автоматически.
← →
TUser © (2007-11-05 16:04) [12]Для простого калькулятора нужно только уметь переводить в обратную польскую. В полном объеме все эти грамматики и формы не требуются. Пишется за три часа.
← →
Masher (2007-11-06 03:15) [13]Так всё-таки, что мне использовать? ОПЗ?
← →
Германн © (2007-11-06 03:31) [14]
> Masher (06.11.07 03:15) [13]
>
> Так всё-таки, что мне использовать? ОПЗ?
>
Кстати ОПЗ в любом случае полезно освоить.
А по сабжу, ответь сначала на
> Anatoly Podgoretsky © (05.11.07 11:19) [5]
← →
Masher (2007-11-06 09:23) [15]Задание вот:
" Написать программу в Delphi «консольный калькулятор».
• «Калькулятор», должен вычислять основные арифметические операции.
• Операнды и операции вводятся в одной строке.
• Выход из «Калькулятора», по команде "exit".
• Для получения оценки «хорошо»:
o добавить в «калькулятор» тригонометрические функции (sin, cos);
o «калькулятор» должен корректно обрабатывать ошибки (н-р: ввод символов вместо цифр, лишние пробелы).
• Для получения оценки «отлично»:
o Выражение, которое необходимо вычислить, вводится в качестве параметра(ов) командной строки."
Мне совет дельный дайте, плз, как подступиться.
← →
Ins © (2007-11-06 15:01) [16]
> Юрий Зотов ©
> Изучить теорию синтаксического анализа и написать самостоятельно.
На Королевстве была статья на эту тему, можно начать с нее:
http://www.delphikingdom.com/asp/viewitem.asp?catalogid=10
← →
Сергей М. © (2007-11-06 15:04) [17]
> как подступиться.
Со стороны какой оценки ?)
Страницы: 1 вся ветка
Текущий архив: 2007.12.02;
Скачать: CL | DM;
Память: 0.48 MB
Время: 0.056 c