Метод последовательной детализации. Сборочный метод

Основные алгоритмические структуры: следование, ветвление, цикл; изображение на блок-схемах. Разбиение задачи на подзадачи. Вспомогательные алгоритмы.

Основные виды алгоритмов (алгоритмических структур):

1. Линейный алгоритм (еще называют следование);

2. Циклический алгоритм;

3. Разветвляющийся алгоритм;

4. Вспомогательный алгоритм.

Линейный алгоритм

Линейный алгоритм – описание действий, которые выполняются однократно в заданном порядке. Исполнитель выполняет действия последовательно, одно за другим в том порядке в котором они следуют.

Блок-схема линейного алгоритма:

Циклический алгоритм

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

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

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

Перечень повторяющихся действий называют телом цикла .

Циклические алгоритмы бывают двух типов:

  • Циклы со счетчиком , в которых какие-то действия выполняются определенное число раз;
  • Циклы с условием, в которых тело цикла выполняется, в зависимости от какого-либо условия. Различают циклы с предусловием и постусловием.

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



В общем случае схема циклического алгоритма со счетчиком будет выглядеть так:

Для счетчика от нач. значения до кон. значения выполнить действие .

Часто бывает так, что необходимо повторить тело цикла, но заранее не известно, какое количество раз это надо сделать. В таких случаях количество повторений зависит от некоторого условия. Такие циклы называются циклы с условием. Циклы в которых сначала проверяется условие, а затем, возможно, выполняется тело цикла называют циклы с предусловием. Если условие проверяется после первого выполнения тела цикла, то циклы называются циклы с постусловием.

Например, в субботу вечером вы смотрите телевизор. Время от времени поглядываете на часы и если время меньше полуночи, то продолжаете смотреть телевизор, если это не так, то вы прекращаете просмотр телепередач.

В общем случае схема циклического алгоритма с условием будет выглядеть так:

Пока условие повторять действие .

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

Разветвляющийся алгоритм

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

Если пошел дождь, то надо открыть зонт.

Если прозвенел будильник, то надо вставать.

Разветвляющийся алгоритм - алгоритм, в котором в зависимости от условия выполняется либо одна, либо другая последовательность действий.

Эти предложения начинаются с проверки какого-либо условия: пошел дождь, прозвенел будильник, встретил Сашу… Далее в зависимости мы либо вылиняем какое-либо действие, либо не выполняем его (или выполняем какое-то другое действие).

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

В общем случае схема разветвляющегося алгоритма будет выглядеть так: «если условие , то действие 1 , иначе действие 2 » (Если встречу Сашу, то скажу ему …, иначе зайду к нему сам. ). Так же можно использовать неполную форму: «если условие , то действие » (Если встречу Сашу, то скажу ему … ). В этом случае не предусматривается действий на случай невыполнения условия.

Условие – это высказывание которое может быть либо истинно, либо ложно.

Еще раз обратим внимание, что существует две формы ветвления – неполная (когда присутствует только одна ветвь, т.е. в зависимости от истинности условия либо выполняется, либо не выполняется действие) и полная (когда присутствуют две ветви, т.е. в зависимости от истинности условия выполняется либо одно, либо другое действие).

Вспомогательный алгоритм

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

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

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

Рассмотрим пример с графическим исполнителем ГРИС. Пусть требуется составить алгоритм рисования четырехзначного числа 1919.

Можно составить один длинный алгоритм, по которому исполнитель шаг за шагом нарисует эти цифры. Но ведь цифры 1 и 9 повторяются по два раза. Алгоритм можно сократить используя вспомогательный алгоритм.

Получится более короткий и понятный алгоритм:

Алгоритм Число «1919»
начало
сделай ЕДИНИЦА
прыжок
сделай ДЕВЯТЬ
прыжок
сделай ЕДИНИЦА
прыжок
сделай ДЕВЯТЬ
конец

Где ЕДИНИЦА и ДЕВЯТЬ вспомогательные алгоритмы:

Метод последовательной детализации

Использованный нами подход облегчает программирование сложных задач. Задача разбивается на более простые подзадачи. Решение каждой оформляется в виде вспомогательного алгоритма, а основной алгоритм организует связку между ними.

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

Сборочный метод

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

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

Описанный метод называется сборочным программированием .

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

страница 1

Криворотова Л.Н. ТР 7.0. Основы программирования

Урок 1

Тема: «Построение алгоритмов методом последовательной

детализации.

Основные принципы структурного программирования»

Объяснение нового материала.
1. Разработка алгоритмов методом последовательной детализации.

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

Всякий алгоритм составляется из простых команд-обращений к вспомогательным алгоритмам и структурных команд.

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

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

Метод последовательной детализации путем разбиения задачи на подзадачи лежит в основе технологии структурного программирования и широко применяется при использовании структурных языков программирования, таких, как Паскаль или некоторые версии Бейсика.
2. Основные принципы структурного программирования.

Как известно, структурное программирование – новый подход к разработке программ, возникший в 70-х годах как одно из прогрессивных направлений в современном программировании. Этот подход направлен на преодоление трудностей, возникающих при разработке и модификации больших программ.


Структурное программирование предполагает разбиение задачи на подзадачи, каждая из которых может быть решена отдельно. В соответствии с этим программа делится на отдельные подпрограммы (модули), исполняемые по мере необходимости. Этот подход поддерживается большинством современных языков высокого уровня: Basic, Pascal, C, C++ и др.
Основными концепциями структурного программирования являются:

  • Модульное программирование;

  • Разработка структуры программы методом пошагового уточнения «сверху вниз»;

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

  1. Условный переход (альтернатива, «ветвление»);

  2. Множественное ветвление (выбор);

  3. Цикл с параметром (цикл «для»);

  4. Цикл с предусловием условием (цикл «пока»);

  5. Цикл с постусловием (цикл «до»);

  6. Вызов процедур, функций;

  7. Переход к метке (безусловный переход).

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

Смотрите также:

Построение алгоритмов методом последовательной детализации. Основные принципы структурного программирования

Развитие языков программирования

Основные принципы измерения каталитической активности l-фенилаланин-аммоний-лиазы, выделенной методом клонирования

ТЕМА: "ВЕТВЛЕНИЕ И ПОСЛЕДОВАТЕЛЬНАЯ ДЕТАЛИЗАЦИЯ АЛГОРИТМА"

Цели урока:

Образовательные:

1.познакомить учащихся с командой ветвления.

2.показать пример задачи с двухшаговой детализацией.

Воспитательные:

воспитание информационной культуры, внимания, аккуратности, усидчивости.

Развивающие:

1.развитие самоконтроля;

2.развитие познавательных интересов

Тип урока: комбинированный

Вид урока: урок объяснения и первичного закрепления материала

Оборудование: доска, компьютеры, проектор

Учебник: Семакин «Информатика и ИКТ» 9 класс

План урока:

    Организационный момент, проверка домашнего задания.

    Объяснение нового материала.

    Практическая часть.

    Подведение итогов урока.

    Домашнее задание.

Ход урока

Деятельность учителя

Деятельность учащихся

Здравствуйте, ребята! Присаживайтесь! Сегодня мы будем изучать алгоритм ветвления.

Проверка домашнего задания

Команда ветвления

Познакомимся еще с одной командой ГРИС. Она называется командой ветвления. Формат команды ветвления такой:

если <условие>
то <серия 1>
иначе <серия 2>
кв

Служебное слово кв обозначает конец ветвления.

По-прежнему ГРИС может проверять только два условия: «впереди край?» или «впереди не край?». <Серия> - это одна или несколько следующих друг за другом команд. Если <условие> справедливо, то выполняется <серия 1>, в противном случае - <серия 2>.

Давайте изобразим блок-схему.

Такое ветвление называется полным.

Неполная форма ветвления

В некоторых случаях используется неполная форма команды ветвления

Например:

если впереди край
то поворот
кв

Блок-схема:

Неполная команда ветвления имеет следующий формат:

если <условие>
то <серия>
кв

Здесь <серия> выполняется, если <условие> справедливо.

Составим сравнительно сложную про грамму для ГРИС. На этом примере вы увидите, что применение метода последовательной детализации облегчает решение некоторых «головоломных» задач.

Пример задачи с двухшаговой детализацией

Задача 6. Построить орнамент, состоящий из квадратов, расположенных по краю поля. Исходное положение ГРИС - в верхнем левом углу, направление на юг.

Процедуру, рисующую цепочку квадратов от края до края поля, назовем РЯД. Процедуру, рисующую один квадрат, назовем КВАДРАТ. Сначала напишем основную

программа Орнамент
нач
сделай РЯД
поворот
сделай РЯД
поворот
сделай РЯД

поворот
сделай РЯД
кон

Теперь напишем процедуры РЯД и КВАДРАТ:

В процедуре РЯД в теле цикла содержится неполное ветвление. Структуру такого алгоритма можно назвать так: цикл с вложенным ветвлением.

Процедуры РЯД.

Составление этой программы потребовало двух шагов детализации алгоритма, которые выполнялись в такой последовательности:

Теперь вам известны все команды управления графическим исполнителем. Их можно разделить на три группы: простые команды; команда обращения к процедуре; структурные команды. К третьей группе относятся команды цикла и ветвления.

Приложение 1.

Переходим к практической части нашего урока.

Загружайте файл Ц_1 уровень

Разработайте алгоритм перемещения из точки А в точку Б по прямой с рисованием следа. Расстояние от А до Б заранее неизвестно. Но точно известно, что за точкой Б на расстоянии одной клетки от нее находится стенка. Воспользуйтесь этой стенкой для того чтобы завершить перемещение именно в точке Б: запрыгнув вперед проверяйте нет ли впереди стенки и, если стенки нет, то возвращайтесь и оставляйте след.

Загружайте файл Ц_2 уровень

Разработайте алгоритм перемещения исполнителя из точки А в точку Б с преодолением возникающих на пути трех пар «прыгающих» стенок. След должен быть виден. Используйте процедуру для преодоления одной пары стенок.

Загружайте файл Ц_3 уровень

Приложение 2

Приложение 3

Приложение 4

Подведение итогов урока, выставление отметок.

