Дискретность: - конечное число шагов; - дискретное время; - шаги выполняются мгновенно, а между этими шагами ничего не происходит.
Элементарность шагов. Объем работы на каждом элементарном шаге ограничен некоторой константой, зависящей от исполнителя алгоритма, но не зависящей от входных данных. Для численных алгоритмов такие элементарные шаги: сложение, вычитание, умножение, деление, сравнение двух чисел, пересылка числа из одного места памяти в другое. В тоже время, например, сравнение файлов не может быть элементарным шагом, так как длина файла неопределенна – потенциально бесконечна.
Определенность.
Состояние Xi+1 однозначно определяется состоянием Xi. Следовательно, и для всего алгоритма Y однозначно определяется X. Конечность (финитность). Алгоритм выполняется за конечное число шагов. Это количество зависит от входных данных.
Массовость . Входные данные для алгоритма могут выбираться из некоторого множества значений. Если одно значение входных данных, то всегда будет один и тот же выходной результат. Следовательно для одного значения входных данных создание алгоритма теряет смысл.
3. Понятие данных: исходных, промежуточных и результата.
Данными в алгоритме могут быть самые различные конструктивные объекты.
Интуитивное определение. Конструктивный объект это: - или элемент какого-либо конечного множества (например, один из дней недели), - или объект, вычисляемый каким-либо алгоритмом: знаки, логические величины, целые и вещественные числа, представленные ЭВМ, а также массивы конструктивных объектов. Все эти объекты будут рассматриваться подробнее в следующих лекциях.
Алгоритм (текст) – это тоже конструктивный объект. Следовательно, алгоритм может рассматриваться как входные данные для другого алгоритма. Таким образом понятия алгоритма и данных взаимосвязаны, что определяет равную важность понятий алгоритма и данных.
4. Понятие Исполнителя. Поскольку Алгоритмы являютсяпредписаниями необходим Исполнитель, который будет действовать по этим предписаниям.
Особенности Исполнителей:
Исполнитель получает: исходные данные и алгоритм. После это он начинает действовать как автомат (не рассуждая).
В результате выполнения каждого шага образуются промежуточные результаты, которые надо фиксировать для того, чтобы использовать в качестве исходных данных для следующего шага.
Исполнитель совершает конечное число шагов (это следует из свойства алгоритма).
Пример с переходом улицы Исполнителем.
5. Сложность составления алгоритмов ЭВМ для «простых» задач. - фотографии кошек и собак различить, - забивание гвоздя молотком.
Это задачи теории искусственного интеллекта.
Программное и аппаратное обеспечение в компьютере работают в неразрывной связи и взаимодействии. Состав программного обеспечения вычислительной системы называется программной конфигурацией. Между программами существует взаимосвязь, то есть работа множества программ базируется на программах низшего уровня.
Междупрограммный интерфейс - это распределение программного обеспечения на несколько связанных между собою уровней. Уровни программного обеспечения представляют собой пирамиду, где каждый высший уровень базируется на программном обеспечении предшествующих уровней. Схематично структура программного обеспечения приведена на рис. 1.