Как настроить смартфоны и ПК. Информационный портал
  • Главная
  • Обзоры
  • Обозначения блок схем алгоритмов. Создание простой блок-схемы

Обозначения блок схем алгоритмов. Создание простой блок-схемы

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

В интернете довольно легко найти огромное количество редакторов, предоставляющих возможность создания, редактирования и экспорта алгоритмической и деловой графики. Однако не всегда легко разобраться в том, какое именно приложение необходимо в конкретном случае.

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

Как и любая другая программа из серии Microsoft Office, Visio имеет все необходимые для комфортной работы инструменты: создание, редактирование, соединение и изменение дополнительных свойств фигур. Реализован и специальный анализ уже построенной системы.

Dia

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

Огромная стандартная библиотека форм и связей, а также уникальные возможности, не предлагаемые современными аналогами — это ждет пользователя при обращении к Диа.

Flying Logic

Если вы ищете софт, с помощью которого можно быстро и легко построить необходимую схему, то программа Flying Logic — это именно то, что вам нужно. Здесь отсутствует громоздкий сложный интерфейс и огромное количество визуальных настроек диаграмм. Один клик — добавление нового объекта, второй — создание объединения с другими блоками. Еще можно объединять элементы схемы в группы.

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

BreezeTree Software FlowBreeze

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

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

Edraw MAX

Как и предыдущий редактор, Edraw MAX — это продукт для продвинутых пользователей, профессионально занимающихся подобной деятельностью. Однако, в отличие от FlowBreeze, он является самостоятельным программным обеспечением с несчетным количеством возможностей.

По стилю интерфейса и работы Edraw очень напоминает . Не зря его называют главным конкурентом последнего.

AFCE Редактор Блок-Схем (Algorithm Flowcharts Editor)

Данный редактор является одним из наименее распространенных среди представленных в данной статье. Вызвано это тем, что его разработчик — обычный преподаватель из России — полностью забросил разработку. Но его продукт все-равно пользуется некоторым спросом на сегодняшний день, поскольку отлично подходит любому школьнику или студенту, который изучает основы программирования.

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

FCEditor

Концепция программы FCEditor кардинально отличается от других представленных в данной статье. Во-первых, работа происходит исключительно с алгоритмическими блок-схемами, которые активно используются в программировании.

Во-вторых, ФСЭдитор самостоятельно, в автоматическом режиме строит все конструкции. Все что необходимо пользователю — это импортировать готовый исходный код на одном из доступных языков программирования, после чего экспортировать конвертированный в схему код.

BlockShem

В программе BlockShem, к сожалению, представлено намного меньше функций и удобств для пользователей. Полностью отсутствует автоматизация процесса в любом виде. В БлокСхеме пользователь должен вручную рисовать фигуры, а после объединять их. Данный редактор скорее относится к графическим, нежели к объектным, предназначенным для создания схем.

Библиотека фигур, к сожалению, в этой программе крайне бедна.

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

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

Для чего применяют блок-схемы?

Упомянутые системы призваны выполнять следующие функции:

Разрабатывать новый процесс;

Описывать и документировать текущий алгоритм;

Разрабатывать модификации к данному процессу либо исследовать звенья с вероятным возникновением ошибок и сбоев;

Определять, когда, где и как можно менять текущий алгоритм, с целью проверки устойчивости всей системы.

Разработка последовательности операций

Любая блок-схема строится на основе алгоритма действий, описывающего работу устройства или программы. Поэтому сначала строится сама система. "Алгоритмом" называют описание последовательности операций для решения поставленной задачи. По сути, это правила выполнения необходимых процессов Прежде чем приступить к построению алгоритма, требуется четко определить задачу: что необходимо получить в результате, какая исходная информация нужна, а какая уже имеется, есть ли ограничения для ее получения. После этого составляется список действий, которые необходимо осуществить для получения требуемого результата.

Типы алгоритмов

На практике чаще всего применяют следующие виды блок-схем:

Графическая, то есть в основе находятся геометрические символы;

Словесная: составляется с помощью обычных слов того или иного языка;

Псевдокоды: представляют собой полуформализованное описание на которое включает в себя элементы языка программирования и фразы литературного, а также общепринятые математические символы;

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

Блок-схема устройства: описание

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

Основные элементы, употребляемые при составлении блок-схем

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

Элементы блок-схемы:

1. Процесс означает вычислительное действие либо последовательность таких действий, изменяющих значения, размещения данных или форму представления. Для наглядности схемы такие элементы можно объединить в один блок. Данный символ имеет вид прямоугольника, внутри которого записываются комментарии, сопровождающие выполнение операции (либо группы операций).

2. Решение. Данный блок применяется для обозначения перехода управления по определенному условию. В каждом таком элементе указывается вопрос, сравнение или условие, которые его определяет. Другими словами, решение - это выбор направления для выполнения программы или алгоритма в зависимости от некоего переменного условия. Графический вид данного элемента - это ромб. Упомянутый символ может использоваться в качестве изображения следующих унифицированных структур: выбор, развилка полная и неполная, цикл «до» и «пока».

3. Модификация. Этот блок означает начало цикла. Он применяется для организации циклической конструкции. Внутри такого элемента записывают параметр круга действий, указывают его начальные значения, граничное условие, а также шаг изменения параметра для последующего повторения. Другими словами, модификация - это выполнение меняющихся команд или их групп, операций, изменяющих программу. Графическое изображение этого символа представляет собой шестиугольник.

4. Предопределенный процесс означает вычисление по заданной или стандартной программе. Его используют для указания обращения к вспомогательному алгоритму, который существует автономно в виде отдельных самостоятельных модулей, а также для обращения к библиотечным подпрограммам. Графически вид этого символа представлен прямоугольником с двумя вертикальными полями по краям. Этот элемент служит для указаний обращений к функциям, процедурам, программным модулям.

5. Ввод-вывод данных в общем виде.

6. Пуск и остановка. Этот элемент означает начало и конец алгоритма, а также вход в программу и выход из неё. Графически данный символ напоминает прямоугольник, у которого вместо боковых прямых - дуги.

7. Документ означает вывод результатов работы на печать. Графически такой элемент напоминает прямоугольник, только вместо нижней прямой начертана полуволна.

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

9. Дисплей означает ввод или вывод информации в случае, когда устройство непосредственно подключено к процессору. В тот момент, когда начинают воспроизводиться данные, оператор может вносить изменения во время их обработки. Графически данный элемент представляет фигуру, у которой нижняя и верхняя линии параллельны, правая - это дуга, а левая состоит из двух прямых в виде стрелки.

10. Линии потока - это стрелки, которые указывают последовательность связей. Ни одна блок-схема структуры не может обходиться без данного элемента. Существуют определенные правила начертания этих символов. Перечислим их:

Данные элементы должны быть параллельными линиям внешнего периметра или границам страницы, на которой изображена эта блок-схема;

Направление линии сверху вниз или слева направо считается основным, стрелками оно не обозначается, остальные случаи указания направлений обозначены ими;

Изменение направления данного элемента производится только под углом 90 о.

11. Соединитель. Данный элемент предназначен для указания связи на прерванных линиях потока. Эти символы используются в том случае, если блок-схема программы строится из нескольких частей. Тогда линия потока от одной части должна закончиться «соединителем», а новой части - начаться с данного символа. Внутри такого элемента ставится один и тот же порядковый номер. Графическое изображение «соединителя» - это круг.

12. Межстраничный соединитель. Назначение этого элемента аналогично предыдущему, только используется он для соединения блок-схем, размещенных на разных страницах. Изображение такого элемента представлено пятиугольником в виде домика.

13. Комментарий - это связь между различными элементами блок-схемы с пояснениями. Упомянутый элемент позволяет включать в себя формулы и прочую информацию.

Построение блок-схем

