SlideShare a Scribd company logo
1 of 24
АЛГОРИТМИЧЕСКАЯ КОНСТРУКЦИЯ
ПОВТОРЕНИЕ
ОСНОВЫ АЛГОРИТМИЗАЦИИ
Ключевые слова
• повторение
• циклические алгоритмы
• тело цикла
Повторение
Повторение - последовательность действий,
выполняемых многократно.
Алгоритмы, содержащие конструкцию повторения,
называют циклическими или циклами.
Последовательность действий, многократно
повторяющаяся в процессе выполнения цикла, называется
телом цикла.
Типы циклов
Заданы условия
продолжения работы
Могут бытьМогут быть
Заданы условия
окончания работы
Задано число
повторений
Пока есть кирпич
Ровно 100 кирпичей
До наступления
ночи
Цикл с заданным условием продолжения
работы
(цикл-ПОКА, цикл с предусловием)
Тело цикла
Условие
да
нет
нц пока <условие>
<тело цикла (последовательность действий)>
кц
Погрузка кирпичей
алг погрузка
нач
нц покаестькирпичи
взять один кирпич
если кирпич целый
то положить кирпич в машину
иначе отложить кирпич в
сторону
все
кц
кон
Робот в коридоре
Правее Робота расположен коридор неизвестной длины.
Необходимо, чтобы Робот закрасил все клетки этого
коридора.
нц пока справа свободно
вправо
закрась
кц
Частное и остаток
да
нет
Начало
Список данных
x, y, r, q - цел
x, y
r:=x
q:=0
r >=y
r:= r - y
q:= q +1
Конец
r, q
Таблица значений переменных
Шаг
алгоритма
Операция Переменная Условие
r >= yx y r q
1 Ввод x
2 Ввод y
3 r := x
4 q := 0
5 r >=y
6 r := r – y
7 q := q +1
8 r >=y
9 r := r – y
10 q := q +1
11 r >=y
12 r := r – y
13 q := q +1
17 r >=y
18 Вывод r
19 Вывод q
5
17
17
17
17
17
17
17
17
17
17
17
17
5
5
5
5
5
5
5
5
12
12
7
7
2
2
2
0
0
1
1
2
2
3
3
17 > 5 (Да)
12 > 5 (Да)
7 > 5 (Да)
2 > 5 (Нет)
Цикл с заданным условием окончания работы
(цикл-ДО, цикл с постусловием)
Тело цикла
Условие
да
нет
Запись на алгоритмическом языке:
нц
<тело_цикла (последовательность действий)>
кц при <условие>
Цикл с постусловием
Пример. Алгоритм по выучиванию наизусть четверостишия.
алг четверостишие
нач
нц
прочитать четверостишие по книге 1 раз
рассказать четверостишие
кц при не сделал ошибку
кон
Вычисление переменной b
Конец
да
нет
Начало
Список данных
a, b - цел
a := 1
b := 1
a = 8
a := a *2
b := b +a
b
Таблица значений переменных
Шаг
алгоритма
Операция Переменные Условие
a b a = 8
1 a := 1
2 b := 1
3 a := a * 2
4 b := b+a
5 a = 8
6 a := a * 2
7 b := b+a
8 a = 8
9 a := a * 2
10 b := b+a
11 a = 8
2 = 8 (Нет)
4 = 8 (Нет)
8 = 8 (Да)
1
1
2
2
4
4
8
8
1
1
3
7
7
15
3
Задача о тренировках
Конец
да
нет
Начало
Список данных
i – цел
x- вещ
i := 1
x := 10
x>= 25
i := i +1
x := x +0,1x
i
В 1-й день - пробежать 10 км;
каждый следующий день
увеличивать на 10% от нормы
предыдущего дня. Как только
достигнет или превысит 25 км,
необходимо прекратить
увеличение и пробегать 25 км.
Начиная с какого дня
спортсмен будет пробегать 25
км?
Пусть x — количество
километров, которое
спортсмен пробежит в
некоторый i-й день. Тогда в
следующий (i + 1)-й день он
пробежит x + 0,1x километров
(0,1x — это 10% от x).
Цикл с заданным числом повторений
(цикл-ДЛЯ, цикл с параметром)
Запись на алгоритмическом языке:
нц для i от i1 до i2
<тело_цикла (последовательность действий)>
кц
Тело цикла
i = n, k, 1
Цикл с заданным числом повторений
алг переправа
нач
нц для i от 1 до 5
два мальчика переправляются на
противоположный берег
один мальчик высаживается на берег, другой
плывёт обратно
солдат переправляется через реку
мальчик возвращается на исходную позицию
кц
кон
Вычисление степени
Конец
Начало
Список данных
i, n – цел
a, y- вещ
y := 1
y := y * a y
a, n
i = 1, n
Таблица значений переменных
Шаг
алгоритма
Операция Переменная Условие
i <= na n y i
1 Ввод a, n
2 y := 1
3 i := 1
4 i <= n
5 y := y * a
6 i := i + 1
7 i <= n
8 y := y * a
9 i := i + 1
10 i <= n
11 y := y * a
12 i := i + 1
1 <= 3 (Да)
4
4
4
4
4
4
4
4
4
3
3
3
3
3
3
3
3
3
1
1 1
1
2
2
3
3
4
4
4
16
16
64
64
2 <= 3 (Да)
3 <= 3 (Да)
4 <= 3 (Нет)
Повторение
Пример. Для исполнителя Робот цикл с известным числом
повторений реализуется с помощью следующей конструкции:
нц <число повторений> раз
<тело цикла>
кц
Так, если правее Робота не встретится препятствий, то,
выполнив приведённый ниже алгоритм, он переместится на
пять клеток вправо и закрасит эти клетки:
алг
нач
нц 5 раз
вправо; закрасить
кц
кон
Повторение
Пример. В населённом пункте N домов. Известно количество людей,
проживающих в каждом из домов. Составим алгоритм подсчёта
жителей населённого пункта.
Конец
Начало
s:= 0
s := s + a[i]
s
n
i = 1, n
a[i]
Исходные данные
(количество жильцов)
представим с помощью
линейной таблицы А,
содержащей N элементов:
A[1] — количество жильцов
дома 1, …, A[N]—количество
жильцов дома N.
В общем случае А[i] –
количество жильцов дома i,
где i принимает все значения
от 1 до n (i =1,n).
Результат работы алгоритма
обозначим через s.
Самое главное
Для записи любого алгоритма достаточно трёх основных
алгоритмических конструкций (структур): следования,
ветвления, повторения.
Повторение - алгоритмическая конструкция, представляющая
собой последовательность действий, выполняемых многократно.
Алгоритмы, содержащие конструкцию «повторение», называют
циклическими или циклами.
Последовательность действий, многократно повторяющаяся в
процессе выполнения цикла, называется телом цикла.
В зависимости от способа организации повторений различают три
типа циклов:
1) цикл с заданным условием продолжения работы;
2) цикл с заданным условием окончания работы;
3) цикл с заданным числом повторений.
Вопросы и задания
Приведите пример циклического алгоритма:
а) из повседневной жизни;
б) из литературного произведения;
в) из любой предметной области, изучаемой в школе.
Напишите алгоритм, под управлением которого
Робот обойдёт прямоугольную область, обнесённую
стеной, по периметру и закрасит угловые клетки.
Размеры области неизвестны.
*
Запас рыбы в пруду оценён в А тонн. Ежегодный
прирост рыбы составляет 15%. Ежегодный план отлова -
В тонн. Наименьший запас рыбы составляет С тонн.
(Запас ниже С тонн уже не восстанавливается.)
Составьте блок-схему алгоритма для подсчёта
количества лет, в течение которых можно выдерживать
заданный план.
Дана последовательность 5, 9, 13, 17, ... .
Составьте блок-схему алгоритма для подсчёта числа
слагаемых, сумма которых равна 324.
Составьте алгоритм для определения количества цифр в
записи произвольного натурального числа.
Сумма 10 000 рублей положена в сберегательный банк,
при этом прирост составляет 5%годовых. Составьте
алгоритм, определяющий, через какой промежуток
времени первоначальная сумма увеличится в два раза.
Одноклеточная амёба каждые три часа делится на 2
клетки. Составьте алгоритм вычисления времени, через
которое будет Х амёб.
Определите значения переменных n и m после
выполнения фрагмента алгоритма
Начало
n,m
m:=m-2
n:=n*2
m<6
n,m
Конец
ДаНет
Составьте алгоритм нахождения произведения z двух
натуральных чисел x и y без использования
операции умножения.
Население города Н увеличивается на
5%ежегодно. В текущем году оно составляет 40 000
человек.
Составьте блок-схему алгоритма вычисления
предполагаемой численности населения города через
3 года. Составьте таблицу значений переменных,
задействованных в алгоритме.
Каждая бактерия делится на две в течение 1
минуты. В начальный момент имеется одна бактерия.
Составьте блок-схему алгоритма вычисления
количества бактерий через 10 минут.
Исполните алгоритм, фиксируя каждый его шаг в
таблице значений переменных.
Объявлен набор в школьную баскетбольную
команду. Известен рост каждого из N учеников,
желающих попасть в эту команду.
Составьте алгоритм подсчёта количества
претендентов, имеющих шанс попасть в команду,
если рост игрока команды должен быть не менее 170
см.
Опорный конспект
С заданным
условием
продолжения
работы
С заданным
условием
продолжения
работы
С заданным
условием
окончания
работы
С заданным
условием
окончания
работы
С заданным
числом
повторений
С заданным
числом
повторений
Повторение - алгоритмическая конструкция, представляющая
собой последовательность действий, выполняемых многократно.
Алгоритмы, содержащие конструкцию «повторение», называют
циклическими или циклами.
Последовательность действий, многократно повторяющаяся в
процессе выполнения цикла, называется телом цикла.
Тип циклаТип цикла
Цикл - ПОКА Цикл - ДО Цикл - ДЛЯ
Источники информации
http://scaramouch.ru/foto/pereprava.jpg - лодка
http://ekb156nach.ucoz.ru/novaya_2/uchenik.png - ученик

