Модель — алгоритм — программа


Алгоритмы и свойства алгоритмов

Алгоритмы и способы их описания

Логические основы

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

 

Рассмотрите в электронном учебнике раздел «Логические операции».

 

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

Что такое логический элемент компьютера?

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

Логический элемент компьютера – это часть электронной логической схемы, которая реализует элементарную логическую функцию.

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

 


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

Поэтому, чтобы привлечь компьютер к исследованию объекта, процесса, явления или к «рутинной» обработке информации, прежде всего надо:

- четко поставить задачу (разработать модель),

- определить исходные данные, форму представления результатов.

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

Возникает классическая для информатики триада:

Во многих случаях этапы моделирования и алгоритмизации неотделимы друг от друга (например, при разработке модели производственного процесса).

Слово «алгоритм» произошло от имени выдающегося математика средневекового Востока Мухаммеда аль-Хорезми, описавшего в IX веке правила выполнения вычислений с многозначными десятичными числами. Правила сложения, вычитания, умножения столбиком, деления «уголком», которые мы учим в младших классах, – это алгоритмы аль-Хорезми.

Для составления программы, предназначенной для решения на ЭВМ какой-либо задачи, требуется составление алгоритма ее решения – точного предписания, которое определяет процесс, ведущий от исходных данных к требуемому конечному результату.

Работа по решению задач с использованием компьютера делится на несколько этапов. Основными этапами при этом является формализация и алгоритмизация решаемой задачи.

На этапе формализации задача переводится на язык математических формул, уравнений, отношений. После формализации описывается алгоритм решения задачи.

Алгоритм является одним из фундаментальных понятий в информатике.

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

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

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

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

Алгоритм должен содержать только те действия, которые допустимы для данного исполнителя.

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

- дискретность – алгоритм должен представлять процесс решения задачи как последовательное выполнение простых шагов;

- детерминированность – исполнитель должен выполнять команды алгоритма в строго определенной последовательности, каждое действие, предусмотренное алгоритмом, исполняется только после того, как закончилось исполнение предыдущего;

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

- понятность – понимание исполнителем команд, в алгоритме используются только команды из системы команд исполнителя;

- результативность (конечность) – алгоритм должен приводить к решению задачи за конечное число шагов;

- массовость – один и тот же алгоритм может применяться к большому количеству однотипных задач.