- •Перечисления
- •Условия
- •Пример использования switch. Месяц года.
- •Цикл while
- •Цикл do while
- •Оператор цикла for
- •Пример задачи:
- •*Рекурсия
- •Пример 1. Цикл с помощью рекурсии
- •Оператор цикла forech
- •Вложенные циклы
- •Пример 2. Найти сумму цифр числа a.
- •Способ 1. Нерекурсивный
- •Способ 2. Рекурсивный
- •Структуры для работы со временем
- •Процедурное программирование
- •Практическая часть урока Задача 1. Алгоритм нахождения нод и организация метода
- •Задача 2. Сумма двух последних цифр
- •Задача 3. Сложные условия
- •Задача 4. Задача огэ (9 класс)
- •Задача 5. Учимся подсчитывать эффективность программы
- •Задача 6. Дано натуральное число n. Вычислить n!
- •Задача 7. Последовательность Фибоначчи
- •Задача 8. “Ханойская башня”
- •Домашнее задание
- •Дополнительные материалы
- •Используемая литература
Пример использования switch. Месяц года.
Вводится число, программа печатает, какой это месяц года:
static void Main() {
int m = 6; string s; switch (m) { case 1: case 2: case 12: s="Зима"; break; case 3: case 4: case 5: s="Весна"; break; case 6: case 7: case 8: s = "Лето"; break; case 9: case 10: case 11: s="Осень"; break; default: s="Ничего"; break; } Console.WriteLine(s); } |
Циклы
Цикл – это многократное выполнение одинаковой последовательности действий.
В C# доступны 4 разновидности цикла:
цикл while;
цикл do while;
цикл for;
цикл foreach.
Цикл while
Задача: Ввести целое число (<2000000000) и определить количество цифр в нем.
int n=int.Parse(Console.ReadLine()); int count=0; while(n!=0) { count++; n=n/10;// так как n-целое, деление целочисленное } Console.WriteLine(count); |
Формат оператора while:
while (условие) { оператор; } |
|
можно использовать сложные условия;
если в теле цикла только один оператор, скобки { и } можно не писать.
Цикл do while
Задача. Организовать ввод данных, ограничив значения числами от 1 до 99.
int a,count=0; do { Console.Write("Введите возраст:"); a=int.Parse(Console.ReadLine()); count++; } while(a<1 || a>99);// Повторять пока условие истинно(true) Console.WriteLine("Вы сделали "+count+" попыток ввода"); |
do { операторы; } while (условие); |
Тело цикла всегда выполняется хотя бы один раз.
Оператор цикла for
Задача. Вывести на экран 5 раз слово «Привет».
for(int i=0;i<5;i++) { Console.Write(i+" "); Console.WriteLine("Привет"); } |
for (инициализация; условие; итерация) { оператор; } |
Если тело цикла состоит из одного оператора, то операторные скобки { и } можно не писать:
Условие каждый раз пересчитывается.
Пример задачи:
Даны два целых числа A и B (A меньше B). Вывести в порядке убывания все целые числа от B до A , а также количество N и сумму S этих чисел.
static void Main() { int a = int.Parse(Console.ReadLine()); int b = int.Parse(Console.ReadLine()); int k = 0,s=0; for (int i = b; i >= a; i--) { Console.Write(i + " "); k++; s=s+i; } Console.WriteLine("\nk={0} s={1}",k,s); } |
