- •Экзаменационный билет №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
 
2. Пространство имён – определение, примеры
Пространство имён – это способ организации системы типов в единую группу. Существует общая общеязыковая библиотека базовых классов. И концепция пространства имён обеспечивает эффективную организацию и навигацию в этой библиотеке. Вне зависимости от языка программирования доступ к определённым классам обеспечивается за счёт их группировки в рамках общих пространств имён.
Наиболее часто используемое пространство имён – System. Расположение соответствующей сборки известно. Если не использовать оператора usung System, корректное обращение к функции WriteLine() члену класса Console выглядело бы следующим образом:
System.Console.Writeline(“Hello!”); //Полное квалифицированное
При компиляции модуля, транслятор по полному имени функции (если используется оператор using – то по восстановленному) находит её код, который и используется при выполнении сборки.
3. Что будет выведено на экран в каждом из случаев, приведенных ниже:
А)
try {
Console.WriteLine("Hello ");
return;
}
finally { Console.WriteLine("Goodbye "); }
Console.WriteLine("world!");
Ответ: Hello Goodbye. Finally выполняется даже если выполнение прервано по return.
Б)
try {
Console.WriteLine("Hello ");
Thread.CurrentThread.Abort();
}
finally { Console.WriteLine("Goodbye "); }
Console.WriteLine("world!");
Ответ: Hello Goodbye. Abort выбрасывает исключение ThreadAbortException, которое обрабатывается finally, затем выполнение прерывается.
Экзаменационный билет №4
1. Структура программы на c#. Константы. Переменные: описание, область действия, время жизни. Операции, приоритеты операций.Структура программы на c#.
При создании консольного приложения в Visual C#, в первой линии в редакторе кода содержится директива using с перечислением нескольких пространств имен .NET Framework. Пространство имен позволяет, в некотором смысле, сгруппировать вместе классы и структуры, что ограничивает их область действия и позволяет избежать конфликта имен с другими классами и структурами. При создании программы в Visual C# пространство имен создается автоматически. Для использования в программе классов из других пространств имен необходимо указать их с директивой using. При создании нового приложения наиболее часто используемые пространства имен .NET Framework включены в список по умолчанию. При использовании классов из других пространств имен в библиотеке классов необходимо добавить директиву using для пространства имен к исходному файлу. Следующая после оператора using строка содержит комментарий. Комментарии являются полезными для включения в них примечаний для себя или других программистов.
В программе на C# должен присутствовать метод Main, в котором начинается и заканчивается управление. В методе Main создаются объекты и выполняются другие методы. Метод Main является статическим методом, расположенным внутри класса или структуры. В примере он расположен в классе с именем MainClass.
using System;
// Сomment
namespace Example
{
class MainClass
{
public static void Main (string[]args)
{
Console.WriteLine ("Hello World!");
}
}
}
Константы. Представляют собой неизменные значения, известные во время компиляции и неизменяемые на протяжении времени существования программы. Константы объявляются с модификатором const. Только встроенные типы C# (за исключением System.Object) могут быть объявлены как const. Определяемые пользователем типы, включая классы, структуры и массивы, не могут быть const. Для создания класса, структуры или массива, которые инициализируются один раз во время выполнения (например, в конструкторе) и после этого не могут быть изменены, используется модификатор readonly.
Константы должны инициализировать сразу после объявления.
class Calendar1
{
public const int months = 12;
}
Объявление переменной. Выполняется следующим образом:
<тип> <имя>;
Эквивалентные формы определения переменных элементарных размерных типов:
int a;
System.Int32 a;
Эквивалентные формы записи операторов определения и инициализации переменных элементарных размерных типов:
int a = 0;
int a = new int();
System.Int32 a = 0;
System.Int32 a = new System.Int32();
CLR не допускает использования в выражениях неинициализированных локальных переменных. В C# к таковым относятся переменные, объявленные в теле метода. Так что при разработке алгоритма следует обращать на это особое внимание.
Область видимости переменных. Это та часть кода, в пределах которого доступна данная переменная. Область определяется такими правилами:
Поле (field), известное также как переменная-член класса, находится в области видимости до тех пор, пока в этой области находится содержащий поле класс;
Локальная переменная (local variable) - находится в области видимости до конца блока операторов или метода в котором она обьявлена;
Локальная переменная, которая обьявлена в операторах for, while или подобных им, видна в пределах тела цикла.
Операции, приоритеты операций. Для каждого определённого в C# типа существует собственный набор операций, определённых на множестве значений этого типа.
Общие характеристики используемых в C# операций представлены ниже:
Категории операций  | 
		Операции  | 
	
Арифметические  | 
		+ - * / %  | 
	
Логические (boolean и побитовые)  | 
		& | ^ ! ~ && ||  | 
	
Строковые (конкатенаторы)  | 
		+  | 
	
Increment, decrement  | 
		++ --  | 
	
Сдвига  | 
		>> <<  | 
	
Сравнения  | 
		== != < > <= >=  | 
	
Присвоения  | 
		= += -= *= /= %= &= |= ^= <<= >>=  | 
	
Member access  | 
		.  | 
	
Индексации  | 
		[]  | 
	
Cast (приведение типа)  | 
		()  | 
	
Conditional (трёхоперандная)  | 
		?:  | 
	
Delegate concatenation and removal  | 
		+ -  | 
	
Создания и удаление объекта  | 
		new/delete  | 
	
Type information  | 
		is sizeof typeof  | 
	
Overflow exception control (управление исключениями)  | 
		checked unchecked  | 
	
Indirection and Address (неуправляемый код)  | 
		* -> [] &  | 
	
На основе элементарных (первичных) выражений с использованием операций и дополнительных разделителей в виде открывающихся и закрывающихся скобок формируются выражения более сложной структуры.
Приоритет операций:
Приоритет  | 
		Операции  | 
	
1  | 
		() [] . (постфикс)++ (постфикс)-- new sizeof typeof unchecked  | 
	
2  | 
		! ~ (имя типа) +(унарный) -(унарный) ++(префикс) --(префикс)  | 
	
3  | 
		* / %  | 
	
4  | 
		+ -  | 
	
5  | 
		<< >>  | 
	
6  | 
		< > <= => is  | 
	
7  | 
		== !=  | 
	
8  | 
		&  | 
	
9  | 
		^  | 
	
10  | 
		|  | 
	
11  | 
		&&  | 
	
12  | 
		||  | 
	
13  | 
		?:  | 
	
14  | 
		= += -= *= /= %= &= |= ^= <<= >>=  | 
	
