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

Основы программирования

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

Пусть определены классы Book, Page, Paragraph, моделирующие понятия "книга", "страница книги", "абзац". Пусть определен объект my_book, задающий некоторую книгу. Рассмотрим фрагмент кода на языке Eiffel:
Console.show(my_book.pages(j).paragraphs(i).text)
Является ли этот фрагмент синтаксически корректным, если да, то какова его возможная семантика?

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

Варианты ответа
этот фрагмент синтаксически корректен. Метод show, вызываемый предопределенным объектом Console, выводит на консоль значение, переданное методу в качестве аргумента. Аргументом является некоторый текст, формируемый цепочкой запросов. Началом цепочки является заданный объект my_book – объект класса Book. У этого класса есть запрос pages с целочисленным аргументом, задающим номер страницы. Запрос возвращает объект класса Page – страницу книги с указанным номером. У класса Page есть запрос paragraphs с целочисленным аргументом, задающим номер абзаца. Запрос возвращает объект класса Paragraph – i-й абзац страницы. Запрос text в классе Paragraph возвращает текст абзаца. Таким образом на консоль будет выведен текст i-го абзаца j-й страницы книги, которую в момент выполнения обозначает объект my_book(Верный ответ)
этот фрагмент синтаксически корректен, и будет выполняться. В результате на консоль будет выведен текст двух страниц книги с номерами I и j
этот фрагмент синтаксически некорректен, поэтому ошибка возникнет еще на этапе компиляции
этот фрагмент синтаксически корректен, но ошибка возникнет на этапе выполнения, поскольку запросы не могут иметь аргументов
Похожие вопросы
Пусть определены классы Student и Tutor, моделирующие понятия "студент" и его "руководитель". У класса Student есть запрос без аргументов tutor, возвращающий объект класса Tutor. У класса Tutor есть запрос с целочисленным аргументом students(j), возвращающий объект класса Student – студента с номером j в группе, руководимой данным преподавателем. Пусть определены по два объекта каждого из этих классов: student_one, student_two, tutor_one, tutor_two. Какие вызовы синтаксически корректны и в качестве результата дают объект класса Student?
Пусть определен метод Plus, задающий сложение целых. Пусть также определен знак операции +, как псевдоним (alias) метода Plus. Какая форма записи сложения целых является синтаксически некорректной:
Предположим, что определены классы Car и Owner_of_car, моделирующие понятия "машина" и "владелец машины". У класса Car определены методы set_owner, mark, color, owner (Команда, позволяющая задать владельца, и три запроса, определяющие марку, цвет и владельца машины). У класса Owner_of_car определен запрос name, возвращающий имя владельца машины. Будем полагать, что определены объекты этих классов – my_car и my_person. Какая программа в соответствии с уже заданными правилами позволяет задать для объекта my_car владельца машины и вывести на консоль свойства, характеризующие марку, цвет машины и имя владельца:
Представьте, что вы создаете ПО для работы с документами – создания, модифицирования и доступа к ним. Предположите, что вы проектируете класс WORD (Слово), который описывает понятие "слово" и класс PARAGRAPH (Абзац), описывающий понятие абзаца. Для каждого из следующих возможных методов класса PARAGRAPH, установите, какой из них должен быть командой.
Представьте, что вы создаете ПО для работы с документами – создания, модифицирования и доступа к ним. Предположите, что вы проектируете класс WORD (Слово), который описывает понятие "слово" и класс PARAGRAPH (Абзац), описывающий понятие абзаца. Для каждого из следующих возможных методов класса PARAGRAPH, установите, какой из них должен быть командой.
Представьте, что вы создаете ПО для работы с документами – создания, модифицирования и доступа к ним. Предположите, что вы проектируете класс WORD (Слово), который описывает понятие "слово" и класс PARAGRAPH (Абзац), описывающий понятие абзаца. Для каждого из следующих возможных методов класса PARAGRAPH, установите, какой из них должен быть командой с аргументом.
В классе POINT в предложении create заданы имена двух процедур создания – make_cartesian и make_polar, каждая из которых имеет два аргумента, позволяющие создать точку, задав декартовы или полярные ее координаты. Пусть объявлены три точки – point_A, point_B, point_C: POINT. Какие операторы, создающие точки, являются синтаксически корректными?
Оператор множественного выбора в языке Eiffel синтаксически имеет следующий вид:
inspectchoice-выражениеwhen val_1 then составной оператор_1when val_2 then составной оператор_2…else составной операторend
Какие условия выполняются для choice-выражения и when-значений?
Пусть заданы множества слов: S1 = { племя, око, кот, питон}, S2 = { мама, мак, мел, потоп, папа, компас}. Укажите формулы теории предикатов, принимающих истинные значения. Здесь Forall обозначает квантор всеобщности, Exist – квантор существования, s[i] это i-й символ слова s
Определим отношение "имеет". А имеет В означает, что В некоторая возможная составляющая часть А (А содержит или знает о В). Укажите высказывания, справедливые для отношения "имеет".