More Related Content

What's hot

Запись вспомогательный алгоритмов на языка Паскаль
Запись вспомогательный алгоритмов на языка ПаскальЗапись вспомогательный алгоритмов на языка Паскаль
Запись вспомогательный алгоритмов на языка ПаскальAndrey Dolinin
 
Огранизация ввода и вывода данных
Огранизация ввода и вывода данныхОгранизация ввода и вывода данных
Огранизация ввода и вывода данныхAndrey Dolinin
 
Tech Talks @NSU: Теоретические основы программирования: проекции Футамуры-Тур...
Tech Talks @NSU: Теоретические основы программирования: проекции Футамуры-Тур...Tech Talks @NSU: Теоретические основы программирования: проекции Футамуры-Тур...
Tech Talks @NSU: Теоретические основы программирования: проекции Футамуры-Тур...Tech Talks @NSU
 
Одномерные массивы целых чисел
Одномерные массивы целых чиселОдномерные массивы целых чисел
Одномерные массивы целых чиселAndrey Dolinin
 
Представление информации в компьютере
Представление информации в компьютереПредставление информации в компьютере
Представление информации в компьютереAndrey Dolinin
 
Презентация на тему: ЕГЭ информатика
Презентация на тему: ЕГЭ информатикаПрезентация на тему: ЕГЭ информатика
Презентация на тему: ЕГЭ информатика2berkas
 
C++ CoreHard Autumn 2018. Обработка списков на C++ в функциональном стиле - В...
C++ CoreHard Autumn 2018. Обработка списков на C++ в функциональном стиле - В...C++ CoreHard Autumn 2018. Обработка списков на C++ в функциональном стиле - В...
C++ CoreHard Autumn 2018. Обработка списков на C++ в функциональном стиле - В...corehard_by
 
вывод алфавитно цифровой информации
вывод алфавитно цифровой информациивывод алфавитно цифровой информации
вывод алфавитно цифровой информацииLungu
 
TMPA-2015: Expanding the Meta-Generation of Correctness Conditions by Means o...
TMPA-2015: Expanding the Meta-Generation of Correctness Conditions by Means o...TMPA-2015: Expanding the Meta-Generation of Correctness Conditions by Means o...
TMPA-2015: Expanding the Meta-Generation of Correctness Conditions by Means o...Iosif Itkin
 
TMPA-2013 Dmitry Zaitsev
TMPA-2013 Dmitry ZaitsevTMPA-2013 Dmitry Zaitsev
TMPA-2013 Dmitry ZaitsevIosif Itkin
 
лекция 3. программирование циклов
лекция 3. программирование цикловлекция 3. программирование циклов
лекция 3. программирование цикловstudent_kai
 
2.8 Строки и ввод-вывод
2.8 Строки и ввод-вывод2.8 Строки и ввод-вывод
2.8 Строки и ввод-выводDEVTYPE
 
