- •1 Концепция структурного программирования. Причины появления концепции. Модульность и функции. Ограничения на логические конструкции. Использование оператора goto.
- •Теорема о структурном программировании (Теорема Бёма — Якопини)
- •3 Платформа .Net Framework. Многоязыковое программирование. Кроссплатформенность по. Web-ориентированные приложения.
- •Преимущества технологии динамической компиляции
- •5 Построение приложения Windows в интегрированной среде программирования
- •6 Основные типы данных
- •7 Символы и строки. Символы, строки и массивы строк. Операции над строками
- •8 Структура программы на языке c#. Понятие пространства имен. Иерархия пространств имен. Видимость имен.
- •9 Операторы. Основные языка с#. Арифметические и логические операторы. Бинарные и унарные операторы. Составные операторы. Понятие перегрузки операторов.
- •10 Выражения. Приоритет и ассоциативность операторов. Порядок вычисления выражения.
- •11 Преобразования типов. Иерархия численных типов. Явное и неявное преобразование типов. Возможные ошибки.
- •12 Тема: Модификаторы доступа языка c#. Необходимые знания: Назначение и функции модификаторов private, public, protected, internal, protected internal, private protected.
- •13 Выбор вариантов.
- •If (Условие)
- •14 Циклы.
- •15 Классы памяти
- •16 Функции в языке с#
- •17 Массивы. Создание и инициализация. Ссылки на массив. Двухмерные и многомерные массивы. Инициализация массивов. Невыровненные массивы.
- •18 Понятие класса. Определение класса и экземпляр класса. Данные и методы. Ключевое слово partial.
- •19 Создание объекта класса.
- •20 Деструкторы и «сборка мусора». Оператор «new». Резервирование и освобождение памяти. Деструкторы и «сборка мусора».
- •21 Полиморфизм и перегрузка операторов. Перегрузка унарных и бинарных операторов. Семантика перегрузки операторов в с#.
- •Понятие полиморфизма и шаблоны. Назначение и преимущества использования шаблонов. Параметры универсального типа.
- •23 Свойства c# (Понятие инкапсуляции и свойства в c#. Использование ключевых слов «get» и «set». Преимущества использования свойств.)
- •24 Механизм исключений (Назначение исключений. Основные категории исключений. Ключевые слова try, catch и finally, throw.)
- •25 Наследование в c#. Понятие наследования в c#. Механизм наследования. Базовый и производный классы. Наследование и модификаторы доступа.
12 Тема: Модификаторы доступа языка c#. Необходимые знания: Назначение и функции модификаторов private, public, protected, internal, protected internal, private protected.
Модификаторы доступа определяют область видимости как непосредственно самого класса, так и его составляющих (поля, свойства, методы). С помощью этих модификаторов можно задать следующие шесть уровней доступа:
public: неограниченный доступ;
protected: доступ ограничен содержащим классом или типами, которые являются производными от содержащего класса;
internal: доступ ограничен текущей сборкой;
protected internal: доступ ограничен текущей сборкой или типами, которые являются производными от содержащего класса;
private: доступ ограничен содержащим типом;
private protected: доступ ограничен содержащим классом или типами, которые являются производными от содержащего класса в текущей сборке.
Если для компонентов не определен модификатор доступа, то по умолчанию для них применяется модификатор private. Классы и структуры, которые объявлены без модификатора и которые расположены вне других типов, по умолчанию имеют доступ internal, а вложенные классы и структуры, как и остальные компоненты классов/структур имеют модификатор private.
Как правило, уровень доступности члена не может быть выше уровня доступности типа, в который он входит (принцип наследования).
13 Выбор вариантов.
Условный оператор (if, if else). Оператор множественного выбора (switch).
Оператор if выбирает оператор, который нужно выполнить, на основе значения логического выражения.
Оператор if с частью else выбирает для выполнения один из двух операторов на основе значения логического выражения, как показано в следующем примере:
If (Условие)
{
Оператор1(); // Выполняется если Условие = True
}
else
{
Оператор2(); // Выполняется если Условие = False
}
Оператор switch выбирает список операторов, который нужно выполнить, на основе соответствия переменной выражению.
switch (Переменная)
{
Переменная < 0.0:
Оператор1();
break;
Переменная > 10.0:
Оператор2();
break;
…
default:
ОператорПоУмолчанию();
break;
}
Ветвь default указывает операторы, которые нужно выполнить, если выражение не соответствует ни одному другому шаблону.
14 Циклы.
Цикл с предусловием (while). Цикл со счетчиком (for). Цикл с постусловием (do while). Цикл «для всех» (foreach).
Циклы являются управляющими конструкциями, позволяя в зависимости от определенных условий выполнять некоторое действие множество раз.
Цикл for
Цикл for имеет следующее формальное определение:
for ([действия_до_выполнения_цикла]; [условие]; [действия_после_выполнения])
{
// действия
}
Первая часть – некоторые действия, которые выполняются один раз до выполнения цикла. Обычно здесь определяются переменные, которые будут использоваться в цикле.
Вторая часть – условие, при котором будет выполняться цикл. Пока условие равно true, будет выполняться цикл.
Третья часть – некоторые действия, которые выполняются после завершения блока цикла. Эти действия выполняются каждый раз при завершении блока цикла.
Блок цикла сработает
3 раза, пока значение i не станет равным
4. И каждый раз это значение будет
увеличиваться на 1. Однократное выполнение
блока цикла называется итерацией.
Результат
работы программы: 1
2
3
for (int i = 1; i < 4; i++)
{
Console.WriteLine(i);
}
Цикл do..while
В цикле do сначала выполняется код цикла, а потом происходит проверка условия в инструкции while. И пока это условие истинно, цикл повторяется.
do
{
действия цикла
}
while (условие)
Здесь код цикла сработает
6 раз, пока i не станет равным нулю. Важно,
что цикл do гарантирует
хотя бы однократное выполнение
действий, даже если условие в инструкции
while не будет истинно. Например,
для i = -1, цикл все равно один раз
выполнится.
int i = 6;
do
{
Console.WriteLine(i);
i--;
}
while (i > 0);
Цикл while
Цикл while сразу проверяет истинность некоторого условия, и если условие истинно, то код цикла выполняется:
while (условие)
{
действия цикла
}
Например:
int i = 6;
while (i > 0)
{
Console.WriteLine(i);
i--;
}
Цикл foreach
Цикл foreach предназначен для перебора набора или коллекции элементов.
foreach(тип_данных переменная in коллекция)
{
// действия цикла
}
При выполнении цикл последовательно перебирает элементы коллекции и помещает их в переменную, и таким образом в блоке цикла мы можем выполнить с ними некоторые действия.
Цикл
foreach пробегается по всем символам строки
"Tom" и каждый символ помещает в
символьную переменную c. В блоке цикла
значение переменной c выводится на
консоль. Поскольку в строке "Tom"
три символа, то цикл выполнится три
раза: Т
о
m
foreach(char c in "Tom")
{
Console.WriteLine(c);
}
Если неочевидно, какой тип представляют элементы коллекции, переменная определяется с помощью оператора var: foreach(var c in "Tom")
Для всех циклов:
Если надо выйти из цикла, не дожидаясь его завершения – оператор break.
for (int i = 0; i < 9; i++)
{
if (i == 5)
break;
Console.WriteLine(i);
}
Чтобы при проверке цикл не завершался, а просто пропускал текущую итерацию – оператор continue:
for (int i = 0; i < 4; i++)
{
if (i == 2)
continue;
Console.WriteLine(i);
}
Результат:
0
1
3