1 Когда известно число повторений одного и того же действия, удобно использовать цикл с параметром Цикл с параметром (определенный цикл)
2 – определенный цикл – частный случай команды повторение с предусловием (цикл «пока»). K=, Тело цикла
3 Поскольку определенный цикл – наиболее часто реализуемая циклическая структура, во всех языках программирования для его реализации используется специальная команда. For k:= to do ;
4 For k:= to do ; K=, Тело цикла K= K Тело цикла K : = K + 1 да нет
5 Тело цикла выполняется определенное число раз. За количеством выполнений тела цикла следит параметр цикла (счетчик). Вначале при входе в цикл счетчик принимает начальное значение, затем сравнивается соответствие счетчика с конечным значением. В случае если значение счетчика меньше или равняется конечному значению – выполняются команды тела цикла, затем значение счетчика увеличивается на один, и управление передается в начало цикла (на блок проверки условия продолжения цикла).
6 K= K
7 - начальное и конечное значения параметра цикла могут быть представлены константами, переменными или арифметическими выражениями порядкового типа. Параметр цикла должен принадлежать тому же типу данных.порядкового типа. Например: n:= 4; For k:= n to 11 do ; {k последовательно будет принимать значения 4, 5, 6, 7, 8, 9, 10, 11. Для каждого из них выполнится тело цикла} For k:= 4 to 1 do ; {тело цикла не выполнится ни разу, т.к. 4 > 1 },
8 Тело цикла; Если ; состоит из нескольких операторов, то операторы тела цикла заключаются в операторные скобки (begin – end).
9 For k:= DownTo do ; Оператор цикла с параметром Выполняется аналогично, но значение параметра (k) изменяется с шагом -1 For k:= 4 downto 1 do ; {k последовательно будет принимать значения 4, 3, 2, 1. Для каждого из них выполнится тело цикла}
10 K=,,-1 Тело цикла
11 Задача. Распечатать целые числа от а до b. ( а < b ) Программа: Program Chislo; Var a, b, k: integer; Begin Write( Введите 2 целых числа: ); Readln(a,b); For k:= a to b do Writeln(k); Writeln End. Ввод a,b Вывод k k = a,b Дано: a, b – целые числа (вводятся с клавиатуры). Получить: распечатать a, a+1, a+2, …, b (столбцом) Связи: a < b
12 Самостоятельная работа Написать алгоритм и программу 1.Написать на экране 20 раз свое имя в виде: 1 Федор 2 Федор … 20 Федор 2. Таблицу умножения на 7. Результат представить в виде: 7 х 2 = 14 7 х 3 = 21 … 7 х 9 = 63 Вопросы для контроля
13 Таблица умножения на N. Результат представить в виде: 7 х 2 = 14 (Например, N = 7) 7 х 3 = 21 … 7 х 9 = 63 Вывод N*k Ввод N k = 2, 9 Программа: Program Tabl_ymn; Var N, k: integer; Begin Write( Введите целое число ); Readln(N); For k:= 2 to 9 do Writeln( N, x, k, =, N*k); Readln; End.
14 Задача. Получить сумму целых чисел от а до в. а, в – целые числа, (а < в) S=0 Ввод A,В Вывод S K= А,В S=S + K Программа: Program Symma3; Var a, b, k, s: integer; Begin S:=0; Write( Введите 2 целых числа: ); Readln(a,b); For k:= a to b do s:=s+k; Writeln( Sum =, S:4); End. Анализ результатов: Введите 2 целых числа: 1 10 Предполагаемый результат: Sum = 55 KS Трассировочная таблица (A=1, B=5)
15 Самостоятельная работа Написать алгоритм и программу 1. Получить сумму чисел от 1 до N. (S = …+ N ) 2. Получить произведение чисел от 1 до N. (N! = 1*2*3*…*N) 3. Просуммировать N чисел, задаваемых пользователем … cos(1) + cos(2) + cos(3) + cos(N)
…+ 30 Определим k – переменная цикла, k = 1, 2, 3, … 15 S – переменная ячейка для накопления суммы. S=0 Вывод S K= 1, 15 S=S + 2*k KS …… Трассировочная таблица
17 Для возведения натурального числа в квадрат, используем следующую закономерность: 1 2 = = = = ….. n 2 = … + 2n-1 Написать алгоритм и программу. Проверить алгоритм с помощью трассировочной таблицы
18 Для возведения натурального числа в третью степень, используем следующую закономерность: 1 3 = = = = = ….. Написать алгоритм и программу. Проверить алгоритм с помощью трассировочной таблицы
19 Решение задач 1. 1/ / /5 2 + … + 1/ … Напечатать таблицу соответствия расстояния в дюймах расстояниям в сантиметрах для значений 10, 11, 12,…22 дюйма (1 дюйм = 25,4 мм). 4. Составить алгоритм и программу, проверяющую, является ли последовательность из 10 целых чисел, вводимых с клавиатуры, возрастающей.
20 5. Составить программу-генератор простых чисел. В основу положить формулу 2х² + 29 при 0х У гусей и кроликов всего 64 лапы. Сколько может быть кроликов и гусей (указать все сочетания)? 7. Задача Аль-Хорезми ( гг.). Разложить число 10 на 2 слагаемых, сумма квадратов которых равна Составить программу-генератор чисел Пифагора, т.е. чисел, удовлетворяющих условию α² + b² = c². Определить количество различных троек таких чисел для с < Индийский математик С. Рамануджан обратил внимание на то, что число 1729 можно представить в виде кубов двух чисел двумя способами. Найдите эти числа. Для тех, кому интересно!
Вычислить: 1 – 1/2 + 1/3 – 1/4 + … +1/9999 – 1/10000 следующими четырьмя способами: a) последовательно слева направо; b) последовательно слева направо вычисляя 1 + 1/3 + … +1/9999 и 1/2 + 1/4 + … 1/10000 затем второе значение вычитается из первого; c) последовательно справа налево; d) последовательно справа налево вычисляются суммы, написанне в пункте b), затем – вычитание. (результат представить с точностью до 7 знаков после точки) Почему при вычислениях на вычислительной машине каждым из этих способов получаются различные результаты?