Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2010.02.21;
Скачать: CL | DM;

Вниз

Помогите, пожалуйста с префиксной формой...   Найти похожие ветки 

 
POOP   (2009-12-19 22:22) [0]

У меня задание вычислить выражение в префиксной форме... В список операций входит унарный минус... Вопрос в том, как отличить унарный минус от обычного минуса?


 
Hamster ©   (2009-12-19 22:25) [1]

Либо обозначить как-то по-другому, либо "-x" = "0 - x".


 
имя   (2009-12-19 22:34) [2]

Удалено модератором


 
Юрий Зотов ©   (2009-12-19 22:54) [3]

Насколько помню, если при считывании знака операции на стеке лежит только один операнд (а не два), то это унарная операция.

AB+-

Изначально стек пустой.
1. Читаем A, кладем на стек.
2. Читаем B, кладем на стек.
3. Читаем +, берем со стека A и B, вычисляем S=A+B, кладем на стек.
4. Читаем -, берем со стека S, выполняем -S, кладем на стек.
5. Выражение кончилось, результат - на стеке.

При выполнении п.4 на стеке лежал только один операнд - значит, это унарный минус.


 
Юрий Зотов ©   (2009-12-19 23:16) [4]

Это для постфиксной формы, конечно. Для префиксной - аналогично: если перед выполнением операции имеем только один операнд, то это унарная операция.


 
oxffff ©   (2009-12-19 23:36) [5]


> POOP   (19.12.09 22:22)  
> У меня задание вычислить выражение в префиксной форме...
>  В список операций входит унарный минус... Вопрос в том,
>  как отличить унарный минус от обычного минуса?


Какой у тебя разбор?
Нисходящий или восходящий?

Если нисходящий, то смотришь какой у тебя был предыдущий токен.
Если это оператор,левая скобка, знак присвоения,запятая, то это унарный минус.


 
oxffff ©   (2009-12-19 23:37) [6]


> восходящий


Если восходящий, то там не таких проблем.
При конфликтах перенос/свертка назначаешь приоритеты терминалам, которые наследуются продукциями.


 
Anatoly Podgoretsky ©   (2009-12-20 00:52) [7]

> POOP  (19.12.2009 22:22:00)  [0]

а чем они отличаются, надеюсь ты не про операцию вычитания говоришь?



Страницы: 1 вся ветка

Текущий архив: 2010.02.21;
Скачать: CL | DM;

Наверх




Память: 0.46 MB
Время: 0.006 c
15-1260368206
medic357
2009-12-09 17:16
2010.02.21
Задачки


15-1258133607
М. Береговой
2009-11-13 20:33
2010.02.21
Электроны сталкиваются?


15-1260708905
SergP
2009-12-13 15:55
2010.02.21
Как узнать Product key установленной винды XP


15-1260782130
Максимильянов
2009-12-14 12:15
2010.02.21
кодировка в Opera


1-1238433962
Enlight
2009-03-30 21:26
2010.02.21
"Правильная" идентификация события ухода мыши с формы.





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский