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

Содержание

Слайд 2

Цикл с условием

Цикл с условием

Слайд 3

Как организовать цикл? Допустим, мы хотим вывести 5 раз на экран

Как организовать цикл?

Допустим, мы хотим вывести 5 раз на экран слово

«привет». Можно, конечно, записать 5 одинаковых команд:

Но что если нужно будет сделать какие-то действия 1000 или 1000000 раз?

Слайд 4

Как организовать цикл? Простейший цикл, нужный нам в этой задаче, в

Как организовать цикл?

Простейший цикл, нужный нам в этой задаче, в алгоритмическом

языке записывается так:

В Паскале и во многих других языках записать цикл в такой форме нельзя, однако можно легко запрограммировать те же действия немного по-другому.

Слайд 5

Как организовать цикл? Программа выполняется автоматически. И при этом на каждом

Как организовать цикл?

Программа выполняется автоматически. И при этом на каждом шаге

нужно знать, сколько раз уже выполнен цикл и сколько ещё осталось выполнить. Для этого необходимо использовать ячейку памяти (переменную).
Такая переменная часто называется счётчиком.
Слайд 6

Как организовать цикл? Сначала в переменную-счётчик записывают ноль (ни одного шага

Как организовать цикл?

Сначала в переменную-счётчик записывают ноль (ни одного шага не

сделано), а после каждого шага цикла увеличивают значение на единицу:

Другой вариант: сразу записать в счётчик нужное количество шагов, и после каждого шага цикла уменьшать счётчик на 1. Тогда цикл должен закончиться при нулевом значении счётчика.

Слайд 7

Циклы с предусловием У них есть два важных свойства: Цикл, в

Циклы с предусловием

У них есть два важных свойства:

Цикл, в котором проверка

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

условие проверяется при входе в цикл, поэтому цикл не выполнится ни разу, если условие в самом начале ложно;

как только нарушается условие в заголовке цикла, его работа заканчивается.

Слайд 8

Циклы с предусловием Требуется ввести с клавиатуры натуральное число и найти

Циклы с предусловием

Требуется ввести с клавиатуры натуральное число и найти сумму

цифр его десятичной записи. Например, если ввели число 123, программа должна вывести сумму 1+2+3 = 6.

Сначала составим алгоритм решения этой задачи.
Предположим, что число записано в переменной N. Нам нужно как-то разбить число на отдельные цифры.

Слайд 9

Циклы с предусловием Остаток от деления числа на 10 равен последней

Циклы с предусловием

Остаток от деления числа на 10 равен последней цифре

его десятичной записи:

Эту цифру числа нужно добавить к сумме всех цифр, которые мы уже обработали раньше sum:

В самом начале значение этой переменной равно нулю.

Слайд 10

Циклы с предусловием Для того чтобы добавить к предыдущей сумме новую

Циклы с предусловием

Для того чтобы добавить к предыдущей сумме новую цифру,

нужно заменить значение переменной sum на sum+d, то есть выполнить присваивание

Для того чтобы затем отсечь последнюю цифру числа N, разделим N на 10 (основание системы счисления):

Слайд 11

Циклы с предусловием Эти три операции –нужно выполнять несколько раз, пока

Циклы с предусловием

Эти три операции –нужно выполнять несколько раз, пока все

цифры не будут обработаны и в переменной N не останется ноль:
Слайд 12

Циклы с предусловием Эти три операции –нужно выполнять несколько раз, пока

Циклы с предусловием

Эти три операции –нужно выполнять несколько раз, пока все

цифры не будут обработаны и в переменной N не останется ноль:
Слайд 13

Циклы с постусловием Это полезно в том случае, когда нужно обязательно

Циклы с постусловием

Это полезно в том случае, когда нужно обязательно выполнить

цикл хотя бы один раз.
Слайд 14

Циклы с постусловием Пользователь должен ввести с клавиатуры положительное число. Для

Циклы с постусловием

Пользователь должен ввести с клавиатуры положительное число. Для того

чтобы защитить программу от неверных входных данных, можно использовать цикл с постусловием:

Этот цикл закончится тогда, когда станет истинным условие N > 0 в последней строке, то есть тогда, когда пользователь введет допустимое значение.

Слайд 15

Циклы с постусловием На блок-схеме этого алгоритма видно, что проверка условия

Циклы с постусловием

На блок-схеме этого алгоритма видно, что проверка условия выполняется

после завершения очередного шага цикла.

при входе в цикл условие не проверяется, поэтому цикл всегда выполняется хотя бы один раз;
в последней строке указывают условие окончания цикла.

Слайд 16

Цикл по переменной

Цикл по переменной

Слайд 17

Циклы по переменной В информатике важную роль играют степени числа 2

Циклы по переменной

В информатике важную роль играют степени числа 2 (2,

4, 8, 16 и т.д.).

Давайте выведем на экран все степени двойки от 21 до 210. Для решения этой задачи мы уже можем написать такую программу, использующую цикл с условием:

Слайд 18

Циклы по переменной Переменная k используется трижды! Чтобы собрать все действия

Циклы по переменной

Переменная k используется трижды!

Чтобы собрать все действия с ней

в один оператор, во многие языки программирования введен особый вид цикла – цикл по переменной.

В заголовке этого цикла задается начальное и конечное значение этой переменной, а шаг её изменения по умолчанию равен 1:

Слайд 19

Циклы по переменной Найдём сумму чисел от 1 до 1000. Для

Циклы по переменной

Найдём сумму чисел от 1 до 1000.
Для накопления

суммы будем использовать переменную (назовём её sum).
В цикле другая переменная (скажем, i) изменяется от 1 до 1000, и на каждом шаге этого цикла к сумме добавляется очередное число:
Слайд 20

Циклы по переменной С каждым шагом цикла переменная цикла может не

Циклы по переменной

С каждым шагом цикла переменная цикла может не только

увеличиваться, но и уменьшаться на 1.
Для этого в алгоритмическом языке добавляется параметр шаг, а в Паскале ключевое слово to заменяется на downto («вниз до…»).
Следующая программа печатает квадраты натуральных чисел от 10 до 1 в порядке убывания:
Слайд 21

Выводы: С помощью циклов в программе можно выполнять повторяющиеся действия. Различают

Выводы:

С помощью циклов в программе можно выполнять повторяющиеся действия.
Различают два вида

циклов: циклы с условием и циклы по переменной.
Цикл с условием выполняется до тех пор, пока некоторое условие (условие продолжения работы цикла) не станет ложным. Если это условие никогда не станет ложным, программа зацикливается.
В некоторых языках программирования есть циклы, в запись которых содержит не условие продолжения, а условие выхода из цикла.
Проверка условия может происходить перед выполнением очередного шага цикла (в циклах с предусловием) или после него (в циклах с постусловием). Цикл с предусловием может не выполняться ни разу, а цикл с постусловием всегда выполняется хотя бы один раз.
Цикл по переменной применяют тогда, тогда количество шагов цикла заранее известно или может быть вычислено до начала цикла. В заголовке цикла по переменной указывают начальное значение, конечное значение и шаг изменения переменной цикла.
Модифицированный алгоритм Евклида для вычисления НОД двух натуральных чисел: заменять бóльшее из чисел на остаток от деления бóльшего на меньшее, пока этот остаток не станет равен нулю. Тогда второе число и есть их НОД.