A System of Deductive Verification of Predicate Programs
A System of Deductive Verification of Predicate ProgramsA System of Deductive Verification of Predicate Programs
A System of Deductive Verification of Predicate ProgramsIosif Itkin
 
TMPA-2015: Lexical analysis of dynamically formed string expressions
TMPA-2015: Lexical analysis of dynamically formed string expressionsTMPA-2015: Lexical analysis of dynamically formed string expressions
TMPA-2015: Lexical analysis of dynamically formed string expressionsIosif Itkin
 
Автоматическая оптимизация алгоритмов с помощью быстрого возведения матриц в ...
Автоматическая оптимизация алгоритмов с помощью быстрого возведения матриц в ...Автоматическая оптимизация алгоритмов с помощью быстрого возведения матриц в ...
Автоматическая оптимизация алгоритмов с помощью быстрого возведения матриц в ...Alexander Borzunov
 
5.4 Ключевые слова static и inline
5.4 Ключевые слова static и inline5.4 Ключевые слова static и inline
5.4 Ключевые слова static и inlineDEVTYPE
 

What's hot (20)

Запись вспомогательный алгоритмов на языка Паскаль
Запись вспомогательный алгоритмов на языка ПаскальЗапись вспомогательный алгоритмов на языка Паскаль
Запись вспомогательный алгоритмов на языка Паскаль
 
Огранизация ввода и вывода данных
Огранизация ввода и вывода данныхОгранизация ввода и вывода данных
Огранизация ввода и вывода данных
 
условия, подпрограммы
условия, подпрограммыусловия, подпрограммы
условия, подпрограммы
 
Tech Talks @NSU: Теоретические основы программирования: проекции Футамуры-Тур...
Tech Talks @NSU: Теоретические основы программирования: проекции Футамуры-Тур...Tech Talks @NSU: Теоретические основы программирования: проекции Футамуры-Тур...
Tech Talks @NSU: Теоретические основы программирования: проекции Футамуры-Тур...
 
Одномерные массивы целых чисел
Одномерные массивы целых чиселОдномерные массивы целых чисел
Одномерные массивы целых чисел
 
Представление информации в компьютере
Представление информации в компьютереПредставление информации в компьютере
Представление информации в компьютере
 
Презентация на тему: ЕГЭ информатика
Презентация на тему: ЕГЭ информатикаПрезентация на тему: ЕГЭ информатика
Презентация на тему: ЕГЭ информатика
 
C++ CoreHard Autumn 2018. Обработка списков на C++ в функциональном стиле - В...
C++ CoreHard Autumn 2018. Обработка списков на C++ в функциональном стиле - В...C++ CoreHard Autumn 2018. Обработка списков на C++ в функциональном стиле - В...
C++ CoreHard Autumn 2018. Обработка списков на C++ в функциональном стиле - В...
 
вывод алфавитно цифровой информации
вывод алфавитно цифровой информациивывод алфавитно цифровой информации
вывод алфавитно цифровой информации
 
Cтандартные функции
Cтандартные функцииCтандартные функции
Cтандартные функции
 
TMPA-2015: Expanding the Meta-Generation of Correctness Conditions by Means o...
TMPA-2015: Expanding the Meta-Generation of Correctness Conditions by Means o...TMPA-2015: Expanding the Meta-Generation of Correctness Conditions by Means o...
TMPA-2015: Expanding the Meta-Generation of Correctness Conditions by Means o...
 
TMPA-2013 Dmitry Zaitsev
TMPA-2013 Dmitry ZaitsevTMPA-2013 Dmitry Zaitsev
TMPA-2013 Dmitry Zaitsev
 
лекция 3. программирование циклов
лекция 3. программирование цикловлекция 3. программирование циклов
лекция 3. программирование циклов
 
2.8 Строки и ввод-вывод
2.8 Строки и ввод-вывод2.8 Строки и ввод-вывод
2.8 Строки и ввод-вывод
 
A System of Deductive Verification of Predicate Programs
A System of Deductive Verification of Predicate ProgramsA System of Deductive Verification of Predicate Programs
A System of Deductive Verification of Predicate Programs
 
TMPA-2015: Lexical analysis of dynamically formed string expressions
TMPA-2015: Lexical analysis of dynamically formed string expressionsTMPA-2015: Lexical analysis of dynamically formed string expressions
TMPA-2015: Lexical analysis of dynamically formed string expressions
 
лекция 1
лекция 1лекция 1
лекция 1
 
