Логомиры как сделать звезду

Добавил пользователь Alex
Обновлено: 19.09.2024

сг – исходная графика. Всё, что было на экране, стирается и черепашка помещается в исходную позицию – центр экрана.

пп – Перо Подними. Черепашка поднимает своё перо и при перемещении не оставляет за собой следа.

по – Перо Опусти. Черепашка опускает перо и оставляет за собой линию.

вп – вперёд. вп 50 - черепашка перемещается в ту сторону, куда смотрит её голова на 50 шагов.

пр – право. пр 90 – черепашка перемещается вправо на 90 градусов.

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

  • Нарисуйте прямоугольник. Не забудьте, что перо должно быть опущено.

Программа рисования прямоугольника

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

Кроме того, имя процедуры не должно совпадать со словами из словаря Черепашки — нельзя называть процедуру.

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

Создание собственной процедуры:

  • Создать проект, сохранить, закрыть, открыть и снова сохранить.

нд – назад. нд 50 - черепашка перемещается в ту сторону, куда смотрит её хвостик на 50 шагов.

лв – лево. лв 90 – черепашка перемещается влево на 90 градусов.

нов_цвет 5 – новый цвет. Черепашка меняет свой цвет на указанный.

нов_фон 6 – новый фон цветом 6.

крась – черепашка заполняет замкнутую фигуру выбранным цветом.

  • Нарисовать две рыбки, раскрасить их оператором крась.

Алгоритм раскрашивания замкнутой области:

  1. Поднять перо.
  2. Войти в замкнутую область.
  3. Опустить перо.
  4. Поменять цвет.
  5. Закрасить.

нов_форма 4 – новая форма. Черепашка меняет свою форму на выбранную. Требуется указать номер новой формы врюкзачке.

нов_форма 0 – базовая форма.

штамп – оставляет отпечаток образа черепашки

нов_размер_пера — установить новый размер пера (требуется указать параметр — размер пера, начальное значение равно 1)

  • Нарисовать кораблик пером размера 10. Создать свою новую форму. Сделать новой формой штамп.

Рабочее поле Черепашки представляет собой координатную плоскость с началом координат в центре экрана; ось OY направлена вертикально вверх, ось OX — слева направо. Для того, чтобы установить Черепашку в точку с заданными координатами применяют команды нов_x (перемещает Черепашку по оси OX, не смещая ее по вертикали), нов_y (перемещает Черепашку по оси OY, не смещая ее по горизонтали) и команду setpos, которая меняет обе координаты Черепашки. Все эти команды применяются с параметром, значения координат для команды нов_место надо указывать в квадратных скобках, например: нов_место [100 -100] .


Как только ЛогоМиры начинают свою работу, открывается новый лист с именем лист1. Именно на нем разворачиваются все действия проекта и живут черепашки.

Содержимое разработки

Лекции для углубленного изучения (продвинутый уровень)

Тема 5. Работа с несколькими листами в ЛОГО

Как только ЛогоМиры начинают свою работу, открывается новый лист с именем лист1. Именно на нем разворачиваются все действия проекта и живут черепашки. При желании можно создать проект, содержащий не один лист, а несколько. Для добавления нового листа можно либо воспользоваться пунктом ЛИСТЫ – НОВЫЙ ЛИСТ главного меню, либо дать команду НОВЫЙ ЛИСТ.

5.1.1. Новый лист

нов_лист (сокращенная форма – нл)

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

Все листы при создании получают стандартные имена: первый – лист1, второй – лист2 и т.д. Но каждый лист в вашем проекте может носить какую-то смысловую нагрузку. Поэтому хотелось бы иметь возможность присвоить листу какое-то смысловое имя. Это можно сделать либо с помощью пункта Листы – Назови лист главного меню ЛогоМиров, либо с помощью команды НАЗОВИ ЛИСТ.

5. 1. 2. Назови лист

назови_лист “имя.

назови_лист “пещера

назови_лист “тридевятое_царство

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

