В алгоритмической структуре «выбор» выполняется одна из нескольких последовательностей команд при истинности соответствующего условия



Алгоритм, способы записи алгоритмов. Блок-схемы. В информатике план действий называют алгоритмом. Алгоритм состоит из отдельных шагов – команд. algorithm – латинского написания имени аль – Хорезми, величайшего ученого из города Хорезма, Мухамеда бен Мусу. Алгоритм– конечная последовательность команд, адресованных исполнителю, четко и однозначно задающая процесс решения задач какого-либо типа во всех деталях и позволяющая получить за конечное число шагов результат, однозначно определяемый исходными данными. Алгоритм – это строгая и четкая последовательность действий, выполнение которых приводит к определенному результату.

Способы записи алгоритмов

Словесный (описание алгоритма с помощью слов русского языка).

Пример. Алгоритм включения компьютера.

Подойти к компьютеру.

Включить монитор.

Включить системный блок.

Запись на алгоритмическом языке

Пример. Алгоритм нахождения минимального из двух введенных чисел.

Начало

Ввод числа х

Ввод числа у

Если х<у

То Вывод х

Иначе Вывод у

Все

Конец

Блок-схема (Графическое представление алгоритма)

Программа (запись алгоритма на языке программирования)

Блок-схема – ориентированный граф, указывающий порядок исполнения команд алгоритма исполнителем. Блоки –отдельные вершины графа – обозначают команды которые даются исполнителю, а дуги указывают на последовательность перехода от одной команды к другой

На языке блок-схем каждый шаг алгоритма описывается с помощью соответствующей фигуры, а последовательность выполнения шагов определяется линиями-связями. Блок схемы читаются сверху вниз и слева направо.

Блок-схемы полезны тем, что обеспечивают легкую «читаемость» алгоритма. Однако это не всегда так: стоит попытаться нарисовать блок-схему для более-менее сложного алгоритма, как она разрастается до невероятных размеров и теряет все свое наглядное преимущество. Поэтому блок-схемы хороши в структурном программировании для описания коротких алгоритмов.

Язык блок-схем прост (хотя существуют его расширенные варианты):

Прямоугольник – выполнение действия (например, c = a + b)

Ромб – проверка условия (например, a > b). Если условие выполняется, то алгоритм идет по линии «да», если не выполняется – то по линии «нет».

Скругленный прямоугольник – начало и конец алгоритма

Скошенный прямоугольник(параллелограмм) – ввод-вывод данных (например, получение значения переменной, вывод результата на экран монитора). Это не полное описание языка блок-схем.

Блок-схемы являются одним из графических способов представления алгоритмов. Блок-схема состоит из блоков, соединенных линиями. Чаще всего используются блоки следующих типов:

- выполнение операции;- выбор направления выполнения алгоритма в зависимости от выполнения условия;- ввод/вывод данных;- начало и конец алгоритма.

В задачах, имеющие алгоритмическое решение, могут быть описаны с использованием следующих алгоритмических структур:

Следование. Предполагает последовательное выполнение команд сверху вниз. Если алгоритм состоит только из структур следования, то он является линейным.

Ветвление. Выполнение программы идет по одной из двух, нескольких или множества ветвей. Выбор ветви зависит от условия на входе ветвления и поступивших сюда данных.

Цикл. Предполагает возможность многократного повторения определенных действий. Количество повторений зависит от условия цикла.

Функция (подпрограмма, процедура). Команды, отделенные от основной программы, выполняются лишь в случае их вызова из основной программы (из любого ее места). Одна и та же функция может вызываться из основной программы сколь угодно раз.

Алгоритмические конструкции

Группа шагов алгоритма, выполняемых последовательно друг за другом без каких-либо условий, называется линейной последовательностью. На рис. изображена линейная последовательность, состоящая из двух шагов.

В линейном алгоритме команды выполняются последовательно, одна за другой. Примером линейного алгоритма может служить алгоритм заварки чая:

1. вскипятить воду

2. сполоснуть заварочный чайник горячей водой

3. насыпать заварку

4. залить заварку кипятком

5. закрыть чайник чем-нибудь теплым

6. подождать 5 минут

7. ... теперь можно пить чай

Следование– команды выполняются одна за другой в том порядке, в котором записаны в программе (линейные алгоритмы).

Ветвление (выбор) – в зависимости от заданных условий, при выполнении программы выбирается один из возможных вариантов последовательности действий. Ветвление if-else (если…, то…, иначе..). Если выражение-условие возвращает true (правда), то выполнение алгоритма идет по ветке «Да», если условие не выполняется (false), то выполнение идет по ветке «Нет». При любом результате выражения-условия нельзя вернуться в основную ветку программы, минуя дополнительные действия.

Ветвление представляет собой алгоритмическую конструкцию, в которой выполнение того или иного шага зависит от истинности условия. Говорят, что конструкция «ветвление» записана в полной форме, если в ней присутствуют команды как для случая истинного условия, так и для его ложности. На рис. приведена блок-схема ветвления в полной форме. Конструкция ветвления в полной форме реализуется следующим образом. Если условие истинно, то выполняется действие 1, если условие ложно, то выполняется действие 2

Если в ветвлении присутствуют действия только для истинности или только для случая ложности условия, то говорят, что она записана в неполной (в сокращенной) форме. На рис. приведены две блок-схемы ветвления в сокращенной форме. Конструкция ветвления в сокращенной форме реализуется следующим образом. Если выбрано направление, в котором отсутствует действие, то конструкция ветвления не выполняется и управление получает конструкция, следующая за ветвлением.

ЕСЛИ условие ТО команда - Ветвление if

Это самый простой тип ветвления. Если результат вычисления выражения-условия возвращает true (правда), то выполнение алгоритма идет по ветке «Да», в которую включены дополнительные выражения-действия. Если условие возвращает false (ложь), то выполнение алгоритма идет по ветке «нет», т.е продолжает выполняться основная ветка программы

В разветвляющемся алгоритме порядок следования команд может быть разный в зависимости от того, какова окружающая обстановка. Примером разветвляющегося алгоритма может служить алгоритм перехода улицы:

1. подойти к пешеходному переходу

2. если есть светофор, то

3. ждать зеленого света

4. перейти улицу

5. иначе

6. ждать, пока слева не будет машин

7. перейти улицу до середины

8. ждать, пока справа не будет машин

9. перейти вторую половину улицы

Ветвление if-elif-else.Количество условий может быть различно. Если выполняется первое, то после выполнения действий, программа переходит к основной ветке, не проверяя дальнейшие условия. Если первое условие возвращает ложь, то проверяется второе условие. Если второе условие возвращает правду, то выполняются действия, включенные в вторую ветку конструкции. Последнее условие проверяется лишь в том случае, если ни одно до него не дало в результате true. Данную алгоритмическую конструкцию (if – elif – else:Если-то еще) не следует путать с алгоритмической конструкцией «Выбор».

В алгоритмической структуре «выбор» выполняется одна из нескольких последовательностей команд при истинности соответствующего условия.

Многие процессы в окружающем мире основаны на многократном повторении одной и той же последовательности действий.Жизнь растений в течение года проходит одни и те же циклы.

Ночь, улица, фонарь, аптека,

Бессмысленный и тусклый свет.

Живи еще хоть четверть века -

Всё будет так. Исхода нет.

Умрешь - начнешь опять сначала

И повторится всё, как встарь:

Ночь, ледяная рябь канала,

Аптека, улица, фонарь.


Дата добавления: 2018-04-04; просмотров: 1257; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!