Jump to content

UCBЛоготип

UCBЛоготип
UCBLogo допускает рекурсию — процесс, в котором процедура вызывает сама себя. На изображении спираль создается рекурсивным скриптом.
Парадигмы мультипарадигмальность : функционально- образовательная , процессуальная , рефлексивная.
Семья Лисп
Разработано Брайан Харви
Разработчики Дэн ван Блерком, Майкл Кац, Даг Орлеан.
Существенный вклад: Фриман Дойч, Кханг Дао, Фред Гилэм, Иегуда Кац, Джордж Миллс, Сэнфорд Оуингс, Рэнди Сарджент. [1]
Впервые появился 1992 год ; 32 года назад ( 1992 )
Стабильная версия
6.2.1 / 31 декабря 2020 г .; 3 года назад ( 31.12.2020 )
Дисциплина набора текста динамичный
Объем Динамический
Язык реализации С
Платформа ИА-32 , x86-64
ТЫ Windows , macOS , Linux
Лицензия лицензия GPL
Веб-сайт люди .eecs .Беркли .edu /~бх /логотип .html
Под влиянием
Лисп
Под влиянием
Smalltalk , Etoys , Scratch , NetLogo , KTurtle, Rebol

UCBLogo , также называемый Berkeley Logo , — это язык программирования , диалект Logo , произошедший от Lisp . Это диалект логотипа, призванный стать «минимальным стандартом логотипа». [2]

Он имеет лучшие возможности для обработки списков , файлов , ввода/вывода (I/O) и рекурсии . [3]

Его можно использовать для преподавания большинства концепций информатики, как утверждает Калифорнийского университета в Беркли преподаватель Брайан Харви. [4] сделал это в своей «Стиль логотипа компьютерной науки» . трилогии [5] [6] [7] Это бесплатное программное обеспечение с открытым исходным кодом, выпущенное под лицензией GNU General Public License (GPL). [8]

Дизайн [ править ]

Логотип был разработан с учетом низкого порога и отсутствия потолка, что позволяет новичкам легко войти и при этом удовлетворить потребности опытных пользователей. UCBLogo имеет элементарный графический интерфейс пользователя (GUI), поэтому существует несколько проектов, обеспечивающих лучший интерфейс. MSWLogo и его преемник FMSLogo для Microsoft Windows обычно используются в школах Великобритании и Австралии . [ нужна ссылка ] Для ввода/вывода (I/O) текст может быть записан в командное окно (выходной поток), используя распечатать и в графическое окно, используя этикетка .

Анимация требует как умения рисовать, так и стирать фигуры. Процесс тот же, за исключением того, что в первом случае строка наносится на устройство отображения, а во втором линия удаляется. Если использовать аналогию с черепахой, ручка черепахи должна рисовать, а ручка черепахи должна стирать. Черепаху можно настроить на стирание всего, что находится под ней, с помощью команды ПЕНЕРАЗА ( PE ), а перо можно настроить на возобновление рисования с помощью команды РУЧКА ( PPT ), в UCBLogo.

Ручка [ править ]

Черепаха рисует пунктирную линию

Часто используется аналогия с черепахой с ручкой, прикрепленной к ее хвосту. Загон черепахи можно поднимать и опускать, рисуя таким образом элементарную пунктирную линию.

Пример кода:

 FD 20 ; draw a line and move
 PENUP ; lift the pen so it draws nothing
 FD 20 ; move and not draw
 PENDOWN ; lower the pen so it draws again
 FD 20 ; draw a line and move
 PENUP ; lift the pen so it draws nothing
 FD 40 ; move and not draw
 PENDOWN ; lower the pen so it draws again
 RT 20 ; rotate right (clockwise) 20 degrees

Данные [ править ]

В UCBLogo есть три типа данных: слово, список и массив (число — это частный случай слова). Интерпретатор определяет тип данных по контексту; статической типизации нет.

