Практическая работа №14
Тема: Организация простых циклов
Цель: закрепление знаний, умений и навыков по составлению циклических блок-схем, использованию циклических операторов С++ для решения задач.
Вид работы: фронтальная.
Время выполнения: 4 часа.
Теоретический материал:
В языке С++ существует три вида циклов: параметрический, с постусловием и с предусловием.
Оператор цикла с параметром:
for (<оператор 1>; <выражение 1>; <оператор 2>) <оператор 3>;
Как правило, оператор 1 и оператор 2 являются операторами присваивания или обращениями к функции, а выражение 1 условным выражением. Цикл for удобно использовать в тех случаях, когда заранее известно количество повторений цикла, или имеется явно выраженная переменная, управляющая циклом.
В общем виде цикл с предусловием записывается так:
while (<выражение>) <оператор>;
Цикл while является условным циклом, использующим некоторое выражение. Если выражение истинно (или в общем случае не равно нулю), то оператор, входящий в цикл while, выполняется один раз, а затем выражение проверяется снова. И так до тех пор, пока выражение не станет ложным.
В языке Си++ имеется также конструкция цикла с постусловием, где истинность условия проверяется после выполнения каждой итерации цикла. Этот подход реализуется с помощью цикла do/while.
Форма записи:
do <оператор>
while (<выражение>);
Тело цикла do/while всегда выполняется, по крайней мере, один раз, поскольку проверка условия осуществляется только после его завершения.
Задания:
1) Вычислите факториал некоторого числа с использованием цикла while.
2) Вычислите факториал некоторого числа с использованием цикла do/while.
3) Выведите на экран все буквы латинского алфавита.
4) Напишите программу для вычисления значений тригонометрической функции (синус, косинус, тангенс, котангенс) на интервале (0; π) с шагом 0.1. Выбор функции осуществляется пользователем из списка.
5) Программным способом вычислите значение Y:
Ход работы:
В тетрадь оформите блок-схемы и листинги 2, 3, 4 и 5 задач
1. Факториал некоторого числа находится по формуле:
f:=1*2*…*n
, где f – результат (факториал числа), n – число, от которого определяется факториал. Оператор цикла с предусловием запишется следующим образом:
while (i<=n) {f *=i; i++;}
В теле цикла будет накапливаться произведение и увеличиваться значение переменной i на единицу.
2. см. предыдущий пункт.
3. Удобнее применять цикл с параметром, где в качестве параметра записывается символьная переменная:
for(d=’a’; d<=’z’; d++) cout<<d<<’\t’;
4. При решении задачи понадобиться цикл с параметром и оператор-переключатель, т.к. значение x изменяется от 0 до π с определённым шагом и выбор функции зависит от пользователя. В начале программы подключается стандартная библиотека ввода/вывода и библиотека математических функций. Цикл можно записать так:
for (x=0.1; x<3.14; x+=0.1)
В теле цикла записываются оператор выбора:
switch(d)
{ case ‘1’: y=sin(x); break;
case ‘2’: y=cos(x); break;
// тоже для тангенса и котангенса
}
и вывод на экран значений x и y. Таким образом, в зависимости от введённого с клавиатуры символа d происходит выбор тригонометрической функции.
5. Необходимо найти сумму выражения с изменяющимся параметром i. Словесный алгоритм решения задачи: начальное значение суммы присваивается нулю (Y=0); вводится с клавиатуры n; в цикле i изменяется от 1 до n; значение суммы (Y) увеличивается на 1/(i*i); вывод s.
Контрольные вопросы и задания:
1) Каково назначение циклов?
2) Укажите общий вид записи каждой циклической конструкции в С++.
3) Как работает оператор for?
4) Каким образом в теле цикла записывается несколько операторов?
5) Можно ли в условии прекращения цикла использовать логические операции? Почему?
Скачано с www.znanio.ru
Материалы на данной страницы взяты из открытых источников либо размещены пользователем в соответствии с договором-офертой сайта. Вы можете сообщить о нарушении.