Как составить алгоритм решения задачи в графической форме

Является
достаточно наглядным и простым способом
описания алгоритма.

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

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

Для
указания последовательности выполнения
блоков используют линии связи ( линии
соединения ).

Последовательность
блоков и линий образуют блок-схему
алгоритма 
.

ПРАВИЛА
ИЗОБРАЖЕНИЯ БЛОК- СХЕМ АЛГОРИТМА.

1.
В блок-схеме можно использовать строго
определённые типы блоков.

2.
Стрелки на линиях связи можно не ставить
при направлении сверху вниз и слева
направо; противоположные направления
обязательно указывают стрелкой на
линии.

3.
Для удобства блоки могут помечаться
метками(буквами или цифрами).

4.
Внутри блока ввода/вывода пишется ВВОД
или ВЫВОД и перечисляются имена данных,
подлежащих вводу/выводу.

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

Пример
нахождения максимума трех чисел.

2.3. Описание алгоритмов с помощью программ.

Алгоритм,
записанный на языке программирования
называется программой.

Словесная
и графическая форма записи алгоритма
предназначены для человека. Алгоритм,
предназначенный для исполнителя на
компьютере записывается на языке
программирования (языке, понятном ЭВМ).
Сейчас известно несколько сот языков
программирования. Наиболее популярные:
Бейсик, Си, Паскаль, Пролог, ПЛ, Ада и
т.д.

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

PROGRAM
RR;

VAR
A,B,C, max: INTEGER;

BEGIN

WRITE(‘
ВВЕДИТЕ
A, B, C’);

READLN(A,B,C);

IF
A>B THEN max:=A

ELSE
max:=B;

IF
C>max THEN max:=C;

WRITELN(max);

END.

Вид
стандартного графического объекта

Назначение

Начало
алгоритма

Конец
алгоритма

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

Условие
выполнения действий записывается
внутри ромба

Счетчик
кол-во повторов

Последовательность
выполнения действий.

33.
Базовые структуры алгоритмов

1.
Следование

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

2.
Разветвление

Разветвление
предполагает проверку некоторого
условия. В зависимости от того выполняется
это условие или нет, выполняется либо
одна инструкция, либо другая.

Если
на момент проверки условие оказалось
выполнено, то будет выполнена инструкция
1, а инструкция 2 игнорируется. Если же
оказывается, что условие не выполнено,
то будет выполнена инструкция 2, а
инструкция 1 игнорируется. Разветвление
также имеет один вход и один выход.

3.
Цикл

Цикл
предполагает повторение выполнения
некоторой инструкции, а также проверку
некоторого условия продолжения повторения
этой инструкции. Различают два вида
базовых циклов в зависимости от порядка
выполнения этих действий: сначала
проверка условия выполнения инструкции,
а затем ее выполнение (цикл – пока) , или
сначала выполнение инструкции, а затем
проверка условия повторения ее выполнения
(цикл – до) . Также рассматривается цикл
со счетчиком. Базовая структура – цикл
имеет один вход и один выход.

34.
Классификация языков программирования

Существуют
различные классификации языков
программирования.

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

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

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

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

К
языкам программирования высокого
уровня
 относят Фортран (переводчик
формул – был разработан в середине 50–х
годов программистами фирмы IBM и в основном
используется для программ, выполняющих
естественно – научные и математические
расчеты), АлголКобол(коммерческий
язык – используется, в первую очередь,
для программирования экономических
задач), ПаскальБейсик (был
разработан профессорами Дармутского
колледжа Джоном Кемени и Томасом
Курцом.), Си (Деннис
Ритч – 1972 году), Пролог (в
основе языка лежит аппарат математической
логики) и т.д.

Языки
программирования также можно разделять
на поколения:

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

– языки
второго поколения
: с
мнемоническим представлением команд,
так называемые автокоды.

– языки
третьего поколения
:
общего назначения, используемые для
создания прикладных программ любого
типа. Например, Бейсик, Кобол, Си и
Паскаль.

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

– языки
программирования пятого поколения
:
языки декларативные, объектно–ориентированные
и визуальные. Например, Пролог, ЛИСП
(используется для построения программ
с использованием методов искусственного
интеллекта), Си++, Visual Basic, Delphi.

Языки
программирования также можно
классифицировать на процедурные и
непроцедурные.

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

Среди
процедурных языков выделяют в свою
очередь структурные
и операционные языки
.
В структурных языках одним оператором
записываются целые алгоритмические
структуры: ветвления, циклы и т.д. В
операционных языках для этого используются
несколько операций. Широко распространены
следующие структурные языки: Паскаль,
Си, Ада, ПЛ/1. Среди операционных известны
Фортран, Бейсик, Фокал.

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

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

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

35.
Понятие о системе программирования.
Интерпретация и компиляция

программирования –
это совокупность программ для разработки,
отладки и внедрения новых программных
продуктов.

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

·
трансляторы;

·
среду разработки программ;

·
библиотеки справочных программ (функций,
процедур);

·
отладчики;

·
редакторы связей и др.

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

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

машинные;

машинно-оpиентиpованные
(ассемблеры);

машинно-независимые
(языки высокого уровня).

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

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

Языки
высокого уровня делятся на:

алгоритмические
(Basic, Pascal, C и др.), которые предназначены
для однозначного описания алгоритмов;

логические
(Prolog, Lisp и др.), которые ориентированы не
на разработку алгоритма решения задачи,
а на систематическое и формализованное
описание задачи с тем, чтобы решение
следовало из составленного описания;

объектно-ориентированные
(Object Pascal, Delphi, C++, Visual Basic, Java и др.), в основе
которых лежит понятие объекта, сочетающего
в себе данные и действия над ними.
Программа на объектно-ориентированном
языке, решая некоторую задачу, по сути
описывает часть мира, относящуюся к
этой задаче. Описание действительности
в форме системы взаимодействующих
объектов естественнее, чем в форме
взаимодействующих процедур.

Алгоритмический
язык (как и любой другой язык), образуют
три его составляющие: алфавит, синтаксис
и семантика.

Алфавит –
фиксированный для данного языка набор
символов (букв, цифр, специальных знаков
и т.д.), которые могут быть использованы
при написании программы.

Синтаксис —
правила построения из символов алфавита
специальных конструкций, с помощью
которых составляется алгоритм.

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

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

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

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

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

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

Трансляторы
реализуются в виде компиляторов или
интерпретаторов. С точки зрения выполнения
работы компилятор и интерпретатор
существенно различаются.

Компилятор (англ. compiler —
составитель, собиратель) читает всю
программу целиком,
делает ее перевод и создает законченный
вариант программы на машинном языке,
который затем и выполняется. (Pascal, C).

Интерпретатор (англ. interpreter —
истолкователь, устный переводчик)
переводит и выполняет программу строка
за строкой
.
(Basic).

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

компилятор
— собиратель

интерпретатор
— анализатор.

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

ИТЕРАЦИИ

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

Цикл
с предусловием
 начинается
с проверки условия выхода из цикла. Это
логическое выражение, например I<=6.
Если оно истинно, то выполняются те
действия, которые должны повторяться.
В противном случае, если логическое
выражение I<=6 ложно, то этот цикл
прекращает свои действия.

Цикл
с постусловием
 функционирует
иначе. Сначала выполняется один раз те
действия, которые подлежат повторению,
затем проверяется логическое выражение,
определяющее условие выхода из цикла,
например, I>6. Если условие выхода ложно,
то цикл с постусловием прекращает свою
работу, в противном случае — происходит
повторение действий, указанных в цикле.
Повторяющиеся действия в цикле называются
«телом цикла».

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]

  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #

Библиографическое описание:


Зверев, Н. А. Способы графической записи алгоритмов / Н. А. Зверев, Е. Д. Францева, А. А. Прощенков, А. К. Шкиров. — Текст : непосредственный // Молодой ученый. — 2020. — № 40 (330). — С. 6-8. — URL: https://moluch.ru/archive/330/73849/ (дата обращения: 28.05.2023).




Алгоритм




это строгая конечная последовательность четко определенных действий, приводящая к определенному результату. Слово «алгоритм» происходит от имени математика аль-Хорезми (Alhorithmi), жившего в 783–850 гг.


Формы записи алгоритма:

– словесная;

– языки программирования (например, С, С++ и др.);

– графическая (структурограммы (схемы Насси-Шнейдермана), блок-схемы).

Правила выполнения

блок-схем

алгоритмов определяются документом ГОСТ 19.701–90 «Схемы алгоритмов, программ, данных и систем. Условные обозначения и правила выполнения». Этот стандарт содержит указания к правилам составления блок-схем, их внешнему виду, а также описывает условные обозначения для каждого структурного элемента алгоритма.

Для наглядности рассмотрим пример построения блок-схемы алгоритма решения полного квадратного уравнения

.

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

Вычисление корней квадратного уравнения. Блок-схема

Рис. 1. Вычисление корней квадратного уравнения. Блок-схема


Диаграмма Насси-Шнейдермана

— это графический способ представления структурированных алгоритмов и программ, разработанный в 1972 году Беном Шнейдерманом и Айзеком Насси.

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

– Отсутствие стрелок позволяет сделать запись более компактной.

– При записи алгоритма гарантируется соблюдение принципов структурного программирования.

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

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

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

На рис.2. представлен пример структурограммы алгоритма вычисления факториала числа.

Вычисление факториала числа. Структурограмма

Рис. 2. Вычисление факториала числа. Структурограмма

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

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

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

Литература:

  1. Ben Shneiderman. A short history of structured flowcharts (Nassi-Shneiderman Diagrams). / Draft, May 27, 2003.
  2. ГОСТ 19.701–90 (ИСО 5807–85) «Единая система программной документации».
  3. Алгоритм. Свойства алгоритма https://pro-prof.com/archives/578

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

Автор статьи

Екатерина Андреевна Гапонько

Эксперт по предмету «Информатика»

Задать вопрос автору статьи

Определение 1

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

Введение

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

Графическое представление алгоритмов

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

  1. Все блок-схемы должны иметь в своём составе блоки «начало» и «конец».
  2. Блок «начало» обязан иметь соединение с блоком «конец» линями по любой из ветвей, имеющихся на блок-схеме.
  3. Блок-схема не может содержать блоков, за исключением блока «конец», не соединяющихся при помощи поточных линий с другими блоками с обеих сторон, как и блоков, которые передают управление в неизвестном направлении.
  4. Каждый блок должен иметь номер, который всегда присваивается сверху вниз и слева направо. Число, которое обозначает номер блока, необходимо располагать вверху слева.
  5. Каждый блок должен соединяться с другими блоками поточными линиями, определяющими очерёдность выполнения блочных команд. Поточные линии всегда должны идти параллельно краям листа. Если линии располагаются справа налево или снизу вверх, то следует всегда ставить стрелки в конце линий. В других вариантах ставить стрелки не обязательно.
  6. Каждая линия может быть входящей в блок или выходящей из блока. Каждая поточная линия может быть определена как выходящая для одного из блоков и входящая для другого.
  7. Блок «начало» считается первым в блок-схеме и по этой причине он имеет только выходящую линию потока.
  8. На конечный блок поступает лишь входящая линия потока, потому что он расположен в самом конце.
  9. Для упрощения понимания блок-схемы, надо, чтобы поточная линия подходила к блоку «операция» сверху, а отходила вниз.
  10. Чтобы было удобнее читать блок-схемы, не нужно использовать усложнённые пересечения линий, их допускается указывать с разрывами. В точке, где есть разрыв линии, следует поставить соединяющие компоненты и внутри их проставить номера блоков, соединяемых этой линией. В блок-схеме не должно быть разрывов без соединителей.
  11. Для повышения компактности блоков, всю информацию, которая сопутствует блоку, следует размещать в комментариях к блокам.

«Графическое представление алгоритмов, описание элементов блок-схем с примерами» 👇

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

  1. Линейные.
  2. С разветвляющейся структурой.
  3. С циклической структурой.

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

Линейный алгоритм. Автор24 — интернет-биржа студенческих работ

Рисунок 1. Линейный алгоритм. Автор24 — интернет-биржа студенческих работ

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

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

    Обход. Автор24 — интернет-биржа студенческих работ

    Рисунок 2. Обход. Автор24 — интернет-биржа студенческих работ

  2. Разветвление. Каждое из направлений ветвления обладает определённым набором процедур, как показано на рисунке ниже:

    Разветвление. Автор24 — интернет-биржа студенческих работ

    Рисунок 3. Разветвление. Автор24 — интернет-биржа студенческих работ

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

    Многообразный выбор. Автор24 — интернет-биржа студенческих работ

    Рисунок 4. Многообразный выбор. Автор24 — интернет-биржа студенческих работ

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

  • С заданным заранее числом исполнения процедур (или обладающие счётчиком).
  • С неопределённым числом исполнения процедур.

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

Цикл с использованием счётчика. Автор24 — интернет-биржа студенческих работ

Рисунок 5. Цикл с использованием счётчика. Автор24 — интернет-биржа студенческих работ

Перед началом исполнения первой операции, следует задать счётчику начальное значение.

Находи статьи и создавай свой список литературы по ГОСТу

Поиск по теме

Графический
способ представления алгоритма (блок-схема). Линейный алгоритм

Цели
урока:

