![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
Серега |
|
|||
Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 17.10.2004 Репутация: нет Всего: нет |
Начну попорядку. В универе мне дали задачку, нерешив которую я могу вылететь с универа в два счета! Все бы ничего, но преподователь очень скупой на объяснения
![]() ![]() Честно говоря я не могу допереть что такое польская запись ! Весь С++ облазил, не могу найти как войти в графический режим через который нужно нарисовать калькулятор - все это происходит только на Turbo C++ v.3.0 под DOS ! [b]Помогите начинающему программисту - подскажите, дайте сслочки на данный материал, а то я уже всех знакомых опросил и кучу книг просмотрел - ничего о польском калькуляторе даже слова ненашел ! Если можно поподробнее, буду очень рад если выложите весь код программы ! ![]() Заранее благодарен ![/b] |
|||
|
||||
mr.DUDA |
|
|||
![]() 3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 25 Всего: 232 |
Похоже, что под польской записью имеется ввиду порядок ввода информации. Например, для вычисления "2+3", нужно ввести сначала "2", потом "3", потом "+". Другими словами, операнды для вычисления выражения помещаются в стек, а операция достаёт их из стека парами (либо только один - как в случае логарифма, синуса и т.п.).
-------------------- ![]() |
|||
|
||||
Step |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5151 Регистрация: 26.9.2002 Где: дурдом.UA Репутация: 5 Всего: 25 |
кстати по подобной теме уже был разговор только не помню как тема называеться
-------------------- - Дурак учится на своих ошибках, умный на чужих. - умные учатся у дураков |
|||
|
||||
oleg1973 |
|
|||
![]() asm fanat ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3283 Регистрация: 16.7.2003 Где: Italy Репутация: 1 Всего: 34 |
-------------------- SST 465555 icq 200-512-712 |
|||
|
||||
S.A.P. |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2664 Регистрация: 11.6.2004 Репутация: 9 Всего: 71 |
А что, обязятельно в графическом режиме делать? Может преподу еще с мышью надо?
![]() Это сообщение отредактировал(а) Perchilla - 24.10.2004, 03:08 |
|||
|
||||
Серега |
|
|||
Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 17.10.2004 Репутация: нет Всего: нет |
Да,
![]() ![]() |
|||
|
||||
Серега |
|
|||
Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 17.10.2004 Репутация: нет Всего: нет |
Ну че, я смотрю не кто не жаждет мне помогать
![]() Похоже меня всетаки сгребут в армейку ![]() Может кто-нибудь знает где можно заказать праграмму ? ![]() |
|||
|
||||
S.A.P. |
|
|||
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2664 Регистрация: 11.6.2004 Репутация: 9 Всего: 71 |
Серега а в чем, собственно, проблема в понимании польской записи, или в программировании интерфейса?
|
|||
|
||||
Crait |
|
||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 244 Регистрация: 20.2.2003 Репутация: нет Всего: 1 |
Вот, лови
Вот если б на Билдере можно было... А в досе неохота с кнопочками возиться... Это сообщение отредактировал(а) Crait - 24.10.2004, 19:03 |
||||
|
|||||
Orion |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 25.10.2004 Где: Novosibirsk Репутация: нет Всего: нет |
Возьми BC++ 3.1, там просто готовый пример калькулятора.
|
|||
|
||||
Серега |
|
|||
Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 17.10.2004 Репутация: нет Всего: нет |
Вся проблема в том, что я не могу войти в режим "рисования" калькулятора, поддержка мыши и т.п.
![]() ![]() ![]() Кстати Орион где твм калькулятор взять можно. ![]() А в интернете никто не знает где по этому вопросу информации наловить можно ? ![]() |
|||
|
||||
12 |
|
|||
Unregistered |
Все просто, прямо с дистрибутивом идут примеры, в них и должен быть калькулятор. Orion тебе об этом уже сказал. Ну и к тому же задачка то ...
![]() |
|||
|
||||
Orion |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 25.10.2004 Где: Novosibirsk Репутация: нет Всего: нет |
Обычно вот тут :-)
Directory of D:\BC\EXAMPLES\TCALC . <DIR> 29/03/00 18:17 .. <DIR> 29/03/00 18:17 TCALC C 3 626 10/06/92 3:10 TCALC DOC 2 178 10/06/92 3:10 TCALC H 7 791 10/06/92 3:10 TCALC PRJ 5 792 10/06/92 3:10 TCDISPLY C 6 692 10/06/92 3:10 TCINPUT C 4 233 10/06/92 3:10 TCOMMAND C 18 982 10/06/92 3:10 TCPARSER C 12 234 10/06/92 3:10 TCUTIL C 15 130 10/06/92 3:10 TCALC MAK 1 043 04/11/02 11:33 12 file(s) 77 701 bytes |
|||
|
||||
Серега |
|
|||
Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 17.10.2004 Репутация: нет Всего: нет |
Помогите !
![]() ![]() |
|||
|
||||
Mikel47 |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 30 Регистрация: 18.9.2004 Репутация: нет Всего: нет |
Обратная (постфиксная) польская запись — очень удобная для вычисления выражений форма записи операций и операндов. Эта форма предусматривает, что знаки операций записываются после операндов. Обратная польская запись — это постфиксная запись операций. Она была предложена польским математиком Я. Лукашевичем. В этой записи знаки операций записываются непосредственно за операндами. По сравнению с обычной (инфиксной) записью операций в польской записи операнды следуют в том же порядке, а знаки операций — строго в порядке их выполнения. Польская запись не требует учитывать приоритет операций, в ней не употребляются скобки, и в этом ее основное преимущество. Она чрезвычайно эффективна в тех случаях, когда для вычислений используется стек. Главный недостаток обратной польской записи также проистекает из метода вычисления выражений в ней: поскольку используется стек, то для работы с ним всегда доступна только верхушка стека, а это делает крайне затруднительной оптимизацию выражений в форме обратной польской записи. Практически выражения в форме обратной польской записи почти не поддаются оптимизации. Обратная польская запись была предложена первоначально для записи арифметических выражений, но не только. В компиляторе можно порождать код в форме обратной польской записи для вычисления практически любых выражений. Для этого достаточно ввести знаки, предусматривающие вычисление соответствующих операций. Вычисление выражений в обратной польской записи идет элементарно просто с помощью стека. Для этого выражение просматривается в порядке слева направо, и встречающиеся в нем элементы обрабатываются по следующим правилам: 1. Если встречается операнд, то он помещается в стек (попадает на верхушку стека).
2. Если встречается знак унарной операции (операции, требующей одного операнда), то операнд выбирается с верхушки стека, операция выполняется и результат помещается в стек (попадает на верхушку стека). 3. Если встречается знак бинарной операции (операции, требующей Двух операндов), то два операнда выбираются с верхушки стека, операция выполняется и результат помещается в стек (попадает на верхушку стека). Вычисление выражения заканчивается, когда достигается конец записи выражения. Результат вычисления при этом всегда находится на верхушке стека. ------------------------------------------------------------------------------------------------ |
|||
|
||||
Серега |
|
|||
Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 17.10.2004 Репутация: нет Всего: нет |
Ладно, с поляками я вроде разобрался, а вот как зайти в режим поподробнее напишите не могу войти и в инете ничего не нашел !
![]() |
|||
|
||||
Mikel47 |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 30 Регистрация: 18.9.2004 Репутация: нет Всего: нет |
Ну тебе же Crait все написал, что еще то нужно?
|
|||
|
||||
Серега |
|
|||
Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 17.10.2004 Репутация: нет Всего: нет |
Crait это вход в графический режим ? у меня ничего не происходит !
А вообще что должно быть ? Типа paint или рисовать коммандами, если да то какими ? ![]() |
|||
|
||||
Crait |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 244 Регистрация: 20.2.2003 Репутация: нет Всего: 1 |
А что должно происходить на твой взгляд ![]() Да, switch_to_graph_mode() - переключение в графический режим, switch_to_text_mode() - соответственно, в текстовый. Если не будет получаться, скопируй egavga.bgi в каталог твоей программы. Какими рисовать командами ? - ты б в книжку, чтоли, заглянул, или хотя бы в пример bgidemo, что идет вместе с компилятором. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |