Как настроить смартфоны и ПК. Информационный портал

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

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

Понятие

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

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

Свойства

Прежде чем рассматривать в информатике, необходимо выяснить их основные свойства.

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

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

Способы записи

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

  1. Словестный.
  2. Формульно-словестный.
  3. Графический.
  4. Язык алгоритма.

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

Основные виды

Выделяют три основных схемы:

  1. Линейный алгоритм.
  2. Ветвящийся алгоритм, или разветвленный.
  3. Циклический.

Линейный

Наиболее простым в информатике считается Он предполагает последовательность выполнения действий. Приведем наиболее простой пример алгоритма такого вида. Назовем его «Сбор в школу».

1. Встаем, когда звенит будильник.

2. Умываемся.

3. Чистим зубы.

4. Делаем зарядку.

5. Одеваемся.

6. Кушаем.

7. Обуваемся и идем в школу.

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

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

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

Например, возьмем следующую ситуацию - переход дороги пешеходом.

1. Подходим к светофору.

2. Смотрим на сигнал светофора.

3. Он должен быть зеленым (это условие).

4. Если условие выполняется, мы переходим дорогу.

4.1 Если нет - ждем, пока загорится зеленый.

4.2 Переходим дорогу.

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

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

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

Возьмем простой пример. Если ряд чисел от 1 до 100. Нам необходимо найти все то есть те, которые делятся на единицу и себя. Назовем алгоритм «Простые числа».

1. Берем число 1.

2. Проверяем, меньше ли оно 100.

3. Если да, проверяем простое ли это число.

4. Если условие выполняется, записываем его.

5. Берем число 2.

6. Проверяем, меньше ли оно 100.

7. Проверяем, простое ли оно.

…. Берем число 8.

Проверяем, меньше ли оно 100.

Проверяем, простое ли число.

Нет, пропускаем его.

Берем число 9.

Таким образом перебираем все числа, до 100.

Как видите, шаги 1 - 4 будут повторяться некоторое число раз.

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

Другие варианты

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

Обозначения в блок-схеме

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

  1. Начало и конец алгоритма записываются в овальной рамке.
  2. Каждая команда фиксируется в прямоугольнике.
  3. Условие прописывается в ромбе.
  4. Все части алгоритма соединяются при помощи стрелок.

Выводы

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

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

Пример псевдокода:

алг Нахождение частного двух чисел начало вывод ("задайте делимое и делитель") ввод (делимое, делитель) если делитель ≠ 0 то частное = делимое / делитель вывод(частное) иначе вывод("нет решения") кон алг Нахождение частного двух чисел

В данном примере используется три переменные: делимое, делитель и частное. Делимое и делитель задаются исполнителем произвольными числами. Частное считается лишь в том случае, если делитель не равен нулю.

Графическая реализация алгоритма представляет собой блок-схему. Блок-схема состоит из блоков определенной формы, соединенных стрелками. Ответ при этом получает человек, который выполняет команды согласно блок-схеме. Более подробно о блок-схемах будет рассказано в Лекции 2.

Программная реализация алгоритма – это компьютерная программа, написанная на каком-либо алгоритмическом языке программирования, например: С++, Pascal, Basic и т.д. Программа состоит из команд определенного языка программирования. Отметим, что одна и та же блок-схема может быть реализована на разных языках программирования. Ответ при этом получает ЭВМ, а не человек. Более подробно о составлении программ на языке программирования С++ смотреть Лекцию 3.

Различают три основных вида алгоритмов:

  1. линейный алгоритм,
  2. разветвляющийся алгоритм,
  3. циклический алгоритм.

Линейный алгоритм – это алгоритм, в котором действия выполняются однократно и строго последовательно.

Самый простой пример реализации линейного алгоритма – путь из университета домой.

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

  1. выйти из университета на остановку;
  2. подождать нужный автобус;
  3. сесть на нужный автобус;
  4. оплатить проезд;
  5. выйти на требуемой остановке;
  6. дойти до дома.

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

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

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

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

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

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

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

  • Составьте алгоритм по нахождению корней квадратного уравнения через дискриминант. Используйте разветвляющийся алгоритм. Реализуйте его псевдокодом.
  • ПОНЯТИЕ АЛГОРИТМА. СВОЙСТВА АЛГОРИТМА. ВИДЫ АЛГОРИТМОВ. СПОСОБЫ ОПИСАНИЯ АЛГОРИТМОВ

    Алгоритмом называется точное и понятное предписаниe исполнителю совершить последовательность действий, направленных на решение поставленной задачи. Слово «алгоритм» происходит от имени математика Аль Хорезми, который сформулировал правила выполнения арифметических действий. Первоначально под алгоритмом понимали только правила выполнения четырех арифметических действий над числами. В дальнейшем это понятие стали использовать вообще для обозначения последовательности действий, приводящих к решению любой поставленной задачи. Говоря об алгоритме вычислительного процесса, необходимо понимать, что объектами, к которым применялся алгоритм, являются данные. Алгоритм решения вычислительной задачи представляет собой совокупность правил преобразования исходных данных в результатные.

    Основными свойствами алгоритма являются:

    1. детерминированность (определенность). Предполагает получение однозначного результата вычислительного процecca при заданных исходных данных. Благодаря этому свойству процесс выполнения алгоритма носит механический характер;
    2. результативность. Указывает на наличие таких исходных данных, для которых реализуемый по заданному алгоритму вычислительный процесс должен через конечное число шагов остановиться и выдать искомый результат;
    3. массовость. Это свойство предполагает, что алгоритм должен быть пригоден для решения всех задач данного типа;
    4. дискретность. Означает расчлененность определяемого алгоритмом вычислительного процесса на отдельные этапы, возможность выполнения которых исполнителем (компьютером) не вызывает сомнений.

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

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

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

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

    • линейный;
    • ветвящийся;
    • циклический.

    Линейным называется такой вычислительный процесс, при котором все этапы решения задачи выполняются в естественном порядке следования записи этих этапов.

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

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

    Цель: Ознакомить студентов с основами алгоритмизации.

    Учебные вопросы:

    1. Алгоритм и его свойства. Способы записи алгоритмов.

    2. Основные типы алгоритмов. Блок-схемы типовых алгоритмов.

    Изучив данную тему, студент должен:

    Знать:

    · свойства алгоритма;

    · блоки для построения схем;

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

    Уметь :

    · строить алгоритмы по условию задачи;

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

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

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

    Алгоритм это последовательность арифметических, логических и прочих операций, необходимых для выполнения на ЭВМ.

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

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

    Алгоритм может быть представлен различными способами, в частности:

    1) словесно (вербальное описание);

    2) таблично;

    3) в виде блок-схемы;

    4) на алгоритмическом языке.

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

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

    Предпочтительнее до записи на алгоритмическом языке представить алгоритм в виде блок-схемы. Для построения алгоритма в виде блок-схемы необходимо знать назначении каждого из блоков. В таблице 13. приводятся типы блоков и их назначение.

    Таблица 13

    Назначение блока

    Комментарий

    {блоку соответствует оператор}

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

    блок-схемы

    Ввод или вывод данных

    ввода / вывода

    Процесс (в частности вычислительный)

    присваивания

    Модификатор цикла

    5.2. Основные типы алгоритмов

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

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

    Линейный алгоритм является наиболее простым. В нём предполагается последовательное выполнение операций. В этом алгоритме не предусмотрены проверки условий или повторений.

    Пример: Вычислить функцию z= (х-у)/x +y2 .

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

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

    Рис.8. Линейный алгоритм

    Назначение блоков в схеме на рис.8:

    · Блок 1 в схеме служит в качестве логического начала.

    · Блок 3 представляет арифметическое действие.

    · Блок 4 выводит результат.

    · Блок 5 в схеме служит в качестве логического завершения схемы.

    Алгоритмы ветвлений

    Разветвляющийся алгоритм предполагает проверку условий для выбора решения. Соответственно в алгоритме появятся две ветви для каждого условия.

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

    Пример: При выполнении условия x >0 вычисляется функция: z = ln x + y , иначе, а именно, когда х=0 или x <0 , вычисляется функция: z = x + y 2 .

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

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

    https://pandia.ru/text/78/136/images/image008_57.gif" width="300" height="360 src=">

    Рис.9. Алгоритм ветвления

    Пример: Найти максимальное значение из трёх различных целых чисел, введенных с клавиатуры. Составить блок-схему решения задачи.

    Решение: Данный алгоритм предполагает проверку условия. Для этого выбирается любая из трёх переменных и сравнивается с другими двумя. Если она больше, то поиск максимального числа окончен. Если условие не выполняется, то сравниваются две оставшиеся переменные. Одна из них будет максимальной. Блок-схема к этой задаче представлена на рис 10.

    https://pandia.ru/text/78/136/images/image010_48.gif" width="492" height="456 src=">

    Рис. 10. Блок-схема поиска максимума

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

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

    Из циклических алгоритмов выделяют два типа:

    1) с заданным количеством циклов или со счётчиком циклов;

    2) количество циклов неизвестно.

    Пример: В цикле вычислить значение функции z=x*y при условии, что одна из переменных x меняется в каждом цикле на единицу, а другая переменная у не меняется и может быть любым целым числом. В результате выполнения цикла при начальном значении переменной х=1 можно получить таблицу умножения. Количество циклов может быть любым. Составить блок-схему решения задачи.

    Решение: В примере количество циклов задаётся. Соответственно выбирается алгоритм циклов первого типа. Алгоритм этой задачи приводится на рис. 11.

    Во втором блоке вводятся количество циклов n и любые целые числа х , y .

    В блок-схеме появился новый блок 3, в котором переменная i считает количество циклов, после каждого цикла увеличиваясь на единицу, пока счётчик не будет равен i=n . При i=n будет выполнен последний цикл.

    В третьем блоке указывается диапазон изменения счётчика цикла (от i =1 до i=n ).

    В четвёртом блоке изменяются значения переменных: z , x .

    В пятом блоке выводится результат. Четвёртый и пятый блоки повторяются в каждом цикле.

    Рис.11 . Циклический алгоритм со счётчиком циклов

    Этот тип циклических алгоритмов предпочтителен, если дано количеством циклов.

    Если количество циклов неизвестно, то блок-схемы циклических алгоритмов могут быть представлены в виде рисунков 12, 13.

    Пример: Вычислить у=у- x пока y > x , если y =30 , x =4. Подсчитать количество выполненных циклов, конечное значение переменной у . В цикле вывести значение переменной у , количество выполненных циклов. Составить блок-схему решения задачи.

    Решение: В примере количество циклов неизвестно. Соответственно выбирается алгоритм циклов второго типа. Алгоритм этой задачи приводится на рис. 12.

    Условие проверяется на входе в цикл. В теле цикла выполняется два блока:

    1) у=у-х; i = i +1 ;

    2) вывод значений переменных i , y .

    Цикл выполняется до тех пор, пока выполняется условие y>x . При условии равенства этих переменных у=х или y цикл заканчивается.

    Алгоритм, представленный на рис.12, называется циклический алгоритм с предусловием , так как условие проверяется в начале цикла или на входе в цикл.> x на входе в цикл. Если условие выполняется, то переход к блоку 4, иначе на блок 6.

    В четвёртом блоке вычисляется значение переменной у i = i +1 .

    В пятом блоке выводится результат:

    · значение переменной у ,

    i .

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

    Решение: В этом случае проверяется условие на выход из цикла: y<=x . При этом условии цикл не выполняется. Условие в блок-схеме следует перенести в конец цикла, после вывода на печать. Цикл выполняется до тех пор, пока выполняется условие y>x .

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

    Во втором блоке вводятся y =30 , x =4 .

    В третьем блоке вычисляется значение переменной у , подсчитывается количество выполненных циклов i = i +1 .

    В четвёртом блоке выводится результат:

    · значение переменной у ,

    · количество выполненных циклов i .

    В пятом блоке проверяется условие y <= x на выход из цикла. Если условие выполняется, то переход к блоку 6, иначе на блок 3 и цикл повторяется.

    Рис.13 . Алгоритм цикла с постусловием

    Контрольные вопросы

    1. Понятие алгоритма.

    2. Виды алгоритмов.

    3. Основные алгоритмические структуры.

    4. Основные блоки графического алгоритма.

    5. Линейная алгоритмическая структура. Пример.

    6. Ветвление. Пример.

    7. Циклические алгоритмические структуры. Пример.

    Сроки: 2 5 .09.201 4 г. Класс: 9 Д Преподаватель: Мамедов А.

    Тема урока : «ТИПЫ АЛГОРИТМОВ. »

    Вид урока : смешанный.

    Цели урока: дать понятие командам, структурам алгоритмов и научить этапам решения задач на паскале.

    СТРУКТУРА АЛГОРИТМОВ

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

    возьмем дневник откроем нужную страницу выполним домашнее задание поставим дневник на место

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

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

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

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

    если условие

    то 1 -я серия иначе 2-я серия

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

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

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

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

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

    вопросы для закрепления:

      В чем сходство и отличия между программой и алгоритмом?

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

      Какие способы описания алгоритмов вы знаете?

      Какими могут быть этапы решения задач на компьютере?

      Перечислите виды блоков в схеме алгоритма, их изображения и связи.

      Что вы знаете о линейных, разветвляющихся и циклических алгоритмах?

      Назовите итерационные циклы и их особенности.

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