Построить блок схему процесса обработки информации cloud-script.ru

Построить блок схему процесса обработки информации

Блок-схемы алгоритмов. ГОСТ. Примеры

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

На территории Российской Федерации действует единая система программной документации (ЕСПД), частью которой является Государственный стандарт — ГОСТ 19.701-90 «Схемы алгоритмов программ, данных и систем» [1]. Не смотря на то, что описанные в стандарте обозначения могут использоваться для изображения схем ресурсов системы, схем взаимодействия программ и т.п., в настоящей статье описана лишь разработка схем алгоритмов программ.

Рассматриваемый ГОСТ практически полностью соответствует международному стандарту ISO 5807:1985.

Содержание:

Элементы блок-схем алгоритмов

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

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

Терминатор начала и конца работы функции

Операции ввода и вывода данных

Выполнение операций над данными

Блок, иллюстрирующий ветвление алгоритма

Вызов внешней процедуры

Начало и конец цикла

Подготовка данных

Соединитель

Комментарий

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

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

Сортировка вставками

Массив в алгоритме сортировки вставками разделяется на отсортированную и еще не обработанную части. Изначально отсортированная часть состоит из одного элемента, и постепенно увеличивается.

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

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

В приведенной блок-схеме для организации цикла используется символ ветвления. В главном цикле (i Блок-схема алгоритма сортировки пузырьком

На блок-схеме показано использование символов начала и конца цикла. Условие внешнего цикла (А) проверяется в конце (с постусловием), он работает до тех пор, пока переменная hasSwapped имеет значение true. Внутренний цикл использует предусловие для перебора пар сравниваемых элементов. В случае, если элементы расположены в неправильном порядке, выполняется их перестановка посредством вызова внешней процедуры (swap). Для того, чтобы было понятно назначение внешней процедуры и порядок следования ее аргументов, необходимо писать комментарии. В случае, если функция возвращает значение, комментарий может быть написан к символу терминатору конца.

Сортировка выбором

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

Блок-схема сортировки выбором

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

На блоге можно найти другие примеры блок-схем:

Часть студентов традиционно пытается рисовать блок-схемы в Microsoft Word, но это оказывается сложно и не удобно. Например, в MS Word нет стандартного блока для терминатора начала и конца алгоритма (прямоугольник со скругленными краями, а не овал). Наиболее удобными, на мой взгляд, являются утилиты MS Visio и yEd [5], обе они позволяют гораздо больше, чем строить блок-схемы (например рисовать диаграммы UML), но первая является платной и работает только под Windows, вторая бесплатная и кроссплатфомренная. Все блок-схемы в этой статье выполнены с использованием yEd.

Нужны ли блок-схемы? Альтернативы

Частные конторы никакие блок-схемы не используют, в книжках по алгоритмам [6] вместо них применяют словесное описание (псевдокод) как более краткую форму. Возможно блок-схемы применяют на государственных предприятиях, которые должны оформлять документацию согласно требованиям ЕСПД, но есть сомнения — даже для регистрации программы в Государственном реестре программ для ЭВМ никаких блок-схем не требуется.

Тем не менее, рисовать блок-схемы заставляют школьников (примеры из учебников ГОСТ не соответствуют) — выносят вопросы на государственные экзамены (ГИА и ЕГЭ), студентов — перед защитой диплом сдается на нормоконтроль, где проверяется соответствие схем стандартам.

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

Появляются подозрения, что система образования прогнила и отстала лет на 20, однако аналогичная проблема наблюдается и за рубежом. Международный стандарт ISO 5807:1985 мало чем отличается от ГОСТ 19.701-90, более нового стандарта за рубежом нет. Там же производится множество программ для выполнения этих самых схем — Dia, MS Visio, yEd, …, а значит списывать их не собираются. Вместо блок-схем иногда применяют диаграммы деятельности UML [6], однако удобнее они оказываются, разве что при изображении параллельных алгоритмов.

Периодически поднимается вопрос о том, что ни блок-схемы, ни UML не нужны, да и документация тоже не нужна. Об этом твердят программисты, придерживающиеся методологии экстремального программирования (XP) [7], ходя даже в их кругу нет единого мнения.

В ряде случаев, программирование невозможно без рисования блок-схем, т.к. это один процесс — существуют визуальные языки программирования, такие как ДРАКОН [8], кроме того, блок-схемы используются для верификации алгоритмов (формального доказательства их корректности) методом индуктивных утверждений Флойда [9].

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

Язык нотаций: как объяснять сложные процессы с помощью блок-схем

Некоторые стратегии email-маркетинга похожи на сценарии Дэвида Линча. Если не объяснить, что к чему относится и как работает, не разберёшься.

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

Что такое нотация

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

Как мы выбирали нотацию

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

Наша цель — описать, как мы встраиваем email-маркетинг в существующую систему коммуникации бренда с покупателями или, что реже, выстроить эту систему с нуля.

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

Плюс у нас есть свои требования к нотации:

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

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

Грамотно и без космических обещаний

Рассмотрим основные элементы этих нотаций на примерах простой блок-схемы, известной с уроков информатики, популярной нотации ARIS eEPC и более сложной современной нотации BPMN.

Список базовых элементов

Теперь попробуем описать простую стратегию в каждой из нотаций.

1. Простая блок-схема

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

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

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

2. ARIS eEPS

Аббревиатура eEPC расшифровывается как extended Event Driven Process Chain — это расширенное описание цепочки процесса, управляемого событиями. Событие «создаёт» операцию (функцию), которая в свою очередь «создаёт» следующее событие.

При построении схемы в нотации ARIS eEPC нужно учитывать основные правила:

— каждой функции должно предшествовать событие;

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

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

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

Об этой нотации стоит рассказать подробнее. Она основана на методологии BPM (Business Process Management — управление бизнес-процессами). Схема в нотации BPMN моделирует поведение участников бизнес-взаимодействия во времени.

BPMN выбирают профессионалы управления бизнес-процессами, которым нужно выстроить стратегию бизнеса, выявить недостатки и модернизировать. Эта нотация позволяет и отразить детали, и взглянуть на бизнес-процесс с высоты птичьего полета.

Язык нотации BPMN сложный, он требует специального изучения. Однако не обязательно использовать все элементы: можно выбрать такие, которые подходят именно вам.

Особенности элементов нотации BPMN

Например, «Отправить письмо-подтверждение заказа» — задача, но если мы захотим указать на схеме процесс «Оформление заказа», то она станет подпроцессом внутри этого процесса.

Задачи и подпроцессы могут иметь маркеры. Например, силуэт человека — пользовательская операция (выполняет сотрудник), шестеренка — сервисная (выполняется сервисом автоматически).

Например, в процессе «Оформление заказа» старт — это клик на сайте на кнопку «Оформить заказ». Финиш — получение посылки или оставление отзыва.

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

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

Например, после того, как становится известно, что товара нет на складе, нужно в одно и то же время информировать клиента о задержке доставки и отправить запрос на склад.

Эксклюзивный шлюз (ИЛИ) можно представить в виде вопроса, на который может быть несколько ответов, но в результате верным будет только один.

Например, задаем вопрос: «Как клиент хочет оформить доставку?». Если самовывозом, то нужно отправить письмо, что товар забронирован. Если другим способом — выслать трек-номер посылки.

Неэксклюзивный шлюз (И/ИЛИ) обозначает условие, в результате которого могут выполняться параллельные действия или только одно действие.

  • если сумма заказа больше 3000 рублей, то клиент получает подарок #1;
  • если сумма заказа больше 3000 рублей и дополнительно заказан товар с особым ценником, то клиент получает подарки #1, #2;
  • если сумма заказа меньше 3000 рублей, но заказан товар с особым ценником, то клиент получает подарок #2;
  • если сумма заказа меньше 3000 рублей и в заказе нет товара с особым ценником, то клиент не получает подарок.

Комплексный шлюз обозначает, что действие произойдет при выполнении каждого из действий в ветвлении.

Например, письмо-подтверждение подписки отправится, если лид подписался на рекламную рассылку и с pop-up, и в личном кабинете, и при оформлении заказа.

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

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

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

Как работать с нотацией BPMN

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

Как быстро нарисовать схему

Создавать схемы несложно, главное — понимать суть процесса, продумать механизм его реализации и следовать алгоритму создания схемы.

  1. Задайте границы . На схеме нужно отразить события начала и конца процесса.
  2. Нарисуйте основные блоки . Представьте, что процесс идёт идеально, и составьте цепочку задач, выполняя которые, вы придёте к результату.
  3. Добавьте ветвления. Обозначьте варианты развития событий. Так работать проще, чем ставить их с самого начала и путаться в стрелках.
  4. Добавьте недостающие данные. При необходимости разместите на схеме важные документы, базы данных, текстовые комментарии.

Какие инструменты использовать

Сейчас существует много платных и бесплатных инструментов для моделирования бизнес-процессов. Среди бесплатных нам нравятся BizAgi Modeler и онлайн-сервис Draw.io . У них простой и понятный интерфейс, встроенные нотации, а схемы можно сохранять в виде изображений jpg, png и svg.

Нам этого хватает, поэтому платными инструментами мы не пользуемся. Но если очень хочется, можете купить Visual Paradigm. По подписке он стоит от 6 до 89 долларов в месяц, полная лицензия — от 99 до 1999 долларов. Также популярен Microsoft Visio (по подписке — от 5 до 15 долларов в месяц).

Самая интересная возможность в платных версиях — проверка процессов. Когда вы построите схему, программа проверит, нет ли логических ошибок.

Для нас самый удобный из сервисов — BizAgi, потому что именно в нём у каждого элемента есть удобное меню с атрибутами. То есть вам не нужно тратить время на то, чтобы выбрать подходящую длину стрелки между блоками. А ещё он на русском языке.

Пока всё. В следующей статье мы расскажем, как составить полную графическую схему email-коммуникаций в нотации BPMN.

Практическая работа №2. Составление алгоритмов

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

Составление линейных алгоритмов

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

Сегодня мы попрактикуемся в составлении алгоритмов. Это очень важные навыки. Мы уже неоднократно отмечали, что составить алгоритм, то есть объяснить другому, как выполнять те или иные задачи так, чтобы это было понятно каждому, — очень тяжело. Наша задача – научиться составлять алгоритмы для различных примеров, чтобы впоследствии, когда вы столкнётесь с необходимостью составлять алгоритмы для написания различных программ, это не составляло для вас особого труда.

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

Пример 1. Составить алгоритм запуска программы Paint в ОС Windows 7.

Вспомним из курса информатики 5 класса порядок действий для запуска программы Paint.

  1. Войти в меню «Пуск».
  2. Войти в пункт «Все программы».
  3. Войти в пункт «Стандартные».
  4. Выбрать программу «Paint».

Данный алгоритм в виде блок-схемы имеет следующий вид:

Рис. 1. Блок-схема к примеру 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.

  1. a=23
  2. 23+5=28
  3. 28 35
  4. 76 – двузначное число
  5. 76-50=26.

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

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

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

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

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

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

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

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

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

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

На распутье…

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

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

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

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

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

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

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

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

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

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

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

  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. Составь блок-схему циклического алгоритма выполнения домашнего задания;

Если вы нашли ошибку или неработающую ссылку, пожалуйста, сообщите нам – сделайте свой вклад в развитие проекта.

Строим блок-схему на предприятии самостоятельно

Автор: Ирина | 14.02.2018

Нормативно-правовая база

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

Более подробно с конкретными требованиями по блок-схемам вы можете ознакомиться в таких нормативных документах как ГОСТ Р 51705.1-2001 «Системы качества. Управление качеством пищевых продуктов на основе принципов ХАССП. Общие требования» и ГОСТ Р ИСО 22000-2007 «Системы менеджмента безопасности пищевой продукции. Требования к организациям, участвующим в цепи создания пищевой продукции».

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

Типы блок-схем

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

  1. Блок-схемы по приемке, размещению и хранению на складах сырья и упаковочных материалов. В них указывают требования и контролируемые параметры при входном контроле, а также, в зависимости от вида сырья – требуемые условия размещения и хранения.
  2. Блок-схемы по подготовке сырья и материалов к производству. Здесь сырье проходит первичную (чаще механическую) обработку. Овощи чистятся, моются, нарезаются; замороженные продукты животного происхождения размораживаются, промываются и разделываются; сыпучие продукты, в случае необходимости просеиваются и так далее. Перечень сырья и выполняемых операций по подготовке к дальнейшим этапам производства довольно разнообразный и зависит от каждого конкретного типа предприятия, ассортимента и других факторов.
  3. Блок-схемы по приготовлению (производству) блюд (готовой продукции) перед реализацией (отгрузкой) конечному потребителю. Все заготовки и полуфабрикаты, ранее подготовленные, собирают на таких схемах воедино и производят окончательный технологический процесс (тепловые и механические обработки, переработка, фасовка, смешивание, упаковка и маркировка, приемка по качеству и бракеражный контроль, реализация, отпуск или отгрузка). Всё очень разнообразно и зависит от конкретных задач и типа предприятия.

Все блок-схемы в системе ХАССП состоят из определенного набора операций, имеющих свой смысл и условные обозначения. Условные обозначения блок-схем представлены в таблице 1.

От теории к практике

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

Первое, что нам необходимо знать для построения блок-схемы — это технология приготовления и входящее в состав блюда сырьё. Итак, вот наш список сырья:

— капуста белокочанная свежая;

— морковь столовая свежая;

— лук репчатый свежий;

— томатное пюре (паста);

— бульон или вода;

— специи (перец черный молотый/горошком, лавровый лист);

— растительное масло для обжарки и пассерования.

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

Блок-схема по приемке, хранению и перемещению сырья на производство

Данная схема состоит из трех основных операций (этапов):

  1. Входной контроль
  2. Выгрузка на склад
  3. Хранение сырья (в зависимости от его типа)

Пример блок-схемы по приемке, хранению и перемещению сырья на производство

Так мы определяем, какие меры предпринимаем на входном контроле, как хранится и куда перемещается сырье после хранения.

Блок-схемы по подготовке различных групп сырья к производству

Из БС1 все сырье перемещается на производство. Однако прежде чем овощи попадут в суп, они должны пройти соответствующую обработку, из подготовленного мяса должен быть сварен бульон. Воду для бульона тоже нужно подготовить соответствующим образом. Значит, нам необходимы следующие блок-схемы:

  1. по подготовке овощей;
  2. по подготовке мясного сырья;
  3. по подготовке воды к варке бульона;
  4. по варке бульона (в данном случае, она является подготовительной операцией перед варкой супа и должна расцениваться соответствующим образом).

Мы будем присваивать блок-схемам по подготовке сырья порядковые номера, начинающиеся с цифры 2. На Рис. 2 изображена блок-схема подготовки овощей к производству. Этапы подготовительного процесса взяты из используемого СТН.

Внимание! При добавлении различных видов сырья будут добавляться и новые этапы (например, при использовании быстрозамороженных овощей добавится этап оттаивание и так далее, по смыслу).

Рис.2 Подготовка овощей к производству

Мясное сырье тоже нуждается в предварительной подготовке. подготовительные этапы берем из СТН. На Рис.3 представлена блок-схема по подготовке мясного сырья к производству.

Рис.3 Подготовка мясного сырья к производству

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

Рис. 4 Подготовка воды к производству

Да настоящего момента при составлении названий блок-схем подготовки мы использовали порядковые номера, начинающиеся с цифры 2 (2.1, 2.2, 2.3). Бульон можно использовать как самостоятельное блюдо, поэтому мы относим его к готовой продукции. Начиная с этой блок-схемы, мы будем присваивать порядковые номера, начиная с цифры 3 и далее – по количеству подгрупп наших блюд. Что это значит? Представьте, если бы у нас кроме бульона и супа было еще несколько видов блюд (например, салаты, блюда из мяса и птицы, блюда из рыбы, мучные кулинарные изделия). Названия наших блок-схем по приготовлению блюд выглядели бы примерно следующим образом:

-БС3 Бульон мясной;

-БС4 Супы заправочные;

-БС6 Блюда из мяса;

-БС7 Блюда из рыбы;

-БС8 Мучные кулинарные изделия…

На Рис. 5 представлена блок-схема по приготовлению мясного бульона.

Блок-схема по приготовлению заправочного супа

Итак, все ингредиенты для борща прошли предварительную подготовку. Далее наша задача, используя технологию приготовления по СТН, собрать всё воедино, провести оценку получившегося блюда и проанализировать его на соответствие к предъявляемым требованиям качества. Нужно определить меры коррекции при несоответствии и отправить на реализацию потребителям.

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

  • Кроме сырого картофеля и капусты в кипящий бульон необходимо положить пассерованный репчатый лук с морковкой, тушеную с уксусом и томатным пюре свеклу. Поэтому первый этап – предварительная термообработка овощей (пассерование и тушение). Предварительной она называется потому, что после нее будет еще одна – непосредственно варка супа.
  • Берем подготовленный мясной бульон, закладываем в него сырую капусту, картофель, пассерованные и тушеные овощи. Назовем этап «добавление ингредиентов».
  • Провариваем суп, доводим его до кулинарной готовности. В это же время добавляем соль, сахар, специи. Этот вид тепловой обработки последний перед подачей супа клиенту и носит название «окончательной термообработки».
  • Перед тем, как подать блюдо клиенту, его необходимо оформить. Добавляем в порционную тарелку сметану, посыпаем зеленью. Этап назовем «оформление».
  • Отбираем из сваренного объема контрольную порцию и проводим бракеражный контроль. Он включает в себя оценку органолептических показателей блюда: вкус, цвет, запах, внешний вид, форму нарезки ингредиентов, консистенцию и так далее. По результатам контроля выносится решение: если показатели качества в норме – отправляем блюдо на реализацию. В противном случае оцениваем степень не соответствия качеству и принимаем решение по корректирующим действиям: если присутствуют мелкие недочеты (недосол) – устраняем и отправляем на повторный органолептический контроль; если недочеты являются неустранимыми – испорченные (пережаренные) ингредиенты, влияющие на вкус, внешний вид и съедобность – утилизируем всю партию.
  • Если мы решаем отправить блюдо на реализацию, то должны указать ее предельные параметры. Например, в данном конкретном случае мы должны обратиться к СанПиН 2.3.6. 1079 – 01 «Санитарно-эпидемиологические требования к организациям общественного питания, изготовлению и оборотоспособности в них пищевых продуктов и продовольственного сырья» и выяснить температуру подачи данного вида блюда, сроки и температуру реализации. Температура горячих супов при подаче не ниже +75°С. Супы могут находиться на мармите или плите не более 2-3 ч с момента изготовления при постоянной температуре не менее +75°С. Указываем данную информацию в нашем последнем этапе – реализация.

Рис.6 Блок-схема приготовления заправочного супа (борща)

Данную логику следует применять при построении блок-схем для любых этапов и видов производств. Для понимания рецептур (технологий изготовления) необходимо руководствоваться ТТК или СТН в общественном питании и ТИ (ТУ или СТО) в производстве. Все похожие блюда, для удобства, следует объединить в подгруппы и строить для них общую блок-схему.

Построить блок схему процесса обработки информации

Конспект по информатике «Алгоритм. Свойства алгоритмов. Блок-схемы. Алгоритмические языки» для подготовки к контрольным, экзаменам и ГИА.

Алгоритм. Свойства алгоритмов.
Блок-схемы. Алгоритмические языки

Код ОГЭ: 1.3.1. Алгоритм, свойства алгоритмов, способы записи алгоритмов.
Блок-схемы. Представление о программировании

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

■ Алгоритм — строго определенная последовательность действий для некоторого исполнителя, приводящая к поставленной цели или заданному результату за конечное число шагов.

Любой алгоритм составляется в расчете на конкретного исполнителя с учетом его возможностей. Исполнитель — субъект, способный исполнять некоторый набор команд. Совокупность команд, которые исполнитель может понять и выполнить, называется системой команд исполнителя.

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

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

Свойства алгоритмов

Алгоритм должен обладать определенными свойствами. Наиболее важные свойства алгоритмов:

  • Дискретность. Процесс решения задачи должен быть разбит на последовательность отдельных шагов — простых действий, которые выполняются одно за другим в определенном порядке. Каждый шаг называется командой (инструкцией). Только после завершения одной команды можно перейти к выполнению следующей.
  • Конечность. Исполнение алгоритма должно завершиться за конечное число шагов; при этом должен быть получен результат.
  • Понятность. Каждая команда алгоритма должна быть понятна исполнителю. Алгоритм должен содержать только те команды, которые входят в систему команд его исполнителя.
  • Определенность (детерминированность). Каждая команда алгоритма должна быть точно и однозначно определена. Также однозначно должно быть определено, какая команда будет выполняться на следующем шаге. Результат выполнения команды не должен зависеть ни от какой дополнительной информации. У исполнителя не должно быть возможности принять самостоятельное решение (т. е. он исполняет алгоритм формально, не вникая в его смысл). Благодаря этому любой исполнитель, имеющий необходимую систему команд, получит один и тот же результат на основании одних и тех же исходных данных, выполняя одну и ту же цепочку команд.
  • Массовость. Алгоритм предназначен для решения не одной конкретной задачи, а целого класса задач, который определяется диапазоном возможных входных данных.

Способы представления алгоритмов:

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

Словесная запись алгоритма

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

■ Пример 1. Записать в словесной форме правило деления обыкновенных дробей.

Решение.
Шаг 1. Числитель первой дроби умножить на знаменатель второй дроби.
Шаг 2. Знаменатель первой дроби умножить на числитель второй дроби.
Шаг 3. Записать дробь, числителем которой являет результат выполнения шага 1, знаменателем — результат выполнения шага 2.

Описанный алгоритм применим к любым двум обыкновенным дробям. В результате его выполнения будут получены выходные данные — результат деления двух дробей (исходных данных).

Формальные исполнители алгоритма

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

Программы на языке произвольного формального исполнителя могут состоять только из элементарных команд, которые входят в его систему (которые исполнитель «понимает»).

Исполнитель может иметь свою среду (например, систему координат, клеточное поле и др.). Среда исполнителя — это совокупность объектов, над которыми он может выполнять определенные действия (команды), и связей между этими объектами. Алгоритмы в этой среде выполняются исполнителем по шагам.

■ Пример 2. Исполнитель Крот имеет следующую систему команд:

  1. вперед k — продвижение на указанное число шагов вперед;
  2. поворот s — поворот на s градусов по часовой стрелке;
  3. повторить m [команда1 … командаN] — повторить m раз серию указанных команд.

Какой след оставит за собой исполнитель после выполнения следующей последовательности команд?

Повторить 5 [вперед 10 поворот 72]

Решение. Команда вынуждает исполнителя 5 раз повторить набор действий: пройти 10 шагов вперед и повернуть на 72° по часовой стрелке. Так как поворот происходит на один и тот же угол, то за весь путь исполнитель повернет на 5 х 72° = 360°. Поскольку все отрезки пути одинаковой длины и сумма внешних углов любого многоугольника составляет 360°, то в результате будет оставлен след в форме правильного пятиугольника со стороной в 10 шагов исполнителя.

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

■ Пример 3. В системе команд предыдущего исполнителя Крот сформировать алгоритм вычерчивания пятиступенчатой лестницы (длина ступеньки — 10 шагов исполнителя).

Решение. За каждый шаг цикла должно происходить 4 действия: движение вперед на 10 шагов исполнителя, поворот на 90° по часовой стрелке, еще 10 шагов вперед и поворот на 90° против часовой стрелки (= 270° по часовой). В результате за один шаг цикла формируется ломаная из двух отрезков длиной 10 под прямым углом. За пять таких шагов сформируется 5–ступенчатая лестница (ломаная будет содержать 10 звеньев).

Повторить 5 [вперед 10 поворот 90 вперед 10 поворот 270]

Блок–схема

Блок–схема — наглядный способ представления алгоритма. Блок–схема отображается в виде последовательности связанных между собой функциональных блоков, каждый из которых соответствует выполнению одного или нескольких действий. Определенному типу действия соответствует определенная геометрическая фигура блока. Линии, соединяющие блоки, определяют очередность выполнения действий. По умолчанию блоки соединяются сверху вниз и слева направо. Если последовательность выполнения блоков должна быть иной, используются направленные линии (стрелки).

Основные элементы блок–схемы алгоритма:

Общий вид блок–схемы алгоритма:

■ Пример 4. Алгоритм целочисленных преобразований представлен в виде фрагмента блок–схемы. Знаком := в нем обозначен оператор присваивания некоторого значения указанной переменной. Запись X := 1 означает, что переменная Х принимает значение 1.

Определить результат работы алгоритма для исходных данных Х = 7, Y = 12.

  1. Блок ввода данных определит исходные значения переменных Х и Y (7 и 12 соответственно).
  2. В первом условном блоке осуществляется сравнение значений Х и Y. Поскольку условие, записанное в блоке, неверно (7 -2 и –7,123456*10 2 ).

Над числовыми данными можно выполнять арифметические операции и операции сравнения.

Над целыми числами можно также выполнять две операции целочисленного деления div и mod. Операция div обозначает деление с точностью до целых чисел (остаток от деления игнорируется). Операция mod позволяет узнать остаток при делении с точностью до целых чисел. Например, результатом операции 100 div 9 будет число 11, а результатом 100 mod 9 — число 1.

Литерный тип представляет собой символы и строки, он дает возможность работать с текстом. Литерные величины — это произвольные последовательности символов. Эти последовательности заключаются в двойные кавычки: «результат», «sum_price». В качестве символов могут быть использованы буквы, цифры, знаки препинания, пробел и некоторые другие специальные знаки (возможными символами могут быть символы таблицы ASCII). В учебном алгоритмическом языке литерные величины обозначаются лит.

Над литерными величинами возможны операции сравнения и слияния. Сравнение литерных величин производится в соответствии с их упорядочением: «a»

Конспект по информатике «Алгоритм. Свойства алгоритмов. Блок-схемы. Алгоритмические языки».

Читать еще:  Программа для закрытия ненужных процессов Windows 7
Ссылка на основную публикацию
Adblock
detector