План-конспект урока по информатике и икт (9 класс) на тему: Тема урока: Вспомогательные алгоритмы. Метод последовательной детализации и сборочный метод. Ветвление и последовательная детализация алгоритма — Гипермаркет знаний

Новости 09.07.2019
Новости

Конец

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

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

На псевдокоде эта команда в общем виде записывается так:

если <условие>

то <действие 1>

иначе <действие 2>

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

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

если <условие>

то <действие >

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

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

Команда повторения с предусловием записывается на псевдокоде следующим образом:

пока <условие >

повторять <действие>

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

Запись команды повторения с предусловием на языке блок-схем выглядит так:



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



повторять

действие

до условие

Под действием, как и прежде, понимается простая или составная команда.

Цикл с параметром (известным количеством повторений)

Для параметр:= N1 до N2 делать

действие

N1, N2 – выражения, определяющие соответственно начальное и конечное значения параметра цикла, N3 –шаг изменения параметра цикла.

Если N1< N2, то N3 >0.

Если N1> N2, то N3 <0.

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

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

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

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

Иногда в литературе структурное программирование называют программированием без goto. Действительно, при таком подходе нет места безусловному переходу.

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

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

Конструкции одного уровня вложенности записываются на одном вертикальном уровне (начинаются с одной позиции в строке);

Вложенная конструкция записывается смещенной по строке на несколько позиций вправо относительно внешней для нее конструкции.

Структурная методика алгоритмизации - это не только форма описания алгоритма, но это еще и способ мышления программиста. Создавая алгоритм, нужно стремиться составлять его из стандартных структур.

Еще одним важнейшим технологическим приемом структурного программирования является декомпозиция решаемой задачи на подзадачи - разбиение задачи на более простые части исходной задачи с точки зрения программирования.

Алгоритмы решения таких подзадач называются вспомогательными алгоритмами. В связи с этим возможны два пути в построении алгоритма:

"сверху вниз" – сначала строится основной алгоритм, затем вспомогательные алгоритмы;

"снизу вверх" – сначала составляются вспомогательные алгоритмы, а затем основной.

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

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

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

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

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

Сначала анализируется исходная задача. В ней выделяются подзадачи. Строится иерархия таких подзадач.

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

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

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

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

Алгоритмические ошибки приводят к различным последствиям. Во-первых, могут возникнуть невыполнимые действия. Например, деление на ноль, корень квадратный из отрицательного числа, выход индекса за границы массива и т. п. Это ошибки времени исполнения. Они приводят к прерыванию выполнения программы. Как правило, имеются системные программные средства, помогающие в поиске таких ошибок.

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

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

Качественная программа ни в каком варианте не должна завершаться аварийно .

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

Успешное прохождение всех тестов есть необходимое условие правильности программы. Заметим, что при этом оно необязательно является достаточным. Чем сложнее программа, тем труднее построить исчерпывающий план тестирования. Опыт показывает, что даже в «фирменных» программах в процессе эксплуатации обнаруживаются ошибки. Поэтому проблема тестирования программы - очень важная и одновременно очень сложная проблема.

Цели:

Знакомство с новыми понятиями: вспомогательный алгоритм, метод последовательной детализации алгоритма, формирование навыка работы со вспомогательными алгоритмами; закрепление навыков по составления линейных алгоритмов,

Задачи:

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

Скачать:

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

Чтобы пользоваться предварительным просмотром презентаций создайте себе аккаунт (учетную запись) Google и войдите в него: https://accounts.google.com


Подписи к слайдам:

«Черепаха» - графический учебный исполнитель. « Черепаха» - графический учебный исполнитель.

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

Е Программа – это алгоритм, записанный на языке исполнителя.

1 = Н Точность. Свойство алгоритма. Точность алгоритма означает, что каждая команда должна пониматься однозначно

Алгоритм: 1.Сесть в лодку двум туристам 2.Переплыть 3.Высадить одного туриста 4.Переплыть 5.Сесть в лодку одному туристу 6.Переплыть 7.Высадить одного туриста 8.Переплыть 9.Сесть в лодку одному туристу 10.Переплыть 11.Высадиться всем туристам

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

