Программируем на Лого в среде KTurtle - 4кл
Программируем на Лого в среде KTurtle - 4кл
Программируем на Лого в среде KTurtle - 4кл
УЧРЕЖДЕНИЕ
"Средняя общеобразовательная школа №19 с углубленным изучением
отдельных предметов"
г. Старый Оскол
2011г.
1
Пояснительная записка
Содержание
2
Урок 1. Интерфейс программы KTurtle
3
Меню Файл
4
В окошке редактора кода вводится команды.
После ввода и запуска команд кнопкой. Выполнить панели инструментов (или F5
клавиатуры) на холсте объект Черепашка начинает их выполнение.
В процессе выполнения можно приостановить или прервать действие алгоритма. В
случае обнаружения интерпретатором ошибок в записи алгоритма или команд,
выводится сообщение в отдельной вкладке холста.
Язык управления черепашкой был назван Лого (по-гречески это означает «мысль»,
«слово»).
В KTurtle, в отличие от большинства других реализаций языка Лого, допускается
несколько способов указания команд. Их можно вводить как на русском языке, так и
на английском, кроме того в обоих вариантах допускается использование
сокращенных названий команд.
В данном пособии все команды будут описаны на русском языке, сокращенный
вариант будет, по возможности, указан в скобках.
Подсветка синтаксиса - это особенность KTurtle позволяет сделать код более
наглядным. С подсветкой синтаксиса весь код в редакторе выводится разными
цветами (смотри Приложение - Таблица 1).
Лого (по-гречески это означает «мысль», «слово»)
5
Урок 2. Команды для работы с холстом
Наш робот-черепашка перемещается по холсту. Для указания местоположения на
холсте используются координаты (ось x и ось y). Ось x направлена по горизонтали
слева направо. Чем правее здесь точка, тем значение ее больше. Ось y направлена
сверху вниз. Это отличается от того, к чему мы привыкли в математике, где ось y
направлена в противоположную сторону: снизу вверх. На нашей же координатной
плоскости будет так: чем ниже точка, тем ее значение больше.
Место пересечения двух координатных осей (x и y) образует начало системы отсчета.
Это точка (0,0). Координаты любой точки формируются пересечением двух прямых,
которые перпендикулярны осям. Первое число координаты — это расстояние по оси x,
второе — по оси y. Посмотрите на рисунок и разберитесь, как формируются
координаты точек.
размер_холста (рх)
размер_холста X,Y
С помощью этой команды можно поменять размер холста. В качестве входных
параметров задаются ширина X и высота Y в пикселях
Изначально размер холста в KTurtle равен 400 на 400 точек. Вы можете приближать и
удалять его, прокручивая колесо мыши или изменяя размер окна. Тем самым вы
меняете масштаб, но не меняете его реальных размеров. Холст все равно остается
400х400. Меняется лишь размер каждой "точки".
При использовании данной команды вместо x и y следует прописать желаемый размер
холста по оси x и по оси y.
Имейте в виду, что чем больше значение, тем мельче на холсте будет выглядеть
6
черепаха. Ее размер по количеству точек постоянен и примерно равен 30х25 точек, а
чем больше точек на экране, тем меньше на каждую из них приходится пространства
монитора.
центр
Перемещает Черепашку в центр холста.
иди
иди X,Y
Предписывают Черепашке занять определѐнное место на холсте. Это место находится
на X пикселей от левой границы и на Y пикселей от верхней границы холста.
Примечание: при перемещении Черепашка не будет оставлять след. Изначально
черепаха находится в середине холста (точка 200х200).
напиши
Команда напиши, используется для указания Черепашки написать что-либо на холсте.
В качестве входных параметров можно передавать строки или числа. Вы можете
печатать различные числа и строки, комбинируя их вместе оператором «+».
Строки, буквы и какие-нибудь специфические символы берутся в кавычки. Числа
пишутся без кавычек. Но если вы напишете число в кавычках, то ошибки не будет,
просто компьютер будет считать ее строкой, а не числом. А вот запись букв без
кавычек приведет к явной ошибке.
Существуют две команды очистки холста.
очисти (очс)
Этой командой вы можете очистить холст от всех следов. Все остальное останется по-
прежнему: позиция и угол направления Черепашки, цвет холста, видимость
Черепашки и размер холста.
сброс
Очищает более объѐмно, нежели команда очисти. После выполнения этой команды
всѐ будет выглядеть так, как будто вы только что запустили KTurtle. Черепашка будет
расположена в центре экрана, цвет холста будет белым, Черепашка рисует чѐрную
линию.
Обратите внимание на команду сброс впереди. Желательно, чтобы она всегда
присутствовала в ваших программах впереди остального кода. Она перезагружает
холст, удаляя все его предыдущие настройки и также очищая его. Если этого не
сделать, то могут возникнуть всякие неожиданности в виде наложенных друг на друга
надписей и рисунков.
Задание: Напишите слово ―Саша‖ в точке с координатами (150, 30) и цифру ―11‖ в
точке с координатами (200, 70)
сброс
иди 150, 30
напиши "Саша"
иди 200, 70
напиши 11
Задание: Напишите ―1 сентября‖
напиши 1+ "сентября"
7
Урок 3. Двигаем Черепашку
8
Задание: нарисуем букву П
сброс
вп 100
пр 90
вп 50
пр 90
вп 100
Задание: нарисуем букву А
сброс
пр 46
вп 100
пр 90
вп 100
нд 50
пр 135
вп 70
Задание: нарисуем букву М
сброс
вп 100
пр 135
вп 77
лв 90
вп 77
нпр 180
вп 100
9
Урок 4. Цвет. Размер
У Черепашки есть перо, которым она рисует линию во время перемещения.
перо_подними (пп)
перо_подними отрывает перо от холста. Пока перо оторвано, Черепашка не будет
рисовать линию во время перемещений.
перо_опусти (по)
перо_опусти опускает перо на холст. Когда перо опущено, Черепашка рисует линию
при перемещениях.
толщина_пера (тп)
толщина_пера X
толщина_пера устанавливает толщину линии в X пикселей
цвет_пера (цп)
цвет_пера R,G,B
цвет_пера устанавливает цвет пера. В качестве параметров указывается интенсивность
красной, зелѐной и синей составляющих цвета (255, 0, 0). Цвет можно выбрать:
Сервис – Выбор цвета.
цвет_холста (цх)
цвет_холста R,G,B
цвет_холста устанавливает цвет холста
размер_шрифта X
Устанавливает размер шрифта, используемого для печати. Входной параметр один, он
должен быть числом. Размер задаѐтся в пикселях.
10
Задание: Нарисуйте 2 вертикальные линии с цифрами разного размера и цвета на
цветном холсте
сброс
цвет_холста 255, 215, 255
цвет_пера 255,255,255
толщина_пера 30
иди 50,50
назад 300
иди 70, 200
размер_шрифта 50
напиши 1
цвет_пера 255, 255, 0
толщина_пера 20
иди 200,100
назад 200
иди 210, 200
размер_шрифта 30
напиши 2
сч
сброс
рх 400,300
иди 50,250
пр 90
тп 100
цп 255, 0, 0
вп 300
лв 90
вп 100
лв 90
цп 0, 0, 255
вп 300
сч
11
Урок 5. Взаимодействие через диалоги
12
спроси X
Команде спроси требуется передать строку, она будет показана в появившемся окне,
аналогично команде сообщение. Но, кроме этого, в окне будет поле для ввода числа
или текста.
сброс
размер_шрифта 20
$х=спроси "Ваше имя?"
напиши "Привет, "+$х+ "!"
сч
13
Задание: Напишите программу, которая запрашивает у пользователя код цвета в
палитре RGB, а затем окрашивает холст в этот цвет
14
Урок 6. Цикл
Многократное повторение последовательности каких-либо действий в программе
называют циклом, а саму последовательность действий - телом цикла.
Самый простой цикл начинается с инструкции - команды повтори. После команды
повтори записывается число, которое обозначает, сколько раз требуется повторить
команду или группу команд. Потом открывается фигурная скобка. На следующих
строках один раз пишутся команды, которые при выполнении будут повторяться. В
конце ставится закрывающая фигурная скобка.
15
Задание: Напишите программу, которая запрашивает у пользователя длину отрезка и
угол, а затем по этим данным рисует на холсте равносторонний многоугольник
сброс
$отрезок = спроси "Введите длину отрезка"
$угол = спроси "Введите угол"
$количество = 360 / $угол
повтори $количество {
вперѐд $отрезок
направо $угол
}
сброс
для $х=1 до 100
{
вп 20
пр 100-$х
}
сброс
пп
иди 150,250
для $х=1 до 10
{
напиши $х*2
вп 15
}
16
цикл с условием (пока…)
пока условие
{ Пока условие верно, выполнять команды
тело цикла составляющие тело цикла
}
Задание:. В банк положили 1000 рублей под проценты. Каждый месяц на эту сумму
начислялось 5%. Причем на следующий месяц проценты начислялись уже на сумму
вместе с начисленными в предыдущий месяц процентами (процент на процент). Через
сколько месяцев сумма на счету достигла 2000 рублей?
Для решения данной задачи лучше всего применить цикл с условием. Такой цикл
повторяется, пока выполняется заданное условие.
Пусть $с - вычисляемая сумма, а $м - количество месяцев.
сброс
иди 50,50
$с=1000
$м=0
пока $с<2000
{
$с=$с+$с*0.05
$м=$м+1
}
напиши $м
центр
если условие
{
Действие 1 Если условие истинно, то выполнить
} команды Действия 1, в противном
иначе { случае, если условие не истинно –
Действие 2 выполнить команды Действия 2
}
17
Задание: В данном случае черепашка сравнивает два числа и записывает большее
сброс
иди 50,50
$а=спроси "Введи первое число"
$б=спроси "Введи второе число"
если $а>$б {
напиши $а
}
иначе {
напиши $б
}
центр
Можно организовать программу "склеив" несколько условий при помощи слов и и или
сброс
иди 50,50
цх 124, 255, 0
тп 4
размер_шрифта 20
$а=спроси "Введи число от 1 до 10"
если $а<5 или $а==5 {
цп 255, 0, 0
цх 255, 255, 0
напиши "Привет!"
}
иначе {
цп 0, 0, 255
напиши "Пока!"
}
центр
18
Урок 7. Переменные. Случайные числа
Задание:
Напишите код, который выводит на холст большой квадрат и маленький
шестиугольник. При этом командам должны передаваться на выполнение не числа, а
переменные, связанные с числами. Используйте только две переменные, изменив их
значение перед рисованием второй фигуры. Для справки угол в квадрате равен: 360/4
= 90 градусов, в шестиугольнике равен: 360/6 = 60 градусов.
360
сброс Внешний угол =
иди 100,200 количество углов многоугольника
$л = 150
$у = 90
повтори 4 {
вп $л
пр $у
}
иди 200, 350
$л = 40
$у = 60
повтори 6 {
вп $л
пр $у
}
сч
19
Случайные числа
Когда программа выполняется, черепаха-исполнитель читает ее строки одна за другой
сверху вниз. Однако существует способ внести "неожиданность" в поведение
черепахи. Можно использовать команду случайное, которая генерирует случайное
число. Это случайное число можно присвоить переменной, а затем использовать
переменную в команде повтори. В результате программа может работать по-разному.
случайное X,Y
Случайные числа генерируются в определенном диапазоне, т.е. от какого-то значения,
до какого-то другого значения. Сначала пишется нижняя граница (например, 0), а
после запятой — верхняя (например, 50). Числа-границы также входят в диапазон.
Выходной параметр — это псевдослучайное число, которое не меньше минимума и не
больше максимума.
Здесь внешний цикл повтори повторяется 15 раз. Все эти 15 раз случайно
генерируются значения пяти переменных ($x, $y, $r, $g, $b), т.е. в каждом обороте
цикла значения этих переменных создаются заново. После того, как переменные
обретают свои новые значения, устанавливается цвет пера. Каждый раз он будет
различным. Далее 19 раз черепаха возвращается в одну и ту же точку, рисует линию,
поворачивает на 20 градусов. В результате получается что-то вроде звездочки,
состоящей из 19 лучей. Поскольку в программе происходит 15 "оборотов" внешнего
цикла, то на холсте получается 15 звездочек в случайных местах и случайного цвета.
Задание:
сброс
повтори 10 {
$x = случайное 1,20
вперѐд $x
налево 10 - $x
}
20
Урок 8. Подпрограммы
Подпрограмма — это то, что входит в обычную программу (в программный код,
который мы пишем). Подпрограмма внутри программы запускается оттого, что ее
вызывают по имени. Все это можно изобразить так:
сброс
выучи звезда $N,$X {
$A=360/$N
повтори $N
{
вп $X
нд $X
лв $A
}
}
цп 255, 0, 0
тп 10
звезда 5, 70
Итак, здесь главная программа - это команда сброс и все что идет после закрывающей
фигурной скобки. От команды выучи и до закрывающей скобки включительно — это
подпрограмма.
Использование подпрограмм позволяет сократить программный код.
Принимаемые данные передаются в подпрограмму с помощью переменных, которые
указываются после ее имени.
сброс
цп 255, 0, 0
тп 5
нпр 18
повтори 5
{
вп 200
пр 144
}
сч
сброс
выучи лепесток $a {
повтори 2 {
повтори 90 {
вперѐд $a
налево 1
}
повтори 90 {
вперѐд $a/2
направо 1
}
направо 180
}}
выучи цветок $л {
повтори $л {
лепесток 2
направо 360/$л
}}
цветок 6
сброс
выучи лепесток {
повтори 180 {
вперѐд 2
направо 1
}
22
повтори 45 {
вперѐд 6
направо 1
}}
перо_подними
налево 45
вперѐд 130
направо 45
перо_опусти
спрячь
повтори 8 {
лепесток
}
сброс
выучи круг $x {
повтори 360 {
вперѐд $x
направо 1
}
}
сброс
спрячь
повтори 6 {
круг 2
перо_подними
налево 60
вперѐд 20
перо_опусти
}
сброс
выучи шестиугол $x {
повтори 6 {
вперѐд $x
направо 60
}
}
сброс
спрячь
повтори 5 {
шестиугол 80
23
направо 72
}
Задание: Нарисуй 12 шестиугольников разных цветов
сброс
тп 3
$a= 6
выучи многоуг $a{
цп (случайное 0,255),(случайное 0,255),
(случайное 0,255)
повтори 6 {
вп 100
пр 60
}
}
повтори 12 {
многоуг $a
пр 30
}
сброс
$a= 1
повтори 350 {
вп $a
пр 100
$a= $a+1
}
сброс
повтори 9 {
вп 100
пр 160
}
24
Вопросы для самостоятельно контроля:
25
повтори 4{
вперѐд 30
направо 90
}
а) круг
б) линию
в) ступеньки
г) квадрат
Ключ
1Б 2В 3А 4Б 5А 6Б 7Г 8А 9В 10А
26
Инструкция установки программы KTurtle в ОС Ubuntu 11.04
В следующем списке вы найдѐте описание разных типов кода и цветов, которые они
получают в редакторе кода:
Команды – синий
Числа – темно-красный
Строки – красный
Скобки { – зеленый
Переменные – фиолетовый
Инструкции-команды, текст – черный
Комментарии – серый
Подпрограмма выучи – ярко зеленый
0,0,0 чѐрный
255,255,255 белый
255,0,0 красный
0,255,0 зелѐный
0,0,255 синий
255,255,0 жѐлтый
27
Таблица 3. Соответствия русских команд английским в языке
программирования Лого
сброс
иди 100,300
цп 51, 0, 251
тп 4
пр 30
повтори 3 {
вп 200
пр 120
}
сч
28
Рекомендуемая литература
Руководство KTurtle: http://docs.kde.org/stable/ru/kdeedu/kturtle/index.html
Шапошникова С.В. " Изучение языка программирования Logo (Лого) в среде KTurtle"
http://nbazanovainfo.narod.ru/turtle_shaposhnikova.pdf
29