01 вводная
01 вводная01 вводная
01 вводная
 
Автоматическая оптимизация алгоритмов с помощью быстрого возведения матриц в ...
Автоматическая оптимизация алгоритмов с помощью быстрого возведения матриц в ...Автоматическая оптимизация алгоритмов с помощью быстрого возведения матриц в ...
Автоматическая оптимизация алгоритмов с помощью быстрого возведения матриц в ...
 
5.4 Ключевые слова static и inline
5.4 Ключевые слова static и inline5.4 Ключевые слова static и inline
5.4 Ключевые слова static и inline
 

Similar to Алгоритмическая конструкция Повторение

циклы
циклыциклы
циклыAndEdr
 
алгоритм циклический
алгоритм циклическийалгоритм циклический
алгоритм циклическийKhydosilova
 
Презентация на тему: Обзор возможных Исполнителей в заданиях ГИА
Презентация на тему: Обзор возможных Исполнителей в заданиях ГИАПрезентация на тему: Обзор возможных Исполнителей в заданиях ГИА
Презентация на тему: Обзор возможных Исполнителей в заданиях ГИА2berkas
 
Основы комбинаторики II. Разбор задач
Основы комбинаторики II. Разбор задачОсновы комбинаторики II. Разбор задач
Основы комбинаторики II. Разбор задачDEVTYPE
 
лекция1
лекция1лекция1
лекция1ap0f30z
 
proverochnie-raboti-po-algebre
proverochnie-raboti-po-algebreproverochnie-raboti-po-algebre
proverochnie-raboti-po-algebreGarik Yenokyan
 
якобовский - введение в параллельное программирование (1)
якобовский - введение в параллельное программирование (1)якобовский - введение в параллельное программирование (1)
якобовский - введение в параллельное программирование (1)Michael Karpov
 
операторы цикла в Visual basic
операторы цикла в Visual basicоператоры цикла в Visual basic
операторы цикла в Visual basicanastastish
 
итерация и рекурсия
итерация и рекурсияитерация и рекурсия
итерация и рекурсияNick535
 

Similar to Алгоритмическая конструкция Повторение (20)

8 2-4-3
8 2-4-38 2-4-3
8 2-4-3
 
циклы
циклыциклы
циклы
 
циклы
циклыциклы
циклы
 
алгоритм циклический
алгоритм циклическийалгоритм циклический
алгоритм циклический
 
Презентация на тему: Обзор возможных Исполнителей в заданиях ГИА
Презентация на тему: Обзор возможных Исполнителей в заданиях ГИАПрезентация на тему: Обзор возможных Исполнителей в заданиях ГИА
Презентация на тему: Обзор возможных Исполнителей в заданиях ГИА
 
Основы SciPy
Основы SciPyОсновы SciPy
Основы SciPy
 
Diskretn analiz
Diskretn analizDiskretn analiz
Diskretn analiz
 
Diskretn analiz
Diskretn analizDiskretn analiz
Diskretn analiz
 
Основы комбинаторики II. Разбор задач
Основы комбинаторики II. Разбор задачОсновы комбинаторики II. Разбор задач
Основы комбинаторики II. Разбор задач
 
8 2-4-1
8 2-4-18 2-4-1
8 2-4-1
 
лекция1
лекция1лекция1
лекция1
 
4 algoritm
4 algoritm4 algoritm
4 algoritm
 
Алгоритм
АлгоритмАлгоритм
Алгоритм
 
proverochnie-raboti-po-algebre
proverochnie-raboti-po-algebreproverochnie-raboti-po-algebre
proverochnie-raboti-po-algebre
 
якобовский - введение в параллельное программирование (1)
якобовский - введение в параллельное программирование (1)якобовский - введение в параллельное программирование (1)
якобовский - введение в параллельное программирование (1)
 
операторы цикла в Visual basic
операторы цикла в Visual basicоператоры цикла в Visual basic
операторы цикла в Visual basic
 
итерация и рекурсия
итерация и рекурсияитерация и рекурсия
итерация и рекурсия
 
5
55
5
 
Циклы
ЦиклыЦиклы
Циклы
 
алгоритм
алгоритмалгоритм
алгоритм
 

More from Andrey Dolinin

правила сетевого этикета
правила сетевого этикетаправила сетевого этикета
правила сетевого этикетаAndrey Dolinin
 
