Виды алгоритмов

Download Report

Transcript Виды алгоритмов

Способы описания и виды
алгоритмов
Учитель информатики гимназии №12
г. Тюмени
Бугаева Елена Викторовна 
Алгоритм – описание
последовательности действий (план),
строгое исполнение которых приводит к
решению поставленной задачи за
конечное число шагов.
Алгоритмизация – процесс
разработки алгоритма (плана действий)
для решения задачи.
Способы описания
1) Словесная форма записи алгоритма
представляет собой описание на
естественном языке последовательных
этапов обработки данных
Пример: алгоритм вычисления выражения
52*(62+ 32), будет выглядеть следующим
образом:
1.вычислить значения выражений 62 и 32,
2.сложить их ,
3. умножить полученную сумму на значение
выражения 52.
2)Графическая форма
записи, называемая также
блок-схемой алгоритма,
представляет собой
изображение алгоритма в
виде последовательности
связанных между собой
блоков (геометр. фигур).
3)Алгоритмический язык - язык,
используемый для формальной записи
алгоритмов.
Большинство языков
программирования относятся к
алгоритмическим языкам. Такая
запись алгоритма на алгорит.
языке называют программой.
Средства представления Блок-схемы
Блок, обозначающий
начало или конец
алгоритма
Блок ввода или
вывода
информации
Блок проверки
условия (выбор
приоритетов)
Вычислительный блок
Вывод информации на
бумагу
Циклический
процесс,
контролирующий
цикл
1
Соединитель (используется
для разрыва блок-схемы)
Связи между блоками,
обозначаются стрелкой
Рассмотрим алгоритм для расчета прибыли по
формуле : прибыль = доходы – расходы, записанный
разными способами:
Графическим способом
в виде блок-схемы:
 На естественном языке:
1. Задать величину доходов.
2. Задать величину
расходов.
3. Вычислить прибыль по
формуле:
прибыль = доходы –
расходы.
НАЧАЛО
Ввод:
D – доходы;
R - расходы
P=D–R
Вывод P
КОНЕЦ
 На алгоритмическом школьном языке:
алг “расчет прибыли”
нач
запрос (“доходы=”, D)
запрос (“расходы=”, R)
P:=D-R
вывод (“прибыль=”, P)
 На языке программирования Basic:
REM расчет прибыли
INPUT “доходы =” ; D
INPUT “расходы=”; R
P=D-R
PRINT “прибыль=”; P
END
Виды алгоритмов
1) Следование – это последовательность
блоков (или групп блоков) алгоритма.
Такие алгоритмы называют линейными.
НАЧАЛО
Ввод
Вычисления
Вывод
КОНЕЦ
Запись линейного алгоритма с
помощью блок-схемы
Какая цель этого
алгоритма?
Описание действий,
которые выполняются
однократно в
заданном порядке.
2) Ветвление – алгоритм,
в котором в
зависимости от условия выполняется либо
одна,
либо
другая
последовательность
действий.
Рис. 1
подобные структуры называют полным
ветвлением
Разветвляющийся алгоритм
Чем будет отличаться структура алгоритма
определения кода замка?
НАЧАЛО
ВВОД КОДА
ДА
НЕТ
КОД = 555 ?
ПРОХОДИ!
КОНЕЦ
Пример
X
да
нет
X<0
Y = -1
нет
да
X=0
Y=0
нет
да
X>0
Y=1
Y
Определите какую задачу решает этот алгоритм,
программа.
3)Циклические алгоритмы- алгоритм, составленный
с использованием многократных повторений одних и
тех же действий (циклов).
Задачи, которые решаются с использованием циклически
алгоритмов:
Требуется получить следующий узор:
** ** ** ** ** ** ** ** ** ** **
** ** ** ** ** ** ** ** ** ** **
** ** ** ** ** ** ** ** ** ** **
** ** ** ** ** ** ** ** ** ** **
** ** ** ** ** ** ** ** ** ** **
** ** ** ** ** ** ** ** ** ** **
Здесь используется цикл - простое повторение элемента **
.
Блок-схема циклического
алгоритма
оператор
да
Цикл с предусловием (цикл ДО)
Цикл с пост условием (цикл Пока)
Циклический алгоритм
(на примере поиска Золушки)
№1. Определите значение целочисленной переменной у
после выполнения следующего фрагмента программы на
алгоритмическом языке, представленного в виде блоксхемы.
1) 7
2) 8
3) 9
4) 10
Задание:
1)Запишите разными способами
алгоритм вычисления значения y по
формуле:
b  b 2  4ac
у
2)
 sin x

, еслиx  0

у x



1, если.x  0

2a
3)Составите
блок-схему
квадратного уравнения.
решения
Д.З.
• Выучить лекцию;
• Составите алгоритм (блок-схему)
вычисления площади любой фигуры.
Тест -проверка
Создайте блок-схему для следующих задач:
I
1)Найдите значения
функции Y=ax+b
2)Найдите значение
функции
 sin x

, если _ x  0

у x



1, если _ x  0

3)В прямоугольном
треугольнике известны длины
катетов и гипотенузы.
Найдите площадь
треугольника.
II
1) Составите алгоритм
вычисления площади круга
S=пR2
2)Найдите значение
функции
 1

, если _ x  7 

у  x 7


 3x  9, если _ x  7

3)Вычислите среднее
арифметическое 2-х
чисел(а+в)/2 и среднее
геометрическое
аb
Способы представления
алгоритма: Черные ящики
Черный ящик –это объект (устройство,
алгоритм) действие которого заранее
неизвестны.
Чтобы понять принцип его работы надо
поставить ряд опытов - подать
информацию на вход и посмотреть что
получиться на выходе.
Не понимаю – выдается, если на выходе
подана информация не того типа ( например,
вместо числовой, подана –буквенная).
а
1
Не понимаю
Не могу – выдается, если исполнитель не
может выполнить алгоритм с введенной
информацией (например, исполнитель должен
делить только на число на 2, а вводит 3).
3
7
2
4
8
Выход
Вход
А=А+1
Черный ящик
Какой алгоритм заложен в черном
ящике?
№ испытания
вход
выход
Алгоритм
1
2
4
A=A+A
2
3
6
3
1
2
Или
4
6
12
A=2A
5
7
14
Задание
• Запустите файл buk.exe;
Найдите алгоритм работы черного ящика.
• Нечет. ком. → неч.№, Чет. ком →чет.№
( для 14 алгоритмов).
Ответы записать на листе. Например:
№ алгоритма
Его действие
№1
А=а+1
№3
Все гласные буквы