Домашнее задание п.31,

Приложение 1.

Приложение 2

Приложение 3

Приложение 4

Наименование параметра Значение
Тема статьи: Сборочный метод.
Рубрика (тематическая категория) Программирование

Функции пользователя

ü познакомиться с приемами построения алгоритмов;

ü получить представление о пользовательских функциях, освоить методику их написания.

I. Приёмы построения алгоритмов

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

проектирование – построение алгоритма решения поставленной задачи;

кодирование – перевод алгоритма на язык программирования;

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

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

Одним из приемов структурного программирования является разбиение (декомпозиция ) решаемой задачи на логически завершенные подзадачи. Для каждой подзадачи строится так называемый вспомогательный алгоритм . В связи с этим можно представить два способа построения алгоритмов:

метод последовательной детализации;

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

Метод последовательной детализации можно разбить на три этапа:

1. Строится основной алгоритм решения общей задачи, ᴛ.ᴇ. исходная задача разбивается на логически завершённые подзадачи.

2. Для каждой подзадачи определяются входные данные, от которых функционально будет зависеть решение конкретной подзадачи; выходной параметр, который должен быть получен на выходе решения конкретной подзадачи; описывается вспомогательный алгоритм решения этой подзадачи.

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

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

Сборочный метод. - понятие и виды. Классификация и особенности категории "Сборочный метод." 2017, 2018.

Последовательная детализация, сборочный метод. Использованный подход облегчает программирование сложных задач. Его называют метод последовательной (пошаговой) детализации. Другой метод заключается в том, что написанные подпрограммы могут быть объединены в библиотеки подпрограмм и сохранены в памяти компьютера. При написании основной программы можно обратиться к библиотеке. Такой метод называется сборочным программированием.

Слайд 6 из презентации «Вспомогательные алгоритмы» . Размер архива с презентацией 131 КБ.

Информатика 9 класс

краткое содержание других презентаций

«Базы данных 9 класс» - Вторую таблицу «Районы» создаём импортом из файла к_таблице_Адреса.xls. Уточняем тип данных и маски ввода для соответствующих полей. Типы данных: Счетчик Числовые Текстовые Дата и время Логические Денежные. В каких сферах человеческой деятельности может оказаться необходимым создание и ведение БД? Запрос на выборку информации из одной таблицы «Адреса». ОПЫТ ПРЕПОДАВАНИЯ темы «Система управления базой данных» в 9 классах. 5 этап Создание запросов на основе связанных таблиц. Что называется БД? Однотабличные и многотабличные БД Что является главным объектом реляционной БД? Назовите другие объекты.

«История развития вычислительной техники» - Задачи: Блез Паскаль (Blaise Pascal, 1623-1662). Аналитическую машину Бэббиджа построили энтузиасты из Лондонского музея науки. Аналитическая машина. МЭСМ и БЭСМ. К первому поколению обычно относят машины, созданные на рубеже 50-х годов. V веку до н.э. абак получил широкое распространение в Египте, Греции, Риме. I поколение ЭВМ. II поколение ЭВМ. . Изобретение включало перфокарту и сортировальную машину. В 1953г. В 1952г. началась опытная эксплуатация отечественного компьютера БЭСМ-1.

«Документ Word 2007» - Відкриває нове вікно з представленням поточного документу. Статистика. “Головна”. Вставка діаграми. Орієнтація сторінки. Клацнути системний значок, Зберегти (далі як у пункті 1). Збільшення або зменшення відступів у багаторівневому списку. Збереження документа. Режим “Стуктура”. Інформатика 9 клас. Вставка графічних примітивів. «Розмітка сторінки». Записування маркосів, отримання доступу до інших операцій з маркосами. Порівняння версій документів.

«Электронные таблицы 9 класс» - Закрепление. Самым распространенным среди пользователей является табличный процессор Microsoft Excel. Автор: Локтев Иван, ученик 9в класса МОУ «СОШ №25», г Балаково 2010г. Мы полагаем, что с использованием электронных таблиц - расчёты произведутся быстрее! Проблема. Активная ячейка – выделенная ячейка. Строки нумеруются целыми числами, а столбцы – буквами латинского алфавита. Структура окна Excel. Каждая книга состоит из рабочих листов. На пересечении столбца и строки располагается – ячейка.

«Информационные ресурсы современного общества» - Покупатели (потребители) услуг. Трудовые. Обучение. Дидактический тип урока – изучение нового материала. Например, 1А, 2АГ. Материальные. Финансовые. Товар – информационные продукты и услуги. МОУ СОШ №2 городского округа город Буй Костромской области. Поиск и подбор информации.

«Условия в Паскале» - Язык блок-схем да нет. Алгоритмический язык если <условие> то <серия 1> кв. Запиши в тетрадь. else. Язык Паскаль (неполное ветвление) IF <условие> THEN<оператор> ; Решение задач. Язык Паскаль (полное ветвление) IF <условие> THEN<оператор_1> ELSE <оператор_2>; Повторение. Задача_1. алг БИД 1 вещ А,В,С нач ввод А,В если А>B то C:=A иначе C:=B кв вывод С кон.




Top