Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Экзамен в гаи redacted.doc
Скачиваний:
5
Добавлен:
27.09.2019
Размер:
676.35 Кб
Скачать

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 – тип содержит статические методы, позволяющие преобразовывать Эйлеровым представлением углом и представлением с помощью кватернионов.