7.1. Алгоритм и его свойства Алгоритмом называется точная инструкция исполнителю в понятной для него форме, определяющая процесс достижения поставленной цели на основе имеющихся исходных данных за конечное число шагов. Основными свойствами алгоритмов являются: 1. Универсальность (массовость) - применимость алгоритма к различным наборам исходных данных. 2. Дискретность - процесс решения задачи по алгоритму разбит на отдельные действия. 3. Однозначность - правила и порядок выполнения действий алгоритма имеют единственное толкование. 4. Конечность - каждое из действий и весь алгоритм в целом обязательно завершаются. 5. Результативность - по завершении выполнения алгоритма обязательно получается конечный результат. 6. Выполнимость - результата алгоритма достигается за конечное число шагов. Алгоритм считается правильным, если его выполнение дает правильный результат. Соответственно алгоритм содержит ошибки, если можно указать такие допустимые исходные данные или условия, при которых выполнение алгоритма либо не завершится вообще, либо не будет получено никаких результатов, либо полученные результаты окажутся неправильными. Способы записи алгоритмов Для записи алгоритмов используют самые разнообразные средства. Выбор средства определяется типом исполняемого алгоритма. Выделяют следующие основные способы записи алгоритмов: - вербальный, когда алгоритм описывается на человеческом языке; - символьный, когда алгоритм описывается с помощью набора символов; - графический, когда алгоритм описывается с помощью набора графических изображений. Общепринятыми способами записи являются графическая запись с помощью блок-схем и символьная запись с помощью какого-либо алгоритмического языка. Описание алгоритма с помощью блок схем осуществляется рисованием последовательности геометрических фигур, каждая из которых подразумевает выполнение определенного действия алгоритма. Порядок выполнения действий указывается стрелками. Написание алгоритмов с помощью блок-схем регламентируется ГОСТом. Внешний вид основных блоков, применяемых при написании блок схем, приведен на рисунке: В зависимости от последовательности выполнения действий в алгоритме выделяют алгоритмы линейной, разветвленной и циклической структуры. В алгоритмах линейной структуры действия выполняются последовательно одно за другим: В алгоритмах разветвленной структуры в зависимости от выполнения или невыполнения какого-либо условия производятся различные последовательности действий. Каждая такая последовательность действий называется ветвью алгоритма. В алгоритмах циклической структуры в зависимости от выполнения или невыполнения какого-либо условия выполняется повторяющаяся последовательность действий, называющаяся телом цикла. Вложенным называется цикл, находящийся внутри тела другого цикла. Различают циклы с предусловием и послеусловием: Итерационным называется цикл, число повторений которого не задается, а определяется в ходе выполнения цикла. В этом случае одно повторение цикла называется итерацией. 1. Словесная форма: Алгоритм ПОГОДА 1. 2. 3. 4. Начало определить температуру воздуха если температура ниже 0, то надеть шубу, иначе надеть куртку Конец. 2. Программная форма: program E3; uses crt; var t: real; begin clrscr; writeln(‘введите температуру воздуха t=’); readln(t); if t < 0 then writeln(‘одеть шубу’) else writeln(‘одеть куртку’); end. 3. Графическая форма записи: Мы рассмотрели на примере алгоритма разветвляющейся конструкции. Дома распишите формы представления алгоритмов линейных и циклических конструкций, используя сравнительную таблицу, которая лежит у вас на столах. Цели: 1. Образовательные: Познакомить с понятием “алгоритм”, его свойствами. Научить записывать алгоритм, определять наличие алгоритмов в школьных предметах: биология, математика, русский язык. 2. Развивающие: развивать познавательный интерес; развивать умение анализировать, обобщать, сравнивать, абстрагироваться, синтезировать знания, полученные на различных предметах. 3. Воспитательные: воспитывать стремление к получению новых знаний, обобщению знаний из различных областей жизни; чувство товарищества, взаимовыручки; коммуникативные качества, умение слушать; культуру межличностных взаимоотношений, аккуратность в работе, трудолюбие. Тип урока: урок с применением современных компьютерных технологий. Оборудование: компьютер, проектор. Вид урока: комбинированный урок. Программное обеспечение: презентация, составленная в Power Point Свойства алгоритмов: 1. Поочередное выполнение команд алгоритма за конечное число шагов приводит к решению задачи, к достижению цели. Разделение выполнения решения задачи на отдельные операции (выполняемые исполнителем по определенным командам) – важное свойство алгоритмов, называемое дискретностью. 2. Каждый алгоритм строится в расчете на некоторого исполнителя. Для того чтобы исполнитель мог решить задачу по заданному алгоритму, необходимо, чтобы он был в состоянии понять и выполнить каждое действие, предписываемое командами алгоритма. Такое свойство алгоритмов называется определенностью (или точностью) алгоритма. (Например, в алгоритме указано, что надо взять 3—4 стакана муки. Какие стаканы, что значит 3—4, какой муки?) 3. Еще одно важное требование, предъявляемое к алгоритмам, - результативность (или конечность) алгоритма. Оно означает, что исполнение алгоритма должно закончиться за конечное число шагов. 4. Универсальность. Алгоритм должен быть составлен так, чтобы им мог воспользоваться любой исполнитель для решения аналогичной задачи. (Например, правила сложения и умножения чисел годятся для любых чисел, а не для каких-то конкретных.) Таким образом, выполняя алгоритм, исполнитель может не вникать в смысл того, что он делает, и вместе с тем получать нужный результат. В таком случае говорят, что исполнитель действует формально, т.е. отвлекается от содержания поставленной задачи и только строго выполняет некоторые правила, инструкции. Способы задания алгоритма: словесный, (недостаток–многословность, возможна неоднозначность–«он встретил ее на поле с цветами»), табличный (физика, химия и т. д.), графический (блок-схемы). Графическая форма представления алгоритма называется блок-схемой Алгоритм - это точное описание упорядоченной последовательности действий, приводящей за конечное число шагов к необходимому результату. Свойства алгоритмов: 1. 2. 3. 4. 5. 6. 7. понятность однозначность дискретность (пошаговость) массовость (универсальность) результативность конечность безошибочность Способы представления алгоритма: 1. 2. 3. 4. словесный; табличный; графический; программа на алгоритмическом языке. Для словесного представления алгоритма используется естественный язык (пример любые инструкции, рецепты и т.п.) С табличным способом представления алгоритма Вы сталкиваетесь в расчетных книжках при плате за квартиру, в бухгалтерских ведомостях, в таблицах инженерных расчетов и т.п. Графический способ представления алгоритма - это блок-схема (рассмотрим на следующем уроке) является наиболее наглядным. Схема алгоритма состоит из графических блоков. Программа - изложение алгоритма специально для ЭВМ в понятных ей символах, словах и командах (иначе говоря - языком программирования). Четвёртый способ – единственный «понятный» компьютеру как автоматическому исполнителю. Первые три служат для понимания решения задачи самим человеком. В любом алгоритмическом языке (языке программирования) можно выделить четыре основные конструкции (виды алгоритмов): 1. линейный алгоритм (образование последовательности из нескольких команд); 2. алгоритм ветвления (выбор одной или нескольких команд); 3. циклический алгоритм (повторение одной или нескольких команд с заданным количеством повторов или в зависимости от некоторого условия); 4. вспомогательный алгоритм (самостоятельный алгоритм, облегчающий реализацию модульного принципа составления программы). Использование комбинаций таких структур позволяет реализовать практически любой алгоритм.