Помощничек
Главная | Обратная связь


Археология
Архитектура
Астрономия
Аудит
Биология
Ботаника
Бухгалтерский учёт
Войное дело
Генетика
География
Геология
Дизайн
Искусство
История
Кино
Кулинария
Культура
Литература
Математика
Медицина
Металлургия
Мифология
Музыка
Психология
Религия
Спорт
Строительство
Техника
Транспорт
Туризм
Усадьба
Физика
Фотография
Химия
Экология
Электричество
Электроника
Энергетика

Решение Рекурсивные функции. Работа со строками.



Функция Ф преобразования вектора целых k определяется следующим образом:

Ф(α) =

Отметим, что функция Ф может удлинять вектор. Реализовать функцию Ф с помощью рекурсивной процедуры.

Примеры: Ф(1, 2, 3, 4, 5, 6, 7, 8, 9) = 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9;

Ф(1, 2, 3, 4, 5, 6, 7, 8) = 1, 2, 3, 4, 5, 6, 7, 8.

Замечания по отладке программы

Первый прогон нужно выполнить с файлом 123. Для входа в функцию применить клавишу F11.

163. Построить синтаксический анализатор для понятия «предложение»:

предложение ::=

слово ::=

разделитель ::=

Математическая модель

Предложение является строкой состоящей из слов. Слова разделены одним или несколькими пробелами.

Нужно построить рекурсивные функции: Предложение, Слово и Разделитель. Для простоты примем, что буквы могут принадлежать только английскому алфавиту.

164. Построить синтаксический анализатор для понятия простое - выражение:

простое-выражение ::=

простой-идентефикатор ::= буква

знак-операции ::=

165. Построить синтаксический анализатор для понятия идентификатор:

идентификатор ::=

166. Построить синтаксический анализатор для понятия вещественное-число:

вещественное-число ::=

целое-без-знака ::= цифра{цифра}*

целое-число ::=

167. Построить синтаксический анализатор для понятия простое-логическое:

простое-логическое ::=

простой идентификатор ::= буква

знак-операции ::=

168. Написать программу, которая по заданному простому-логическому выражению (определение понятия содержится в формулировке предыдущей задачи), не содержащему вхождений простых идентификаторов, вычисляет и печатает значение этого выражения.

169. Построить синтаксический анализатор для понятия константное-выражение:

константное-выражение ::=

170. Написать программу, которая по заданному константному-выражению (определение понятия содержится в формулировке предыдущей задачи) вычисляет и печатает либо значение этого выражения, либо сообщение «при вычислении константного выражения получен промежуточный результат, превосходящий по модулю миллион».

 

Решение Построить синтаксический анализатор для понятия скобки.

скобки ::=

квадр ::=

кругл ::=

Правильно написанными скобками являются, например, строки [--]; ([--]+), а строка [-] не является скобкой.

 

Математическая модель

Диаграмма объекта скобки

Квадратная

Круглая

Процедуры Квадр и Кругл управляются первым символом текущей строки разбора. Первой вызываемой процедурой является Скобки.

Псевдокодне приводится, поскольку понятен из текста программы.

 




Поиск по сайту:

©2015-2020 studopedya.ru Все права принадлежат авторам размещенных материалов.