| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Общие вопросы > Turbo C++ v.3.0 |
| Автор: Серега 23.10.2004, 10:29 |
| Начну попорядку. В универе мне дали задачку, нерешив которую я могу вылететь с универа в два счета! Все бы ничего, но преподователь очень скупой на объяснения Честно говоря я не могу допереть что такое польская запись ! Весь С++ облазил, не могу найти как войти в графический режим через который нужно нарисовать калькулятор - все это происходит только на Turbo C++ v.3.0 под DOS ! [b]Помогите начинающему программисту - подскажите, дайте сслочки на данный материал, а то я уже всех знакомых опросил и кучу книг просмотрел - ничего о польском калькуляторе даже слова ненашел ! Если можно поподробнее, буду очень рад если выложите весь код программы ! Заранее благодарен ![/b] |
| Автор: mr.DUDA 23.10.2004, 10:55 |
| Похоже, что под польской записью имеется ввиду порядок ввода информации. Например, для вычисления "2+3", нужно ввести сначала "2", потом "3", потом "+". Другими словами, операнды для вычисления выражения помещаются в стек, а операция достаёт их из стека парами (либо только один - как в случае логарифма, синуса и т.п.). |
| Автор: Step 23.10.2004, 11:13 |
| кстати по подобной теме уже был разговор только не помню как тема называеться |
| Автор: oleg1973 23.10.2004, 11:46 |
| http://www.univer.omsk.su/students/m84/docs/pol_zap.html |
| Автор: S.A.P. 24.10.2004, 03:04 |
| А что, обязятельно в графическом режиме делать? Может преподу еще с мышью надо? |
| Автор: Серега 24.10.2004, 08:32 |
| Да, |
| Автор: Серега 24.10.2004, 18:00 |
| Ну че, я смотрю не кто не жаждет мне помогать Похоже меня всетаки сгребут в армейку Может кто-нибудь знает где можно заказать праграмму ? |
| Автор: S.A.P. 24.10.2004, 18:34 |
| Серега а в чем, собственно, проблема в понимании польской записи, или в программировании интерфейса? |
| Автор: Crait 24.10.2004, 19:02 | ||||
Вот, лови
Вот если б на Билдере можно было... А в досе неохота с кнопочками возиться... |
| Автор: Orion 25.10.2004, 08:52 |
| Возьми BC++ 3.1, там просто готовый пример калькулятора. |
| Автор: Серега 25.10.2004, 15:51 |
| Вся проблема в том, что я не могу войти в режим "рисования" калькулятора, поддержка мыши и т.п. Кстати Орион где твм калькулятор взять можно. А в интернете никто не знает где по этому вопросу информации наловить можно ? |
| Автор: 12 26.10.2004, 09:30 |
| Все просто, прямо с дистрибутивом идут примеры, в них и должен быть калькулятор. Orion тебе об этом уже сказал. Ну и к тому же задачка то ... |
| Автор: Orion 26.10.2004, 12:18 |
| Обычно вот тут :-) 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 |
| Автор: Серега 27.10.2004, 16:11 |
| Помогите ! |
| Автор: Mikel47 27.10.2004, 16:47 |
| Обратная (постфиксная) польская запись — очень удобная для вычисления выражений форма записи операций и операндов. Эта форма предусматривает, что знаки операций записываются после операндов. Обратная польская запись — это постфиксная запись операций. Она была предложена польским математиком Я. Лукашевичем. В этой записи знаки операций записываются непосредственно за операндами. По сравнению с обычной (инфиксной) записью операций в польской записи операнды следуют в том же порядке, а знаки операций — строго в порядке их выполнения. Польская запись не требует учитывать приоритет операций, в ней не употребляются скобки, и в этом ее основное преимущество. Она чрезвычайно эффективна в тех случаях, когда для вычислений используется стек. Главный недостаток обратной польской записи также проистекает из метода вычисления выражений в ней: поскольку используется стек, то для работы с ним всегда доступна только верхушка стека, а это делает крайне затруднительной оптимизацию выражений в форме обратной польской записи. Практически выражения в форме обратной польской записи почти не поддаются оптимизации. Обратная польская запись была предложена первоначально для записи арифметических выражений, но не только. В компиляторе можно порождать код в форме обратной польской записи для вычисления практически любых выражений. Для этого достаточно ввести знаки, предусматривающие вычисление соответствующих операций. Вычисление выражений в обратной польской записи идет элементарно просто с помощью стека. Для этого выражение просматривается в порядке слева направо, и встречающиеся в нем элементы обрабатываются по следующим правилам: 1. Если встречается операнд, то он помещается в стек (попадает на верхушку стека). 2. Если встречается знак унарной операции (операции, требующей одного операнда), то операнд выбирается с верхушки стека, операция выполняется и результат помещается в стек (попадает на верхушку стека). 3. Если встречается знак бинарной операции (операции, требующей Двух операндов), то два операнда выбираются с верхушки стека, операция выполняется и результат помещается в стек (попадает на верхушку стека). Вычисление выражения заканчивается, когда достигается конец записи выражения. Результат вычисления при этом всегда находится на верхушке стека. ------------------------------------------------------------------------------------------------ |
| Автор: Серега 29.10.2004, 17:21 |
| Ладно, с поляками я вроде разобрался, а вот как зайти в режим поподробнее напишите не могу войти и в инете ничего не нашел ! |
| Автор: Mikel47 29.10.2004, 19:19 |
| Ну тебе же Crait все написал, что еще то нужно? |
| Автор: Серега 14.11.2004, 16:31 |
| Crait это вход в графический режим ? у меня ничего не происходит ! А вообще что должно быть ? Типа paint или рисовать коммандами, если да то какими ? |
| Автор: Crait 18.11.2004, 11:53 | ||
А что должно происходить на твой взгляд Да, switch_to_graph_mode() - переключение в графический режим, switch_to_text_mode() - соответственно, в текстовый. Если не будет получаться, скопируй egavga.bgi в каталог твоей программы. Какими рисовать командами ? - ты б в книжку, чтоли, заглянул, или хотя бы в пример bgidemo, что идет вместе с компилятором. |