Алгоритмы и исполнители
Свойства алгоритма
Дискретность
алгоритм должен представлять процесс решения задачи как последовательное выполнение простых (или ранее определенных) шагов. Каждое действие, предусмотренное алгоритмом, исполняется только после того, как закончилось исполнение предыдущего.
Массовость
алгоритм решения задачи разрабатывается в общем виде, то есть, он должен быть применим для некоторого класса задач, различающихся только исходными данными. При этом исходные данные могут выбираться из некоторой области, которая называется областью применимости алгоритма.
Результативность
алгоритм должен приводить к решению задачи за конечное число шагов.
Понятность
в алгоритме используются только система команд исполнителя (СКИ)
Определённость
каждое правило алгоритма должно быть четким, однозначным и не оставлять места для произвола. Благодаря этому свойству выполнение алгоритма носит механический характер и не требует никаких дополнительных указаний или сведений о решаемой задаче.
Контроль
Контрольные вопросы
Что такое алгоритм?
Какие типы алгоритмов вы знаете? Охарактеризуйте их?
Какое из свойств алгоритма раскрывает то, что алгоритм - это чёткая последовательность шагов?
В какой форме могут быть записаны алгоритмы?
Приведите пример простейшего алгоритма?
Чем отличается циклический алгоритм от разветвляющегося?
Задания для работы в классе
1) Старик должен переправить на лодке через реку волка, козу и капусту.
Лодка может выдержать только старика и одного “пассажира”. В каком порядке старик
перевезет пассажиров? Не забудь, что волк может съесть козу, а коза – капусту. Найди
2 варианта решения.
2) Проснувшись утром, школьник почувствовал недомогание. Находившийся
рядом злоумышленник тут же составил для него следующий алгоритм:
Измерить температуру.
Если температура выше 370
, то:
Вызвать врача.
Пойти в школу.
Несмотря на недомогание, школьник исправил этот алгоритм, добавив всего две строки.
Какие строки добавил школьник?
3) Два мальчика и двое взрослых должны переправиться на другую сторону
реки на плоту, который выдерживает либо двух мальчиков, либо одного мальчика и
одного взрослого. Как осуществить переправу? Найди несколько способов решения этой задачи
Задания для самостоятельной работы
1) Определите значение переменной а после выполнения фрагмента алгоритма:
2) Составить алгоритм решения задачи в виде блок-схемы:
Определить площадь трапеции по введенным значениям оснований (a и b) и высоты (h).
Какого типа алгоритмическая конструкция изображена на рисунке
Тестирования
Тест №1(базовый)
Тест №2(углубленный)
Исполнитель алгоритма -
Определение: Исполнитель - это некоторый объект способный выполнять набор команд
Формальный исполнитель - исполнитель, который одну команду выполняет всегда одинаково. Пример: ученик, программист, врач, собака.
Среда исполнителя
Область, обстановка в которых действует исполнитель
Система команд
Совокупность всех команд, которые могут быть выполнены исполнителем
Круг решаемых задач
Каждый алгоритм создаётся под определённый круг задач
Режим работы
Для исполнителей предусмотрены 2 режима работы: 1)непосредственное управление (ожидает команды от человека) 2)Программное управление (задаётся набор команд, которые выполняются автоматически)
Неформальный исполнитель - исполнитель, который одну команду может выполнить по-разному. Пример: магнитофон, телевизор, компьютер.
Типы алгоритмов
Линейный алгоритм
набор команд (указаний), выполняемых последовательно во времени друг за другом.
Разветвляющийся
алгоритм, содержащий хотя бы одно условие, в результате проверки которого может осуществляться разделение на несколько параллельных ветвей алгоритма.
Циклический
алгоритм, предусматривающий многократное повторение одного и того же действия (одних и тех же операций) над новыми исходными данными. К циклическим алгоритмам сводится большинство методов вычислений, перебора вариантов. Цикл программы — последовательность команд (серия, тело цикла), которая может выполняться многократно (для новых исходных данных) до удовлетворения некоторого условия.
Пример: алгоритм "Телефонный разговор". В примере используется сразу три типа алгоритмов.
Формы представления алгоритма
Словесная
Словесный способ записи алгоритмов представляет собой описание последовательных этапов обработки данных. Алгоритм задается в произвольном изложении на естественном языке
Пример. Задача "Найти среднее арифметическое двух чисел" Разрешается в три шага: 1) задумать два числа; 2) сложить два задуманных числа; 3) полученную сумму разделить на 2
Графическая
При графическом представлении алгоритм изображается в виде последовательности
связанных между собой функциональных блоков, каждый из которых соответствует
выполнению одного или нескольких действий.
Пример графической формы представления алгоритма
Элементы использующиеся для графической формы записи алгоритмов
Псевдокоды
Псевдокод представляет собой систему обозначений и правил, предназначенную для единообразной записи алгоритмов.
Псевдокод занимает промежуточное место между естественным и формальным языками. С одной стороны, он близок к обычному естественному языку, поэтому алгоритмы могут на нем записываться и читаться как обычный текст. С другой стороны, в псевдокоде используются некоторые формальные конструкции и математическая символика, что приближает запись алгоритма к общепринятой математической записи.
Пример Псевдокода
Программная
Программа, создаваемая человеком - программистом, представляет собой текст, состоящий из знаков, как правило букв, цифр и специальных знаков. Знаки в тексте программы часто объединены в последовательности - ключевые слова, слова объединены в предложения языка программирования - операторы. Каждый оператор, как правило, записывается в отдельную строку текста программы.
ПРимер Программной формы записи алгоритма
Алгоритм
Алгори́тм — набор инструкций, описывающих порядок действий исполнителя для достижения результата решения задачи за конечное число действий
Схема работы алгоритма
Пример 1: Задача "Найти среднее арифметическое двух чисел" Разрешается в три шага: 1) задумать два числа; 2) сложить два задуманных числа; 3) полученную сумму разделить на 2
Пример 2: Задача "Нарисовать Ёжика" Разрешается графически за несколько шагов.