Презентация "Технологии программирования"
Подписи к слайдам:
Технологии программирования
- Доц. каф. «Медиаменеджмента и медиапроизводства» Евич Л.Н.
- Цикл — многократное повторение одного и того же участка программы.
- Цикл for
- Цикл for как правило используется в тех случаях, когда можно точно определить необходимое количество повторов.
- for (/*инициализирующее выражение */ ; /* условное выражение */; /* модифицирующее выражение */ )
- {
- /*один оператор или блок операторов*/;
- }
- for (/*инициализирующее выражение */ ; /* условное выражение */; /* модифицирующее выражение */ )
- {
- /*один оператор или блок операторов*/;
- }
- При работе цикла for первым выполняется инициализирующее выражение, в котором обычно устанавливается счетчик цикла, то есть переменной задается начальное, например, i=1. Это происходит только один раз перед запуском цикла. Затем анализируется условное выражение, которое также называется условием прекращения цикла. Пока оно равно true, цикл не прекращается. Например, i<10. Каждый раз после всех строк тела цикла выполняется модифицирующее выражение, в котором происходит изменение счетчика цикла. Например, i++. Как только проверка условного выражения даст результат false, все строки тела цикла и модифицирующее выражение будут пропущены и управление будет передано первому выражению, следующему за телом цикла.
- Пример
- #include <iostream>;
- #include <stdio.h>;
- using namespace std;
- void main() {
- int sum = 0, i;
- for (i=1; i<10; i++) sum+=i;
- cout << sum << endl;
- getchar();
- }
- В C++ допускается объявление переменных прямо в строке инициализации цикла for. В этом случае, предыдущий пример программы примет вид
- #include <iostream>;
- #include <stdio.h>;
- using namespace std;
- void main() {
- int sum = 0;
- for (int i=1; i<10; i++) sum+=i;
- cout << "sum=" << sum << endl;
- getchar();
- }
- Обращение к переменной i, объявленной в цикле, вне цикла приведет к ошибке (область видимости переменной ограничивается циклом).
- Пример
- #include <iostream>;
- #include <stdio.h>;
- using namespace std;
- void main() {
- int sum = 0;
- for (int i=1; i<10; i++) sum+=i;
- cout << "sum=" << sum << "i="<< i << endl; //в этой //строке ошибка
- getchar();
- }
- Вложенные циклы for
- Синтаксис вложенных циклов for
- //Внешний цикл
- for (/*инициализирующее выражение */ ; /* условное выражение */;
- /* модифицирующее выражение */ )
- {
- /*один оператор или блок операторов*/;
- // Внутренний цикл
- for (/*инициализирующее выражение */ ; /* условное выражение */;
- /* модифицирующее выражение */ )
- {
- /*один оператор или блок операторов*/;
- }
- }
- Вложенные циклы for
- Пример
- #include <iostream>;
- #include <stdio.h>;
- using namespace std;
- void main() {
- int sum = 0;
- for (int i=1; i<4; i++) {
- cout << "i=" << i << endl;
- for (int j=1; j<5; j++)
- cout << "i=" << i << " j="<< j << endl;
- }
- getchar();
- }
- #include <iostream>;
- #include <stdio.h>;
- using namespace std;
- void main() {
- int sum = 0;
- for (int i=1; i<6; i++) {
- for (int j=1; j<5; j++) {
- if (i < j) break;
- cout << "i=" << i << "\t j="<< j << endl;
- cout << "i-j=" << i-j << endl;
- }
- cout << endl;
- }
- getchar();
- }
- Оператор break (разрыв) вызывает немедленный выход из циклов, организуемых с помощью операторов for, while, do-while, switch; управление передается на оператор, следующий за законченным.
- Пример 2
- #include <iostream>;
- #include <stdio.h>;
- using namespace std;
- void main() {
- int sum = 0, j;
- for (int i=1; i<6; i++) {
- for (j=1; j<5; j++) {
- cout << "i=" << i << "\t j="<< j << endl;
- cout << "i-j=" << i-j << endl;
- }
- if (i < j) break;
- cout << endl;
- }
- getchar();
- }
- Пример 1
- #include <iostream>;
- #include <stdio.h>;
- using namespace std;
- void main() {
- int sum = 0;
- for (int i=1; i<8; i++) {
- if (i % 2 == 0) continue;
- cout << "i=" << i << endl;
- }
- getchar();
- }
- Оператор continue передает управление на следующую итерацию того цикла, в теле которого он находится.
- Задания для самостоятельной работы
- 26. Определите что будет выведено на экран в результате работы следующей программы.
- #include <iostream>;
- #include <stdio.h>;
- using namespace std;
- void main() {
- int a,b=0,i;
- for (i=1;i<=6;i++)
- {
- a=i+2;
- if (a>=5) b-=a;
- else b+=a;
- }
- cout<< "b="<<b<<endl;
- getchar();
- }
- Наберите текст программы и проверьте правильность ответа.
- Задания для самостоятельной работы
- 27. Определите что будет выведено на экран в результате работы следующей программы.
- #include <iostream>;
- #include <stdio.h>;
- using namespace std;
- void main() {
- int a=0,i,j;
- for (i=12;i<=15;i++)
- for (j=4;j>=2;j--)
- if (i%j!=0) continue;
- else
- a+=i/j;
- cout<< "a="<<a<<endl;
- getchar();
- }
- Наберите текст программы и проверьте правильность ответа.
- Задания для самостоятельной работы
- 28. Дано целое число n (n>-10). Составьте программу, которая вычисляет сумму чисел от -10 до n.
- 29. Дано натуральное число n. Составьте программу, которая выводит на экран числа следующим образом:
- 1 2 3 4 5 6 . . . n-2 n-1 n
- Задания для самостоятельной работы
- 30. Составьте программу, которая выводит на экран таблицу умножения в виде:
- 1*1=1 1*2=2 . . . 1*9=9 2*1=2 2*2=4 . . . 2*9=18 . . . 9*1=9 9*2=18 . . . 9*9=81
- Задания для самостоятельной работы
- 31. Дано натуральное число n. Составьте программу, которая вычисляет
- сумму
- 32. Даны натуральное число n и целые числа x1, x2, …, xn. Составьте программу, которая находит среднее арифметическое тех из них, которые кратны 4-м.
- 33. Дано натуральное число n. Составьте программу, которая вычисляет значения элементов последовательности a0, a1, a2, …, an, если
- 34. Дано натуральное число n. Составьте программу, которая вычисляет сумму