Алгоритм и его свойства

advertisement
Происхождение термина «алгоритм» связывают с
именем великого узбекского математика и астронома
аль-Хорезми (жившего в IX в.), который в
основополагающих трудах по арифметике и алгебре
разработал, в частности, правила выполнения
четырех
арифметических
операций
над
многозначными десятичными числами. Эти правила
определяют последовательность действий, которые
необходимо выполнить, чтобы получить сумму чисел,
произведение и т. д. Первоначально только эти
правила и назывались алгоритмами. В дальнейшем
термин «алгоритм» стали использовать вообще для
обозначения
последовательности
действий,
приводящей к решению проблемы.
7
8
1
3
2
6
4
9
5
Алгоритм – это
порядок действий
Определение:
Алгоритм – понятное и точное
предписание исполнителю
совершить определенную
последовательность действий
для достижения поставленной
цели за конечное число шагов.
Исполнитель алгоритма система, способная выполнить
действия, предписываемые
алгоритмом.
Компьютер –
формальный
исполнитель, он не
понимает, что делает,
не думает, точно
выполняет те действия,
которые ему задал
человек
Свойства алгоритмов:
1.Понятность – исполнитель алгоритма должен
знать, как его выполнять.
2.Дискретность - разрывность, отделённость
одного действия от другого.
3.Однозначность
детерминированность,
определённость формулировок, не допускающая
разных толкований.
4.Результативность - алгоpитм должен пpиводить
к pешению задачи за конечное число шагов.
5.Массовость - возможность решать множество
однотипных задач.
Пример 1.
Решение квадратного уравнения:
1.Найти дискриминант по формуле: D  b 2  4ac
2. Найти первый корень по формуле
x1=(-b+√D)/2a
3. Найти второй корень по формуле
x2=(-b-√D)/2a
4. Записать ответ.
Пример 2.
Алгоритм получения кипятка:
• Исправьте алгоритм , чтобы предотвратить
несчастный случай
• Налить в чайник воду.
• Открыть кран газовой горелки.
• Поставить чайник на плиту.
• Ждать,пока вода закипит.
• Поднести спичку к горелке.
• Зажечь спичку.
• Выключить газ.
Способы записи алгоритмов:
словесный (запись на
естественном языке);
графический (изображения из
графических символов);
программный (тексты на языках
программирования).
Определение:
Блок-схема – это графическое
изображение алгоритма в виде
определенным образом связанных
между собой нескольких типов блоков.
Типы блоков:
 блок начала (конца)
 блок ввода (вывода)
 блок действия
 блок условия
