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

Объектное программирование в классах на С# 3.0 - ответы

Количество вопросов - 204

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

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

Пусть дано описание перечисления

public enum Profession {    плотник, столяр, водитель, учитель, врач }

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

Profession worker = Profession.плотник;       worker = worker | Profession.столяр |       (Profession.врач & Profession.учитель);Console.WriteLine(worker.ToString());

будет напечатано:

Класс, являющийся наследником интерфейса:

Укажите объявления делегата, корректные в некотором контексте:

Укажите высказывания истинные для отношения "родитель - наследник":

Какие объявления классов являются синтаксически корректными:

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

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

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

Отношение "клиент - поставщик" является транзитивным отношением. Транзитивность означает:

Укажите истинные высказывания:

Укажите высказывания, истинные для класса Attribute :

В языке C# для каждого вызова x1.M(arg1, arg2, … argN) связывание сущности x1 с методом М осуществляется:

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

Укажите особенности, характерные для структур:

Если модификатор доступа для класса не задан, то значением по умолчанию является модификатор

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

Пусть P(x,z) - метод P с входными аргументами x и выходными z , и пусть P(x,z) корректен (полностью, или тотально) по отношению к предусловию Pre(x) и постусловию Post(x,z) . Какие высказывания истинны по отношению к тотально корректному методу P :

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

public class One { public string s; public int n;public One(string s, int n) { this.s = s; this.n = n;}}public struct Two { public string s; public int n;public Two(string s, int n) { this.s = s; this.n = n;}}

Пусть в клиентском классе созданы объекты

One cx = new One("Петров", 5), cy = new One("Петров", 5), cz = new One("Миронов", 4);Two sx = new Two("Петров", 5), sy = new Two("Петров", 5), sz = new Two("Миронов", 4);int res = 0;

Отметьте операторы, не приводящие к ошибкам на этапе компиляции или выполнения:

Класс А является клиентом класса В, если:

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

Укажите высказывания, характеризующие понятие события:

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

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

Укажите истинное высказывание:

Укажите операции и методы, допустимые при работе с обработчиками событий:

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

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

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

[Flags] public enum Profession {    плотник = 1, столяр = 2, водитель = 4, учитель = 8, врач = 16 }

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

Profession worker = Profession.плотник;         worker = worker | Profession.столяр |         (Profession.врач | Profession.учитель);Console.WriteLine(worker.ToString());

будет напечатано:

Укажите истинные высказывания:

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

Отметьте высказывания, истинные для полей класса:

Укажите высказывания, истинные для конструкторов класса:

Укажите высказывания, истинные для метода, называемого индексатором:

Укажите истинные высказывания:

Отметьте высказывания, истинные для структур:

Укажите истинное высказывание:

Укажите высказывания, истинные для конструкторов структуры:

Пусть C - некоторый класс, а S - структура с тем же набором полей. Пусть cx , cy - объекты класса C , а sx , sy - объекты структуры S . Отметьте истинные высказывания:

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

public class One { public string s; public int n;public One(string s, int n) { this.s = s; this.n = n;}}public struct Two { public string s; public int n;public Two(string s, int n) { this.s = s; this.n = n;}}

Пусть в клиентском классе созданы объекты

One cx = new One("Петров", 5), cy = new One("Петров", 5), cz = new One("Миронов", 4);Two sx = new Two("Петров", 5), sy = new Two("Петров", 5), sz = new Two("Миронов", 4);int res = 0;

Отметьте операторы, не приводящие к ошибкам на этапе компиляции или выполнения:

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

Укажите корректную синтаксическую формулу, задающую объявления перечисления

В памяти компьютера значение объекта перечисления представлено:

Укажите высказывания, истинные для конструкторов перечислений:

Укажите высказывания, истинные для перечислений из n элементов, заданных шкалой:

Классы А и В находятся в отношении "клиент - поставщик", если:

Классы А и В находятся в отношении " родитель - наследник", если:

Отношение "А является В" (is) следует рассматривать, как:

Моделируя классы " Животные" и " Кошки" описывающие мир животных, следует полагать, что:

Укажите высказывания, истинные для отношения наследования:

Отметьте истинные высказывания:

Укажите механизмы, лежащие в основе полиморфизма

