- •Экзаменационный билет №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. Каков результат компиляции и выполнения приведенного ниже кода?
static void Main(string[] args)
{
Console.WriteLine(GetSomeResult(10000));
}
static long GetSomeResult(long someValue)
{
long value1 = 10 * 1000 * 10000 * someValue;
long value2 = 10 * 1000 * 10000 * 100000;
return value2 / value1;
}
Ответ: из-за строчки long value2 = 10 * 1000 * 10000 * 100000 возникает ошибка компиляции (переполнение int), поскольку вычисления производятся в int арифметике до присвоения значения переменной value2. Чтобы ошибки не возникало, нужно использовать один из параметров типа long, для этого можно явно указать литеру L у одного из чисел long value2 = 10 * 1000 * 10000 * 100000L;
Экзаменационный билет №2
1. Основные понятия ооп - инкапсуляция, наследование, полиморфизм.
Наследование – способность классов порождать себе подобные классы-наследники. Наследник получает от родительского класса все его сущности (поля, методы, свойства, делегаты) и может дополнять их своими, придающими наследнику дополнительную функциональность по сравнению с родительским классом. Такой подход способствует поэтапному созданию новых классов.
Полиморфизм – способность родственных (то есть имеющих общий родительский класс) объектов решать схожие по смыслу проблемы разными способами. Для этого в каждом классе-потомке следует переопределить нужный родительский метод. Например, для классов Circle, Line или Rectangle, являющихся наследниками класса GeomethricShape, следует переопределить родительский метод Draw(), ответственный за отрисовку фигур, чтобы нарисовать, соответственно, окружность, линию или прямоугольник.
Инкапсуляцией называется способность объектов «прятать» детали своей внутренней организации от пользователей. Преимущество инкапсуляции – возможность скрыть внутренние данные (поля) объекта. Как правило, при описании класса поля помечаются зарезервированным словом private. В результате доступ к ним становится возможен только с помощью открытых методов класса.
2. Отношение между объектами. Включения и коллекции.
Наследование является примером простых отношений между объектами, при которых базовый класс полностью отражен производным классом и при которых производный класс может также иметь доступ к внутренним деталям своего базового класса (посредством защищенных членов). Однако бывают и другие ситуации, в которых отношения между объектами начинают играть более важную роль.
Включения. Один класс содержит другой. Эти отношения похожи на отношения наследования, но позволяют классу-контейнеру управлять доступом к членам содержащегося внутри него класса и даже выполнять дополнительную обработку перед исспользованием этих членов.
Коллекции. Один класс выступает в роли контейнера для нескольких экземпляров другого класса. Эти отношения напоминают те, что образуются при создании массивов объектов, но предусматривают дополнительные функциональные возможности, наподобие индексации, поиска, изменения размера, также могут быть реализованы методы Add() и Remove() и т.д.
Рис. 2.2.1