|
|
Строка 47: |
Строка 47: |
| Вот и все! Так просто! Но теперь надо «объяснить» исполнителю, что такое ЕДИНИЦА и что такое ДЕВЯТЬ. Это делается в описаниях процедур (здесь порядок выполнения — по столбцам): | | Вот и все! Так просто! Но теперь надо «объяснить» исполнителю, что такое ЕДИНИЦА и что такое ДЕВЯТЬ. Это делается в описаниях процедур (здесь порядок выполнения — по столбцам): |
| | | |
- | процедура ЕДИНИЦА процедура ДЕВЯТЬ
| + | [[Image:Informatika_9_169p.jpg]] |
- | | + | |
- | нач нач
| + | |
- | | + | |
- | поворот шаг поворот
| + | |
- | | + | |
- | шаг поворот поворот
| + | |
- | | + | |
- | шаг шаг поворот
| + | |
- | | + | |
- | шаг шаг прыжок
| + | |
- | | + | |
- | шаг шаг прыжок
| + | |
- | | + | |
- | поворот шаг поворот
| + | |
- | | + | |
- | поворот поворот кон
| + | |
- | | + | |
- | прыжок шаг
| + | |
- | | + | |
- | прыжок поворот
| + | |
- | | + | |
- | прыжок шаг
| + | |
- | | + | |
- | прыжок шаг
| + | |
- | | + | |
- | поворот поворот
| + | |
- | | + | |
- | кон шаг
| + | |
| | | |
| Определение процедуры в программе называется ее описанием. Формат описания процедуры: | | Определение процедуры в программе называется ее описанием. Формат описания процедуры: |
Версия 17:11, 21 июля 2010
Гипермаркет знаний>>Информатика>>Информатика 9 класс>>Информатика: Вспомогательные алгоритмы и подпрограммы
ВСПОМОГАТЕЛЬНЫЕ АЛГОРИТМЫ И ПОДПРОГРАММЫ
§ 29. Вспомогательные алгоритмы и подпрограммы
Основные темы параграфа:
♦ что такое вспомогательный алгоритм; ♦ обращение к вспомогательному алгоритму (процедуре); ♦ описание вспомогательного алгоритма (процедуры); ♦ метод последовательной детализации; ♦ сборочный метод.
Что такое вспомогательный алгоритм
А сейчас решим следующую задачу.
Задача 2. Пусть требуется составить программу, по которой ГРИС напишет на экране четырехзначное число 1919 (рис. 5.6).

