Циклические алгоритмы Решение типовых задач

Содержание

Слайд 2

ОСНОВНЫЕ ПОНЯТИЯ

Алгоритм циклической структуры предусматривает многократное повторение действий в одной и той

ОСНОВНЫЕ ПОНЯТИЯ Алгоритм циклической структуры предусматривает многократное повторение действий в одной и
же последовательности по одним и тем же математическим зависимостям, но при разных значениях специально изменяемой величины.

Слайд 3

ТИПЫ ЦИКЛОВ

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

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

Цикл с параметром

ТИПЫ ЦИКЛОВ Цикл с предусловием Цикл с постусловием Цикл с параметром

Слайд 4

ТИПОВЫЕ ЗАДАЧИ

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

ТИПОВЫЕ ЗАДАЧИ Вычисление суммы и произведения Подсчет количества элементов Табулирование функций Нахождение
двух натуральных чисел
Нахождение количества делителей числа
Проверка числа на «простоту»
Проверить, является ли число палиндромом
Определение самой большой цифры натурального числа и ее позиции в этом числе

Слайд 5

ВЫЧИСЛЕНИЕ СУММЫ И ПРОИЗВЕДЕНИЯ

Для построения алгоритма решения таких задач используется цикл с

ВЫЧИСЛЕНИЕ СУММЫ И ПРОИЗВЕДЕНИЯ Для построения алгоритма решения таких задач используется цикл
параметром, т. к. число шагов цикла известно.

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

Слайд 6

СОСТАВИТЬ АЛГОРИТМ ВЫЧИСЛЕНИЯ ОБЩЕЙ СУММЫ ВЫПЛАЧЕННОЙ ПРЕМИИ ВСЕМ СОТРУДНИКАМ ФИРМЫ.

алг Премия (арг

СОСТАВИТЬ АЛГОРИТМ ВЫЧИСЛЕНИЯ ОБЩЕЙ СУММЫ ВЫПЛАЧЕННОЙ ПРЕМИИ ВСЕМ СОТРУДНИКАМ ФИРМЫ. алг Премия
цел N, вещ аi;
рез вещ S)
нач (цел i - параметр)
ввод N
S:=0
нц для i от 1 до N
ввод аi
S:=S+ аi
кц
вывод S
кон

Слайд 7

КАКУЮ ЗАДАЧУ РЕШАЕТ ЭТОТ АЛГОРИТМ?

алг Задача (арг цел n; рез цел P)
нач