Понятие "интерфейс" широко используется при программировании на языке C#. Укажите контекст, в котором используется ключевое слово языка "interface":

Укажите высказывания, истинные для интерфейса - класса, заданного с ключевым словом interface:

Пусть класс, являющийся наследником интерфейса, реализует метод интерфейса как открытый метод класса. В этом случае:

Пусть класс, являющийся наследником интерфейса, реализует метод интерфейса как закрытый метод класса. В этом случае:

Укажите высказывания, истинные для понятия "обертывания" в объектно-ориентированном программировании:

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

В языке C# делегатом называют частный случай класса - класс, задаваемый ключевым словом delegate. Укажите высказывания, истинные для делегата:

Пусть дано объявление делегата

public delegate double DToD(double x);

Укажите корректные объявления экземпляров делегата:

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

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

Укажите методы, существующие в классе Delegate:

Укажите синтаксически корректную формулу, задающую объявление события в классе:

Укажите истинные высказывания:

Пусть в классе Town объявлено событие с именем festival

public event Festival festival;

В этом объявлении Festival - это класс делегат, поэтому истинными являются следующие высказывания:

Класс receiver - класс получатель уведомления о событии должен:

Список аргументов события может содержать:

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

Правда ли, что:

Универсальным может быть класс, заданный с ключевым словом:

Класс, являющийся наследником универсального интерфейса с параметрами:

Отметьте истинные высказывания:

Программист написал фрагмент кода, при компиляции которого возникла ошибка

interface IC<C> { C Method(C arg);  }    class A2<B> : IC<C> { public C Method(C arg) { return arg; } } 

У программиста есть несколько версий причины возникновения ошибки. Укажите, какая из них верна:

Укажите высказывания, истинные для атрибутов языка C# :

Атрибуты и объекты. Какие высказывания являются истинными:

Рассмотрим атрибут, принадлежащий встроенному классу FlagsAttribute . Укажите, какие утверждения справедливы по отношению к этому атрибуту:

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

Объявление сущностей в языке C# начинается с возможного задания атрибутов сущности. Укажите, какие высказывания справедливы для задания атрибутов:

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

Укажите высказывания, истинные для понятия корректности программы:

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

Для доказательства корректности цикла, как правило, используется понятие инварианта цикла. Какие утверждения являются справедливыми для этого понятия:

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

Частью доказательного стиля программирования, применяемого в программах на языке C# , является вызов метода Assert в контрольных точках программы. Какие утверждения справедливы для метода Assert :

Оператор throw позволяет программно вызвать исключительную ситуацию, тип которой задается оператором throw . Какие высказывания, связанные с этим оператором, являются справедливыми:

Пусть потомок создает метод с именем, совпадающим с именем метода родителя. Отметьте высказывания, истинные в этой ситуации:

Укажите высказывания, истинные для отношения наследования:

Укажите высказывания, истинные для конструкторов класса:

Укажите высказывания, истинные для интерфейса - класса, заданного с ключевым словом interface:

Укажите истинные высказывания:

Укажите операции, допустимые над делегатами:

Пусть дано описание перечисления

public enum Profession {    плотник, столяр, водитель, учитель, врач }

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

Profession worker = Profession.плотник;     worker = worker | Profession.столяр |     (Profession.врач | Profession.учитель);Console.WriteLine(worker.ToString());

будет напечатано:

Пусть M это метод класса. Укажите утверждения, истинные для метода M :

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

Классы А и В находятся в отношении "клиент - поставщик", если:

При задании перечисления:

Укажите высказывания, истинные для делегата - класса, задаваемого ключевым словом delegate:

Укажите корректную синтаксическую формулу, задающую описание класса:

Пусть задан интерфейс

interface  IName    { string Name { get; set; }    }

Какие высказывания являются истинными:

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

В языке C# допустимо применение анонимных методов. Укажите высказывания, истинные для анонимных методов:

Укажите высказывания, истинные для ссылочного типа:

Укажите высказывания истинные для отношения "клиент - поставщик":

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

Укажите истинные высказывания:

Укажите высказывания, истинные для обработчиков событий:

Укажите высказывания, истинные для методов-свойств:

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

Укажите истинные высказывания:

