- •Экзаменационный билет №1
- •1. Структура и принципы функционирования приложений на платформе .Net, библиотека компонентов и классов .Net Framework, исполнительная среде clr.
- •2. Интерфейсы. Стандартные интерфейсы .Net. Сравнение и клонирование объектов. Структуры. Делегаты. События.
- •3. Каков результат компиляции и выполнения приведенного ниже кода?
- •Экзаменационный билет №2
- •1. Основные понятия ооп - инкапсуляция, наследование, полиморфизм.
- •2. Отношение между объектами. Включения и коллекции.
- •3. Что будет выведено в результате выполнения цикла?
- •Экзаменационный билет №3
- •1. Класс Delegate. Логика использования делегатов. Неизменяемость делегатов.
- •2. Пространство имён – определение, примеры
- •3. Что будет выведено на экран в каждом из случаев, приведенных ниже:
- •Экзаменационный билет №4
- •1. Структура программы на c#. Константы. Переменные: описание, область действия, время жизни. Операции, приоритеты операций.Структура программы на c#.
- •2. Параллельные и Взаимосвязанные Вычисления (ccr). Где используется ccr?
- •3. Что будет выведено на экран в каждом из случаев, приведенных ниже:
- •Экзаменационный билет №5
- •1. Понятие полиморфизма
- •2. Перегрузка функций. Алгоритм выбора перегруженной функции.
- •3. Что будет выведено в консоли в результате выполнения следующего кода (и почему):
- •Экзаменационный билет №6
- •1. Конструкторы, их виды (преобразования, умолчания, копирования). Деструктор.
- •2. Обзор dss.
- •3. Какой метод выберет компилятор?
- •Экзаменационный билет №7
- •1. Информационные члены класса и члены-методы.
- •2. Наследование классов. Синтаксис и общий смысл.
- •3. Какой метод выберет компилятор?
- •Экзаменационный билет №8
- •1. Массивы. Строки. Потоки и файлы.
- •2. Ccr.Итераторы.
- •3. Что будет выведено в результате выполнения цикла?
- •Экзаменационный билет №9
- •1. Пространство имён – определение, примеры.
- •2. Циклы for, while, do. Прерывание циклов.
- •3. Что будет выведено в результате выполнения цикла?
- •Экзаменационный билет №10
- •1. Сокрытие методов базового класса.
- •2.Операции в c# (привести примеры операций для логических типов, арифметических и т.Д.)
- •3. Найти неправильное(ые) описание(я) двумерного массива
- •Экзаменационный билет №11
- •1. Конструкторы. Ключевое слово this.
- •2.Особенности итераторов в ccr. Итераторы
- •3.Найти неправильное(ые) описание(я) одномерного массива
- •Экзаменационный билет №12
- •1.Clr (CommonLanguageRuntime) – определение, примеры задач clr, состав ядра.
- •2.Понятие инкапсуляции.
- •3.Каков результат компиляции и выполнения приведенного ниже кода?
- •Экзаменационный билет №13
- •1.Статические члены класса
- •2.Что такое полиморфизм? Пример полиморфизма.
- •3.Что будет выведено на экран при выполнении приведенного ниже кода?
- •Экзаменационный билет №14
- •1.Понятие класса. Доступ к членам класса.
- •2. Инкапсуляция. Понятие класса как абстрактного типа данных.
- •3.Как метод выберет компилятор?
- •Экзаменационный билет №15
- •1. Понятие события
- •2. Механизмы инкапсуляции в c#. Вложенные типы.
- •3. Каков результат компиляции и выполнения приведенного ниже кода?
- •Экзаменационный билет №16
- •1.Определение классов в с#. Ключевые слова internal, public, abstract
- •2.Потоковый ввод-вывод. Работа с файлами/каталогами
- •3. Какой метод выберет компилятор?
- •Экзаменационный билет №17
- •1. Интерфейсы
- •2.Параллельные и Взаимосвязанные Вычисления (ccr). Где используется ccr?
- •3.Что следует ожидать на экране?
- •Экзаменационный билет №18
- •1.Ссылочные типы и типы-значения
- •2.Класс Delegate. Логика использования делегатов. Неизменяемость делегатов.
- •3.Что будет выведено в результате выполнения цикла?
- •Экзаменационный билет №19
- •1.Clr (CommonLanguageRuntime) – определение, примеры задач clr, состав ядра
- •2.Зачем нужны частичные(partial) методы в c#?
- •3.Что будет выведено в консоли в результате выполнения следующего кода (и почему):
- •Экзаменационный билет №20
- •1.Простые типы. Примеры.
- •2.Ссылочный тип данных
- •3.Что будут выведено на экран в результате выполнения кода приведенного ниже?
- •Экзаменационный билет №21
- •1.Переменные. Объявление и инициализация
- •2.Наследование. Замещение методов. Проверка совместимости типов.
- •3.Что будет выведено в результате выполнения цикла?
- •Экзаменационный билет №22
- •1.Определение классов в с#. Ключевые слова internal, public, abstract
- •2.Библиотеки и типы, используемые при симуляции в Robotics
- •3.Что будет выведено на экран при выполнении приведенного ниже кода?
- •Экзаменационный билет №23
- •Экзаменационный билет №24
- •Экзаменационный билет №25
3.Что будут выведено на экран в результате выполнения кода приведенного ниже?
List<int> list = new List<int>() { 1, 2, 3, 4, 5 };
List<int> all = list.FindAll(
i => { Console.Write(i); return i < 3; }
);
Ответ: 12345. Делегат, переданный методу FindAll вызывается для каждого элемента. Вопрос на внимательность, поскольку делегат используется как фильтрующая функция, применяемая к каждому элементу.
Экзаменационный билет №21
1.Переменные. Объявление и инициализация
Объявление переменой некоторого типа выполняется следующим образом:
<тип> <имя>;
Эквивалентные формы определения переменных элементарных размерных типов:
int a;
System.Int32 a;
Эквивалентные формы записи операторов определения и инициализации переменных элементарных размерных типов:
int a = 0;
int a = new int(); // Идентичен int a = 0;
System.Int32 a = 0;
System.Int32 a = new System.Int32();
Локальные переменные в C# должны быть инициализированы перед использованием. Например, можно объявить локальную переменную без инициализации.
Оператор new вызывает конструктор определенного типа по умолчанию и присваивает переменной значение по умолчанию. При наличии пользовательских типов используйте new для вызова конструктора по умолчанию. В следующем примере кода вызывается конструктор по умолчанию структуры Point.
Point p = new Point();
2.Наследование. Замещение методов. Проверка совместимости типов.
Наследование – способность классов порождать себе подобные классы-наследники. Наследник получает от родительского класса все его сущности (поля, методы, свойства, делегаты) и может дополнять их своими, придающими наследнику дополнительную функциональность по сравнению с родительским классом. Такой подход способствует поэтапному созданию новых классов.
Наследование является мощнейшим инструментом ООП и применяется для следующих взаимосвязанных целей:
• исключения из программы повторяющихся фрагментов кода;
• упрощения модификации программы;
• упрощения создания новых программ на основе существующих.
Кроме того, только благодаря наследованию появляется возможность использовать
объекты, исходный код которых недоступен, но в которые требуется внести
изменения.
Наследование позволяет создавать иерархии объектов. Иерархия представляется
в виде дерева, в котором более общие объекты располагаются ближе к корню, а более
специализированные — на ветвях и листьях. Наследование облегчает использование
библиотек объектов, поскольку программист может взять за основу объекты,
разработанные кем-то другим, и создать наследников с требуемыми свойствами.
Объект, на основании которого строится новый объект, называется родительским
объектом, объектом-предком, базовым классом, или суперклассом, а унаследованный
от него объект — потомком, подклассом, или производным классом.
Наследование классов предоставляет программисту богатейшие возможности
организации кода и его многократного использования. Выбор наиболее подходящих
средств для целей конкретного проекта основывается на знании механизма
их работы и взаимодействия.
Наследование класса Y от класса X означает, что Y представляет собой разновидность
класса X, то есть более конкретную, частную концепцию. Базовый класс 1
является более общим понятием, чем Y1. Везде, где можно использовать X, можно
использовать и Y, но не наоборот (вспомните, что на место базового класса
можно передавать любой из производных). Необходимо помнить, что во время
1 Например, каждый программист — человек, но не каждый человек — программист.
*не полный*