КАКУЮ ЗАДАЧУ РЕШАЕТ ЭТОТ АЛГОРИТМ? алг Задача (арг цел n; рез цел
(цел i - параметр)
ввод N
Р:=1
нц для i от 1 до N
Р:=Р * i
кц
вывод Р
кон

Слайд 8

ПОДСЧЕТ КОЛИЧЕСТВА ЭЛЕМЕНТОВ

Подсчет количества элементов сводится к вычислению количества натуральных чисел в

ПОДСЧЕТ КОЛИЧЕСТВА ЭЛЕМЕНТОВ Подсчет количества элементов сводится к вычислению количества натуральных чисел
последовательности 1, 2, 3, 4 и т. д.
Правило счетчика:
начальное значение счетчика К=0
в теле циклической конструкции выполняется команда
К = К+1
если не задано дополнительных условий,
где К – промежуточное значение счетчика.

Слайд 9

СОСТАВИТЬ АЛГОРИТМ ПОДСЧЕТА КОЛИЧЕСТВА СОТРУДНИКОВ ФИРМЫ, ЗАРПЛАТА КОТОРЫХ ПРЕВЫШАЕТ 20 ТЫС. РУБ.

(Составить

СОСТАВИТЬ АЛГОРИТМ ПОДСЧЕТА КОЛИЧЕСТВА СОТРУДНИКОВ ФИРМЫ, ЗАРПЛАТА КОТОРЫХ ПРЕВЫШАЕТ 20 ТЫС. РУБ.
алгоритм подсчета количества чисел больших 20000 среди n заданных).

алг Сотрудники (арг цел n; вещ S;
рез цел K)
нач (цел i - параметр)
K:=0
нц для i от 1 до n
ввод S
если S>20000 то К:=К + 1
все
кц
вывод К
кон

Слайд 10

ТАБУЛИРОВАНИЕ ФУНКЦИИ

Табулирование функции - это вычисление значений функции при изменении аргумента от

ТАБУЛИРОВАНИЕ ФУНКЦИИ Табулирование функции - это вычисление значений функции при изменении аргумента
некоторого начального значения до некоторого конечного значения с определенным шагом.
Алгоритм табулирования содержит все основные конструкции: линейную, ветвление, цикл. В общем виде алгоритм можно описать так:
1. Определяется переменная (обычно X);
2. Перед циклом задается начальное значение переменной, условием окончания цикла является достижение переменной конечного значения;
3. В теле цикла на каждом шаге вычисляется значение функции Y, зависящее от переменной X (формируется строка таблицы);
4. В конце каждого шага значение переменной изменяется на h, где h - заданный шаг изменения, т. е. X = X + h.

Слайд 11

НАЙТИ НАИБОЛЬШИЙ ОБЩИЙ ДЕЛИТЕЛЬ (НОД) ДВУХ НАТУРАЛЬНЫХ ЧИСЕЛ M И N.

Для решения

НАЙТИ НАИБОЛЬШИЙ ОБЩИЙ ДЕЛИТЕЛЬ (НОД) ДВУХ НАТУРАЛЬНЫХ ЧИСЕЛ M И N. Для
поставленной задачи воспользуемся алгоритмом Евклида:
будем уменьшать каждый раз большее из чисел на величину меньшего до тех пор, пока оба значения не станут равными.
Для решения поставленной задачи используется цикл с предусловием, то есть тело цикла повторяется до тех пор, пока M не равно N.

Слайд 12

ДАНО НАТУРАЛЬНОЕ ЧИСЛО N. ОПРЕДЕЛИТЬ К- КОЛИЧЕСТВО ДЕЛИТЕЛЕЙ ЭТОГО ЧИСЛА, МЕНЬШИХ ЕГО

ДАНО НАТУРАЛЬНОЕ ЧИСЛО N. ОПРЕДЕЛИТЬ К- КОЛИЧЕСТВО ДЕЛИТЕЛЕЙ ЭТОГО ЧИСЛА, МЕНЬШИХ ЕГО
(N=12, ЕГО ДЕЛИТЕЛИ 1, 2, 3, 4, 6, K=5).

Словесное описание алгоритма:
В переменную K, предназначенную для подсчета количества делителей заданного числа, помещается значение, которое не влияло бы на результат, т.е. ноль.
Далее организовывается цикл, в котором изменяющийся параметр i выполняет роль возможных делителей числа N. Если заданное число делится нацело на параметр цикла, это означает, что i является делителем N, и значение переменной K следует увеличить на единицу.
Цикл необходимо повторить N/2 раз.

Слайд 13

ДАНО НАТУРАЛЬНОЕ ЧИСЛО N. ОПРЕДЕЛИТЬ, ЯВЛЯЕТСЯ ЛИ ОНО ПРОСТЫМ.

Натуральное число N называется

ДАНО НАТУРАЛЬНОЕ ЧИСЛО N. ОПРЕДЕЛИТЬ, ЯВЛЯЕТСЯ ЛИ ОНО ПРОСТЫМ. Натуральное число N
простым, если оно делится нацело без остатка только на единицу и N.

Словесное описание алгоритма:
Инициализировать значение логической переменной flag;
Определить значение делителя для числа N;
Организовать цикл с предусловием, который будет выполняться до тех пор, пока либо будет найден хотя бы один делитель (тогда flag примет значение ложь), либо до середины числа N

алг Простое_число (арг цел N; рез утв)
нач (цел delit, лог flag)
ввод N
flag := истина
delit := 2
пока (flag и (delit < div(N, 2)))
нц
если mod(N, delit) = 0 то flag := ложь
иначе delit := delit + 1
все
кц
если flag то вывод («Введенное число простое»)
иначе вывод («Введенное число составное»)
все
кон

Слайд 14

ПРОВЕРИТЬ, ЯВЛЯЕТСЯ ЛИ ЧИСЛО …

алг Число (арг цел N; рез утв)
нач (цел

ПРОВЕРИТЬ, ЯВЛЯЕТСЯ ЛИ ЧИСЛО … алг Число (арг цел N; рез утв)
a, цел b)
ввод N
a := N
b := 0
пока (a<>0)
нц
b := b*10+a mod 10
a := a div 10
кц
если N=b то вывод («Введенное число …»)
иначе вывод («Введенное число не является …»)
все
кон

Составьте словесное описание алгоритма

Слайд 15

ДАНО НАТУРАЛЬНОЕ ЧИСЛО N. ОПРЕДЕЛИТЬ САМУЮ БОЛЬШУЮ ЦИФРУ И ЕЕ ПОЗИЦИЮ В

ДАНО НАТУРАЛЬНОЕ ЧИСЛО N. ОПРЕДЕЛИТЬ САМУЮ БОЛЬШУЮ ЦИФРУ И ЕЕ ПОЗИЦИЮ В
ЧИСЛЕ

N=573863, наибольшей является цифра 8, ее позиция – четвертая слева

Слайд 16

ДАНО НАТУРАЛЬНОЕ ЧИСЛО N. ОПРЕДЕЛИТЬ САМУЮ БОЛЬШУЮ ЦИФРУ И ЕЕ ПОЗИЦИЮ В

ДАНО НАТУРАЛЬНОЕ ЧИСЛО N. ОПРЕДЕЛИТЬ САМУЮ БОЛЬШУЮ ЦИФРУ И ЕЕ ПОЗИЦИЮ В
ЧИСЛЕ

Разобьем решение этой задачи на два этапа.
Вначале найдем количество цифр в заданном числе.
Определим наибольшую цифру и ее позицию.

Слайд 17

ДАНО НАТУРАЛЬНОЕ ЧИСЛО N. ОПРЕДЕЛИТЬ САМУЮ БОЛЬШУЮ ЦИФРУ И ЕЕ ПОЗИЦИЮ В

ДАНО НАТУРАЛЬНОЕ ЧИСЛО N. ОПРЕДЕЛИТЬ САМУЮ БОЛЬШУЮ ЦИФРУ И ЕЕ ПОЗИЦИЮ В
ЧИСЛЕ

Для того, чтобы подсчитать количество цифр в числе, необходимо:
определить, сколько раз заданное число можно разделить на десять нацело.
Например, пусть N=12345, тогда количество цифр kol = 5. Результаты вычислений сведены в таблице 1:

Слайд 18

ДАНО НАТУРАЛЬНОЕ ЧИСЛО N. ОПРЕДЕЛИТЬ САМУЮ БОЛЬШУЮ ЦИФРУ И ЕЕ ПОЗИЦИЮ В

ДАНО НАТУРАЛЬНОЕ ЧИСЛО N. ОПРЕДЕЛИТЬ САМУЮ БОЛЬШУЮ ЦИФРУ И ЕЕ ПОЗИЦИЮ В
ЧИСЛЕ

Процесс определения текущей цифры числа N=12345 представлен в таблице 2:

Слайд 19

ДАНО НАТУРАЛЬНОЕ ЧИСЛО N. ОПРЕДЕЛИТЬ САМУЮ БОЛЬШУЮ ЦИФРУ И ЕЕ ПОЗИЦИЮ В

ДАНО НАТУРАЛЬНОЕ ЧИСЛО N. ОПРЕДЕЛИТЬ САМУЮ БОЛЬШУЮ ЦИФРУ И ЕЕ ПОЗИЦИЮ В
ЧИСЛЕ

Алгоритм поиска максимального значения в некоторой последовательности цифр заключается в следующем.
В ячейку, в которой будет храниться максимальный элемент (max), записывают значение, меньшее любого из элементов последовательности (в нашем случае max=-1, так как цифры числа находятся в диапазоне от 0 до 9).
Затем сравнивают элементы последовательности со значением ячейки max. Если найдется элемент, превышающий значение предполагаемого максимума, то ячейке max необходимо присвоить значение этого элемента и, соответственно, запомнить его номер в последовательности (в нашем случае переменной pos присваивается значение параметра цикла i).

Найдите минимальное значение в некоторой последовательности

Слайд 20

Определение максимальной цифры в числе и ее позиции

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

Определение максимальной цифры в числе и ее позиции Определение количества цифр в числе
Имя файла: Циклические-алгоритмы-Решение-типовых-задач.pptx
Количество просмотров: 40
Количество скачиваний: 0