
- •Департамент образования города москвы
- •Методическая разработка
- •! Способы записи алгоритмов:
- •Алгоритм «Посади дерево»
- •Алгоритм «Заточи сломанные карандаши»
- •Блок-схема алгоритма
- •Исполнители алгоритмов.
- •Свойства алгоритмов (требования к алгоритмам).
- •Формальное исполнение алгоритма.
- •Структуры алгоритмов
- •III. Алгоритмическая структура «цикл».
- •1 . Цикл со счетчиком (цикл с параметром, вычисляемый цикл).
- •2. Циклы с условием.
- •Задание для самостоятельной работы на уроке.
- •Заполни блок-схему и расставь правильно в ней переходы. (Рис.11).
- •Контрольные вопросы:
- •Домашнее задание:
- •Литература:
Формальное исполнение алгоритма.
Алгоритмы могут описывать процессы преобразования самых разных объектов.
Алгоритм позволяет формализовать выполнение информационного процесса. Если исполнителем алгоритма является человек, то он может выполнять алгоритм формально, не вникая в содержание поставленной задачи, а только строго выполнять последовательность действий, предусмотренных алгоритмом.
! Формальное выполнение алгоритма не требует рассуждений, он выполняется автоматически.
Представление информационного процесса в форме алгоритма позволяет поручить его автоматическое исполнение различным техническим устройствам, среди которых особое место занимает компьютер. При этом говорят, что компьютер исполняет программу (последовательность команд), реализующую алгоритм.
Работа компьютера моделирует информационные процессы, Но, компьютер – техническое устройство, поэтому для того, чтобы он выполнил определенные действия, им нужно управлять. Компьютер действует как автоматический формальный исполнитель алгоритмов обработки информации.
Алгоритм, записанный на понятном компьютеру языке, называется программой.
Компьютерная программа – это закодированная информация о действиях, которые предписывается выполнить компьютеру, алгоритм для выполнения компьютером, записанный на языке машинных двоичных кодов, или на специальном языке программирования.
! Язык программирования – это средство описания алгоритма, ориентированное на исполнителя – ЭВМ.
Пользователь вводит в компьютер команды компьютерной программы, написанной на языке программирования. Компьютер воспринимает программу на языке машинных кодов, поэтому, команды компьютерной программы, написанной на языке программирования, автоматически переводятся в машинные коды благодаря программе-переводчику – транслятору.
! Трансляторы – это комплекс программ, обеспечивающий перевод программ, которые написаны на языке программирования, в совокупность машинных кодов.
Структуры алгоритмов
При изучении алгоритмов важно осознать, что существует много различных возможностей для представления (описания) одного и того же алгоритма.
Алгоритм можно представить как некоторые жесткие структуры, состоящие из отдельных базовых элементов. Основные структуры алгоритмов – это ограниченный набор блоков и стандартных способов их соединения для выполнения типичных последовательностей действий.
Алгоритм любой степени сложности можно построить с помощью блоков основного базового набора. Каждая из этих структур имеет только один вход и только один выход, что позволяет соединять их между собой в любой последовательности. В результате графической формы представления алгоритмов получаем блок-схему.
Приводимые ниже структуры рекомендуются при использовании, так называемого, структурного подхода к разработке алгоритмов и программ. Структурный подход предполагает использование только нескольких основных структур, комбинация которых, дает все многообразие алгоритмов и программ.
В1969 году Эдстер В. Дийкстра в статье «Структуры данных и алгоритмы» доказал, что для записи любого алгоритма достаточно трех основных алгоритмических конструкций: линейных (последовательных), ветвящихся, циклических.
!
Важнейший принцип структурного
программирования
базируется на утверждении: алгоритм
любой сложности можно построить с
помощью следующих базовых структур:
линейной,
ветвящейся, циклической.
На практике чаще встречаются алгоритмы смешанного типа, у которых можно выделить участки (блоки), имеющие структуру линейного, ветвящегося или циклического типа.
I. Линейный алгоритм – это алгоритм, в котором команды выполняются последовательно одна за другой (Рис. 3). Такая последовательность команд называется серией. В линейной структуре имеем последовательное размещение блоков и групп блоков. В программе реализуется последовательным размещением операторов.
! Алгоритм называется линейным, если его команды выполняются в порядке их естественного следования друг за другом независимо от каких-либо условий.
II. Алгоритмическая структура «ветвление»
В
алгоритмическую структуру “ветвление”
входит условие,
в зависимости от выполнения или
невыполнения которого реализуется та
или иная последовательность команд
(серия).
Условие – это логическое выражение, которое
может принимать значение «да», если условие верно,
и «нет», если условие не выполняется. Рис. 4.
В алгоритмической структуре “ветвление” та или иная серия команд выполняется в зависимости от истинности того или иного условия (Рис 4).
! Алгоритм включает в себя ветвление, если ход его выполнения зависит от истинности тех или иных условий.
Ветвление организуется с помощью логического элемента (ромб с записанным внутри условием), имеющего один или несколько (в простейшем случае – два) выходов.
Назначение логического элемента – проверка заданного условия. В зависимости от выполнения (истинности) или невыполнения (ложности) проверяемого условия возможен выход соответственно на ветвь “Да” или “Нет”.
Условия бывают простыми, они включают в себя два числа, две переменных или два арифметических выражения, которые сравниваются между собой с помощью операторов сравнения: =; <; >; <=; >=; <>.
Сложное условие – это последовательность простых условий, объединенных между собой знаками логических операций: Not (Не); And (И); Or (Или).
На естественном языке ветвлению соответствует последовательность операторов:
Если <условие справедливо>
то < выполнить действие 1>
иначе <выполнить действие 2>
Конец ветвления
II a. Алгоритмическая структура «выбор» (Рис. 5) применяется для ветвления со многими вариантами серий команд.
Такая
структура может иметь несколько условий,
их проверка происходит в строгой
последовательности их записи в команде.
При истинности одного их условий
выполняется соответствующая
последовательность команд. В алгоритмической
структуре «выбор»
выполняется одна из нескольких
последовательностей команд при истинности
соответствующего условия