Задачи для самостоятельного решения. Тема: Алгоритмы и блок-схемы.
Тема: Алгоритмы и блок-схемы.
Теоретическая информация.
Алгоритм — это понятное и точное предписание исполнителю, выполнить конечную последовательность шагов, приводящей от исходных данных к искомому результату.
- Конечность(результативность)алгоритма означает, что за конечное число шагов должен быть получен результат;
- Дискретность алгоритма означает, что алгоритм должен быть разбит на последовательность выполняемых шагов;
- Понятность алгоритма означает, что алгоритм должен содержать только те команды, которые входят в набор команд, который может выполнить конкретный исполнитель;
- Точность алгоритма означает, что каждая команда должна пониматься однозначно;
- Массовость алгоритма означает, что однажды составленный алгоритм должен для решения подобных задач с разными исходными данными.
- Детерминированность (определенность). Алгоритм обладает свойством детерминированности, если для одних и тех же наборов исходных данных он будет выдавать один и тот же результат, т.е. результат однозначно определяется исходными данными.
Блок-схема – графический способ описания алгоритма с использованием геометрических фигур.
На блок-схеме шаги алгоритма обозначаются специальными геометрическими фигурами, внутри которых записываются действия. Направление выполнения алгоритма (то, какое действие выполняется следующим) обозначается стрелками.
Для обозначения шагов алгоритма принято использовать следующие геометрические фигуры:
Начало или конец алгоритма | |
Действие | |
Проверка условия | |
Ввод или вывод | |
Проверка условия цикла |
Линейный алгоритм – алгоритм, содержащий конечное число шагов, выполняющихся последовательно друг за другом от начала до конца.
Пример блок-схемы линейного алгоритма. Задача: открыть окно в помещении.
Начало
Подойти к окну
Повернуть ручку
Открыть окно
Конец
Разветвляющийся алгоритм (ветвление) – алгоритм, порядок выполнения шагов которого изменяется в зависимости от выполнения некоторых условий.
Пример блок-схемы алгоритма с ветвлением. Задача: приступить к рисованию мультипликационного персонажа.
Начало
Взять лист бумаги
Да Рисунок будет цветной? Нет
Взять набор цветных карандашей Взять набор простых карандашей
Приступить к рисованию
Конец
Циклический алгоритм –алгоритм, в котором определённая последовательность шагов повторяется несколько раз в зависимости от некоторого условия.
Тело цикла – шаги алгоритма, которые повторяются несколько раз.
Цикл с предусловием –цикл, в котором сначала проверяется условие, и, если оно истинно, выполняется тело цикла. Затем условие проверяется снова.
Да Условие цикла Нет
Тело цикла
Цикл с постусловием –цикл, в котором сначала выполняется тело цикла, затем проверяется условие. По результатам проверки цикл продолжает работу или завершается.
Тело цикла
Да Условие цикла Нет
Цикл с параметром – цикл, который выполняется до тех пор, пока параметр не достигнет определённого значения.
Параметр
Тело цикла
Параметр цикла – величина, от которой зависит число повторений в цикле.
Задачи для самостоятельного решения.
Задача 1. Составьте линейный алгоритм и нарисуйте блок-схему. Требуется приготовить яичницу на обед. Исполнитель находится на кухне. Ингредиенты: куриные яйца в холодильнике 10 шт.; масло и соль в шкафчике; сковорода в посудном шкафу; плита выключена и готова к работе.
Задача 2. Рассчитайте площадь и периметр прямоугольника по двум известным сторонам.
Задача 3. Составьте алгоритм с ветвлением и нарисуйте блок-схему. Требуется выяснить, имеет ли квадратное уравнение a*x2 + b*x + c = 0 решения при заданных значениях a, b и c.