Логотип — Введение
Логотип — это язык программирования, который очень прост и легок в освоении. Он используется для обучения студентов и детей, как программировать компьютер.
Почему мы должны изучать язык логотипа?
- Потому что это весело, очень весело.
- Усиливает логический смысл детей.
- Развивает навыки программирования.
- Это настоящая информатика.
Logo — очень простой и интересный язык программирования для изучения. У этого достаточно глубины, чтобы фактически сделать что-нибудь, что может быть сделано на любом другом языке программирования.
Как загрузить и установить программное обеспечение MSW Logo?
Если на компьютере не установлено программное обеспечение для программирования логотипов, мы можем получить его бесплатно по следующей ссылке —
www.softronix.com/mswlogo.html
После установки он помещает значок логотипа на рабочий стол вашего компьютера.
Экран логотипа MSW состоит из двух частей:
- Окно для рисования сверху с треугольной черепахой в центре.
- Окно Commander, как показано на следующем скриншоте.
Мы будем писать команды в командной строке, то есть в текстовом поле в нижней части окна Commander. Чтобы выполнить или выполнить эти команды, нажмите Enter или нажмите кнопку «Выполнить». Мы также можем написать и запустить более одной команды одновременно.
История команд появится в сером поле. Нажмите на строку в истории, чтобы перейти к соответствующей командной строке, затем мы можем внести изменения (при необходимости). Как только это будет сделано, нажмите Enter или нажмите кнопку Выполнить.
Логотип — Черепаха
Простые команды рисования логотипа перемещают черепаху вперед и назад, а также поворачивают ее вправо или влево. Команды и их сокращения приведены ниже —
- вперед — вперед
- бк — назад
- RT — правильно
- л — слева
- CS — Clearscreen
Любая версия этих команд может быть использована. За исключением команды cs, за каждой из этих команд должно следовать одно значение, называемое его аргументом. Аргументы для fd и bk являются единицами; значения rt и lt — это углы, которые могут быть любыми целыми числами. Поворот на 360 является полным поворотом, поэтому поворот на 375 градусов равен 1/15 градуса.
-
вперед 60 или fd 60 означает идти вперед на 60 шагов
-
вправо 90 или RT 90 означает поворот вправо на 90 градусов
-
влево 90 или lt 90 означает поворот влево на 90 градусов
-
назад 60 или 60 крон означает вернуться назад на 60 шагов
-
clearscreen или cs означает стереть все рисунки. Это устанавливает черепаху в центре
вперед 60 или fd 60 означает идти вперед на 60 шагов
вправо 90 или RT 90 означает поворот вправо на 90 градусов
влево 90 или lt 90 означает поворот влево на 90 градусов
назад 60 или 60 крон означает вернуться назад на 60 шагов
clearscreen или cs означает стереть все рисунки. Это устанавливает черепаху в центре
Графическое окно имеет систему координат. Значения двух координат (обычно называемые x и y) в центре равны 0, 0. В северо-восточном углу они равны 250, 250; в юго-восточном углу они 250, -250. В юго-западном углу они -250, -250; и т.д. Если черепаха пытается уйти на одну сторону экрана, она оборачивается. Правая сторона переносится на левую сторону, а верхняя — на нижнюю.
Многие системы программирования работают на одном и том же виде двухосной координатной плоскости «xy», с которой мы работаем и в алгебре.
Здесь ‘0 0’ — центр или начало координат (здесь нет запятых или скобок!). Находясь в центрированном состоянии «нормальное» масштабирование, экран рисования логотипа показывает область примерно на 150 точек вверх или вниз и на 300 точек вправо или влево от центра.
На черепаху можно направить заголовки, которые соответствуют розе компаса, с 0 или 360 градусами, направленными вверх, 90 градусами вправо и так далее. Вы можете установить переменную в число от 0 до 360 и затем идти по этому пути.
Команды черепахи
Теперь давайте попробуем несколько команд. Команды будут выдаваться по одной на строку с последующим возвратом каретки. Некоторые из этих команд могут быть введены последовательно в командном окне с последующим возвратом каретки. Эффект на черепаху тот же. Тем не менее, если вы введете команду, которая требует один или несколько входных данных и предоставит пропущенные входные данные в следующей строке, логотип отобразит ошибку.
Ниже приведена практическая команда, которая показывает желаемые результаты справа.
Команды — fd 50 rt 120, fd 50 rt 120, fd 50 rt 120 , заставляют черепаху нарисовать треугольник, как вы можете увидеть, попробовав их.
Эти команды читаются слева направо. Поскольку команде fd требуется один аргумент, она принимается за следующее значение. Аналогично, rt также принимает аргумент. Таким образом, логотип может придать однозначное значение каждой из этих строк символов. Для некоторых команд Logo требуются разделители.
Ниже приведены несколько тренировочных команд с желаемыми результатами справа.
Ниже приведено упражнение для проверки вашей способности к тому, что вы узнали в этой главе.
Логотип — Управление черепахой и пером
Логотип имеет ряд других команд рисования, некоторые из которых приведены ниже.
-
пу — пенап
-
pd — pendown
-
ht — Hideturtle
-
DT — Showturtle
-
setpensize
пу — пенап
pd — pendown
ht — Hideturtle
DT — Showturtle
setpensize
Команды pendown и penup сообщают черепахе, что чернила должны оставаться на экране во время движения или нет, соответственно. Команды hideturtle и showturtle скрывают или показывают черепаху, но не влияют на ее способность оставлять чернила при движении. Команда home заставляет черепаху вернуться в центр экрана. Это может оставить чернила позади, когда черепаха вернется в центр экрана. Команда setpensize определяет размер карандаша для рисования.
-
penup или pu означает поднимать ручку, чтобы вы могли перемещать черепаху, не оставляя следов.
- Pendown или pd означает опустить ручку, чтобы вы могли перемещать черепаху и оставлять следы.
- hideturtle или ht означает скрыть черепаху, чтобы вы могли любоваться своим рисунком.
- showturtle или st означает показать черепаху, чтобы вы могли продолжить рисование.
- setpensize означает, что это может сделать ручку больше, лучше видеть. Размер пера по умолчанию — [1 1].
penup или pu означает поднимать ручку, чтобы вы могли перемещать черепаху, не оставляя следов.
Ниже приведены несколько тренировочных команд с желаемыми результатами справа.
Логотип — Мир Черепах
Логотип имеет ряд других дополнительных команд рисования, некоторые из которых приведены ниже.
- Главная
- открытый текст или кт
- этикетка
- SetXY
Команда label берет одно слово в виде строки в кавычках (например, «a_string») или списка слов в [] скобках без кавычек (например, [строка букв]) и печатает их в графическом окне в месте расположения черепахи. , Давайте рассмотрим следующий код.
Команда setxy принимает два аргумента, обрабатывая первый как значение абсциссы (горизонтальная ось), а второй как значение ординаты (вертикальная ось). Он размещает черепаху в этих координатах, возможно, оставляя чернила при достижении этих координат. На следующих трех рисунках мы показали, как можно использовать команду setxy.
Команда cleartext, сокращенно ct , очищает текстовую область командного окна.
Упражнение
Ниже приведено упражнение для проверки вашей способности к тому, что вы узнали в этой главе.
Какую фигуру создает следующая последовательность команд?
cs pu setxy -60 60 pd home rt 45 fd 85 lt 135 fd 120
Интерпретируйте эти команды, когда вы читаете их слева направо. Попробуйте, чтобы узнать результат.
Ниже приведена таблица сводных команд.
Название команды | Цель |
---|---|
сеткс 100 |
Устанавливает x-координату черепахи на +100 Перемещает его на 100 пунктов вправо от центра Нет вертикальных изменений |
Setx -200 |
Перемещает черепаху на 200 пунктов влево от центра Нет вертикальных изменений |
Сети 150 |
Устанавливает y-координату черепахи в 150 Перемещает его на 150 пунктов выше центра Нет горизонтального изменения |
сет — 50 |
Перемещает черепаху на 50 пунктов ниже центра Нет горизонтального изменения |
setxy 100 100 |
Перемещает черепаху в координату xy 100 100 |
показать Xcor показать ycor |
Сообщает x-координату черепахи Сообщает y-координату черепахи |
заголовок 0 Сет 0 |
Направляет черепаху прямо вверх, «высокий полдень» |
Сет 120 |
Перемещает черепаху на 120 градусов, чтобы указать на четыре часа |
Устанавливает x-координату черепахи на +100
Перемещает его на 100 пунктов вправо от центра
Нет вертикальных изменений
Перемещает черепаху на 200 пунктов влево от центра
Нет вертикальных изменений
Устанавливает y-координату черепахи в 150
Перемещает его на 150 пунктов выше центра
Нет горизонтального изменения
Перемещает черепаху на 50 пунктов ниже центра
Нет горизонтального изменения
Перемещает черепаху в координату xy 100 100
показать Xcor
показать ycor
Сообщает x-координату черепахи
Сообщает y-координату черепахи
заголовок 0
Сет 0
Направляет черепаху прямо вверх, «высокий полдень»
Перемещает черепаху на 120 градусов, чтобы указать на четыре часа
На следующем снимке экрана показана практическая демонстрация некоторых из перечисленных выше команд.
Логотип — Переменные
Переменная — это имя ячейки памяти, которая может содержать значение. В компьютере каждая ячейка памяти имеет целочисленный адрес. Поскольку было бы трудно запомнить адрес каждого местоположения, содержащего значение, используемое программой, ученые-компьютерщики нашли способы дать этим местоположениям символические названия. Как только у переменной есть имя, мы можем использовать его и манипулировать им.
Переменные — это имена, которые являются строками букв. Имя переменной может содержать буквы (без учета регистра), цифры и подчеркивание. Имя переменной можно получить в вычислении, используя перед ней ‘:’. Давайте рассмотрим следующий пример на скриншоте.
В приведенном выше примере мы определили две переменные first_name, 100_last_name_200 и инициализировали их значениями Amal и Das, используя следующие операторы:
- сделать «имя_имя» Амаль
- сделать «100_last_name_200» Das
Также мы напечатали эти две переменные с помощью операторов print: first_name и print: 100_last_name_200.
В следующем примере показано, как определить числовые переменные —
Здесь мы определили две числовые переменные val1 и val2 . Мы также выполнили сложение и вычитание, используя их.
Логотип — Арифметические Операции
Логотип обеспечивает обычные арифметические операции сложения, вычитания, умножения и деления, обозначаемые символами +, -, *, /. Каждая из этих операций дает результат. Если вы ничего не сделаете с результатом, например напечатаете его, логотип покажет ошибку.
С помощью команды печати можно использовать результат арифметической операции и распечатать его в окне команд. Примеры, приведенные на следующем скриншоте, демонстрируют то же самое.
Другие полезные команды —
-
sqrt — принимает один неотрицательный аргумент и возвращает его квадратный корень.
-
power — он принимает два аргумента, называет их ‘a’ и ‘b’ и генерирует a в степень b.
-
ln — принимает один аргумент и возвращает его натуральный логарифм
-
exp — принимает один аргумент и вычисляет e для этой степени, e — натуральное число 2.718281828.
-
log10 — принимает логарифм к основанию 10 одного аргумента.
sqrt — принимает один неотрицательный аргумент и возвращает его квадратный корень.
power — он принимает два аргумента, называет их ‘a’ и ‘b’ и генерирует a в степень b.
ln — принимает один аргумент и возвращает его натуральный логарифм
exp — принимает один аргумент и вычисляет e для этой степени, e — натуральное число 2.718281828.
log10 — принимает логарифм к основанию 10 одного аргумента.
На следующем скриншоте показан пример вышеприведенных команд с соответствующим выводом.
Арифметические операторы имеют приоритет, который определяет порядок, в котором они оцениваются.
Примечание. Печать 60 * sqrt 2 и печать sqrt 2 * 60 дают разные ответы. Здесь оператор * имеет приоритет над оператором sqrt. Таким образом, * будет выполнено до sqrt, если есть выбор, как во втором случае.
По этой причине первый оператор печатает значение, в 60 раз превышающее квадратный корень из 2, тогда как второй оператор печатает квадратный корень из 120, как показано на следующем снимке экрана.
Логотип — Повторение
Мы часто повторяем последовательность команд. Компьютерные программы часто выполняют повторяющиеся задачи. Почти каждая система программирования имеет способ выполнять это повторение или итерацию, как называют это ученые-компьютерщики. Давайте рассмотрим следующий пример —
Давайте предположим, что мы хотим нарисовать квадрат со сторонами длины 100, мы можем сделать это с помощью следующей программы:
fd 100 rt 90 fd 100 rt 90 fd 100 rt 90 fd 100 rt 90
Отметим, что две команды — fd 100 и rt 90 повторяются четыре раза. Не проще ли будет сказать компьютеру, что он должен просто повторить эти две команды четыре раза вместо того, чтобы писать их четыре раза подряд? Мы можем сделать именно это, используя следующую команду —
Это экономит наше время ввода, чтобы сделать квадрат. Общая форма: повторить число [команды] . Мы должны использовать ключевое слово — repeat, за которым следует число, а затем последовательность команд в [квадратных скобках].
Часто нам, возможно, придется повторить в пределах повтора. Это называется вложения . Давайте посмотрим на некоторые примеры по этому вопросу.
Ниже приведено упражнение для проверки вашей способности к тому, что вы узнали в этой главе.
Логотип — Рандомизация
Иногда забавно иметь непредсказуемый результат вычислений. Логотип обеспечивает случайную процедуру для генерации случайного числа. Он имеет один аргумент и создает целочисленное значение, выбранное равномерно случайным образом, которое больше или равно 0 и меньше значения его аргумента. Таким образом, если вам нужен случайный угол от 0 до 359 градусов, вы можете использовать команду random 360, чтобы получить его. Имейте в виду, что логотип будет отображать ошибку, если вы не сделаете что-то с результатом, например печать.
Давайте посмотрим на следующий пример —
Мы ввели команду — вывести случайное число 360 несколько раз в вышеупомянутом командном окне и, если вы заметили, каждый раз, когда он генерирует случайный вывод.
Ниже приведены несколько тренировочных команд с желаемыми результатами справа.
Логотип — Процедуры
Процедуры предоставляют способ инкапсулировать коллекцию команд. После того, как процедура была создана, ее можно использовать так же, как встроенную команду. «Значение» процедуры — это значение ее отдельных команд.
Процедура без аргументов имеет слово «to» (зарезервированное слово) и имя процедуры в первой строке. (Зарезервированные слова в логотипе не могут использоваться в качестве переменных и имеют четкое значение и использование.) В последней строке зарезервированное слово «конец».
Подпрограмма — это именованная последовательность шагов для выполнения другой программой. Другими названиями подпрограмм являются процедуры и функции. В логотипе вы говорите компьютеру, как сделать что-то, например,
to square repeat 4 [fd 100 rt 90] end
После того, как мы описали нашу процедуру для Logo, мы можем ввести ее имя в командной строке, так же, как мы поступили бы с любой из встроенных вещей. В этом случае мы будем вводить «квадрат» в командной строке, и Logo ищет команды для создания квадрата.
Нажмите кнопку с надписью Edall (для редактирования всех), чтобы открыть встроенный редактор Logo. (Если ваш логотип не имеет кнопки Edall, введите «edall» в командной строке). Следующий кодовый блок имеет требуемую структуру подпрограммы.
to procedurename steps of your procedure here end
Процедура или подпрограмма должны начинаться со слова «to», за которым следует имя, о котором мы думаем. Следующий шаг — ввести все те же шаги, которые мы напишем в командной строке. Процедура должна заканчиваться словом «конец». Всем комментариям или примечаниям должна предшествовать точка с запятой (;).
Ниже приводится практическая демонстрация приведенного выше примера.
Теперь из командной строки выполните процедуру, используя ее имя «квадрат», как показано ниже —
Процедуры могут содержать не только встроенные команды, но и другие процедуры.
В следующем примере процедура ‘flower’ вызывает нашу предопределенную процедуру ‘square’ из своего тела.
Следующий скриншот показывает вывод при вызове процедуры «цветок» —
Мы не хотим, чтобы каждый квадрат был одинакового размера — мы хотим разнообразия. В Logo мы создаем переменные, значения которых мы можем изменить. Мы будем использовать ту же самую квадратную процедуру с небольшим изменением в следующем примере.
to square :n repeat 4 [fd :n rt 90] end
Мы даем Логотипу заменяющее значение для ‘: n’ в командной строке, как показано ниже.
square 50 square 75 square 100
Вот практическая демонстрация приведенного выше примера —
Теперь давайте обсудим, как передать два аргумента в процедуру. Следующий скриншот — практическая демонстрация того же самого.
Логотип — Рекурсивные процедуры
В рекурсивной процедуре будет повторный вызов процедуры внутри процедуры. Давайте рассмотрим следующий код —
to spiral_recur :n if :n < 1 [stop] fd :n rt 20 spiral_recur 0.95 * :n end
Процедура spiral_recur была вызвана из самого тела процедуры. На следующем снимке экрана показано выполнение и вывод кода.
Логотип — Принятие решений
Принятие решений и переменные идут вместе. Программа должна быть в состоянии изменить курс в зависимости от ситуации. Вот, к примеру, рамки для рисования спирали. У него есть цикл, вариант повторения, показанный ранее, и тело цикла нам нужно заполнить.
to spiral make "n 1 while [:n < 100] [ make "n :n + 5 fd :n rt 90 ] end
Приведенный выше код показывает несколько новых функций синтаксиса логотипа MSW. Мы устанавливаем переменную в новое значение, вводя «make», после чего перед именем переменной ставится двойная кавычка «вместо двоеточия»: «, как показано ниже.
make "n 1
Мы используем переменную с двоеточием ‘:’ перед ее именем.
while [:n < 100]
Код, заключенный в квадратные скобки после того, как ‘while [условие]’ выполняется, пока условие истинно. Если это больше не так, потому что (в этом случае) значение ‘: n’ становится больше 100, выполняется код, следующий за скобкой.
Следующий скриншот показывает выполнение и вывод приведенного выше кода.
Теперь мы обсудим использование операторов if, которые имеют код, который будет выполняться только тогда, когда заданное условие истинно.
Он также показывает встроенный логотип, который генерирует случайные числа. Оператор random 3 генерирует любое число 0 или 1 или 2 произвольно в случайной последовательности. Затем процедура решает, в какую сторону идти «наугад». Сгенерированное случайное число будет сохранено в «r» и позже, в зависимости от значения переменной «r», будет выполнено одно из операторов if, которое будет удовлетворять условию. Таким образом, если —
- Значение ‘r’ равно 0, тогда будет выполнено [fd 20] .
- Значение ‘r’ равно 1, тогда будет выполнено [rt 90 fd 20] .
- Значение ‘r’ равно 2, тогда будет выполнено [lt 90 fd 20] .
На следующем скриншоте показано выполнение и результаты вышеприведенного обсуждения.
Логотип — Струны
Любая последовательность буквенно-цифровых символов, например, «америка», «emp1234» и т. Д., Является примером строки. Подсчет символов является самым основным из всех строковых процессов. Ответ на вопрос «длина строки» abc12ef дается следующей процедурой —
to stringlength :s make "inputstring :s make "count 0 while [not emptyp :s] [ make "count :count + 1 print first :s make "s butfirst :s ] print (sentence :inputstring "has :count "letters) end
В приведенной выше процедуре ‘s’ — это переменная, содержащая входную строку. Переменная inputtring содержит копию входной строки. Счетчик переменных инициализируется с 0. В цикле while условие проверяет, стала ли строка пустой или нет. В каждом счетчике цикла переменная увеличивается на 1 для хранения счетчика длины. Оператор print first: s , печатает только первый символ строки, хранящейся в ‘s’.
Оператор make «s butfirst: s , извлекает подстроку, исключая первый символ. После выхода из цикла while мы напечатали количество символов или длину входной строки. Ниже приведено выполнение и вывод кода ,
Логотип — Цвет
Компьютерные экраны работают с красными, зелеными и синими компонентами света, поэтому их иногда называют экранами RGB .
В меню «Установить логотип» мы можем установить цвет трех элементов экрана —
- Ручка черепахи
- Заполнение черепахи (как ведро с краской для вольеров)
- Фон экрана
Мы устанавливаем цвет, перемещая эти три ползунка влево и вправо. Помните, что черный — это отсутствие всего цвета, а белый — это все цвета вместе. Смешивание света не похоже на смешивание краски. Например, если вы смешаете красную и зеленую краску, вы получите мутный цвет. Поскольку это компьютер, каждый цвет имеет внутреннее числовое представление.
На левом конце скользящей шкалы ноль (0). На правом конце — 255, что похоже на 99 для компьютера (это 2 8 — 1). Таким образом, черный — это [0 0 0], красный — [255 0 0], зеленый — [0 255 0], синий — [0 0 255]. Вы можете сделать что-нибудь между этими цветами, и во всех них есть 256 * 256 * 256 возможных цветов. Это 2 8 * 2 8 * 2 8 , или 24-битный цвет — 24-двоичные цифры внутри машины.
Следующие команды дадут вам большую жирную красную ручку —
setpensize [5 5] setpencolor [255 0 0]
Когда вы найдете нужный вам цвет с помощью ползунков, вы можете спросить логотип, что это такое: выбрать цвет пера, затем в командной строке введите следующую команду.
show pencolor
На следующем снимке экрана показано выполнение и вывод приведенного выше кода.
Вы можете сделать цветной квадрат, используя следующие шаги —
Шаг 1 — Нарисуйте квадрат с длиной стороны 40, используя следующую команду.
repeat 4 [fd 40 rt 90]
Шаг 2 — Pen Up с помощью следующей команды.
pu
Шаг 3 — Перейти к точке внутри квадрата. Например, поместите черепаху в координату (20, 20) с помощью следующей команды.
setxy 20 20
Шаг 4 — Заполните квадрат с помощью набора цветов. Например, чтобы установить синий цвет заливки, используйте следующую команду.
setfloodcolor [0 0 255]
В следующей таблице перечислены еще несколько команд, связанных с цветом и пером.
Команда Цвет & Перо | Цель команды |
---|---|
setpencolor [rgb] setpc [rgb] |
Устанавливает цвет для ручки черепахи rgb — числа в диапазоне [0, 255] |
setfloodcolor [rgb] setfc [rgb] |
Устанавливает цвет для одобренной области |
setscreencolor [rgb] setsc [rgb] |
Устанавливает цвет для фона |
показать цвет пера покажи цвет показать цвет экрана |
Определяет текущие значения для [rgb] именованного элемента |
заполнить |
Выдает дамп текущего цвета в месте расположения курсора |
заполнить |
Выдает дамп текущего цвета в месте расположения курсора |
setpencolor [rgb]
setpc [rgb]
Устанавливает цвет для ручки черепахи
rgb — числа в диапазоне [0, 255]
setfloodcolor [rgb]
setfc [rgb]
Устанавливает цвет для одобренной области
setscreencolor [rgb]
setsc [rgb]
Устанавливает цвет для фона
показать цвет пера
покажи цвет
показать цвет экрана
Определяет текущие значения для [rgb] именованного элемента
заполнить
Выдает дамп текущего цвета в месте расположения курсора
заполнить
Выдает дамп текущего цвета в месте расположения курсора
Попробуйте выполнить следующий набор команд —
-
cs — очистить экран.
-
домой — принести черепаху на родину.
-
setpensize [5 5] — Установка размера пера.
-
setpencolor [255 0 0] — установка цвета пера на красный.
-
setfloodcolor [0 0 255] — установка синего цвета заливки .
-
setscreencolor [0 255 0] — Установка зеленого цвета экрана.
-
повторите 4 [fd 40 rt 90] — Нарисуйте квадрат с длиной стороны 40.
-
пу — ручка вверх.
-
setxy 20 20 — Поместите черепаху в координаты (20, 20).
-
fill — Заполните квадрат установленным заливочным синим цветом.
-
ht — Скрыть черепаху.
cs — очистить экран.
домой — принести черепаху на родину.
setpensize [5 5] — Установка размера пера.
setpencolor [255 0 0] — установка цвета пера на красный.
setfloodcolor [0 0 255] — установка синего цвета заливки .
setscreencolor [0 255 0] — Установка зеленого цвета экрана.
повторите 4 [fd 40 rt 90] — Нарисуйте квадрат с длиной стороны 40.
пу — ручка вверх.
setxy 20 20 — Поместите черепаху в координаты (20, 20).
fill — Заполните квадрат установленным заливочным синим цветом.
ht — Скрыть черепаху.
Вы должны получить следующий вывод о выполнении вышеуказанных команд.