Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lab_rab_po_INZh_ST_PPP_dlya_zaochnikov ооо.doc
Скачиваний:
7
Добавлен:
27.09.2019
Размер:
1.14 Mб
Скачать

27

Введение

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

2. Основные понятия теории алгоритмов

Алгоритм – это последовательность элементарных шагов, выполнение которой позволяет получать однозначный результат (не зависящий от того, кто выполнял эти шаги) или за конечное число шагов прийти к выводу о том, что решения не существует. Задача называется алгоритмически неразрешимой, если не существует машины, модели или алгоритма, которые ее бы решали.

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

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

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

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

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

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

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

Чтобы алгоритм выполнил свое предназначение, его необходимо строить по определенным правилам.

Первое правило – необходимо задать множество объектов, с которыми будет работать алгоритм. Формализованное (в виде, удобном для записи, поиска и хранения в ПК) представление этих объектов носит название данных. Алгоритм приступает к работе с некоторым набором данных, которые называются входными, в результате своей работы выдает данные, которые называются выходными.

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

Третье правило – дискретность.

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

Пятое правило – сходимость (результативность). Алгоритм должен завершать работу после конечного числа шагов. При этом необходимо указать, что считается результатом работы алгоритма.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]