Цель урока: формирование у учащихся понятий вспомогательный алгоритм, подпрограмма (процедура) ; умений практического применения этих понятий в среде графического учебного исполнителя. Обучающи е: знать понятия: вспомогательный алгоритм, подпрограмма (процедура) ; уметь строить алгоритмы с использованием процедуры в среде учебного исполнителя Черепашка; Развивающи е: развитие алгоритмического мышления, памяти, внимания, логического мышления, познавательного интереса, коммуникативной культуры, учебно-познавательной компетенции; Воспитательные: формировать познавательную активность; способствовать воспитанию в детях ответственности, взаимопонимания, взаимоуважения, взаимопомощи и поддержки. Задачи урока:

Основной Алгоритм алгоритм: Переправа: Сесть в лодку двум туристам Выполнить алгоритм Переправа Выполнить алгоритм Переправа Переплыть Высадиться всем туристам. Переплыть Высадить одного туриста Переплыть Сесть в лодку одному туристу

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

Основная программа: «Число 1717» нач сделай ЕДИНИЦА сделай СЕМЬ сделай ЕДИНИЦА сделай СЕМЬ кон

Описание вспомогательного алгоритма (процедуры) Определение процедуры в программе называется ее описанием. Формат описания процедуры: процедура нач кон

Процедура ЕДИНИЦА выучи единица { вперёд 100 налево 120 вперёд 30 назад 30 налево 60 вперёд 100 налево 90 перо_подними вперёд 40 налево 90 перо_опусти } Процедура СЕМЬ выучи семь { вперёд 100 налево 90 вперёд 30 налево 90 вперёд 5 назад 5 направо 90 назад 30 налево 90 вперёд 100 налево 90 перо_подними вперёд 40 налево 90 перо_опусти } единица семь единица семь

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

Домашнее задание: Выучить конспект. параграф 5, № 7 стр.32 (рисунки1,2,6).

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

Тема урока: Вспомогательные алгоритмы. Метод последовательной детализации и сборочный метод

Цели:

Знакомство с новыми понятиями: вспомогательный алгоритм, метод последовательной детализации алгоритма, формирование навыка работы со вспомогательными алгоритмами; закрепление навыков по составления линейных алгоритмов,

Задачи:

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

Тип урока : урок закрепления знаний и изучение нового материала.

Вид урока : комбинированный урок (лекция и практика).

Оборудование и программное обеспечение: презентации PowerPoint .

Структура урока:

  1. Организационный момент

II. Актуализация знаний

Групповая форма работы.

III. Теоретическая часть

Постановка проблемной ситуации. Объяснение с помощью презентации.

IV. Закрепление знаний Практическое задание.

V. Итог урока Рефлексия.

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

ХОД УРОКА

I. Организационный момент

Приветствие. Проверка присутствующих. Установление психологического и эмоционального контакта с детьми. Проверка домашнего задания.

ІІ. Актуализация опорных знаний

Учитель : мы продолжаем работать с учебным исполнителем «Черепаха». И прежде чем мы будем решать новые задачи, давайте вспомним, что мы проходили на прошлых уроках. Для этого я вам раздам листы, на которых нарисованы ребусы. Ваша задача в парах разгадать свой ребус и написать определение к получившемуся слову.

Выполнение 2 минуты.

Учитель : Давайте проверим, что получилось. (Учащиеся говорят свои ответы, учитель параллельно демонстрирует на экране ребусы).

Черепаха – графический учебный исполнитель.

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

Точность. Свойство алгоритма.

Точность алгоритма означает, что каждая команда должна пониматься однозначно.

Какие свойства алгоритмов вы знаете еще (ответы учащихся)

Программа – это алгоритм, записанный на языке исполнителя.

II. Мотивация, целеполагание, постановка проблемы

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

Вот ты (ученик) проговаривай команд, а я буду показывать вам на доске.

Алгоритм:

  1. Сесть в лодку двум туристам
  2. Переплыть
  3. Высадить одного туриста
  4. Переплыть
  5. Сесть в лодку одному туристу
  6. Переплыть
  7. Высадить одного туриста
  8. Переплыть
  9. Сесть в лодку одному туристу
  10. Переплыть
  11. Высадиться всем туристам

Какую особенность в этом алгоритме вы можете отметить?

(Учащиеся отмечают повторение команд 2-9 .)

Давайте подумаем, какой недостаток этого алгоритма.

(Потрачено много времени на написание повторяющихся команд )

Очень много времени мы потеряли на запись повторяющихся команд. Как же можно сократить запись данного алгоритма? Ответить мы сможем на данный вопрос после рассмотрения сегодняшней темы урока:

(Учащиеся записывают в тетради число и тему урока )

«Вспомогательные алгоритмы». Итак, кто сможет сказать, о чем будет идти речь на сегодняшнем уроке (ответы учащихся)

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

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

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

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

Учащиеся записывают в тетради

Вспомогательный алгоритм - это алгоритм решения некоторой подзадачи из исходной (основной) задачи.

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

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

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

IV. Закрепление

Составим алгоритм написания числа 1717 для исполнителя «Черепашка». В языке программирования Лого ключевым словом, обозначающим начало подпрограммы, является, выучи.

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

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

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

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

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

Физминутка

Давайте немного отдохнём.

Упражнения для рук и плечевого пояса:

1. Поднять плечи, опустить плечи. Повторить 6 – 8 раз. Расслабить плечи.

2. Руки согнуть перед грудью. На счет 1 – 2 – пружинящие рывки назад согнутыми руками, на счет 3 – 4 – то же, но прямыми. Повторить 4 – 6 раз. Расслабить плечи.

Упражнения для туловища и ног:

1. На счет 1-2-шаг влево, руки к плечам, прогнуться. На счет 3 – 4 – то же, но в другую сторону. Повторить 3 - 4 раза.

2. Ноги врозь, руки за голову. На счет 1 – резкий поворот налево, на счет 2 – направо. Повторить 3 - 4 раза.

Гимнастика для глаз:

1. Сядьте на стул, закройте глаза, расслабьте мышцы лица, свободно, без напряжения откиньтесь на спинку стула, положите руки на бедра (10 – 15 секунд).

2. Откройте глаза и посмотрите вдаль перед собой (2 – 3 секунды). Переведите взгляд на кончик НОСА (3 – 5 секунд). Повторите 2 раза.

Практическое задание

Написать с использованием процедур программу вывода на экран число 333

  1. Итог урока

1. Какие вопросы были поставлены перед нами?

2. Получены ли ответы на поставленные вопросы?

Рефлексия

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

  • было трудно…
  • я понял, что…
  • я научился…
  • я смог…
  • было интересно узнать, что…

Каждый ученик выбирает по 1-2 предложения и заканчивает их.

Оценивание работы учеников на уроке.

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

Выучить конспект.

параграф 5, № 7 стр.32 (рисунки1,2).


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