Универсальный класс - это класс:

Согласно первому закону в сложных программах могут возникать ситуации, когда нарушаются спецификации, и программа перестает корректно работать, что приводит к появлению исключительных ситуаций. Исключительные ситуации могут возникать и в корректной программе из-за действий пользователя и других внешних причин, не зависящих от программы. Для поддержания устойчивой работы программной системы в таких ситуациях в языке C# предусмотрен механизм обработки исключительных ситуаций, основанный на try - catch - finally блоках. Укажите, какие утверждения справедливы для охраняемых try -блоков:

Укажите, в каких фрагментах кода возникнут ошибки:

По умолчанию значения перечисления, содержащего n элементов, проецируются на отрезок:

Классы A и B являются дружественными классами, если:

Укажите высказывания, истинные для развернутого типа:

Укажите истинное высказывание:

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

public class One { public string s; public int n;public One(string s; int n) { this.s = s; this.n = n;}}public struct Two { public string s; public int n;public Two(string s; int n) { this.s = s; this.n = n;}}

Пусть в клиентском классе созданы объекты

One cx = new One("Петров", 5), cy = new One("Петров", 5), cz = new One("Миронов", 4);Two sx = new Two("Петров", 5), sy = new Two("Петров", 5), sz = new Two("Миронов", 4);int res = 0; 

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

if (cx == cy) res = 1;    else if(sx.Equals(sy)) res = 5;    cx = cz;           sx = sz;           cz.n = 3; sz.n = 3;    if (cx.n == 3) res++;    else if (sx.n == 3) res+=2;

Какое значение получит переменная res?

Укажите истинные высказывания:

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

Укажите истинное высказывание:

Пусть дано описание перечисления

public enum Profession {    плотник, столяр, водитель, учитель, врач }

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

Profession worker = new Profession();     	worker = worker | Profession.столяр |          	(Profession.учитель & Profession.водитель);           			Console.WriteLine(worker.ToString());

будет напечатано:

Перечисление из n элементов задано шкалой и определяет n бинарных свойств. Пусть x - это число, задающее значение объекта перечисления. Укажите высказывания, истинные для числа x:

Отношение "А имеет В" (has) следует рассматривать, как:

Моделируя классы " Круг" и " Квадрат" описывающие геометрические фигуры, следует полагать, что:

Укажите истинные высказывания:

Укажите высказывания, истинные для интерфейса - класса, заданного с ключевым словом interface:

В интерфейсе методы объявляются без указания модификатора доступа. Класс, являющийся наследником интерфейса, эти методы:

Пусть класс, являющийся наследником интерфейса, реализует метод интерфейса как открытый метод класса. В этом случае:

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

Укажите высказывания, истинные для конструкторов делегата - класса, задаваемого ключевым словом delegate:

Делегаты широко используются при задании функций обратного вызова (callback функций). Укажите, какие утверждения относительно функций обратного вызова являются корректными:

Пусть в классе Town объявлено событие с именем festivalpublic event Festival festival; Чтобы это объявление было корректным, Festival должно означать:

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

Укажите объявление класса, которое может быть синтаксически корректным в некотором контексте

Укажите, какие ограничения допустимы для параметров универсального класса:

Укажите высказывания, истинные для атрибутов языка C# :

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

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

Комментарии языка C# могут быть:

Пусть P(x,z) - метод P с входными аргументами x и выходными z , и пусть P(x,z) корректен (полностью, или тотально) по отношению к предусловию Pre(x) и постусловию Post(x,z) . Какие высказывания истинны по отношению к тотально корректному методу P :

Рассмотрим цикл типа While - (while(B) S;) , где B - предикат, задающий условие цикла, а S - тело цикла. Только некоторые инварианты цикла, называемые подходящими инвариантами цикла, могут использоваться для доказательства корректности цикла. Какие утверждения являются истинными по отношению к подходящему инварианту Inv :

Согласно первому закону в сложных программах могут возникать ситуации, когда нарушаются спецификации, и программа перестает корректно работать, что приводит к появлению исключительных ситуаций. Но исключительные ситуации могут возникать и в корректной программе из-за действий пользователя и других внешних причин, не зависящих от программы. Для поддержания устойчивой работы программной системы в таких ситуациях в языке C# предусмотрен механизм обработки исключительных ситуаций, основанный на try - catch - finally блоках. Укажите, какие утверждения справедливы для catch - finally блоков:

