Премини към съдържанието
rusrusrus

Помощ за рекурсивна програма

Препоръчан отговор


Здравейте, сетих се, че бях изпуснал някои задачки от урока за рекурсия, тъй като не можех да се справя с тях.Сега се сетих за една от тях и тя е следната : 

 Да се напише програма, която въвежда от клавиатурата без грешка булев израз от вида

<булев_израз> ::= t|f|

  <операция>(<операнди>)

<операция> ::= n | a | o

<операнди> ::= <операнд>|

<операнд>, <операнди>

<операнд> ::= <булев_израз>,

където t и f означават истина и лъжа съответно, n има само един операнд, а a и o могат да имат произволен брой операнди и означават съответно логическо отрицание, конюнкция и дизюнкция. Програмата намира и извежда стойността на булевия израз. Да се напише програма, която въвежда от клавиатурата без грешка булев израз от вида

<булев_израз> ::= t|f|

  <операция>(<операнди>)

<операция> ::= n | a | o

<операнди> ::= <операнд>|

<операнд>, <операнди>

<операнд> ::= <булев_израз>,

където t и f означават истина и лъжа съответно, n има само един операнд, а a и o могат да имат произволен брой операнди и означават съответно логическо отрицание, конюнкция и дизюнкция. Програмата намира и извежда стойността на булевия израз.

Ще се радвам, ако някой може да ми помогне, тъй като като цяло тези задачки с въвеждане и пресмятане изобщо не ги усвоих добре, но като гледам решените примерни задачи мога да ги напиша.Тази обаче ми идва сложничка.

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Ми това е граматика. Трябва да напишеш парсър за тази граматика. Както и да напишеш алгоритъм, който обхожда дървото и пресмята резултатът. Последното ще стане най-лесно с обратен полски запис...

  • Харесва ми 1

Сподели този отговор


Линк към този отговор
Сподели в други сайтове

Регистрирайте се или влезете в профила си за да коментирате

Трябва да имате регистрация за да може да коментирате това

Регистрирайте се

Създайте нова регистрация в нашия форум. Лесно е!

Нова регистрация

Вход

Имате регистрация? Влезте от тук.

Вход

×

Информация

Поставихме бисквитки на устройството ви за най-добро потребителско изживяване. Можете да промените настройките си за бисквитки, или в противен случай приемаме, че сте съгласни с нашите условия за ползване.