- •1. Эволюция языков прогр-я.
- •2. Что такое .Net? Обзор технологий программирования под Windows.
- •3. Компоненты платформы .Net. Что такое .Net Framework?
- •4. Модель выполнения приложения в среде .NetFramework. Промежуточныйязык Microsoft (Microsoft Intermediate Language, msil). Сборки
- •5. Обзор встр. Типов данных в с#. Применение встроенной функц-сти типов данных.
- •6. Операции ввода-вывода. Формат вывода. Пространство имён System. Класс Math. Пространство имён System и класс Math
- •7. Арифметические операции. Операции отношений и логические операции. Операторы и выражения в c# .
- •Операторы сравнения в c#. Лог. Операции для условий
- •Операторы
- •8. Одномерные массивы в c#. Класс System.Random, применение его методов для создания массива случайных чисел. Класс System.Array, использование его методов и свойства Length.
- •9. Двумерныемассивы в c#. Виды двумерных массивови способы их определения; способы создания; построчный вывод на экран
- •10. Структуры в c#. Создание структур, доступ к элементам, массивы структур.
- •11.Объект и его свойства. Характеристики ооп.
- •12.Классы в c#. Форма определения класса. Члены класса: методы, поля, свойства и события.
- •13.Конструкторы. Параметризованные конструкторы. Использование оператора new.
- •14. Типы значений и ссылочные типы. Динамическое использование памяти: стеки и кучи. Упаковка и распаковка.
- •15. Деструкторы. Сборка «мусора».
- •16. Определение методов класса. Модификаторы доступа к методам класса. Параметры методов класса, передача аргументов.
- •17. Модификаторы ref, out, params параметров методов.
- •18. Общие (статические) члены класса. Доступ к общим членам. Ограничения на static-методы.
- •19.Область видимости и время существования переменных.
- •20. Преобразование и приведение типов.
- •21. Обработка исключительных ситуаций.
- •22. Перегрузка методов и перегрузка конструкторовкак механизм реализации полиморфизма. Виды конструкторов.
- •23. Понятие стека. Класс «Стек из символов», его основные методы.
- •24. Перегрузка операторов. Перегрузка бинарных, унарных и операторов отношений.
- •25. Свойства как механизм реализации инкапсуляции. Формат записи свойств.
- •26. Индексаторы. Специальные приемы построения типов. Создание одномерных и двумерных индексаторов.
- •27.Наследование. Базовые и производные классы. Доступы к членам базовых классов.
- •28.Конструкторы и наследование (проект «Наследование»).
- •29. Ссылки на базовый класс и объекты производных классов.
- •30. Виртуальные методы и их переопределение.
- •31. Абстрактные классы.
- •32. Понятие интерфейса. Определение интерфейса.
- •33. Способы реализации интерфейса.
- •34.Некоторые станд.Интерфейсы среды .Net Framework.
- •35. Механизмы реализации полиморфизма в c#.
- •36. Понятие обобщенного программирования. Принципы обобщенного программирования (абстрагирование, иерархия, типизация).
- •37. Коллекции и наборы. Обзор коллекций. Интерфейсы коллекций. Классы коллекций общего назначения.
- •38. Классы ArrayList, Queue, Stack. Методы работы с различными структурами данных.
- •39. Динамическая идентификация типов. Проверка типа с помощью ключевого слова is. Использование операторов as, typeof.
- •40. Обобщение. Разработка обобщенных наборов, методов, классов.
- •41. Отражение и атрибуты. Понятие отражения. Класс System.Type. Получение информации о методах и типах. Атрибуты. Основы применения атрибутов.
- •42.Принципы работы Windows-приложений c пользователем.
- •43. Делегаты. Назначение делегатов. Многоадресатная передача.
- •44. События. Объявление и генерация событий. Реализация обработчиков событий.
- •Объявление события:
- •45.Понятие компонента и компонентной модели, компонентно-ориентированного программирования.
- •46.Принципы и технологии внедрения и связывания объектов. Ос Windows позволяет:
Операторы
Формат: Один оператор может занимать одну или более строк. Два или большее количество операторов могут быть расположены на одной строке.
Вложенность: Операторы, управляющие порядком выполнения (if , if-else, switch, while, do-while, for) могут быть вложены друг в друга.
Метка оператора: Метка может стоять перед любым оператором, чтобы на этот оператор можно было перейти с пом. оператора goto. Метка состоит из идентификатора, за кот. стоит двоеточие (:). Областью определения метки явл. данная ф-ции. Пример: ABC2: x=3;
Составной оператор: (блок) сост. из одного или большего числа операторов любого типа, заключ. в фигурные скобки ({}). После закрывающей фигурной скобки не должно быть точки с запятой (;).
Оператор-выражение: Любое выражение, заканчивающееся точкой с запятой (;), является оператором.
Пустой оператор: Состоит из точки с запятой (;). Используется для обозначения пустого тела управляющего оператора.
Оператор завершения break:
break;
Прекращает выполнение ближайшего вложенного внешнего оператора switch, while,do или for.
Управление передается оператору, следующему за заканчиваемым. Одно из назначений этого оператора- закончить выполнение цикла при присваивании некоторой переменной определенного значения.
Оператор возврата return:
return;
Прекращает выполнение текущей функции и возвращает управление вызвавшей программе.
return выражение;Прекращает выполнение текущей функции и возвращает управление вызвавшей программе с передачей ей значения выражения.
Условный оператор if-else:if(логическое выражение) <оператор>;
Если выражение истинно, то выполняется <оператор>.Если выражение ложно, то ничего не делается.if (выражение) <оператор1>else<оператор2>;
Оператор-переключатель или оператор выбора switch:
switch (выражение) { case константа1 : <операторы;>break;
case константа2 : <операторы;>break;
… default: <операторы;>break; }
Селекторное выражение может принимать не только числовое значение, а и строковое.
Оператор цикла while:while (логическое выражение) { <операторы;> }
13, Оператор цикла do … while:Do<оператор>while (логическое выражение);
Оператор цикла for:for (выражение1; выражение2; выражение3) { <операторы;> }
Примечание: Оператор «Запятая».Позволяет объединить два выражения в одно там, где синтаксис С# допускает только одно выражение.
8. Одномерные массивы в c#. Класс System.Random, применение его методов для создания массива случайных чисел. Класс System.Array, использование его методов и свойства Length.
В С# массивы реализованы как объекты. Тип массив определён в системном типе System. Array. Массив – это набор эл-тов данных одного типа, сохранённых в непрер-й об-сти памяти. Массив сод. список ссылок на ячейки памяти, в кот. сохранены эл-ты массива. Массив может быть объявлен с указанием любого типа данных.
В С# размер массива не нужно указывать при его объявлении. Этим достигается большая гибкость, размер опред. в тот момент, когда массив будет использоваться.
Существует 2 сп-ба объявления массива: 1) «Позднее связывание» - размер массивасразу не указывается, а определяется позже, когда массив будет использоваться. Объявление массива: Тип_элементов[] имя_массива; Пример: int [] mas1; 2) раннее связывание, т.е. массиву сразу выделяется память. Тип_элементов[] имя_массива = newТип_элементов[кол-во_элементов]; Эта фраза работает с хвоста. Сначала определяется кол-во эл-тов, затем их тип, затем общий размер блока памяти для массива. Если бы было позднее связывание, то нужно выделить массиву память: mas1=newint[n].
Существуют способы создания элементов массива с клавиатуры и с помощью генерации элементов случайным образом. Для генерации элементов массива случайным образом оформим класс Random. В Main(): RandomOb=newRandom(); В этом классе есть 2 конструктора: без параметра (publicRandom() генерирует неповторяющиеся при каждом запуске целые числа), publicRandom (intx) –конструктор с целочисленным параметром х. Генерирует повторяющийся набор случайных чисел, начиная с х.
В этом классе имеются перегруженные методы (имеющие одинаковые имена): 1) publicintNext() –возвращает целые положительные числа во всем положительном диапазоне типа int. 2) publicintNext (intmax) –возвращает целые положительные числа от 0 до max, не включая max. 3) publicintNext(intmin, intmax) –возвращает целые положительные числа от minдо max.
Созданиеэл-товмассиваRANDOMом: for (i=0; i<n; i++) mas [i]=(float)(Ob.Next(100)+Ob.NextDouble());Console.WriteLine(“Содержимоемассива:”); for (i=0; i<n; i++) Console.Write(“{0:#.##} “,mas[i]); Console.WriteLine();
Класс System.Array, использование его методов и свойства Length.Этот класс поддерживает работу со всеми числовыми массивами. В нем имеются такие полезные методы, как Array.Sort(Имя_массива),которые упорядочивают элементы по возрастанию. Array.Revers(Имя_массива), который инверсирует массив. Удобно при обработке массивадля установки его текущего размера использовать св-во Length, который возвращает кол-во элементов в массиве. for(i=0; i<mas.Length; i++) Array.Sort(mas);
Класс System.Array наследует ряд интерфейсов: ICloneable, IList, ICollection, IEnumerable, а, следовательно, обязан реализовать все их методы и св-ва. Класс Array имеет большое число собств. методов и св-в.