русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Свойства алгоритма


Дата добавления: 2014-02-04; просмотров: 1049; Нарушение авторских прав


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

Определение алгоритма

Понятие алгоритма, алгоритмизация задачи.

После построения модели наступает следующий этап выработка на ее основе алгоритма.

Компьютер при всей своей вычислительной мощи является быстрым, аккуратным, точным и вместе с тем совершенно тупым исполнителем. При использовании его при решении различных задач нельзя рассчитывать на то, что компьютер о чем-то догадается сам, ему для работы нужны очень точные и подробные инструкции. Здесь мы с вами подходим к одному из множества определений алгоритма. АЛГОРИТМ – строго установленный порядок выполнения каких-то действий, необходимых для получения конечного результата. Как ни странно это может прозвучать, в реальной жизни мы постоянно сталкиваемся с алгоритмами. Инструкция по пользованию телефоном-автоматом, содержащая порядок действий необходимых для успешного телефонного звонка. Правила использования бытовой техники и многое другое в краткой, лаконичной форме сообщают нам, что надо делать в той или иной ситуации, определяя тем самым алгоритм нашего поведения. Само слово «алгоритм» – арабского происхождения. Одна из версий предполагает, что в основу данного термина положена арабская фамилия «аль-Хорезми» (из Хорезма). Алгоритм является основой для разработки тех инструкций, которыми руководствуется компьютер при работе, но напрямую использовать алгоритм мы не сможем, так как он пишется на естественном человеческом языке, компьютеру не понятном.

Для того, чтобы компьютер понял алгоритм его переводят на язык понятный машине и именной такой алгоритм, записанный в на машинном языке называется программой.



Единого «истинного» определения понятия «алгоритм» нет.

«Алгоритм — это конечный набор правил, который определяет последовательность операций для решения конкретного множества задач и обладает пятью важными чертами: конечность, определённость, ввод, вывод, эффективность». (Д. Э. Кнут)

«Алгоритм — точное предписание о выполнении в определённом порядке некоторой системы операций, ведущих к решению всех задач данного типа». (Философский словарь / Под ред. М. М. Розенталя)

Давайте рассмотрим пример алгоритма.

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

Исходное состояние задачи: все на левом берегу. Налагаемые ограничения: не допустить, чтобы кто-нибудь кого-нибудь съел во время перевозки.

Обозначим движущуюся лодку стрелкой, волка, козу, капусту буквами – В, КЗ, КП.

1. Первой везем козу. Другие варианты не возможны, т. к. приводят к нарушению условий.

2. Лодка возвращается обратно, забирает капусту и везет на другой берег.

3. Капусту с козой оставлять нельзя, забираем козу обратно.

4. Оставляем козу, забираем волка и везем его к капусте.

5. Затем возвращаемся за козой и перевозим ее на другой берег.

6. Задача решена.

 

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

Различные определения алгоритма в явной или неявной форме содержат следующий ряд общих требований:

  1. Дискретность — алгоритм должен представлять процесс решения задачи как последовательное выполнение некоторых простых шагов. При этом для выполнения каждого шага алгоритма требуется конечный отрезок времени, то есть преобразование исходных данных в результат осуществляется во времени дискретно.
  2. Детерминированность — определённость. В каждый момент времени следующий шаг работы однозначно определяется состоянием системы. Таким образом, алгоритм выдаёт один и тот же результат (ответ) для одних и тех же исходных данных. В современной трактовке у разных реализаций одного и того же алгоритма должен быть изоморфный граф. С другой стороны, существуют вероятностные алгоритмы, в которых следующий шаг работы зависит от текущего состояния системы и генерируемого случайного числа. Однако при включении метода генерации случайных чисел в список «исходных данных», вероятностный алгоритм становится подвидом обычного.
  3. Понятность — алгоритм для исполнителя должен включать только те команды, которые ему (исполнителю) доступны, которые входят в его систему команд.
  4. Конечность (Выполнимость) — при корректно заданных исходных данных алгоритм должен завершать работу и выдавать результат за конечное число шагов. С другой стороны, вероятностный алгоритм может и никогда не выдать результат, но вероятность этого равна 0.
  5. Массовость — пригодность алгоритма для решения определенного класса задач, алгоритм должен быть применим к разным наборам исходных данных.
  6. Результативность — завершение алгоритма определёнными результатами.
  7. Алгоритм содержит ошибки, если приводит к получению неправильных результатов либо не даёт результатов вовсе.
  8. Алгоритм не содержит ошибок, если он даёт правильные результаты для любых допустимых исходных данных.


<== предыдущая лекция | следующая лекция ==>
Алгоритм | Программирование – теоретическая и практическая деятельность, связанная с созданием программ.


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.168 сек.