- Алгоритмы, свойства алгоритмов, способы описания алгоритмов.
- АЛГОРИТМ — что это. Понятие, свойства, структура и виды
- История появления алгоритмов
- Взаимодействие алгоритма с человеком и машиной
- Что такое алгоритм?
- Основные свойства алгоритма
- Цикличный алгоритм
- Линейные типы алгоритмов
- Разветвляющийся алгоритм
- Вспомогательный алгоритм
- Термины, встречающиеся в алгоритмах
- Структура алгоритма
- Графический вариант построения алгоритма
- Геометрические фигуры, отвечающие за разные действия в алгоритме
- Понятие алгоритма в информатике
- Вывод
Алгоритмы, свойства алгоритмов, способы описания алгоритмов.
Алгоритм – описание последовательности действий (план), строгое исполнение которых приводит к решению поставленной задачи за конечное число шагов.
Вы постоянно сталкиваетесь с этим понятием в различных сферах деятельности человека (кулинарные книги, инструкции по использованию различных приборов, правила решения математических задач. ). Обычно мы выполняем привычные действия не задумываясь, механически. Например, вы хорошо знаете, как открывать ключом дверь. Однако, чтобы научить этому малыша, придется четко разъяснить и сами эти действия и порядок их выполнения:
1. Достать ключ из кармана.
2. Вставить ключ в замочную скважину.
3. Повернуть ключ два раза против часовой стрелки.
Если вы внимательно оглянитесь вокруг, то обнаружите множество алгоритмов которые мы с вами постоянно выполняем. Мир алгоритмов очень разнообразен. Несмотря на это, удается выделить общие свойства, которыми обладает любой алгоритм.
Свойства алгоритмов:
1. Дискретность (алгоритм должен состоять из конкретных действий, следующих в определенном порядке);
2. Детерминированность (любое действие должно быть строго и недвусмысленно определено в каждом случае);
3. Конечность (каждое действие и алгоритм в целом должны иметь возможность завершения);
4. Массовость (один и тот же алгоритм можно использовать с разными исходными данными);
5. Результативность (отсутствие ошибок, алгоритм должен приводить к правильному результату для всех допустимых входных значениях).
Для более наглядного представления алгоритма широко используется графическая форма — блок-схема, которая составляется из стандартных графических объектов.
Стадии создания алгоритма:
1. Алгоритм должен быть представлен в форме, понятной человеку, который его разрабатывает.
2. Алгоритм должен быть представлен в форме, понятной тому объекту (в том числе и человеку), который будет выполнять описанные в алгоритме действия.
Объект, который будет выполнять алгоритм, обычно называют исполнителем.
Исполнитель — объект, который выполняет алгоритм.
Идеальными исполнителями являются машины, роботы, компьютеры.
Исполнитель способен выполнить только ограниченное количество команд. Поэтому алгоритм разрабатывается и детализируется так, чтобы в нем присутствовали только те команды и конструкции, которые может выполнить исполнитель.
Исполнитель, как и любой объект, находится в определенной среде и может выполнять только допустимые в нем действия. Если исполнитель встретит в алгоритме неизвестную ему команду, то выполнение алгоритма прекратится.
Компьютер – автоматический исполнитель алгоритмов.
Алгоритм, записанный на «понятном» компьютеру языке программирования, называется программой.
Алгоритмы можно записывать не только при помощи слов. В настоящее время различают несколько способов описания алгоритмов:
1. Словесный, т.е. записи на естественном языке, описание словами последовательности выполнения алгоритма.
Например: Записать алгоритм нахождения наибольшего общего делителя (НОД) двух натуральных чисел. Алгоритм может быть следующим: задать два числа; если числа равны, то взять любое из них в качестве ответа и остановиться, в противном случае продолжить выполнение алгоритма; определить большее из чисел; заменить большее из чисел разностью большего и меньшего из чисел; повторить алгоритм с шага
2. Формульно-словесный, аналогично пункту 1, плюс параллельная демонстрация используемых формул.
В качестве примера можно привести ведение лекций преподавателем (словесный способ) с одновременной записью формул на доске (формульный).
3. Графический, т.е. с помощью блок-схем.
Графический способ представления алгоритмов является более компактным и наглядным по сравнению со словесным. При графическом исполнении алгоритм изображается в виде последовательности связанных между собой блочных символов, каждый из которых соответствует выполнению одного из действий. Такое графическое представление называется схемой алгоритма или блок-схемой. В блок-схеме каждому типу действий (вводу исходных данных, вычислению значений выражений, проверке условий, управлению повторением действий, окончанию обработки и т.п.) соответствует геометрическая фигура, представленная в виде блочного символа. Блочные символы соединяются линиями переходов, определяющими очередность выполнения действий. Символы, наиболее часто употребляемые в блок-схемах.
4. Программный, т.е. тексты на языках программирования.
Источник
АЛГОРИТМ — что это. Понятие, свойства, структура и виды
Алгоритм. Практически все в нашем мире подчиняется каким-то законам и правилам. Современная наука не стоит на месте, благодаря чему человечеству известна масса формул и алгоритмов, следуя которым, можно рассчитать и воссоздать множество действий и строений, созданных природой, и воплотить в жизнь идеи, придуманные человеком. В этой статье мы разберем основные понятия алгоритма.
История появления алгоритмов
Алгоритм — понятие, появившиеся в XII веке. Само слово «алгоритм» происходит от латинской интерпретации имени известного математика среднего востока Мухаммеда аль Хорезми, который написал книгу «Об индийском счете». В этой книге описано, как правильно записывать натуральные числа, используя арабские цифры, и приведено описание алгоритма действий столбиком над такими числами.
В XII веке книга «Об индийском счете» была переведена на латинский язык, тогда-то и появилось данное определение.
Взаимодействие алгоритма с человеком и машиной
Создание алгоритма требует творческого подхода, поэтому новый список последовательных действий может создать только живое существо. А вот для исполнения уже существующих инструкций фантазию иметь не обязательно, с этим справится даже бездушная техника.
Отличным примером точного исполнения заданной инструкции является пустая микроволновая печь, которая продолжает работать, несмотря на отсутствие пищи внутри нее.
Субъект или объект, которому не обязательно вникать в суть алгоритма, называется формальным исполнителем. Человек тоже может стать формальным исполнителем, однако в случае нерентабельности того или иного действия мыслящий исполнитель может все сделать по-своему. Поэтому основными исполнителями являются компьютеры, микроволновые печи, телефоны и другая техника. Понятие алгоритма в информатике имеет самое важное значение. Каждый алгоритм составляется с расчетом на конкретного субъекта, с учетом допустимых действий. Те объекты к которым субъект может применить инструкции, составляют среду исполнителя.
Практически все в нашем мире подчиняется каким-то законам и правилам. Современная наука не стоит на месте, благодаря чему человечеству известна масса формул и алгоритмов, следуя которым, можно рассчитать и воссоздать множество действий и творений природы и воплотить в жизнь идеи, придуманные человеком. В этой статье мы разберем основные понятия алгоритма.
Что такое алгоритм?
Большинство действий, которые мы выполняем в течение своей жизни, требуют соблюдений ряда правил. От того, насколько верное представление имеет человек о том что, как и в какой последовательности он должен сделать, зависит качество и результат выполнения поставленных перед ним задач. С детства родители пытаются выработать в своем чаде алгоритм основных действий, например: проснуться, заправить постель, умыться и почистить зубы, сделать зарядку, позавтракать и т. д., список, который человек всю жизнь выполняет с утра тоже можно считать своеобразным алгоритмом.
Алгоритм — это понятие, обозначающее подборку инструкций, которые необходимо выполнять человеку для того, чтобы решить определенную задачу.
Вообще, алгоритм имеет множество определений, несколько ученых характеризуют его по-разному.
Если алгоритм, применяемый человеком ежедневно, у каждого свой, и может изменятся в зависимости от возраста и ситуаций, в которых оказывается исполнитель, то свод действий, которые нужно выполнить для решения математической задачи или для использования техники, един для всех и всегда остается неизменным.
Существует разное понятие алгоритма, виды алгоритмов тоже разнятся — к примеру, для человека, который преследует какую-либо цель, и для техники.
В наш век информационных технологий люди ежедневно выполняют свод инструкций, созданных до них другими людьми, ведь техника требует при использовании точного исполнения ряда действий. Поэтому основная задача преподавателей в школах — научить детей пользоваться алгоритмами, быстро схватывать и изменять уже существующие правила в соответствии со сложившейся ситуацией. Структура алгоритма является одним из тех понятий, которое изучается на уроке математики и информатики в каждой школе.
Основные свойства алгоритма
- Дискретность (последовательность отдельных действий) — любой алгоритм должен представляться в виде ряда простых действий, каждое из которых должно начинаться после завершения предыдущего.
- Определенность — каждое действие алгоритма должно быть настолько простым и понятным, чтобы у исполнителя не возникало вопросов и не оставалось свободы действий.
- Результативность — описание алгоритма должно быть понятным и законченным, чтобы после выполнения всех инструкций задача достигала логичного конца.
- Массовость — алгоритм должен быть применим к целому классу задач, решить которые можно, лишь поменяв в алгоритме цифры. Хотя есть мнение, что последний пункт относится не к алгоритмам, а ко всем математическим методам в целом.
Часто в школах, чтобы дать детям более понятное описание алгоритмов, учителя приводят в пример приготовление пищи по кулинарной книге, изготовление лекарства по рецепту или процесс мыловарения на основе мастер-класса. Однако, учитывая второе свойство алгоритма, в котором говорится о том, что каждый пункт алгоритма должен быть настолько понятным, чтобы его мог выполнить абсолютно любой человек и даже машина, можно прийти к выводу что любой процесс, требующий проявления хоть какой-то фантазии, алгоритмом назвать нельзя. А готовка и рукоделие требуют определенных навыков и хорошо развитого воображения.
Существуют разные типы алгоритмов, но есть три основных.
Цикличный алгоритм
В таком типе некоторые пункты повторяются по несколько раз. Список действий, которые необходимо повторить для достижения цели, называется телом алгоритма.
Итерация цикла — это выполнение всех пунктов, входящих в тело цикла. Части цикла, которые постоянно выполняются определенное количество раз, называются циклом с фиксированным числом итераций.
Те части цикла, частота повторения которых зависит от ряда условий, называются неопределёнными.
Самый простой вид цикла — это фиксированный.
- Цикл с предусловием. В этом случае тело цикла проверяет свое условие до того, как он будет выполнен.
- Цикл с постусловием. В цикле с постусловием проверка условия происходит после окончания выполнения цикла.
Линейные типы алгоритмов
Инструкции таких схем выполняются однократно в той последовательности, в которой они представлены. Например, линейным алгоритмом можно считать процесс заправки постели или чистки зубов. Также к этому типу относятся математические примеры, где присутствуют лишь действия сложения и вычитания.
Разветвляющийся алгоритм
В разветвляющимся типе есть несколько вариантов действий, какое из них будет применено, зависит от условия.
Пример. Вопрос: «Идет дождь?» Варианты ответов: «Да» или «Нет». Если «да» — откройте зонт, если «нет» — положите зонт в сумку.
Вспомогательный алгоритм
Вспомогательный алгоритм можно использовать в других алгоритмах, указав лишь его название.
Термины, встречающиеся в алгоритмах
Условие находится между словами «если» и «тогда».
Например: если вы знаете английский язык, тогда нажмите один. В этом предложении условием будет часть фразы «вы знаете английский язык».
Данные — сведения, которые несут определенную смысловую нагрузку и представлены в таком виде, чтобы их можно было передавать и использовать для данного алгоритма.
Алгоритмический процесс — решение задачи по алгоритму с применением определенных данных.
Структура алгоритма
Алгоритм может иметь различную структуру. Для того чтобы описать алгоритм, понятие которого зависит и от его строения, можно воспользоваться целым рядом различных способов, например: словесный, графический, с помощью специально разработанного алгоритмического языка.
Какой из способов будет использован, зависит от нескольких факторов: от сложности задачи, от того, насколько нужно детализировать процесс решения задачи и т. д.
Графический вариант построения алгоритма
Графический алгоритм — понятие, подразумевающие под собой разложение действий, которые нужно выполнить для решения определенной задачи, по определенным геометрическим фигурам.
Графические схемы изображаются не как попало. Для того чтобы их мог понять любой человек применяются чаще всего блок-схемы и структурограммы Насси-Шнейдермана.
Также блок-схемы изображаются в соответствии с ГОСТ-19701-90 и ГОСТ-19.003-80.
Графические фигуры, применяемые в алгоритме, делятся на:
- Основные. Основные изображения применяются для обозначения операций, нужных для обработки данных при решении задачи.
- Вспомогательные. Вспомогательные изображения нужны для обозначения отдельных, не самых важных, элементов решения задачи.
В графическом алгоритме геометрические фигуры, используемые для обозначения данных, называются блоками.
Все блоки идут в последовательности «сверху вниз» и «слева направо» — это правильное направление потока. При правильной последовательности линии, соединяющие между собой блоки, не показывают направление. В остальных случаях направление линий обозначается с помощью стрелок.
У правильной схемы алгоритма не должно быть больше одного выхода из обрабатывающих блоков и менее двух выходов из блоков, отвечающих за логические операции и проверку выполнения условий.
Как правильно построить алгоритм?
Структура алгоритма, как было сказано выше, должна строиться по ГОСТ, иначе она не будет понятна и доступна окружающим.
Общая методика по записи включает в себя следующие пункты:
- Название, по которому будет понятно, какую задачу можно решить с помощью этой схемы.
- У каждого алгоритма должны быть четко обозначены начало и конец.
- У алгоритмов должны быть четко и ясно описаны все данные, как входные, так и выходные.
При составлении алгоритма следует отметить действия, которые позволят производить нужные для решения задачи действия над выбранными данными. Примерный вид алгоритма:
Правильное построение схемы существенно облегчит вычисление алгоритмов.
Геометрические фигуры, отвечающие за разные действия в алгоритме
Горизонтально расположенный овал — начало и конец (знак завершения).
Горизонтально расположенный прямоугольник — вычисление или другие действия (знак процесса).
Горизонтально расположенный параллелограмм — ввод или вывод (знак данных).
Горизонтально расположенный ромб — проверка условия (знак решения).
Вытянутый, горизонтально расположенный шестиугольник — модификация (знак подготовки).
Модели алгоритмов представлены ниже на рисунке.
Формульно-словестный вариант построения алгоритма.
Формульно-словестные алгоритмы записываются в произвольной форме, на профессиональном языке той области, к которой относится задача. Описание действий таким способом осуществляют с помощью слов и формул.
Понятие алгоритма в информатике
В компьютерной сфере все строится на алгоритмах. Без четких указаний, введенных в виде специального кода, не будет работать ни одна техника или программа. На уроках информатики ученикам стараются дать основные понятия алгоритмов, научить пользоваться ими и самостоятельно их создавать.
Создание и использование алгоритмов в информатике — процесс более творческий, чем, например, выполнение указаний к решению задачи в математике.
Существует также специальная программа «Алгоритм», которая помогает людям, несведущим в области программирования, создавать свои собственные программы. Такой ресурс сможет стать незаменимым помощником для тех, кто делает первые шаги в информатике и хочет создавать свои игры или любые другие программы.
С другой стороны, любая программа — алгоритм. Но если алгоритм несет в себе лишь действия, которые нужно выполнять, вставляя свои данные, то программа уже несет в себе готовые данные. Еще одно отличие — это то, что программа может быть запатентована и являться частной собственностью, а алгоритм нет. Алгоритм — понятие более обширное, нежели программа.
Вывод
В этой статье мы разобрали понятие алгоритма и его виды, узнали, как правильно записывать графические схемы.
Источник