игра брюс 2048
Главная / Программирование / Стили и методы программирования / Тест 4

Стили и методы программирования - тест 4

Упражнение 1:
Номер 1
Какое определение языка считается самым полным и точным?

Ответ:

 (1) исходный текст транслятора с языка 

 (2) грамматика языка 

 (3) стандарт языка, если он существует, по определению считается полным и точным его определением либо теоретическая математическая модель, если она существует 


Номер 2
Можно ли писать программу на языке, не зная его синтаксиса и семантики?

Ответ:

 (1) нельзя 

 (2) можно 

 (3) вопрос неточный. Полностью их знать не обязательно, но чуть-чуть нужно 

 (4) можно, но не писать, а переписывать, если язык похож на уже известный, а модифицируемая программа понятна и по назначению, и сама по себе 


Номер 3
Когда нельзя писать программу, не зная прагматики?

Ответ:

 (1) когда неясно, влезут ли требуемые численные значения в разрядную сетку, или нет 

 (2) когда приходится пользоваться средствами, зависящими от конкретной операционной системы и машины 

 (3) когда нужно обеспечить максимальную эффективность вычислений 

 (4) когда программа находится на грани технических возможностей машины 


Упражнение 2:
Номер 1
Какая часть синтаксиса описывается, как правило, содержательно и нестрого?

Ответ:

 (1) правила локализации имен 

 (2) правила соответствия между типами выражений-источников и типами выражений-получателей 

 (3) выходящая за рамки контекстно-свободного синтаксиса 


Номер 2
Что может быть описано контекстно-свободной грамматикой?

Ответ:

 (1) правила построения лексем 

 (2) правила проверки корректности действий 

 (3) правила соединения более простых конструкций в более сложные 

 (4) соответствие между формальными и фактическими параметрами процедуры 

 (5) наличие определяющего вхождения для используемого имени 


Номер 3
Что не может быть описано контекстно-свободной грамматикой?

Ответ:

 (1) правила построения изображений чисел 

 (2) правила проверки корректности действий 

 (3) правила соединения более простых конструкций в более сложные 

 (4) соответствие между формальными и фактическими параметрами процедуры 

 (5) наличие определяющего вхождения для используемого имени 


Упражнение 3:
Номер 1
Как определяется семантика программы?

Ответ:

 (1) через действия, которые производит вычислительная машина при исполнении оператора 

 (2) через результат преобразования программы в машинный код 

 (3) через действия, которые производит абстрактный вычислитель при исполнении оператора 


Номер 2
Что мешает формальному определению семантики?

Ответ:

 (1) отсутствие точных стандартов для большинства языков 

 (2) в принципе это можно сделать, но получившаяся точная модель будет практически необозрима 

 (3) отсутствие подходящего математического аппарата 

 (4) формальное определение семантики никому не нужно 


Номер 3
Может ли быть определена семантика современной программы через текст самой этой программы?

Ответ:

 (1) вдобавок к тексту нужна еще постановка задачи, поскольку иначе неясно, что делает программа 

 (2) может 

 (3) нужны еще точные описания семантики используемых библиотек 

 (4) вдобавок к тексту нужны еще и комментарии, иначе семантика будет непонятна 


Упражнение 4:
Номер 1
Какую часть прагматики может варьировать программист?

Ответ:

 (1) обработку ошибок арифметики и ввода-вывода, а также размеры рабочих областей 

 (2) разрядность чисел 

 (3) ту, которая явно задается в параметрах транслятора или в прагматических комментариях транслируемой программы 

 (4) всю, но нужно знать скрытые возможности транслятора и системы 


Номер 2
Чем отличается синтаксическая прагматика?

Ответ:

 (1) она задает то, что можно явно описать конкретными синтаксическими структурами языка, например, для Object Pascal это прагматические комментарии 

 (2) она задает сокращения для того, что может быть в принципе выражено в терминах других понятий языка, например, для С++ это команды препроцессора и шаблоны (templates) 

 (3) она задает тривиальные сокращения 

 (4) она задает правила выдачи сообщений и предупреждений при трансляции и отладке 


Номер 3
Чем отличается препроцессор от условной компиляции?

Ответ:

 (1) препроцессор позволяет сделать все, а условная компиляция лишь тривиальности 

 (2) препроцессор работает независимо от языка, а условная компиляция как часть языка 

 (3) препроцессор не считается при преобразованиях с синтаксисом языка, а условная компиляция его проверяет 

 (4) препроцессор работает над С и С++, а условная компиляция в Pascal и Object Pascal 


Упражнение 5:
Номер 1
Чем отличается абстрактный синтаксис от конкретного?

Ответ:

 (1) конкретный синтаксис задается для конкретного языка, а абстрактный - для абстрактного 

 (2) конкретный синтаксис зависит от конкретного представления лексем, а абстрактный нет 

 (3) конкретный синтаксис описывает лишь ту часть структуры предложения, которая нужна для задания его семантики 

 (4) абстрактный синтаксис зависит лишь от состава компонент предложения, но не от их порядка 

 (5) абстрактный синтаксис может игнорировать некоторые части, запись которых обязательна в конкретном синтаксисе 


Номер 2
Какие арифметические выражения эквивалентны с точки зрения абстрактного синтаксиса?

Ответ:

 (1) те, которые можно преобразовать друг в друга по правилам алгебры 

 (2) отличающиеся лишь пробелами и переводами строк 

 (3) отличающиеся переименованием переменных 

 (4) отличающиеся постановкой либо опусканием скобок, не изменяющих семантики предложения 

 (5) отличающиеся лишь перестановкой слагаемых либо сомножителей 


Номер 3
Что обеспечивает возможность для человека пользоваться новым традиционным языком, не изучая его?

Ответ:

 (1) похожесть их друг на друга 

 (2) опыт работы в нескольких языках 

 (3) совпадение моделей вычислений 

 (4) совпадение абстрактного синтаксиса 

 (5) совпадение абстрактного синтаксиса простых языковых структур 




Главная / Программирование / Стили и методы программирования / Тест 4