
- •Введение
- •Переменные и константы
- •Типы данных
- •Числовые функции
- •Класс Random
- •Линейные алгоритмы
- •Условные операторы
- •Оператор if...Else
- •Оператор выбора switch
- •Оператор цикла с параметром
- •Сумма конечного ряда
- •Обработка данных во время ввода
- •Циклы с постусловием и предусловием
- •Дополнительные задачи
- •Массивы
- •Одномерные массивы Пример
- •Инициализация массива
- •Обработка элементов массива
- •Задания на определение суммы и количества элементов одномерного массива, соответствующих определенному условию
- •Задания на нахождение максимального и минимального элемента в одномерном числовом массиве
- •Работа с двумя массивами
- •Условный оператор после обработки массива
- •Самостоятельные задания по теме «Одномерные массивы»
- •Двумерные массивы Простейшие задачи
- •Сравнение (анализ) элементов
- •Расчётные задачи
- •Простейшие задачи
- •Поиск в текстовом файле
- •Работа с несколькими файлами
- •Текстовые файлы
- •Функции и процедуры
- •Библиографический список
Оператор выбора switch
Когда имеется сложный набор условий, лучше всего воспользоваться оператором switch, который является более удобной альтернативой оператору if.
Логика оператора switch следующая: «найти значение, соответствующее переменной для сравнения, и выполнить соответствующее действие». Иными словами, он работает как оператор выбора нужного действия.
switch (выражение)
{
case константное выражение: инструкция
выражение перехода
[default:: инструкция]
}
Подобно оператору условия if...else, выражение условия помещено в круглые скобки в начале оператора switch.
Внутри оператора switch есть секция выбора – case и секция действия по умолчанию – default. Секция выбора нужна для определения действия, которое будет выполняться при совпадении соответствующего константного выражения выражению в switch. В этой секции обязательно нужно указать одно или несколько действий. Секция default может в операторе switch не указываться. Она выполняется в том случае, если не совпала ни одна константная инструкция из секции выбора.
Оператор case требует обязательного указания значения для сравнения (constant-expression) – константного выражение (литеральная или символическая константа, или перечисление), а также блока инструкций (statement) и оператора прерывания действия (jump-statement).
Если результат условия совпадет с константным значением оператора case, то будет выполняться соответствующий ему блок инструкций. Как правило, в качестве оператор перехода используют оператор break, который прерывает выполнение оператора switch.
Пример
static void Main(string[] args)
{
//По номеру дня недели вывести его название
int a;
Console.Write("Введите номер дня недели: ");
a = int.Parse(Console.ReadLine());
switch (a)
{
case 1:
Console.WriteLine("Понедельник");
break;
case 2:
Console.WriteLine("Вторник");
break;
case 3:
Console.WriteLine("Среда");
break;
case 4:
Console.WriteLine("Четверг");
break;
case 5:
Console.WriteLine("Пятница");
break;
case 6:
Console.WriteLine("Суббота");
break;
case 7:
Console.WriteLine("Воскресенье");
break;
default:
Console.WriteLine("Такого дня недели не существует");
break;
}
Console.ReadLine();
}
Задачи
Дан номер месяца (1 — январь, 2 — февраль, ...). Вывести название соответствующего времени года ("зима", "весна" и т.д.).
Дан номер месяца (1 — январь, 2 — февраль, ...). Вывести число дней в этом месяце для невисокосного года.
Дано целое число в диапазоне 0 – 9. Вывести строку — название соответствующей цифры на русском языке (0 — "ноль", 1 — "один", 2 — "два", ...).
Дано целое число в диапазоне 1 – 5. Вывести строку — словесное описание соответствующей оценки (1 — "плохо", 2 — "неудовлетворительно", 3 — "удовлетворительно", 4 — "хорошо", 5 — "отлично").
Арифметические действия над числами пронумерованы следующим образом: 1 — сложение, 2 — вычитание, 3 — умножение, 4 — деление. Дан номер действия и два числа A и B (В не равно нулю). Выполнить над числами указанное действие и вывести результат.
Единицы длины пронумерованы следующим образом: 1 — дециметр, 2 — километр, 3 — метр, 4 — миллиметр, 5 — сантиметр. Дан номер единицы длины и длина отрезка L в этих единицах (вещественное число). Вывести длину данного отрезка в метрах.
Единицы массы пронумерованы следующим образом: 1 — килограмм, 2 — миллиграмм, 3 — грамм, 4 — тонна, 5 — центнер. Дан номер единицы массы и масса тела M в этих единицах (вещественное число). Вывести массу данного тела в килограммах.
Робот может перемещаться в четырех направлениях ("С" — север, "З" — запад, "Ю" — юг, "В" — восток) и принимать три цифровые команды: 0 — продолжать движение, 1 — поворот налево, –1 — поворот направо. Дан символ C — исходное направление робота и число N — посланная ему команда. Вывести направление робота после выполнения полученной команды.
Локатор ориентирован на одну из сторон света ("С" — север, "З" — запад, "Ю" — юг, "В" — восток) и может принимать три цифровые команды: 1 — поворот налево, –1 — поворот направо, 2 — поворот на 180 градусов. Дан символ C — исходная ориентация локатора и числа N1 и N2 — две посланные ему команды. Вывести ориентацию локатора после выполнения данных команд.
Элементы окружности пронумерованы следующим образом: 1 — радиус (R), 2 — диаметр (D), 3 — длина (L), 4 — площадь круга (S). Дан номер одного из этих элементов и его значение. Вывести значения остальных элементов данной окружности (в том же порядке). В качестве значения Pi использовать 3.14.
Элементы равнобедренного прямоугольного треугольника пронумерованы следующим образом: 1 — катет (a), 2 — гипотенуза (c), 3 — высота, опущенная на гипотенузу (h), 4 — площадь (S). Дан номер одного из этих элементов и его значение. Вывести значения остальных элементов данного треугольника (в том же порядке).
Элементы равностороннего треугольника пронумерованы следующим образом: 1 — сторона (a), 2 — радиус вписанной njpsfmnqrh (R1), 3 — радиус описанной окружности (R2), 4 — площадь (S). Дан номер одного из этих элементов и его значение. Вывести значения остальных элементов данного треугольника (в том же порядке).
Даны два целых числа: D (день) и M (месяц), определяющие правильную дату невисокосного года. Вывести значения D и M для даты, предшествующей указанной.
Даны два целых числа: D (день) и M (месяц), определяющие правильную дату невисокосного года. Вывести значения D и M для даты, следующей за указанной.
Дано целое число в диапазоне 20 – 69, определяющее возраст (в годах). Вывести строку — словесное описание указанного возраста, обеспечив правильное согласование числа со словом "год", например: 20 — "двадцать лет", 32 — "тридцать два года", 41 — "сорок один год".
Дано целое число в диапазоне 100 – 999. Вывести строку — словесное описание данного числа, например: 256 — "двести пятьдесят шесть", 814 — "восемьсот четырнадцать".
В восточном календаре принят 60-летний цикл, состоящий из 12- летних подциклов, обозначаемых названиями цвета: зеленый, красный, желтый, белый и черный. В каждом подцикле годы носят названия животных: крысы, коровы, тигра, зайца, дракона, змеи, лошади, овцы, обезьяны, курицы, собаки и свиньи. По номеру года вывести его название, если 1984 год был началом цикла — годом зеленой крысы.
Циклы
Ещё вставить про циклы теорию - ?
Существует 4 вида циклов:
1. цикл с параметрами
2. цикл с постусловием
3. цикл с предусловием
4. совместный цикл
Цикл с параметрами:
В цикле с параметрами указывается некоторая переменная, условие, при котором будет выполняться цикл и шаг, с которым меняется данная переменная. Условие, как и в любом другом цикле, указывается в виде булевого значения (True\False). Обычно условие имеет вид:
for (int i = 0; i < 100; i++)
{
//тело цикла
}
Этот цикл выполнит 100 итераций, прежде чем условие i < 100 прекратит выполняться, после чего цикл завершится.
Цикл с постусловием
Данный цикл имеет вид
do
{
//тело цикла
}
while(условие)
Притом даже если условие не выполняется (False), цикл выполнится хотя бы 1 раз, прежде чем условие будет проверено, затем, если условие по прежнему выполняется, снова выполнится оператор, стоящий после do.
Цикл с предусловием
Цикл имеет вид
while(условие)
{
//тело цикла
}
В этом цикле сначала, перед выполнением, проверяется условие, если оно выполняется - итерация выполняется.
Совместный цикл
Так же данный цикл называется циклом просмотра. Выглядит он так:
foreach (type item in massiv)
{
//тело цикла, использование item
}
В данном цикле указывается тип элементов, которые требуются и коллекцию объектов, по которой будет вестись проход. Выполняем операцию X для всех элементов данного типа в данной коллекции. Также имеются операторы break и continue, первый - завершает цикл, второй - завершает текущую итерацию и переходит к следующей.
Пример
static void Main(string[] args)
{
//Известны оценки абитуриента на четырёх экзаменах. Определить, сколько «5» он получил.
int i,ocenka, counter=0;
for (i=1; i<5; i++)
{
Console.Write ("Введите " + i + " оценку абитуриента: ");
ocenka = int.Parse(Console.ReadLine());
Console.WriteLine();
if (ocenka == 5) counter++;
}
Console.Write ("Количество пятерок, полученных абитуриентом: " + counter);
Console.ReadLine();
}
static void Main(string[] args)
{
//Известны оценки по информатике 28 учеников класса. Выяснить, есть ли среди них двойки.
int i=1, uch;
// Цикл проверяет условие при выходе из цикла. Он выполняется до тех пор, пока остается истинным условие.
do
{
Console.Write ("Введите оценку по информатике " + i + " ученика: ");
uch = int.Parse(Console.ReadLine());
Console.WriteLine();
i++;
if (i >29) goto loop1;
}while(uch != 2);
loop1:
if (uch == 2) Console.Write ("Среди оценок есть двойки");
else Console.Write ("Среди оценок нет двоек");
Console.WriteLine();
Console.ReadLine();
}