Главная /
Основы программирования
Основы программирования - ответы на тесты Интуит
Курс представляет первую часть фундаментального учебника "Почувствуй класс. Учимся программировать хорошо с объектами и контрактами". В отличие от традиционного подхода введение в основы программирования начинается с рассмотрения объектов, классов, интерфейсов и контрактов. В этой части курса рассматриваются также основы логики и внутреннее устройство компьютера. В курсе излагаются основы объектно-ориентированного программирования (ООП). В этой вводной части мы начнем наше путешествие в мир программирования с самых его основ: объектов, классов, интерфейсов и контрактов. Будут рассмотрены поддерживающие концепции, включающие логику и внутреннее устройство компьютера, которые каждый программист должен знать.
Список вопросов:
- # Какое устройство компьютера не является устройством коммуникации?
- # Какие команды способен выполнять процессор настольного компьютера?
- # Какие утверждения являются некорректными?
- # Какое утверждение о данных является некорректным?
- # Какое утверждение об информации является корректным?
- # Какими желательными свойствами должна обладать программа для компьютера?
- # Какое устройство нельзя использовать для ввода данных?
- # Какое устройство можно использовать для вывода данных?
- # Каково назначение центрального процессора?
- # Компилятор – это:
- # Что не может компьютер?
- # Какие утверждения о компьютере являются корректными:
- # Какие утверждения о компьютерной программе являются корректными?
- # Какие утверждения о памяти компьютера являются корректными?
- # Какие компоненты необходимы для работы любого компьютера?
- # Какие из следующих предложений характеризуют данные, а не информацию?
- # Какие из следующих предложений характеризуют информацию, а не данные?
- # Какое из следующих предложений характеризует и данные и информацию?
- # (Упражнение 3) Введем следующие определения: Алфавитом S назовем упорядоченное конечное множество символов { s1, s2, …sN}, на котором задана операция < - предшествования, так что для любой пары символов si и sj либо si < sj, либо sj < siСловом u в алфавите S назовем последовательность символов из алфавита – sk1sk2…skr. Число символов в слове r – назовем длиной словаСлово длины 0, не содержащее символов, будем называть пустым словом, и обозначать его буквой eКонкатенацией слова u длины r и слова v длины p назовем слово w длины r+p, полученное приписыванием слова v в конец слова u. Операцию конкатенации будем обозначать знаком +. (Пример: алфавит S = { к, о, р } u = рок; v = око ; w = u+v = рококо.) Конкатенация слова u с пустым словом не изменяет u (u+e = e+u = u)Каждое слово u можно рассматривать как конкатенацию двух его частей: префикса p(u), задающего начальную часть слова, и хвоста t(u), задающего оставшуюся конечную часть слова (u = p(u)+t(u)). Разбиение слова на префикс и хвост произвольно, так что при некотором разбиении префикс или хвост может быть пустым словомОбщим префиксом двух слов u и v назовем слово p такое, что p = p(u) = p(v). (Пример: u = рок; v = рококо; Общий префикс p = ро; t(u) = к; t(v) = коко). Общим максимальным префиксом двух слов u и v назовем их общий префикс максимальной длины. (Пример: u = рок; v = рококо; Общий максимальный префикс p = рок; t(u) = е; t(v) = око). Определим теперь лексикографический порядок на словах алфавита S. Пусть p общий максимальный префикс слов u и v, t(u), t(v) – хвосты слов u и v. Слово u лексикографически предшествует слову v тогда и только тогда, когда либо t(u) пустое слово, либо первый символ слова t(u) предшествует в алфавите S первому символу слова t(v) Дан текст на русском языке (Кожа да кости. Коса у косаря). Расставьте слова текста в лексикографическом порядке (Большие и малые буквы считать одним символом):
- # (Упражнение 3) Введем следующие определения: Алфавитом S назовем упорядоченное конечное множество символов { s1, s2, …sN}, на котором задана операция < - предшествования, так что для любой пары символов si и sj либо si < sj, либо sj < siСловом u в алфавите S назовем последовательность символов из алфавита – sk1sk2…skr. Число символов в слове r – назовем длиной словаСлово длины 0, не содержащее символов, будем называть пустым словом, и обозначать его буквой eКонкатенацией слова u длины r и слова v длины p назовем слово w длины r+p, полученное приписыванием слова v в конец слова u. Операцию конкатенации будем обозначать знаком +. (Пример: алфавит S = { к, о, р } u = рок; v = око ; w = u+v = рококо.) Конкатенация слова u с пустым словом не изменяет u (u+e = e+u = u)Каждое слово u можно рассматривать как конкатенацию двух его частей: префикса p(u), задающего начальную часть слова, и хвоста t(u), задающего оставшуюся конечную часть слова (u = p(u)+t(u)). Разбиение слова на префикс и хвост произвольно, так что при некотором разбиении префикс или хвост может быть пустым словомОбщим префиксом двух слов u и v назовем слово p такое, что p = p(u) = p(v). (Пример: u = рок; v = рококо; Общий префикс p = ро; t(u) = к; t(v) = коко). Общим максимальным префиксом двух слов u и v назовем их общий префикс максимальной длины. (Пример: u = рок; v = рококо; Общий максимальный префикс p = рок; t(u) = е; t(v) = око). Определим теперь лексикографический порядок на словах алфавита S. Пусть p общий максимальный префикс слов u и v, t(u), t(v) – хвосты слов u и v. Слово u лексикографически предшествует слову v тогда и только тогда, когда либо t(u) пустое слово, либо первый символ слова t(u) предшествует в алфавите S первому символу слова t(v) Дан текст на русском языке (Девица краса. Красна коса до пояса). Расставьте слова текста в лексикографическом порядке (Большие и малые буквы считать одним символом):
- # Введем следующие определения: Алфавитом S назовем упорядоченное конечное множество символов { s1, s2, …sN}, на котором задана операция < - предшествования, так что для любой пары символов si и sj либо si < sj, либо sj < siСловом u в алфавите S назовем последовательность символов из алфавита – sk1sk2…skr. Число символов в слове r – назовем длиной словаСлово длины 0, не содержащее символов, будем называть пустым словом, и обозначать его буквой eКонкатенацией слова u длины r и слова v длины p назовем слово w длины r+p, полученное приписыванием слова v в конец слова u. Операцию конкатенации будем обозначать знаком +. (Пример: алфавит S = { к, о, р } u = рок; v = око ; w = u+v = рококо.) Конкатенация слова u с пустым словом не изменяет u (u+e = e+u = u)Каждое слово u можно рассматривать как конкатенацию двух его частей: префикса p(u), задающего начальную часть слова, и хвоста t(u), задающего оставшуюся конечную часть слова (u = p(u)+t(u)). Разбиение слова на префикс и хвост произвольно, так что при некотором разбиении префикс или хвост может быть пустым словомОбщим префиксом двух слов u и v назовем слово p такое, что p = p(u) = p(v). (Пример: u = рок; v = рококо; Общий префикс p = ро; t(u) = к; t(v) = коко). Общим максимальным префиксом двух слов u и v назовем их общий префикс максимальной длины. (Пример: u = рок; v = рококо; Общий максимальный префикс p = рок; t(u) = е; t(v) = око). Определим теперь лексикографический порядок на словах алфавита S. Пусть p общий максимальный префикс слов u и v, t(u), t(v) – хвосты слов u и v. Слово u лексикографически предшествует слову v тогда и только тогда, когда либо t(u) пустое слово, либо первый символ слова t(u) предшествует в алфавите S первому символу слова t(v) Дан текст на русском языке (Карл у Клары украл кораллы. Клара у Карла украла кларнет). Какое максимальное количество слов этого текста имеют общий префикс (Большие и малые буквы считать одним символом):
- # (Антропоморфизм) Какое устройство компьютера является аналогом зрения человека?
- # (Антропоморфизм) Какое устройство компьютера является аналогом слуха человека?
- # (Антропоморфизм) Какое устройство компьютера является аналогом мозга человека?
- # Какие утверждения о программной системе являются корректными?
- # Какие утверждения об объектах являются корректными?
- # Какие утверждения, связанные с вызовом компонента – x. f, являются корректными?
- # Какое высказывание является определением аргумента?
- # Какое высказывание справедливо для понятия "запрос"?
- # Какое высказывание является определением команды?
- # Определим отношение "имеет". А имеет В означает, что В некоторая возможная составляющая часть А (А содержит или знает о В). Укажите высказывания, справедливые для отношения "имеет".
- # Определим отношение "возможно является частью". А возможно является частью В означает, что А может быть, но не обязательно, составляющей частью B. Укажите высказывания, справедливые для отношения "возможно является частью".
- # Определим отношение "является подвидом". Вид А является подвидом вида В если экземпляры вида А являются частным случаем экземпляров вида В. Киты являются подвидом млекопитающих. Укажите высказывания, справедливые для отношения "является подвидом".
- # Представьте, что вы создаете ПО для работы с документами – создания, модифицирования и доступа к ним. Предположите, что вы проектируете класс WORD (Слово), который описывает понятие "слово" и класс PARAGRAPH (Абзац), описывающий понятие абзаца. Для каждого из следующих возможных методов класса PARAGRAPH, установите, какой из них должен быть командой.
- # Представьте, что вы создаете ПО для работы с документами – создания, модифицирования и доступа к ним. Предположите, что вы проектируете класс WORD (Слово), который описывает понятие "слово" и класс PARAGRAPH (Абзац), описывающий понятие абзаца. Для каждого из следующих возможных методов класса PARAGRAPH, установите, какой из них должен быть командой.
- # Представьте, что вы создаете ПО для работы с документами – создания, модифицирования и доступа к ним. Предположите, что вы проектируете класс WORD (Слово), который описывает понятие "слово" и класс PARAGRAPH (Абзац), описывающий понятие абзаца. Для каждого из следующих возможных методов класса PARAGRAPH, установите, какой из них должен быть командой с аргументом.
- # Какое утверждение о запросе является некорректным?
- # Какие утверждения о вызове метода являются корректными?
- # Какие утверждения о семантике вызова x.f являются корректными?
- # Какое из определений семантики вызова x.f является корректным?
- # Какие правила относятся к стилю программирования?
- # Какие из утверждений о правилах стиля программирования являются корректными?
- # Предположим, что определены классы Car и Owner_of_car, моделирующие понятия "машина" и "владелец машины". У класса Car определены методы set_owner, mark, color, owner (Команда, позволяющая задать владельца, и три запроса, определяющие марку, цвет и владельца машины). У класса Owner_of_car определен запрос name, возвращающий имя владельца машины. Будем полагать, что определены объекты этих классов – my_car и my_person. Какая программа в соответствии с уже заданными правилами позволяет задать для объекта my_car владельца машины и вывести на консоль свойства, характеризующие марку, цвет машины и имя владельца:
- # Пусть определены классы Book, Page, Paragraph, моделирующие понятия "книга", "страница книги", "абзац". Пусть определен объект my_book, задающий некоторую книгу. Рассмотрим фрагмент кода на языке Eiffel: Console.show(my_book.pages(j).paragraphs(i).text) Является ли этот фрагмент синтаксически корректным, если да, то какова его возможная семантика?
- # Пусть определены классы Student и Tutor, моделирующие понятия "студент" и его "руководитель". У класса Student есть запрос без аргументов tutor, возвращающий объект класса Tutor. У класса Tutor есть запрос с целочисленным аргументом students(j), возвращающий объект класса Student – студента с номером j в группе, руководимой данным преподавателем. Пусть определены по два объекта каждого из этих классов: student_one, student_two, tutor_one, tutor_two. Какие вызовы синтаксически корректны и в качестве результата дают объект класса Student?
- # Укажите корректные высказывания?
- # Укажите корректные высказывания?
- # Укажите корректные высказывания?
- # Какие утверждения об абстрактном синтаксическом дереве (АСД) являются корректными?
- # Какие утверждения о конкретном синтаксическом дереве (КСД) являются корректными?
- # Какие утверждения о понятии "дерево" являются корректными?
- # Какое высказывание является определением грамматики языка программирования?
- # Какое высказывание является определением грамматической категории языка программирования?
- # Что из приведенных примеров задает грамматические категории языка Eiffel?
- # Какие выражения не являются лексемами?
- # Какие категории задают лексемы?
- # Какие утверждения о понятии "выражение" являются корректными?
- # Какие утверждения о понятии "оператор" являются корректными?
- # Что определяет синтаксис программы?
- # Что определяет семантика программы?
- # Предложение: "При вызове метода целевой объект должен отделяться точкой от имени метода" характеризует:
- # Предложение: "При вызове метода x.f нет необходимости помещать пробелы перед или после точки, хотя они являются допустимыми" характеризует:
- # Предложение: "Каждый вызов метода применяет метод к определенному объекту – цели вызова" характеризует:
- # Предложение: "Если у метода есть аргументы, то они должны заключаться в круглые скобки" характеризует:
- # Предложение: "Операторы, разделенные символом ‘точка с запятой’, будут выполняться друг после друга" характеризует:
- # Предложение: "Eiffel и Smalltalk являются объектно-ориентированными языками" характеризует:
- # Рассмотрим отношения между понятиями, используемыми в программировании. Какое отношение задано некорректно?
- # Рассмотрим отношения между понятиями, используемыми в программировании. Какое отношение задано некорректно?
- # Рассмотрим отношения между понятиями, используемыми в программировании. Какое отношение задано некорректно?
- # Укажите корректные высказывания?
- # Укажите корректные высказывания?
- # Укажите корректные высказывания?
- # Какие утверждения о классе являются корректными?
- # Какие утверждения об объекте являются корректными?
- # Какие утверждения, связывающие класс и объект, являются корректными?
- # Какое высказывание является определением программного интерфейса программы или ее части – класса, метода?
- # Какие утверждения справедливы для интерфейса пользователя?
- # Какое утверждение не является справедливым для программного интерфейса?
- # Клиент программной системы (части программы – класса, метода) это:
- # Кто или что в контексте данного курса может быть поставщиком для класса программной системы?
- # Какие утверждения в контексте данного курса об отношениях "клиент", "поставщик" являются корректными?
- # Какое определение предусловия метода является корректным?
- # Какое определение постусловия метода является корректным?
- # Какое определение инварианта класса является корректным?
- # Какое высказывание является некорректным по отношению к понятию "инвариант класса":
- # Какое высказывание является некорректным по отношению к понятию "предусловие"?:
- # Какое высказывание является некорректным по отношению к понятию "постусловие"?
- # Что не входит в понятие контракта метода:
- # Пусть для некоторой проблемной области создается программная система. Какие условия должны выполняться при проектировании классов программной системы:
- # При моделировании линии метро за начальную станцию принимается станция на южном конце линии, за конечную – станция на северном конце. Некоторая линия метро идет с запада на восток, так что начальная и конечная станция расположены на одной широте. Что следует сделать в этом случае, чтобы наша модель соответствовала реальному миру?
- # Рассмотрим фрагмент карты концепций. Какое отношение в этом фрагменте задано некорректно?
- # Рассмотрим фрагмент карты концепций. Какое отношение в этом фрагменте задано некорректно?
- # Рассмотрим фрагмент карты концепций. Какое отношение в этом фрагменте задано некорректно?
- # Укажите корректные высказывания?
- # Укажите корректные высказывания?
- # Укажите корректные высказывания?
- # Пусть е – булевское выражение. Какая из формул выражает закон "исключающего третьего"?
- # Пусть (e) or (v) = False, где e и v – два булевских выражения. Согласно принципу дизъюнкции это означает, что:
- # Пусть (e) and (v) = True, где e и v – два булевских выражения. Согласно принципу конъюнкции это означает, что:
- # Дано истинностное присваивание p = True; q = False; r = True. Какая из формул принимает значение True для этого присваивания?
- # Дано истинностное присваивание p = True; q = False; r = False. Какая из формул принимает значение True для этого присваивания?
- # Дано истинностное присваивание p = False; q = False; r = True. Какая из формул принимает значение True для этого присваивания?
- # Пусть e(p, q, r) – булевское выражение, зависящее от трех булевских переменных. Сколько строк содержит таблица истинности для этого выражения?
- # Пусть e(p, q, r) – булевское выражение, зависящее от трех булевских переменных. Сколько различных истинностных присваиваний можно построить в этом случае?
- # Пусть e – булевское выражение, зависящее от n булевских переменных. Какие утверждения справедливы для истинностных присваиваний и таблицы истинности этого выражения?
- # Какие булевские выражения являются тавтологиями:
- # В какой из последовательностей булевские операции расставлены в соответствии со своими приоритетами?
- # Пусть e – булевское выражение. Для операции эквивалентности справедливо e = e. Это означает, что эквивалентность обладает свойством:
- # Какие утверждения об импликации p implies q являются корректными?
- # Известно, что в огороде нет бузины, Вы – программист, а Петр программистом не является, а про дядьку в Киеве ничего не известно. Какое высказывание в соответствии с законами импликации является ложным?
- # Рассмотрим импликацию p implies q, где булевское выражение p является посылкой, а q – заключением. Какое из утверждений является некорректным?
- # В программировании булевские переменные и выражения могут принимать три значения – True, False, Undefined (неопределено). Пусть переменная p имеет значение True, а q – Undefined. Какие из выражений будут иметь значение Undefined?
- # В программировании булевские переменные и выражения могут принимать три значения – True, False, Undefined (неопределено). Пусть переменная p имеет значение False, а q – Undefined. Какие из выражений будут иметь значение Undefined?
- # Импликация p implies q в языке Eiffel по определению является полустрогой операцией. Какие утверждения являются справедливыми?
- # Пусть задано множества букв S1 = { а, о, к, м, п} и множество слов: S2 = {имя, мама, мак, потоп, папа, компас}. Укажите формулы теории предикатов, принимающих истинные значения. Здесь Forall обозначает квантор всеобщности, а Exist – квантор существования
- # Пусть заданы множества целых чисел: S1 = { 3, 5, 7, 11}, S2 = {2, 4, 8, 10}, S3 = { 3, 11, 5, 10}. Укажите формулы теории предикатов, принимающих истинные значения. Здесь Forall обозначает квантор всеобщности, а Exist – квантор существования
- # Пусть заданы множества слов: S1 = { племя, око, кот, питон}, S2 = { мама, мак, мел, потоп, папа, компас}. Укажите формулы теории предикатов, принимающих истинные значения. Здесь Forall обозначает квантор всеобщности, Exist – квантор существования, s[i] это i-й символ слова s
- # Какие утверждения являются корректными?
- # В упражнении 5 приводится текст объявления: "Вход запрещен всем, кто не авторизован или не имеет сопровождающего". Этот текст содержит запрет, которого не добивался видимо автор объявления. В упражнении предлагается переписать объявления. Выполнив это упражнение, укажите, тексты каких объявлений являются корректными?
- # Рассмотрим обобщение задачи о шляпах (упражнение 13). Пусть N – число людей в ряду, M – число цветов шляп ( в упражнении N = 100, M = 2). Какая формула, задающая число правильных ответов, верна для наилучшей стратегии в этой задаче (надеемся, что Вы нашли эту стратегию):
- # Какие выражения являются корректными по отношению к понятию "псевдокод"?
- # Пусть в процессе разработки программы в ней появился псевдокод. Укажите корректные утверждения, связанные с такой программой:
- # Базисное правило разработчика программы говорит:
- # Какие утверждения справедливы для понятия "сущность"?
- # В тексте класса LINE_BUILDING объявлен атрибут fancy_line класса LINE. Какие утверждения справедливы для fancy_line?
- # В тексте класса LINE_BUILDING дано объявление fancy_line: LINE, задающее воображаемую линию метро. Предположим, что задано еще одно объявление - real_line: LINE. Какие утверждения справедливы для этих двух сущностей?
- # Рассмотрим вызов компонента x.f. Какие утверждения справедливы для этого вызова?
- # Какие утверждения являются корректными для связанных понятий – вызова, сущности, объекта, ссылки, void?
- # Какие утверждения являются корректными для связанных понятий – вызова, сущности, объекта, ссылки, void ?
- # В мире людей у каждого человека существует множество связей с другими людьми. У каждого человека есть отец и мать. У многих есть супруг и дети, есть друзья, коллеги, просто знакомые. Благодаря ссылкам можно аналогичным образом создавать различные связанные структуры объектов. Укажите корректные высказывания, характеризующие связанные структуры:
- # Укажите высказывания корректные по отношению к понятию "процедура создания"?
- # Какие утверждения корректно определяют задание процедур создания:
- # Какие утверждения о создании объектов являются корректными?
- # В классе POINT в предложении create заданы имена двух процедур создания – make_cartesian и make_polar, каждая из которых имеет два аргумента, позволяющие создать точку, задав декартовы или полярные ее координаты. Пусть объявлены три точки – point_A, point_B, point_C: POINT. Какие операторы, создающие точки, являются синтаксически корректными?
- # Если у класса есть хотя бы один нетривиальный инвариант, то класс обязан задать нетривиальную процедуру создания класса и не может использовать процедуру создания по умолчанию. Нетривиальность в данном контексте означает, что поля создаваемого объекта должны быть инициализированы значениями, отличными от значений, задаваемых по умолчанию. Укажите корректное объяснение этого требования?
- # Укажите корректные высказывания?
- # Какие правила корректности создания объектов должны иметь место?
- # Какое определение сборщика мусора является корректным?
- # Укажите корректное определение квалифицированного вызова:
- # Укажите корректное определение неквалифицированного вызова:
- # Пусть определен метод Plus, задающий сложение целых. Пусть также определен знак операции +, как псевдоним (alias) метода Plus. Какая форма записи сложения целых является синтаксически некорректной:
- # Какие утверждения являются корректными?
- # Какие утверждения являются некорректными?
- # Какие утверждения являются корректными?
- # При решении сложных задач эффективным приемом является сведение сложной задачи к нескольким более простым задачам. Пусть из состояния K требуется перейти в состояние, где выполняется цель G. Управляющая структура – это некоторая стратегия, сводящая решение задачи к решению более простых задач. Укажите, какие из стратегий относятся к классическим стратегиям, применяемым в программировании?
- # Алгоритм является спецификацией процесса, действующей на множестве данных и удовлетворяющей ряду правил. Укажите, какое из приведенных правил не является правилом, справедливым для алгоритма:
- # Какой из возможных видов алгоритмов рассматривается в этом курсе?
- # Алгоритмы и программы – тесно связанные понятия. Какие утверждения корректны для этих понятий и связи между ними?
- # Какие утверждения справедливы для синтаксиса и семантики последовательности – составного оператора в языке Eiffel?
- # Какие утверждения справедливы для обеспечения корректности составного оператора?
- # Какие составляющие у оператора цикла в языке Eiffel?
- # Какие утверждения являются корректными для понятия "инвариант цикла"?
- # Когда каменщику нужно выложить стенку из кирпичей, то он, начиная с первого ряда, кладет ряд за рядом, пока стена не достигнет заданной высоты. Многие циклы, хотя и не все, следует этой стратегии, задавая аппроксимацию – последовательное приближение к достижению цели цикла. Построим цикл, моделирующий работу каменщика. Предположим, что высота одного ряда равна h, и каменщику нужно возвести стену высотой H = n * h. В качестве подходящего инварианта цикла выберем условие H = i * h (содержательно это означает, что выложена стена из i рядов кирпичей). Отметьте корректные составляющие цикла, позволяющие решить эту задачу и доказать ее корректность. Доказательство корректности предполагает доказательство трех утверждений: после инициализации инвариант цикла становится истинным, тело цикла сохраняет истинность инварианта, из истинности условия выхода и инварианта следует выполнение цели цикла
- # Какими свойствами должен обладать инвариант цикла?
- # Укажите корректные высказывания о завершении цикла?
- # Какие утверждения корректны относительно варианта цикла?
- # Одним из широко используемых типов данных (классов) в программировании и в этом курсе является список с курсором. Какие команды и запросы не используются при работе с таким списком в предлагаемой реализации?
- # Какие допустимые по синтаксису в языке Eiffel части условного оператора могут отсутствовать в конкретном условном операторе?
- # Каковы условия корректности условного оператора if c then a else b?
- # Какое высказывание не имеет место для программ с goto?
- # Какой из принципов не справедлив для структурного программирования?
- # Какие утверждения об управляющих структурах являются корректными?
- # Оператор множественного выбора в языке Eiffel синтаксически имеет следующий вид: inspect choice-выражение when val_1 then составной оператор_1 when val_2 then составной оператор_2 … else составной оператор end Какие условия выполняются для choice-выражения и when-значений?
- # Какое утверждение не является справедливым по отношению к понятию "исключительная ситуация":
- # Какое утверждение является неверным по отношению к механизму обработки исключительных ситуаций Retry - resque в языке Eiffel:
- # Какие утверждения являются корректными?
- # Какое утверждение является некорректным?
- # Какие утверждения являются корректными?
- # Помимо трех управляющих структур – последовательности, выбора и цикла к базисным структурам, необходимым для практического программирования, относится структура, называемая подпрограммой или функциональной абстракцией и реализуемая введением процедур и функций. Укажите наиболее важное достоинство этой стратегии. Процедуры и функции помогают:
- # Какая из базисных управляющих структур является главным средством в борьбе со сложностью большой задачи:
- # Укажите подходы, применяемые при выделении подзадач в большой задаче:
- # Какие утверждения справедливы для компонентов класса в языке Eiffel?
- # Какое утверждение не является справедливым для метода класса?
- # Какие утверждения справедливы относительно понятий "объявление метода" и "интерфейс метода"?
- # Какие части объявления метода задают контракт метода?
- # Какая не влияющая на выполнение часть объявления метода является обязательной согласно правилам стиля программирования?
- # Какие части объявления метода являются синтаксически обязательными?
- # Какие утверждения справедливы для понятия "сигнатура метода"?
- # Чтобы некоторый метод M, объявленный в классе C, начал работать, он должен быть вызван. Укажите некорректное высказывание, связанное с вызовом метода:
- # Метод класса может иметь аргументы. Аргументы, указанные при объявлении метода называются формальными. При вызове метода задаются фактические аргументы. Какие утверждения корректны относительно формальных и фактических аргументов и их соответствия?
- # Что означает и в каких целях выполняется "скрытие информации", применяемое при разработке программной системы?
- # Укажите, что из метода отображается в контрактном облике?
- # Укажите корректные утверждения, связывающие клиента класса и его поставщика?
- # Какое высказывание является некорректным для процедур?
- # Какое высказывание является некорректным для функций?
- # Метод клиента, вызывающий метод М, возможно должен быть перекомпилирован, если в методе М изменения внесены только в:
- # Какие утверждения корректны о завершении программ?
- # Какие утверждения являются корректными по отношению к понятию "абстракция":
- # Какое утверждение является некорректным по отношению к проектированию программы?
- # Какие утверждения являются корректными?
- # Какое утверждение является некорректным?
- # Какие утверждения являются корректными?
- # Напомним, что под сущностью в языке Eiffel понимается имя с указанием типа, появляющееся в тексте программы и обозначающее значения периода выполнения программы. Какое утверждение некорректно по отношению к понятию "переменная" в программировании?
- # Программирование и математика близки. Но мир математики – это бесконечный, непрерывный мир. Мир программирования конечен и дискретен. Математика статична, программирование – динамично. Ощутите разницу на следующем примере. Рассмотрим переменную вещественного типа x: REAL. Укажите, какие утверждения относительно этой переменной справедливы для программирования, но не справедливы для математики?
- # Программирование и математика близки. Но мир математики – это бесконечный, непрерывный мир. Мир программирования конечен и дискретен. Математика статична, программирование – динамично. Ощутите разницу на следующем примере. Рассмотрим определение чисел Фибоначчи: . Укажите утверждения, из которых будет исходить программист при написании программы вычисления чисел Фибоначчи:
- # Какие утверждения справедливы для синтаксиса присваивания target := source в языке Eiffel?
- # Какие утверждения справедливы для семантики присваивания target := source в языке Eiffel?
- # Какие утверждения не справедливы относительно понятия "локальная переменная"?
- # Result – это?
- # Какие утверждения являются корректными по отношению к понятию "атрибут класса"?
- # Какое утверждение несправедливо относительно доступа клиентов к атрибуту класса?
- # Сущность – это типизированное имя в тексте программы, обозначающее значения в период выполнения. Укажите, что не может быть сущностью:
- # Укажите корректные высказывания:
- # Какой набор свойств характеризует атрибут?
- # Какое утверждение несправедливо для констант в языке Eiffel?
- # Переменная называется ссылочной, если ее значением является ссылка. Укажите высказывания, корректные для ссылочных переменных?
- # Укажите корректные утверждения по отношению к ссылочным переменным?
- # Какой набор свойств характеризует процедуру?
- # Какой набор свойств характеризует функцию?
- # (Упражнение 5) Пусть v1 и v2 переменные типа INTEGER. Какая из приведенных программ не выполняет обмен значениями?
- # Отношение "имеет" имеет две различные интерпретации: "содержит" и "знает". Для каких высказываний лучше подходит интерпретация "знает", чем "содержит"?
- # Какие правила стиля рекомендуются для ссылочного программирования?
- # Сколько присваиваний нужно выполнить для удаления элемента из связанного списка?
- # Какие утверждения являются корректными?
- # Какие утверждения является некорректными?
- # Какие утверждения являются корректными?