Графическое построение алгоритма - это часть документации к устройству или программе, которая всегда имеется в избытке. Однако в большинстве случаев программное обеспечение вообще не нуждается в блок-схеме. Лишь единицам требуется построение алгоритма, занимающего несколько листов, остальным же достаточно символичной схемы. Простая блок-схема показывает структуру ветвления программ только в одном аспекте. Однако даже такая структура четко видна только при условии, что алгоритм помещается на одном листе. В обратном случае, когда блок-схема расположена на нескольких страницах, связанных межстраничными переходами, весьма сложно получить о ней верное представление. Если она размещается на одном листе, то для большой программы данное изображение алгоритма превращается в ее общий план с перечнем главных блоков и этапов. Конечно же, такой график не следует стандартам построения схем, но он и не нуждается в них, так как этот процесс полностью индивидуален. Правила, касающиеся типа символов, стрелок и порядка нумерации, необходимы только для разбора подробных блок-схем.

Массивы и построение алгоритмов

Массив представляет собой совокупность однотипной информации, которая хранится в последовательных кластерах памяти и имеет общее имя. Такие ячейки называются "элементами системы". Все кластеры нумеруются по порядку. Такой номер называется "индексом элемента массива". Как составить блок-схему для подобной системы? Рассмотрим пример создания алгоритма для элементарного типа. Простейшая система имеет условно вид строки. Зададим имя для данного массива - «А». Будем считать, что наша система состоит из восьми ячеек (от 1 до 8). Каждый из упомянутых кластеров содержит случайное число, которое называется "элементом массива". Для обращения в конкретной ячейке необходимо указывать имя в (). Рассмотрим пример, в котором блок-схема массива предназначена для заполнения системы случайными числами с последующим выводом информации на экран. Что представляет собой такой алгоритм? Это элементарная система. По сути, она не имеет практического применения, однако удобна для учебного процесса. Рассматриваемая блок-схема (пример построения описан ниже) содержит всего семь основных элементов, соединенных линиями переходов.

Описание последовательности выполнения задачи

1. Первым элементом схемы будет символ «Начало».

2. Вторым блоком - «Процесс», внутри которого вписываем «инициализация random».

3. Следующий элемент - «Модификация», в блоке вписываем значение ячеек массива.

4. Далее, согласно заданной функции, происходит переадресация на следующий блок «процесса», в котором задается обращение к конкретным кластерам системы с указанием ограничения случайных чисел в диапазоне от нуля до ста. После проведения данной операции происходит возврат к третьему блоку, а через него - далее на пятый.

5. В этом блоке «Модификации», согласно вписанной функции, происходит переадресация на следующий элемент.

6. «Вывод» производит отображение информации о новом содержимом массива на мониторе с последующим направлением на предыдущий блок. Далее - на последний элемент.

7. «Конец» работы алгоритма.

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

«Редактор блок-схем»

Если вы задаетесь вопросом о том, как составить блок-схему, то знайте, что существуют специальные программы, которые предназначены для создания, а также редактирования таких систем. Удобством графического отображения алгоритма является то, что пользователь не привязан к синтаксису конкретного языка программирования. Построенная блок-схема одинаково подходит для всех языков (например, С, Паскаль, Бейсик и другие). Кроме того, редактор может использоваться для построения диаграмм и проверки работоспособности схем. Такая программа является специализированным софтом. Она предоставляет разнообразный набор инструментов, необходимых для построения блок-схем, что делает ее более удобной, по сравнению с обычными Дополнительные опции позволяют оптимизировать процесс составления системы с дальнейшим ее преобразованием в функции и процедуры языка программирования. Кроме того, редактор блок-схем предлагает набор шаблонов, способных существенно ускорить работу начинающего пользователя. Ведь известно, что при построении алгоритма часто применяются повторяющиеся структуры, например разнообразные варианты циклов, альтернативы (полные и неполные), множественные ветвления и прочее. Редактор позволяет выделять часто используемые в блок-схемах элементы и добавлять их в создаваемую схему. Это избавляет от прорисовки их каждый раз заново. Кроме того, с помощью редактора можно импортировать функции и процедуры, реализованные на любом известном языке программирования. Данная опция полезна для разбора структуры алгоритма, который написан на малознакомом языке. Системные требования рассматриваемой программы довольно скромные, что позволяет использовать ее на любом

