Разработка линейных алгоритмов.
Линейный алгоритм (следование) образуется командами, выполняемыми однократно в той последовательности, в которой они записаны.
Чтобы составить программу линейной структуры...
1. Определить, что является исходными данными, какие будут у них типы. Выбрать имена переменных.
2. Определить, что является искомыми результатами, какие будут у них типы. Выбрать имена переменных.
3. Определить, какие формулы связывают исходные данные с результатами.
4. Если нужны промежуточные данные, определить их типы и выбрать имена вспомогательных переменных.
5. Описать все используемые переменные.
6. Записать алгоритм, который должен включать:
1. ввод всех исходных данных;
2. вычисления;
3. вывод результатов.
Будьте внимательны: вспомогательная переменная должна получить значение до того, как она будет использована в вычислениях.
7. Подобрать данные для тестирования программы (проверки правильности ее работы).
Задачи:
1. Запишите по правилам С# следующие выражения:
2. Разработать алгоритм написать программу для следующей задачи:
По норме СанПИН площадь для одного компьютера в кабинете 3 м2. Какой площадью должен быть кабинет информатики для А количества компьютеров.
3. Выкурив 1 сигарету, человек принимает 2 мг никотина. Сколько яда никотина примет человек за один день, выкурив х сигарет?
4. Сердце здорового человека делает 75 ударов в минуту. Сколько ударов сделает сердце за х минуту?
5. Тяжёлые машины и автобусы за каждый километр пробега выделяют 23 грамма азота. Сколько газа выделяет автобус маршрута № 17, если он сделал С кругов? Расстояние от вокзала до деревни равно А км.
6. В магазине продается костюмная ткань. Ее цена В руб. за квадратный метр. Составьте алгоритм и программу, которая подсчитает и выведет на экран стоимость куска этой ткани длиной Х метров и шириной 1м.
Условные операторы
Разветвляющимся называется такой алгоритм, в котором выбирается один из нескольких возможных вариантов вычислительного процесса. Каждый подобный путь называется ветвью алгоритма.
Для разработки таких алгоритмов применяют условный оператор. Условный оператор может использоваться в форме полной или неполной развилки.
В случае неполной развилки если условие истинно, то блок операций выполняется, если условие ложно, то блок операций не выполняется. В случае полной развилки если условие истинно, то выполняется блок операций 1, иначе выполняется блок операций 2.
Условие может быть простым и составным.
В простых условия используются операторы сравнения:
< - меньше, чем..
> - больше, чем...
<= - меньше, чем... или равно
>= - больше, чем... или равно
<> - не равно
= = - равно
Например, простыми отношениями являются следующие:
x-y>10; k<= (a+b); s = = 0;
Составные условия строятся из простых с помощью логических операторов:
&& - И
|| - ИЛИ
! – НЕ
Например
((y>10) && (k<= a))
На языке С# условный оператор имеет вид:
Оператор условия может быть вложенным.
Задачи
1. Если введенное значение переменной a равно7, то на экране мы увидим слово Привет!Если не равно — то на экран ничего выводится не будет.
2. Пример без фигурных скобок, объяснение.
3. Найти максимальное из трех чисел.
4. Сумма покупки составляета рублей. Если а больше 1000 рублей, то предоставляется скидка 15%. Вывести на экран сумму покупки с учетом скидки либо сообщение о том, что скидка не предоставляется.
5. Проверить, принадлежит ли число введенное с клавиатуры, интервалу (-5;3)
Дано двузначное число. Определить:
· входит ли в него цифра 3
· входит ли в него цифра а
Оператор ветвления switch (оператор множественного выбора)
Оператор if позволяет осуществить выбор только между двумя вариантами. Для того, чтобы производить выбор одного из нескольких вариантов необходимо использовать вложенный оператор if. С этой же целью можно использовать оператор ветвления switch.
Общая форма записи
switch (целое выражение) {
case константа1: блок операций1;
break;
case константа2: блок операций2;
break;. . .
case константаn: блок операцийn;
break;
default: блок операций по умолчанию;
break;}
Оператор ветвления switch выполняется следующим образом:
· вычисляется целочисленное выражение в скобках оператора switch;
· полученное значение сравнивается с метками (константами) в опциях case, сравнение производится до тех пор, пока не будет найдена метка, соответствующая вычисленному значению целочисленного выражения;
· выполняется оператор соответствующей метки case;
· если соответствующая метка не найдена, то выполнится оператор в опции default.
Альтернатива default может отсутствовать, тогда не будет произведено никаких действий.
Опция break; осуществляет выход из оператора switch и переход к следующему за ним оператору. При отсутствии опции break будут выполняться все операторы, начиная с помеченного данной меткой и кончая оператором в опции default.
Задачи:
Циклические алгоритмы
Цикл – набор команд, который выполняется многократно.
Тело цикла – последовательность выполняемых команд.
Параметр цикла – переменная управляющая выполнением цикла. Параметр изменяет свое значение при каждом прохождении тела цикла.
Шаг цикла — это значение, на которое будет увеличиваться или уменьшаться счетчик цикла при каждом проходе.
1. Цикл с предусловием.
Блок схема:
Сначала проверяется условие, если оно истинно, то выполняется тело цикла, затем условие проверяется снова и так до тех пор, пока условие не станет ложным.
while(условие)
{
Блок команд
}
Пример. Напечатать квадраты чисел от 1 до 10. Здесь переменная i является параметром цикла, она участвует в условии и она же изменяется при каждом прохождении тела цикла.
int i=1;
While (i<=10)
{
Console.WriteLine( i*i);
i = i +1;
}
Еще пример. Найдем сумму чисел от i до k.
int k=5;
int i=1;
int sum=0;
while(i <=k) {
sum = sum + i;
i++;
}
2. Цикл с постусловием
Сначала выполняется тело цикла, затем проверяется условие, если условие истинно, то тело цикла выполняется еще раз. И так до тех пор, пока условие не станет ложным.
do
{
тело цикла
}
while (условие);
Пример. Напечатать квадраты чисел от 1 до 10.
int i=1;
do
{ Console.WriteLine( i*i);
i = i +1;
}
while (i<=10)
Поскольку условие проверяется после выполнения тела цикла, то тело цикла с постусловием всегда будет выполнено хотя бы один раз, независимо от истинности условия.
3. Цикл с заданным числом повторений (параметрический цикл)
for (Параметр = НачЗн; Условие; Шаг)
{
Тело цикла;
}
Условие проверяется перед каждым повторением тела цикла. Если оно истинно, то тело цикла выполняется и так до тех пор, пока параметр цикла будет удовлетворять условию.
Пример. Напечатать квадраты чисел от 1 до 10.
int i;
for(i=1;i<=10;i=i+1)
{ Console.WriteLine( i*i);
}
Оператор break делает принудительный выход из цикла, даже когда условие цикла — истинно. Оператор break удобно использовать, когда необходимо выйти из цикла при особых обстоятельствах. Оператор continue нужен если необходимо пропустить какой-то блок кода, но при этом не прекращать работу цикла.
Упражнения:
1. Найти сумму четных чисел от 1 до 100
2. Вывести все числа от 1 до 100 кратные пяти