история вычислительной техники
история вычислительной техникиистория вычислительной техники
история вычислительной техникиAndrey Dolinin
 
информационная культура
информационная культураинформационная культура
информационная культураAndrey Dolinin
 
информационная безопасность
информационная безопасностьинформационная безопасность
информационная безопасностьAndrey Dolinin
 
логика к.поляков
логика к.поляковлогика к.поляков
логика к.поляковAndrey Dolinin
 
история логики и основные логические операции
история логики и основные логические операцииистория логики и основные логические операции
история логики и основные логические операцииAndrey Dolinin
 
представление чисел в памяти компьютера
представление чисел в памяти компьютерапредставление чисел в памяти компьютера
представление чисел в памяти компьютераAndrey Dolinin
 
правила перевода чисел в позиционных системах счисления
правила перевода чисел в  позиционных системах  счисленияправила перевода чисел в  позиционных системах  счисления
правила перевода чисел в позиционных системах счисленияAndrey Dolinin
 
12. задача о напитках
12. задача о напитках12. задача о напитках
12. задача о напиткахAndrey Dolinin
 
12. планируем работу в графическом редакторе
12. планируем работу в графическом редакторе12. планируем работу в графическом редакторе
12. планируем работу в графическом редактореAndrey Dolinin
 
12. обработка информации
12. обработка информации12. обработка информации
12. обработка информацииAndrey Dolinin
 
11. компьютерная графика
11. компьютерная графика11. компьютерная графика
11. компьютерная графикаAndrey Dolinin
 

More from Andrey Dolinin (20)

23 24-211220132336
23 24-21122013233623 24-211220132336
23 24-211220132336
 
правила сетевого этикета
правила сетевого этикетаправила сетевого этикета
правила сетевого этикета
 
история вычислительной техники
история вычислительной техникиистория вычислительной техники
история вычислительной техники
 
информационная культура
информационная культураинформационная культура
информационная культура
 
информационная безопасность
информационная безопасностьинформационная безопасность
информационная безопасность
 
Javascript 1
Javascript 1Javascript 1
Javascript 1
 
Css
CssCss
Css
 
логика к.поляков
логика к.поляковлогика к.поляков
логика к.поляков
 
история логики и основные логические операции
история логики и основные логические операцииистория логики и основные логические операции
история логики и основные логические операции
 
представление чисел в памяти компьютера
представление чисел в памяти компьютерапредставление чисел в памяти компьютера
представление чисел в памяти компьютера
 
правила перевода чисел в позиционных системах счисления
правила перевода чисел в  позиционных системах  счисленияправила перевода чисел в  позиционных системах  счисления
правила перевода чисел в позиционных системах счисления
 
Microsoft access 2007
Microsoft access 2007Microsoft access 2007
Microsoft access 2007
 
Microsoft excel 2007
Microsoft excel 2007Microsoft excel 2007
Microsoft excel 2007
 
Word
WordWord
Word
 
Microsoft word 2007
Microsoft word 2007Microsoft word 2007
Microsoft word 2007
 
Microsoft access 2007
Microsoft access 2007Microsoft access 2007
Microsoft access 2007
 
12. задача о напитках
12. задача о напитках12. задача о напитках
12. задача о напитках
 
12. планируем работу в графическом редакторе
12. планируем работу в графическом редакторе12. планируем работу в графическом редакторе
12. планируем работу в графическом редакторе
 
12. обработка информации
12. обработка информации12. обработка информации
12. обработка информации
 
11. компьютерная графика
11. компьютерная графика11. компьютерная графика
11. компьютерная графика
 

