Информатика
Алгоритмы и способы их описания.
Алгоритм — это система точных и понятных предписаний о содержании и последовательности выполнения конечного числа действий, необходимых для решения любой задачи данного типа.
Примеры: правила сложения, умножения, решения алгебраических уравнений и т.п.
1.Универсальность (массовость) — применимость алгоритма к различным наборам исходных данных.
2.Дискретность — процесс решения задачи по алгоритму разбит на отдельные действия.
3.Конечность — каждое из действий и весь алгоритм в целом обязательно завершаются.
4.Результативность — по завершении выполнения алгоритма обязательно получается конечный результат.
5.Выполнимость (эффективность) — результата алгоритма достигается за конечное число шагов.
6.Детерминированность (определенность) — алгоритм не должен содержать предписаний, смысл которых может восприниматься неоднозначно. Т.е. одно и то же предписание после исполнения должно давать один и тот же результат.
7.Последовательность – порядок исполнения команд должен быть понятен исполнителю и не должен допускать неоднозначности.
1. вычислительные алгоритмы , работающие со сравнительно простыми видами данных, такими как числа и матрицы, хотя сам процесс вычисления может быть долгим и сложным;
2. информационные алгоритмы , представляющие собой набор сравнительно простых процедур, работающих с большими объемами информации (алгоритмы баз данных);
3. управляющие алгоритмы , генерирующие различные управляющие воздействия на основе данных, полученных от внешних процессов, которыми алгоритмы управляют.
По типу передачи управления алгоритмы бывают: основные (главные выполняемые программы) и вспомогательные (подпрограммы).
Для задания алгоритма необходимо описать следующие его элементы:
1.набор объектов, составляющих совокупность возможных исходных данных, промежуточных и конечных результатов;
3.правило непосредственной переработки информации (описание последовательности действий);
5.правило извлечения результатов.
Способы описания алгоритмов.
Символьный, когда алгоритм описывается с помощью специального набора символов (специального языка).
Словесная форма записи алгоритмов обычно используется для алгоритмов, ориентированных на исполнителя-человека. Команды такого алгоритма выполняются в естественной последовательности, если не оговорено противного.
Графическая запись с помощью блок-схем осуществляется рисованием последовательности геометрических фигур, каждая из которых подразумевает выполнение определенного действия алгоритма. Порядок выполнения действий указывается стрелками. Графическая запись алгоритма имеет ряд преимуществ: каждая операция вычислительного процесса изображается отдельной геометрической фигурой и графическое изображение алгоритма наглядно показывает разветвления путей решения задачи в зависимости от различных условий, повторение отдельных этапов вычислительного процесса и другие детали.
Правила создания блок – схем:
1.Линии, соединяющие блоки и указывающие последовательность связей между ними, должны проводится параллельно линиям рамки.
2.Стрелка в конце линии может не ставиться, если линия направлена слева направо или сверху вниз.
3.В блок может входить несколько линий, то есть блок может являться преемником любого числа блоков.
4.Из блока (кроме логического) может выходить только одна линия.
5.Логический блок может иметь в качестве продолжения один из двух блоков, и из него выходят две линии.
6.Если на схеме имеет место слияние линий, то место пересечения выделяется точкой. В случае, когда одна линия подходит к другой и слияние их явно выражено, точку можно не ставить.
7.Схему алгоритма следует выполнять как единое целое, однако в случае необходимости допускается обрывать линии, соединяющие блоки.
В линейном алгоритме операции выполняются последовательно, в порядке их записи. Каждая операция является самостоятельной, независимой от каких-либо условий. На схеме блоки, отображающие эти операции, располагаются в линейной последовательности.
В алгоритме с ветвлением предусмотрено несколько направлений (ветвей). Каждое отдельное направление алгоритма обработки данных является отдельной ветвью вычислений. Направление ветвления выбирается логической проверкой, в результате которой возможны два ответа:
1.«да» — условие выполнено.
2.«нет» — условие не выполнено.
Циклические алгоритмы содержат цикл – это многократно повторяемый участок алгоритма.Различают циклы с предусловием и постусловием.Также циклы бывают детерминированные и итерационные.Цикл называется детерминированным, если число повторений тела цикла заранее известно или определено. Цикл называется итерационным, если число повторений тела цикла заранее неизвестно, а зависит от значений параметров (некоторых переменных), участвующих в вычислениях.
Источник
Что такое алгоритмизация
Вы будете перенаправлены на Автор24
Что такое алгоритмизация и алгоритм?
Алгоритмизация – это математический термин, отражающий процесс создания некоторых алгоритмов для решения определенного круга задач. Стоит отметить, что алгоритмизация – это и процесс исследования свойств алгоритмов, с целью дальнейшего использования уже существующих видов алгоритмов для решения новых задач.
Понятие алгоритмизации и алгоритма появилось еще в IX веке нашей эры и произошло от имени его создателя, известного математика Мухаммеда ибн Муса ал-Хорезми (Alhorithmi).
Алгоритм представляет собой некоторый набор инструкций, описание действий исполнителя для достижения поставленной цели/результата за определенное количество так называемых шагов (итераций). Как правило, алгоритмы представляют собой набор математических символов, выстроенных в определенном порядке. Благодаря этому набору символов формируется алгоритм, который отражает элементарные акты некоторой задачи, причинно-следственные связи между этими актами, последовательность их исполнения. Процесс алгоритмизации является достаточно сложным и трудоемким, им занимаются узкоспециализированные специалисты, называемые алгоритмистами (наука называется «алгоритмикой»). Алгоритмика включена в состав области программирования. При построении алгоритмов используются подходы алгебр логики.
Алгоритмизация позволяет переформировать большой объем информации в структурированный, удобный вид. В настоящее время алгоритмизация используется все больше для вычислительных машин, но изначально алгоритмы были созданы для использования людьми для выполнения сложных операций посредством выполнения небольших элементарных шагов. Создание любой инструкции (к оборудованию, инструкции работы с чем-либо) является своего рода алгоритмизацией, т.к. представляет собой последовательной описание действий. Как правило, в инструкции для людей описываются простые процессе – взять, отрыть, повернуть. Те же самые действия описываются и для вычислительных машин, и единственным отличием является то, что для машины такая инструкция написана на языке, который понятен машине.
Методы алгоритмизации
В области алгоритмизации для записи решения могут быть использованы следующие методы описания алгоритма.
Словесное описание, которое представляет собой текстовое описание процесса с использованием формул и выстроенное последовательно – по пунктам, на естественном языке. Например, с помощью алгоритма необходимо решить следующее выражение: $y = 4x + (9 – 8r)$. Если бы решения данного алгоритма было необходимо представить с помощью словесного описания, то это приняло бы вид:
Готовые работы на аналогичную тему
- Необходимо ввести значения $x$ и $r$;
- Вывести разницу выражения $9 – 8r$;
- Умножить $x$ на $4$;
- Результат умножения $4 x$ (результат реализации пункта 3) сложить с результатом вычисления $9 – 8r$ (результат реализации пункта 2);
- Вывести у как результат вычисления выражения $4x + (9 – 8r)$.
Данный способ не является распространенным, так как имеет некоторый ряд ограничений: не является строго формализованным, достаточно емкий (большое количество лишний слов и, как следствие, большой объем описания), не характеризуется однозначностью.
Блок-схема, которая представляет собой один из методов графического представления алгоритма. При использование такого метода шаги отражаются в виде блоков разной формы, которые соединяются между собой стрелками (прерывистыми или сплошными). Пример блок-схемы алгоритма приведен на рисунке 1;
Рисунок 1. Блок-схема. Автор24 — интернет-биржа студенческих работ
На рисунке блок «процесс» представлен в виде прямоугольника и используется для обозначений действия или последовательности действий. Блок «решения» представлен в виде ромба и используется для проверки условия. Блок «Пуск/остановка» или так называемый «терминатор» представлен в виде овала и означает начало/окончание работы алгоритма. Блок «Пуск/остановка» является обязательным элементом любой блок-схемы алгоритма.
Псевдокод, который представляет собой компактный язык описания алгоритмов посредством ключевых слов императивных языков программирования. Как правило, псевдокод не описывает детали, которые могут быть восприняты человеком верно. Основная цель псевдокода – обеспечения понимания алгоритма пользователем (человеком). Псевдокод занимает некоторое промежуточное место между алгоритмическими языками программирования и естественными (словесным описанием). В псевдокоде используются служебные слова, смысл которых всегда строго определен заранее, они выделяются жирным шрифтом в печатном тексте или подчеркиваются, если тест рукописный. Пример псевдокода представлен на рисунке 2;
Рисунок 2. Псевдокод. Автор24 — интернет-биржа студенческих работ
Алгоритмические языки программирования. Наиболее популярный способ записи алгоритмов для вычислительных машин, который основан на применении кодов, точного описания синтаксиса алгоритма и семантики. Существует достаточно большое количество языков программирования (классифицируемых по различным признакам), например, Pascal, MatLAB, Prolog, Basic, Активный Оберон, Mathematica и т.д. Пример записи на одном из алгоритмических языков представлен на рисунке 3.
Рисунок 3. Язык программирования. Автор24 — интернет-биржа студенческих работ
Свойства алгоритма
Алгоритмизация/алгоритм характеризуется следующими свойствами:
- Понятность для исполнителя. Исполнитель (вычислительная машин, человек) должен понимать каким образом выполнить данный алгоритм;
- Дискретность. Алгоритм должен быть построен как блок последовательных элементарных операций;
- Четкость. Каждая из элементарных операций должна быть четко и подробно описана, чтоб существовал лишь единственный способ выполнения данной операции;
- Результативность. За определенное количество итераций алгоритм должен приводить к конечному решению поставленной задачи;
- Массовость или универсальность. Разработанный алгоритм должен быть применим ко всем задачам, относящимся к одной группе, которые различаются исключительно вводными данными.
Источник
Что такое алгоритмический способ
Различают следующие виды алгоритмов :
линейный – список команд (указаний), выполняемых последовательно друг за другом;
разветвляющийся – алгоритм, содержащий хотя бы одну проверку условия, в результате которой обеспечивается переход на один из возможных вариантов решения;
циклический – алгоритм, предусматривающий многократное повторение одной и той же последовательности действий. Количество повторений обусловливается исходными данными или условием задачи.
Любая алгоритмическая конструкция может содержать в себе другую конструкцию того же или иного вида, т. е. алгоритмические конструкции могут быть вложенными. Рассмотрим следующие способы описания алгоритма: словесное описание, псевдокод, блок-схема, программа.
Словесное описание представляет структуру алгоритма на естественном языке. Например, любой прибор бытовой техники (утюг,электропила, дрель и т.п.) имеет инструкцию по эксплуатации, т.е.словесное описания алгоритма, в соответствии которому данный прибор должен использоваться. Никаких правил составления словесного описания не существует. Запись алгоритма осуществляется в произвольной форме на естественном, например, русском языке. Этот способ описания не имеет широкого распространения, так как строго не формализуем (под «формальным» понимается то, что описание абсолютно полное и учитывает все возможные ситуации, которые могут возникнуть в ходе решения); допускает неоднозначность толкования при описании некоторых действий; страдает многословностью.
1. определить температуру воздуха
2. если температура ниже 0, то надеть шубу, иначе надеть куртку
Псевдокод — описание структуры алгоритма на естественном, частично формализованном языке, позволяющее выявить основныеэтапы решения задачи, перед точной его записью на языке программирования. В псевдокоде используются некоторые формальные конструкции и общепринятая математическая символика. Строгих синтаксических правил для записи псевдокода не существует. Это облегчает запись алгоритма при проектировании и позволяет описать алгоритм, используя любой набор команд. Однако в псевдокоде обычно используются некоторые конструкции, присущие формальным языкам, что облегчает переход от псевдокода к записи алгоритма на языке программирования. Единого или формального определения псевдокода не существует, поэтому возможны различные псевдокоды, отличающиеся набором используемых слов и конструкций.
Блок-схема — описание структуры алгоритма с помощью геометрических фигур с линиями-связями, показывающими порядок выполнения отдельных инструкций. Этот способ имеет ряд преимуществ. Благодаря наглядности, он обеспечивает «читаемость»алгоритма и явно отображает порядок выполнения отдельных команд. В блок-схеме каждой формальной конструкции соответствует определенная геометрическая фигура или связанная линиями совокупность фигур.
Описания алгоритма в словесной форме, на псевдокоде или в виде блок-схемы допускают некоторый произвол при изображении команд. Вместе с тем они настолько достаточны, что позволяет человеку понять суть дела и исполнить алгоритм. На практике исполнителями алгоритмов выступают компьютеры. Поэтому алгоритм, предназначенный для исполнения на компьютере, должен быть записан на «понятном» ему языке, такой формализованный язык называют языком программирования .
Источник