Имя текущего листа отражается в первой строке листа проекта ЛогоМиров. Перейти на другой лист можно либо с помощью пункта меню ЛИСТЫ, либо командой

5. 1. 3. Возьми лист

возьми_лист (вл) “имя-листа

Появится содержимое листа “разное. Такое же действие совершиться, если в качестве команды просто написать имя листа: разное.

При создании сложных многостраничных проектов работу над листами могут вести разные авторы в разных проектах. Собрать листы из разных проектов можно с помощью команды добавь.

5.1.4. Команда добавь

добавь имя-проекта слово-или-список

Копирует в текущий проект листы, процедуры или формы из других проектов. Первый входной параметр – имя проекта в текущей папке. Это проект, из которого вы хотите что-то скопировать.

Чтобы изменить текущую папку, выберите Сохрани проект под именем … из меню Файл, найдите папку, в которой лежит проект с нужными листами, формами или процедурами и щелкните на Отмена.

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

добавь «старт «программы

Добавь «старт «листы

Добавь «старт «формы

Добавь «проект1 [лист1 лист2 ]

Добавляет отдельные листы.

5.1.5. Удаление листов

Чтобы удалить лист из проекта, выполните из поля команд строку:

удали «имя листа

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

5.1.6. Порядок листов в проекте

Порядок, в котором появляются листы при повторном открытии проекта зависит от двух моментов:

Если в проекте существует лист с именем лист1, то при открытии проекта будет загружен именно этот лист.

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

это startup

5.2. Создание многостраничного проекта

Наш будущий проект это игра, созданная в среде ЛогоМиры. Пусть в игре будет несколько уровней, но не менее 3-х. Каждый новый уровень оформлен на новом листе. Играющий должен пройти уровень, и только после этого он сможет перейти на следующий лист-уровень.

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

Процедура СБРОС

Процедура ИГРА

В этой процедуре будет осуществляться движение главного героя по минному полю. При этом нужно постоянно контролировать, не попал ли герой на мину. Это можно сделать с помощью датчика КОСНУЛИСЬ?

Датчик КОСНУЛИСЬ?

Служит для индикации касания двух черепах

коснулись? черепаха1 черепаха2 2 параметра

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

покажи коснулись? "ч1 "ч2

жди_пока [коснулись? "ч1 "ч2]

Для нашего случая лучше применить команду ЕСЛИ с датчиком КОСНУЛИСЬ?, чтобы определить момент касания. Для удобства в процедуре можно использовать и команду МНОГО РАЗ.

много_раз диапазон список-инструкций

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

много_раз [ к 8] [ нов_цвет :к жди 5]

Следующая инструкция печатает числа 0, 1, 2, . 9 в Поле команд.

много_раз [к 10] [ покажи :к]

Эту команду можно применить, например, для проверки касания черепашек, используя их список, созданный в процедуре СБРОС. Например, так:

