Занятие 1. Черепашка одевает костюм и
оживает
Черепашка – это программируемый
исполнитель в программе ЛогоМиры.
Для создания любых игровых, обучающих и
сказочных сюжетов черепашка может одевать
различные костюмы – «формы». Формы
черепашки находятся в закладке «рисование»
в двух разделах («картинки» и «движение»).
1. Чтобы одеть форму на черепашку, надо сначала
поставить черепашку на экран (рабочую область
программы) с помощью кнопки «создать
черепашку» на главной панели
инструментов, затем выбрать подходящую форму и
щелкнуть на спине черепашки. Предварительно
необходимо развернуть голову черепашки в нужном
направлении движения (в зависимости от формы и
сюжета) – голова поворачивается прижатой мышкой.
2. Двойная (множественная) форма черепашки
одевается следующим образом. В закладке «Движение»
панели рисования выделить первую из нужных форм,
затем с помощью прижатой клавиши Ctrlвыделить
остальные формы и щелкнуть на спине черепашки.
3. Можно редактировать имеющиеся формы:
изменять цвет, отражать по вертикали и
горизонтали, дорисовывать детали, а также можно
создавать собственные формы черепашки.
Чтобы отредактировать выбранную форму, ее
необходимо скопировать (через правую кнопку
мыши) в закладку «Формы» на правой
панели. Далее открыть её двойным щелчком.
Используя инструменты панели рисования, можно
изменять цвет, дорисовывать детали и т.д.
В верхней части окна расположены кнопки
изменения размера поля для формы, кнопки
отражения по вертикали и горизонтали, а также
окошко, где можно дать имя форме, что в дальнейшем
также будет использоваться в более сложных
заданиях. Выход осуществляется кнопкой «ОК».
4. Открывая свободную форму можно создавать
свой собственный костюм черепашки. Также можно
копировать в формы любые рисунки, превращая их в
форму черепашки. Программа допускает создание 128
форм.
Черепашка оживает
Кроме формы главное достоинство черепашки –
это то, что она может выполнять различные
команды. Простейший запуск черепашки
осуществляется через щелчок правой кнопки мыши
на спине черепашки и выбора левой кнопкой
команды «оживить».
Для создания собственного сюжета и различных
обучающих ситуаций команды «оживить»
недостаточно, поэтому она показывается только
при самом первом знакомстве с программой. В
дальнейшем необходимо, чтобы учащиеся
использовали грамотное задание любых команд
через «рюкзак черепашки».
Любая черепашка имеет свой «рюкзак»,
в котором хранятся выполняемые ею команды, ее
собственные формы и различные параметры.
Набор команд, которые может выполнять черепашка,
достаточно велик. Самые основные команды,
которые учащиеся должны освоить, работая в
программе «ЛогоМиры», представлены в таблице
«Язык Лого» и в презентациях (см. Приложение
1, Приложение 2, Приложение
3).
Простейшее движение вперед задается командой «вперед»
(коротко «вп»), где параметром является
количество шагов черепашки, или по-другому, ее
скорость.
Первый сюжет. «Море»
Простейший пример – сюжет «море».
Рисуется море и небо, ставится несколько
черепашек, которые одеваются в костюмы рыб и
кораблей (голову каждой черепашки необходимо
повернуть в нужную сторону). Для редактирования
размеров надо использовать кнопки «лупа+»
и «лупа–».
Замечание. Черепашка,
поставленная позже, будет на переднем плане,
поставленная раньше – будет на заднем плане.
Чтобы задать движение с разной скоростью, правой
кнопкой мыши щелкнуть на спине черепашки, и войти
в закладку «Правила». В верхнем окне
поля команд вписать «вп 7 жди 3». Для
другой черепашки «вп 5 жди 2», для
третьей «вп 10 жди 3» и т.д. Установить
флажок «Много раз» для постоянного
движения черепашки. Команда «жди» –
пауза – необходима, чтобы не происходило
беспрерывного мелькания черепашки на экране.
Замечание. Величина скорости
(количество шагов) и величина паузы подбираются
исходя из сюжета.
При задании движения в обратную сторону
используется команда «назад» (коротко «нд»)
с указанием числа шагов.
Замечание. При этом важно
заметить, что форма разворачиваться не будет.
Мини-проект «Улица в городе»
С помощью инструментов рисования
нарисовать широкую улицу темно-серого цвета,
сделать на ней разметку для двустороннего
движения, на тротуары добавить дома, деревья,
цветы, на небо – солнце, облака и т.д. Создать
несколько черепашек – машины, мотоциклы и т.д.,
которые движутся в разные стороны и с разной
скоростью.
Этот мини-проект дается как первый зачет в
программе «ЛогоМиры».
Замечание. Чтобы добавить оформление
улицы, использовать готовые картинки из панели
рисования и инструменты «лупа+» и «лупа–»
и «штамп».
Замечание. При задании движения в
обратную сторону используется команда «назад»
(коротко «нд») с указанием числа шагов.
При добавлении в сюжет таких объектов, которые
должны менять форму, но при этом не двигаться
(например, развевается флаг, горит костер,
раскрывается цветок) используется команда «вп
0 жди 3».
Использование готового фона
Для удобства и быстроты создания сюжета в
программе «ЛогоМиры» в панели «рисование»
есть закладка «Фон». Чтобы
воспользоваться фоном, надо щелкнуть на
выбранный фон, затем щелкнуть на рабочем поле
программы и сразу растянуть фон за один из
появившихся черных квадратиков на всю рабочую
область. Следующий шаг – это приштамповать фон,
иначе все черепашки будут спрятаны под ним(!). Фон
также можно перекрашивать с помощью панели
рисования и можно добавлять различные
элементы-картинки, приштамповывая их, когда
размер и расположение соответствует задумке
автора проекта.
Занятие 2. Текстовые окна
Текстовое окно создается через кнопку главной
панели инструментов. Размер окна определяется
при растягивании мышкой. (Для редактирования
размера окна текста необходимо мышкой выделить
область вокруг окна, появляются по углам черные
квадратики, и можно за них менять размер окна). В
параметрах окна (нажать кнопку «глаз»
на главной панели инструментов, затем щелкнуть
на имени текстового окна «текст1»)
устанавливаются галочки Видимый, С
именем, имя текстового окна
впечатывается в поле Имя.
Задание «Разложи предметы на 2 множества»
Создать два текстовых окна, одно – «фрукты»,
другое – «овощи». На рабочем поле
создать нужное количество черепашек и одеть их в
формы фруктов и овощей. Каждой черепашке в
рюкзаке в закладке «Правила» дать
следующую команду: фрукты, пиши “яблоко
или овощи, пиши “огурец (в зависимости
от той формы, которая надета на черепашку).
При
необходимости количество окон определяется
уровнем сложности задания.
Создать еще черепашек (по количеству окон), одеть
их в несложные формы (кружочек, квадратик, …), они
будут выполнять роль «ластика» для текстового
окна. В Правилах напечатать команду: фрукты,
сотри_текст или овощи, ст.
Обращение к текстовому окну идет через его
название, через запятую пишется команда. Заранее
в текстовом окне установить цвет и размер шрифта
через меню «Текст» (Текст –
шрифт, Текст – цвет).
Для того, чтобы напечатать текст самого задания
(упражнения), создать еще одно текстовое окно,
напечатать текст упражнения, в параметрах
установить галочку Видимый, Прозрачный,
снять галочку С именем. Также
добавляется текст с указанием фамилии и имени и
класса учащегося, выполнившего проект.
Аналогично, можно подобрать картинки и задания
для любого уровня сложности (например, для
русского языка – правописание сложных слов,
приставки «при-», «пре-», правописание «н»
и «нн» в различных частях речи т.д., для
биологии – классификация животных, растений, для
МХК – архитектурные сооружения, для физики –
физические явления и физические термины,
величины и т.д.)
Задание «Создать костюм черепашки в виде
текста»
Иногда требуется, чтобы костюм черепашки
состоял из какого-нибудь слова и мог двигаться
(например, падают пропущенные в словах буквы,
ответы для примеров или уравнений из математики
и т.д.). Как создать такой костюм?
Самый простой вариант, когда черепашка одета в
костюм из одной-двух букв или одной-двух цифр. Эти
костюмы создаются в поле «Формы» с
помощью инструментов рисования – для этого
двойным щелчком открыть свободную форму и с
помощью инструментов рисования создать нужную
букву или цифру.
Если же надо, чтобы на черепашке было одето целое
слово, то через поле форм это сделать трудно. Для
этого надо поступить следующим образом.
Создать текстовое окно, написать в нем нужное
слово (текст), установить необходимый размер и
цвет текста. В параметрах текстового окна
установить Прозрачный, без имени.
Взять инструмент «штамп» из панели
инструментов и приштамповать текст на рабочем
поле. Далее, вызвать панель рисования, взять
инструмент «выделение», выделить
текст (слово), через правую кнопку скопировать в
поле форм (на свободное место). Создать черепашку
и из поля «форм» одеть на нее созданный костюм.
После этого можно, как обычно, задавать черепашке
команды движения.
Занятие 3. Создание управляющей кнопки
Задание: создать проект «Лабиринт-1»
На этом занятии мы познакомимся с созданием
кнопки, а также с командами поворота «направо»
(коротко пр) и «налево»
(коротко лв) (параметром является
угол поворота в градусах – пр 90, лв 60, пр 180
и т.д.).
На
рабочем поле программы нарисовать лабиринт, у
которого стенки расположены и пересекаются под
прямым углом.
Создать две кнопки с помощью команды «создать
кнопку» из главной панели инструментов. Для
первой кнопки дать название «направо»,
инструкция «пр 90». Для второй –
название – «налево», инструкция «лв
90». Установить выполнение инструкции – один
раз. Размер кнопки определяется при
растягивании мышкой. После создания кнопки ее
размер также можно редактировать. Для
редактирования размера кнопки необходимо
выделить область вокруг кнопки, появляются по
углам черные квадратики, и можно за них менять
размер кнопки в соответствии с размером ее
названия. Название кнопки рекомендуется делать
кратким и лаконичным.
Создать черепашку (можно одеть в костюм), задать
ей небольшую скорость, например, вп 8 жди 2.
Поставить ее на «вход» в лабиринт и запустить.
Черепашка начнет двигаться по направлению своей
головы, далее в месте поворота лабиринта
использовать кнопки «направо/налево»
для управления черепашкой (напомним, поворот
черепашки осуществляется относительно ее
головы).
При желании лабиринт можно усложнить, добавив
различные препятствия.
Аналогично создается более сложный лабиринт с
бoльшим числом управляющих кнопок, например,
поворот не только на 90о, но и на 45о в каждую
сторону.
Задание: создать проект «Лабиринт-2»
В этом задании мы знакомимся с командой «новый
курс».
При задании черепашке команды поворота мы
должны учитывать расположение ее головы. Но,
когда на черепашку надет костюм, мы вообще не
видим, куда смотрит ее голова. Для того, чтобы
задать фиксированное направление движения
черепашки, удобно использовать команду «новый
курс» (коротко – «нк») с указанием
угла движения (0 – строго вверх, 90 – строго
вправо, 180 – строго вниз, 270 – строго налево).
Соответственно, возможны любые промежуточные
значения, например, вправо-вверх будет нк 45,
влево-вниз будет нк 225.
Аналогично предыдущему заданию создается
лабиринт и 4 управляющие кнопки («направо»,
«налево», «вверх», «вниз»), инструкции для
них будут – нк 90, нк 270, нк 0, нк 180.
Также возможен вариант усложнения лабиринта и
создания бoльшего количества кнопок с различными
направлениями движения.
Занятие 4. Черепашка учится рисовать фигуры
На этом уроке познакомимся еще с одной очень
полезной для различных проектов командой: «по
– перо опущено». Эта команда позволяет
оставлять след при движении черепашки по
рабочему полю программы. В результате мы можем,
комбинируя различные команды для черепашки,
задавать нужную нам траекторию движения, которая
будет прорисовываться на экране, а, по сути, мы
приближаемся к азам программирования.
Обратная команда «перо поднято – пп»
позволяет отменить рисование следа черепашки.
Простейшее знакомство с данными возможностями
начинается с задания черепашки нарисовать
простую геометрическую фигуру – квадрат или
треугольник.
Вначале для квадрата задается команда, которая в
точности прорисовывает каждую сторону квадрата: по
вп 70 жди 2 пр 90 вп 70 жди 2 пр 90 вп 70 жди 2 пр 90 вп 70.
Замечание. Пауза «жди 2»
вставляется для того, чтобы можно было глазами
следить за тем, как двигается черепашка (иначе
она моментально все рисует и глаз не успевает
уловить ее перемещение). Поворот может быть
как направо, так и налево, но черепашка будет
рисовать квадрат также либо в правую, либо в
левую сторону.
Далее мы обращаем внимание учащихся на
повторяющиеся элементы данной мини программы и
тем самым подводим их к восприятию команды
«повтори». Для квадрата команду можно
преобразовать следующим образом: по повтори
4 [вп 70 жди 2 пр 90].
Замечание. Обратите внимание на
синтаксис написания данной команды:
используются именно квадратные скобки (для этого
необходимо переключить клавиатуру на английский
язык). Важно также следить за расстановкой
пробелов, иначе программа не будет воспринимать
заданную команду.
Затем
учащимся предлагается аналогично «научить»
черепашку рисовать равносторонний треугольник.
Но сложность заключается в том, что угол поворота
при рисовании треугольника будет не 60о, а 120о,
т.к. поворот черепашки идет относительно ее
головы (т.е. говоря математическим языком, мы
должны взять «внешний угол»). Команда будет
выглядеть следующим образом: по повтори 3 [вп
80 жди 2 пр 120]. Чтобы черепашка нарисовала
треугольный флажок, необходимо вначале добавить
ей шаг просто вперед (вп 40); чтобы треугольник «не
стоял углом», надо добавить поворот – пр 30.
Аналогично подбираются команды для любых
правильных многоугольников:
шестиугольник – по повтори 6 [вп 60 жди 2 пр 60]
восьмиугольник – по повтори 8 [вп 50 жди 2 пр 45]
и т.д.
Угол поворота определяется делением 360о на
количество сторон многоугольника. При угле
поворота от 125о черепашка рисует различные
«звездочки» или многоугольники со сдвигом
сторон. Например, пятиконечная звезда должна
иметь угол поворота 144о.
Чтобы немного усложнить и разнообразить
выполнение данного задания можно познакомить
учащихся с командой «нц – новый цвет».
Эта команда позволяет саму черепашку (без
костюма) и ее след перекрашивать в различные
цвета из палитры рисования в закладке «рисование».
Номер цвета определяется при нажатии на любой
цвет и пишется под окошком выбранного цвета
(например, ярко-красный – 15, ярко-синий – 105).
Чтобы след черепашки имел бoльшую толщину,
необходимо добавить команду «нрп – новый
размер пера» и установить для нее параметр 3
или
4. Тогда полная команда будет писаться так: по
нц 115 нрп 3 повтори 12 [вп 50 жди 2 пр 30].
Для
закрепления данной темы и увеличения интереса к
азам программирования учащимся на дом дается
задание, в котором они должны написать для
черепашки команды позволяющие нарисовать
домик (квадрат + треугольник-крыша), подряд 2
или 3 квадрата, 2 или 3 треугольника и т.п. (см. Приложение 4).
На следующих уроках учащиеся учатся рисовать
круги – по повтори 360 [вп 1 пр 1]. Затем им
дается задание нарисовать круг бoльшего или
меньшего диаметра и ответить на вопрос: что надо
изменить в команде (какой параметр)? И аналогично
потом дается задание нарисовать два круга рядом
горизонтально. Ответ: один круг, начиная от
центральной точки рисуется в правую сторону,
другой – в левую). А следующий вопрос: что надо
изменить, чтобы круги были расположены
вертикально? Ответ: вначале вставить команду,
которая разворачивает голову черепашки
горизонтально (пр 90). Следующий этап –
нарисовать снеговика (3 круга).
Если же мы будем использовать не полный круг, т.е.
дугу, то мы можем создавать самые различные
узоры, цветы и т.д. Например, полкруга – по
повтори 180 [вп 1 пр 1], четверть круга – по
повтори 90 [вп 1 пр 1]. Соединяя несколько таких
команд с поворотом, например, на 180о, можно
создавать различные «лепестки» и составлять из
них цветы. (см. Приложение 5).
Похожий алгоритм используется и при создании
различных «волн». При этом заметим, что программа
«ЛогоМиры» позволяет использовать и вложенные
циклы.
Занятие 5. Создание проекта из нескольких
листов (переход с листа на лист)
Во многих серьезных проектах, созданных в
программе «ЛогоМиры» и состоящих из нескольких
листов, требуется осуществлять переход с
листа на лист. Возможности программы позволяют
сделать это несколькими способами.
1 способ. Создание кнопки
1. На панели инструментов программы выбрать
значок «Создать кнопку» и прижатой
мышкой растянуть на рабочей области программы до
нужного размера.
2. Появляется окно. В поле «Надпись»
надо напечатать название кнопки, в поле «Инструкция»
команду след_лист (коротко от
«следующий лист) (для следующего листа) или пред_лист
(коротко от «предыдущий лист») (для возврата на
предыдущий лист). Надпись (название кнопки) может
быть произвольная, но чаще всего используются
названия: вперед, дальше, лист2/3/4…,
задание2/3/4…
3. Замечание. Если размер кнопки
получился заметно больше/меньше, чем
название, то для изменения размера следует
обвести прижатой мышкой вокруг кнопки –
появятся 4 черных квадратика, прижав мышку на
любом из них, потянуть в нужную сторону для
уменьшения/увеличения размера кнопки.
2 способ. Создание кнопки
Второй способ похож на первый, но в инструкции
для кнопки можно указывать не след_лист/пред_лист,
а указывать конкретное название листа проекта.
Для того, чтобы поменять название листа,
необходимо в правой части рабочей области
программы выбрать закладку «Проект».
Откроется список листов проекта, правой кнопкой
мыши навестись на лист1 (лист2, …) и
выбрать команду «Изменить имя»,
после этого напечатать новое название листа.
Например, лист1 переименовали в начало,
тогда и в инструкции кнопки указывается начало.
Замечание. Важно следить за тем,
чтобы название листов не совпадало с именем
формы черепашки(!), т.к. в сложных проектах
совпадение имен в названиях листов и имени
черепашки приведет к сбою в работе проекта.
3 способ. Костюм черепашки
1. Создать новую черепашку, надеть на нее костюм
(один из стандартных вариантов – стрелка
вправо/влево). На самом деле можно использовать
любой костюм черепашки.
2. Открыть рюкзак черепашки, выбрать закладку «Правила»
и в поле команд написать команду след_лист
(для следующего листа) или пред_лист
(для возврата на предыдущий лист). Указатель
оставить на варианте «один раз».
4 способ. Костюм черепашки
Также как и во втором способе, можно изменить
название листа, и тогда в поле команд в рюкзаке
черепашки указывается название листа. Замечание.
Название листов проще использовать без кавычек.
Если название состоит из двух слов, то между ними
вместо пробела надо использовать символ «_»
– «нижнее подчеркивание».
Замбровская А.С.
Преподаватель информатики и ИКТ
ФГКОУ «Екатеринбургское суворовское военное училище» МО РФ
Учебно-методическое пособие для учащихся 6 класса
«Алгоритмы и программирование в среде ЛогоМиры»
ПОЯСНИТЕЛЬНАЯ ЗАПИСКА
Настоящее пособие разработано с учетом требований Фундаментального ядра содержания основного общего образования, требованиям к результатам, представленным в федеральных государственных образовательных стандартах основного общего образования и способствует формированию универсальных учебных действий в основной школе.
Согласно Рабочей программе основного общего образования по информатике и ИКТ Екатеринбургского суворовского военного училища, раздел «Алгоритмы и начала программирования» рассчитан на 14 часов и является заключительным разделом в 6 классе.
Знания основных этапов алгоритмизации, умения составлять блок-схемы и писать программы являются основанием для дальнейшего изучения программирования и алгоритмизации и входят в перечень предметных результатов согласно Федеральному государственному образовательному стандарту основного общего образования.
В связи с этим возникла необходимость разработки учебно-методического пособия по информатике и ИКТ для учащихся 6 классов, объединяющая в себе алгоритмизацию и программирование на языке Лого в среде ЛогоМиры 2.0.
Данное учебно-методическое пособие составлено на основании учебно-методических комплексов Босовой Л.Л. «Информатика» и Матвеевой Н.В. «Информатика: основы компьютерной грамоты. Начальный уровень», а так же с использованием справочного пособия «ЛогоМиры. С чего начать» и направлено на организацию опережающего обучения в ходе изучения курса информатики с дальнейшим применением полученных знаний на уроках в виде практикумов.
Алгоритмизация и программирование традиционно относятся к сложным темам курса информатики и ИКТ, однако, именно решение задач по теме алгоритмизация и программирование в максимальной степени способствуют развитию алгоритмического стиля мышления, который формирует общеучебные навыки, так как для успешного решения задачи, требующей составления алгоритма и написания программы, учащийся должен:
1) четко понять задачу, провести ее детализацию и формализацию;
2) проанализировать, к какому классу задач она относится, какими способами (алгоритмами) ее можно решить;
3) составить алгоритм решения задачи;
4) составить программу, реализующую этот алгоритм;
5) проверить, правильно ли программа работает, ту ли задачу она решает;
6) в случае обнаружения ошибки необходимо проделать все (или некоторые) вышеперечисленные действия заново с целью исправления ошибки.
Когнитивный анализ выполнения учебных задач показывает, что аналогичным способом решаются задачи по математике и физике, пишутся рефераты и доклады по любому предмету. Кроме того, все эти действия мы выполняем каждый раз, когда решаем сложные бытовые проблемы (например, ремонт в квартире), организационные проблемы (организация самоподготовки, поход) и т.д.
Цель: разработка учебно-методического пособия, направленного на развитие алгоритмического мышления учащихся.
Задачи:
образовательные:
формирование знаний об алгоритмических конструкциях;
формирование представления об основных изучаемых понятиях: исполнитель, алгоритм, команда, программа;
формирование информационной и алгоритмической культуры;
развивающие:
развитие умений составлять блок-схемы и алгоритмы для конкретного исполнителя и переводить на язык программы;
развитие логического мышления учащихся – умений выделять главное, существенное, обобщать имеющуюся информацию;
развитие умения устанавливать единые и общие признаки и свойства целого;
воспитательные:
содействовать воспитанию культуры общения, потребности в самовоспитании и саморазвитии;
содействовать развитию интереса к изучению курса информатики.
ВВЕДЕНИЕ
Хотите научиться создавать картинки и «оживлять» персонажей?! Тогда Вам необходимо познакомиться с замечательной средой ЛогоМиры и ее жителями –черепашками.
ЛогоМиры – пpекpасный инстpумент для создания компьютеpной анимации, основанной на элементаpных навыках стpуктуpного пpогpаммиpования. Элементы Лого-гpафики сейчас включены во многие языки пpогpаммиpования, такие как: Паскаль, Си и другие.
Язык программирования, используемый при работе в системе ЛогоМиры, называется Лого. «Лого» происходит от греческого «логос», означающего «слово», «мысль». Лого – универсальный язык простой в изучении, так как команды, используемые в нем, имеют понятный для учащихся вид (например, вперед, назад, направо, налево, повтори и др.).
Язык Лого был создан в 1968 году и к настоящему времени разделился на множество программных средств, представляющих среду обучения ЛогоМиры. Программная среда ЛогоМиры была разработана и реализована под руководством американского психолога Сеймура Пейперта в 1989 г. в Массачусетсом технологическом институте.
В среде ЛогоМиры используется движущийся по экрану объект – маленькое изображение черепашки, чьим движением мы можем управлять. Эта черепашка при своем перемещении оставляет на экране след, подобно движущейся по песку живой черепахе.
Необычное название – «черепашка» связано с одной из работ американского нейрофизиолога Г. Уолтера, проводившего эксперименты с маленькими роботами, которых он называл «черепашками». Позднее так был назван и первый робот, работавший под управлением компьютера и передвигавшийся по полу по командам вперед, назад, направо, налево. Название это понравилось и разработчикам языка Лого.
Среду ЛогоМиры можно назвать интегрированной, т.к. она включает в себя графический, текстовый, музыкальный редакторы, среду программирования.
Данное пособие содержит:
краткие теоретические описания по каждой теме;
примеры;
вопросы и задания по темам.
В пособии использованы условные обозначения:
-рассмотри пример самостоятельно.
– запиши и выучи.
ПОНЯТИЕ АЛГОРИТМА, ЕГО СВОЙСТВА
Алгоритм — это предписание, набор точных инструкций (команд), записанных в строгом порядке и направленных на решение поставленной задачи.
Того, кто (или То, что) выполняет алгоритм, мы называем исполнителем алгоритма.
Команды, которые может выполнить конкретный исполнитель, образуют систему команд исполнителя (СКИ).
Рассмотрим примеры алгоритмов и Исполнителей
Вдом привезли новый шкаф… То есть, шкафа как такового еще нет, на полу разложены створки, полки, шурупы и прочие детали будущего вместилища одежды и белья. Вы с отцом, следуя подробной инструкции, приступаете к сборке. Здесь инструкция выступает в роли алгоритма, а вы с отцом — его исполнителей.
На уроках математики вы выполняете разные вычисления — умножаете и делите столбиком, складываете простые дроби. В этих случаях вы являетесь исполнителями соответствующих алгоритмов.
Но исполнителем может быть не только человек. Разнообразные устройства, в том числе и компьютер, также могут выполнять заданные им алгоритмы. Например, “Луноход” — самоходный автоматический аппарат, доставленный на Луну в 1970 году, выполнял сложнейшие алгоритмы, перемещаясь по лунной поверхности и собирая необходимую людям информацию. Промышленные роботы заменяют людей на производстве, в быту на помощь хозяйкам также приходят устройства, способные действовать по заданным алгоритмам.
Для того чтобы последовательность действий считалась алгоритмом, необходимо чтобы она отвечала следующим свойствам:
П онятность: алгоритм составляется только из команд, входящих в СКИ исполнителя, т.е. понятных исполнителю.
Точность: каждая команда определяет однозначное действие.
Результативность: выполнение алгоритма должно обязательно привести к результату за конечное число шагов.
ФОРМАЛЬНЫЙ И НЕФОРМАЛЬНЫЙ ИСПОЛНИТЕЛЬ
В отличие от устройств, человек являетсянеформальным исполнителем алгоритма. Что это означает?
Во-первых, человек не выполняет алгоритм бездумно и формально, соображения здравого смысла часто берут верх, какими бы строгими ни были инструкции. Если ему скажут, идите прямо до второго перекрестка и никуда не сворачивайте, то, вряд ли он станет наступать на встречных прохожих и опрокидывать попадающиеся на пути предметы.
Во-вторых, человек, даже если он еще мал, обладает определенным жизненным опытом и чем больше этот опыт, тем менее подробным может быть алгоритм. Взрослому человеку достаточно сказать, свари кофе, не объясняя до мельчайших подробностей, как это следует делать.
В-третьих, неформальному исполнителю, как правило, известна конечная цель и он к ней стремится, порою уточняя и дополняя алгоритм.
Формальный исполнитель не обладает ни жизненным опытом, ни здравым смыслом, он не стремится к конечному результату и все инструкции алгоритма выполняет буквально, так, как они записаны в алгоритме. Поэтому такого исполнителя мы будем называтьбездумным исполнителем или БИ.
И если случится так, что наш БИ будет вести себя неразумно, выполнять что-то, не отвечающее нашим намерениям, то винить все-таки придется нам самих себя и искать неточности и ошибки в алгоритме, ведь БИ повинуется не нашим намерениям, а нашим инструкциям.
Для формального исполнителя язык общения не может быть многозначным, для таких исполнителей разрабатывают и используют специальные искусственные языки, где отдельные слова и выражения не допускают различных толкований.
ПРОГРАММА. ПРОГРАММИРОВАНИЕ
Алгоритм, описанный на языке исполнителя, называется программой.
Программирование – это процесс перевода алгоритма на язык конкретного исполнителя.
Так как разные исполнители владеют разными языками, а один и тот же алгоритм могут выполнять разные исполнители, то на основе одного алгоритма программы могут быть написаны на разных языках.
Чтобы научиться писать программы на том или другом языке, нужно изучить алфавит, словарь и грамматические правила, по которым строятся предложения в этом языке, при этом не допускаются никакие отклонения от правил написания слов и предложений, иначе исполнитель просто откажется выполнять ваши инструкции и не станет недоумевать и переживать за ошибки.
Этапы написания программы:
Рис.1. Этапы написания программы
БЛОК-СХЕМА. ПОНЯТИЕ. НАЗНАЧЕНИЕ
Б лок-схема – это графическое представление алгоритма, состоящее из геометрических фигур, соединенных между собой стрелками.
Основные блоки, используемые при составлении блок-схемы:
Блок начала (конца) алгоритма |
|
Блок ввода (вывода) значений |
|
Блок выполнения действия |
|
Блок проверки условия |
Вопросы
Что такое алгоритм, исполнитель алгоритма?
Что такое система команд исполнителя?
В чем различие между формальным и неформальным исполнителями алгоритма?
Почему для общения с формальными исполнителям разрабатывают специальные искусственные языки?
Какие блоки, используются при графическом описании алгоритма.
Задания
Имеются три емкости для жидкости – А, Б и В, вместимостью 8, 5 и 3 литра соответственно, и автомат, который может переливать жидкость из одной емкости в другую. Автомат регулируется нажатием кнопок: А→Б, А→В, Б→В, Б→А, В→Б и В→А. Емкость 8 литров полностью заполнена жидкостью, остальные две пусты. Автоматом управляет абсолютно формальный и совершенно бездумный исполнитель, понимающий только обозначения кнопок. Составьте алгоритм для этого исполнителя, с помощью которой через конечное число шагов в емкости А остается ровно 7 литров жидкости. Проливать жидкость или добавлять ее из внешнего источника не разрешается. Решение оформите в виде таблицы:
№ команды |
Команда |
Количество литров |
||
А |
Б |
В |
||
Начало |
8 |
0 |
0 |
|
… |
… |
… |
… |
… |
… |
… |
7 |
… |
… |
Конец |
Л ИНЕЙНЫЙ АЛГОРИТМ
Алгоритм, в котором все действия выполняются одно за другим (по очереди) называетсялинейным алгоритмом.
Существует два типа задач, реализующих линейный алгоритм (расчётные и бытовые). Рассмотрим примеры задач каждого типа.
Задача расчётного типа:
П ешеход идёт со скоростью 5 км/ч и проходит путь в 10 км. Сколько времени затрачивает пешеход?
Задача бытового типа:
Осуществить покупку хлеба в магазине
Блок-схема 1. Линейный алгоритм расчетной задачи
Блок-схема 2. Линейный алгоритм
бытовой задачи
Вопросы
Какой алгоритм называется линейным?
Какие типы задач реализуются линейным алгоритмом?
Задания
Объясните отличие блок-схем расчётных и бытовых задач.
Составьте блок-схему решения бытовой задачи: выполнение домашнего задания по информатике.
Составьте блок-схему решения расчётной задачи: вычислите, сколько орехов наберёт белка за 6 часов, если за 1 час она собирает 20 орехов.
По данным блок-схемам (Схема 3-4) определить типы задач и придумать к ним условия:
Блок-схема 3. Линейный алгоритмБлок-схема 4. Линейный алгоритм
АЛГОРИТМ С ВЕТВЛЕНИЕМ (РАЗВЕТВЛЯЮЩИЙСЯ АЛГОРИТМ)
В етвление – это форма организации действий, при которой в зависимости от выполнения или невыполнения некоторого условия совершается либо одна, либо другая последовательность действий.
Алгоритм в котором используется ветвление, называется алгоритмом с ветвлением или разветвляющийся алгоритм. Ветвления бывают полные и неполные.
Рассмотрим примеры выражений:
ЕСЛИ пойдет направо, ТО песнь заводит, ИНАЧЕ сказку говорит
ЕСЛИ любишь кататься, ТО люби и саночки возить.
Как вы видите, в зависимости от выполнения условия – «Пойдет налево?» и «Любишь кататься?» будет выполняться одно из предложенных действий – в первом примере: «Песнь заведет» или «сказку расскажет», во втором: «саночки нужно возить». Однако обратите внимание, что во втором примере если на условие («Любишь кататься?») будет отрицательный ответ, то никаких действий не последует – это и есть неполное ветвление.
В общем виде описание ветвления на алгебраическом языке и в блок-схемах для первого примера (для полного ветвления) можно представить следующим образом:
ЕСЛИ <условие> ТО <действие 1> ИНАЧЕ <действие 2>
Блок-схема 1. Алгоритм с ветвлением полного типа
Как видно из второго примера, <действие 2> отсутствует, следовательно, для этого случая описание ветвления (неполного ветвления) на алгоритмическом языке и в виде блок-схемы можно представить следующем образом:
ЕСЛИ <условие> ТО <действие 1>
нет
Блок-схема 2. Алгоритм с ветвлением неполного типа
А налогичным образом можно представить расчетные задачи. Например, дано следующее задание:
Если число четное, то вычесть 2, иначе прибавить 1
Обозначим число, которое нам дается для определения четности переменной «х», а число, которое получим в результате решения задания – «у».
Тогда решения задания на алгоритмическом языке примет следующий вид:
ЕСЛИ х / 2 без остатка, ТО у=х-2, ИНАЧЕ у=х+1
Нетрудно заменить, что данный алгоритм будет являться полным ветвлением, так как используются слова ЕСЛИ, ТО и ИНАЧЕ
В виде блок-схемы решение данной задачи будет выглядеть следующим образом:
Блок-схема 3. Алгоритм с ветвлением расчетной задачи
Вопросы
Какой алгоритм называется разветвляющимся?
Какие типы задач реализуются разветвляющимся алгоритмом?
Какие формы ветвления существуют и чем они отличаются друг от друга?
Задания
Объясните отличие блок-схем линейного и разветвляющегося алгоритмов.
Составьте блок-схему для поговорки: «болен – лечись, а здоров – берегись».
Составьте блок-схему для решения расчетной задачи: если число оканчивается на цифру 0, то прибавь к числу 5.
По данным блок-схемам определить типы задач и придумать к ним условия:
Блок-схема 5. Алгоритм с ветвлением
Блок-схема 4. Алгоритм с ветвлением
ЦИКЛИЧЕСКИЙ АЛГОРИТМ
Врассмотренных ранее алгоритмах действия выполняются один раз или вообще не выполняются (в алгоритме с ветвлением не всегда будут выполняться все действия). Однако часто необходимо повторить одни и те же действия несколько раз. Например, покрасить дощечки забора, пришить несколько пуговиц или вымыть всю посуду.
Многократное повторение одних и тех же действий называется циклом (повторением).
Алгоритм, содержащий цикл, называется циклическим или алгоритмом с повторениями.
Рассмотрим следующий пример: Вас попросили покрасить забор и только после этого вы можете пойти гулять. Какие действия вы должны выполнить?
Составим словестный алгоритм:
Взять краску и кисть.
Обмакнуть кисть в краску.
Покрасить доску.
Сделать шаг в сторону.
Обмакнуть кисть в краску.
Покрасить доску.
Сделать шаг в сторону.
Обмакнуть кисть в краску.
…
Убрать краску и кисть.
Пойти гулять.
Как видим, некоторые действия в данном словестном алгоритме повторяются (обмакнуть кисть в краску, покрасить доску, сделать шаг в сторону). Но до какой ситуации эти действия будут повторяться?! Думаю, все согласятся, что повторения будут до тех пор, пока не будет покрашен весь забор. Тем самым, условием проверки окончания повторяющихся действий в данном случае будет вопрос: «Забор покрашен?» или «Все доски покрашены?»
Составим блок-схему алгоритма «Покраска забора»
Схема 1. Циклический алгоритм покраски забора
Вопросы
Какой алгоритм называется циклическим?
Какие элементы блок-схемы всегда будут присутствовать в циклических алгоритмах?
Задания
Составьте блок-схему решения бытовой задачи: заучивание стихотворения.
Составьте блок-схему к следующей фразе: «Семь раз отмерь, один раз отрежь»
Придумать условие к блок-схеме:
Схема 2. Циклический алгоритм
ЗНАКОМИМСЯ СО СРЕДОЙ ЛОГОМИРЫ 2.0
П ервые шаги в программирование мы совершим в среде ЛогоМиры 2.0. Данная среда по праву называется интегрированной, так как она включает в себя графический, текстовый, музыкальный редакторы, среду программирования.
Черепашки это население ЛогоМиров. При открытии нового проекта хотя бы одна черепашка обязательно уже присутствует на листе. Она обычно находится в центре листа проекта. Если черепашка мешает рисовать, ее можно убрать с листа, вырезав ножницами (щелкнуть на инструмент «ножницы» а потом на черепаху ). Если черепашек не хватает нажмите на кнопку с черепашкой на панели инструментов, а потом на любое место своего проекта. Если надо передвинуть черепашку на другое место проекта, нажмите на нее мышкой и, не отпуская кнопки, тащите, куда надо.
Окно программы и основные инструменты
Меню рисования открывает палитру и инструменты рисования, что позволяет создавать фоновые рисунки.
Меню форм содержит «костюмы» черепашки, то есть содержит коллекцию форм, которые может принимать черепашка. Для «примерки костюма» необходимо выбрать нужную форму и щелкнуть левой кнопкой мыши по черепашки.
Поле команд позволяет записывать команды для исполнения черепашки. Команды могут быть записаны в столбик (после каждого нажатия Enter черепашка будет выполнять введенную команду, что позволяет пошагово выполнить алгоритм) или же в строку (алгоритм будет выполняться целиком после нажатия клавиши Enter)
И нструменты для создания новых объектов |
Кнопки редактирования существующих объектов |
Добавление новой черепашки |
У казатель мыши |
Добавление текста |
О ткрыть личную карточку |
Добавление мелодии |
В ырезать/удалить черепашку |
Добавление звука (речевого сообщения) |
Ш тамп |
Добавление кнопки |
У величение размера черепашки |
Добавление бегунка (регулятора) |
У меньшение размера черепашки |
Добавление видеофайла |
|
Добавление аудиофайла |
ПЕРВАЯ ПРОГРАММА. УЧИМ КОМАНДЫ ИСПОЛНИТЕЛЯ
Как уже было сказано, в среде ЛогоМиры черепашкам можно давать команды в поле команд. Задавая Черепашке команды, ею можно управлять: перемещать, поворачивать и даже изменять её свойства (например, цвет). Черепашка на экране подобна человеку с завязанными глазами, который передвигается по комнате, слепо и беспрекословно выполняя чьи-то команды. Именно с командами в этом параграфе мы и познакомимся.
Для изменения местоположения черепашки в языке Лого используются следующие команды:
в п_количество шагов – движение Черепашки вперёд
нд_количество шагов – движение Черепашки назад
Например,вп_50–Черепашка сделает 50 шагов вперёд
нд_100 – Черепашка выполнит 100 шагов назад
Для изменения направления движения используются команды с указанием угла поворота черепашки относительно исходного направления:
п р_количество градусов – поворот Черепашки направо
лв_количество градусов – поворот Черепашки налево
Например,пр_45 – Черепашка повернется на 45 градусов направо
лв_90– Черепашка повернется на 90 градусов налево
У Черепашки есть свой компас, который помогает безошибочно выбирать курс (Рис. 2). Градусы, в отличие от поворотов направо/налево отсчитываются не от текущего положения черепашки, а от фиксированного начального (нулевого) направления. Это направление соответствует северу на географических картах.
Направление стрелки указывает направление головы черепашки.
н к_количество градусов – новый курс Черепашки
Для возвращения черепашки в исходное положение (центр экрана головой вверх) используется команда домой.
Черепашка может рисовать пером, которое располагается в центре панциря. Пером управляют следующие команды:
по – перо опустить (черепашка прислоняет перо к листу, чтобы оставлять за собой след)
пп – перо поднять (черепашка отрывает перо от листа, чтобы не оставлять следа)
сг – сотри графику (экран очищается, а черепашка возвращается домой)
сотри – экран очищается, а черепашка остаётся на прежнем месте
сч– спрячь черепашку (убирает черепашку с рабочего поля)
пч– покажи черепашку (возвращает черепашку на рабочее поле)
нц_номер цвета– новый цвет (изменяет цвет черепашки)
крась– закрашивает замкнутую область, в которой находится черепашка цветом её пера
нрз_число– новый размер (меняет размер черепашки от 5 до 160)
нрп_число– новый размер пера (изменяет размер пера активной черепашки от 1 до 100)
Н етрудно заметить, что некоторые команды, например, вп, нд, пр, лв, нк, требуют уточнения данных после названия. Это числа, указывающие количество шагов или количество градусов.
Такие числа называются входными параметрами команды иливходными данными.
Если в команде, требующей входного параметра не указать его, то черепашка не поймёт, что надо делать и выдаст в Поле команд сообщение об ошибке: «Не хватает входных данных».
Вопросы
Какие команды используются для перемещения черепашки?
Какие команды используются для изменения направления черепашки?
Какие команды используются при создании рисунка?
Какие команды имеют параметры?
Задания
И спользуя известные команды, создайте следующие рисунки и ответьте на вопрос: какой тип алгоритма использовался в составленных программах?
ОРГАНИЗАЦИЯ ЦИКЛОВ НА ЯЗЫКЕ ЛОГО
В прошлом параграфе были рассмотрены программы, являющиеся линейными алгоритмами. Возможно ли использовать циклические алгоритмы, ведь существуют задания, где часть команд повторяется? Как записывается оператор цикла? Для ответа на эти вопросы рассмотрим следующий пример:
Необходимо написать программу Черепашки для построения квадрата с длиной стороны 50. Причём, после рисования квадрата, Черепашка должна вернуться в то же самое место и повернуться в том же самом направлении.
П остроим блок-схему
Блок-схема 1. Линейный алгоритм рисование квадрата
Блок-схема 2. Циклический алгоритм рисование квадрата
Программа будет выглядеть следующим образом:
по вп 50 пр 90 вп 50 пр 90 вп 50 пр 90 вп 50 пр 90 пп
Нетрудно заметить, что в данной программе происходит повторение команд: вп 50 и пр 90 4 раза.
Для того чтобы не записывать одни и те же команды несколько раз существует оператор цикла, который записывается следующим образом:
п овтори_n_[набор команд], гдеn – число повторов.
Используя оператор цикла, наша программа примет следующий вид:
по повтори 4 [вп 50 пр 90] пп
Пример:
Используя оператор цикла, составим программу рисования последовательности:
нк 90 повтори 3 [по вп 50 ппвп 20 по]
Составьте самостоятельно блок-схему к данной программе.
ПРАВИЛЬНЫЕ МНОГОУГОЛЬНИКИ
С использованием оператора цикла можно рисовать и правильные фигуры.
Ф игура называется правильной, если у неё все стороны и углы равны. Например, квадрат, правильный треугольник, шестиугольник.
Для построения правильной фигуры используется команда:
повториn [вп x пр 360/n],где n – количество углов (сторон),
x – длина стороны.
Вместо команд вп и пр могут быть использованы команды нди лв.
Составим таблицу для часто используемых многоугольников:
Фигура |
Число вершин |
Угол поворота |
Рисунок |
Треугольник |
3 |
360/3=120 |
|
Квадрат |
4 |
360/4=90 |
|
Пятиугольник |
5 |
360/5=72 |
|
Шестиугольник |
6 |
360/6=60 |
Вопросы
Что такое цикл?
Общий вид команды записи оператора цикла.
Какой многоугольник называется правильным?
Общий вид команды построения правильного многоугольника.
Задания
Используя операторы цикла и правильного многоугольника, составьте команды для построения следующих рисунков:
Обязательные задания по теме:
Дополнительные задания по теме:
Стр. 19
ЦИКЛ РИСОВАНИЯ ОКРУЖНОСТИ И ПОЛУОКРУЖНОСТИ
Окружность – это кривая, каждая точка которой равноудалена от её центра.
Если рассматривать окружность, то можно сказать, что это правильный многоугольник с большим количеством сторон. То есть для построения окружности будет справедлива рассмотренная ранее формула правильных многоугольников:
п овтори 360 [вп 1 пр 1]
Чтобыувеличить радиус окружности нужно увеличить число шагов, то есть увеличить параметр в команде вперед (вп).
Чтобыуменьшить радиус окружности нужно увеличить число градусов, то есть увеличить параметр в команде направо (пр).
Правило (только для окружности): Число повторений, умноженное на число градусов, должно равняться 360.
Аналогичным образом будет рисоваться полуокружность, за исключением только того, что нам надо «пройти только полпути». То есть повторять действия нам нужно не 360 раз, а 180 раз.
Д ля рисования полуокружности используется команда:
повтори 180 [вп 1 пр 1]
Вопросы
Что такое окружность?
Команда рисования окружности.
В чем отличия команд рисования окружности и полуокружности?
Что нужно сделать, чтобы увеличить радиус окружности (полуокружности)?
Что нужно сделать, чтобы уменьшить радиус окружности (полуокружности)?
Задания
Используя команды построения окружности и полуокружности, составьте команды для построения следующих изображений:
Обязательные задания:
Дополнительные задания по теме:
ПРОЦЕДУРЫ
Процедура – это самостоятельная часть программы, которая записывается один раз, но может вызываться несколько раз.
Процедура записывается в листе программ, а вызываться может как в личной карточке Черепашки и в поле команд, так и в листе программ при составлении другой процедуры.
Общий вид процедуры:
э то_имя процедуры–заголовок
набор команд–тело процедуры
конец–завершение процедуры
При написании процедуры необходимо строго придерживаться определенных правил:
Придумывая имя процедуре, следует придерживаться правила: имя должно говорить о содержании.
Имя процедуры, как и имя команды – это одно слово, в имени процедуры пробел недопустим.
Кроме того, имя процедуры не должно совпадать со словами из словаря Черепашки – нельзя называть процедуру, например, вперед.
В строках заголовка и завершения процедуры не должны располагаться команды.
Процедуры записываются тольков Листе программ.
При вызове процедуры в Поле команд или личной карточке Черепашки записываетсятолько её имя.
Нередко, особенно на первых шагах, может показаться, что Черепашка живет своей жизнью – вы ей задаете одну программу действий, а она действует по другой. Но не надо забывать, что Черепашка – исполнитель бездумный и выполняет она не наши намерения, а наши инструкции.
При выполнении программы могут встретиться разного рода ошибки.
Если на экране появилось сообщение об ошибке, надо его внимательно прочитать и постараться понять. Во многих случаях оно подскажет, какие исправления надо сделать.
Сложнее другая ситуация, когда сообщения об ошибке нет, но результат работы программы не тот, который мы ожидали. В таком случае надо определить место в рисунке и программе, где допущен «сбой», поставить себя на место Черепашки и выполнить на бумаге вместо нее предписанные программой инструкции.
В процессе составления программы можно использовать вложение одной или нескольких процедур в одну.
Например, рассмотрим построение следующей фигуры:
В листе программ будут записаны следующие процедуры:
это треугольник
по
повтори 3 [вп 50 лв 120]
конец
При вызове новой команды (процедуры) треугольник Черепашка нарисует только один треугольник, поэтому для рисования цветка необходимо повторить команду треугольник 4 раза. В поле программ, не удаляя написанную ранее процедуру, необходимо написать следующую процедуру:
это цветок
повтори 4 [треугольник пр 90]
конец
Теперь при написании команды «цветок» в личной карточке Черепашки или с поле команд Черепашка нарисует заданную фигуру.
Вопросы
Что такое процедура?
Общий вид записи процедуры.
Правила, применяемые при работе с процедурами.
Где записывается процедура?
Задания
Составить процедуры построения следующих рисунков:
ПРОЦЕДУРЫ С ПАРАМЕТРОМ
П осмотрев на фигуру справа, на первый взгляд кажется, нарисовать ее в Лого легко – мы уже умеем писать команды для любых правильных многоугольников, знаем команду “повтори”.
Но команды, которые нам знакомы, описывают один конкретный объект – например, квадрат с длиной стороны 60 шагов или окружность радиуса 2. В этих же фигурах повторяются не совсем одинаковые элементы. Это повторяющиеся элементы – квадраты, но они различаются длиной стороны.
Можем ли мы одной процедурой описать множество объектов?
Действительно, для перемещения Черепашки на разные расстояния мы используем одну команду вп, но меняем значения ее параметра. Мы можем дать команду вп 100 или вп 40. Также для поворота на разные углы Черепашки мы используем команды пр, лв или нк, меняя значения параметров.
Описывая какую-либо процедуру, мы тем самым расширяем словарь Черепашки, которым она владеет от рождения, имя процедуры становится новой командой, известной Черепашке. Точно также эта новая команда может иметь параметр. В качестве параметра выбирают то, что может меняться, оставляя объект тем, что он есть. Для квадрата – это длина стороны. Число вершин или угол при вершине менять нельзя, иначе квадрат перестанет быть квадратом. Если же в качестве объекта рассматривать правильный многоугольник с длиной стороны, например, 20, то изменяемой характеристикой является число вершин (сторон). У окружностей – это радиус.
Какую характеристику объекта выбрать в качестве параметра, зависит от конкретной решаемой задачи.
Объект может иметь несколько изменяемых характеристик и, соответственно, процедура – несколько параметров.
Как и для любой процедуры, работа с процедурой с параметром проходит два этапа –описание процедуры и ее вызов на выполнение.
При описании процедуры с параметром параметр обязательно указывается в строке заголовка после имени процедуры. (Не забывайте про пробел!) Параметр можно обозначать любым набором символов, перед которым ставится “:”(без пробела!). При вызове процедуры с параметром надо обязательно указать конкретное значение параметра. Если же при вызове процедуры параметр не будет указан, то появится сообщение об ошибке.
Общий вид процедуры с параметром:
э то имя процедуры :список формальных параметров– заголовок
набор команд– тело процедуры
конец–завершение процедуры
Рассмотрим, как работает процедура с параметром на примере квадрата:
Команда |
Вызов процедуры |
Результат |
это квадрат :сторона по повтори 4 [вп:сторона пр 90] конец |
квадрат20 |
|
квадрат 40 |
||
квадрат 60 |
Пример:
Вернемся к рисунку, рассмотренному в начале данной темы. Процедура для рисования данных квадратов выглядит следующим образом:
это квадраты :сторона
повтори 10 [повтори 4 [вп:сторона пр 90] пусть “сторона :сторона + 10]
конец
Вопросы
Для чего используется процедура с параметром?
Общий вид записи процедуры с параметром.
Правила, применяемые при работе с процедурами.
Где записывается процедура с параметрами? Где можно вызвать процедуру?
Сколько параметров может быть использовано в процедуре с параметром, от чего это зависит?
Задания
Составить процедуры построения следующих рисунков:
Обязательные задания по теме:
Дополнительные задания по теме:
РАЗВЕТВЛЯЮЩИЙСЯ АЛГОРИТМ НА ЯЗЫКЕ ЛОГО
В среде ЛогоМиры можно осуществлять не только линейные (следующие друг за другом) и циклические (с повторяющимися действиями) алгоритмы, но и разветвляющиеся алгоритмы. Напомню, что разветвляющиеся алгоритмы это те алгоритмы, в которых выполнение какого-либо действия зависит от выполнения или невыполнения конкретного условия.
Рассмотрим часто используемые команды в среде ЛогоМиры для организации условий:
е сли логическое_значение список_инструкций
Выполняет список инструкций только в том случае, если условие (первый входной параметр) сообщает значение да.
Пример:Черепашка разворачивается на 180° как только встретится с красным цветом:если цвет_поля = 15 пр 180
е сли_иначе логическое_значение[инструкции1] [инструкций2]
Выполняет список инструкций1, если первый входной параметр равен да. Выполняет список инструкций2, если первый входной параметр равен нет.
Пример:если цвет поля = 15 (красный), то Черепашка идёт вперёд на 50 шагов, иначе Черепашка идет назад на 50 шагов:если_иначе цп = 15 [вп 50] [нд 50]
в сегда [список-инструкций]
Бесконечно повторяет входной список инструкций. Для остановки процесса используйте команду отмени.
Пример:Черепашка бесконечно долго будет двигаться вперед: всегда [вп [1]]
ж ди_пока [логический датчик]
Компьютер будет ждать, пока входной параметр не сообщит «да», и только после этого перейдет к выполнению следующей инструкции.
Входной параметр – список инструкций, результатом выполнения которого является да или нет.
Пример:Черепашка будет двигаться вперед до тех пор, пока не придет к красному пятну на листе (у пятна Черепашка остановятся). Приставим решение в виде процедуры:
это препятствие
всегда [вп 1] жди_пока [цп = 15] пр 180
конец
останов
Останавливает все работающие процедуры и процессы, включая черепашек и кнопки. Останов может использоваться при программировании кнопки, при записи процедуры или вызываться из Поля команд.
Если останов вызывается из процедуры, то останавливает не только ту процедуру, в которой записана команда останов, но и все прочие работающие процедуры.
Пример:Все процессы остановятся как только Черепашка подойдет к красному пятну:всегда [вп 1] если цп = 15 [останов]
Вопросы
Какой алгоритм называется разветвляющимся?
Что такое условный оператор?
Какие команды используются при работе с разветвляющимся алгоритмом?
Задания
Используя описанные в данной теме команды, составьте следующие процедуры:
Черепашка движется прямолинейно. Как только она встречает преграду синего цвета, то рисует полуокружность и продолжает движение дальше.
Черепашка движется прямолинейно. Как только она встречает преграду красного цвета, то превращается в летящую птицу.
Черепашка движется прямолинейно. Как только она встречает преграду зелёного цвета, то превращается в бегущую собаку.
РАБОТА С НЕСКОЛЬКИМИ ИСПОЛНИТЕЛЯМИ
Рассматриваемая нами версия программы позволяет работать одновременно с несколькими Черепашками. Активизируются те или иные исполнители (Черепашки) следующими командами:
к аждая [список инструкций]
Все черепашки на данном листе выполняют, одна за другой, указанный список инструкций. До тех пор, пока очередная черепашка не выполнит все инструкции, следующая Черепашка ничего делать не будет.
Пример:
а) Все черепашки наденут форму 12
каждая [нф 12]
б) Каждая черепашка нарисует квадрат
каждая [повтори 4 [вп 50 пр 90]]
в) Все черепашки поползут вперед
каждая [всегда [вп 5]]
д ля [черепашка или список черепашек]
Делает активной черепашку. Входным параметром может быть список черепашек. Команды выполняются одновременно всеми указанными Черепашками.
Пример:Первая и вторая черепашки движутся вперёд на 50 шагов.
для [ч1 ч2 ] вп 50
с кажи[список черепашек] [список инструкций]
По данной команде Черепашки с указанными номерами временно активизируются только для выполнения тех инструкций, что указаны в команде.
Пример:На листе есть три черепашки с именами ч1, ч2 и ч3. Каждая черепашка по очереди напишет букву «Г»:
скажи [ч1 ч2 ч3] [вп 50 пр 90 вп 50]
Вопросы
Какие команды используются для работы с несколькими исполнителями?
Для чего необходимо использовать несколько исполнителей?
Задания
Используя описанные в данной теме команды выполните следующее задание: Расположите в углах рабочего листа следующие объекты: собака, девочка, мальчик. Задайте для них следующие команды:
Мальчик рисует окружность;
Собака бежит;
Девочка рисует два вложенных квадрата;
ПРИЛОЖЕНИЕ.
КОМАНДЫ ИСПОЛНИТЕЛЯ ЧЕРЕПАШКА
(СРЕДА ЛОГОМИРЫ 2.0)
вперед_число– движение вперед
вп_число– движение вперед
назад_число– движение назад
нд_число– движение назад
направо_число– поворот направо
пр_число– поворот направо
налево_число– поворот налево
лв_число– поворот налево
нк_число– новый курс
по – перо опустить
пп – перо поднять
сг – сотри графику
сотри– экран очищается, а черепашка остаётся на прежнем месте
сч– спрячь черепашку
пч– покажи черепашку
нц_номер цвета– новый цвет
крась– закрашивает замкнутую область, в которой находится черепашка цветом её пера
нрз_число– новый размер (меняет размер черепашки от 5 до 160)
нрп_число– новый размер пера (изменяет размер пера активной черепашки от 1 до 100)
повтори_n_[набор команд] – общий вид команды цикла
повториn [впxпр 360 / n] – построение правильного многоугольника
если логическое значение список инструкций – выполняет список инструкций только в том случае, если условие (первый входной параметр) сообщает значение да.
если_иначе логическое значение[инструкции1] [инструкций2] – выполняет список инструкций1, если первый входной параметр равен да. Выполняет список инструкций2, если первый входной параметр равен нет.
всегда [список-инструкций] – бесконечно повторяет входной список инструкций. Для остановки процесса используйте команду отмени.
жди_пока [логический датчик] – компьютер будет ждать, пока входной параметр не сообщит да, и только после этого перейдет к выполнению следующей инструкции.
останов – останавливает все работающие процедуры и процессы, включая черепашек и кнопки.
каждая [список инструкций] – все черепашки на данном листе выполняют, одна за другой, указанный список инструкций.
для [черепашка или список черепашек] –делает активной черепашку.
скажи[список черепашек] [список инструкций] – по данной команде Черепашки с указанными номерами временно активизируются только для выполнения тех инструкций, что указаны в команде.
Планируемые предметные результаты
при изучении раздела «Алгоритмы и начала программирования»:
Личностные результаты:
широкие познавательные интересы, инициатива и любознательность, мотивы познания и творчества;
готовность и способность учащихся к саморазвитию и реализации творческого потенциала в духовной и предметно-продуктивной деятельности за счет развития их образного, алгоритмического и логического мышления;
готовность к повышению своего образовательного уровня и продолжению обучения программированию;
готовность к самостоятельным поступкам и действиям, принятию ответственности за их результаты; готовность к осуществлению индивидуальной и коллективной информационной деятельности;
формирование коммуникативной компетентности в процессе образовательной, учебно-исследовательской, творческой и других видов деятельности.
Метапредметные результаты:
владение основными общеучебными умениями информационно-логического характера: анализ объектов и ситуаций; синтез как составление целого из частей и самостоятельное достраивание недостающих компонентов; выбор оснований и критериев для сравнения и классификации объектов; обобщение и сравнение данных;
владение информационным моделированием как основным методом приобретения знаний: умение создавать вербальные и графические модели, «читать» схемы, самостоятельно переводить алгоритм на язык программы;
опыт принятия решений и управления объектами (исполнителями) с помощью составленных для них алгоритмов (программ).
Предметные результаты:
умение использовать термины «объект», «среда», «исполнитель», «команда», «алгоритм», «программа», «процедура», «угол» и др.; понимание различий между употреблением этих терминов в обыденной речи и в алгоритмике;
умение составлять и «читать» блок-схемы;
умение различать системы команд исполнителей;
умение задавать углы поворота исполнителей;
умение выбирать необходимую алгоритмическую структуру;
умение составлять алгоритмы управления исполнителями и записывать их на языке программирования;
умение формально выполнять алгоритмы;
умение выделять в программе процедуры;
умение отлаживать и выполнять программу по шагам;
Формы, периодичность и порядок контроля
успеваемости обучающихся
Оценка предметных результатов в конце изучения раздела «Алгоритмы и начала программирования» проводится в форме компьютерного теста, выполненного в системе MyTestX. Тест содержит 22 вопроса, как на знание теоретического материала, так и на умение его применять. Настройки теста позволяют случайным образом выбирать 16 заданий из общего числа вопросов, при этом 7 вопросов на проверку знаний темы «Алгоритмы» и 9 – команды языка Лого.
Критерии оценивания:
Количество правильных ответов (проценты) |
Уровень |
Оценка |
85 и выше |
высокий |
5 (отлично) |
70 – 84 |
повышенный |
4 (хорошо) |
50 – 69 |
базовый |
3 (удовлетворительно) |
20 – 49 |
пониженный |
2 (неудовлетворительно) |
0 – 19 |
низкий |
1 (плохо) |
Материалы для проведения итогового контроля для 6 класса
по разделу «Алгоритмы и начала программирования»
Алгоритм – это:
последовательность действий;
основные этапы решения задач на ЭВМ;
перечисление формул для решения.
Алгоритмизация – это:
процесс разработки алгоритма для решения задач;
процесс выполнения алгоритма;
процесс выполнения действий ЭВМ.
Какой формы записи алгоритма не существует?
словесно-формульной;
графической;
описательной.
Какая фигура соответствует блоку «начало»?
ромб;
прямоугольник;
овал;
параллелограмм.
Какая фигура соответствует блоку «Ввод»?
ромб;
прямоугольник;
овал;
параллелограмм.
Какая фигура соответствует блоку «Действие»?
ромб;
прямоугольник;
овал;
параллелограмм.
Каким способом выполняется построение блок-схемы?
горизонтально слева направо;
вертикально сверху вниз;
вертикально снизу вверх.
Алгоритм, соответствующий схеме, называется:
прямой;
неразветвленный;
линейный;
безусловный.
Алгоритм, соответствующий схеме, называется:
возвратный;
многократный;
циклический;
повторный.
Алгоритм, в котором все этапы выполняются строго последовательно, называется:
линейным;
разветвляющимся:
циклическим.
Алгоритм, в котором выбирается один из нескольких путей процесса в зависимости от проверки условия, называется:
линейным;
разветвляющимся:
циклическим.
Какого типа циклов не существует?
цикл с известным числом повторений;
цикл с неизвестным числом повторений;
цикл с произвольным числом повторений.
Выберите команды движения черепашки.
вп
пр
пп
нд
Укажите команды изменения направления движения черепашки
сг
нк
лв
нд
пр
Укажите команду рисования окружности на языке Лого:
повтори 360 [вп 1]
повтори 360 [вп 1 пр 1]
повтори 360
повтори [360 вп 1 пр 1]
При закрытии проекта, содержимое листа программ…
изменяется
сохраняется без изменений
стирается
Что представляет собой тело процедуры?
список команд, записанных между заголовком и словом конец в столбик или в строчку через пробел
список команд, записанный произвольно между заголовком и словом конец
список команд, записанных между заголовком и словом конец в строчку без пробелов
Где описывается новая процедура?
в Поле программ
в Личной карточке черепашки
в Листе программ
Что является признаком завершения процедуры?
слово завершение
слово конец
слово окончание
Где можно использовать процедуру для выполнения?
можно использовать название программы в Личной карточке Черепашки
можно использовать часть инструкций в Личной карточке Черепашки
можно использовать название программы в Поле команд
можно использовать название программы в Поле форм
можно использовать название программы в другой программе
Выберите обязательные части процедуры:
заголовок
признак завершения
тело программы (инструкции)
справка программы
середина программы
Какой заголовок процедуры записан верно?
это синее море
это домой
это нов_цветок
Ключ проверки:
a
a
c
c
d
b
b
c
c
a
b
c
a, d
b, c, e
b
b
a
a
b
a, c, e
a, b, c
c
Учебно-методическое и материально-техническое обеспечение учебного предмета при изучении раздела «Алгоритмы и начала программирования»
а)Учебно-методическое обеспечение
Информатика и ИКТ. Рабочая тетрадь № 2. Начальный уровень / Под ред. Н.В.Макаровой. – СПб.: Питер, 2009.
Информатика и ИКТ. Учебник. Начальный уровень / Под ред. Н.В.Макаровой. – СПб.: Питер, 2009.
Информатика и ИКТ: рабочая тетрадь для 6 класса. Босова Л. Л. М.: БИНОМ. Лаборатория знаний, 2013.
Информатика и ИКТ: учебник для 6 класса. Гриф ФГОС. Босова Л. Л. М.: БИНОМ. Лаборатория знаний, 2014.
ЛогоМиры. С чего начать. – М.: ИНТ, 1995.
ЛогоМиры. Справочное пособие. – М.: ИНТ, 1995.
Юдина А.Г. Методическое пособие к практикуму по информатике в среде LogoWriter. – М.: Мнемозина, 1999.
Юдина А.Г. Практикум по информатике в среде Logo Writer. – М.: Мнемозина, 1999.
Яковлев И.Н. ЛогоМиры 3.0: Сборник методических материалов / И.Н. Яковлев, Е.И. Яковлева. – М.: ИНТ, 1999
б)Материально-техническое обеспечение
класс ПК (12 – 14 рабочих мест);
доска интерактивная;
среда ЛогоМиры 2.0;
тестовая система «MyTestX»;
Адрес публикации: https://www.prodlenka.org/metodicheskie-razrabotki/424614-algoritmy-i-programmirovanie-v-srede-logomiry
Цель урока:
закрепить умение составлять программы в среде ЛогоМиры используя линейный и циклический алгоритм.
Задачи урока:
Образовательные:
Закрепить представление об алгоритме;
Систематизировать знания интерфейса среды программирования ЛогоМиры 2.0;
Формировать умение применять знания на практике;
закрепить умение решать задачи на составление программ с линейным и циклическим алгоритмом;
формировать умения приводить примеры, анализировать, сравнивать, делать выводы
Развивающие:
развивать познавательный интерес;
формировать информационную культуру;
развивать коммуникативные умения и навыки.
Воспитательные:
воспитывать самостоятельность, целеустремлённость;
воспитывать дружелюбное отношение друг к другу, умение работать в паре.
Тип урока: урок применения знаний и умений.
Формы работы учащихся на уроке: устная, письменная, практическая работа на компьютере в парах.
Оборудование: компьютерный класс, мультимедийный проектор, интерактивная доска.
Год обучения: 2 год
Возраст учащихся: 6 класс
Программное обеспечение: ЛогоМиры 2.0
Межпредметные связи: математика, ИЗО, черчение.
План урока
Орг. этап – 2 минуты
Сообщение темы, цели и задач урока – 2 минуты
Осмысление содержания и последовательности применения практических действий при выполнении предстоящих заданий – 3 минуты
Самостоятельное выполнение учащимися заданий – 30 минут (выполнение теста -10 мин. практическая работа за компьютером-20 мин).
Обобщение и систематизация результатов выполненных заданий -5 минут
Подведение итогов урока – 3 минуты
Ход урока
Включена интерактивная доска.
На 1 листе изображена блок-схема линейного алгоритма; на 2 листе – черепашка, исполнитель среды программирования ЛогоМиры 2.0; на 3 листе – тема урока.
1.Организационный этап
Здравствуйте. Улыбнитесь друг другу. Подарите и мне свои улыбки. Спасибо. Ваши улыбки располагают к приятному общению, создают хорошее настроение.
2.Формулировка темы урока. Постановка цели урока.
Посмотрите на доску. Что вы видите? (показываю 1 лист). А это?(2 лист). А теперь, попробуйте предположить тему сегодняшнего урока. (Ученики предлагают варианты). После ответов раскрывается 3 лист.
Тема урока: Алгоритм в ЛогоМирах.
А теперь давайте определим цель и задачи урока (проговаривают). Сегодня на уроке вы должны показать знания, полученные вами на предыдущих уроках и умение применять эти знания на практике.
3.Осмысление содержания и последовательности применения практических действий при выполнении предстоящих заданий.
Посмотрите, перед вами лежит тест и рабочий лист. Вначале вы выполните тест, а затем приступите к выполнению заданий, которые прописаны на рабочих листах. Посмотрите на тест. Есть у вас вопросы по его выполнению?
А теперь возьмите рабочий лист и внимательно посмотрите на задания. (концентрируется внимание учащихся на заданиях, и даются рекомендации по их выполнению).
Внимательно читайте задания, и вы достигнете хороших результатов. Приступайте к выполнению теста.
4.Самостоятельное выполнение учащимися заданий
1.Выполнение теста (приложение 1); часть учащихся выполняют электронный тест (приложение 2);
2.Практическая работа за компьютером в парах (приложение 3);
5.Обобщение и систематизация результатов выполненных заданий
Демонстрация выполненных заданий на интерактивной доске. Указание на ошибки и недочёты.
6.Подведение итогов урока оценивание работы учащихся на уроке и выставление отметок.
Рефлексия (приложение 4)
Выходя из класса, прикрепите, пожалуйста, смайлик, соответствующий вашему настроению от сегодняшнего урока:
Всё понял и всё успел выполнить.
Всё понял, но не всё успел выполнить.
Ничего не понял и ничего не успел.
Весь материал – в архиве.