Справочные материалы в среде программирования

Алгоритм

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


  • её команды не допускают различных вариантов исполнения;
  • указания предусмотрены для всех возможных вариантов развития событий.

       

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

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





Рис. 1 - Пример построения алгоритма




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


      - дискретность - алгоритм делится на отдельные элементарные шаги; 

      - определённость - каждая команда однозначно определяет действие исполнителя; 

      - конечность (результативность) - алгоритм должен завершаться за конечное число шагов. 

       

        

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

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

    Но процессор не понимает команд языков высокого уровня, поэтому их предварительно нужно "перевести". Для этого служат особые программы - трансляторы: компиляторы и интерпретаторы.