- •Лабораторная работа №1
- •Теория: Алгоритмы
- •Правила оформление Блок-схемы
- •Структурное программирование
- •Виды структур:
- •Оператор goto
- •Условная конструкция if
- •Например:
- •Конструкция выбора switch
- •Свойства алгоритма:
- •Примеры Блок-схем алгоритмов
- •Синтаксические конструкции условий
- •Пример 1:
- •Пример 2:
- •Примечание:
- •2.3. Циклические конструкции
- •Конструкция с предусловием while
- •Конструкция с постусловием do..While
- •Конструкция со счетчиком for
- •Математические функции и константы
- •Примеры
- •Примерные варианты заданий
- •Контрольные вопросы:
Пример 1:
switch (A)
{
case 2: Console.Write("A равно 2"); break;
case 5: Console.Write("A равно 5"); break;
case 10: Console.Write("A равно 10"); break;
default: Console.Write("A не равно не 2, не 5, не 10"); break;
}
Если значение выражения не совпадает ни с одним из значений констант в списке секций case, то выполняется конструкция_d в сек- ции default, которая также должна передавать управление. Секция de- fault также является необязательной.
Пример 2:
switch (action)
{
case "delete": case "create":
case "edit": neededAccessLevel="user"; break; case "read": neededAccessLevel="guest"; break;
default: neededAccessLevel="administrator"; break;
}
if (User.accessLevel!= neededAccessLevel) throw new AccessDenided();
Примечание:
В случае объявления переменных или их первичной инициализа- ции в условных конструкциях (if, switch), и использования этих же переменных вне конструкции в которой они были объявлены, возни- кает ошибка компиляции. В связи с тем, что перед использованием переменная должна быть обязательно инициализирована, а инициа- лизация в условных конструкциях может быть не выполнена. В таком случае инициализация должна проводиться до использования и без условий, даже если созданные условия охватывают все возможные варианты.
2.3. Циклические конструкции
Циклические конструкции (циклы) обычно используют для мно- гократного повторения некоторых действий.
В C# имеется четыре различных циклических конструкции:
цикл с предусловием (while);
цикл с постусловием (do);
цикл со счетчиком (for);
цикл перечисления (foreach).
Конструкция с предусловием while
Цикл while используется, как правило, в тех случаях, когда зара- нее неизвестно количество повторений цикла.
Синтаксис оператора while:
while (<выражение>) <конструкция>;
Результат вычисления выражения должен быть логического типа, его значение вычисляется каждый раз перед выполнением конструк- ции (тела цикла), поэтому цикл while называют еще циклом с пред- условием. Выполнение заданной конструкции будет выполняться до тех пор, пока выражение равно true. Если значение выражения false, то происходит выход из цикла.
Для предотвращения бесконечного повторения цикла (зациклива- ния), необходимо, чтобы результат выражения мог измениться на false, для этого в теле цикла должна изменяться хотя бы одна пере- менная, входящая в выражение.
Пример: вычисление суммы ряда, состоящего из 50 элементов.
int s = 0, n = 1; while (n <= 50)
{
s += 1 / n; n++;
}
Конструкция с постусловием do..While
Цикл do..while, как правило, используется в тех случаях, когда за- ранее неизвестно количество повторений (итераций) тела цикла, но необходимо выполнить тело цикла хотя бы один раз. Синтаксис цик- ла do..while:
do <конструкция> while (<выражение>);
В цикле do..while вначале выполняется тело цикла, представлен- ное произвольной конструкцией, затем вычисляется значение выра- жения; если его значение равно true, то вновь выполняется оператор, если значение выражения false, то цикл заканчивается. Если значение выражения равно false с самого начала, то конструкция выполняется лишь один раз. Если выражение никогда не принимает значение false, то оператор выполняется бесконечное число раз, т.е. происходит «за- цикливание».
Пример: вычисление суммы ряда, состоящего из 50 элементов.
double s = 0; int n = 1; do
{
s += 1.0 / n; n++;
} while (n <= 50);