Типы алгоритмов
ВОПРОСЫ НА
ПОВТОРЕНИЕ
1. Что такое алгоритм?
2. Что необходимо для составления алгоритма?
3. Нужно ли соблюдать порядок в алгоритме?
4. Кого или что называют исполнителем алгоритма?
5. Какие существуют формы записи алгоритмов?
6. Что такое блок-схема? Из каких компонентов
состоит?
7. Чем словесная форма записи алгоритмов отличается
от программной формы?
.
ТИПЫ АЛГОРИТМОВ
Линейный алгоритм.
Разветвляющийся алгоритм.
Алгоритм с повторением
(циклический).
Линейный алгоритм – это алгоритм,
в котором все действия
выполняются последовательно.
ЗАДАЧА «Слепить снеговика»
алгоритм
1. Слепить из снега большой
шар и положить его на землю.
2. Слепить второй шар, меньше
первого, и положить его на
первый шар.
3. Слепить третий шар, меньше
второго, и положить его на
второй шар.
4. Надеть ведро на третий шар.
5. Сделать глаза из угольков на
третьем шаре.
6. Воткнуть морковку между
угольками.
Блок-схема линейного
алгоритма
Тренинг-задача №1
Исполнитель Кузнечик прыгает вдоль числовой оси на заданное число
делений. Система команд исполнителя Кузнечика: вправо 3 (прыжок на
3 единицы вправо) и влево 2 (прыжок на 2 единицы влево). Начальное
положение 0. Составить линейный алгоритм в виде блок-схемы для
Кузнечика, с помощью которого он побывает над числом 2.
начало
0
вправо 3
вправо 3
0
1
2
3
4
5
6
7
8
9
10 11
влево 2
влево 2
2
конец
Разветвляющийся алгоритм
– это алгоритм, в котором
порядок выполнения действий зависит от выполнения некоторого
условия.
ЗАДАЧА:
составить
графический алгоритм
действий сказочного
персонажа
Блок-схема
ветвящегося
алгоритма
“Поехал Иван –царевич за
Василисой Прекрасной.
Ехал он, ехал, глядь - перед
ним лежит огромный
камень. На камне надпись:
“Направо пойдёшь - коня
потеряешь, налево пойдёшь
– голову сложишь…”
Как ты думаешь, что выберет Иван-царевич?
Ветвление
Полное
если <условие>
то <серия команд 1>
иначе
<серия команд 2>
Неполное
если <условие>
то <серия команд 1>
Запись неполного ветвления в
виде блок-схемы:
да
серия команд 1
условие
нет
Определение:
Условие – это высказывание,
которое может быть либо
истинным, либо ложным.
Условия
простые
сложные
Простое условие
Включает в себя одно предложение;
два числа, две переменных или два
арифметических выражения,
которые сравниваются между собой
Например: Идет дождь;
5>4;
x*y=3+8).
Сложное условие
Последовательность простых
условий, объединенных между
собой знаками логических операций
И (AND), ИЛИ (OR).
Например: (10>0) AND (8>9);
(x=10) OR (x>=0).
Определение:
Выбор - это такая
алгоритмическая структура,
в которой выполняется одна
из нескольких
последовательностей
команд при истинности
соответствующего условия.
Полный выбор
при условие 1: действия 1
при условие 2: действия 2
............
при условие N: действия N
иначе действия N+1
Неполный выбор
при условие 1: действия 1
при условие 2: действия 2
............
при условие N: действия N
Запись полного выбора в виде
блок-схемы:
да
серия команд 1
условие 1
нет
…
условие n
да
нет
серия команд n+1
серия команд n
Запись неполного выбора в виде
блок-схемы:
условие 1
да
серия команд 1
нет
условие 2
да
серия команд 2
нет
…
условие n
нет
да
серия команд n
Тренинг-задача №2
Записать с помощью блок-схемы пословицу
«Болен – лечись, а здоров – берегись».
начало
да
Болен?
нет
берегись!
лечись!
конец
Алгоритм с повторением (циклический) – это алгоритм,
который содержит команду повторения (команду,
исполняется до тех пор, пока не выполнится условие).
ЗАДАЧА:
составить графический
алгоритм наполнения
ведра водой из бочки
Имеется пустое ведро.
Ученик имеет бочку с водой
и кружку.
Алгоритм Наполнение
Начало
1. Пока ведро неполное, повторять:
2. Налить в ведро кружку воды.
Конец
Команда повторения
Тело цикла
Блок-схема циклического
алгоритма
которая
Тренинг-задача №3
Мальчик учит наизусть четверостишие, заданное по литературе. Он
один раз прочитывает четверостишие и пытается воспроизвести его по
памяти. Так он будет делать до тех пор, пока не расскажет
четверостишие без единой ошибки. Составить действия мальчика в
виде блок-схемы.
начало
прочитать четверостишие
воспроизвести по памяти
нет
выучил?
да
конец
ВОПРОСЫ
1. Какой алгоритм называют линейным?
Привести пример.
2. Какой алгоритм называют
разветвляющимся? Привести пример.
3. Какой алгоритм называют циклическим?
Привести пример.
Цикл с предусловием
пока истинно условие, предписывает
выполнять тело цикла.
Словесный способ записи:
пока условие
тело цикла
Запись цикла с предусловием в
виде блок-схемы:
условие
да
тело цикла
нет
Цикл с постусловием
предписывает выполнять тело цикла
до тех пор, пока не выполнится
условие выхода из цикла.
Словесный способ записи
тело цикла
до условие
Запись цикла с постусловием в
виде блок-схемы:
тело цикла
нет
условие
да
Цикл со счетчиком
предписывает выполнять тело цикла
для всех значений некоторой
переменной (параметра цикла) в
заданном диапазоне.
Словесный способ записи
для i от i1 до i2
тело цикла
Запись цикла со счетчиком
в виде блок-схемы:
счетчик
да
тело цикла
нет
Блок-схема программы покупки
арахиса
Да
Отправляйс
яв
ближайший
магазин, где
не был
Есть
ли
арахи
св
магази
не
СПРОСИ
АРАХИС
Нет
Купи
арахи
с
Иди
домой
Домашнее задание.
Составьте алгоритм переправы на другой берег.
(Эта задача встречается в рукописях VIIIв.)
Крестьянин должен перевезти в лодке через
реку волка, козу и капусту. За один раз, он
может перевезти либо только волка, либо
только козу, либо только капусту. На одном
берегу нельзя оставить вместе одних козу и
волка, а также козу и капусту.
Алгоритм рисования ёлки
1.Выбрать в меню Рисование Автофигуры - Основные фигуры - ∆
2.Пр.кн.мыши – Формат автофигуры –
Заливка Линия цвет – зеленый
3.Пр.кн.мыши – Копировать –
Вставить – Сформировать ёлку из 5 ∆
4.Аналогично выбрать автофигуры
для украшения ёлки, копировать,
вставить
5.Удерживая Ctrl выделить все
фигуры ёлки - Пр.кн.мыши –
Группировать.
6.Теперь наша ёлка – один целый
рисунок, его можно двигать, менять
размер
Снеговик
Используя тот же алгоритм,
постройте снеговика. При
построении ведра
переверните трапецию по
круговой стрелке вокруг
зеленой точки. Аналогично
поверните нос из ∆.
Постройте одну руку из веток,
выделите все части руки –
Группировать – Копировать –
Вставить – Повернуть в
нужном положении.
Устройство, при помощи
которого человек вводит
информацию в компьютер.
2. Набор условных обозначений
для записи заранее
определенных символов.
3. Устройство, при помощи
которого люди считали с XVII
до XX века включительно.
4. Устройство, позволяющее
выводить информацию из
памяти компьютера на бумагу.
5. Запоминающее устройство.
6. Список, из которого можно
выбрать команду. В этой строке
находятся слова: файл, правка,
вид и т.д.
7. Устройство, на которое
выводится информация.
8. Простейший вычислительный
прибор, которым пользовались
на протяжении веков.
9. Главное устройство, “мозг”
компьютера, который управляет
всеми устройствами
компьютера.
10. Если все отгадано верно, то в
результате получится слово
“компьютер”.
1.
Download