Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Прак. ОАиП 230401.doc
Скачиваний:
17
Добавлен:
17.02.2016
Размер:
375.81 Кб
Скачать

Контрольные вопросы и задания:

  1. Обозначьте основные правила описания переменных в С++.

  2. Каким образом осуществляется описание переменных одновременно с инициализацией?

  3. Можно ли переменной вещественного типа присвоить переменную целого типа и наоборот? Почему?

  4. Дайте характеристику типа enum.

Рекомендуемая литература: 1.3, 1.4, 1.5, 1.7, 2.1, 2.2.

Практическое занятие №15

Тема: Организация простых циклов

Цель: закрепление знаний, умений и навыков по составлению циклических блок-схем, использованию циклических операторов С++ для решения задач.

Вид работы: фронтальный.

Время выполнения: 2 часа.

Теоретический материал:

В языке С++ существует три вида циклов: параметрический, с постусловием и с предусловием.

Оператор цикла с параметром:

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.