Характеристика компьютерной технологии программирования.
Прототипирование ПС.
Разработка спецификаций ПС.
Автоматизированный контроль спецификаций.
Генерация программы.
Автоматизированное документирование.
Комплексное тестирование и отладка.
Рабочее место для компьютерной технологии программирова-ния.
10. Средства описания алгоритмов и программ.
План лекции:
1. Алгоритм и его свойства.
2. Способы представления алгоритмов.
3. Основные алгоритмические структуры.
Алгоритм и его свойства. Под алгоритмом понимают конечную последовательность точно сформулированных правил, которые позволяют решать те или иные классы задач. Алгоритмы, в соответствии с которыми решение поставленных задач сводится к арифметическим действиям, называются численными алгоритмами. Алгоритмы, в соответствии с которыми решение поставленных задач сводится к логическим действиям, называются логическими алгоритмами. Алгоритмом называется система четких однозначных указаний, которая определяет последовательность действий над некоторыми объектами и после конечного числа шагов приводит к требуемому результату.
Процесс алгоритмизации решения задачи в общем случае реализуется по следующей схеме: выделение автономных этапов процесса решения задачи (как правило, с одним входом и одним выходом); формализованное описание содержания работ, выполняемых на каждом выделенном этапе; проверка правильности реализации выбранного алгоритма на различных примерах решения задач.
Каждый алгоритм должен задаваться: множеством допустимых исходных данных; начальным состоянием; множеством допустимых промежуточных состояний; правилами перехода из одного состояния в другое; множеством конечных результатов; конечным состоянием. В зависимости от конкретного задания этих параметров определяются классы алгоритмов, например алгоритмы линейные, циклические, сортировки и т. д.
Любой алгоритм обладает следующими свойствами:
детерминированность (определенность, обусловленность) означает, что набор указаний алгоритма должен быть однозначно и точно понят любым исполнителем. Это свойство определяет однозначность результата работы алгоритма при заданных исходных данных;
массовость алгоритма предполагает возможность варьирования исходных данных в определенных пределах. Свойство массовости определяет пригодность использования алгоритма для решения множества задач данного класса и является основным фактором, обеспечивающим экономическую эффективность решения задач на ЭВМ;
результативность алгоритма предполагает, что для любых допустимых исходных данных он должен через конечное число шагов (или итераций) завершить свою работу;
дискретность алгоритма допускает разбиение определенного алгоритмического процесса на отдельные элементарные этапы, возможность реализации которых человеком или ЭВМ не вызывает сомнения, а результат выполнения каждого элементарного этапа вполне определен и понятен;
конечность алгоритма означает, что он должен выполняться за конечное время.
Таким образом, алгоритм дает возможность чисто механически решать любую конкретную задачу из некоторого класса однотипных.