Антон В.. Основы алгоритмизации, базовые алгоритмические структуры и метод пошаговой детализации
Скачать 328.57 Kb.
|
МИНИСТЕРСТВО ЦИФРОВОГО РАЗВИТИЯ, СВЯЗИ И МАССОВЫХ КОММУНИКАЦИЙ РОССИЙСКОЙ ФЕДЕРАЦИИ Ордена Трудового Красного Знамени федеральное государственное бюджетное образовательное учреждение высшего образования «Московский технический университет связи и информатики» Кафедра «Информатика» Лабораторная работа №3 «Разработка алгоритмов решения задач методом пошаговой детализации» по теме «Основы алгоритмизации, базовые алгоритмические структуры и метод пошаговой детализации» Общее задание. Изучить свойства и формы записи алгоритмов с помощью типовых функциональных блоков, правила выполнения схем алгоритмов, основы алгоритмизации, базовые алгоритмически структуры, основные положения технологий структурного проектирования алгоритмов и метода пошаговой детализации, средства MS Visio для графической визуализации алгоритмов. Формализация задания. Для вычисления площади трёх кругов S1, S2, S3 с заданными диаметрами d1, d2, d3 воспользуемся формулой: S= π d2/4 4) Разработка алгоритмов решения задач. 4.1) Начнем проектирование алгоритма методом «сверху вниз» с учетом того, что решение задачи реализуется с помощью алгоритмов простейшей линейной структуры. На самом верхнем (первом) уровне алгоритм решения задачи можно укрупненно представить в виде вызова главного функционального алгоритма (процедуры) с именем main (рисунок 1), где CallV функциональный алгоритм(процедура) вычисления площадей окружностей. Рисунок 1 - Укрупненная схема алгоритма main решения Задачи 1 4.2) На следующем, втором уровне, детализируем алгоритм процедуры CallV путем представления его в виде последовательности вызовов следующих трех алгоритмов (процедур) (рисунок 2): алгоритма (процедуры) ввода числовых значений d1, d2 и d3 GetD; алгоритма (процедуры) вычисления площадей S1, S2 и S3 SearchS ; алгоритма (процедуры) вывода вычисленных значений площадей S1,S2 и S3 PutS. Рисунок 2 - Результат второго уровня детализации алгоритма 4.3) Перейдем теперь к следующему, третьему уровню детализации. Процедуры GetD и PutS дальнейшей детализации не требуют, так как средства ввода-вывода имеются в любом языке программирования. Поэтому на следующем, третьем шаге детализируем алгоритм процедуры нахождения всех площадей кругов. (рисунок 3). Из представленной формулы видно, что для нахождения площади каждого из кругов достаточно подставить числовое значение диаметра и произвести расчёт. Рисунок 3 - Схема алгоритма процедуры CalcS'>SearchS Наконец, на этом же, последнем уровне детализации разработаем схему алгоритма процедуры CalcS, вычисляющей площадь круга S1 c помощью входного параметра d1 (рисунок 4). Рисунок 4- Схема алгоритма процедуры CalcS 5) Разработка схемы иерархии процедур. Теперь, когда мы определи все процедуры и их взаимодействие, изобразим схему иерархии процедур, показывающую их подчиненность (рисунок 5). Рисунок 5- Схема иерархии процедур для решения задачи Москва, 2021 г. |