Префикс переменной двоеточием ( :) означает , что содержимое передается по ссылке. Символ двойной кавычки ( " ) означает, что слово оценивается само по себе : оно не состоит из открывающих и закрывающих кавычек, как это происходит во многих других языках. Число представляет собой особый случай самооценки и может использоваться как с предшествующей, так и без нее. цитировать.

переменных Назначение обрабатывается с помощью сделать команду:

make "x sum :y 3

make принимает 2 параметра, второй из которых здесь sum :y "3. Сумма принимает два «параметра» и является «операцией», поэтому расчет возможен.

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

Logo наследует списки от Lisp , и они являются его основным методом хранения векторов. Преимущество списка перед массивом состоит в том, что его можно бесконечно расширять. Список можно рассматривать как очередь с операторами очереди и удаления из очереди или стек с операциями push и pop. Список свойств — это специальный список, в котором элементы с нечетными числами являются именами свойств, а четные — значениями свойств.

Логотип предоставляет несколько общих структур управления . Есть одна условная конструкция , ifelse test [ do_if_true list ] [do_if_false list]. Есть три команды итерации ( пока , до тех пор , и повторить ). Рекурсия , а не итерация, является предпочтительной парадигмой обработки Logo.

Logo также предоставляет структуры управления на основе списков. Основная идея состоит в двух списках:

OPERATION [ a list of commands ] [ many data items ]

Каждая из команд применяется поочередно к каждому элементу данных. Существует несколько таких шаблонных команд с такими именами, как КАРТА, ПРИМЕНИТЬ, ФИЛЬТР, FOREACH, УМЕНЬШИТЬ и КАСКАД . Они представляют четыре разновидности итерации шаблона, известные как явный слот, именованная процедура, именованный слот (или лямбда) и текст процедуры.

Синтаксис [ править ]

Базовый стул
Шаблон

Команды могут быть записаны в одну или несколько строк. Многие команды имеют мнемонические краткие формы; например ВПЕРЕД и ПРАВЫЕ закодированы ФД и РТ соответственно. Это делает ввод менее обременительным. Все, что написано после ; (точка с запятой) игнорируется, позволяя программисту вставлять комментарии.

 ; draws a square with sides 100 units long
 FORWARD 100
 LEFT 90
 FORWARD 100
 LEFT 90
 FORWARD 100
 LEFT 90
 FORWARD 100
 LEFT 90
 FD 100 RT 120 FD 100 RT 120 ; draws a triangle
 FD 100 RT 120

Программа Hello World в Logo выглядит так:

 print [Hello World]

Математика в логотипе использует префикс или польскую нотацию , например: сумма :x :y, произведение :x :y, разность :x :y, частное :x :y . Инфикс также доступен.

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

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

Процедуры можно определить в командной строке, используя команду К ... КОНЕЧНАЯ пара:

TO CHAIR
REPEAT 4 [FD 100 RT 90]  FD 200
END

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

См. также [ править ]

  • Микромиры
  • StarLogo - язык моделирования на основе агентов.
  • NetLogo - страницы языка программирования

Ссылки [ править ]

  1. ^ Харви, Брайан (1997). Том 1: Символьные вычисления: Благодарности . Стиль логотипа информатики. Том. 1. Пресс-центр Массачусетского технологического института . ISBN  0-262-58148-5 . Проверено 6 мая 2019 г. {{cite book}}: |website= игнорируется ( помогите )
  2. ^ Соломон, Синтия; Харви, Брайан; Кан, Кен; Либерман, Генри; Миллер, Марк; Мински, Маргарет; Паперт, Артемида; Сильверман, Брайан (июнь 2020 г.). «История логотипа». Учеб. Программа АКМ. Ланг . 4 : 1–66. дои : 10.1145/3386329 . hdl : 1721.1/133952 . S2CID   219012246 .
  3. ^ «Язык программирования логотипов» . Фонд логотипа . 2012. Архивировано из оригинала 15 августа 2013 г. Проверено 6 мая 2019 г.
  4. ^ Харви, Брайан. «Брайан Харви» . Электротехника и информатика . Калифорнийский университет в Беркли . Проверено 6 мая 2019 г.
  5. ^ Харви, Брайан (1997). Том 1: Символические вычисления . Стиль логотипа информатики. Том. 1. Пресс-центр Массачусетского технологического института . ISBN  0-262-58148-5 . Проверено 6 мая 2019 г. {{cite book}}: |website= игнорируется ( помогите )
  6. ^ Харви, Брайан (1997). Том 2: Передовые методы . Стиль логотипа информатики. Том. 2. Нажмите MIT . ISBN  0-262-58149-3 . Проверено 6 мая 2019 г. {{cite book}}: |website= игнорируется ( помогите )
  7. ^ Харви, Брайан (1997). Том 3: За пределами программирования . Стиль логотипа информатики. Том. 3. Нажмите MIT . ISBN  0-262-58150-7 . Проверено 6 мая 2019 г. {{cite book}}: |website= игнорируется ( помогите )
  8. ^ Харви, Брайан (14 сентября 2008 г.). «Выпуск 6.0 логотипа Berkeley теперь доступен по анонимному FTP или через Интернет» . Электротехника и информатика . Калифорнийский университет в Беркли . Проверено 9 мая 2019 г.

Внешние ссылки [ править ]

Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 97945bd38c27546f5ae706888f5a4735__1708151760
URL1:https://arc.ask3.ru/arc/aa/97/35/97945bd38c27546f5ae706888f5a4735.html
Заголовок, (Title) документа по адресу, URL1:
UCBLogo - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)