Для связи в whatsapp +905441085890

Реферат на тему: Алгоритмы

У вас нет времени на реферат или вам не удаётся написать реферат? Напишите мне в whatsapp — согласуем сроки и я вам помогу!

В статье «Как научиться правильно писать реферат», я написала о правилах и советах написания лучших рефератов, прочитайте пожалуйста.

Собрала для вас похожие темы рефератов, посмотрите, почитайте:

  1. Реферат на тему: Коррупция
  2. Реферат на тему: Кислород
  3. Реферат на тему: Генетика
  4. Реферат на тему: Правила дорожного движения
Реферат на тему: Алгоритмы

Введение

Алгоритм — точная инструкция исполнителю выполнить определенную последовательность действий для достижения цели в ограниченном количестве шагов.

Одним из фундаментальных понятий в информатике является понятие алгоритма. Происхождение самого термина «алгоритм» связано с математикой. Это слово происходит от алгоритма — латинского написания Мухаммада ал-Хорезми (787-850), выдающегося математика средневекового Востока. В своей книге «Об индийских счетах» он сформулировал правила ввода натуральных чисел с арабскими цифрами и правила действий с ними с помощью столбца. Позже алгоритмом стало точное правило, определяющее последовательность действий, обеспечивающих требуемый результат из исходных данных.

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

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

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

Такие качества:

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

Например, иногда алгоритм определяется на основе этих свойств: «Алгоритм — это последовательность математических, логических или комбинированных операций, отличающихся детерминированностью, массой и ориентацией и приводящих к решению всех задач данного класса за конечное число шагов».

Данная интерпретация термина «алгоритм» является неполной и неточной.

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

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

Типы алгоритмов

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

  1. Механические или другие детерминированные, жесткие алгоритмы (например, алгоритм машины, двигателя и т.д.);
  2. Гибкие алгоритмы, такие как стохастические, т.е. вероятностные и эвристические. Механический алгоритм определяет определенные действия, отмечает их в единой и надежной последовательности и тем самым обеспечивает четкий требуемый или желаемый результат, если выполнены условия процесса, задачи, для которых был разработан алгоритм.
  3. Вероятностный (стохастический) алгоритм дает программе возможность решать проблему различными способами или способами, приводящими к вероятному результату.
  4. Эвристический алгоритм (от греческого слова «эврика») — это алгоритм, в котором достижение конечного результата программы действий четко не предопределено, как будто не отмечена вся последовательность действий, не распознаны все действия исполнителя. Примеры эвристических алгоритмов включают инструкции и правила. В этих алгоритмах используются универсальные логические процедуры и методы принятия решений, основанные на аналогиях, ассоциациях и предыдущем опыте решения аналогичных задач.

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

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

Циклический алгоритм — алгоритм, обеспечивающий многократное повторение одного и того же действия (одних и тех же операций) для новых исходных данных. На циклических алгоритмах сокращено большинство методов вычислений, поиск вариантов.

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

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

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

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

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

Можно даже сделать такое утверждение: «Внешне алгоритм представляет собой схему — набор прямоугольников и других символов, в пределах которых она записывается, вычисляется, вводится в автомобиль и выводится на экран при помощи печати и других средств отображения информации». Здесь форма представления алгоритма смешивается с самим алгоритмом.

Требования к алгоритму

Первое правило заключается в том, что при создании алгоритма необходимо сначала указать набор объектов, с которыми алгоритм будет работать. Формализованное (закодированное) представление этих объектов называется данными. Алгоритм начинает работать с определенным набором данных, называемым Input, и в результате его работы выдает данные, называемые Output. Таким образом, алгоритм преобразует входные данные в выходные. Это правило позволяет сразу отделить алгоритмы от «методов» и «процедур». Пока у нас нет формализованных входных данных, мы не можем создать алгоритм.

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

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

Третье правило — усмотрение. Алгоритм состоит из отдельных шагов (действий, операций, команд). Множество шагов, из которых алгоритм естественно составлен.

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

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

Заключение

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

Список литературы

  1. Коляда М.Г. Окно в удивительный мир компьютерных наук. — Сталкер, 1994.
  2. Немнюгин С.А. Турбо Паскаль: Мастерская. — Санкт-Петербург: Петр, 2006.
  3. Попов В.Б. Турбо Паскаль для школьников: Пособие. — Москва: Финансы и статистика, 2003.
  4. Турбо Паскаль 7.0. Учебное пособие. — Санкт-Петербург: Петр; К: Издательская группа «БХВ», 2001.