·      
изучить
базовые алгоритмические конструкции: следование, ветвление, цикл;

·      
научить
формальной записи этих структур на алгоритмическом языке и виде блок-схем;

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

Ход
урока.

I.  
Объяснение нового материала

Графический
(наглядный) способ представления алгоритма — это БЛОК-СХЕМА.

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

Основные
элементы блок-схемы:

1.   
Блок Начала (Конца) алгоритма

2.   
Блок описания переменных величин

3.   
Блок Ввода (Вывода) значений переменных
величин

4.   
Блок Присваивания (вычисления) значения
переменной величины

5.   
Блок Ветвления алгоритма

6-7. 
Блок Циклического повторения (7 —
«тело цикла» — повторяющиеся команды)

Структуры
алгоритмов.

1.   
Линейный
алгоритм

это алгоритм, в котором каждое следующее действие следует строго за предыдущим.

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


Ответ
с=8

В
данном алгоритме нам встретился новый символ := это оператор присваивания.

Давайте
рассмотрим следующий фрагмент линейного алгоритма:

Следующему
значению а присваивается предыдущее +5

Конечное
значение
b=18

Задание на
закрепление материала

1.    Составить
алгоритм нахождения значения выражения
y = 4a – (ab+c), если
известно, что а=
b+c

2.      Найти значение с в ходе выполнения
алгоритма:

Задача
3:
Составить алгоритм вычисления объема (V)
графического изображения если известно, что размер полотна (Р) 10*20 пикселей,
а палитра цветов (
N) состоит из 256
цветов.

Д/з.

Задача
4:
Составить алгоритм вычисления времени(t)
звучания звукового стереофайла в секундах, если известно, что общий объем (
V)
равен 10 Кбайт, глубина звука (
I)
1 байт, а частота дискретизации (
K)
составляет 1024 измерений в секунду.

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

Что такое алгоритм?

Это слово ввел в обиход математик Мухаммед аль-Хорезми, который жил в период 763-850 года. Именно он является человеком, который создал правила выполнения арифметических действий (а их всего четыре). А вот ГОСТ от 1974 года, который гласит, что:

Алгоритм – это точное предписание, которое определяет вычислительный процесс. Причем имеется несколько переменных с заданными значениями, которые приводят расчеты к искомому результату.

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

Особенности алгоритма

Всего можно выделить восемь особенностей алгоритма (независимо от его вида):

  1. Присутствует функция ввода изначальных данных.
  2. Есть вывод некоего результата после завершения алгоритма. Нужно помнить, что алгоритм нужен для того, чтобы достичь определенной цели, а именно – получить результат, который имеет прямое отношение к исходным данным.
  3. У алгоритма должна быть структура дискретного типа. Он должен представляться последовательными шагами. Причем каждый следующий шаг может начаться только после завершения предыдущего.
  4. Алгоритм должен быть однозначным. Каждый шаг четко определяется и не допускает произвольной трактовки.
  5. Алгоритм должен быть конечным – необходимо, чтобы он выполнялся за строго определенное количество шагов.
  6. Алгоритм должен быть корректным – задавать исключительно верное решение поставленной задачи.
  7. Общность (или массовость) – он должен работать с различными исходными данными.
  8. Время, которое дается на решение алгоритма, должно быть минимальным. Это определяет эффективность решения поставленной задачи.

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

Словесная запись

Такая форма, как правило, применяется при описании порядка действий для человека: «Пойди туда, не знаю куда. Принеси то, не знаю что».

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

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

Допускается изменять порядок действий, если необходимо вернуться, например, к предыдущей операции либо обойти какую-то команду при определенном условии. При этом команды желательно нумеровать и обязательно указывается команда, к которой происходит переход: «Закончив все манипуляции, повторяете пункты с 3 по 5».

Запись в графической форме

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

Запись на языках программирования

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

Блок-схемы

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

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

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

Можно выделить такие особенности, которые должны быть у любой блок-схемы:

  1. Обязательно должно присутствовать два блока – «Начало» и «Конец». Причем в единичном экземпляре.
  2. От начального блока до конечного должны быть проведены линии связи.
  3. Из всех блоков, кроме конечного, должны выходить линии потока.
  4. Обязательно должна присутствовать нумерация всех блоков: сверху вниз, слева направо. Порядковый номер нужно проставлять в левом верхнем углу, делая разрыв начертания.
  5. Все блоки должны быть связаны друг с другом линиями. Именно они должны определять последовательность, с которой выполняются действия. Если поток движется снизу вверх или справа налево (другими словами, в обратном порядке), то обязательно рисуются стрелки.
  6. Линии делятся на выходящие и входящие. При этом нужно отметить, что одна линия является для одного блока выходящей, а для другого входящей.
  7. От начального блока в схеме линия потока только выходит, так как он является самым первым.
  8. А вот у конечного блока имеется только вход. Это наглядно показано на примерах блок-схем, которые имеются в статье.
  9. Чтобы проще было читать блок-схемы, входящие линии изображаются сверху, а исходящие снизу.
  10. Допускается наличие разрывов в линиях потока. Обязательно они помечаются специальными соединителями.
  11. Для облегчения блок-схемы разрешается всю информацию прописывать в комментариях.

