Алгоритмизация — это заранее определённая, ясная и точная инструкция вероятному исполнителю по реализации определенной последовательности действий для достижения решения поставленной задачи за конечное число операций.
Введение
Алгоритмом является описание некоторой последовательности действий исполнителю, позволяющая достичь поставленной цели за некоторое конечное количество шагов. Алгоритм в информатике считается основополагающим понятием. Название произошло от написания по латыни имени знаменитого арабского учёного аль-Хорезми. В одной из своих работ он сформулировал правила отображения чисел арабскими цифрами и операций над цифрами, осуществляемых столбиком. Позже под этим термином стали понимать точное задание очерёдности действий, которое позволяет достичь требуемого результата на базе обработки исходной информации.
Сдай на права пока
учишься в ВУЗе
Вся теория в удобном приложении. Выбери инструктора и начни заниматься!
Алгоритмы, как правило, предназначены для их исполнения в ручном или автоматическом режиме. Формирование их, от самых простых до максимально сложных, является творческим процессом. Эта деятельность под силу только человеку, являющемуся разумным существом.
ИНФОРМАТИКА 8 класс: Алгоритмы и исполнители | Видеоурок
Информатика и алгоритмизация
Следует уточнить понимание определения «алгоритм в информатике», что является не такой уж постой задачей. Для этого необходимо сформулировать общие свойства алгоритма. Информатика даёт возможность на их базе установить отличия алгоритмов от других инструкций. Алгоритмическая совокупность инструкций имеет следующий набор свойств:
- Свойство дискретности.
- Свойство результативности.
- Свойство массовости.
- Свойство определенности.
Под дискретностью понимается раздельность набора команд, то есть, его дискретность, состоящая в том, что он предписывает вариант решения задачи в формате определённой очерёдности исполнения шагов. Все очередные шаги исполняются только по завершении выполнения предыдущего шага.
Под определенностью понимается тот факт, что правила алгоритма должны быть четкими и однозначными и не должны позволять произвольной трактовки. Это даёт возможность исполнения алгоритма в информатике чисто механически, не требуя дополнительной информации по решению задачи.
«Информатика и алгоритмизация»
Готовые курсовые работы и рефераты
Решение учебных вопросов в 2 клика
Помощь в написании учебной работы
Под результативностью (конечностью) понимается тот факт, что задача должна быть решена за некоторое не бесконечное количество шагов.
Под свойством массовости следует понимать, что совокупность команд, решающих задачу, формируется в некотором общем формате. Он должен быть предназначен для решения не одной задачи, а целого класса задач, отличающихся только исходными данными, которые должны находиться в диапазоне, называемом областью применяемости. Таков весь основной набор свойств алгоритма, а информатика изучает использование данных свойств на практике.
Понятие алгоритма и его свойства. Алгоритмы и структуры данных.
Однако следует заметить, что только одних свойств алгоритма недостаточно. Если основываться только на приведённых выше свойствах и пытаться сформулировать понятие алгоритма в информатике, то его понимание окажется явно неполным и не совсем точным. С одной стороны, алгоритм, являясь набором инструкций, необязательно должен решить какую-то задачу.
С другой стороны, свойство «массовости» имеют не столько алгоритмы, сколько все методики математики. Практические задачи, которые могут быть решены математическими методами, основываются на выделении определённых значимых признаков, характеризующих заданный набор явлений. Далее самые важные признаки кладутся в основание математической модели, а малосущественные признаки просто не учитываются.
При изучении темы «алгоритмизация» по информатике, для пояснения смысла данного понятия, часто в качестве примеров приводятся, так называемые, бытовые алгоритмы, а именно:
- Алгоритм кипячения воды.
- Алгоритм открытия дверей квартиры.
- Алгоритм перехода улицы.
Несколько более сложными бытовыми инструкциями считаются кулинарные рецепты или правила приготовления лекарств. Однако в полном смысле алгоритмами их не следует называть, потому что для изготовления лекарства и приготовления пищи необходимы знания, а алгоритм предполагает бездумное пошаговое исполнение определённых предписаний. Правила арифметических операций или построения геометрических фигур также могут быть отнесены к этой категории информатики.
Типы алгоритмов могут отличаться по виду деятельности, целям и путям их решения. Известны следующие типы алгоритмов:
- Механические. Такие совокупности команд заранее определены (к примеру, это работа двигателя). Они исполняются в единственной последовательности.
- Гибкие (стохастические или эвристические). Первые могут задавать несколько направлений решения задачи, а вторые могут решать задачи на базе аналогий и ассоциаций.
- Линейные. Команды в данном варианте исполняются по очереди друг за другом.
- Разветвляющиеся. Это алгоритмы с условиями, по результатам проверки которых исполняется одна из нескольких возможных веток.
- Циклические. Это алгоритмы, которые используют многократное повторение определённого набора операций. Как правило, такие наборы команд используются при переборе вариантов.
Одной из отраслей, изучаемых информатикой, является алгоритмизация, то есть процесс формирования алгоритма. Предварительной стадией алгоритмизации задач считается реализация структурного представления набора команд, которое далее применяется на каждом шаге дальнейшей работы.
Структурной схемой алгоритма является запись его шагов в формате блоков, которые объединены друг с другом при помощи стрелок. Один блок является одним шагом набора инструкций. Данное представление алгоритма достаточно популярно, поскольку оно является очень наглядным и благодаря этому существенно облегчает написание и отладку программ. Помимо этого, он удобен для объяснения того, как работает уже готовый алгоритм.
Алгоритм оперирует объектами, именуемыми данными. Начинается его исполнение с обработки входной информации, а итогом работы должна стать выдача выходных данных.
Источник: spravochnick.ru
Реферат на тему: Алгоритм — понятие алгоритма
- Данный тип работы не является научным трудом, не является готовой выпускной квалификационной работой!
- Данный тип работы представляет собой готовый результат обработки, структурирования и форматирования собранной информации, предназначенной для использования в качестве источника материала для самостоятельной подготовки учебной работы.
Если вам тяжело разобраться в данной теме напишите мне в whatsapp разберём вашу тему, согласуем сроки и я вам помогу!
Если вы хотите научиться сами правильно выполнять и писать рефераты по любым предметам, то на странице «что такое реферат и как его сделать» я подробно написала.
Введение
Процессор электронного компьютера, это чудо технологии, тем не менее, может выполнять только самые простые команды. Каким образом компьютер решает самые сложные задачи обработки информации? Для решения этих задач программист должен подробно описать последовательность действий, которые должен выполнять центральный процессор компьютера. Создание такого пошагового описания процесса решения задачи называется алгоритмом, а алгоритм представляет собой конечный набор правил, которые находятся в определенном логическом порядке и позволяют исполнителю решать конкретную задачу из определенного класса аналогичных задач. В различных ситуациях исполнитель может быть электронным или другим устройством или лицом (например, солдат, охраняющий склад боеприпасов и действующий в соответствии с алгоритмами, записанными в правилах дежурства охраны).
Алгоритм. Свойства алгоритма
Само слово «алгоритм» возникло из названия латинского перевода книги арабского математика Аль-Хорезми IX века «Algoritmi de numero Indoru», которое можно перевести как «Трактат Аль-Хорезми об арифметическом искусстве индусов». Составление алгоритмов и вопросы их существования являются предметом серьезных математических исследований.
Свойства алгоритма. При составлении и записи алгоритма необходимо убедиться, что он обладает рядом свойств.
Однозначность алгоритма, под которой понимается однозначность толкования правил выполнения строительных работ и порядка их выполнения исполнителем. Для того чтобы алгоритм имел это свойство, оно должно быть записано командами из командной системы исполнителя.
Завершенность алгоритма заключается в обязательном завершении каждого из действий, составляющих алгоритм, и в завершении алгоритма в целом.
Эффективность алгоритма при условии, что выполнение алгоритма должно заканчиваться определенными результатами.
Масса, т.е. возможность применения данного алгоритма для решения целого класса задач, соответствующих общему определению задачи. Для того чтобы алгоритм обладал свойством массы, необходимо создать алгоритм, использующий нотацию значений и избегающий определенных значений.
Корректность алгоритма, под которой понимается способность алгоритма обеспечить правильный результат при решении поставленных задач.
Эффективность — для решения задачи необходимо использовать ограниченные ресурсы компьютера (процессорное время, оперативную память и т.д.).
Описание алгоритмов на естественном языке
Когда речь идет о создании алгоритмов для процессора компьютера (электронной вычислительной машины), исполнитель является процессором. Упрощенная модель процессора включает в себя устройство для считывания данных, стек (специальная малообъемная оперативная память, предназначенная для временного хранения данных) и арифметическое устройство, способное выполнять арифметические действия.
Предположим, что программа, составленная для такого процессора, содержит числовые данные и символы для арифметических операций с такими данными. Приведем пример такой программы для вычисления двух чисел 2 и 3:
Давайте продолжим эту программу. Первая операция заключается в считывании значения 2 в стек. Затем второе значение (3) считывается в стек. Первое значение перемещается во вторую ячейку памяти. На третьем этапе выполнения программы вычисляется сумма двух прочитанных значений (они называются операндами).
Результат этой операции — значение 5 — записывается в первую ячейку стека.
Рассматривался пример самой простой программы. Это запись алгоритма решения класса задач — задач для вычисления суммы двух чисел. Давайте назовем эти номера a и b. Тогда алгоритм можно записать следующим образом:
Это пример записи алгоритма на естественном языке, т.е. на языке человеческого общения. Мы видим, что формулировка алгоритма не зависит от конкретных значений переменных a и b, так что его можно использовать для решения достаточно большого количества аналогичных задач, которые вместе образуют класс задач суммы. Алгоритм описывает действия не по конкретным значениям, а по абстрактным объектам.
Основными объектами программирования являются переменные . Переменные в программе отличаются от переменных, используемых при записи математических формул. Несмотря на сходство терминов, правила использования переменных в компьютерных программах отличаются от правил работы с математическими переменными. Это различие должно быть понято.
При программировании переменная может рассматриваться как одна или несколько ячеек памяти компьютера, которым присваивается определенное имя. Содержимое этих ячеек может измениться, но имя переменной остается неизменным. В математике значение переменной фиксируется внутри конкретной задачи, но меняется для других задач данного класса.
Именно поэтому конструкция
воспринимается программистом совершенно естественно, а уравнение
математик сочтёт неверным. В первом случае это означает вычисление суммы содержимого ячейки a и числовой константы 1 и введение результата в ту же ячейку a. Второй случай равен ложной идентификации 0 = 1.
Оставим алгоритм для решения следующей задачи. Давайте установим два значения x и y. Сравним эти значения и выведем имя более крупной переменной. Для этого достаточно сравнить оба значения и в зависимости от результата сравнения распечатать символ «х» и «у»:
- Ввести значение x .
- Ввести значение y .
- Если x< y , то напечатать «у», иначе напечатать «х».
В данном алгоритме используются алгоритмические структуры — линейная последовательность операций и ветвей (шаг 3, условный оператор). Последняя структура называется так потому, что после передачи ей управления алгоритм может быть выполнен на одной из двух возможных ветвей. Какая ветка будет выбрана, зависит от выполнения условия. Линейная последовательность в этом примере состоит из блоков ввода/вывода .
Для написания алгоритмов использовался естественный язык. Иногда используется полуофициальный язык с ограниченным словарным запасом (часто основанным на английском языке), промежуточный язык между естественным языком и языком программирования. Такой язык называется псевдокодом. Написание алгоритма в псевдокоде называется структурным планом. Псевдокод практичен, так как позволяет программисту сконцентрироваться на формулировании алгоритма, не задумываясь о синтаксических особенностях конкретного языка программирования.
Описание алгоритмов с использованием блок-схем
Для разработки структуры программы удобнее использовать обозначение алгоритма в виде блок-схемы (в английской литературе используется термин flow — chart). Для представления основных алгоритмических структур и блоков на блок-схемах используются специальные графические символы. Они приведены на рисунке
Начало/конец алгоритма
Передача управления
Ввод данных
Блок вычислений
Начало (заголовок) цикла
Конец цикла
Ветвление
Вывод данных
Составим алгоритм вычисления квадратного корня из произвольного положительного вещественного числа х методом Герона и запишем его на естественном языке, а также в виде блок-схемы. Метод основан на многократном применении формулы:
.
Числовая последовательность в пределе при
сходится к искомому значению. Выполним только 5 итераций метода, считая, что при этом будет достигнута достаточно хорошая точность. Обычно десяти итераций метода Герона более чем достаточно для достижения хорошей точность расчёта. Оба варианта записи алгоритма:
2. Присвоить .
3. Присвоить .
4. Присвоить .
5. Присвоить .
6. Если , то перейти к шагу 4, иначе напечатать значение
.
А теперь займёмся самым любимым занятием школьников всех времён и народов – решением квадратного уравнения:
.
Будем полагать, что коэффициенты этого уравнения ,
и
представляют собой вещественные числа. Простейший случай предполагает, что все коэффициенты отличны от нуля. В зависимости от знака дискриминанта квадратного уравнения
возможны три случая:
1. Если , то имеются два различных вещественных корня, которые можно вычислить по следующим формулам:
,
.
2. Если , то имеется единственный корень (точнее, двукратный корень):
.
3. Если , то вещественных корней нет.
Блок схема алгоритма приведена на рисунке:
Следует отметить, что данный алгоритм предназначен для решения узкого класса задач — квадратичных уравнений с «хорошими» коэффициентами. Если предположить, что коэффициенты могут принимать любые реальные значения, то существует риск того, что при определенных значениях коэффициента (например, ) возникнет аварийная ситуация (деление на ноль). Алгоритм качества и программа качества должны быть стабильными, т.е. прерывание программы должно быть нормальным для всех входных параметров, хотя может сопровождаться предупреждением о некорректности входных данных. Алгоритм решения квадратичного уравнения, показанный на рисунке, обладает свойством устойчивости:
Разработанный программистом алгоритм должен давать правильный ответ. Тестирование алгоритма может быть нелегким. В простых случаях такую проверку можно провести, заполнив таблицу трассировки. Каждому столбцу такой таблицы соответствует определенная переменная, а каждая строка — шаг алгоритма.
Для заполнения таблицы необходимо шаг за шагом отслеживать выполнение алгоритма и записать в таблицу текущие значения переменных, выбранных для отслеживания. Этот метод позволяет выявить логические ошибки, допущенные при компиляции или записи алгоритма, и определить правильность конечного ответа. Составим в качестве примера трассировочную таблицу для алгоритма Герона вычисления квадратного корня из числа 2.
Источник: natalibrilenova.ru
Реферат на тему: Алгоритмы
В статье «Как научиться правильно писать реферат», я написала о правилах и советах написания лучших рефератов, прочитайте пожалуйста.
Собрала для вас похожие темы рефератов, посмотрите, почитайте:
- Реферат на тему: Коррупция
- Реферат на тему: Кислород
- Реферат на тему: Генетика
- Реферат на тему: Правила дорожного движения
Введение
Алгоритм — точная инструкция исполнителю выполнить определенную последовательность действий для достижения цели в ограниченном количестве шагов.
Одним из фундаментальных понятий в информатике является понятие алгоритма. Происхождение самого термина «алгоритм» связано с математикой. Это слово происходит от алгоритма — латинского написания Мухаммада ал-Хорезми (787-850), выдающегося математика средневекового Востока. В своей книге «Об индийских счетах» он сформулировал правила ввода натуральных чисел с арабскими цифрами и правила действий с ними с помощью столбца. Позже алгоритмом стало точное правило, определяющее последовательность действий, обеспечивающих требуемый результат из исходных данных.
Алгоритм может быть сконструирован таким образом, что он может быть выполнен человеком или автоматическим устройством. Создание алгоритма, даже самого простого, — это творческий процесс. Она доступна только живым существам, и долгое время считалось, что она только человеческая. Латинский перевод его математического трактата был подготовлен в 19 в. Европейцы узнали о десятичной системе счисления и правилах арифметики для многозначных чисел. Именно эти правила тогда назывались алгоритмами.
Приведенное выше определение алгоритма нельзя считать строгим — не совсем понятно, что такое «точное правило» или «последовательность действий для достижения желаемого результата».
По этой причине они обычно формулируют несколько общих свойств алгоритмов, которые позволяют отличать алгоритмы от других утверждений.
Такие качества:
- Дискреция (разрыв, разделение) — алгоритм должен представлять процесс решения задачи в виде последовательности простых (или заранее определенных) шагов. Любое действие, предусмотренное алгоритмом, выполняется только после завершения предыдущего.
- Определение — каждое правило алгоритма должно быть четким и однозначным и не оставлять места для произвола. Благодаря этой характеристике, выполнение алгоритма является механическим и не требует дополнительных инструкций или информации о решаемой задаче.
- Эффективность (конечность) — алгоритм должен приводить к решению задачи за конечное число шагов.
- Массовый — алгоритм решения задачи разрабатывается в общем виде, т.е. он должен быть применим к классу задач, отличающихся только исходными данными. В этом случае исходные данные могут быть выбраны из диапазона, называемого областью действия алгоритма.
Например, иногда алгоритм определяется на основе этих свойств: «Алгоритм — это последовательность математических, логических или комбинированных операций, отличающихся детерминированностью, массой и ориентацией и приводящих к решению всех задач данного класса за конечное число шагов».
Данная интерпретация термина «алгоритм» является неполной и неточной.
Во-первых, неправильно связывать алгоритм с решением проблемы. Алгоритм может вообще не решить проблему.
Во-вторых, термин «масса» относится не к алгоритмам как таковым, а к математическим методам в целом. Решение задач, поставленных практикой математических методов, основано на абстракции — мы присваиваем набор существенных признаков, характерных для определенного набора явлений, и строим на основе этих признаков математическую модель, упуская из виду незначительные признаки каждого конкретного явления. В этом смысле каждая математическая модель обладает свойством массы. Если мы решим задачу в рамках построенной модели, а решение представляем как алгоритм, то решение будет «массовым» благодаря природе математических методов, а не «массовым» алгоритма.
Типы алгоритмов
Типы алгоритмов как логико-математических средств отражают указанные составляющие человеческой деятельности и тенденции, а сами алгоритмы классифицируются в соответствии с назначением, исходными условиями задачи, способами ее решения, определением действий исполнителя следующим образом:
- Механические или другие детерминированные, жесткие алгоритмы (например, алгоритм машины, двигателя и т.д.);
- Гибкие алгоритмы, такие как стохастические, т.е. вероятностные и эвристические. Механический алгоритм определяет определенные действия, отмечает их в единой и надежной последовательности и тем самым обеспечивает четкий требуемый или желаемый результат, если выполнены условия процесса, задачи, для которых был разработан алгоритм.
- Вероятностный (стохастический) алгоритм дает программе возможность решать проблему различными способами или способами, приводящими к вероятному результату.
- Эвристический алгоритм (от греческого слова «эврика») — это алгоритм, в котором достижение конечного результата программы действий четко не предопределено, как будто не отмечена вся последовательность действий, не распознаны все действия исполнителя. Примеры эвристических алгоритмов включают инструкции и правила. В этих алгоритмах используются универсальные логические процедуры и методы принятия решений, основанные на аналогиях, ассоциациях и предыдущем опыте решения аналогичных задач.
Линейный алгоритм — набор команд (инструкций), которые выполняются одна за другой во времени.
Разветвленный алгоритм — алгоритм, содержащий хотя бы одно условие, в результате которого компьютер позволяет перейти на один из двух возможных этапов.
Циклический алгоритм — алгоритм, обеспечивающий многократное повторение одного и того же действия (одних и тех же операций) для новых исходных данных. На циклических алгоритмах сокращено большинство методов вычислений, поиск вариантов.
Цикл программы — это последовательность инструкций (серия, тело цикла), которую можно выполнять много раз (для новых исходных данных) до тех пор, пока не будет выполнено определенное условие.
Вспомогательный алгоритм (алгоритм slave) — алгоритм, который был ранее разработан и полностью использован при алгоритмизации конкретной задачи. В некоторых случаях, когда существуют одинаковые последовательности инструкций (команд) для разных данных, чтобы сократить набор данных, также назначается вспомогательный алгоритм.
На всех этапах подготовки к алгоритмизации задачи часто используется структурное представление алгоритма.
Структурная (блочная, графическая) схема алгоритма — графическое представление алгоритма в виде схемы, соединенной стрелками (переходными линиями) блоков — графические символы, каждый из которых соответствует одному шагу алгоритма. Внутри блока находится описание соответствующего действия.
Графическое представление алгоритма широко используется перед программированием задачи благодаря своей наглядности, так как визуальное восприятие обычно облегчает процесс написания программы, ее исправление в случае возможных ошибок, понимание процесса обработки информации.
Можно даже сделать такое утверждение: «Внешне алгоритм представляет собой схему — набор прямоугольников и других символов, в пределах которых она записывается, вычисляется, вводится в автомобиль и выводится на экран при помощи печати и других средств отображения информации». Здесь форма представления алгоритма смешивается с самим алгоритмом.
Требования к алгоритму
Первое правило заключается в том, что при создании алгоритма необходимо сначала указать набор объектов, с которыми алгоритм будет работать. Формализованное (закодированное) представление этих объектов называется данными. Алгоритм начинает работать с определенным набором данных, называемым Input, и в результате его работы выдает данные, называемые Output.
Таким образом, алгоритм преобразует входные данные в выходные. Это правило позволяет сразу отделить алгоритмы от «методов» и «процедур». Пока у нас нет формализованных входных данных, мы не можем создать алгоритм.
Второе правило заключается в том, что алгоритму необходима память для работы. Память содержит входные данные, с которыми начинает работать алгоритм, промежуточные данные и выходные данные, являющиеся результатом работы алгоритма. Память дискретная, то есть состоит из отдельных ячеек. Именованная ячейка памяти называется переменной.
В теории алгоритмов объем памяти не ограничен, то есть предполагается, что мы можем предоставить алгоритму любой объем памяти, необходимый для его работы. Эти два правила не рассматриваются в школе «теории алгоритмов». В то же время практическая работа с алгоритмами (программирование) начинается с реализации этих правил.
В языках программирования выделение памяти осуществляется декларативными операторами (операторами описания переменных). В языке Basic описаны не все переменные, обычно описываются только массивы. Но все же при запуске программы транслятор языка анализирует все идентификаторы в тексте программы и выделяет память для соответствующих переменных.
Третье правило — усмотрение. Алгоритм состоит из отдельных шагов (действий, операций, команд). Множество шагов, из которых алгоритм естественно составлен.
Четвертое правило — тюремное заключение. После каждого шага вы должны указать, за каким шагом следует следующий, или дать команду останова. Пятое правило — конвергенция (эффективность). Алгоритм должен перестать работать после окончательного количества шагов. В этом случае необходимо указать, что следует считать результатом работы алгоритма.
Алгоритм — неопределенный термин в теории алгоритмов. Алгоритм задает конкретный набор выходных данных в соответствии с каждым конкретным набором входных данных, т.е. вычисляет (реализует) функцию.
Заключение
В старой интерпретации вместо слова «порядок» использовалось слово «последовательность», но по мере развития параллелизма в компьютерах слово «последовательность» было заменено более общим словом «порядок». Это связано с тем, что работа одних инструкций алгоритма может зависеть от других инструкций или результатов их работы. Поэтому некоторые инструкции должны выполняться строго в соответствии с инструкциями, от которых они зависят. Независимые инструкции, или инструкции, ставшие независимыми в результате завершения работы тех инструкций, от которых они зависят, могут выполняться в любом порядке, параллельно или одновременно, если это допускают процессор и используемая операционная система.
Список литературы
- Коляда М.Г. Окно в удивительный мир компьютерных наук. — Сталкер, 1994.
- Немнюгин С.А. Турбо Паскаль: Мастерская. — Санкт-Петербург: Петр, 2006.
- Попов В.Б. Турбо Паскаль для школьников: Пособие. — Москва: Финансы и статистика, 2003.
- Турбо Паскаль 7.0. Учебное пособие. — Санкт-Петербург: Петр; К: Издательская группа «БХВ», 2001.
Образовательный сайт для студентов и школьников
Копирование материалов сайта возможно только с указанием активной ссылки «www.lfirmal.com» в качестве источника.
Источник: lfirmal.com