Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 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
<Ввод>
=
<Ввод>

Ведь на порядок проще реализовать&#133


 
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
15-1193824197
Jeer
2007-10-31 12:49
2007.12.02
Утилиты, макросы


6-1175239084
Xerx
2007-03-30 11:18
2007.12.02
Альтернатива NetSessionDel


2-1194000155
Ega23
2007-11-02 13:42
2007.12.02
как такой AV ловить?


15-1193307568
Валентин
2007-10-25 14:19
2007.12.02
смогу ли я быть программистом


2-1194519342
allucard
2007-11-08 13:55
2007.12.02
Работа с массивом





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский