Сертификат "Основы программирования"
  • Сертификат "Основы программирования"
  • Сертификат "Основы программирования"
Сертификат "Основы программирования"
  • Сертификат "Основы программирования"
  • Сертификат "Основы программирования"

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

700,00 руб.
В течение часа!
Экзамен "Основы программирования" для пользователей и системных администраторов.
Количество
Есть в наличии!

Форма сдачи теста: Экстерн
Количество вопросов: 30
Проходной балл: 90% и выше
Срок действия сертификата: неограничен

Сертификат появляется в профиле ресурса INTUIT, и Вы можете заказать его бумажную версию на сайте INTUIT.
12358 шт.
Внимание !
Вопросы к тесту выложены исключительно в ознакомительных целях: количество вопросов может не совпадать с действительным, актуальность не поддерживается,- за решением теста Welcome to the cashier!

Какие команды способен выполнять процессор настольного компьютера?

арифметические
логические
поиска данных в интернете
сравнения
чтения из оперативной памяти
записи в оперативную память


Какое устройство компьютера не является устройством коммуникации?
клавиатура

мышь
процессор
дисплей
устройство сетевого соединения
 

Какие утверждения являются некорректными?

динамические свойства программы – это те свойства исходного текста, которые могут быть проанализированы компилятором
программа является корректной, если компьютер может ее выполнить
программа, написанная программистом, выполняется на компьютере без всяких преобразований
память – устройство для хранения и доступа к данным и программам
встроенный компьютер – это компьютер, являющийся частью некоторого устройства


Какими желательными свойствами должна обладать программа для компьютера?

не должна допускать изменений
должна быть написана в машинном коде
должна допускать повторное использование
должна быть корректной
должна быть устойчивой


Какое утверждение об информации является корректным?

в памяти компьютера информация хранится в закодированной форме
информация – это данные с заданной интерпретацией
информация и данные – это синонимичные понятия
одна и та же последовательность символов задает одну и ту же информацию независимо от интерпретации
одну и ту же последовательность символов можно интерпретировать по-разному


Какое утверждение о данных является некорректным?

данные хранятся в памяти компьютера
данные представляют последовательность символов
информация – это данные с заданной интерпретацией
информация и данные – это синонимичные понятия
программу можно рассматривать как выполняемые данные


Какое устройство можно использовать для вывода данных?

клавиатуру
сенсорный дисплей
жесткий диск
принтер
мышь


Какое устройство нельзя использовать для ввода данных?

клавиатуру
сенсорный дисплей
жесткий диск
принтер
мышь
 

Каково назначение центрального процессора?

преобразует исходный код программы в машинный код
хранит данные и программы
выполняет операции над данными
выполняет все приказы программиста
управляет работой мыши и джойстика


Что не может компьютер?

хранить данные в своей памяти
осуществлять поиск данных в памяти
выполнять операции над данными
выполнять программу, хранимую в памяти
создавать собственную программу по своей инициативе


Какие утверждения о компьютере являются корректными:

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

Компилятор – это:

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


Какие компоненты необходимы для работы любого компьютера?

клавиатура
память
процессор
дисплей
ПО - программное обеспечение


Какие утверждения о компьютерной программе являются корректными?

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

Какие утверждения о памяти компьютера являются корректными?

память – устройство для хранения и доступа к данным и программам
программа, выполняемая компьютером, хранится в его памяти
память – устройство для выполнения операций над данными
для хранения данных и для хранения программ используются разные виды памяти компьютера


Какие из следующих предложений характеризуют информацию, а не данные?

вы можете найти детали рейса на сайте
ваш пароль должен содержать не менее 6 символов
у нас нет данных о вашей оплате
нам известны данные Вашего паспорта
почтовый индекс должен содержать 6 цифр


Какие из следующих предложений характеризуют данные, а не информацию?

вы можете найти детали рейса на сайте
ваш пароль должен содержать не менее 6 символов
у нас нет данных о вашей оплате
нам известны данные Вашего паспорта
почтовый индекс должен содержать 6 цифр
 

Какое из следующих предложений характеризует и данные и информацию?

вы можете найти детали рейса на сайте
ваш пароль должен содержать не менее 6 символов
у нас нет данных о вашей оплате
нам известны данные Вашего паспорта


Введем следующие определения:
1.    Алфавитом S назовем упорядоченное конечное множество символов { s1, s2, …sN}, на котором задана операция < - предшествования, так что для любой пары символов si и sj либо si < sj, либо sj < si
2.    Словом u в алфавите S назовем последовательность символов из алфавита – sk1sk2…skr. Число символов в слове r – назовем длиной слова
3.    Слово длины 0, не содержащее символов, будем называть пустым словом, и обозначать его буквой e
4.    Конкатенацией слова u длины r и слова v длины p назовем слово w длины r+p, полученное приписыванием слова v в конец слова u. Операцию конкатенации будем обозначать знаком +. (Пример: алфавит S = { к, о, р } u = рок; v = око ; w = u+v = рококо.) Конкатенация слова u с пустым словом не изменяет u (u+e = e+u = u)
5.    Каждое слово u можно рассматривать как конкатенацию двух его частей: префикса p(u), задающего начальную часть слова, и хвоста t(u), задающего оставшуюся конечную часть слова (u = p(u)+t(u)). Разбиение слова на префикс и хвост произвольно, так что при некотором разбиении префикс или хвост может быть пустым словом
6.    Общим префиксом двух слов u и v назовем слово p такое, что p = p(u) = p(v). (Пример: u = рок; v = рококо; Общий префикс p = ро; t(u) = к; t(v) = коко).
7.    Общим максимальным префиксом двух слов u и v назовем их общий префикс максимальной длины. (Пример: u = рок; v = рококо; Общий максимальный префикс p = рок; t(u) = е; t(v) = око).
8.    Определим теперь лексикографический порядок на словах алфавита S. Пусть p общий максимальный префикс слов u и v, t(u), t(v) – хвосты слов u и v. Слово u лексикографически предшествует слову v тогда и только тогда, когда либо t(u) пустое слово, либо первый символ слова t(u) предшествует в алфавите S первому символу слова t(v)
Дан текст на русском языке (Карл у Клары украл кораллы. Клара у Карла украла кларнет). Какое максимальное количество слов этого текста имеют общий префикс (Большие и малые буквы считать одним символом):

1
3
4
6
8
10


(Упражнение 3) Введем следующие определения:
1.    Алфавитом S назовем упорядоченное конечное множество символов { s1, s2, …sN}, на котором задана операция < - предшествования, так что для любой пары символов si и sj либо si < sj, либо sj < si
2.    Словом u в алфавите S назовем последовательность символов из алфавита – sk1sk2…skr. Число символов в слове r – назовем длиной слова
3.    Слово длины 0, не содержащее символов, будем называть пустым словом, и обозначать его буквой e
4.    Конкатенацией слова u длины r и слова v длины p назовем слово w длины r+p, полученное приписыванием слова v в конец слова u. Операцию конкатенации будем обозначать знаком +. (Пример: алфавит S = { к, о, р } u = рок; v = око ; w = u+v = рококо.) Конкатенация слова u с пустым словом не изменяет u (u+e = e+u = u)
5.    Каждое слово u можно рассматривать как конкатенацию двух его частей: префикса p(u), задающего начальную часть слова, и хвоста t(u), задающего оставшуюся конечную часть слова (u = p(u)+t(u)). Разбиение слова на префикс и хвост произвольно, так что при некотором разбиении префикс или хвост может быть пустым словом
6.    Общим префиксом двух слов u и v назовем слово p такое, что p = p(u) = p(v). (Пример: u = рок; v = рококо; Общий префикс p = ро; t(u) = к; t(v) = коко).
7.    Общим максимальным префиксом двух слов u и v назовем их общий префикс максимальной длины. (Пример: u = рок; v = рококо; Общий максимальный префикс p = рок; t(u) = е; t(v) = око).
8.    Определим теперь лексикографический порядок на словах алфавита S. Пусть p общий максимальный префикс слов u и v, t(u), t(v) – хвосты слов u и v. Слово u лексикографически предшествует слову v тогда и только тогда, когда либо t(u) пустое слово, либо первый символ слова t(u) предшествует в алфавите S первому символу слова t(v)
Дан текст на русском языке (Кожа да кости. Коса у косаря). Расставьте слова текста в лексикографическом порядке (Большие и малые буквы считать одним символом):

{у, да, коса, кожа, кости, косаря}
{кожа, да, кости, коса, у, косаря}
{у, косаря, кости, коса, да, кожа}
{да, кожа, коса, косаря, кости, у}
{кожа, да, кости, коса, у, косаря}



(Упражнение 3) Введем следующие определения:
1.    Алфавитом S назовем упорядоченное конечное множество символов { s1, s2, …sN}, на котором задана операция < - предшествования, так что для любой пары символов si и sj либо si < sj, либо sj < si
2.    Словом u в алфавите S назовем последовательность символов из алфавита – sk1sk2…skr. Число символов в слове r – назовем длиной слова
3.    Слово длины 0, не содержащее символов, будем называть пустым словом, и обозначать его буквой e
4.    Конкатенацией слова u длины r и слова v длины p назовем слово w длины r+p, полученное приписыванием слова v в конец слова u. Операцию конкатенации будем обозначать знаком +. (Пример: алфавит S = { к, о, р } u = рок; v = око ; w = u+v = рококо.) Конкатенация слова u с пустым словом не изменяет u (u+e = e+u = u)
5.    Каждое слово u можно рассматривать как конкатенацию двух его частей: префикса p(u), задающего начальную часть слова, и хвоста t(u), задающего оставшуюся конечную часть слова (u = p(u)+t(u)). Разбиение слова на префикс и хвост произвольно, так что при некотором разбиении префикс или хвост может быть пустым словом
6.    Общим префиксом двух слов u и v назовем слово p такое, что p = p(u) = p(v). (Пример: u = рок; v = рококо; Общий префикс p = ро; t(u) = к; t(v) = коко).
7.    Общим максимальным префиксом двух слов u и v назовем их общий префикс максимальной длины. (Пример: u = рок; v = рококо; Общий максимальный префикс p = рок; t(u) = е; t(v) = око).
8.    Определим теперь лексикографический порядок на словах алфавита S. Пусть p общий максимальный префикс слов u и v, t(u), t(v) – хвосты слов u и v. Слово u лексикографически предшествует слову v тогда и только тогда, когда либо t(u) пустое слово, либо первый символ слова t(u) предшествует в алфавите S первому символу слова t(v)
Дан текст на русском языке (Девица краса. Красна коса до пояса). Расставьте слова текста в лексикографическом порядке (Большие и малые буквы считать одним символом):

{до, коса, краса, красна, пояса, девица}
{коса, до, красна, пояса, краса, девица}
{до, девица, краса, коса, красна, пояса}
{до, девица, краса, красна, коса, пояса}
{ девица, до, коса, краса, красна, пояса }


(Антропоморфизм) Какое устройство компьютера является аналогом мозга человека?

монитор
память
микрофон
процессор
клавиатура


(Антропоморфизм) Какое устройство компьютера является аналогом слуха человека?

монитор
клавиатура
микрофон
видеокамера
джойстик
 

(Антропоморфизм) Какое устройство компьютера является аналогом зрения человека?
монитор

клавиатура
микрофон
видеокамера
джойстик


Какие утверждения, связанные с вызовом компонента – x. f, являются корректными?

вызов компонента происходит только в чрезвычайных исключительных ситуациях
вызов компонента является базисной операцией ОО программирования
вызываемый компонент f принадлежит некоторому классу
вызываемый компонент f принадлежит некоторому объекту
цель вызова x является компонентом класса
цель вызова x является объектом класса


Какие утверждения об объектах являются корректными?

объекты появляются в процессе работы программной системы
объекты представляют коллекцию данных
запрос позволяет выяснить свойства объекта – получить значение его данных
запрос позволяет изменить свойства объекта – изменить значение его данных
программный объект может иметь аналог в физическом мире/1
программный объект всегда имеет аналог в физическом мире
 

Какие утверждения о программной системе являются корректными?

программная система строится из классов
программная система строится из объектов
программная система строится из операций
программная система в процессе работы создает объекты
программная система в процессе работы позволяет получать доступ к свойствам объекта и изменять данные объекта
программная система строится из данных


Какое высказывание является определением команды?

команда – это коллекция данных, над которыми определены операции
команда – это метод, который может изменить объект
команда – это метод, получающий доступ к объекту
команда – это значение, передаваемое методу, необходимое для его работы
команда – это приказ, отдаваемый программистом, которому должны подчиняться все объекты


Какое высказывание является определением аргумента?

аргумент – это коллекция данных, над которыми определены операции
аргумент – это метод, который может изменить объект
аргумент – это метод, получающий доступ к объекту
аргумент – это значение, передаваемое методу, необходимое для его работы
аргумент – это операция, которую программа может применять к объекту
 

Какое высказывание справедливо для понятия "запрос"?

запрос – это коллекция данных, над которыми определены операции
запрос – это метод, который может изменить объект
запрос – это метод, позволяющий получить доступ к объекту, не изменяя самого объекта
запрос – это значение, передаваемое методу, необходимое для его работы
запрос – это операция, которую программа может применять к объекту


Определим отношение "является подвидом". Вид А является подвидом вида В если экземпляры вида А являются частным случаем экземпляров вида В. Киты являются подвидом млекопитающих. Укажите высказывания, справедливые для отношения "является подвидом".

команда является подвидом метода
запрос является подвидом метода
объект является подвидом класса
аргумент является подвидом метода
метод является подвидом класса


Определим отношение "имеет". А имеет В означает, что В некоторая возможная составляющая часть А (А содержит или знает о В). Укажите высказывания, справедливые для отношения "имеет".

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

Определим отношение "возможно является частью". А возможно является частью В означает, что А может быть, но не обязательно, составляющей частью B. Укажите высказывания, справедливые для отношения "возможно является частью".

ОО программная система возможно является частью класса
аргумент возможно является частью команды
аргумент возможно является частью запроса
вызов возможно является частью цели вызова
метод возможно является частью класса


Представьте, что вы создаете ПО для работы с документами – создания, модифицирования и доступа к ним. Предположите, что вы проектируете класс WORD (Слово), который описывает понятие "слово" и класс PARAGRAPH (Абзац), описывающий понятие абзаца. Для каждого из следующих возможных методов класса PARAGRAPH, установите, какой из них должен быть командой с аргументом.

метод word_count, используемый в вызовах my_paragraph.word_count, возвращающий число слов абзаца
метод remove_last_word, используемый как my_paragraph.remove_last_word, удаляющий последнее слово абзаца
метод justify, используемый как my_paragraph.justify, выравнивающий абзац в соответствии с установленными границами для левого и правого поля
метод extend, используемый как my_paragraph.extend (my_word), имеющий слово в качестве аргумента и добавляющий его в конец абзаца
метод word_length, используемый как my_paragraph.word_length (i), у которого целочисленный аргумент задает индекс (порядковый номер) слова в абзаце, а в качестве результата возвращается число символов этого слова
 

Представьте, что вы создаете ПО для работы с документами – создания, модифицирования и доступа к ним. Предположите, что вы проектируете класс WORD (Слово), который описывает понятие "слово" и класс PARAGRAPH (Абзац), описывающий понятие абзаца. Для каждого из следующих возможных методов класса PARAGRAPH, установите, какой из них должен быть командой.

метод word_count, используемый в вызовах my_paragraph.word_count, возвращающий число слов абзаца
метод remove_last_word, используемый как my_paragraph.remove_last_word, удаляющий последнее слово абзаца
метод justify, используемый как my_paragraph.justify, выравнивающий абзац в соответствии с установленными границами для левого и правого поля
метод extend, используемый как my_paragraph.extend (my_word), имеющий слово в качестве аргумента и добавляющий его в конец абзаца
метод word_length, используемый как my_paragraph.word_length (i), у которого целочисленный аргумент задает индекс (порядковый номер) слова в абзаце, а в качестве результата возвращается число символов этого слова


Какие утверждения о вызове метода являются корректными?

у вызова всегда есть цель вызова и вызываемый компонент
целью вызова может быть некоторый метод
вызываемым компонентом может быть запрос
метод может вызывать объект
 

Какие утверждения о семантике вызова x.f являются корректными?

определяет эффект времени компиляции программы
определяет эффект времени выполнения программы
состоит в том, что к объекту, который обозначает x в момент выполнения, применяется компонент с именем f, принадлежащий классу объекта
компонент f применяется к объекту, который обозначает x во время компиляции


Какие из утверждений о правилах стиля программирования являются корректными?

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

Какие правила относятся к стилю программирования?

имена определяемых объектов должны начинаться с буквы в нижнем регистре
в вызове компонента x.f цель вызова должна отделяться от компонента символом "точка"
в объявление компонента класса следует сразу же после первой строчки включать комментарий
текст каждой строчки начинается на некотором расстоянии от левой границы. Отступы служат для отображения структуры текста
 

Какое из определений семантики вызова x.f является корректным?

компонент f всегда изменяет объект x
компонент f вызывает объект x
эффект времени выполнения вызова x.f состоит в том, что к объекту, который обозначает x в момент выполнения, применяется компонент с именем f, принадлежащий классу объекта
эффект времени компиляции вызова x.f состоит в применении компонента с именем f, принадлежащего соответствующему классу, к объекту, который обозначает x в момент компиляции


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

этот фрагмент синтаксически некорректен, поэтому ошибка возникнет еще на этапе компиляции
этот фрагмент синтаксически корректен, но ошибка возникнет на этапе выполнения, поскольку запросы не могут иметь аргументов
этот фрагмент синтаксически корректен, и будет выполняться. В результате на консоль будет выведен текст двух страниц книги с номерами I и j
этот фрагмент синтаксически корректен. Метод show, вызываемый предопределенным объектом Console, выводит на консоль значение, переданное методу в качестве аргумента. Аргументом является некоторый текст, формируемый цепочкой запросов. Началом цепочки является заданный объект my_book – объект класса Book. У этого класса есть запрос pages с целочисленным аргументом, задающим номер страницы. Запрос возвращает объект класса Page – страницу книги с указанным номером. У класса Page есть запрос paragraphs с целочисленным аргументом, задающим номер абзаца. Запрос возвращает объект класса Paragraph – i-й абзац страницы. Запрос text в классе Paragraph возвращает текст абзаца. Таким образом на консоль будет выведен текст i-го абзаца j-й страницы книги, которую в момент выполнения обозначает объект my_book
 

Предположим, что определены классы Car и Owner_of_car, моделирующие понятия "машина" и "владелец машины". У класса Car определены методы set_owner, mark, color, owner (Команда, позволяющая задать владельца, и три запроса, определяющие марку, цвет и владельца машины). У класса Owner_of_car определен запрос name, возвращающий имя владельца машины. Будем полагать, что определены объекты этих классов – my_car и my_person. Какая программа в соответствии с уже заданными правилами позволяет задать для объекта my_carвладельца машины и вывести на консоль свойства, характеризующие марку, цвет машины и имя владельца:

my_car(set_owner(my_person))
Console.show(my_car.mark)
Console.show(my_car.color)
Console.show(name)

my_car.set_owner(my_person)
Console.show(my_car.mark)
Console.show(my_car.color)
Console.show(my_сar.owner.name)

my_car.set_owner(my_person)
Console(my_car.mark)
Console(my_car.color)
Console(my_сar.owner.name)

my_car = my_person
Console.show(my_car.mark)
Console.show(my_car.color)
Console.show(my_сar.owner.name)


Пусть определены классы Student и Tutor, моделирующие понятия "студент" и его "руководитель". У класса Student есть запрос без аргументов tutor, возвращающий объект класса Tutor. У класса Tutor есть запрос с целочисленным аргументом students(j), возвращающий объект класса Student – студента с номером j в группе, руководимой данным преподавателем. Пусть определены по два объекта каждого из этих классов: student_one, student_two, tutor_one, tutor_two. Какие вызовы синтаксически корректны и в качестве результата дают объект класса Student?

student_one.student_two
tutor_one.student_one
tutor_one.students(1)
tutor_one.students(2)
student_two.tutor
student_two.tutor.student(1)


Укажите корректные высказывания?

программную систему можно рассматривать как множество классов, позволяющих создавать, получать доступ и изменять коллекции данных, называемых объектами
две точки зрения на объект – коллекция данных и машина, выполняющая запросы и команды, – противоречат друг другу и несовместимы
вызов объектом компонента – основная базисная операция ОО программирования
результатом выполнения запроса всегда является некоторый объект
все объекты программы являются программными моделями объектов физического мира
 

Укажите корректные высказывания?

метод может иметь только один аргумент
метод всегда имеет аргументы
запрос не может иметь аргументы
чтобы выполнить метод, некоторый объект должен вызвать этот метод
некоторые объекты являются программными моделями объектов физического мира
 

Укажите корректные высказывания?

программный объект – это коллекция данных, хранящихся в памяти компьютера
программный объект можно рассматривать как машину, обеспечивающую выполнение команд и запросов
каждый запрос является командой
каждая команда является запросом
метод может иметь аргументы


Какие утверждения о конкретном синтаксическом дереве (КСД) являются корректными?

КСД отражает синтаксическую структуру программы
КСД – это АСД с дополнительными узлами
АСД – это КСД с дополнительными узлами
узлами КСД могут быть ключевые слова языка программирования и другие ограничители, не влияющие на синтаксическую и семантическую структуру программы
ограничители языка не могут быть терминальными вершинами – листьями КСД


Какие утверждения о понятии "дерево" являются корректными?

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


у дерева может быть много корней

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


Какое высказывание является определением грамматики языка программирования?

грамматика – это описание языка программирования
грамматика – это лексические, синтаксические и семантические правила
грамматика – это описание синтаксиса языка, заданное множеством категорий и описанием их структуры
у языков программирования нет грамматики
 

Какое высказывание является определением грамматической категории языка программирования?

категория – это рейтинг, присваиваемый различным элементам языка программирования, показывающий значимость этих элементов
категория – это компонент грамматики, - понятие, характеризующее некоторое множество синтаксических элементов языка программирования
категория задает семантику объектов
категория – это характеристика класса в языке программирования


Что из приведенных примеров задает грамматические категории языка Eiffel?

Paris
Class
Identificator
Preview
Feature


Какие утверждения о понятии "выражение" являются корректными?

выражение носит описательный дескриптивный характер
выражение императивно
запрос является выражение
вычисление выражения дает значение
команда является выражением
 

Какие выражения не являются лексемами?

Paris
2+3
23
Paris.display
class
do
 

Какие категории задают лексемы?

идентификатор
целое число
ограничитель
метод
вызов компонента


Что определяет семантика программы?

корректность программы
легкость понимания текста программы
структуру и форму записи ее текста
свойства потенциально возможных выполнений программы
 

Что определяет синтаксис программы?

корректность программы
легкость понимания текста программы
структуру и форму записи ее текста
свойства потенциально возможных выполнений программы


Какие утверждения о понятии "оператор" являются корректными?

оператор носит описательный дескриптивный характер
оператор императивен
оператор является командой
вызов компонента – это оператор
запрос – это оператор


Предложение: "При вызове метода x.f нет необходимости помещать пробелы перед или после точки, хотя они являются допустимыми" характеризует:

синтаксис
семантику
и синтаксис и семантику
ни синтаксис, ни семантику
 

Предложение: "При вызове метода целевой объект должен отделяться точкой от имени метода" характеризует:

синтаксис
семантику
и синтаксис и семантику
ни синтаксис, ни семантику


Предложение: "Каждый вызов метода применяет метод к определенному объекту – цели вызова" характеризует:

синтаксис
семантику
и синтаксис и семантику
ни синтаксис, ни семантику


Предложение: "Если у метода есть аргументы, то они должны заключаться в круглые скобки" характеризует:

синтаксис
семантику
и синтаксис и семантику
ни синтаксис, ни семантику
 

Предложение: "Операторы, разделенные символом ‘точка с запятой’, будут выполняться друг после друга" характеризует:

синтаксис
семантику
и синтаксис и семантику
ни синтаксис, ни семантику



Предложение: "Eiffel и Smalltalk являются объектно-ориентированными языками" характеризует:

синтаксис
семантику
и синтаксис и семантику
ни синтаксис, ни семантику


Рассмотрим отношения между понятиями, используемыми в программировании. Какое отношение задано некорректно?

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

Рассмотрим отношения между понятиями, используемыми в программировании. Какое отношение задано некорректно?

класс имеет синтаксическую структуру
АСТ отображает синтаксическую структуру
КСТ отображает синтаксическую структуру
АСТ является подвидом дерева
дерево является подвидом корня
корень является подвидом вершины дерева


Рассмотрим отношения между понятиями, используемыми в программировании. Какое отношение задано некорректно?

метод является частью класса
метод имеет тело метода
оператор является частью тела метода
оператор является подвидом вызова компонента
вызов компонента имеет цель вызова


Укажите корректные высказывания?

правило стиля требует, чтобы имя класса имело содержательный смысл
любой текст класса является образцом категории "класс"
образец не может быть вложен в другой образец
листья АСТ задают терминалы
идентификатор содержит буквы, цифры и знак подчеркивания, идущие в произвольном порядке


Укажите корректные высказывания?

лексемы разделяются белыми пробелами
белый пробел – это пробел белого цвета
символ табуляции является подвидом белого пробела
аргументы метода заключаются в круглые скобки
синтаксические правила определяют, как создаются образцы из лексем, удовлетворяющих лексическим правилам


Укажите корректные высказывания?

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


Какие утверждения, связывающие класс и объект, являются корректными?

класс задает множество, объект – элемент этого множества
объект статичен, класс динамичен
класс создается при написании программной системы и является некоторым текстом
объект – это коллекция данных, создаваемая в процессе выполнения программной системы
для создания объекта не требуется существование класса
для создания класса не требуется существование объектов


Какие утверждения о классе являются корректными?

в грамматике Eiffel есть категория Class и текст каждого класса программной системы является образцом этой категории
экземпляры класса, создаваемые во время выполнения системы, называются объектами
классы создаются при выполнении программы
класс определяет операции (методы), применимые к объектам класса
у каждого объекта класса свой набор методов



Какие утверждения об объекте являются корректными?

имена объектов создаются динамически в ходе выполнения программы
объект класса, будучи коллекцией данных, задает свойства конкретного экземпляра класса
объекты создаются динамически в ходе выполнения программы
число объектов в каждом классе фиксировано
если определен класс "ГОРОД", то объектами этого класса могут быть разные города – Москва, Рязань, Тверь


Какое утверждение не является справедливым для программного интерфейса?

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


Какое высказывание является определением программного интерфейса программы или ее части – класса, метода?

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


Какие утверждения справедливы для интерфейса пользователя?

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


Кто или что в контексте данного курса может быть поставщиком для класса программной системы?

другой класс этой же программной системы
дилер, продающий программную систему
этот же класс этой же программной систем
другой класс другой программной системы


Какие утверждения в контексте данного курса об отношениях "клиент", "поставщик" являются корректными?

отношения "быть клиентом" и "быть поставщиком" взаимно дополняют друг друга. Если А клиент В, то В поставщик А
клиент может быть человеком, а поставщиком - программная система
клиентом может быть программная система, а поставщиком - человек
клиентом может быть одна часть программной системы, а поставщиком другая ее часть
клиентом может быть одна программная система, а поставщиком другая система
клиентом может быть человек, а поставщиком другой человек


Клиент программной системы (части программы – класса, метода) это:

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



Какое определение предусловия метода является корректным?

предусловие – это предварительное соглашение, которое заключает пользователь, желающий использовать программную систему
предусловие – это условие, которое должно выполняться при работе программной системы
предусловие – это условие, выполнения которого метод требует от всех своих клиентов, желающих вызвать метод
предусловие – это условие, которое первым делом проверяет метод при его вызове


Какое определение постусловия метода является корректным?

постусловие – это соглашение, которое заключают клиент и поставщик, если результаты работы
Внимание !
Вопросы к тесту выложены исключительно в ознакомительных целях: количество вопросов может не совпадать с действительным, актуальность не поддерживается,- за решением теста Welcome to the cashier!

Пусть заданы множества слов: S1 = { племя, око, кот, питон}, S2 = { мама, мак, мел, потоп, папа, компас}. Укажите формулы теории предикатов, принимающих истинные значения. Здесь Forall обозначает квантор всеобщности, Exist – квантор существования, s[i] это i-й символ слова s

Forall s1: S1| Exist s2: S2 |длина (s1) < длина (s2)
Forall s1: S1| Forall s2: S2 |длина (s1) < длина (s2)
Exist s2: S2 |длина (s2) – простое число
Forall s1: S1 |длина (s1) – простое число
Exist s1: S1 | Exist s2: S2|Exist i : Integer | Exist j: Integer | s1[i] = s2[j]


В упражнении 5 приводится текст объявления: "Вход запрещен всем, кто не авторизован или не имеет сопровождающего". Этот текст содержит запрет, которого не добивался видимо автор объявления. В упражнении предлагается переписать объявления. Выполнив это упражнение, укажите, тексты каких объявлений являются корректными?

вход разрешен только тем, кто авторизован или имеет сопровождающего
вход разрешен только тем, кто авторизован и имеет сопровождающего
вход запрещен тем, кто не авторизован или не имеет сопровождающего
вход запрещен тем, кто не авторизован и не имеет сопровождающего


Какие утверждения являются корректными?

если в булевском выражении e некоторое подвыражение u заменить на тавтологичное подвыражение v, то полученное после замены выражение e1 эквивалентно e
таблица истинности для введенных полустрогих операций содержит 9 строк
формула с квантором всеобщности Forall s: S | P(s) по определению имеет значение True, если S – пустое множество
формула с квантором существования Exist s: S | P(s) по определению имеет значение True, если S – пустое множество
False сильнее True


Рассмотрим обобщение задачи о шляпах (упражнение 13). Пусть N – число людей в ряду, M – число цветов шляп ( в упражнении N = 100, M = 2). Какая формула, задающая число правильных ответов, верна для наилучшей стратегии в этой задаче (надеемся, что Вы нашли эту стратегию):

N / 2
N / M
(N+M)
N – M+1
N - M


Базисное правило разработчика программы говорит:

программа должна корректно работать сразу после написания ее кода
программа должна компилироваться на всех этапах ее разработки
программа должна компилироваться и выполняться без появления сообщений об ошибках, хотя ее результаты могут быть некорректными
на начальных этапах программа может не компилироваться. Важно лишь, чтобы она компилировалась на заключительном этапе разработки


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

программа не может быть скомпилирована
программа может быть скомпилирована, но не может быть выполнена
программа может быть скомпилирована и выполнена, но скорее всего при ее выполнении произойдет ошибка или ее результаты будут некорректными
разработчик программы в результате процесса, называемого "уточнением" постепенно заменит псевдокод реальным кодом, так что в окончательном варианте псевдокод исчезнет
псевдокод может оставаться в реально работающей программе, как подсказка разработчику будущей версии программы
 

Какие выражения являются корректными по отношению к понятию "псевдокод"?

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


В тексте класса LINE_BUILDING дано объявление fancy_line: LINE, задающее воображаемую линию метро. Предположим, что задано еще одно объявление - real_line: LINE. Какие утверждения справедливы для этих двух сущностей?

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


Какие утверждения справедливы для понятия "сущность"?

сущность – это типизированное имя в тексте программы, обозначающее объект указанного типа, появляющийся во время выполнения программы
сущность всегда связана с некоторым объектом
сущность в момент ее объявления с объектом еще не связана. Сущность представляет объект только после ее присоединения к объекту
если сущность связывается с объектом, то эта связь нерасторжима


Какие утверждения являются корректными для связанных понятий – вызова, сущности, объекта, ссылки, void ?

Void-вызовом называется вызов x.f, вызывающий объект Void
Void-вызовом называется вызов x.f, в котором цель вызова x имеет значение void и не присоединена ни к какому объекту
если сущность присоединена к некоторому объекту, то ее ссылка не может быть значением void
сущность может быть присоединена или не присоединена к объекту
тип объекта, к которому может быть присоединена сущность, определяется типом сущности, заданным при ее объявлении


Рассмотрим вызов компонента x.f. Какие утверждения справедливы для этого вызова?

сущность x, являющаяся целью вызова, всегда присоединена к некоторому объекту
возможен Void-вызов, когда сущность x не присоединена к объекту
при вызове x.f вызывается компонент f, принадлежащий классу, определяемому объектом, присоединенным к цели вызова x. Компонент f применяется к данным этого объекта
при Void-вызове будет вызываться компонент f класса Void
при Void-вызове возникнет ошибка
 

Какие утверждения являются корректными для связанных понятий – вызова, сущности, объекта, ссылки, void?

при объявлении сущности всегда указывается ее тип
при объявлении сущности всегда указывается ее значение
при объявлении сущности, значением которой есть ссылка, эта ссылка получает значение void
void-вызовом называется вызов x.f, когда сущность x не присоединена ни к какому объекту и ее ссылка имеет значение void


В мире людей у каждого человека существует множество связей с другими людьми. У каждого человека есть отец и мать. У многих есть супруг и дети, есть друзья, коллеги, просто знакомые. Благодаря ссылкам можно аналогичным образом создавать различные связанные структуры объектов. Укажите корректные высказывания, характеризующие связанные структуры:

если в некотором классе есть атрибут того же класса, назовем его Next, то можно организовать список объектов этого класса, где Next будет ссылаться на следующий в списке объект. Примером является класс Stop, задающий остановки на линии метро
если у элемента списка атрибут Next получает значение void, то это приводит к ошибке, аналогично тому, как это происходит при Void-вызовах
в связанных структурах необходимо, чтобы некоторый элемент списка (последний в списке) получал значение void, что позволяет закончить список
если у некоторого элемента списка атрибут Next задает ссылку на элемент, уже включенный в список, то создается кольцевой список. Примером может служить кольцевая линия метро
минимальное число элементов в кольцевом списке равно
при моделировании моногамной семьи в классе Person может существовать атрибут Spouse (супруг). Это позволяет для пары людей, состоящих в браке, создать кольцевой список
 

Укажите высказывания корректные по отношению к понятию "процедура создания"?

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

Какие утверждения корректно определяют задание процедур создания:

в объявлении класса в предложении create можно указать имена методов класса, являющихся процедурами создания
если предложение create в объявлении класса отсутствует, или в предложении create не задано имя ни одного метода класса, то для создания объектов используется процедура создания с именем default_create, существующая по умолчанию, наследуемая от общего предка классов
если в предложении create указаны имена процедур создания без упоминания имени default_create, то для создания объектов можно использовать как указанные процедуры, так и процедуру создания по умолчанию
процедура создания может иметь аргументы, используемые для инициализации полей объекта


Какие утверждения о создании объектов являются корректными?

для создания объекта некоторого класса С единственной возможностью является вызов процедуры создания, принадлежащей классу С
у каждого класса существует по крайней мере одна процедура создания
У каждого класса существует только одна процедура создания
у каждого класса может существовать несколько процедур создания
если процедура создания явно не объявлена, то используется процедура создания по умолчанию, наследуемая от общего предка класса
если в классе С объявлена одна процедура создания, например с именем my_make_create, то создавать объекты можно, вызывая как процедуру my_make_create, так и процедуру создания по умолчанию, у которой есть имя default_create
 

Если у класса есть хотя бы один нетривиальный инвариант, то класс обязан задать нетривиальную процедуру создания класса и не может использовать процедуру создания по умолчанию. Нетривиальность в данном контексте означает, что поля создаваемого объекта должны быть инициализированы значениями, отличными от значений, задаваемых по умолчанию. Укажите корректное объяснение этого требования?

если инвариант нетривиален, то и все в классе должно быть нетривиально
это чисто синтаксическое ограничение языка Eiffel, содержательного смысла в нем нет
по определению инварианта класса, он должен быть истинен перед вызовом любого метода класса (за исключением процедур создания). Поэтому процедура создания, создающая объект должна гарантировать, что для рожденного ею объекта все инварианты класса выполняются. Процедура создания по умолчанию не может этого гарантировать для нетривиальных инвариантов класса
процедура создания по умолчанию запрещает использование инвариантов класса
 

В классе POINT в предложении create заданы имена двух процедур создания – make_cartesian и make_polar, каждая из которых имеет два аргумента, позволяющие создать точку, задав декартовы или полярные ее координаты. Пусть объявлены три точки – point_A, point_B, point_C: POINT. Какие операторы, создающие точки, являются синтаксически корректными?

create point_A. make_cartesian(5, 10)
create point_C. make_cartesian
create point_B. make_polar(5, 10)
create point_A(5, 10)
create point_B.default_create(5, 10)
create point_A


Укажите корректные высказывания?

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

Какое определение сборщика мусора является корректным?

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

Какие правила корректности создания объектов должны иметь место?

непосредственно перед созданием объекта должно выполняться предусловие процедуры создания
непосредственно перед созданием объекта должны выполняться инварианты класса
непосредственно после выполнения процедуры создания, вызванной целью x, имеет место x /= Void
непосредственно после выполнения процедуры создания выполняется постусловие процедуры создания, если оно задано
непосредственно после выполнения процедуры создания, вызванной целью x типа С, выполняются все инварианты класса С, примененные к объекту, на который указывает x


Пусть определен метод Plus, задающий сложение целых. Пусть также определен знак операции +, как псевдоним (alias) метода Plus. Какая форма записи сложения целых является синтаксически некорректной:

a.Plus(b)
a+b+c
b+a
b.Plus(a)
a.Plus(b)Plus(c)
(a.Plus(b)).Plus(c)
 

Укажите корректное определение неквалифицированного вызова:

вызов называется неквалифицированным, если его создал неквалифицированный программист
вызов x.f называется неквалифицированным, если цель вызова x является неквалифицированным объектом
вызов называется неквалифицированным, если он имеет форму x.f с явным указанием целевого объекта x
вызов называется неквалифицированным, если цель вызова явно не указана и ею является текущий объект
 

Укажите корректное определение квалифицированного вызова:

вызов называется квалифицированным, если его создал квалифицированный программист
вызов x.f называется квалифицированным, если цель вызова x является квалифицированным объектом
вызов называется квалифицированным, если он имеет форму x.f с явным указанием целевого объекта x
вызов называется квалифицированным, если цель вызова явно не указана и ею является текущий объект


Какие утверждения являются корректными?

ссылка либо присоединена к объекту, либо имеет значение void
синтаксически оператор создания имеет вид create x, или, используя процедуру создания Q, специфицированную в классе, - create x.Q(arguments)
в некоторые моменты выполнения системы возникает необходимость в явном создании текущего объекта
Void ссылки всегда играют отрицательную роль и приводят к ошибкам выполнения
вызов может быть квалифицированным, примененный к явно указанной цели, или неквалифицированный, примененный к текущему объекту

 
Какие утверждения являются некорректными?

вызов x.f(…) будет выполняться должным образом, только если x присоединен к объекту
если ссылка получила значение void, то изменить это значение уже невозможно
Void ссылки могут быть полезными и служат для указания опущенной информации и для завершения связанных структур
процедура создания должна обеспечивать выполнение инварианта класса. Если инициализация по умолчанию не удовлетворяет этому требованию, то необходимо использовать процедуру создания, решающую проблему
каждый неквалифицированный вызов метода применяется к текущему объекту
 

 Какие утверждения являются корректными?
 
текущий объект Current может иметь значение Void
оператор создания, для которого указана цель x, создает новый объект и присоединяет x к этому объекту
перед выполнением тела процедуры создания, если она задана, выполняется инициализация по умолчанию – поля вновь созданного объекта инициализируются стандартными значениями по умолчанию – ноль для чисел, void – для ссылок
в любой момент выполнения существует текущий объект:
объект, запустивший последний выполняемый метод


При решении сложных задач эффективным приемом является сведение сложной задачи к нескольким более простым задачам. Пусть из состояния K требуется перейти в состояние, где выполняется цель G. Управляющая структура – это некоторая стратегия, сводящая решение задачи к решению более простых задач. Укажите, какие из стратегий относятся к классическим стратегиям, применяемым в программировании?

последовательность – последовательное выполнение ряда задач, дающее решение исходной задачи. Из K достичь H, из H достичь G
выбор – разбиение K на два или более непересекающихся множества K1, K2, …KN. Найти решение каждой более простой задачи – из KJ достичь G
гадание – стратегия, позволяющая угадать решение, дающее G
цикл – повторяющееся решение задачи на расширяющихся множествах, пока не будет покрыта вся область, характеризуемая K
подпрограмма (процедура, функция) – сведение задачи к другой задаче, решение которой уже известно


Какой из возможных видов алгоритмов рассматривается в этом курсе?

последовательный детерминированный
недетерминированный
вероятностный
параллельный


Алгоритм является спецификацией процесса, действующей на множестве данных и удовлетворяющей ряду правил. Укажите, какое из приведенных правил не является правилом, справедливым для алгоритма:

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


Какие утверждения справедливы для синтаксиса и семантики последовательности – составного оператора в языке Eiffel?

составной оператор – это последовательность подряд записанных операторов, возможно отделяемых символом точка с запятой
составной оператор – это последовательность подряд записанных операторов, возможно отделяемых символом точка с запятой и заключенная в фигурные скобки
составной оператор – это последовательность подряд записанных операторов, начинающаяся ключевым термином begin и заканчивающаяся термином end
каждый оператор последовательности должен заканчиваться точкой с запятой
если на одной строке текста программы записаны два или несколько операторов, то они должны разделяться символом точка с запятой
семантика составного оператора состоит в последовательном выполнении операторов последовательности в порядке их записи


Алгоритмы и программы – тесно связанные понятия. Какие утверждения корректны для этих понятий и связи между ними?

алгоритм описывает единственный процесс
программная система описывает множество процессов
алгоритм описывает множество процессов
при публикации алгоритма можно опускать детали структуры данных, полагая, что читатель восстановит требуемую структуру
при написании программы можно опускать детали структуры данных, полагая, что компилятор восстановит требуемую структуру
алгоритм+Структуры данных = Программа
 

Какие утверждения справедливы для обеспечения корректности составного оператора?
 
перед началом выполнения составного оператора должны выполняться предусловия всех операторов последовательности
по завершении выполнения составного оператора должны выполняться постусловия всех операторов последовательности
перед началом выполнения составного оператора должно выполняться предусловие первого оператора последовательности
из истинности выполнения постусловия i-го оператора последовательности должно следовать предусловие i+1-го оператора последовательности, если таковой существует
из истинности выполнения постусловия последнего оператора последовательности должно следовать постусловие составного оператора


Какие утверждения являются корректными для понятия "инвариант цикла"?

инвариантом цикла называется условие, которое, будучи истинным перед началом итерации - выполнения тела цикла - сохраняет истинность после завершения итерации
у цикла может быть только один инвариант
у цикла может быть бесконечно много инвариантов
среди всех инвариантов цикла есть подходящие инварианты, позволяющие доказать корректность работы цикла
нахождение подходящего инварианта – это творческая задача


Какие составляющие у оператора цикла в языке Eiffel?

from – инициализация цикла
comment – комментарий
loop – тело цикла – повторяющиеся действия
until - условие выхода из цикла
require – предусловие цикла


Когда каменщику нужно выложить стенку из кирпичей, то он, начиная с первого ряда, кладет ряд за рядом, пока стена не достигнет заданной высоты. Многие циклы, хотя и не все, следует этой стратегии, задавая аппроксимацию – последовательное приближение к достижению цели цикла. Построим цикл, моделирующий работу каменщика. Предположим, что высота одного ряда равна h, и каменщику нужно возвести стену высотой H = n * h. В качестве подходящего инварианта цикла выберем условие H = i * h (содержательно это означает, что выложена стена из i рядов кирпичей). Отметьте корректные составляющие цикла, позволяющие решить эту задачу и доказать ее корректность. Доказательство корректности предполагает доказательство трех утверждений: после инициализации инвариант цикла становится истинным, тело цикла сохраняет истинность инварианта, из истинности условия выхода и инварианта следует выполнение цели цикла

from i = 0
from i = 1
until i = n

loop
– "положить ряд кирпичей"
 i = i+1

loop
– "положить ряд кирпичей"
i = i+2  


Какими свойствами должен обладать инвариант цикла?

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


Укажите корректные высказывания о завершении цикла?

любой цикл всегда завершается после выполнения конечного числа шагов
в любом цикле тело цикла выполняется по крайней мере один раз
нетрудно написать бесконечный цикл, который никогда не завершается
нетрудно написать цикл, тело которого ни разу не выполняется
 

Какие утверждения корректны относительно варианта цикла?

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


Какие допустимые по синтаксису в языке Eiffel части условного оператора могут отсутствовать в конкретном условном операторе?

if-часть в форме if условие
then-часть в форме then составной оператор
else – if часть в форме elseif условие then составной оператор
else – часть в форме else составной оператор
ключевое слово end
 

Каковы условия корректности условного оператора if c then a else b?

непосредственно перед началом выполнения условного оператора должны выполняться предусловия операторов a и b
непосредственно перед началом выполнения условного оператора, если истинно условие c, то должно выполняться предусловие оператора a
непосредственно перед началом выполнения условного оператора, если ложно условие c, то должно выполняться предусловие оператора b
непосредственно после завершения выполнения условного оператора, если выполнялось условие c, то из постусловия оператора a должно следовать постусловие составного оператора
непосредственно после завершения выполнения условного оператора, если не выполнялось условие c, то из постусловия оператора b должно следовать постусловие составного оператора
непосредственно после завершения выполнения условного оператора из конъюнкции постусловий операторов a и b должно следовать постусловие составного оператора
 