Графические элементы блок-схем для решения алгоритмов представлены в таблице:

Линейный тип алгоритмов

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

Пример линейного алгоритма

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

Разветвляющиеся алгоритмы

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

Разновидности циклов для решения алгоритмов

На схемах изображаются блоки, которые называются «Решение». У него имеется два выхода, а внутри прописывается логическое условие. Именно от того, как оно будет выполнено, зависит дальнейшее движение по схеме алгоритма. Можно разделить разветвляющиеся алгоритмы на три группы:

  1. «Обход» – при этом одна из веток не имеет операторов. Другими словами, происходит обход нескольких действий другой ветки.
  2. «Разветвление» – каждая ветка имеет определенный набор выполняемых действий.
  3. «Множественный выбор» – это разветвление, в котором есть несколько веток и каждая содержит в себе определенный набор выполняемых действий. Причем есть одна особенность – выбор направления напрямую зависит от того, какие заданы значения выражений, входящих в алгоритм.

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

Циклический алгоритм

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

  1. У которых известно число повторений действий (их еще называют циклами со счетчиком).
  2. У которых число повторений неизвестно – с постусловием и предусловием.

Независимо от того, какой тип цикла используется для решения алгоритма, у него обязательно должна присутствовать переменная, при помощи которой происходит выход. Именно она определяет количество повторений цикла. Рабочая часть (тело) цикла – это определенная последовательность действий, которая выполняется на каждом шаге. А теперь более детально рассмотрим все типы циклов, которые могут встретиться при составлении алгоритмов и решении задач по информатике.

Циклы со счетчиками

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

Изображение цикла со счетчиком

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

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

Как изображается счетчик цикла

Обычно в обозначениях блок-схем используется блок, который называется «Подготовка». В нем прописывается счетчик, а затем указываются такие данные: начальное и конечное значения, шаг изменения. На блок-схеме это параметры I н, Ik и h, соответственно. В том случае, когда h=1, величину шага не записывают. В остальных случаях делать это обязательно. Необходимо придерживаться простого правила – линия потока должна входить сверху. А линия потока, которая выходит снизу (или справа, в зависимости от конкретного алгоритма), должна показывать переход к последующему оператору.

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

  1. В теле не разрешается изменять (принудительно) значение счетчика.
  2. Запрещено передавать управление извне оператору тела. Другими словами, войти в цикл можно только из его начала.

Циклы с предусловием

Этот тип циклов применяется в тех случаях, когда количество повторений заранее неизвестно. Цикл с предусловием – это тип алгоритма, в котором непосредственно перед началом выполнения тела осуществляется проверка условия, при котором допускается переход к следующему действию. Обратите внимание на то, как изображаются элементы блок-схемы.

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

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

Ниже приведена блок-схема, которая описывает все эти действия:

Изображение цикла с предусловием

Что такое цикл с постусловием?

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

Изображение цикла с постусловием

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

Сложные циклы

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

Пример сложного цикла

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

Пример из жизни решения алгоритма

Или пример из биологии для решения поставленной задачи:

Второй пример решения алгоритма по блок-схеме

Решение задач с блок-схемами

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

Решение задачи по математике

При этом пользователь самостоятельно вводит значения переменных. Допустим, х=16, а у=2. Процесс выполнения такой:

  1. Производится ввод значений х и у.
  2. Выполняется операция преобразования: х=√16=4.
  3. Выполняется условие: у=у2=4.
  4. Производится вычисление: х=(х+1)=(4+1)=5.
  5. Дальше вычисляется следующая переменная: у=(у+х)=(5+4)=9.
  6. Выводится решение: у=9.

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

Понравилась статья? Поделить с друзьями:
  • Как найти работу в михайловке волгоградской области
  • Как составить сводка затрат
  • Как найти постоянный параметр с
  • Как найти угловое ускорение ротора
  • Как составить отчеты по выставке