АЛГОРИТМЫ
Автор:
Позднякова Л.А., преподаватель ГПОАУ ЯО Ростовский колледж отраслевых технологий
Что мы хотим узнать?
- Уяснить понятие алгоритма
- Узнать,какие бывают алгоритмы
- Уяснить,в чем отличие линейных от разветвляющихся алгоритмов
- Как задаются алгоритмы
- Научиться составлять блок-схему решения задачи
Исполнитель алгоритма
Исполнитель - это некоторый объект (человек, животное,
техническое устройство), способный выполнять
определённый набор команд.
Исполнитель
Неформальный
Формальный
Круг решаемых задач
Область, обстановка, условия
Среда исполнителя
Непосредственное управление
СКИ
Программное управление
Режимы работы
Исполнители алгоритмов
Примеры алгоритмов
Вычислительный алгоритм
Среднее арифметическое двух чисел
- Задать два числа
- Сложить заданные числа
- Разделить сумму на 2
Общая схема работы алгоритма
Исходные данные
Алгоритм
Результат
Свойства алгоритма
Свойства алгоритма
Путь решения задачи
разделён на отдельные шаги
Дискретность
Алгоритм состоит из
команд, входящих в СКИ
Понятность
Команды понимаются
однозначно
Определённость
Обеспечивается получение
ожидаемого результата
Результативность
Обеспечивается решение
задач с различными исходными
данными
Массовость
Алгоритм-это организованная последовательность действий,понятных исполнителю (компьютеру ) Типы алгоритмов
ЛИНЕЙНЫЕ
Р АЗВЕТВЛЯЮ-
ЩИЕСЯ
ЦИКЛИЧЕСКИЕ
- Это алгоритм,который состоит только из предписаний типа «Исполнить».
Например:
1) Найти значение функции у по формуле:
у=2*х
2)Выполнить форматирование (выравнивание по центру и изменение шрифта) документа
- Это алгоритм,в котором есть хотя бы одно предписание «Проверить»,т.е. есть условие и различные «ветви».
Да Нет Да Нет
если
если
если
серия2
серия1
серия1
Серия2
серия3
- Это алгоритм,предписывающий компьютеру многократно исполнить одну и ту же последовательность операций.
Да Нет
пока
серия
Какими способами можно задать алгоритм?
- Словесное описание
( Инструкция по эксплуатации прибора)
2. Математическая формула
( d = b ^2-4* a * c )
3. Таблица
У=Х ^2
4. Блок-схема
Х 1 2 3 4
У 1 4 9 16
Элементы блок-схемы
- У=2*х
- Ввод х
- У:=2*х
- Вывод У
Начало
Ввод данных
Серия команд
исполнителя
Вывод данных
Условие
(если; пока)
Конец
Задача:Вычислить действительные корни уравнения ах ^2+bx+c=0 Составить алгоритм решения задачи.
- Словесный алгоритм
1. Ввод значений a,b,c
2 . Вычислить значение дискрими-
нанта D
3. Проверка условия: если дискрими-
нант D , то решений нет
4. Если дискриминант D =0,то вычисляются корни уравнения х1,х2
4.1 В частном случае,когда дискриминант D =0,корни будут равны
5 Вывод результата х1, х2 на экран
6. Конец задачи
Начало
Начало
a,b,c
a,b,c
1
- дада
- дада
- дада
- дада
D=b^2-4*a*c
2
4
X1= -b+ D
2*a
D=0
Да
Нет
« Решения нет»
3
X 2 = -b - D
2*a
Конец
Вывод х1,х2
5
6
Возможности автоматизации деятельности человека
Решение задачи по готовому алгоритму требует от исполнителя
только строгого следования заданным предписаниям.
Формальное исполнение алгоритма обеспечивает возможность
автоматизации деятельности человека
Процесс решения задачи представляется
в виде последовательности операций
Создается машина, способная выполнять
эти операции в указанной последовательности
Человек освобождается от рутинной работы,
выполнение которой поручается автомату
Вопросы и задания
- № 1 .Система команд исполнителя состоит из 2-х команд:
- 1-приписать справа 2
- 2- разделить на 2
- Какое число получится из 8 после исполнения системы команд: 222122?
- № 2. Составить алгоритм получения из числа 1 числа 16 по той же системе команд (не более 5 команд)
Вопросы и задания
- 1 . Определите значение переменной b после выполнения линейного алгоритма:
- a := 8
- b := 3
- a := 3 * a – b
- b := ( a / 3 ) * ( b + 2 )
- В ответе укажите одно целое число — значение переменной b .
- 2. Определите значение переменной n после выполнения линейного алгоритма:
- v := 4
- n := 13
- v := n–v*3
- n := v*14–n
- В ответе укажите одно целое число — значение переменной n.
- 3. Определите значение переменной b после выполнения линейного алгоритма
- а := 2
- b := 20
- а := b + a/2
- b := 24 - a
- В ответе укажите одно целое число — значение переменной b
Выводы
- Мы узнали,что такое алгоритм и какие типы алгоритмов существуют
- Мы поняли, чем отличаются линейные алгоритмы от разветвляющихся и циклических
- Мы узнали,какими способами можно задать алгоритм
- Мы применили полученные знания для составления алгоритма решения квадратного уравнения
Спасибо за внимание!