25127

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

Доклад

Информатика, кибернетика и программирование

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

Русский

2013-08-12

40.5 KB

1 чел.

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

Точное понятие "алгоритм" было выработано лишь в тридцатых годах XX века. До этого математики довольствовались интуитивным понятием алгоритма. Это объясняется тем, что до середины XIX века математика имела дело в основном с числами и вычислениями. Понятие алгоритма отождествлялось с понятием метода вычислений. Все многообразие вычислений комбинировалось из четко определенных операций арифметики, тригонометрии и анализа. Поэтому понятие метода вычисления считалось интуитивно ясным и не нуждалось в специальных исследованиях.

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

Интуитивное понятие алгоритма

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

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

В информатике под АЛГОРИТМОМ понимают понятное и точное предписание исполнителю совершить последовательность действий, направленных на достижение указанной цели или на решение поставленной задачи.   

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

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

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

Всякий алгоритм обладает 7 характеристиками или параметрами:

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

В алгоритме могут использоваться величины: постоянные и переменные. Каждая величина имеет основные характеристики:  имя, тип, значение. Для изменения значения величины используется команда присваивания.

Основные требования к алгоритмам

  1.  Любой алгоритм применяется к исходным данным и выдаёт результаты. Кроме того, в ходе работы алгоритма появляются промежуточные результаты, которые используются в дальнейшем. Таким образом, каждый алгоритм имеет дело с данными – входными, промежуточными и выходными. Данные – это объекты, которые чётко определены и отличимы от других данных и от «необъектов». К ним относятся числа, векторы, формулы.
  2.  Данные для своего размещения требуют памяти. Память обычно считается однородной и дискретной, каждая ячейка памяти может содержать один символ алфавита данных. Т.о., единицы измерения объёма данных и памяти согласованы.
  3.  Следует различать: а) описание алгоритма (инструкцию или программу); б) механизм реализации (ЭВМ); в) процесс реализации алгоритма.

Критерии качества алгоритма

  1.  Связанность. Определяется количеством промежуточных результатов.  Чем выше количество промежуточных результатов, тем ниже связанность.
  2.  Объем алгоритма.  Это количество операций или шагов, которые необходимо выполнить, а также сложность этих шагов.
  3.  Логическая сложность. Определяется количеством ветвлений и циклов.


 

А также другие работы, которые могут Вас заинтересовать

67358. Узагальнені класи 142.5 KB
  Окрім визначення узагальнених функцій, можна також визначити узагальнений клас. Для цього створюється клас, у якому визначаються всі використовувані ним алгоритми. При цьому реальний тип оброблюваних у ньому даних задається як параметр при побудові об’єктів цього класу.
67359. Обробка виняткових ситуацій 101 KB
  Розглянемо механізми оброблення різних виняткових ситуацій. Виняткова ситуація (або виняток) – це помилка, яка виникає у процесі виконання програми. Використовуючи С++-підсистему оброблення виняткових ситуацій, такі помилки легко можна виправляти. Їх виникнення під час роботи коду програми автоматично...
67360. ПРАВОМЕРНОЕ ПОВЕДЕНИЕ И ПРАВОНАРУШЕНИЯ 123.5 KB
  Нарушение предписаний правовых норм в любом обществе носит массовый характер и создает ему весьма ощутимый моральный и материальный вред. Все без исключения правонарушения представляют собой деяния людей а не воздействие сил природы или предметов не действия животных.
67361. Перехоплення винятків класового типу 71 KB
  Виняток може мати будь-який тип, у тому числі і класового типу, створенного програмістом. У реальних програмах більшість винятків мають саме класовий тип, а не вбудований тип. Ймовірно, тип класу найбільше підходить для опису помилки, яка потенційно...
67362. ЮРИДИЧЕСКАЯ ОТВЕТСТВЕННОСТЬ. СОЦИАЛЬНАЯ ОТВЕТСТВЕННОСТЬ И ЕЕ ВИДЫ 143.5 KB
  Ответственность личности имеет социальную природу предопределенную как общественным характером отношений так и особенностями личности ее местом в системе этих отношений. Социальная ответственность возникает тогда когда поведение индивида имеет общественное значение...
67363. Перехоплення всіх винятків 78.5 KB
  Часто доцільно використовувати настанову catch(...) як останній «рубіж» catch-послідовності. У цьому випадку вона забезпечує перехоплення винятків усіх інших типів (тобто не передбачених попередніми catch-виразами). Наприклад, розглянемо ще одну версію попереднього коду програми...
67364. ПРАВОСОЗНАНИЕ И ПРАВОВОЕ ВОСПИТАНИЕ 137 KB
  Нормы права нормативные акты правоприменительные решения и другие юридические феномены могут рассматриваться как своеобразные теоретические и практические проекции культуры для обозначения которых в этом качестве науке необходимо специальное понятие.
67365. Повторне генерування винятку 79.5 KB
  Для того, щоби повторно згенерувати винятки в його обробнику, необхідно використовувати throw-настанову без вказання типу винятку. У цьому випадку поточний виняток передається в зовнішню try/catch-послідовність. Найчастіше причиною для такого виконання настанови throw слугує прагнення мати доступ до одного винятку декільком обробникам.
67366. ПРАВОВАЯ КУЛЬТУРА. ПОНЯТИЕ И ОБЩАЯ ХАРАКТЕРИСТИКА 116.5 KB
  Для раскрытия сущности обозначенной проблемы необходимо рассмотреть исходные предпосылки и принципы формирования теории правовой культуры проанализировать последнюю как объект изучения и типы знаний об этом объекте определить круг исследуемых вопросов...