Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции для конспекта.docx
Скачиваний:
2
Добавлен:
01.03.2025
Размер:
397.33 Кб
Скачать

3.7. Методы разработки алгоритмов и программ

Существуют правила соединения управляющих структур при программировании. Свойства управляющих структур лежат в основе современных методов решения сложных задач. В этих методах сначала разрабатывают решение задачи в общих чертах (без общих деталей), а затем шаг за шагом уточняют детали алгоритма до общего решения. Такой подход называют пошаговой детализацией алгоритма. Он относится к методу проектирования «сверху — вниз».

Основные принципы структурированного проектирования следующие:

  • нисходящее проектирование;

  • модульное проектирование;

  • структурное программирование;

  • структурный контроль.

Нисходящее проектирование основано на иерархическом подходе к решению задач и используется на начальной стадии процесса разработки решения задачи. При этом составляется иерархическая модель объекта, выбирается функция, степень детализации.

Иерархическая модель строится по следующим правилам:

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

  • для каждого модуля нижнего уровня имеется выход в модуль верхнего уровня;

  • связи между модулями организуются сверху вниз;

  • обращение к одному модулю возможно несколько раз, при этом он изображается один раз и оформляется как подпрограмма.

Модульное программирование предполагает независимое программирование каждого модуля, начиная с верхнего уровня иерархии. При осуществлении тестирования модулей верхнего уровня на модули нижнего уровня ставится «заглушка», чаще всего оператор печати. Модули добавляются по одному. После окончания разработки каждого модуля тестируется весь комплекс программ в целом.

Модульное программирование позволяет существенно сократить время, необходимое на отладку программ.

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

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

  2. Между этими структурами производится передача управления только вперед — от более высокого уровня иерархии к более низкому.

3. Запрещается использовать команду безусловных переходов (GOTO).

3.8. Основы алгоритмизации

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

Для решения задачи на компьютере необходимо иметь исходные данные и программу, реализующую алгоритм решения задачи.

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

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

Определенность (детерминированность). Каждое правило алгоритма должно быть четким и однозначным. Значения величин, получаемые в какой-либо момент времени, однозначно определяются значениями величин, полученными в предыдущие моменты времени.

Результативность (конечность). Алгоритм должен приводить к решению задачи за конечное число шагов.

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

Процесс разработки алгоритма называется алгоритмизацией.

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

  • выделение законченных частей вычислительного процесса;

  • формальная запись каждого из них;

  • назначение определенного порядка выполнения выделенных частей;

  • проверка правильности выбранного алгоритма.