Алгоритмическая конструкция Повторение

  • 2. Ключевые слова • повторение • циклические алгоритмы • тело цикла
  • 3. Повторение Повторение - последовательность действий, выполняемых многократно. Алгоритмы, содержащие конструкцию повторения, называют циклическими или циклами. Последовательность действий, многократно повторяющаяся в процессе выполнения цикла, называется телом цикла.
  • 4. Типы циклов Заданы условия продолжения работы Могут бытьМогут быть Заданы условия окончания работы Задано число повторений Пока есть кирпич Ровно 100 кирпичей До наступления ночи
  • 5. Цикл с заданным условием продолжения работы (цикл-ПОКА, цикл с предусловием) Тело цикла Условие да нет нц пока <условие> <тело цикла (последовательность действий)> кц
  • 6. Погрузка кирпичей алг погрузка нач нц покаестькирпичи взять один кирпич если кирпич целый то положить кирпич в машину иначе отложить кирпич в сторону все кц кон
  • 7. Робот в коридоре Правее Робота расположен коридор неизвестной длины. Необходимо, чтобы Робот закрасил все клетки этого коридора. нц пока справа свободно вправо закрась кц
  • 8. Частное и остаток да нет Начало Список данных x, y, r, q - цел x, y r:=x q:=0 r >=y r:= r - y q:= q +1 Конец r, q
  • 9. Таблица значений переменных Шаг алгоритма Операция Переменная Условие r >= yx y r q 1 Ввод x 2 Ввод y 3 r := x 4 q := 0 5 r >=y 6 r := r – y 7 q := q +1 8 r >=y 9 r := r – y 10 q := q +1 11 r >=y 12 r := r – y 13 q := q +1 17 r >=y 18 Вывод r 19 Вывод q 5 17 17 17 17 17 17 17 17 17 17 17 17 5 5 5 5 5 5 5 5 12 12 7 7 2 2 2 0 0 1 1 2 2 3 3 17 > 5 (Да) 12 > 5 (Да) 7 > 5 (Да) 2 > 5 (Нет)
  • 10. Цикл с заданным условием окончания работы (цикл-ДО, цикл с постусловием) Тело цикла Условие да нет Запись на алгоритмическом языке: нц <тело_цикла (последовательность действий)> кц при <условие>
  • 11. Цикл с постусловием Пример. Алгоритм по выучиванию наизусть четверостишия. алг четверостишие нач нц прочитать четверостишие по книге 1 раз рассказать четверостишие кц при не сделал ошибку кон
  • 12. Вычисление переменной b Конец да нет Начало Список данных a, b - цел a := 1 b := 1 a = 8 a := a *2 b := b +a b
  • 13. Таблица значений переменных Шаг алгоритма Операция Переменные Условие a b a = 8 1 a := 1 2 b := 1 3 a := a * 2 4 b := b+a 5 a = 8 6 a := a * 2 7 b := b+a 8 a = 8 9 a := a * 2 10 b := b+a 11 a = 8 2 = 8 (Нет) 4 = 8 (Нет) 8 = 8 (Да) 1 1 2 2 4 4 8 8 1 1 3 7 7 15 3
  • 14. Задача о тренировках Конец да нет Начало Список данных i – цел x- вещ i := 1 x := 10 x>= 25 i := i +1 x := x +0,1x i В 1-й день - пробежать 10 км; каждый следующий день увеличивать на 10% от нормы предыдущего дня. Как только достигнет или превысит 25 км, необходимо прекратить увеличение и пробегать 25 км. Начиная с какого дня спортсмен будет пробегать 25 км? Пусть x — количество километров, которое спортсмен пробежит в некоторый i-й день. Тогда в следующий (i + 1)-й день он пробежит x + 0,1x километров (0,1x — это 10% от x).
  • 15. Цикл с заданным числом повторений (цикл-ДЛЯ, цикл с параметром) Запись на алгоритмическом языке: нц для i от i1 до i2 <тело_цикла (последовательность действий)> кц Тело цикла i = n, k, 1
  • 16. Цикл с заданным числом повторений алг переправа нач нц для i от 1 до 5 два мальчика переправляются на противоположный берег один мальчик высаживается на берег, другой плывёт обратно солдат переправляется через реку мальчик возвращается на исходную позицию кц кон
  • 17. Вычисление степени Конец Начало Список данных i, n – цел a, y- вещ y := 1 y := y * a y a, n i = 1, n
  • 18. Таблица значений переменных Шаг алгоритма Операция Переменная Условие i <= na n y i 1 Ввод a, n 2 y := 1 3 i := 1 4 i <= n 5 y := y * a 6 i := i + 1 7 i <= n 8 y := y * a 9 i := i + 1 10 i <= n 11 y := y * a 12 i := i + 1 1 <= 3 (Да) 4 4 4 4 4 4 4 4 4 3 3 3 3 3 3 3 3 3 1 1 1 1 2 2 3 3 4 4 4 16 16 64 64 2 <= 3 (Да) 3 <= 3 (Да) 4 <= 3 (Нет)
  • 19. Повторение Пример. Для исполнителя Робот цикл с известным числом повторений реализуется с помощью следующей конструкции: нц <число повторений> раз <тело цикла> кц Так, если правее Робота не встретится препятствий, то, выполнив приведённый ниже алгоритм, он переместится на пять клеток вправо и закрасит эти клетки: алг нач нц 5 раз вправо; закрасить кц кон
  • 20. Повторение Пример. В населённом пункте N домов. Известно количество людей, проживающих в каждом из домов. Составим алгоритм подсчёта жителей населённого пункта. Конец Начало s:= 0 s := s + a[i] s n i = 1, n a[i] Исходные данные (количество жильцов) представим с помощью линейной таблицы А, содержащей N элементов: A[1] — количество жильцов дома 1, …, A[N]—количество жильцов дома N. В общем случае А[i] – количество жильцов дома i, где i принимает все значения от 1 до n (i =1,n). Результат работы алгоритма обозначим через s.
  • 21. Самое главное Для записи любого алгоритма достаточно трёх основных алгоритмических конструкций (структур): следования, ветвления, повторения. Повторение - алгоритмическая конструкция, представляющая собой последовательность действий, выполняемых многократно. Алгоритмы, содержащие конструкцию «повторение», называют циклическими или циклами. Последовательность действий, многократно повторяющаяся в процессе выполнения цикла, называется телом цикла. В зависимости от способа организации повторений различают три типа циклов: 1) цикл с заданным условием продолжения работы; 2) цикл с заданным условием окончания работы; 3) цикл с заданным числом повторений.
  • 22. Вопросы и задания Приведите пример циклического алгоритма: а) из повседневной жизни; б) из литературного произведения; в) из любой предметной области, изучаемой в школе. Напишите алгоритм, под управлением которого Робот обойдёт прямоугольную область, обнесённую стеной, по периметру и закрасит угловые клетки. Размеры области неизвестны. * Запас рыбы в пруду оценён в А тонн. Ежегодный прирост рыбы составляет 15%. Ежегодный план отлова - В тонн. Наименьший запас рыбы составляет С тонн. (Запас ниже С тонн уже не восстанавливается.) Составьте блок-схему алгоритма для подсчёта количества лет, в течение которых можно выдерживать заданный план. Дана последовательность 5, 9, 13, 17, ... . Составьте блок-схему алгоритма для подсчёта числа слагаемых, сумма которых равна 324. Составьте алгоритм для определения количества цифр в записи произвольного натурального числа. Сумма 10 000 рублей положена в сберегательный банк, при этом прирост составляет 5%годовых. Составьте алгоритм, определяющий, через какой промежуток времени первоначальная сумма увеличится в два раза. Одноклеточная амёба каждые три часа делится на 2 клетки. Составьте алгоритм вычисления времени, через которое будет Х амёб. Определите значения переменных n и m после выполнения фрагмента алгоритма Начало n,m m:=m-2 n:=n*2 m<6 n,m Конец ДаНет Составьте алгоритм нахождения произведения z двух натуральных чисел x и y без использования операции умножения. Население города Н увеличивается на 5%ежегодно. В текущем году оно составляет 40 000 человек. Составьте блок-схему алгоритма вычисления предполагаемой численности населения города через 3 года. Составьте таблицу значений переменных, задействованных в алгоритме. Каждая бактерия делится на две в течение 1 минуты. В начальный момент имеется одна бактерия. Составьте блок-схему алгоритма вычисления количества бактерий через 10 минут. Исполните алгоритм, фиксируя каждый его шаг в таблице значений переменных. Объявлен набор в школьную баскетбольную команду. Известен рост каждого из N учеников, желающих попасть в эту команду. Составьте алгоритм подсчёта количества претендентов, имеющих шанс попасть в команду, если рост игрока команды должен быть не менее 170 см.
  • 23. Опорный конспект С заданным условием продолжения работы С заданным условием продолжения работы С заданным условием окончания работы С заданным условием окончания работы С заданным числом повторений С заданным числом повторений Повторение - алгоритмическая конструкция, представляющая собой последовательность действий, выполняемых многократно. Алгоритмы, содержащие конструкцию «повторение», называют циклическими или циклами. Последовательность действий, многократно повторяющаяся в процессе выполнения цикла, называется телом цикла. Тип циклаТип цикла Цикл - ПОКА Цикл - ДО Цикл - ДЛЯ
  • 24. Источники информации http://scaramouch.ru/foto/pereprava.jpg - лодка http://ekb156nach.ucoz.ru/novaya_2/uchenik.png - ученик