Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Программирование на языке с++ ч.1.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
2.13 Mб
Скачать

Лабораторная работа №13 Операторы цикла: оператор цикла с параметром for

Цель работы: изучить операторы цикла и научиться работать с оператором цикла с параметром for в языке C++.

Теоретические сведения

Цикл – это такая форма организации действий, при которой одна и та же последовательность действий совершается несколько раз (или ни разу) до тех пор, пока выполняется некоторое условие.

Различают: арифметические и итерационное циклы. Итерация – это организация обработки данных, при котором действия повторяются многократно, не приводя при этом к вызовам самих себя.

Имеется несколько вариантов записи операторов цикла. К их числу относятся следующие:

  1. оператор цикла с параметром for (параметрический, арифметический, цикл со счетчиком);

  2. оператор цикла с условием (итерационный):

    1. оператор цикла с предусловием while (с префиксным условием);

    2. оператор цикла с постусловием do...while (с постфиксным условием).

Любой оператор цикла в языке C++ состоит из двух элементов – заголовка и тела цикла.

Заголовок цикла – это область инициализации цикла, которая состоит из ключевого слова и выражения (или выражений).

Тело цикла – это последовательность операторов, входящих в цикл.

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

Цикл с параметром – цикл, в котором некоторая переменная изменяет своё значение от заданного начального значения до конечного значения с некоторым шагом, и для каждого значения этой переменной последовательность операторов цикла выполняется один раз.

Оператор цикла for – это наиболее общий способ организации цикла. Он имеет следующий синтаксис:

for (выражение1; выражение-условие; выражение3)

тело_цикла;

выражение1 – выражение инициализации, которое определяет действия, выполняемые до начала цикла, т.е. задает начальные условия для цикла. Оно выполняется один раз в начале цикла.

выражение-условие – это выражение, определяющее условие, при котором тело цикла будет выполняться. Проверка условия производится перед каждым возможным выполнением цикла. Оно обычно логическое или арифметическое.

выражение2 – выражение итерации, которое определяет изменение переменных, управляющих циклом после каждого выполнения тела цикла.

Схема выполнения оператора for следующая:

  • вычисляется выражение1;

  • вычисляется выражение-условие;

  • если значение выражения-условия отлично от нуля, выполняется тело цикла, вычисляется выражение3 и осуществляется переход к пункту 2 (т.е. вычисляется выражение-условие и все повторяется…). Если значение выражения-условия равно нулю, то управление передается на оператор, следующий за оператором for.

Важно отметить, что проверка условия выполняется в начале цикла. Это значит, что тело цикла может ни разу не выполниться, если выражение-условие при входе в цикл будет равно нулю.

Пример 1. Вычисления квадратов чисел от 1 до 9.

#include <stdio.h>

void main() {

int i, b;

for ( i=1; i<10; i++ ) {

b=i*i;

printf("\n %2d в квадрате = %3d", i, b);

}

}

Примеры использования цикла for.

1) for (n=10; n>0; n--) /*уменьшение параметра n*/

{

операторы;

}

2) for (n=2; n>60; n+=13) /*изменение шага корректировки*/

{

операторы;

}

3) for (num=1; num*num*num<216; num++)

/*проверка условия отличного от того, которое налагается

на число итераций*/

{

операторы;

}

4) for (d=100.0; d<150.0; d*=1.1)

/*коррекция с помощью умножения*/

{

операторы;

}

5) for (x=1; y<=75; y=5*(x++)+10)

/*коррекция с помощью арифметического выражения*/

{

операторы;

}

6) for (x=1, y=0; x<10; x++;y+=x);

/*использование нескольких корректирующих выражений, тело цикла

отсутствует*/

Использование нескольких переменных (перечисляются через запятую), управляющих циклом for повышают его гибкость.

Бесконечный цикл – это цикл, написанный таким образом, что условие выхода из него никогда не выполняется. О программе, вошедшей в бесконечный цикл, иногда говорят, что она зациклилась. Для организации такого цикла можно использовать пустое условное выражение, а для выхода из цикла обычно используют дополнительное условие и оператор break.

for ( ; ; )

{ ...

... break;

...

}

Пример 2. Программа для печати фрагмента таблицы ASCII (от 32-го символа до  126-го).

#include <stdio.h>

void main() {

int number;

char character;

for (number = 32; number <= 126; number = number + 1 ) {

character = number;

printf("Символ %c имеет код %d (дес.) или

%x(шестнд.)\n",сharacter,character,character);

}

}

Пример 3. Вычислить S = 1 + 2 + 3 + 4 + … + n.

#include <iostream.h>

void main() {

int n,i,s=0;

cout<<"\nВведите n=";

cin>>n;

if(n<=0) {

cout<<"\n n<=0";

return;

}

for(i=1;i<=n;i++) s+=i;

cout<<"\nS="<<s<<"\n";

}

Задания

  1. Составьте программу для решения задачи. Напечатать таблицу соответствия между весом в фунтах и весом в килограммах для 1, 2, … 10 (1 фунт = 453 г).

  2. Составьте программу для решения задачи. Вычислить сумму n слагаемых: .

  3. Составьте программу для решения задачи. Известны оценки за контрольную работу программированию каждого студента группы. Определить среднюю оценку.

  4. Составьте программу для решения задачи. Вычислить факториал числа n. n!=1*2*..*n, 0!=1. Факториал определён только для целых неотрицательных чисел.

Домашние задания

  1. Наберите коды программ из Примеров 1, 2 и 3. Сохраните коды программ. Выполните компиляцию и запуск программ. Введите свои данные в качестве входных.

  2. Составьте программу для решения задачи. Напечатать таблицу умножения на число n (значение n вводиться с клавиатуры, 1  n  9). Ниже представлен рекомендуемый вид во время работы программы. Данные, вводимые пользователем, выделены жирным шрифтом.

Введите число n = 7

Таблица умножения на 7:

1*7=7

2*7=14

. . . .

9*7=63

  1. Составьте программу для решения задачи. Вычислить сумму n слагаемых: .

  2. Составьте программу для решения задачи. Даны числа a1, a2, … an. Определить сумму их квадратов.

  3. Составьте программу для решения задачи. Вычислить двойной факториал n!! Значение n вводится с клавиатуры. Под двойным факториалом понимают произведение всех натуральных чисел той же четности, что и n, не превосходящих n. Например, 10!!=2*4*6*8*10; 9!!=1*3*5*7*9.