
- •Общие сведения о программировании Понятие алгоритма и его свойства
- •Константы
- •Класс «Math»
- •Линейные алгоритмы
- •Разветвляющиеся алгоритмы Ветвление и условный оператор
- •Условная операция
- •Оператор переключатель
- •Циклические алгоритмы
- •Циклы со счётчиком
- •Цикл с предусловием
- •Цикл с постусловием
- •Генератор случайных чисел
- •Работа с массивами Пузырьковая сортировка
- •Составные типы данных: структуры
- •Подпрограммы в языке c#. Работа с функциями
- •Работа с файлами
Условная операция
В отличии от унарных и бинарных операций, условная операция используется с 3 операндами
Общий формат:
Выражение1 ? выражение2 : выражение3
Выражение 1 – условие. Если оно истинно, то вычисляется значение выражения 2, которое становится результатом, иначе в качестве результата берётся значение выражения 3.
Пример. Максимум из двух чисел
Max = x>y ? x : y;
Оператор переключатель
Оператор if позволяет выбрать один из 2х возможных путей решения. В ряде случаев таких путей бывает больше и применение if в данном случае не эффективно.
Для выбора одного из нескольких путей решения существует оператор-переключатель switch.
Общий формат:
Switch (выражение)
{
Case Константное_число_1: оператор_1; break;
Case Константное_число_2: оператор_2; break;
…
Case Константное_число_n: оператор_n; break;
Default: операторы; break;
}
Выражение записывается относительно специальной переменной выбора(c-вектора), которое может быть любого целочисленного или строкового типа.
Константные выражения – это значения выражения, при которых выполняется оператор 1- оператор n соответственно. Если селектор выбрал значение не принадлежащей ни одному из перечисленных, то выполняются операторы записанные после слова default.
Пример: перевести цифру в римской системе исчисления в её десятичный эквивалент
Using system;
Class Example
{
Public static void Main()
{
Int r;
Console.Write(“r=”);
r = console.read();
int n;
switch (r)
{
Case ‘M’: n = 1000; break;
Case ‘D’: n = 100; break;
…
Case ‘I’: n = 1; break;
}
If (n != 0)
Console.writeline(“n=” + n);
Else
Console.writrline(“Ошибка!!!!!!!”);
}
}
Циклические алгоритмы
Задачи решаемые с помощью языков программирования являются такие, в которых необходимо выполнять одни и те же операции над различными данными. Это достигается за счёт того, что некоторые операторы выполняются много раз.
Группа многократно повторяющихся операторов называется циклом, а содержащая их программа циклической.
Количество повторений цикла определяется значением некоторой управляющей переменной – параметром цикла.
В блоке подготовка задаются начальные значения переменных, используемых в вычислениях и в первую очередь параметров цикла.
Блок условие выполнения, в зависимости от значения параметра, либо продолжает выполнение цикла, либо прекращает его.
Под рабочей частью содержится многократно повторяемые операторы, которые выполняют необходимые вычисления.
В блоке изменения параметров цикла задаётся способ изменения параметра и выполняется переход к его новому значению
Блоки 1,2 и 4 являются необходимыми и типовыми для циклических алгоритмов и реализуются специальным операторами цикла. Блок 3 индивидуален для каждой задачи
Делятся на 2 типа:
По типу параметра и условию его окончания:
Циклы со счётчиком. Количество повторений заранее известно
Итерационные. Число повторений может быть неизвестно. Выход из цикла осуществляется при определённом условии.
Циклы со счётчиком
Формат записи на языке C#:
For (выражение 1; выражение2; выражение3)
Операторы тела цикла;
Выражение1 – блок «подготовка»
Выражение2 – блок «условие»
Выражение3 – вычисляется на каждом шаге цикла.
Пример.
Найти сумму чисел от 1 до 10
Int s = 0;
For (int I = 1; I <= 10; i++) s += I;
Любое из 3 выражений цикла может быть опущено, но «;» ставятся всегда.
For ( ; ; );
Если в заголовке или внутри цикла объявить переменную, то она будет действительна только в пределах цикла.
Если многократно нужно выполнить несколько операторов, то они помещаются в блок между фигурными скобками.
Для циклов с неизвестным числом повторений используются 2 оператора с предусловием и пост условием