Ввода-вывода (bios). Понятие cmos ram 7 базы данных. Системы управления базами данных 8

Вид материалаДокументы

Содержание


Понятие алгоритма. свойства алгоритма. исполнители алгоритмов
Свойство дискретности
Свойство понятности
Свойство определенности
Свойство результативности
Свойство массовости
Система команд исполнителя.
Режимы работы исполнителя.
Подобный материал:
1   ...   25   26   27   28   29   30   31   32   ...   49

ПОНЯТИЕ АЛГОРИТМА. СВОЙСТВА АЛГОРИТМА. ИСПОЛНИТЕЛИ АЛГОРИТМОВ


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

Само слово «алгоритм» происходит от латинской формы написания имени великого математика IX века аль-Хорезми (Muhammed ibn Musa al Horesmi), который сформулировал правила выполнения арифметических действий. Первонача­льно под алгоритмами и понимали только правила выполне­ния четырех арифметический действий над многозначными числами, а в дальнейшем это понятие стало использоваться для обозначения последовательности действий, приводящих к решению поставленной задачи.

Предписание о выполнении отдельного законченного дей­ствия исполнителем называется командой алгоритма. Сово­купность всех команд, которые могут быть выполнены неко­торым исполнителем, образует систему команд данного исполнителя — СКИ. Компьютер — один из наиболее впе­чатляющих примеров исполнителей.

В общем виде схему работы алгоритма можно представить следующим образом:



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

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

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

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

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

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

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

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

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

Исполнитель алгоритма — это тот объект или субъект (человек, группа людей, животное, робот, автомат, компью­тер), для управления которым составлен алгоритм.

Все словесные алгоритмы пишутся для человека, следо­вательно, он и является исполнителем подобных алгорит­мов.

Многие окружающие нас автоматические устройства тоже действуют в соответствии с определенными алгоритма­ми. Например, электрический чайник отключается при дости­жении определенной температуры; можно задать определен­ный порядок действий для современной многопрограммной стиральной машинки.

Вершиной автоматических устройств являются роботы — устройства, способные выполнять ту или иную работу без участия человека. Едва ли человек сможет так быстро, безо­шибочно и качественно собрать сложнейшую электронную плату, как это делает робот-манипулятор на автоматизиро­ванном производстве.

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

Исполнители алгоритмов необычайно разнообразны, но есть общие черты, присущие всем исполнителям.
  1. Среда исполнителя. Полный набор характеристик, описывающих состояние исполнителя, и обстановку, в кото­рой он действует, принято называть средой данного испол­нителя.
  2. Система команд исполнителя. Предписание о выпол­нении отдельного законченного действия исполнителем на­зывается командой алгоритма. Совокупность всех команд, которые могут быть выполнены некоторым исполнителем, образует систему команд данного исполнителя — СКИ.

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

Разработка алгоритма — трудоемкая задача, требующая от человека глубоких знаний и больших временных затрат. Решение задачи по готовому алгоритму требует от исполни­теля только строгого следования заданным предписаниям. Исполнитель не вникает в смысл того, что он делает, и не рассуждает, почему он поступает так, а не иначе (он дейст­вует формально). С этим связана возможность автоматиза­ции деятельности человека:
  1. процесс решения задачи представляется в виде последовательности простейших операций;
  2. создается машина (автоматическое устройство), способная выполнять эти операции в последовательности, за­данной в алгоритме;
  3. человек освобождается от рутинной деятельности, вы­полнение алгоритма поручается автоматическому устройству.

Являясь исполнителем программ, компьютер обладает своей системой команд. Команды управления работой компьютера называют машинными командами. Машинная команда содержит в себе следующую информацию:
  • какую операцию выполнить;
  • где находятся операнды;
  • куда поместить результаты операции;
  • где находится следующая операция.

Машинные операции достаточно универсальны: арифме­тические и логические операции, перепись информации, пе­реходы, сдвиги кодов — вот практически весь их набор. Комбинируя машинные операции между собой, можно по­лучить программу практически для любой предметной обла­сти.

Рассмотрим подробнее, как компьютер выполняет отдель­ные команды и как реализуется вся программа в целом.

В устройстве управления центрального процессора есть специальный внутренний регистр — счетчик команд, в ко­тором хранится адрес следующей команды программы. При включении компьютера в счетчик аппаратно заносится стар­товый адрес находящейся в ПЗУ программы инициализации всех устройств и начальной загрузки компьютера. Дальней­шее функционирование компьютера определяется програм­мой.

При выполнении каждой команды программы выполня­ются следующие действия:
  1. согласно содержимому счетчика команд считывается очередная команда программы; её код помещается в регистр команд устройства управления;
  2. счетчик команд автоматически изменяется так, чтобы в нем содержался адрес следующей команды;
  3. считанная в регистр команд операция расшифровыва­ется, извлекаются необходимые данные и над ними вы­полняются требуемые действия; каждая машинная команда делится на ряд элементарных унифицирован­ных составных частей, которые принято называть так­тами; в зависимости от сложности команды она может быть реализована за разное число тактов;
  4. все описанные действия циклически повторяются с п. 1.

Так реализуется основной алгоритм работы ЭВМ, позво­ляющий шаг за шагом выполнять любую хранящуюся в ОЗУ программу.