База ответов ИНТУИТ

Инструменты, алгоритмы и структуры данных

<<- Назад к вопросам

Рассмотрим язык программирования с двумя операторами - присваивания и цикла. Присваивание рассматривается в классическом варианте variable := expression и считается терминальным, не определяемым далее понятием. Грамматика языка такова:
\text{Оператор }\triangleq\text{ Присваивание | Цикл}\\ \text{Цикл }\triangleq \text{ until (Условие) Оператор}
Какие утверждения являются справедливыми относительно правил этой грамматики?

(Отметьте один правильный вариант ответа.)

Варианты ответа
определение понятия "Цикл" не является рекурсивным определением
определение понятия "Цикл" является явно рекурсивным определением
определение понятия "Оператор" является определением с косвенной рекурсией(Верный ответ)
определение понятия "Оператор" является явно рекурсивным определением
Похожие вопросы
Рассмотрим рекурсивное определение понятия "идентификатор":
\text{идентификатор }\triangleq\text{ буква | идентификатор буква | идентификатор цифра}
Пусть алфавит языка содержит две буквы - x и y и одну цифру -1. Индуцируя построение идентификаторов в стиле неподвижной точки, на нулевом уровне можно построить два идентификатора в соответствии с нерекурсивной частью определения, а сколько идентификаторов можно построить, принадлежащих уровню 2:
Рекурсивное определение напоминает фокус. Рассмотрим рекурсивное определение известной в математике функции:
F(n) = n – 10,\text{ если }n > 100\\ F(n) = F(F(n + 11),\text{ если }n <= 100
Совершенно очевидно, какие значения принимает эта функция при n> 100. А каковы ее значения при n< 101? Оказывается, для таких n функция имеет одно и то же значение. Какое?
Пусть функция h является решением уравнения неподвижной точки F = h(F). Это позволяет дать не рекурсивное определение функции F, аналогично тому, как определяется предел последовательности. Рассмотрим последовательность графов и связанных с ними функций F_0, F_1, … , F_n. Какие утверждения не являются справедливыми относительно такого определения F?
Какие высказывания являются корректными по отношению к понятию грамматики языка программирования?
Составной оператор можно определить как последовательность из нуля или нескольких операторов, где каждый оператор отделяется от следующего, если он есть, символом точка с запятой. Какое правило грамматики БНФ-Е соответствует этому определению?
Пусть разыскивается путь в графе. Содержательно можно рассматривать города, соединенные сетью дорог. Задача состоит в том, чтобы найти путь из города А в город В. Для поиска пути применяется алгоритм перебора с возвратами, реализованный в виде процедуры поиска find(path), где path - это построенный путь, начинающийся в городе А и заканчивающийся приходом в некоторый ранее не встречавшийся на построенном пути город N. Из города N дороги ведут в n городов - N_1, N_2,… N_n, не входящие в путь path. Какие утверждения справедливы относительно возвратов в процессе поиска?
Пусть разыскивается путь в графе. Содержательно можно рассматривать города, соединенные сетью дорог. Задача состоит в том, чтобы найти путь из города А в город В. Для поиска пути применяется алгоритм перебора с возвратами, реализованный в виде процедуры поиска find(path), где path - это построенный путь, начинающийся в городе А и заканчивающийся приходом в некоторый ранее не встречавшийся на построенном пути город N. Из города N дороги ведут в n городов - N_1, N_2,… N_n, не входящие в путь path. Какие утверждения справедливы относительно вызовов процедуры поиска?
Представим себе, что при определении ссылочного класса PERSON заданы два атрибута (поля класса) mother и father класса PERSON. Какие утверждения справедливы относительно порождения объектов этого класса?
Пусть метод pвызывает метод q, тот вызывает метод r с косвенной рекурсией, - метод r вызывает метод s, который в свою очередь вызывает метод r. Какие утверждения справедливы относительно завершения методов в цепочке вызовов?
Пусть метод p вызывает метод q, тот вызывает метод r с косвенной рекурсией, - метод r вызывает метод s, который в свою очередь вызывает метод r. Какие утверждения справедливы относительно процесса вызова методов?