много_раз [к 4] [если коснулись? "ч1 элемент 1 + :к :череп [взрыв останов]]]

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

ч1, вп 2 жди 1

много_раз [к 4] [если коснулись? "ч1 элемент 1 + :к :череп [взрыв останов]]

Процедура ВЗРЫВ

Процедура ПРОШЕЛ

Эта процедура создается для программирования цвета. Правая часть проекта будет иметь какой-то основной цвет фона. Вот это цвет и надо запрограммировать. Для этого щелкните два раза по нужному цвету в меню графического редактора. При этом появится диалоговое окно программирования цвета:


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

Если Вы запрограммировали тот или иной цвет, то автоматически программируются таким же образом все цвета данного ряда (оттенки). Например, программирование красного цвета (номер 15) автоматически программирует все цвета от 10 до 19.

В нашем случае в поле для черепашки мы должны задать название процедуры, срабатывающей при касании черепашки зеленого цвета – ПРОШЕЛ.


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

Эта процедура будет выглядеть приблизительно так:

сообщи [Вы прошли первый уровень! Поздравляю!]

вл "лабиринт


При касании черепашки-индикатора предусмотрите поздравление игроку и выход на третий уровень.

Эта игра построена на основе мозаики из лекции 4. Вам надо немного дополнить свои программы.

Дополнение 1

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

Дополнение 2

округли число 1 параметр

Сообщает результат округления числа. Числа, оканчивающиеся на 5, округляются до большего числа.

покажи округли 3.3333

покажи округли 3.5

Эта процедура может выглядеть примерно так:

это равнять

нов_х 20 * округли х_коор / 20

нов_у 20 * округли у_коор / 20]

Дополнение 3

пусть "х -200 пусть "у -100

много_раз [к 4] [для элемент :к + 1 :спчер если или не х_коор = :х не у_коор = :у [пусть "ф 1] пусть "х :х + 60]

пусть "х -200 пусть "у -40

много_раз [к 4] [для элемент :к + 6 :спчер если или не х_коор = :х не у_коор = :у [пусть "ф 1] пусть "х :х + 60]

если :ф = 1 [сообщи [Вы собрали мозаику неверно!]]

если :ф = 0 [сообщи [Вы собрали мозаику верно!]]

В этой процедуре считается, что ранее уже создали список черепашек “спчер.

Прежде, чем проверять правильность сбора мозаики, нужно подравнять черепашек (процедура РАВНЯТЬ)!


-80%

Пусть “л 14 переменной л присвоено значение 14

Пусть “ц “ваза Переменной ц присвоена текстовая величина ваза

Новый размер проекта

Нрпр [960 660] устанавливает размер нового проекта. Набирается в командной строке до всех действий над проектом.

4. НЕКОТОРЫЕ ДАТЧИКИ ЯЗЫКА ЛОГО МИРЫ 2.0

курс без параметров

Сообщает направление активной черепашки в градусах. См. нов_курс.

сг
покажи курс
0
нов_курс 180
покажи курс
180

сколько слово-или-список 1 параметр Сообщает количество элементов в слове-или-списке.

покажи сколько "хелло

5
покажи сколько [0 1 2 3]
4

фон без параметров

Сообщает номер цвета фона. Исходный цвет фона ( при загрузке ЛогоМиров) - 0. См. нов_фон.

нов_фон 10
повтори 9 [ нов_фон фон + 1]

цвет без параметров

Сообщает цвет черепашки в виде числа. См. нов_цвет.

нов_цвет "красный
покажи цвет
15
нов_цвет цвет + 1
покажи цвет
16


ц вет_поля (цп) без параметров

Сообщает в виде числа цвет изображения под активной черепашкой, точнее под ее пером (или центром).

Пример (для черепашки с именем ч1) :

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

если цп = 15 [сообщи [ Ты победила!]]

ПО ЭТОЙ ССЫЛКЕ МОЖНО ОЗНАКОМИТЬСЯ С НЕКОТОРЫМИ СВОЙСТВАМИ ПРАВИЛЬНЫХ МНОГОУГОЛЬНИКОВ

Урок 13. Учимся командовать с умом

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

Команда Действие команды Датчик Значения датчика
нов_форма Меняет форму черепашки форма от 0 до 60
нов_курс Поворачивает черепашку в указанном направлении курс от 0 до 359
нов_цвет Меняет цвет черепешки и пишущего пера цвет от 0 до 139;
нов_размер Меняет размер черепашки размер от 5 до 150
нов_размер_пера Меняет толщину пишущего пера размер_пера от 1 до 100

Задание 22. Использование датчиков для постепенного изменения состояния черепашки
1. Напишите команды, которые автоматически установят для черепашки, одетой в костюм солнца максимальный размер (150) и сделают толщину пишущего пера 40, а его цвет — фиолетовым.
2. Запустите из Поля команд цикл:

нов_размер 40 повтори 30 [нов_размер размер + 2 жди 1]


по нов_размер_пера 2
повтори 360 [вперед 100 назад 100
нов__курс курс + 1
нов_цвет цвет + 1]

нов_курс курс + (360 / 7)

Перед началом цикла установите красный цвет (нов_цвет 15) и размер пера (нов_размер_пера 10).
Лепестки у цветка должны быть ярких цветов. В gалитре ЛогоМиров номера таких цветов заканчиваются цифрой 5, поэтому шаг изменения цвета должен быть равным 10:

нов_цвет цвет + 10

Вопросы для самоконтроля
1. Для чего служит команда нов_форма?
2. Для чего служит команда нов_цвет?
3. Для чего нужна команда нов_размер_пера?
4. Для чего нужна команда нов_размер?

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

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


ПервоЛого – это:

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

В сети Интернет:


Кнопок на панели инструментов немного, только самое необходимое. Рассмотрим некоторые из них:

"Рисовалка"

При щелчке на этой кнопке открывается панель "Графика-рисование". Чтобы закрыть панель, нажмите кнопку ещё раз.

"стрелка"

Превращает курсор мыши в стрелку. Если кнопка нажата, включён обычный курсор.

С помощью него вы можете открыть рюкзак черепашки. Для активации сначала нажмите на кнопку, а потом на нужную черепашку.

"Ножницы"

С помощью этой кнопки вы можете удалить ненужуную вам черепашку, кнопку или другой объект. Для активации сначала нажмите на кнопку, а потом на нужный объект.

"Взять копию"

Делает копию нужной черепашки или другого объекта.

Для активации сначала нажмите на кнопку, потом на нужный объект, а затем в пустое место листа.

"Новая черепашка"

Создаёт новую черепашку в вашем проекте. Сначала нажмите на кнопку, а потом в место, куда вы хотите вставить черепашку.

"Новый текст"

Вставляет новое текстовое окно в ваш проект. Для активации нажмите на кнопку, а потом в нужное место листа.

"Новая кнопка"

Создаёт новую кнопку в вашем проекте. Для активации нажмите на кнопку, а потом в нужное место листа.

"Отменить"

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

"Покажи главную черепашку"

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


  • Мануал по ЛогоМирам от МИОО
  • Учебник по ЛогоМирам
  • Галерея проектов в ЛогоМирах
  • Образцы заданий в ПервоЛого от МИОО (Хохлова Е.Н., Макунина Е.А.)
  • Проекты в ПервоЛого "Работа в программе ПервоЛого на уроках информатики 2 класс - народные промыслы"
  • Проекты в ПервоЛого (от учащихся ЦО №1811)

Процедуры в ЛогоМирах

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

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

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

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

Пример: повтори 100 [вп 1 жди 1] - черепашка будет медленно двигаться 100 шагов.

Пример:

повтори 4 [вп 60 пр 90]

Команда заставляет черепашку рисовать квадрат, т.е. идти на какое-то определённое количество шагов вперёд, а потом поворачиваться на 90 градусов.


Пример:

повтори 6[повтори 4 [вперед 100 направо 90] пр 60]

*[вперед 100 направо 90] - команда квадрата

Узор составлен из 6 квадратов, повёрнутых относительно друг друга на 60 градусов.

Пример "Пушинка"

нц 106 сч повтори 7 [вп 100 нд 20 пр 30 вп 22 нд 22 лв 60 вп 22 нд 22 пр 30 нд 80 пр 360 / 7]

Пример "Рисуем звезду"

сч повтори 7 [вп 100 пр 360 * 4 / 7]

Пример "Узор"

повтори 10 [повтори 4 [вп 50 пр 90] вп 50 лв 90 вп 50 пр 90 повтори 4 [вп 50 пр 90 лв 90 нд 60 пр 90 нд 50 пр 36]

Пример "Цветовой круг"

нк 0 по нрп 2 повтори 360 [вп 100 нд 100 пр 1 нц цвет + 1]

Проект

Проект "Город" в ЛогоМирах

Читайте также: