Пример 2: Алгоритм сложения целых чисел в десятичной системе счисления:
Записать числа в столбик, так чтобы цифры самого младшего разряда чисел (единицы) расположились одна под другой (на одной вертикали).
Сложить цифры младшего разряда.
Записать результат под горизонтальной чертой на вертикали единиц, если при этом полученная сумма больше или равна величине основания системы счисления (в данном случае 10), перенести десятки в старший разряд десятков.
Повторить пункты 2 и 3 для всех разрядов с учетом переносов из младших разрядов.
Массовость.
Алгоритмы сложения, вычитания, умножения и деления могут быть применены для любых чисел, причем не только в десятичной, но и в других позиционных системах счисления (двоичной, восьмеричной, шестнадцатеричной и др.). Возможность применения алгоритма к большому количеству различных исходных данных называется массовостью. Как вы уже знаете, само слово «алгоритм» происходит от «algorithmi» - латинской формы написания имени выдающегося математика IX века аль-Хорезми, который сформулировал правила выполнения арифметических операций.
Таким образом, массовость означает, что алгоритм должен обеспечивать возможность его применения для решения любой задачи из некоторого класса задач с различными исходными данными.
Детерминированность (определенность).
При управлении самолетом используются сложные алгоритмы, исполнителями которых являются пилот или бортовой компьютер.
Последовательность выполнения действий, например, при взлете должна быть строго определенной (например, нельзя отрываться от взлетной полосы, пока самолет не набрал необходимую взлетную скорость). Исполнитель алгоритма, выполнив очередную команду, должен точно знать, какую команду необходимо исполнять следующей. Это свойство алгоритма называется детерминированностью. Любое правило (команда) алгоритма должно быть строго и недвусмысленно определено и описано для каждого случая.
В алгоритме нет команд, смысл которых может быть истолкован исполнителем неоднозначно; недопустимы ситуации, когда после выполнения очередной команды исполнителю неясно, какую команду выполнять на следующем шаге. В каждый момент времени следующий шаг работы однозначно определяется состоянием системы. Таким образом, алгоритм выдаёт один и тот же результат (ответ) для одних и тех же исходных данных.
Выполнимость и понятность.
После включения компьютера начинают выполняться алгоритмы тестирования компьютера и загрузки операционной системы. Исполнителем этих алгоритмов является компьютер, поэтому они должны быть записаны на понятном компьютеру машинном языке.
Каждый исполнитель обладает определенным набором, системой команд, которые он может выполнить. Алгоритм должен быть понятен исполнителю, т.е. должен содержать только те команды, которые входят в систему его команд. Алгоритм состоит только из команд, входящих в систему команд исполнителя, т.е. из таких команд, которые исполнитель может воспринять и по которым может выполнить требуемые действия.
Do'stlaringiz bilan baham: |