Заключение

Подводя итог, следу отметить, что подробные схемы построения алгоритмов уже устарели. В качестве описания процесса они никому не интересны. В лучшем случае блок-схемы пригодны для проведения обучения новичков, которые не умеют алгоритмически мыслить. Предложенные в свое время элементы со своим содержанием являлись языком высокого уровня, они объединяли операторов языка машины в отдельные группы. На данный момент каждый графический элемент соответствует конкретному оператору. Значит, сам символ превратился в случайное, а главное - бесполезное занятие по рисованию, от которого легко можно отказаться. Сегодня стали лишними даже линии переходов, так как каждый оператор уже определен. В действительности графическое построение алгоритмов больше превозносится, чем применяется на практике. Программист с большим опытом работы, прежде чем написать программу, редко чертит блок-схему. Когда стандарт организации требует графический алгоритм, то рисуют его уже после окончания работ.

Строго говоря, термина «блок-схема» не существует. Вместо этой фразы правильно говорить «схема алгоритма», но сейчас не об этом. Моя статья о том, можно ли быстро и удобно рисовать алгоритмы, при этом еще чтобы это было бесплатно. Было бы здорово, если бы существовал бесплатный аналог онлайн-редактора Gliffy, и он на наше счастье есть.

Алгоритмы в Pencil рисовать очень легко. Для этого имеется выделенная библиотека примитивов со стандартными блоками и соединителями. Выглядит это примерно так:

При рисовании блоков они привязываются автоматически к сетке, что позволяет легко их выравнивать. Нарисовав один блок, другой блок можно «примагнитить» к нему снизу или сбоку, всё при этом будет ровно.

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

Доступны основные базовые возможности, практически как в Visio: блоки можно объединять в группы, перетаскивать и копировать, располагать выше или ниже по слоям, магнитить коннекторы к центру и т.д.

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

Алгоритм - описанная на некотором языке точная конечная система правил, определяющая содержание и порядок действий над некоторыми объектами, строгое выполнение которых дает решение поставленной задачи.Понятие алгоритма, являющееся фундаментальным в математике и информатике, возникло задолго до появления средств вычислительной техники. Слово «алгоритм» появилось в средние века, когда европейцы познакомились со способами выполнения арифметических действий в десятичной системе счисления, описанными узбекским математиком Муххамедом бен Аль-Хорезми.Слово алгоритм - есть результат европейского произношения слов Аль-Хорезми.Первоначально под алгоритмом понимали способ выполнения арифметических действий над десятичными числами. В дальнейшем это понятие стали использовать для обозначения любой последовательности действий, приводящей к решению поставленной задачи.Любой алгоритм существует не сам по себе, а предназначен для определенного исполнителя (человека, робота, компьютера, языка программирования и т.д.).Значение слова «алгоритм» очень схоже со значениями слов «рецепт», «метод», «процесс». Однако, в отличие от рецепта или процесса, алгоритм характеризуется следующими свойствами:

дискретностью, массовостью, определенностью, результативностью, формальностью.

Дискретность (разрывность) - это свойство алгоритма, характеризующее его структуру: каждый алгоритм состоит из отдельных законченных действий, говорят «Делится на шаги».

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

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

Результативность - свойство, состоящее в том, что любой алгоритм должен завершаться за конечное (может быть очень большое) число шагов. Формальность - это свойство указывает на то, что любой исполнитель, способный воспринимать и выполнять инструкции алгоритма, действует формально, т.е. отвлекается от содержания поставленной задачи и лишь строго выполняет инструкции. Рассуждать «что, как и почему?» должен разработчик алгоритма, а исполнитель формально (не думая) поочередно исполняет предложенные команды и получает необходимый результат.

1.2.Способы описания (виды) алгоритмов.

Рассмотрим следующие способы описания алгоритма: словесное описание, псевдокод, блок-схема, программа.

Словесное описание представляет структуру алгоритма на естественном языке. Например, любой прибор бытовой техники (утюг,электропила, дрель и т.п.) имеет инструкцию по эксплуатации, т.е.словесное описания алгоритма, в соответствии которому данный прибор должен использоваться. Никаких правил составления словесного описания не существует. Запись алгоритма осуществляется в произвольной форме на естественном, например, русском языке. Этот способ описания не имеет широкого распространения, так как строго не формализуем (под «формальным» понимается то, что описание абсолютно полное и учитывает все возможные ситуации, которые могут возникнуть в ходе решения); допускает неоднозначность толкования при описании некоторых действий; страдает многословностью.

Псевдокод - описание структуры алгоритма на естественном, частично формализованном языке, позволяющее выявить основныеэтапы решения задачи, перед точной его записью на языке программирования. В псевдокоде используются некоторые формальные конструкции и общепринятая математическая символика. Строгих синтаксических правил для записи псевдокода не существует. Это облегчает запись алгоритма при проектировании и позволяет описать алгоритм, используя любой набор команд. Однако в псевдокоде обычно используются некоторые конструкции, присущие формальным языкам, что облегчает переход от псевдокода к записи алгоритма на языке программирования. Единого или формального определения псевдокода не существует, поэтому возможны различные псевдокоды, отличающиеся набором используемых слов и конструкций.

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

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

Программа - описание структуры алгоритма на языке алгоритмического программирования.

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

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

В таблице приведены наиболее часто употребляемые символы.

Название символа

Обозначение и пример заполнения

Пояснение

Вычислительное действие или последовательность действий

Проверка условий

Модификация

Начало цикла

Предопределенный процесс

Вычисления по подпрограмме, стандартной подпрограмме

Ввод-вывод

Ввод-вывод в общем виде

Пуск-остановка

Начало, конец алгоритма, вход и выход в подпрограмму

Документ

Вывод результатов

Символы блок-схемы

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

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

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

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

Для примера приведем блок-схемы алгоритма нахождения максимального из двух значений:

На этом уроке мы на практике разберём: как составлять алгоритмы различных типов , а также как «читать» алгоритм по готовой блок-схеме .

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

Таким образом, алгоритм имеет следующий вид:

  1. Подойти к светофору.
  2. Посмотреть на его свет.
  3. Если горит зелёный, то перейти дорогу.
  4. Если горит красный, то подождать, пока загорится зелёный, и уже тогда перейти дорогу.

Блок-схема данного алгоритма имеет вид:

Рис. 3. Блок-схема к примеру 2.

Составление циклических алгоритмов

Рассмотрим пример на составление циклического алгоритма. Мы уже несколько раз обсуждали перевод чисел из десятичной системы в двоичную. Теперь пришло время чётко сформулировать этот алгоритм.

Напомним, что его принцип состоит в делении числа на 2 и записей остатков, получающихся при делении.

Пример 3. Составить алгоритм перевода чисел из десятичной системы в двоичную.

То есть, алгоритм будет выглядеть так:

  1. Если число равно 0 или 1, то это и будет его двоичное представление.
  2. Если число больше 1, то мы делим его на 2.
  3. Полученный остаток от деления записываем в последний разряд двоичного представления числа.
  4. Если полученное частное равно 1, то его дописываем в первый разряд двоичного представления числа и прекращаем вычисления.
  5. Если же полученное частное больше 1, то мы заменяем исходное число на него и возвращаемся в пункт 2).

Блок-схема этого алгоритма выглядит следующим образом:

Рис. 4. Блок-схема к примеру 3.

Примечание: подумайте, можно ли как-то упростить приведенную блок-схему.

«Чтение» алгоритмов

Пример 4. По заданной блок-схеме выполнить действия алгоритма для числа 23.

Рис. 5. Блок-схема к примеру 4.

На этом уроке мы разобрали примеры составления алгоритмов, а также пример «чтения алгоритма» по готовой блок-схеме.

На следующем уроке мы обсудим игры и выигрышные стратегии.

Как убить Кощея?

Наверное, все помнят из детства сказку, в которой рассказывается о местонахождении смерти Кощея Бессмертного: «Смерть моя - на конце иглы, которая в яйце, яйцо - в утке, утка - в зайце, заяц в сундуке сидит, сундук на крепкий замок закрыт и закопан под самым большим дубом на острове Буяне, посреди моря-океяна …»

Рис. 6. Кощей Бессмертный и Василиса Премудрая ().

Предположим, вместо Ивана-царевича бороться с Кощеем был брошен Иван-дурак. Давайте поможем Василисе Премудрой составить такой алгоритм, чтобы даже Иван-дурак смог убить Кощея.

  1. Конечно же, сначала необходимо разыскать остров Буян (на такие вещи, будем считать, Иван-дурак способен).
  2. Поскольку сундук закопан под самым большим дубом, то сначала необходимо найти самый большой дуб на острове.
  3. Затем нужно выкопать сам сундук.
  4. Прежде чем доставать зайца, необходимо сломать крепкий замок.
  5. Теперь уже можно достать зайца.
  6. Из зайца нужно достать утку.
  7. Из утки достать яйцо.
  8. Разбить яйцо и достать иголку.
  9. Иголку поломать.

Это тоже линейный алгоритм, хотя и более длинный, чем алгоритм запуска программы Paint.

Его блок-схема выглядит так:

Рис. 7. Блок-схема.

На распутье…

И снова обратимся к сказочным персонажам в поисках примеров различных алгоритмов. Когда речь идёт об алгоритмах с ветвлениями, то, конечно, нельзя не вспомнить о богатыре, стоящем на распутье возле камня.

Рис. 8. Богатырь на распутье ().

На камне написано:

«Направо пойдёшь - коня потеряешь, себя спасёшь; налево пойдёшь - себя потеряешь, коня спасёшь; прямо пойдёшь - и себя и коня потеряешь».

Попробуем составить алгоритм действий, который составил автор надписи на камне для путников?

  1. Если мы пойдём направо, то потеряем коня. Если же мы не пойдём направо, то у нас остаётся два варианта (мы считаем, что назад возвращаться путник не будет): пойти прямо и налево.
  2. В случае, если мы пойдём налево, то потеряем себя, а коня спасём.
  3. Если же мы пойдём прямо, то потеряем и себя, и коня.

Блок-схема этого алгоритма выглядит так:

Рис. 9. Блок-схема.

Репка

Русские народные сказки не оставили нас и без циклического алгоритма. И, как ни странно, спрятался он в одной из самых незамысловатых сказок - «Репке».

Рис. 10. Репка.

Вспомним сюжет сказки: дед тянет-потянет - вытянуть не может. Затем на помощь к деду по очереди подходят новые персонажи - и так до тех пор, пока не приходит мышка.

Попытаемся составить алгоритм действий всех персонажей сказки для того, чтобы они всё-таки смогли вытянуть Репку.

  1. Изначально к Репке подошёл дед и попытался вытянуть.
  2. Поскольку вытянуть Репку не получилось, то понадобилась помощь следующего персонажа.
  3. И так происходит до тех пор, пока не появилась мышка (или, другими словами, до тех пор, пока Репку не вытащили).

В виде блок-схемы этот алгоритм выглядит следующим образом:

Рис. 11. Блок-схема.

  1. Босова Л.Л. Информатика и ИКТ: Учебник для 6 класса. - М.: БИНОМ. Лаборатория знаний, 2012
  2. Босова Л.Л. Информатика: Рабочая тетрадь для 6 класса. - М.: БИНОМ. Лаборатория знаний, 2010.
  3. Босова Л.Л., Босова А.Ю. Уроки информатики в 5-6 классах: Методическое пособие. - М.: БИНОМ. Лаборатория знаний, 2010.
  1. Интернет портал «Сообщество взаимопомощи учителей» ().
  2. Интернет портал «Nsportal.ru» ().
  3. Интернет портал «Фестиваль педагогических идей» ().
  1. §3.3, 3.4 (Босова Л.Л. Информатика и ИКТ: Учебник для 6 класса);
  2. Постарайся самостоятельно составить линейный алгоритм из 5-6 фигур;
  3. Составь блок-схему циклического алгоритма выполнения домашнего задания;

Лучшие статьи по теме