Одним из широко используемых типов данных (классов) в программировании и в этом курсе является список с курсором. Какие команды и запросы не используются при работе с таким списком в предлагаемой реализации?

команда start – устанавливает курсор в позицию первого элемента списка
команда any – устанавливает курсор в позицию некоторого произвольного элемента списка
запрос between – возвращает значение True, если курсор указывает на некоторый элемент списка
запрос is_after – возвращает значение True, если курсор находится в позиции справа от последнего элемента списка
команда forth – передвигает курсор в следующую справа позицию
запрос item – возвращает элемент списка, если он существует в позиции курсора


Какие утверждения об управляющих структурах являются корректными?

согласно теореме Бёма –Джакопини для любого алгоритма можно написать программу, использующую только две управляющие структуры – последовательность и цикл
можно доказать, что для любого алгоритма можно написать программу, использующую только две управляющие структуры – последовательность и составной оператор
практика профессионального ОО программирования использует только две управляющие структуры в соответствии с теоремой Бёма – Джакопини
практика профессионального ОО программирования использует расширенный набор управляющих структур – основными являются 4 – последовательность, выбор, цикл и подпрограмма
 

Какой из принципов не справедлив для структурного программирования?

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


Какое высказывание не имеет место для программ с goto?

оператор goto синтаксически очень прост – goto метка
оператор goto семантически очень прост – перейти к выполнению помеченного оператора с предусловием, что такой оператор существует в программе
оператор goto позволяет превратить программу в "блюдо спагетти"
программа с операторами goto имеет простую и ясную структуру выполнения, понятную из текста программы
"Э. Дейкстра показал, что оператор goto вреден, применять его не следует


Какое утверждение не является справедливым по отношению к понятию "исключительная ситуация":

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


Какое утверждение является неверным по отношению к механизму обработки исключительных ситуаций Retry - resque в языке Eiffel:

предложение Resque, принадлежащее методу, выполняется, когда в методе возникла исключительная ситуация
если при выполнении предложения resque предопределенная булевская переменная Retry принимает значение True, то управление передается на повторное выполнение метода, который при повторном выполнении возможно удачно завершит свою работу, выполнив контракт
если при выполнении предложения resque предопределенная булевская переменная Retry принимает значение False, то программа прекращает свою работу
если при выполнении предложения resque предопределенная булевская переменная Retry принимает значение False, то вызывается исключение, но уже для метода, вызвавшего метод, приведший к возникновению исключительной ситуации. Подъем по цепочке вызовов методов может происходить вплоть до корневого метода. Если и корневой метод не может исправить ситуацию, то программа прерывает свою работу
прежде чем стать причиной исключительной ситуации у вызывающего метода, в задачу Resque у метода, приведшего к отказу, входит восстановление инварианта класса


Оператор множественного выбора в языке Eiffel синтаксически имеет следующий вид:

inspect
choice-выражение
when val_1 then составной оператор_1
when val_2 then составной оператор_2

else составной оператор
end
Какие условия выполняются для choice-выражения и when-значений?

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


Какое утверждение является некорректным?

управляющие структуры определяют порядок действий при выполнении программы
программу с goto невозможно записать, используя только управляющие структуры структурного программирования
теорема Бёма- Джакопини определяет минимальный набор управляющих структур, достаточный для записи любого алгоритма
вариант цикла позволяет доказать завершаемость цикла


Какие утверждения являются корректными?

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

Какие утверждения являются корректными?

базисными структурами управления являются: составной оператор, задающий последовательное выполнение списка действий; условный оператор, задающий выполнение одного действия из списка действий в зависимости от выполнения некоторых условий; оператор цикла, задающий повторное выполнение действий
согласно теореме о неразрешимости проблемы остановки ни для какой программы нельзя доказать ее завершаемость
всякую программу с goto можно записать, используя базисные структуры управления
на уровне машинных команд goto является полезной командой, входящей в состав команд любого компьютера
исключительные ситуации могут возникать в корректно написанной программе по причинам, не зависящим от программиста


Помимо трех управляющих структур – последовательности, выбора и цикла к базисным структурам, необходимым для практического программирования, относится структура, называемая подпрограммой или функциональной абстракцией и реализуемая введением процедур и функций. Укажите наиболее важное достоинство этой стратегии. Процедуры и функции помогают:

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

Укажите подходы, применяемые при выделении подзадач в большой задаче:
 
когда программист приступает к решению большой проблемы, в его распоряжении имеются библиотеки процедур и функций, дающие решение ряда задач. Эти библиотеки могли быть созданы ранее или непосредственно для решения данной проблемы.Если программисту удается использовать эти решения в своей проблеме, то проблема упрощается. Такой подход называется проектированием "снизу – вверх" и характерен для любой инженерной деятельности, где различные конструкции собираются из готовых элементов
когда программист приступает к решению большой проблемы, то представить ее решение во всех деталях может быть невозможно по причине сложности проблемы. Выход состоит в том, чтобы выделить более простые подзадачи. Процесс разбиения может продолжаться пока подзадачи не станут достаточно простыми. Такой подход называется проектированием "сверху – вниз"
когда программист приступает к решению большой проблемы, то он может составить список подзадач, которые требуется решить, и приступить к решению задач из списка, начиная с начала списка. Такой подход называется проектированием "слева – направо"
когда программист приступает к решению большой проблемы, то он может составить список подзадач, которые требуется решить, и приступить к решению задач из списка, начиная с конца списка. Такой подход называется проектированием "справа – налево"
 
 
Какая из базисных управляющих структур является главным средством в борьбе со сложностью большой задачи:

последовательность
выбор
цикл
подпрограмма (процедура или функция)


Какие утверждения справедливы относительно понятий "объявление метода" и "интерфейс метода"?

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

Какие утверждения справедливы для компонентов класса в языке Eiffel?

для всех компонентов используется единый термин - feature
компонент может представлять команду или запрос
команда всегда реализуется в форме процедуры
запрос всегда реализуется как атрибут – объект некоторого класса
запрос может быть функцией
запрос может быть атрибутом – объектом некоторого класса
 

Какое утверждение не является справедливым для метода класса?

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


Какие части объявления метода задают контракт метода?

заголовок метода
заголовочный комментарий
предложение require, задающее предусловие
предложение ensure, задающее постусловие
тело метода

Вы можете обратится к нам напрямую, через:

skype По Skype: molodoyberkut
telegram По Telegram: @MolodoyBerkut
icq По ICQ: 657089516

Или через форму обратной связи на нашем сайте
Пока сочиняется...
4.png