Затем сост-ся алгоритмы (или программы), начиная с ос­н-го алгоритма (основной программы), далее - вспомогатель­ные алгоритмы (подпр-мы) с послед-м углублением Уровня, пока не получим алгоритмы, состоящие из простых команд. Задача. Условие: дана исходная символьная строка, имеющая следующий вид: a Å b = На месте а и b стоят десятичные цифры; значком Å обозначен один из знаков операций:*,-, *. Нужно, чтобы машина вычис­лила это выражение и после знака = вывела рез-т. Операнды а и b могут быть многозначными целыми положи­тельными числами в пределах Maxlnt. Между элементами строки, а также в начале и в конце мои стоять пробелы. Прог-ма осуществляет синтаксический контроль текста. Ограничимся простейшим вариантом контроля: строка должна состоять только из цифр, знаков операций, знака = и пробела. Проводится семантический контроль: строка должна быть построена по схеме a Å b = . Ошибка, если какой-то элемент отсутствует или нарушен их порядок. Осуществляется контроль диапазона значений операндов и результата (не должны выходить за пределы Maxint). Уже из перечня требований становится ясно, что программа будет непростой. Составлять ее мы будем, используя метод после­д-й детализации. Начнем с того, что представим в самом общем виде алгоритм как линейную послед-ть этапов решения задачи: Ввод строки. Синтаксический контроль (нет ли недопустимых символов?). Семантический контроль (правильно ли построено выраже­ние?). Выделение операндов. Проверка операндов на допустимый диапазон зн-й. Перевод в целые числа. Вып-е операции. Проверка рез-та на допустимый диапазон. Вывод рез-та. Этапы 2, 3, 4, 5 будем рассматривать как подзадачи первого уровня, назвав их (и будущие подпрограммы) соответственно Sintax, Semantika, Operand, Calc. В свою очередь, для их реализации потребуется реш-е следующих подзадач: пропуск лиш­них пробелов (propusk), преобраз-е симв-й цифры в целое число (cifra). Кроме того, при выделении операндов понадобится распознавать операнд, превышающий максимально допустимое значение (Error). Первый шаг детализации. Сначала наметим все необходимые подрог-мы, указав лишь их заголовки (спецификации). На месте тела подпрограмм запишем поясняющие комментарии. Напишем осн-ю часть прогр-ы. А потом вернемся к детальному программ-ю процедур и ф-й. Второй шаг детализации. Сост-е подрог-м. Окончательно объединив тексты подпрограмм с основной прогр-й, получаем рабочий вариант программы Interpolator.

Суть метода была описана выше. Сначала анализируется исходная задача. В ней выделяются подзадачи. Строится иерархия таких подзадач (рис. 48).
Затем составляются алгоритмы (или программы), начиная с основного алгоритма (основной программы), далее - вспомогательные алгоритмы (подпрограммы) с последовательным углублением уровня, пока не получим алгоритмы, состоящие из простых команд.Вернемся к задаче «Интерпретатор», которая рассматривалась в разд. 3.16. Напомним условие: дана исходная символьная строка, имеющая следующий вид:а
b=На месте а и b стоят десятичные цифры; значком
обозначен один из знаков операций: +, -, *. Нужно, чтобы машина вычислила это выражение и после знака = вывела результат. Операция деления не рассматривается для того, чтобы иметь дело только с целыми числами.Сформулируем требования к программе Interpretator, которые сделают ее более универсальной, чем вариант, рассмотренный в разд. 3.16:1. Операнды а и b могут быть многозначными целыми положительными числами в пределах MaxInt.2. Между элементами строки, а также в начале и в конце могут стоять пробелы.3. Программа осуществляет синтаксический контроль текста. Ограничимся простейшим вариантом контроля: строка должна состоять только из цифр, знаков операций, знака = и пробелов.4. Проводится семантический контроль: строка должна быть построена по схеме а
b =. Ошибка, если какой-то элемент отсутствует или нарушен их порядок.5. Осуществляется контроль диапазона значений операндов и результата (не должны выходить за пределы MaxInt).Уже из перечня требований становится ясно, что программа будет непростой. Составлять ее мы будем, используя метод последовательной детализации. Начнем с того, что представим в самом общем виде алгоритм как линейную последовательность этапов решения задачи:1. Ввод строки.2. Синтаксический контроль (нет ли недопустимых символов?).3. Семантический контроль (правильно ли построено выражение?).4. Выделение операндов. Проверка операндов на допустимый диапазон значений. Перевод в целые числа.5. Выполнение операции. Проверка результата на допустимый диапазон.6. Вывод результата.Этапы 2, 3, 4, 5 будем рассматривать как подзадачи первого уровня, назвав их (и будущие подпрограммы) соответственно Sintax, Semantika, Operand, Calc

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

Цели урока:

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

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

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

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

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

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

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

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

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

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

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

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

План урока:

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

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

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

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

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

Ход урока

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

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

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

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

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

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

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

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

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

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

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

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

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

Например:

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

Блок-схема:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Приложение 2

Приложение 3

Приложение 4

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

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

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

Приложение 2

Приложение 3

Приложение 4



Рекомендуем почитать

Наверх