|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
07.06.2009, 23:19 | #1 |
Новичок
Джуниор
Регистрация: 07.06.2009
Сообщений: 13
|
Задача на рекурсию((
Во входном файле задан текст,за которым следует точка. Проверить является ли этот текст правильной записью "формулы":
<формула>::=<цифра>|(<формула><знак ><формула>) <знак>::=+|-|* <цифра>::=0|1|2|3|4|5|6|7|8|9 пожалуйста,если кто знает,как решить эту задачу,напишите код... |
07.06.2009, 23:57 | #2 |
Новичок
Джуниор
Регистрация: 07.06.2009
Сообщений: 13
|
ну неужели совсем никто не знает как это сделать?((((
|
08.06.2009, 00:04 | #3 |
Форумчанин
Регистрация: 29.05.2009
Сообщений: 384
|
(<формула><знак ><формула>) - что значит формула?
|
08.06.2009, 00:16 | #4 |
Новичок
Джуниор
Регистрация: 07.06.2009
Сообщений: 13
|
да я сама не понимаю(((завтра уточню у препода и напишу,ок?
|
08.06.2009, 00:29 | #5 |
Особый статус
Участник клуба
Регистрация: 24.11.2008
Сообщений: 1,535
|
Перевожу на русский.
Проверить — убедиться, что это формула (либо сообщить: "Нет, не формула"). <цифра>::=0|1|2|3|4|5|6|7|8|9 Здесь говорится, что операнд (если вам понятней — предикат) <цифра> — это 0 или 1 или 2 или 3 или... <знак>::=+|-|* Знак — это "плюс" либо "минус" либо "умножить". А если честно, то | значит "или". Ну куда уж тут подробнее?
Формула 1 (календарь чемпионата-2016): 26.11.2016 15:55 — Абу-Даби: http://ru.wikipedia.org/wiki/Гран-при_Абу-Даби — (квалификация)! Эфир: http://lion-tv.com/28-match-tv.html
Последний раз редактировалось Sasha_Smirnov; 08.06.2009 в 01:05. |
08.06.2009, 00:34 | #6 |
Новичок
Джуниор
Регистрация: 07.06.2009
Сообщений: 13
|
если чесно,мне это ни о чём не говорит(((можно поподробнее...
|
08.06.2009, 09:51 | #7 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
1) не сказано на каком языке реализовывать
2) если делать всё по науке, то надо привлекать теорию построения компиляторов читайте тут - http://www.codenet.ru/progr/alg/cons/001.php и тут http://forum.ishodniki.ru/index.php?topic=14022.0 или поиском - на yandex 3) в Вашем случае можно реализовать обработку и без использования теории - можно разбирать код и, как только встретили недопустимый в данном месте символ - сразу выдавать ошибку и выходить. Например. в вашем случае <формула> ВСЕГДА должна начинаться с цифры или открывающей круглой скобки. после цифры может идти либо цифра (значит продолжается запись числа, начатого на предыдущем шаге), либо <знак арифметической операции> После круглой скобки может идти формула (это либо цифра, либо открывающая круглая скобка). после знака операции должна быть формула.... и т.д. надеюсь, что я больше помог, чем запутал... удачи. Последний раз редактировалось Serge_Bliznykov; 08.06.2009 в 09:57. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Java Вычислить, используя рекурсию. | Лучик2009 | Помощь студентам | 0 | 28.04.2009 22:14 |
Задача про учеников на рекурсию | Lion_paint | Помощь студентам | 1 | 27.02.2009 19:21 |
Ошибка в программе на рекурсию | vitekbest | Помощь студентам | 13 | 14.06.2008 20:54 |
Задача на рекурсию. | KoHgpaT | Паскаль, Turbo Pascal, PascalABC.NET | 4 | 22.12.2006 20:49 |