Конечно, можно поступить так, как в предыдущей задаче, написав одну длинную программу, по которой исполнитель шаг за шагом нарисует эти цифры. Но с очевидностью возникает другая идея: поскольку здесь дважды повторяются цифры 1 и 9, нельзя ли сократить работу, написав программу рисования той и другой цифры только один раз? Это действительно можно сделать.
Алгоритм, по которому решается некоторая подзадача из основной задачи и который, как правило, выполняется многократно, называется вспомогательным алгоритмом.
Вспомогательный алгоритм, записанный на языке программирования, называется подпрограммой или процедурой.
Обращение к вспомогательному алгоритму (процедуре)
В таком случае программа решения поставленной задачи разделяется на основную программу (основной алгоритм) и процедуры (вспомогательные алгоритмы). Каждая процедура должна иметь свое уникальное имя. Для рассматриваемой задачи имена процедур выберем следующими: ЕДИНИЦА и ДЕВЯТЬ. Тогда в основной программе команды обращения к этим процедурам будут такими:
сделай ЕДИНИЦА сделай ДЕВЯТЬ
По этим командам управление передается соответствующим процедурам, и после их выполнения управление вернется к следующей команде основной программы.
Договоримся, что начальное и конечное состояния ГРИС при вычерчивании каждой цифры будут такими, как показано стрелками на рис. 5.6 (внизу, на восток). У единицы начальное и конечное состояния совпадают. Основная программа:
программа Число 1919 нач сделай ЕДИНИЦА прыжок сделай ДЕВЯТЬ прыжок сделай ЕДИНИЦА прыжок сделай ДЕВЯТЬ кон
Данный пример познакомил вас с новой командой из СКИ графического исполнителя — командой обращения к процедуре. Ее формат, т. е. общий вид, следующий:
сделай <имя процедуры>
Описание вспомогательного алгоритма (процедуры)
Вот и все! Так просто! Но теперь надо «объяснить» исполнителю, что такое ЕДИНИЦА и что такое ДЕВЯТЬ. Это делается в описаниях процедур (здесь порядок выполнения — по столбцам):
Определение процедуры в программе называется ее описанием. Формат описания процедуры:
процедура <имя процедуры> нач <тело процедуры> кон
Имя в описании и имя в обращении должны точно совпадать (никаких склонений по падежам!). Описание процедур располагается после основной программы.
Добавив к программе описание процедуры, мы тем самым расширили систему команд исполнителя. В данной программе стало возможным использование команды обращения к этой процедуре.
Метод последовательной детализации
Использованный нами подход облегчает программирование сложных задач. Задача разбивается на более простые подзадачи. Решение каждой оформляется в виде вспомогательного алгоритма, а основной алгоритм организует связку между ними.
Метод программирования, при котором сначала пишется основная программа, в ней записываются обращения к пока еще не составленным подпрограммам, а потом описываются эти подпрограммы, называется методом последовательной (пошаговой) детализации. Причем количество шагов детализации может быть гораздо большим, чем в нашем примере, поскольку сами подпрограммы могут содержать внутри себя обращения к другим подпрограммам.
Сборочный метод
Возможен и другой подход к построению сложных программ: первоначально составляется множество подпрограмм, которые могут понадобиться при решении задачи, а затем пишется основная программа, содержащая обращения к ним. Подпрограммы могут быть объединены в библиотеку подпрограмм и сохранены в долговременной памяти компьютера. Такую библиотеку можно постепенно пополнять новыми подпрограммами.
Например, если для управления графическим исполнителем создать библиотеку процедур рисования всех букв и цифр, то программа получения любого текста будет состоять из команд обращения к библиотечным процедурам.
Описанный метод называется сборочным программированием. Часто в литературе по программированию используется такая терминология: метод последовательной детализации называют программированием сверху вниз, а сборочный метод — программированием снизу вверх.
Коротко о главном
Для упрощения программирования сложных задач используются вспомогательные алгоритмы.
Вспомогательный алгоритм — это алгоритм решения некоторой подзадачи из исходной (основной) задачи.
Вспомогательный алгоритм, записанный на языке программирования, называется процедурой.
Вспомогательный алгоритм должен быть описан. После этого в основном алгоритме можно использовать команду обращения к этому вспомогательному алгоритму.
Метод программирования, при котором сначала записывается основной алгоритм, а затем описываются использованные в нем вспомогательные алгоритмы, называется методом последовательной детализации или программированием сверху вниз. Обратный порядок программирования называется программированием снизу вверх.
Вопросы и задания
1. Что такое основной алгоритм; вспомогательный алгоритм? 2. Чем отличается описание вспомогательного алгоритма от обращения к вспомогательному алгоритму? 3. Каковы правила описания вспомогательных алгоритмов (процедур) для исполнителя ГРИС? 4. Как записывается команда обращения к процедуре в языке исполнителя ГРИС? 5. В чем суть метода последовательной детализации? 6. Что такое программирование снизу вверх; сверху вниз? 7. Используя вспомогательные алгоритмы, запрограммируйте рисование следующих фигур:

И. Семакин, Л. Залогова, С. Русаков, Л. Шестакова, Информатика, 9 класс Отослано читателями из интернет-сайтов
Наибольшая библиотека рефератов, планирование уроков информатики, материалы для подготовки к урокам информатики, ответы на тесты, изучай информатику 9 класс бесплатно
Содержание урока
конспект урока
опорный каркас
презентация урока
акселеративные методы
интерактивные технологии
Практика
задачи и упражнения
самопроверка
практикумы, тренинги, кейсы, квесты
домашние задания
дискуссионные вопросы
риторические вопросы от учеников
Иллюстрации
аудио-, видеоклипы и мультимедиа
фотографии, картинки
графики, таблицы, схемы
юмор, анекдоты, приколы, комиксы
притчи, поговорки, кроссворды, цитаты
Дополнения
рефераты
статьи
фишки для любознательных
шпаргалки
учебники основные и дополнительные
словарь терминов
прочие
Совершенствование учебников и уроков
исправление ошибок в учебнике
обновление фрагмента в учебнике
элементы новаторства на уроке
замена устаревших знаний новыми
Только для учителей
идеальные уроки
календарный план на год
методические рекомендации
программы
обсуждения
Интегрированные уроки
Если у вас есть исправления или предложения к данному уроку, напишите нам.
Если вы хотите увидеть другие корректировки и пожелания к урокам, смотрите здесь - Образовательный форум.
|