- •Экзаменационный билет №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.Что будет выведено в результате выполнения цикла?
int end = int.MaxValue;
int begin = end - 100;
int counter = 0;
for (int i = begin; i <= end; i++)
counter++;
Ответ: цикл бесконечный по определению - все значения int меньше или равны int.MaxValue.
Экзаменационный билет №22
1.Определение классов в с#. Ключевые слова internal, public, abstract
В языке С# для определения классов применяется ключевое слово class:
class MyClass {
// Члены класса.
}
В этом коде определяется класс по имени MyClass. После определения класса его
экземпляр можно создавать в любом месте проекта, где имеется доступ к этому
определению. По умолчанию классы объявляются внутренними, что делает их доступными только для кода, который находится внутри текущего проекта. Объявлять их таковыми можно явно с использованием ключевого слова internal, как показано ниже (хотя делать это не обязательно):
internal class MyClass {
// Члены класса.
}
В качестве альтернативного варианта можно указывать, что класс является
общедоступным и должен быть также доступен и в коде других проектов. Для этого нужно использовать ключевое слово public, как показано ниже:
public class MyClass {
// Члены класса.
}
Помимо этих двух ключевых слов, играющих роль модификаторов доступа, можно
использовать либо ключевое слово abstract и тем самым делать класс абстрактным
(т.е. не допускающим создания экземпляров, позволяющим только наследовать от него другие классы и способным иметь абстрактные члены), либо ключевое слово sealed и тем самым сделать класс герметизированным (не допускающим наследования от него никаких других классов). Эти два ключевых слова являются взаимно исключающими, т.е. указывать можно только какое-то одно из них. В частности, абстрактный класс объявляется следующим образом:
public abstract class MyClass
{
// Члены класса, могут быть и абстрактными.
}
Допустимые комбинации модификаторов доступа для определений классов
Отсутствует или internal Класс, к которому может быть получен доступ только из текущего проекта public Класс, к которому может быть получен доступ из любого места abstract или internal abstract Класс, к которому может быть получен доступ только из текущего проекта, и который не допускает создания экземпляров,т.е. позволяет создавать только производные классы public abstract Класс, к которому может быть получен доступ из любого места, и который не допускает создания экземпляров, т.е. позволяет создавать только производные классы sealed или internal sealed Класс, к которому может быть получен доступ только из текущего проекта, и который не допускает создания производных классов, т.е. допускает создание только экземпляров public sealed Класс, к которому может быть получен доступ из любого места, и который не допускает создания производных классов, т.е. допускает создание только экземпляров.
2.Библиотеки и типы, используемые при симуляции в Robotics
RoboticsCommon.dll – включает типы и соглашения, используемые как сервисами симуляции, так и сервисами, связанными с аппаратным обеспечением. С библиотекой связано пространство имен Microsoft.Robotics.PhysicalModel. Типы, описанные в библиотеке:
1) Vector2, Vector3, Vector4 – структуры, содержащие указанное число вещественных значений. Обычно используются для представления векторов координат в двух и трехмерном пространстве. Vector3, Vector4 могут использоваться для представления цвета;
2) Quaternion – повороты в трёхмерном пространстве в симуляторе представляются в качестве кватерниона. Этот тип содержит 4 вещественных значения: X,Y,Z,W;
3) Pose – определяет расположение и ориентацию объекта в среде симулятора. В качестве компонент включает Vector3 для определения позиции и Quaternion для определения ориентации;
4) Matrix – массив вещественных чисел 4*4;
5) ColorValue – содержит 4 вещественных значения (Alpha, Red, Green, Blue). Диапазон изменения значений от 0 до 1, используется для определения цвета.
Библиотека SimulationCommon.dll включает типы, используемые только в симуляторе. Данная библиотека связана с пространством имён Microsoft.Robotics.Simulation. В библиотеку входят следующие типы:
1) Entity – базовый тип для всех объектов симулятора, содержит информацию, касающуюся симулятора и физического движка.
2) EntityState – включает следующую информацию: Pose, Velocity, AnglarVelocity, Name. Также включает список физических примитивов, связанных с объектом, физические свойства (масса плотность) и визуальные (текстура, сетка, эффекты отражения). Доступны различные флаги, позволяющие контролировать процесс отображения объекта;
3) SimulationState – содержит информацию о главной камере, информацию о текущем режиме, список объектов среды.
Типы, определённые в пространстве Microsoft.Robotics.Simulation.Physics:
1) BoxShapeProperties, CapsuleShapeProperties, SphereShapeProperties, ConvexMeshShapeProperties, TriangleMeshShapeProperties, HeightFieldShapeProperties, WheelShapeProperties – данные типы включают информацию о каждом типе фигур, поддерживаемом физическим движком. Некоторая информация специфична для отдельной фигуры.
2) BoxShape, CapsuleShape, SphereShape, ConvexMeshShape, TriangleMeshShape, HeightFieldShape, WheelShape – данные типы представляю собой фигуры, созданные на основе своиз свойтсв, содержат ссылки на фигуры, находящиеся в симуляторе
3) UIMath – тип содержит статические методы, позволяющие преобразовывать Эйлеровым представлением углом и представлением с помощью кватернионов.