Пусть дано объявление делегата

public delegate double DToD(double x); 

Дано объявление класса

public class Three{public double F(double x){return x * 2;}    public int F1(int x) { return x * 2; }	}

Укажите корректные объявления экземпляров делегата:

Укажите истинную синтаксическую формулу, задающую объявление структуры:

Если модификатор доступа для поля класса не задан, то значением по умолчанию является модификатор:

Отношение "родитель - наследник" является транзитивным отношением. Транзитивность означает:

Пусть класс, являющийся наследником интерфейса, реализует метод интерфейса как закрытый метод класса. В этом случае:

Корректность программы и ее тестирование - это тесно связанные понятия. Укажите высказывания, истинные для связи этих понятий:

В языке C# контроль типов осуществляется:

Моделируя классы " Прямоугольник" и " Квадрат" описывающие геометрические фигуры, следует полагать, что:

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

Укажите высказывания, истинные для атрибутов языка C# :

Пусть дано объявление делегата

public delegate double DToD(double x); 

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

double res = new DToD(Math.Cos)(Math.PI);

произойдет следующее:

Укажите истинные высказывания:

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

Над объектами перечисления определены следующие операции:

Программист написал фрагмент кода, при компиляции которого возникла ошибка

class A1<A1, B> { A1 a1; B b;} 

У программиста есть несколько версий причины возникновения ошибки. Укажите, какая из них верна:

Укажите истинные высказывания:

Укажите истинные высказывания:

Что из перечисленного может быть объявлено как в классе, так и вне класса:

Отметьте истинные высказывания:

Укажите высказывания, истинные для перечислений:

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

 [Flags] public enum Scale_Profession {    плотник = 1, столяр = 2, водитель = 4, учитель = 8, врач = 16 }

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

Scale_Profession worker = Scale_Profession.плотник;       worker = worker | Scale_Profession.столяр |       (Scale_Profession.врач & Scale_Profession.учитель);Console.WriteLine(worker.ToString());

будет напечатано:

Класс поставщик может закрывать поля и методы, делая их недоступными для своих клиентов. Скрытие информации

Укажите основную цель введения интерфейсов в язык C#:

Если у класса несколько интерфейсов выступают в качестве родителя, то все родительские интерфейсы

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

Укажите истинные высказывания:

Отметьте истинные высказывания:

Метод GetInvocationList , который есть у события, позволяет:

Обработчик события:

Параметры, задающие тип, может иметь:

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

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

Пусть P(x,z) - метод P с входными аргументами x и выходными z , и пусть P(x,z) корректен (частично, или условно) по отношению к предусловию Pre(x) и постусловию Post(x,z) . Какие высказывания истинны в этом случае по отношению к условно корректному методу P :

Объекты одного класса:

Какие из встроенных атрибутов могут быть заданы для методов класса:

Укажите истинные высказывания:

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

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

[Flags] public enum Profession {    плотник = 1, столяр = 2, водитель = 4, учитель = 8, врач = 16 }

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

Profession worker = new Profession();       worker = worker | Profession.столяр |       (Profession.учитель & Profession.водитель);           			Console.WriteLine(worker.ToString());

будет напечатано:

Для доказательства корректности цикла, как правило, используется понятие инварианта цикла. Какие утверждения являются справедливыми для этого понятия:

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

Потомок класса может:

Укажите синтаксически корректную формулу, задающую описание делегата:

Укажите высказывания, истинные для событий:

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

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

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

Укажите истинное высказывание:

Пусть класс, являющийся наследником интерфейса, реализует метод интерфейса как закрытый метод класса. В этом случае:

Укажите высказывания, истинные для экземпляра делегата:

Укажите истинные высказывания:

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

Отметьте высказывания, истинные для структур:

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

Пусть класс, являющийся наследником интерфейса, реализует метод интерфейса как закрытый метод класса. В этом случае:

Класс, являющийся наследником универсального класса с параметрами:

События можно определить в классе, если:

Укажите истинные высказывания:

Укажите высказывания, истинные для делегатов:

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

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