в чем заключается суть метода последовательной детализации
Метод последовательной детализации
Данная разработка предназначена для учащихся 11 класса, обучающихся по учебнику Информатика. 11 класс. Углубленный уровень. В 2 ч.Семакин И.Г., Шеина Т.Ю., Шестаков Л.В.
Просмотр содержимого документа
«Метод последовательной детализации»
Метод последовательной детализации
В соответствии с методологией структурного программирования метод последовательной детализации является основным подходом при проектировании сложных алгоритмов. Суть метода состоит в следующем:
Метод решения задачи заключается в следующем : выпуклый N- угольник разбивается диагональными линиями, выходящими из одной вершины на N-2 треугольника. Площадь многоугольника вычисляется как сумма площадей треугольников. Площади треугольников вычисляются по формуле Герона:
Длины сторон вычисляются по формуле, следующей из теоремы Пифагора.
Организация данных : исходные данные – координаты вершин N-угольника будут храниться в двух массивах: X[1..N],Y[1..N].
На первом шаге детализации составляется основная программа без подробного программирования используемых в ней подпрограмм первого уровня. Однако должны быть записаны интерфейсы подпрограмм первого уровня. Интерфейс – это заголовок подпрограммы, позволяющий организовать обращение к подпрограмме(имя, тип, формальные параметры)
Показанный в рассмотренном примере способ построения программы называют ещё программированием «сверху вниз»: начиная от основной программы, последовательно переходя к подпрограммам всё более глубокого уровня детализации.
В чем заключается суть метода последовательной детализации
Метод последовательной детализации основывается на использовании вспомогательных алгоритмов.
Вспомогательный алгоритм это алгоритм, по которому решается некоторая подзадача из основной задачи и который, как правило, выполняется многократно.
Пример
Составить блок-схему алгоритма нахождения значения функции:
Для нахождения значения данной функции, нужно три раза вычислять факториал числа, поэтому, чтобы избежать повторений, удобно нахождение факториала вынести во вспомогательный алгоритм. Блок-схемы основного и вспомогательного алгоритмов имеют вид:
Использованный выше подход облегчает решение сложных задач. Задача разбивается на более простые подзадачи, решение каждой оформляется в виде вспомогательного алгоритма, а основной алгоритм организует связку между ними.
Метод последовательной детализации применяется при любом конструировании сложных объектов. Это естественная логическая последовательность мышления конструктора: постепенное углубление в детали. В нашем случае речь идёт тоже о конструировании, но только не технических устройств, а алгоритмов. Достаточно сложный алгоритм другим способом построить практически невозможно.
Такая методика позволяет организовать работу коллектива программистов над сложным проектом. Например, руководитель группы строит основной алгоритм, а разработку вспомогательных алгоритмов поручает своим сотрудникам.
Метод последовательной детализации
Использованный нами подход облегчает программирование сложных задач. Задача разбивается на более простые подзадачи. Решение каждой оформляется в виде вспомогательного алгоритма, а основной алгоритм организует связку между ними.
Метод программирования, при котором сначала пишется основная программа, в ней записываются обращения к пока еще не составленным подпрограммам, а потом описываются эти подпрограммы, называется методом последовательной (пошаговой) детализации. Причем количество шагов детализации может быть гораздо большим, чем в нашем примере, поскольку сами подпрограммы могут содержать внутри себя обращения к другим подпрограммам.
Сборочный метод
Возможен и другой подход к построению сложных программ: первоначально составляется множество подпрограмм, которые могут понадобиться при решении задачи, а затем пишется основная программа, содержащая обращения к ним. Подпрограммы могут быть объединены в библиотеку подпрограмм и сохранены в долговременной памяти компьютера. Такую библиотеку можно постепенно пополнять новыми подпрограммами.
Например, если для управления графическим исполнителем создать библиотеку процедур рисования всех букв и цифр, то программа получения любого текста будет состоять из команд обращения к библиотечным процедурам.
Описанный метод называется сборочным программированием. Часто в литературе по программированию используется такая терминология: метод последовательной детализации называют программированием сверху вниз, а сборочный метод — программированием снизу вверх.
Коротко о главном
Для упрощения программирования сложных задач используются вспомогательные алгоритмы.
Вспомогательный алгоритм — это алгоритм решения некоторой подзадачи исходной (основной) задачи.
Вспомогательный алгоритм, записанный на языке программирования, называется процедурой.
Вспомогательный алгоритм должен быть описан. После этого в основном алгоритме можно использовать команду обращения к этому вспомогательному алгоритму.
Метод программирования, при котором сначала записывается основной алгоритм, а затем описываются использованные в нем вспомогательные алгоритмы, называется методом последовательной детализации, или программированием сверху вниз. Обратный порядок программирования называется программированием снизу вверх.
Вопросы и задания
1. Что такое основной алгоритм; вспомогательный алгоритм?
2. Чем отличается описание вспомогательного алгоритма от обращения к вспомогательному алгоритму?
3. Каковы правила описания вспомогательных алгоритмов (процедур) для исполнителя ГРИС?
4. Как записывается команда обращения к процедуре в языке исполнителя ГРИС?
5. В чем суть метода последовательной детализации?
6. Что такое программирование снизу вверх; сверху вниз?
7. Используя вспомогательные алгоритмы, запрограммируйте рисование следующих фигур.
ЕК ЦОР: часть 2, глава 5, § 29. ЦОР № 6, 9-12, 14, 15.
Циклические алгоритмы
Основные темы параграфа:
■ цикл с предусловием.
Команда цикла
Обсудим решение следующей задачи.
Задача 3. Исходное положение: ГРИС — у левого края поля, направление — на восток. Требуется нарисовать горизонтальную линию через весь экран.
Задачу можно решить, написав 15 раз команду шаг (если поперек поля рисунка 15 шагов). Но есть и более короткий вариант программы. Вот он:
покавпереди не край повторять
Здесь использована команда, которая называется циклом. Формат команды цикла следующий:
пока повторять
Служебное слово нц обозначает начало цикла, кц — конец цикла. Это первая команда из СКИ, которая реализует обратную связь между графическим исполнителем и управляющим им компьютером. Она заключается в том, что проверяется, не вышел ли ГРИС на край поля, не грозит ли ему следующий шаг или прыжок в этом направлении аварией. Проверяемые условия звучат так: «впереди край?» или «впереди не край?». На что машина получает от исполнителя ответ «да» или «нет».
В приведенном примере проверяется условие «впереди не край?». Если «да», то делается шаг (т. е. выполняется ). Затем происходит возврат на проверку условия, и всё повторяется. Если проверка условия дает отрицательный результат (т. е. впереди край), то выполнение цикла завершается и исполняется следующая после цикла команда программы.
При программировании цикла важно думать о том, чтобы цикл был конечным. Цикл, записанный выше, конечный. Двигаясь в одном направлении, исполнитель обязательно достигнет края, и на этом выполнение цикла закончится.
Ситуация, при которой выполнение цикла никогда не заканчивается, называется зацикливанием. Пусть ГРИС находится в середине поля. Исполнение следующего цикла:
пока впереди не край повторять
Поворот
никогда не закончится. ГРИС будет бесконечно рисовать квадратик, так как проверка условия «впереди не край?» всегда будет давать положительный ответ.
Цикл в процедуре
Задача 4. Теперь составим программу, по которой графический исполнитель нарисует прямоугольную рамку по краю поля (рис. 1.6). Исходное положение: ГРИС находится в левом верхнем углу, смотрит на юг.
Рамка состоит из четырех линий, поэтому разумно воспользоваться процедурой, проводящей линию от края до края поля. Опять будем действовать методом последовательной детализации. Напишем сначала основную программу.
Программа проведения линии нами уже рассматривалась. Осталось оформить ее в виде процедуры.
процедура ЛИНИЯ
пока впереди не край повторять
При составлении этой программы использовалась одношаговая детализация в такой последовательности:
Блок-схемы алгоритмов
Начиная с 50-х годов прошлого века, т. е. еще с эпохи ЭВМ первого поколения, программисты стали использовать графические схемы, изображающие алгоритмы, которые получили название блок- схем.
Блок-схема состоит из фигур (блоков), обозначающих действия исполнителя, и стрелок, соединяющих эти блоки и указывающих на последовательность их выполнения. Внутри каждого блока записывается выполняемое действие. Форма блока подсказывает характер действия, которое он обозначает. Для придания наглядности и единообразия схемам алгоритмов все графические элементы стандартизированы.
Посмотрите на рис. 1.7, где показана блок-схема алгоритма рисования рамки. Она состоит из двух частей: блок-схемы основного алгоритма и блок-схемы вспомогательного алгоритма ЛИНИЯ.
Из этих схем понятно назначение блоков различной формы (рис. 1.8).
Цикл с предусловием
Команда цикла изображается не отдельным блоком, а целой структурой, показанной на рис. 1.8. Такую структуру называют циклом с предусловием (так как условие предшествует телу цикла). Есть и другой вариант названия: цикл-пока (пока условие истинно, повторяется выполнение тела цикла).
При решении следующей задачи снова будем использовать метод
Задача 5.Требуется расчертить поле горизонтальными линиями (рис. 1.9). Исходное состояние исполнителя: верхний левый угол, направление — на юг.
В программе для решения этой задачи используется та же процедура ЛИНИЯ. Другая процедура — ВОЗВРАТ — возвращает ГРИС к левому краю поля для рисования следующей линии.
Блок-схемы основного и вспомогательного алгоритмов представлены на рис. 1.10.
Коротко о главном
Для программирования повторяющихся действий применяется команда цикла, которая имеет следующую структуру:
пока повторять
Команда цикла реализует обратную связь между объектом управления и управляющей системой. Проверка условия дает информацию управляющей системе о состоянии объекта управления.
В цикле с предусловием, если проверяемое условие выполняется (истинно), то выполняются команды, составляющие тело цикла. Если условие ложно, то происходит выход из цикла.
При программировании цикла необходимо следить за тем, чтобы не допускалось зацикливание.
Блок-схема — это графический способ описания алгоритма. Блоки обозначают действия исполнителя, а соединяющие их стрелки указывают на последовательность выполнения действий.
Вопросы и задания
1. Что такое цикл? Как записывается команда цикла?
2. Что такое условие цикла? Что такое тело цикла?
3. В каком случае происходит зацикливание алгоритма?
4. Что такое блок-схема?
5. Из каких блоков составляются блок-схемы (как они изображаются и что обозначают)?
6. Что обозначают стрелки на блок-схемах?
7. Составьте программу, переводящую ГРИС в угол поля из любого исходного состояния.
8. Составьте программу рисования прямоугольной рамки вдоль края поля при любом начальном состоянии исполнителя.
ЕК ЦОР: часть 2, глава 5, § 30. ЦОР № 5, 10-13, 16-18.
Механическое удерживание земляных масс: Механическое удерживание земляных масс на склоне обеспечивают контрфорсными сооружениями различных конструкций.
Метод последовательной детализации
В разработке презентации пошагово описан один из методов структурного программирования.
Просмотр содержимого документа
«Метод последовательной детализации»
Метод последовательной детализации.
Информатика 11 класс
Учитель: Литвинович В.П.
Метод последовательной детализации является одним из основных методов структурного программирования.
Суть этого метода заключается в разработке сложных алгоритмов путем построения иерархии
Пример 1 Вычислить площадь выпуклого N- угольника, заданного координатами своих вершин.
Найти площадь выпуклого многоугольника:
S- треугольника определяется:
Первый шаг детализации Стороны треугольника определяются по теореме Пифагора: Исходные данные, координаты вершин треугольника можно задать с помощью массива:
Второй шаг детализации: Запрограммируем процедуру Treugolnik. В разделе подпрограмм этой процедуры запишем лишь интерфейс подпрограммы Line, создав функцию.
Третий шаг детализации Запрограммируем функцию Line. Координаты концов отрезка задаем параметрами: x a, Y a –первая точка, x b, У b – вторая.
Собираем все проделанные шаги и составляем программу:
Применение метода последовательной детализации
Домашнее задание. § 2.2.11 чит. Запомнить …
Практическая работа № 6. Проверить работу программы N ugolnik
Вычислить площадь квадрата с длинами сторон равными 2 и координатами вершин:
Презентация по информатике на тему «Метод последовательной детализации» (10 класс)
Описание презентации по отдельным слайдам:
Метод последовательной детализации
Метод последовательной детализации это один из основных методов структурного программирования, заключающийся в разработке сложных алгоритмов путем построения иерархии подзадач
Суть метода 1) Анализируется задача, в ней выделяются подзадачи, строится иерархия таких подзадач 2) Составляются алгоритмы, начиная с основного алгоритма, далее вспомогательные с последовательным углублением уровня Задача Подзадача1 Подзадача2 Подзадача1.1 Подзадача2.1 Подзадача2.2
Задача Вычислить площадь N-угольника, заданного координатами своих вершин. x1,y1 x2,y2 x3,y3 x4,y4 x5,y5 x6,y6
I этап Площадь N-угольника S=S1+S2+…Sn-2 x1,y1 x2,y2 x3,y3 x4,y4 x5,y5 x6,y6 1) Разбиение n-угольника диагональным линиями на треугольники
II этап Площадь треугольника x1,y1 x2,y2 x3,y3 x4,y4 x5,y5 x6,y6 1) Нахождение площади треугольников по формуле Герона
III этап Длина стороны треугольника x1,y1 x2,y2 x3,y3 x4,y4 x5,y5 x6,y6 1) Нахождение длин сторон треугольника по заданным координатам точек
Метод последовательной детализации в решении задачи Вычисление площади многоугольника Вычисление площади треугольника Вычисление длины отрезка
Курс повышения квалификации
Дистанционное обучение как современный формат преподавания
Курс профессиональной переподготовки
Методическая работа в онлайн-образовании
Курс профессиональной переподготовки
Математика и информатика: теория и методика преподавания в образовательной организации
Ищем педагогов в команду «Инфоурок»
Номер материала: ДБ-826716
Не нашли то что искали?
Вам будут интересны эти курсы:
Оставьте свой комментарий
Авторизуйтесь, чтобы задавать вопросы.
Безлимитный доступ к занятиям с онлайн-репетиторами
Выгоднее, чем оплачивать каждое занятие отдельно
Учителям предлагают 1,5 миллиона рублей за переезд в Златоуст
Время чтения: 1 минута
Путин поручил не считать выплаты за классное руководство в средней зарплате
Время чтения: 1 минута
В московских школах придумали новый формат классных часов с участием отцов
Время чтения: 2 минуты
Учителя Кубани смогут получить миллион рублей на взнос по ипотеке
Время чтения: 1 минута
В России утвердили квоты приема на целевое обучение в вузах на 2022 год
Время чтения: 3 минуты
Минобрнауки обновит перечень специальностей высшего образования
Время чтения: 1 минута
Подарочные сертификаты
Ответственность за разрешение любых спорных моментов, касающихся самих материалов и их содержания, берут на себя пользователи, разместившие материал на сайте. Однако администрация сайта готова оказать всяческую поддержку в решении любых вопросов, связанных с работой и содержанием сайта. Если Вы заметили, что на данном сайте незаконно используются материалы, сообщите об этом администрации сайта через форму обратной связи.
Все материалы, размещенные на сайте, созданы авторами сайта либо размещены пользователями сайта и представлены на сайте исключительно для ознакомления. Авторские права на материалы принадлежат их законным авторам. Частичное или полное копирование материалов сайта без письменного разрешения администрации сайта запрещено! Мнение администрации может не совпадать с точкой зрения авторов.