Сдавался/использовался | Уральский государственный педагогический университет, преп. Грохульская Н.Л., "5". Екатеринбург, 2002г. |
Загрузить архив: | |
Файл: ref-12630.zip (430kb [zip], Скачиваний: 92) скачать |
Министерство образования Российской Федерации
Уральский государственный педагогический университет
Кафедра информатики и ВТ
Организация изучения основных алгоритмических конструкций в среде Лого Миры
ВЫПУСКНАЯ РАБОТА
Исполнитель: студентка 5 курса
Заочного отделения
Информатики и ВТ
Факультета УрГПУ
Научный руководитель:
Кандидат педагогических наук
Доцент кафедры информатики
и вычислительной техники
Грохульская Наталья Леонидовна
Екатеринбург 2002
СОДЕРЖАНИЕ: TOC o h z
Глава 1. Язык Лого и его применение в преподавании информатики........... PAGEREF _Toc12091480 h 7
Применение Лого для внешкольной работы по информатике..................... PAGEREF _Toc12091486 h 18
Обзор публикаций о применении Лого в учебном процессе школы........... PAGEREF _Toc12091487 h 20
ГЛАВА 2. Решение вычислительных задач в среде Лого Миры................. PAGEREF _Toc12091490 h 32
Понятия, которыми можно манипулировать в среде Лого Миры............... PAGEREF _Toc12091492 h 33
Web-плеер) позволит посетить страницу проекта прямо в сети через браузер. С момента своего рождения в 1967 году в Лаборатории Искусственного Интеллекта Массачусетского технологического института язык программирования Лого, сохраняя, неизменными свои основные черты, постоянно развивается и совершенствуется. Особенно популярен Лого как начальный язык программирования. Благодаря таким его качествам как доступность языка, быстрое написание программ, наглядность, т.е. к составлению программ учащийся может приступить, в начале обучения. Однако Лого используют и профессиональные программисты.
Язык системы Лого Миры представляет собой неформальное описание языка программирования Лого. Язык Лого, как и большинство языков программирования, имеет много диалектов. Примитивы Лого Миры включает в себя описание всех примитивов (основных команд и операций) языка Лого.
Понятия, которыми можно манипулировать в среде Лого Миры
Объекты: проекты, листы проекта, черепашки, рабочее поле, текстовые окна, кнопки, бегунки, формы, рисунки, звуковые фрагменты, внешние мультимедиа объекты.
Общие свойства объектов: цвет, размер, положение на Рабочем поле. Приватные свойства объектов – в зависимости от типа. Например, Рабочее поле может занимать часть экрана (режим разработки) или весь экран – (режим демонстрации).
Действия объектов: создавать, удалять, менять свойства (передвигать, менять цвет, размер и т.п.). Все общие действия могут выбираться визуально на панели инструментов или описываться программно. Встроенный редактор для создания рисунков, встроенный редактор для создания звукового фрагмента.
Интерфейс: обычный для любого приложения Windows – окно, основное меню, панели инструментов. Команды и программы выполняются в режиме интерпретации, поэтому на экране – Рабочее поле и Командный центр.
Язык: классический Лого, в который добавлены инструменты для работы с объектами.
Типы данных: числа, включая числа с плавающей точкой, слова, списки, объекты. Возможен импорт и экспорт текста, графики через буфер обмена Windows, а также связывание с другими мультимедиа объектами.
Алгоритмические конструкции: процедуры, функции, циклы разных видов, разветвление, описание процессов.
Демонстрация проекта: включен инструмент для демонстрации проектов - плеер, занимающий мало места.
Помощь: база данных, содержащая справочную информацию, в формате HELP Windows.
Дидактические материалы: предлагаются готовые проекты для демонстрации, заготовки для дальнейшей разработки, некоторые идеи для реализации.
Лого Миры можно запустить с помощью ярлыка на Рабочем столе Windows или через главное меню (Программы Лого Миры)
Рис.1 Графический экран системы Лого Миры |
Графический экран системы Лого
Графический экран системы Лого состоит из 3-х окон:
Графическое окно - предназначено для действий "черепашки" и оставляемых ею рисунков.
Командное окно - предназначено для ввода команд адресованных только "черепашке", а также команд перехода в тот или иной режим команд, обращенных к системе Лого.
Приборное окно - показывает значения основных параметров, характеризующих состояние Черепашка:
Команды Листы®Программы осуществляют переход от графического к текстовому экрану.
В Лого предусмотрена работа в следующих режимах:
1.
Рис.2. Тестовый экран системы Лого Миры |
Рис.3.Меню Листы |
2. Режим подготовки и исправления текста программы в текстовом экране (рис.2), предназначен для создания и редактирования текста программ.
Переход от графического экрана к текстовому осуществляется с помощью меню (рис.3).
Можно выделить две основные группы команд:
1. управления движением Черепашка;
2. управления системой.
3. Команды управления движением Черепашка
Могут задаваться как в графическом, так и в текстовом экране. К ним относятся:
1. Базовые команды движения и рисования;
2. Команда цикла (повторения);
3. Команда процедура (подпрограммы);
4. Команда изменения переменных;
5. Команда выбора (ветвления);
6. Рекурсивные команды.
Команды относительного перемещения
Для перемещения Черепашки вперед и назад служат команды:
FD |
FORWARD |
ВПЕРЕД |
BK |
BACK |
НАЗАД |
После команды нужно указать, на сколько шагов должна продвинуться Черепашка. Например, FD 50 (Черепашка продвинется на 50 шагов вперед) или BK 100 (Черепашка продвинется на 100 шагов назад). Между командой и числом - пробел.
Команды управления пером
PU |
PEN UP |
ПОДНЯТЬ ПЕРО |
PD |
PEN DOWN |
ОПУСТИТЬ ПЕРО |
Двигаясь по рабочему полю Черепашка оставляет за собой прямую линию словно рисует пером. Пером можно управлять, используя вышеперечисленные команды.
Команды поворота Черепашки
RT |
RIGHT |
НАПРАВО |
LT |
LEFT |
НАЛЕВО |
Эти команды требуют обязательного параметра - угла поворота в градусах. Например, LT 90 (Черепашка поворачивается налево на 90 градусов), RT 120 (Черепашка поворачивается направо на 120 градусов).
Команды работы с цветом
До сих пор Черепашка рисовала белым по черному. В нашем распоряжении есть еще 14 цветов - всего их 16, оттенков 123. Цвета пронумерованы от 0 до 139. Номер черного цвета - 9; номер белого - 0. Чтобы изменить цвет Черепашки (и цвет ее пера), нужно дать команду:
SETC |
SET_COLOR |
НОВ_ЦВЕТ |
и через пробел указать номер цвета. Например, после выполнения команды SETC 15 Черепашка станет красной, и будет оставлять такой же след. Для закраски частей экрана служит команда FILL (КРАСЬ). Черепашка, получив эту команду, заливает экран той же краской, какой покрашена сама (если перо Черепашки опущено). Чтобы Черепашка закрасила контур, необходимо выполнить следующие действия:
поднять перо |
переместить Черепашку внутрь контура |
опустить перо |
дать команду FILL |
Рис.4. Поле команд |
Команда SETPENSIZE [ширина] - устанавливает размера пера. Перо всегда имеет прямоугольную форму. Например, setpensize 4
Стирание графики
Для того, чтобы стереть рисунок, но сохранить положение Черепашки, применяется команда:
CLEAN |
СОТРИ |
Для восстановления исходного состояния графического экрана – рисунок стирается, Черепашка в исходном состоянии:
CLEARSCREEN |
CS |
СГ |
Последовательность команд - программа для Черепашки
Можно управлять Черепашкой, нажимая клавишу ввода после каждой команды. Если же записать подряд несколько команд (отделяя, их друг от друга пробелом) и только после этого нажать клавишу ввода, то Черепашка быстро выполнит команды одну за другой.
Например: FD 100 RT 90 FD 50 RT 90 FD 50 RT 90 FD 50.
Команда REPEAT (повторить)
При написании программ нередко приходится многократно повторять одни и те же команды. Для того, чтобы ускорить процесс написания программ предусмотрен специальный оператор цикла. Он позволяет строить программу из более крупных "блоков", избегая переписывания повторяющихся команд.
Циклом (повтором) называется такая форма организации действий, при которой одна и та же последовательность действий совершается несколько раз до тех пор, пока выполняется необходимое число раз.
В языке Лого оператором цикла является команда REPEAT (повторить).
REPEAT число раз [ действие 1 , ... , действие n ]
ПОВТОРИ число раз [ действие 1 , ... , действие n ]
Здесь можно выделить такие составные части:
· Собственно оператор REPEAT (повторить);
· Указатель количества повторений (число раз);
· Указатель начала цикла ( [ );
· Повторяющаяся цепочка команд (действие 1 , ... , действие n);
· Указатель конца цикла ( ] ).
Прочитав, в наборе команд REPEAT Черепашка ищет указание числа повторений. Запомнив его место, Черепашка будет выполнять команды, пока не встретит указатель конца цикла - правую квадратную скобку. После этого Черепашка возвращается к началу цикла и проверяет, выполнила ли она цикл заданное число раз. Если нет, то она продолжает выполнять цикл, в противном случае (если она уже выполнила цикл задуманное число раз) Черепашка начинает выполнять команды, расположенные после квадратных скобок. Таким образом, тело цикла выполняется задуманное число раз.
Построение процедур (подпрограмм)
Любое изображение, которое нарисует Черепашка, можно получить с помощью базовых команд. Но бывает необходимо выполнить несколько раз большие фрагменты программы. Чтобы избежать утомительного повтора, можно этот фрагмент оформить как (подпрограмму) процедуру для многократного использования. Для этого сначала этому фрагменту дают новое название, а затем используют его как имя команды для вызова в программе.
ТО < имя команды > < описание фрагмента > END |
ЭТО < имя команды > < описание фрагмента > КОНЕЦ |
Таким образом, можно определить любую процедуру, при этом следует соблюдать следующие правила:
· нельзя называть процедуры словами, за которыми в Лого закреплено определенное значение, такие слова называются служебными.
· название должно содержать не больше 15 символов и состоять из одного слова.
В остальном слова могут быть любыми.
Обязательно:
· Сначала идут все процедуры, потом - основная программа.
· ТО ... END - только для подпрограмм.
· Основная программа оформляется как подпрограмма. Для запуска ее необходимо указать только имя.
Переменные величины
В курсе школьной математики изучают переменные величины, и числа в математике часто обозначаются буквами.
Например: x=a+b, где a и b – переменные.
В языке Лого переменная - это любая последовательность символов (букв и цифр), начинающаяся с буквы. Она не должна содержать в себе пробел и должна быть больше 16 символов.
Признаком переменной является символ ":", с которого обязательно начинается переменная. Например: :A :N1 :INZ5
Оператор присваивания
: <переменная> = <арифметическое выражение>
Арифметическое выражение включает в себя константы, переменные, знаки арифметических действий ( +, -, *, / ) и скобки.
:А = 25 |
:N = :N + 1 |
:B = 125 * ( :M + 1 ) / 100 |
:C = 270 * :N |
В Лого работает только целая арифметика. Поэтому, результатом деления является целая часть частного.
Команды и процедуры с параметрами
В Лого переменные могут использоваться в качестве параметров движения Черепашка, для управления последовательностью действий Черепашка, в процедурах с параметрами и в рекурсивных командах.
Базовые команды Черепашка (FORWARD, RIGHT, REPEAT и пр.) состоят из команды (оператора) и параметра (операнда). В качестве параметров использовали число (пример "квадрат", здесь три команды с параметром: REPEAT 4, FORWARD 50, RIGHT 90). Можно в качестве параметра команды использовать переменную, а не число. Допустим, нужно нарисовать квадраты с разной (переменной) стороной. В этом случае в команде FORWARD в качестве параметра используем переменную: FORWARD :X
Команда выбора (ветвление) в Лого
В некоторых случаях необходимо определить условие тех или иных действий, выполняемых Черепашка. Для этого используется команда выбора IF (ЕСЛИ)
IF <условие> [ < команда или серия команд, если условие выполняется > ] [ < команда или серия команд, если условие не выполняется >] |
ЕСЛИ <условие> [ < команда или серия команд, если условие выполняется > ] [ < команда или серия команд, если условие не выполняется >] |
Условие имеет вид отношения, при этом используются обозначения:
< - меньше, <= - меньше или равно,
- больше, >= - больше или равно,
= - равно, < > - не равно.
В случае записи условных операторов нужно:
· не забывать про квадратные скобки;
· записывать по одному оператору на строке.
В этом случае запись условного оператора становится более наглядной и человеку удобно читать и понимать программу, может иметь место многократная вложенность команд IF.
В предыдущих разделах были использованы подпрограммы-процедуры, которые вызывались по мере необходимости. Рассмотрим процедуру, которая называется рекурсией. Суть рекурсии заключается в том, что в ходе ее выполнения процедура сама вызывает себя.
Заметим, что такая возможность имеется далеко не во всех языках программирования. К, примеру, Бейсик рекурсии не имеет, а в Лого - это наиболее употребляемый прием.
Можно провести аналогию с обычной записью математических выражений и порядком их вычисления.
В число Лого входят операции (стандартные функции) SQRT, SIN, COS (извлечение квадратного корня, синус и косинус от градусного аргумента). А вот стандартная функция тангенс отсутствует. Для описания функций служит специальная команда – OP (out put – вывести, считать результатом). Она прекращает выполнение процедуры и возвращает значение аргумента.
Управление системой Лого осуществляется в графическом экране. Соответствующие команды задаются в графическом (командном) окне.
Рис.5. Меню Файл |
· Alt+R – выполняет выделенный текст или список инструкций.
Команды сохранения и загрузки программы
· Открой проект (Alt+N) - сохраняет на системном носителе текст записанной программы в файле <имя>.mw2 (рис.5).
· Alt+O – открывает существующий проект.
· Сохрани проект - считывает с системного носителя файл с именем <имя>.mw2 (рис.5).
Команды печати созданных рисунков
· Печатай проект - выводит созданный в Лого рисунок на принтер (рис.5);
· Печатай лист …. – выводит на принтер весь лист (рис.5);
Диагностика ошибок
Если при выполнении программы или
команды возникла ошибка, то на экране появляется текст (в поле команд) - это
диагностическое сообщение об ошибке, которое выводится на русском языке. Место
ошибки в программе указывается после перехода в текстовый экран и нажатием
клавиши
Понятие алгоритма такое же основополагающее для информатики, как и понятие информации. Именно поэтому важно в нем разобраться.
В математике для решения типовых задач используются определенные правила, описывающие последовательности действий. Например, правила сложения дробных чисел, решения квадратных уравнений и т. д. Обычно любые инструкции и правила представляют собой последовательность действий, которые необходимо выполнить в определенном порядке. Для решения задачи надо знать, что дано, что следует получить и какие действия и в каком порядке следует для этого выполнить. Предписание, определяющее порядок выполнения действий над данными с целью получения искомых результатов, и есть алгоритм.
Алгоритм — заранее заданное понятное и точное предписание возможному исполнителю совершить определенную последовательность действий для получения решения задачи за конечное число шагов.
Понятие алгоритма является не только одним из главных понятий информатики, но одним из главных понятий современной науки. Более того, с наступлением эры информатики алгоритмы становятся одним из важнейших факторов цивилизации [56].
Исполнитель алгоритма — это некоторая абстрактная или реальная (техническая, биологическая или биотехническая) система, способная выполнить действия, предписываемые алгоритмом.
Исполнителя характеризуют:
· среда;
· элементарные действия;
· система команд;
· отказы.
Среда (или обстановка) — это "место обитания" исполнителя. Например, для исполнителя Черепашка среда — это бесконечное поле. Края поля тоже часть среды, а их расположение и положение самой Черепашки задают конкретное состояние среды.
Система команд. Каждый исполнитель может выполнять команды только из некоторого строго заданного списка — системы команд исполнителя. Для каждой команды должны быть заданы условия применимости (в каких состояниях среды может быть выполнена команда) и описаны результаты выполнения команды. Например, команда Черепашки "ВПЕРЕД" может быть выполнена, если рядом с Черепашкой нет края поля. Ее результат — смещение Черепашка на один шаг вперед.
После вызова команды исполнитель совершает соответствующее элементарное действие.
Отказы исполнителя возникают, если команда вызывается при недопустимом для нее состоянии среды.
В информатике универсальным исполнителем алгоритмов является компьютер.
Основные свойства алгоритмов:
Понятность — исполнитель алгоритма должен понимать, как его выполнять. Иными словами, имея алгоритм и произвольный вариант исходных данных, исполнитель должен знать, как надо действовать для выполнения этого алгоритма.
Дискретность (прерывность, раздельность) — алгоритм должен представлять процесс решения задачи как последовательное выполнение простых (или ранее определенных) шагов (этапов).
Определенность — каждое правило алгоритма должно быть четким, однозначным и не оставлять места для произвола. Благодаря этому свойству выполнение алгоритма носит механический характер и не требует никаких дополнительных указаний или сведений о решаемой задаче.
Результативность (или конечность) состоит в том, что за конечное число шагов алгоритм либо должен приводить к решению задачи, либо после конечного числа шагов останавливаться из-за невозможности получить решение с выдачей соответствующего сообщения, либо неограниченно продолжаться в течение времени, отведенного для исполнения алгоритма, с выдачей промежуточных результатов.
Массовость означает, что алгоритм решения задачи разрабатывается в общем, виде, т.е. он должен быть применим для некоторого класса задач, различающихся лишь исходными данными. При этом исходные данные могут выбираться из некоторой области, которая называется областью применимости алгоритма. [Светозарова Г.И., Мельников А.А., Козловский А.В.]
На практике наиболее распространены следующие формы представления алгоритмов:
· словесная (запись на естественном языке);
· графическая (изображения из графических символов);
· программная (тексты на языках программирования).
Словесный способ записи алгоритмов представляет собой описание последовательных этапов обработки данных. Алгоритм задается в произвольном изложении на естественном языке.
Например. Записать алгоритм нахождения наибольшего общего делителя (НОД) двух натуральных чисел (алгоритм Эвклида). [диплом стр.21]
Алгоритм может быть следующим:
1.
2.
3.
4.
5.
Словесный способ не имеет широкого распространения, так как такие описания.
Графический способ представления алгоритмов является более компактным и наглядным по сравнению со словесным.
При графическом представлении алгоритм изображается в виде последовательности связанных между собой функциональных блоков, каждый из которых соответствует выполнению одного или нескольких действий.
Такое графическое представление называется схемой алгоритма или блок-схемой. В блок-схеме каждому типу действий (вводу исходных данных, вычислению значений выражений, проверке условий, управлению повторением действий, окончанию обработки и т.п.) соответствует геометрическая фигура, представленная в виде блока. Блоки соединяются линиями переходов, определяющими очередность выполнения действий. В таблице приведены наиболее часто употребляемые символы.
Обозначение и пример заполнения |
Пояснение |
Вычислительное действие или последовательность действий |
|
Проверка условий |
|
Начало цикла |
|
Вычисления по подпрограмме, стандартной подпрограмме |
|
Ввод-вывод в общем виде |
|
Начало, конец алгоритма, вход и выход в подпрограмму |
|
Вывод результатов на печать |
Алгоритмы можно представлять как некоторые структуры, состоящие из отдельных базовых (т.е. основных) элементов. Естественно, что при таком подходе к алгоритмам изучение основных принципов их конструирования должно начинаться с изучения этих базовых элементов.
Логическая структура любого алгоритма может быть представлена комбинацией трех базовых структур: следование, цикл, ветвление.
Рис.1 |
начало |
Ввод а, b |
X=0-b/a |
Вывод х |
конец |
Рис.2 |
Применение этой структуры рассмотрим на примере 1.
Пример 1. Найти корень линейного уравнения вида ах+b=0.
Рис.3. Решение примера 1 |
Для
запуска программы в командном поле введем имя программы – УРАВНЕНИЕ и нажмем
клавишу
В появившемся диалоговом окне введем значение для коэффициента А=2, во втором – В=5. В третьем диалоговом окне появится значение рассчитанного параметра Х=-2,5.
Пример 2. Тело движется прямолинейно с ускорением а м/с2 и начальной скоростью u м/с. Требуется определить, какой путь пройдет тело за Т секунд. [Гейн А.Г., Житомирский В.Г., стр.15].
начало |
Ввод v0, t, a |
S=v0t+at^2/2 |
Вывод S |
конец |
Рис.4. Блок-схема решения примера 2, его реализация на языке Лого, вид окна с ответом в среде Лого; |
Описание и использование функций
В число Лого входят стандартные функции: SQRT - квадратный корень, SIN - синус, COS - косинус градусного аргумента, POWER - квадрат.
Рис.5 . Решение уравнения |
Рис. 6 . Решение уравнения |
Произведем вычисления tg :
Для нахождения модуля числа решим уравнение вида:
Рис. 7 . Решение уравнения |
2. Базовая структура "цикл"
Обеспечивает многократное выполнение некоторой совокупности действий, которая называется телом цикла. Предписывает выполнять тело цикла до тех пор, пока выполняется условие, записанное после слова пока.
Рис.8. Блок-схема решения примера 3, его реализация на языке Лого, вид окна с ответом в среде Лого; |
Повторить 5 раз |
Начало цикла |
а=а+1 |
Вывод а |
Конец цикла |
Можно заметить, что команды (пусть "a :a + 1, сообщи :a), повторяются 5 раз, следовательно применив структуру «Цикл» получим блок-схему применимо к рассматриваемому примеру 3 (рис.8). При вводе А=1, производится операция сложения А+1 и повторяется 5 раз, что в результате получаем А=5.
Принцип действия: прочитав, в наборе команд REPEAT Черепашка ищет указание числа повторений – указатель начала цикла «[». Запомнив его место, Черепашка будет выполнять команды, пока не встретит указатель конца цикла - «]». После этого Черепашка возвращается к началу цикла и проверяет, выполнила ли она цикл заданное число раз. Если нет, то она продолжает выполнять цикл, в противном случае (если она уже выполнила задуманное число раз) Черепашка начинает выполнять команды расположенные в квадратных скобках. Таким образом, тело цикла выполняется задуманное число раз.
Цикл с изменяющейся переменной для печатания числовых рядов могут быть построены по одной единой схеме. Сначала команды присваивания ПУСТЬ (MAKE) заводится новая переменная и ей присваивается начальное значение. Затем начинаются, повторения – многократно выполняется один и тот же набор действий. В этом наборе обязательно есть действие изменения значения переменной.
В такой программе команда присваивания ПУСТЬ (МАКЕ) встречается дважды. Первый раз при начальной установке переменной (а=0), второй раз – в цикле, при изменении значения переменной (а=а+1).
Первая команда присваивания выполняется один раз, вторая – многократно. При изменении переменной в цикле используется ее же предыдущее значение. Поэтому в команде ПУСТЬ "а :а + 1 (MAKE "а :а + 1) переменная упоминается дважды (присвоить переменной с именем “a” то значение, которое сейчас имеет переменная – “a”, увеличенное на единицу). Сначала упоминается имя, а затем – значение.
Повторить 4 раза |
Начало цикла |
Ввод а, в |
Y=a+b |
Вывод Y |
Конец цикла |
Рис.9. Блок-схема решения примера 4, его реализация на языке Лого, вид окна с ответом в среде Лого; |
Команда (пусть "y :a + b, сообщи :y), повторяются 4 раза, следовательно применив структуру «Цикл» получим блок-схему применимо к рассматриваемому примеру 4 (рис.9). При вводе А=12, а B=24 производится операция сложения А+B и повторяется 4 раза, что в результате получаем y=36.
Пример 5. Вычислить 5 раз значения X=i3, Y=X/2 и вывести значения на экран.
Сначала команды присваивания ПУСТЬ заводится новая переменная I и ей присваивается начальное значение. Затем начинаются, повторения – многократно выполняется один и тот же набор действий. В этом наборе обязательно есть действие изменения значения переменной. Команда (пусть "y :x / 2, сообщи :y, пусть “x :I * :I * :I ,сообщи :x ), повторяются 5 раз, следовательно применив структуру «Цикл» получим блок-схему применимо к рассматриваемому примеру 5 (рис.10). При выводе значений :y и :x производится операция возведения :x в степень, а :y=x/2 , что в результате получаем y=32, x=64.
Повторить 5 раза |
Начало цикла |
Ввод i |
X=i3 , Y=X/2 |
Вывод Y |
Конец цикла |
Рис.10. Блок-схема решения примера 5, его реализация на языке Лого, вид окна с ответом в среде Лого; |
Это такой цикл, когда тело цикла отсутствует, т.е. после слова REPEAT в квадратных скобках ничего не стоит.
Например: REPEAT 1000 [ ]
Если ввести эту команду в ЭВМ, то Черепашка какое-то время не будет реагировать на команды, а будет 1000 раз выполнять НИЧЕГО. Иногда это полезно, потому что обеспечивает паузу между выполнением команд.
Это можно рассмотреть на примере 6.
Пример 6. Вывести две фразы “СЕГОДНЯ ПРЕКРАСНАЯ ПОГОДА” с паузой, затем фразу “ВСЕМ ПРИВЕТ”.
Рис.11. Решения примера 6, его реализация на языке Лого, вид окна с ответом в среде Лого |
3. Базовая структура "ветвление"
Обеспечивает в зависимости от результата проверки условия (да или нет) выбор одного из альтернативных путей работы алгоритма. Каждый из путей ведет к общему выходу, так что работа алгоритма будет продолжаться независимо от того, какой путь будет выбран. Структура ветвление существует в четырех основных вариантах: если—то; если—то—иначе;
1. если—то |
||
Обеспечивает ветвление (не полная форма). Если условие истинно, то выполняются действия, указанные в списке. |
If Если |
|
2. если—то—иначе |
||
Обеспечивает ветвление (полная форма). Если условие истинно, то выполняется первое действие, если условие ложно – выполняется второе действие. |
Ifelse Если_иначе |
|
начало |
Ввод x |
Y=sin(x) |
Вывод y |
конец |
x>0 |
Рис.11. Блок-схема решения примера 7, его реализация на языке Лого, вид окна с ответом в среде Лого; |
На примере 7 наглядно показано ветвление (“ЕСЛИ” не полная форма).
Если условие истинно, то выполняются действия, указанные в программе. Вычисления выполняются командной строкой [пусть :y sin (:x)],затем если условие выполнено, выводится “y”.
начало |
Ввод a, b |
a=2*a |
Вывод a, b |
конец |
a>b |
b=2*b |
Рис.13. Блок-схема решения примера 8, его реализация на языке Лого, вид окна с ответом в среде Лого; |
В примере 8 рассматривается полная форма ветвления. Если условие истинно, то выполняется первое действие, если условие ложно – выполняется второе действие.
Процедуры с параметрами
1. Процедура без параметра
Рис.13. Решение примера 3 с помощью языка Лого, вид окна с ответом в среде Лого. |
Процедура вызывается только с помощью имени, стоящего после ЭТО (ТО). Для этого используется процедура без параметра.
2. Процедура с параметром
Рис.14. Решение примера 3 с помощью языка Лого, вид окна с ответом в среде Лого |
Такой параметр в заголовке процедуры называется формальный параметр - та же самая переменная "х". При вызове же процедуры нужно будет указать соответствующее значение - так называемый фактический параметр. Например, "уравнение 100". Следовательно, начальное значение переменной :х=100.
Рассмотрим чуть подробнее, что происходит при исполнении процедуры с параметром. Переменную можно представить в виде ящика, на котором наклеена табличка с именем. В этот ящик может поместиться одно значение. Компьютер в любое время может посмотреть, что там находится, а может и поменять хранящееся значение. Допустим, если дать команду уравнение 100.
В заголовке процедуры после ее имени стоит ":х". Поэтому число 100 компьютер положит в "ящик" с такой "табличкой". Теперь начинается выполнение самой процедуры. Черепашка начинает выполнять цикл. Встретившись с командой "пусть “х :х + 1", она смотрит, какое значение "лежит в ящике", и подставляет его в эту команду. Само значение переменной при этом не меняется.
Процедура может иметь не один параметр, а несколько. Рассмотрим пример 9.
Рис.15. Решение примера 9 с помощью языка Лого, вид окна с ответом в среде Лого |
Если больше –
В Лого все процедуры равноправны. Допускается, что одна процедура может вызывать вторую, вторая – третью и так далее. Кроме того, в Лого допускается, что процедура может вызывать процедуру со своим собственным именем. Такой вызов процедурой самой себя называется рекурсией.
а) Процедура, обращающаяся сама к себе
Рис.16. Решение примера с помощью языка Лого, вид окна с ответом в среде Лого |
Процедура А печатает в текстовом окне слово «ПРИВЕТ» и вызывает процедуру А, которая печатает в текстовом окне слово «ПРИВЕТ» и вызывает процедуру А и т.д. Слово «ПРИВЕТ» будет печататься до тех пор, пока пользователь не прервет программу. Такого типа программы называют программами рекурсивного вызова самой себя или бесконечным циклом. Более интересный результат получится, если при рекурсивном вызове изменить значение параметра.
б) Управляемая рекурсия
Для остановки программы в нужный момент можно применить условие и команду STOP (СТОП).
Рис. 18. Решение примера 12 |
Если при очередном вызове параметр А оказался больше 200, то программа остановится. В противном случае последует запрос и ввод коэффициентов А и В, расчет значения Х и новый вызов с увеличенным параметром.
в) Косвенная рекурсия
Если процедура вызывает сама себя не непосредственно, а через другую процедуру, то это называется косвенной рекурсией.
Рис.19. Решение примера 13 |
Эти две процедуры (вычисления sin(a) b cos(a)) работают так:
первая вызывает вторую, а вторая – первую. В результате получается один из
примеров косвенной рекурсии.
Решение задачи с использованием основных базовых
структур
и операторов языка Лого на примере экологической задачи
Пример 14. Расположенный на берегу реки металлургический завод осуществил сброс вод, в результате чего концентрация вредных веществ в реке резко увеличилось. С течением времени эта концентрация, естественно, уменьшается. Требуется сообщить, каков будет уровень загрязнения реки через N суток, до тех пор, пока концентрация не станет нормой.
начало |
конец |
Начало цикла |
Конец цикла |
Ввод C, D, K, Z, H |
N=0 |
Повторять Z раз |
N=N+H |
C=C/K^H |
Вывод C, N |
Вывод N |
C > D |
C < D |
Исходными данными будут начальная концентрация С вредных веществ в реке, предельно допустимая концентрация D и коэффициент К. Результат – последовательностью значений концентрации вредных веществ через сутки, двое суток и т. д. Связь между исходными данными и результатом дается следующими соотношениями:
где
Руководствуясь этой математической моделью, составим блок-схему, где C - начальное значение концентрации,
D – предельно допустимая концентрация, K – коэффициент, Z – ограничения количества шагов для расчета, H – точность подсчета в сутках, N - количество суток.
Составим
программу на языке Лого и произведем расчеты для свинца при C=10 мг/л, D=0.03 мг/л,
K=1.12. [Гейн А.Г. стр.71]
Полученные расчеты дают возможность увидеть нормальную концентрацию свинца С= 0.027 в воде на 52 сутки.
2.3. Методические рекомендации
Данный курс предлагает введение в алгоритмизацию с помощью среды Лого Миры, основу которой составляет язык Лого. Во время обучения должны быть решены три главные задачи: приобретение детьми навыков обработки различных видов информации на ПК, усвоение основных алгоритмических конструкций, освоение работы с объектами языка Лого.
На изучение темы в учебном плане школы отводится достаточное количество академических часов, в течение которых рассматриваются ниже перечисленные понятия алгоритмизации и реализация соответствующих данным понятиям вычислительных задач:
1. Базовая структура «следование» в Лого Мирах
2. Базовая структура «цикл» в Лого Мирах
3. Базовая структура «ветвление» в Лого Мирах
На изучение каждого из пунктов отводится соответствующее количество часов.
После изучения раздела «Алгоритмизации» преподаватель получает хорошую возможность показать учащимся, зачем изучались принципы разработки алгоритмов, написание и отладка программ. Все эти принципы учащиеся могут применить уже сегодня, в своей главной деятельности – школьной учебе. Связав свою работу с основными школьными предметами, учитель информатики повышает свой внутришкольный статус. Включается в общее дело – решение базовых задач школы.
Кроме того, на уроках информатики по этой теме учащиеся знакомятся с учебной исследовательской работой. При этом они должны не только написать программу, но и научиться использовать ее для небольшого исследования: провести эксперименты, собрать данные (графические и числовые), проанализировать полученные результаты, сформулировать выводы.
Для успешного усвоения материала учащиеся должны вести тетрадь, куда помещают опорные конспекты, упражнения, помогающие ребенку освоить учебный материал. Тетрадь позволяет учителю организовать домашнюю работу учащихся, нацеленную не только на отработку знаний, умений и навыков, но и развитие познавательной активности, мышления, самостоятельности учащихся, организовать проверку усвоения новых знаний.
Данный курс не только прививает учащимся элементы информационной культуры, под которой понимается умение целенаправленно работать с информацией на ПК, но и помогает детям расширить свой кругозор, развивать логическое мышление, творческий и познавательный потенциал, связать с другими учебными предметами: математикой, биологией, искусством, языками, т.д.
В рамках поурочной системы компьютерные оболочки позволяют использовать Лого Миры как превосходное средство для организации развивающего, проблемного обучения, когда у детей вместе с количеством знаний возрастает самостоятельность. Для этого в каждом пункте имеется цепь заданий с вариациями, позволяющими детям проявить творческие возможности. Разделы имеют требования:
1. Новая информация прелагается малыми порциями и появляется тогда, когда становится необходима для выполнения конкретного задания.
2. Каждое задание опирается на изученный материал и приобретенные навыки, но обязательно содержит новую информацию или новые действия.
3. Заданий в разделе больше, чем это необходимо на уроке, с тем, чтобы учащийся мог выбрать интересное ему задание и работать в своем индивидуальном темпе.
4. Каждая часть раздела рассчитана на 15-20 мин работы на ПК. Непрерывная длительность занятия непосредственно на ПК не превышает санитарных норм, определенных документом «Гигиенические требования к видеодиспленным терминалам, персональным ЭВМ и организация работы».
При проведении занятий применяются различные формы обучения. Обучение учащихся должно иметь циклический характер. Раскрытие одного раздела может быть распределено по всему курсу обучения и идти поэтапно по мере подготовки учащихся.
1. Алгоритмы. Исполнитель алгоритмов. Система команд исполнителя. Свойства алгоритмов. Формирование исполнение алгоритмов. Способы записи алгоритмов.
2. Линейный алгоритм.
Лого Миры. Три технологических способа программирования: в поле команд, в диалоговом окне черепашки, в диалоговом окне управляющей кнопки. Команды управления черепашкой: вперед, назад, налево, направо, жди, домой, нов_форма, плавно.
Практическая работа.
3. Циклический алгоритм. Лого Миры. Свойства класса Черепашки. Команды повтори, всегда, отмени, возьми_лист.
Практическая работа.
4. Величины. Переменные величины. Характеристики переменных: тип, имя, значение. Лого Миры. Команды пусть, спроси, покажи.
Практическая работа.
5. Библиотека алгоритмов. Встроенные функции. Вложенные циклы. Датчик случайных чисел. Лого Миры. Координатная плоскость. Команды (нов_место, нов_х, нов_у, нов_размер). Функции х_коорр, у_коор, место, случайный.
Практическая работа.
6. Вспомогательные алгоритмы. Процедура с параметрами. Лого Миры. Команды по, пп, пс, нрп.
Практическая работа.
7. Ветвления. Основные понятия формальной логики. Простые логические выражения. Лого Миры. Команды если, если_иначе.
Практическая работа.
8. Операции формальной логики. Таблица истинности. Составленные логические выражения. Лого Миры. Логические операции или, и, не.
Практическая работа.
9. Рекурсия. Виды рекурсии. Лого Миры. Принципы построения рекурсии.
Практическая работа.
В завершении хотелось бы отметить, что задачи, поставленные в выпускной работе, были решены, а именно:
- освоена среда Лого Миры;
-
- разработаны алгоритмы и программы для решения вычислительных задач на языке Лого.
- проведен анализ решения вычислительных задач на языке Лого
Таким образом, цель данной выпускной работы достигнута.
В дальнейшем банк задач будет пополняться и данную методику решения вычислительных задач планируется использовать в средних общеобразовательных школах.
Данная работа будет полезна как студентам при подготовке к теоретическим, так и к практическим занятием по изучению среды Лого Миры и программированию на языке Лого, так и преподавателям, использующим пакет Лого Миры в своей работе. Так же поможет преподавателям разнообразить свои уроки, сделать их более эффективными в развитии познавательных процессов логического мышления, внимания, воображения, памяти, как младшего, так и старшего возраста.
Аннотация
Данная выпускная работа на тему: “Организация изучения основных алгоритмических конструкций в среде Лого Миры”.
Объект исследования – процесс обучения базовому курсу информатики.
Предмет исследования – методика преподавания алгоритмизации на базе языка Лого.
Цель работы – определение роли и месте вычислительных задач, решаемых в среде Лого Миры при изучении алгоритмизации.
Основные задачи исследования:
· Освоить среду Лого Миры
· Определить банк традиционно решаемых вычислительных задач при изучении алгоритмизации.
· Разработка программ для решения вычислительных задач на языке Лого.
· Анализ решение вычислительных задач на языке Лого.
Таким образом, цель данной выпускной работы достигнута.
Выпускная работа будет полезна как студентам при подготовке к теоретическим, так и к практическим занятием по изучению среды Лого Миры и программированию на языке Лого, так и преподавателям, использующим пакет Лого Миры в своей работе. Так же поможет преподавателям разнообразить свои уроки, сделать их более эффективными в развитии познавательных процессов логического мышления, внимания, воображения, памяти, как младшего, так и старшего возраста.