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.  Логическая сложность. Определяется количеством ветвлений и циклов.


 

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

19781. Ієрархія класів. Базові класи VCL 16.43 KB
  Иерархия. Управлять большим количеством разрозненных классов довольно сложно. С этой проблемой можно справиться путем упорядочивания и ранжирования классов то есть объединяя общие для нескольких классов свойства в одном классе и используя его в качестве базового. Эту в...
19782. Графіка та графічні примітиви 28 KB
  2.Графіка та графічні примітиви Графіка спеціальна область інформатики що вивчає методи і засоби створення та обробки зображень за допомогою програмноапаратних комплексів. Графіка поділяється на: Растрову зображення будується по крапках. Комп'ютер зберігає
19783. Діалогові вікна. Компоненти OpenDialog, SaveDialog, FontDialog, ColorDialog 17.3 KB
  Діало́гове вікно́ особливий тип вікна яке задає запитання і дозволяє вибрати варіанти виконання дії або ж інформує користувача. Діалогові вікна зазвичай відображаються тоді коли програмі або операційній системі для подальшої роботи потрібна відповідь. На відмін
19784. Компоненти Splitter, Timer, Image, ScrollBar, тощо 17.86 KB
  Splitter Используется для создания в приложении панелей с изменяемыми пользователем размерами. Timer позволяет задавать в приложении интервалы времени. Таймер находит многочисленные применения: синхронизация мультипликации закрытие какихто окон с которыми пользователь...
19785. Компоненти StringGrid, RichEdit 17.38 KB
  StringGrid являє собою таблицю що містить рядки. Дані таблиці можуть бути тільки для читання або редагуються. Таблиця може мати смуги прокручування причому задане число перших рядків і стовпців може бути фіксованим і не прокручуватися. Таким чином можна задати заголовки ст
19786. Компоненти керування – Button, RadioButtonGroup, CheckBox, etc 28 KB
  Компоненти керування – Button RadioButton/Group CheckBox. Компоненти керування стандартні для Windows інтерфейсні елементи такі як головне і спливаюче меню кнопка однорядковий і багаторядковий редактори перемикачі мітки списки і деякі інші компоненти що застосовуються найчасті
19787. Компоненти списків ListBox, ComboBox 22 KB
  Компоненти списків ListBox ComboBox. Компоненти керування стандартні для Windows інтерфейсні елементи такі як головне і спливаюче меню кнопка однорядковий і багаторядковий редактори перемикачі мітки списки і деякі інші компоненти що застосовуються найчастіше. Компонент...
19788. Робота з текстом. Клас TStrings 16.16 KB
  При роботі з інформацією текстом потрібно виконувати її відображення введення і редагування. Підкреслимо що ми розглядаємо поняття текстав широкому сенсі припускаючи що до складу тексту можуть входити літери іціфри. При роботі з текстовими даними вони можуть об'єдну
19789. Розподіл оперативної пам’яті. Вказівники види, об’явлення, операції 34.5 KB
  4.Розподіл оперативної пам’яті. Вказівники: види об’явлення операції. Вказівником називається змінна яка містить в собі певниу адресу мається на увазі адресу в оперативній пам'яті. Як правило вказівники містять адресу деякої іншої змінної або виділеної д