Основные понятия алгоритмизации

advertisement
ОГЛАВЛЕНИЕ




ОСНОВНЫЕ ПОНЯТИЯ АЛГОРИТМИЗАЦИИ
ФОРМЫ ЗАПИСИ АЛГОРИТМОВ
ОСНОВНЫЕ АЛГОРИТМИЧЕСКИЕ
КОНСТРУКЦИИ
ВСПОМОГАТЕЛЬНЫЕ АЛГОРИТМЫ
ЧТО ТАКОЕ
ИСПОЛНИТЕЛЬ?
ДАЛЕЕ
Исполнитель - объект , способный выполнять предписанные действия в
конкретной среде обитания .
Среда ( обитания ) - совокупность объектов и условий , в которой
действует исполнитель .
Команда исполнителя - действие , которое может выполнять данный
исполнитель .
Система команд исполнителя - набор всех команд данного исполнителя
Пример:
Исполнитель - человек , живущий на Земле . На Земле живет много
людей , и каждого из них можно рассматривать как отдельного исполни теля . Каждый день люди выполняют какие-то - действия , связанные с
решением насущных проблем .
Человек - не единственный исполнитель . Существуют и другие, например, станки с программным управлением , живая клетка , животные в
цирке . Все эти исполнители обладают своими системами команд и спо собны выполнять поставленные перед ними задачи в своей среде обита ния .
ЧТО ТАКОЕ АЛГОРИТМ?
ДАЛЕЕ Алгоритм - это конечная последовательность действий, направленная на
решение поставленной задачи .
Алгоритмизация - раздел информатики , изучающий методы и приемы
построения алгоритмов.
Попробуем разобраться, что скрывается за этим мудреным
словом «алгоритм». Представьте: Вам предлагают решить некоторую
задачу. Что Вы для этого делаете?
Скорее всего, сначала анализируете условие задачи и
определяете, что дано и что надо получить ( это еще не алгоритм ). Потом
Вы начинаете думать, как получить ответ. У Вас появляется план решения
поставленной задачи - определенная последовательность действий,
после выполнения которой, Вы надеетесь получить результат.
Эта последовательность действий и есть алгоритм .
ЧТО ТАКОЕ АЛГОРИТМ?
ДАЛЕЕ
Пример:
Имеются батон белого хлеба и нож . Необходимо отрезать
три куска хлеба к ужину . Составим алгоритм решения этой задачи .
Алгоритм решения этой задачи можно сформулировать так :
1) взять батон ;
2) взять нож ;
3) отрезать кусочек батона ;
4) отрезать кусочек батона ;
5) отрезать кусочек батона .
Следует запомнить , что для алгоритма , вообще говоря , важна
последовательность, в которой записаны действия :
если в алгоритме поменять местами два некоторых действия, то можно
получить результат, отличный от ожидаемого.
Вопрос:
Какой результат будет получен, если в предложенном выше алгоритме
действие 1 сделать последним?
УПРАЖНЕНИЕ
ДАЛЕЕ
Составьте алгоритм решения какой-либо
задачи, с которой Вы часто встречаетесь в
жизни.
Например:
• подготовка домашнего задания по
математике;
• поход в кинотеатр;
• покупка продуктов в магазине.
ФОРМЫ ЗАПИСИ
АЛГОРИТМОВ
ДАЛЕЕ
Для записи алгоритма используются различные формы :
Словесная форма записи алгоритма - запись алгоритма в виде
последовательности слов и (или) предложений.
Блок – схема - запись алгоритма в виде последовательности
специальных графических блоков - обозначений.
Программа на алгоритмическом языке - запись алгоритма в виде
последовательности операторов некоторого алгоритмического языка.
Пример:
По заданным значениям b, c, d, g нужно получить значение m = f · t, где
f = b + c, t = d : g.
Запись алгоритма в словесной форме :
1) задать исходные значения b=5, c=6, d=9, g=3;
2) вычислить значение f, равное сумме значений b и c;
3) вычислить значение t, равное частному от деления d на g;
4) вычислить значение m, равное произведению полученных
значений f и t.
ФОРМЫ ЗАПИСИ
АЛГОРИТМОВ
ДАЛЕЕ
Запись алгоритма в
форме блок - схемы:
начало
b=5
c=6
d=9
g=3
f=b+c
t=d:g
m=f·t
конец
Запись алгоритма в форме программы:
Program Пример алгоритма;
Var
b, c, d, g, f, t, m: Real;
Begin
b:=5;
c:=6;
d:=9;
g:=3;
f:= b + c;
t:= d/g;
m:= f* t;
End.
УПРАЖНЕНИЕ
ДАЛЕЕ
При выборе той или иной формы записи алгоритма рекомендуем
учитывать следующее :
• словесное описание удобно для описания общей постановки задачи,
но неудобно при записи строгих команд;
• блок - схема - прекрасное средство для визуального просмотра общей
структуры сложной системы или процесса в целом;
• программа на языке программирования - конкретное воплощение
словесного описания и блок - алгоритма на том алгоритмическом
языке, который Вы можете использовать для решения задачи на
компьютере .
Упражнение:
Составьте и запишите в словесной форме алгоритмы
решения следующих задач :
а ) сварить картофель;
б ) укрепить в бетонной стене шуруп, чтобы повесить
тяжелую картину .
ОСНОВНЫЕ
АЛГОРИТМИЧЕСКИЕ
КОНСТРУКЦИИ
ДАЛЕЕ
Часто при решении задач в записи алгоритма надо пропустить
выполнение некоторых действий или повторить некоторый блок действий
несколько раз . После анализа большого числа алгоритмов специалисты
пришли к заключению, что, в зависимости от порядка выполнения
записанных действий, можно выделить следующие типы алгоритмических
конструкций: линейная , ветвление , повторение. Любой алгоритм можно
построить с помощью этих алгоритмических конструкций.
Линейная конструкция - это часть алгоритма , в которой
действия выполняются одно за другим в той последовательности, в
которой они записаны ( первое действие, затем второе, затем третье и
т.д.). Алгоритм, в котором используется только линейная конструкция,
называется линейным.
Блок – схемная форма
записи линейного
алгоритма
ОСНОВНЫЕ
АЛГОРИТМИЧЕСКИЕ
КОНСТРУКЦИИ
ДАЛЕЕ
Конструкция ветвления - это часть алгоритма, в которой в зависимости
от выполнения или невыполнения некоторого условия выполняется
либо одна, либо другая последовательность действий.
Алгоритм, в котором используется конструкция ветвления, называется
алгоритмом с ветвлением.
да
Блок
действий 1
проверка
условия
нет
Блок
действий 2
Блок – схемная форма
записи алгоритма
с ветвлением
УПРАЖНЕНИЕ
ДАЛЕЕ
Пример:
Малыш просит родителей показать ему в зоопарке кенгуру. Мама
обещает: «Если в воскресенье не будет дождя, мы пойдем в зоопарк и
покажем тебе кенгуру». Обязательно ли малыш увидит кенгуру в
ближайшее воскресенье ?
Составим алгоритм решения этой задачи:
Запишем (в словесной форме ) алгоритм решения этой задачи:
1) в воскресенье посмотреть в окно ;
2) если дождя нет, то перейти к выполнению пункта 3, иначе – пункта 6;
3) пойти в зоопарк;
4) в вольере полюбоваться на кенгуру;
5) вернуться домой;
6) поиграть дома с игрушками.
Упражнение:
Несколько одноклассников собрались на остановке автобусов, чтобы
поехать в зоопарк. До зоопарка они могут добраться автобусными
маршрутами 2 и 51. Составьте алгоритм поездки детей в зоопарк.
ОСНОВНЫЕ
АЛГОРИТМИЧЕСКИЕ
КОНСТРУКЦИИ
ДАЛЕЕ
Конструкция повторения - это часть алгоритма , в которой некоторую
последовательность действий надо повторить несколько раз. Такую
многократно повторяющуюся часть алгоритма называют циклом.
Алгоритм, в котором используется конструкция повторения,
называется алгоритмом с повторением.
проверка
условия
повторени
я
да
тело цикла
нет
Блок – схемная форма
записи алгоритма
с повторением
ОСНОВНЫЕ
АЛГОРИТМИЧЕСКИЕ
КОНСТРУКЦИИ
ДАЛЕЕ
Пример:
Малыш хочет пустить кораблик поплавать в тазу . Для этого он
собирается наполнить до краев таз водой (таз стоит в коридоре).
Набирать воду он будет маленькой кружечкой, беря воду из крана в
ванной комнате.
Составим алгоритм решения этой задачи.
Алгоритм:
1) взять кружку;
2) войти в ванную комнату;
3) открыть кран;
4) набрать воду в кружку;
5) закрыть кран;
6) выйти из ванной комнаты в коридор;
7) вылить воду из кружки в таз;
8) повторять пункты 2-7, пока таз не будет наполнен до краев;
9) пустить кораблик поплавать в тазу.
УПРАЖНЕНИЕ
ДАЛЕЕ
Для цикла важно знать, когда закончить его повторение. Для
этого либо известно точное число повторений (например, налить 20
кружек воды ), либо известно условие прекращения повторения
(например, наливать воду , пока ее уровень не достигнет края таза ).
Если по какой – либо причине момент окончания цикла не будет
достигнут, то возникнет ситуация, которую называют зацикливанием.
Упражнение:
Малышу надо подняться по лестнице. За один шаг
он преодолевает только одну ступеньку. Составьте
алгоритм действий малыша.
ВСПОМОГАТЕЛЬНЫЙ
АЛГОРИТМ
Вспомогательный алгоритм - это отдельный алгоритм, который можно
ДАЛЕЕ использовать в любом месте другого алгоритма. Для вызова
вспомогательного алгоритма используется его имя.
Иногда при составлении некоторого алгоритма возникает
необходимость использования в разных его местах одного и того же набора
действий. Чтобы не записывать этот повторяющийся набор несколько раз, его
выносят из основного алгоритма и оформляют в виде отдельного
(вспомогательного) алгоритма, которому дают имя. После этого в основ-ном
алгоритме в соответствующем месте достаточно записать имя
вспомогательного алгоритма, чтобы выполнился набор действий, входящих в
него. Этот же вспомогательный алгоритм можно вызвать и из других
алгоритмов. Использование вспомогательного алгоритма позволяет сделать
запись основного алгоритма меньшей по объему и более понятной
Пример:
Малыш хочет пустить кораблики поплавать в тазу и в кастрюле. Для
этого он собирается наполнить до краев оба сосуда водой (таз и кастрюля стоят
в коридоре). Набирать воду он будет маленькой кружечкой, беря воду из крана
в ванной комнате. Составим алгоритм его работы.
ВСПОМОГАТЕЛЬНЫЙ
АЛГОРИТМ
ДАЛЕЕ
Для решения поставленной задачи можно будет использовать следующие два
алгоритма .
«Основной алгоритм»
1) взять кружку ;
2) пока таз не наполнится водой до краев , выполнять «Вспомогательный
алгоритм»;
3) пустить кораблик поплавать в тазу ;
4) пока кастрюля не наполнится водой до краев , выполнять «Вспомогательный
алгоритм»;
5) пустить кораблик поплавать в кастрюле ;
6) поставить кружку на место ;
7) поиграть с корабликами .
«Вспомогательный алгоритм»
1) войти в ванную комнату ;
2) открыть кран ;
3) набрать воду в кружку ;
4) закрыть кран ;
5) выйти из ванной комнаты в коридор ;
6) вылить воду из кружки в сосуд для воды .
УПРАЖНЕНИЕ
ДАЛЕЕ
Составьте алгоритм заполнения вещами трех
чемоданов. Если их не хватит, то можно заполнить еще
картонную коробку.
Вещи укладываются по одной. Трех чемоданов и
картонной коробки должно хватить для укладывания
всех вещей.
Примечание . При составлении алгоритма используйте все
алгоритмические конструкции и вспомогательный алгоритм .
Download