LibreLogo
LibreLogo - просте локалізоване Logo-подібне середовище програмування черепашачої векторної графіки для викладання комп'ютингу (програмування та обробка текстів), комп'ютерної верстки та графічного дизайну. Див. http://www.numbertext.org/logo/librelogo.pdf.
Панель інструментів LibreLogo
Панель інструментів LibreLogo (
) містить елементи керування, призначені для переміщення черепахи, запуску та зупинки програми, очищення екрану, піктограми редактора/підсвічування синтаксису/перекладу, а також панель вводу (командний рядок).Піктограми руху черепашки
Вони еквівалентні командам Logo “FORWARD 10”, “BACK 10”, “LEFT 15”, “RIGHT 15”. Після клацання на них також прокручується сторінка, щоб показати черепашку.
Запустити програму Logo
Клацніть піктограму “Запуск програми Logo”, щоб виконати текст (або тільки виділений текст) у Writer документі як програму LibreLogo. У порожній документ буде вставлена та виконана програма-приклад.
Натисніть на кнопку “STOP” для зупинки виконання програми.
Домівка
Клацніть піктограму “HOME”, аби обнулити розташування та параметри черепашки.
Очистити екран
Клацніть піктограму “CLEARSCREEN” для вилучення накреслених об'єктів із документа.
Програмний редактор/Підсвічування синтаксису/Переклад
Піктограма “Чарівна паличка” встановлює 2-сторінкову розмітку для редагування програми, доповнює скорочені команди та переводить у верхній регістр команди Logo, набрані в документі Writer у нижньому регістрі. Змініть мову документа (
) та клацніть на цій піктограмі, щоб перекласти програму Logo на вибрану мову.Командний рядок
Натисніть Enter у командному рядку для виконання його вмісту. Щоб зупинити програму, використовуйте піктограму “STOP”.
Утримуйте Enter, щоб повторювати виконання командного рядка, наприклад, для наступної послідовності команд:
FORWARD 200 LEFT 89
Щоб замінити командний рядок, тричі клацніть у ньому чи натисніть Ctrl-A, щоб вибрати попередні команди, і наберіть нові команди.
Графічний інтерфейс користувача для основних налаштувань черепахи
Черепаха LibreLogo це звичайний графічний об'єкт фіксованого розміру. Ви можете переміщувати та повертати його стандартними засобами, за допомогою миші, та піктограми "Обернути" на панелі "Властивості рисунка". Зміна налаштування Ширини Лінії, Кольору Лінії, Кольору Заповнення малюнку черепахи, змінить PENSIZE, PENCOLOR та FILLCOLOR властивості LibreLogo.
Редагування програми
Рисунки та програми LibreLogo використовують один і той самий документ Writer. Полотно LibreLogo знаходиться на першій сторінці документа Writer. Ви можете вставити розрив сторінки перед програмою LibreLogo та встановити масштаб сторінки за допомогою “чарівної палички” з панелі інструментів Logo, а також змінити розмір шрифту для зручного перегляду 2-сторінкової розмітки в процесі програмування на LibreLogo: ліва (перша) сторінка це полотно, а права (друга) сторінка це редактор LibreLogo програми.
Мова програмування LibreLogo
LibreLogo — мова програмування, подібна до Logo, яка легко локалізується та перекладена на декілька мов мовними громадами LibreOffice. Має зворотну сумісність зі старими системами Logo у випадку простих програм Logo, що використовуються в освіті.
TO трикутник :розмір
REPEAT 3 [
FORWARD :розмір
LEFT 120
]
END
трикутник 10 трикутник 100 трикутник 200
Відмінності від мови програмування Logo
-
Елементи списку відокремлюються комами: POSITION [0, 0]
-
Блоки та списки програм відрізняються
-
-
Блоки програми відділяються пробілом або новим рядком у дужках: REPEAT 10 [ FORWARD 10 LEFT 36 ]
-
Спискам потрібні близькі дужки: POSITION [0, 0], а не POSITION [ 0, 0 ]
-
-
Оголошення 1-рядкової функції не підтримуються (TO та END потребують нових рядків).
Інші особливості LibreLogo
-
Двокрапка - необов'язкова перед назвами змінних.
TO трикутник розмір
REPEAT 3 [ FORWARD розмір LEFT 120 ]
END -
Запис рядків підтримує також видавничий та Python синтаксиси.
PRINT "слово ; оригінальний синтаксис Logo
PRINT “Довільний текст.” ; видавничий, Writer
PRINT 'Довільний текст.' ; синтаксис Python -
Обробка списків і рядків Python
PRINT “текст”[2] ; print “к”
PRINT “текст”[1:3] ; print “ек” -
Цикл FOR як у Python
-
Оголошення змінних як у Python:
x = 15
PRINT x -
Не існує ніяких додаткових функцій запитів:
PRINT FILLCOLOR
p = POSITION
PRINT p
REPEAT 10 [ POSITION ANY POSITION p ] -
Альтернативний синтаксис дужок у викликах функції
TO зірка розмір колір
FILLCOLOR колір
REPEAT 5 [ LEFT 72 FORWARD розмір RIGHT 144 FORWARD розмір ]
FILL
END
зірка 100 “red”
зірка (100, “green”)
зірка(100, “blue”)
Команди LibreLogo
Основний синтаксис
Чутливість до регістру
Команди та назви кольорів не чутливі до регістру:
PRINT “Привіт, світе!”
print “Привіт знову, світе!”
Назви змінних чутливі до регістру:
a = 5
A = 7
PRINT a
PRINT A
Рядки програми
Рядки програми LibreLogo є абзацами в документі LibreOffice Writer. Рядок програми може містити декілька команд:
PRINT “Привіт, світе!” PRINT “LibreLogo”
Коментарі
Рядки або їхні частинки стають коментарями від місця вставки крапки з комою до кінця рядка (абзацу):
; деякі коментарі
PRINT 5 * 5 ; деякі коментарі
Розрив рядків програми на декілька абзаців
Можна розбити рядок програми на кілька абзаців, ставлячи тильду в кінці рядка:
PRINT “Це дуже довге ” + ~
“повідомлення із попередженням”
Черепашачі рухи
FORWARD (fd)
FORWARD 10 ; рух вперед 10pt (1pt = 1/72 inch)
FORWARD 10pt ; дивися вище
FORWARD 0.5in ; рух вперед 0.5 inch (1 inch = 2.54 cm)
FORWARD 1" ; дивися вище
FD 1mm
FD 1cm
BACK (bk)
BACK 10 ; рух назад 10pt
LEFT (lt)
LEFT 90 ; поворот проти годинникової стрілки на 90 градусів
LEFT 90° ; дивись вище
LT 3h ; дивись вище (позиція за годинником)
LT any ; поворот у випадкову позицію
RIGHT (rt)
RIGHT 90 ; поворот за годинниковою стрілкою на 90 градусів
PENUP (pu)
PENUP ; черепаха буде рухатися не малюючи
PENDOWN (pd)
PENDOWN ; під час руху черепаха буде малювати
POSITION (pos)
POSITION [0, 0] ; поворот та рух у лівий верхній кут
POSITION PAGESIZE ; поворот та рух у правий нижній кут
POSITION [PAGESIZE[0], 0] ; поворот та рух у правий верхній кут
POSITION ANY ; поворот та рух у випадкову позицію
HEADING (seth)
HEADING 0 ; поворот на північ
HEADING 12h ; дивись вище
HEADING [0, 0] ; поворот до лівого верхнього кута
HEADING ANY ; поворот у випадковому напрямку
Інші команди для черепахи
HIDETURTLE (ht)
HIDETURTLE ; приховати черепаху (перед використанням команди showturtle)
SHOWTURTLE (st)
SHOWTURTLE ; показати черепаху
HOME
HOME ; скинути положення черепахи до початкового
CLEARSCREEN (cs)
CLEARSCREEN ; видалити накреслені об'єкти з документа
FILL та CLOSE
FILL ; замкнути та заповнити поточну форму лінії або точок
CLOSE ; замкнути поточну форму лінії або з'єднати поточні точки
Приклад: заповнення правильного трикутника:
FORWARD 50 LEFT 120 FORWARD 50 FILL
Приклад: малювання правильного трикутника:
FORWARD 50 LEFT 120 FORWARD 50 CLOSE
Налаштування пера
PENSIZE (ps)
PENSIZE 100 ; ширина лінії 100 пунктів
PENSIZE ANY ; рівнозначно PENSIZE RANDOM 10
PENCOLOR/PENCOLOUR (pc)
PENCOLOR “red” ; встановити червоний колір пера (за назвою кольору, дивіться колірні константи)
PENCOLOR [255, 255, 0] ; встановити жовтий колір (RGB список)
PENCOLOR 0xffff00 ; встановити жовтий колір (шістнадцятковий код)
PENCOLOR 0 ; встановити чорний колір (0x000000)
PENCOLOR ANY ; випадковий колір
PENCOLOR [5] ; встановити червоний колір (за ідентифікатором кольору, дивіться колірні константи)
PENCOLOR “invisible” ; невидимий колір пера, для форми без видимих контурів
PENCOLOR “~red” ; встановити випадковий червоний колір
PENTRANSPARENCY
PENTRANSPARENCY 80 ; встановити прозорість поточного кольору пера до 80%
PENCAP/LINECAP
PENCAP “none” ; без особового кінця лінії (за замовчуванням)
PENCAP “round” ; закруглене закінчення лінії
PENCAP “square” ; прямокутне закінчення лінії
PENJOINT/LINEJOINT
PENJOINT “rounded” ; закруглене з'єднання ліній (за замовчуванням)
PENJOINT “miter” ; загострене з'єднання ліній
PENJOINT “bevel” ; скошене з'єднання ліній
PENJOINT “none” ; без з'єднання ліній
PENSTYLE
PENSTYLE “solid” ; суцільна лінія (за замовчуванням)
PENSTYLE “dotted” ; поцяткована лінія
PENSTYLE “dashed” ; пунктирна лінія
; користувацький шаблон точка-тире визначається списком з наступними аргументами:
; – кількість сусідніх крапок
; – довжина крапки
; – кількість сусідніх рисок
; – довжина тире
; – відстань між крапками/тире
; – Тип (необов'язково):
; 0 = крапки є прямокутниками (за замовчуванням)
; 2 = крапки є квадратами (довжини та відстані відносні до PENSIZE)
PENSTYLE [3, 1mm, 2, 4mm, 2mm, 2] ; ...––...––...––
Налаштування заповнення
FILLCOLOR/FILLCOLOUR (fc)
FILLCOLOR “blue” ; залити синім кольором, дивіться також PENCOLOR
FILLCOLOR “invisible” CIRCLE 10 ; незаповнене коло
FILLCOLOR [“blue”, “red”] ; градієнт між червоним та синім
FILLCOLOR [[255, 255, 255], [255, 128, 0]] ; між білим та помаранчевим
FILLCOLOR [“blue”, “red”, 1, 0, 0] ; встановити осьовий градієнт (з необхідними параметрами повороту та контуру), можливі значення: 0-5 = лінійний, осьовий, радіальний, еліптичний, квадратний та прямокутний градієнти
FILLCOLOR [“red”, “blue”, 0, 90, 20] ; лінійна з 20% контуром, повернена на 90 градусів від поточного напрямку черепахи
FILLCOLOR [“red”, “blue”, 0, 90, 20, 0, 0, 200, 50] ; від 200% до 50% інтенсивності
FILLCOLOR [ANY, ANY, 2, 0, 0, 50, 50] ; радіальний градієнт з випадковими кольорами та з положенням центру 50-50% за горизонталлю та вертикаллю
FILLTRANSPARENCY
FILLTRANSPARENCY 80 ; встановити прозорість поточного кольору заповнення до 80%
FILLTRANSPARENCY [80] ; встановити лінійний градієнт прозорості від 80% до 0%
FILLTRANSPARENCY [80, 20] ; встановити лінійний градієнт прозорості від 80% до 20%
FILLTRANSPARENCY [80, 20, 1, 90] ; встановити осьовий градієнт прозорості повернений на 90 градусів від поточного напрямку черепахи
FILLTRANSPARENCY [80, 20, 2, 0, 20, 50, 50] ; встановити радіальний градієнт прозорості від 80% зовнішньої до 20% внутрішньої прозорості з 20% контуром та з положенням центру 50-50% за горизонталлю та вертикаллю
FILLSTYLE
FILLSTYLE 0 ; заповнити без штрихування (за замовчуванням)
FILLSTYLE 1 ; чорні поодинокі штрихи (горизонтальні)
FILLSTYLE 2 ; чорні поодинокі штрихи (45 градусів)
FILLSTYLE 3 ; чорні поодинокі штрихи (-45 градусів)
FILLSTYLE 4 ; чорні поодинокі штрихи (вертикальні)
FILLSTYLE 5 ; червоні схрещені штрихи (45 градусів)
FILLSTYLE 6 ; червоні схрещені штрихи (0 градусів)
FILLSTYLE 7 ; сині схрещені штрихи (45 градусів)
FILLSTYLE 8 ; сині схрещені штрихи (0 градусів)
FILLSTYLE 9 ; сині тричі схрещені
FILLSTYLE 10 ; чорні широкі поодинокі штрихи (45 градусів)
; довільне штрихування налаштовується списком з наступних параметрів:
; – стиль (1 = поодиноке, 2 = подвійне, 3 = потрійне штрихування)
; – колір
; – відстань
; – градус нахилу
FILLSTYLE [2, “green”, 3pt, 15°] ; зелені схрещені штрихи (15 градусів)
Малювання об'єктів
CIRCLE
CIRCLE 100 ; намалювати коло (діаметр = 100pt)
ELLIPSE
ELLIPSE [50, 100] ; намалювати еліпс з діаметрами 50 та 100
ELLIPSE [50, 100, 2h, 12h] ; намалювати еліптичний сектор (від 2 годинної до 12 годинної годинникової позиції)
ELLIPSE [50, 100, 2h, 12h, 2] ; намалювати еліптичний сегмент
ELLIPSE [50, 100, 2h, 12h, 3] ; намалювати еліптичну дугу
SQUARE
SQUARE 100 ; намалювати квадрат (розмір = 100pt)
RECTANGLE
RECTANGLE [50, 100] ; намалювати прямокутник (50×100pt)
RECTANGLE [50, 100, 10] ; намалювати прямокутник із заокругленими кутами
POINT
POINT ; намалювати крапку з розміром та кольором пера
CLOSE може об'єднати крайні точки, FILL може заповнити форму, визначену точками. Приміром, можна легко намалювати “пласку” зірку починаючи від її центру:
PENUP
REPEAT 5 [
FORWARD 80
POINT
BACK 80
RIGHT 36
FORWARD 50
POINT
BACK 50
RIGHT 120
] FILL
LABEL
LABEL “текст” ; надрукувати текст у позиції черепахи
LABEL 'текст' ; дивись вище
LABEL "текст ; дивись вище (тільки для поодиноких слів)
TEXT
CIRCLE 10 TEXT “текст” ; встановити текст поточного об'єкта малювання
Налаштування шрифту
FONTCOLOR/FONTCOLOUR
FONTCOLOR “green” ; встановити колір шрифту
FONTFAMILY
FONTFAMILY “Linux Libertine G” ; встановити шрифт (сімейство)
FONTFAMILY “Linux Libertine G:smcp=1” ; встановити також рису шрифту (капітель)
FONTFAMILY “Linux Libertine G:smcp=1&onum=1” ; капітель + старі фігури
FONTSIZE
FONTSIZE 12 ; встановити розмір шрифту 12pt
FONTWEIGHT
FONTWEIGHT “bold” ; встановити жирний шрифт
FONTWEIGHT “normal” ; встановити нормальну вагу
FONTSTYLE
FONTSTYLE “italic” ; встановити курсивний стиль
FONTSTYLE “normal” ; встановити звичайний стиль
PICTURE (pic)
PICTURE використовується для
-
групування фігур;
-
початку створення нових фігур;
-
зберігання SVG зображень та SVG/SMIL анімацій;
-
зберігання узгодженості положень та ліній фігур по лівій межі.
Групування фігур
; PICTURE [ команди_LibreLogo ]
PICTURE [ FORWARD 100 CIRCLE 100 ] ; деревоподібне групування фігури
Дивіться більше про “Групування” в довідці LibreOffice Writer.
TO дерево розташоване
PENUP POSITION розташоване HEADING 0 PENDOWN
PICTURE [ FORWARD 100 CIRCLE 100 ] ; деревоподібне групування фігури
END
PICTURE [ дерево [230, 400] дерево [300, 400] ] ; згруповані фігури у згрупованій фігурі
Початок створення нових фігур
PICTURE ; почати нову фігуру
FORWARD 10 PICTURE FORWARD 10 ; дві фігури
Збереження SVG зображень
PICTURE “приклад.svg” [ CIRCLE 5 ] ; зберегти зображення SVG як файл зображення у теку користувача
PICTURE “Стільниця/приклад.svg” [ FORWARD 100 CIRCLE 5 ] ; як зазначено вище, з відносним шляхом
PICTURE “/home/користувач/приклад.svg” [ CIRCLE 5 ] ; абсолютний шлях для Unix/Linux
PICTURE “C:\приклад.svg” [ CIRCLE 5 ] ; абсолютний шлях для Windows
Збереження SVG/SMIL анімацій (малюнки із командами SLEEP)
PICTURE “анімація.svg” [ CIRCLE 5 SLEEP 1000 CIRCLE 99 ] ; зберегти як SVG/SMIL анімацію (дивись також SLEEP)
PICTURE “анімація2.svg” [ CIRCLE 5 SLEEP 1000 CIRCLE 99 SLEEP 2000 ] ; як попереднє, але використання SLEEP після останнього об'єкту призведе до зациклювання: за 2 секунди SVG анімація перезапускатиметься у SMIL-сумісних браузерах
Узгодженість по лівій межі
Використовуйте PICTURE щоб зберегти узгодженість положень та ліній фігур по лівій межі документа Writer:
PICTURE [ CIRCLE 20 POSITION [-100, 100] CIRCLE 20 ]
Цикли
REPEAT
; REPEAT кількість [ команди ]
REPEAT 10 [ FORWARD 10 LEFT 45 CIRCLE 10 ] ; повторити 10 разів
; кількість необов'язкова
REPEAT [ POSITION ANY ] ; нескінченний цикл
REPCOUNT
Змінна циклу (також у FOR та WHILE циклах).
REPEAT 100 [ FORWARD REPCOUNT LEFT 90 ]
FOR IN
Цикл для елементів списку:
FOR i IN [1, 5, 7, 9, 11] [
FORWARD i
LEFT 90
]
Цикл для символів у послідовності символів:
FOR i IN “текст” [
LABEL i
FORWARD 10
]
WHILE
WHILE TRUE [ POSITION ANY ] ; нескінченний цикл
WHILE REPCOUNT <= 10 [ FORWARD 50 LEFT 36 ] ; як REPEAT 10 [ ... ]
BREAK
Зупинити цикл.
REPEAT [ ; нескінченний цикл
POSITION ANY
IF REPCOUNT = 100 [ BREAK ] ; еквівалент REPEAT 100 [ ... ]
]
CONTINUE
Перехід до наступної ітерації циклу.
REPEAT 100 [
POSITION ANY
IF REPCOUNT % 2 = 0 [ CONTINUE ]
CIRCLE 10 ; малювати кола на кожній 2-й позиції
]
Умови
IF
; IF умова [ істинний блок ]
; IF умова [ істинний блок ] [ неправдивий блок ]
IF a < 10 [ PRINT “Мале” ]
IF a < 10 [ PRINT “Мале” ] [ PRINT “Велике” ]
AND, OR, NOT
Логічні оператори.
IF a < 10 AND NOT a = 5 [ PRINT “0, 1, 2, 3, 4, 6, 7, 8 або 9” ]
IF a < 10 AND a != 5 [ PRINT “0, 1, 2, 3, 4, 6, 7, 8 або 9” ] ; еквівалентно попередньому
Підпрограми
TO, END
Нове слово (або процедура).
TO трикутник
REPEAT 2 [ FORWARD 100 RIGHT 120 ] FILL
END
REPEAT 10 [ трикутник PENUP POSITION ANY PENDOWN ]
OUTPUT
Повертає значення функції.
TO випадкова_літера
OUTPUT RANDOM “йцукенгшщзхїфівапролджєґячсмитьбю”
END
PRINT випадкова_літера + випадкова_літера + випадкова_літера ; друкувати 3-буквену послідовність випадкових символів
STOP
Повернення з процедури.
TO приклад число
IF число < 0 [ STOP ]
PRINT SQRT число ; надрукувати квадратний корінь
]
приклад 100
приклад -1 ; без виводу та помилки
приклад 25
Вбудовані змінні
ANY
Типове випадкове значення кольорів, тощо.
PENCOLOR ANY ; випадковий колір пера
TRUE
Логічне значення.
WHILE TRUE [ POSITION ANY ] ; нескінченний цикл
PRINT TRUE ; друкувати TRUE
FALSE
Логічне значення.
WHILE NOT FALSE [ POSITION ANY ] ; нескінченний цикл
PRINT FALSE ; друкувати FALSE
PAGESIZE
PRINT PAGESIZE ; друкувати список розмірів сторінки в точках, наприклад [595.30, 841.89]
PI/π
PRINT PI ; надрукує 3.14159265359
Ввід/Вивід
PRINT “текст” ; надрукує “текст” у діалоговому вікні
PRINT 5 + 10 ; надрукує 15
INPUT
PRINT INPUT “Введіть рядок” ; запитати та надрукувати рядок у діалоговому вікні запиту
PRINT FLOAT (INPUT “Перше число?”) + FLOAT (INPUT “Друге число?”) ; простий калькулятор
SLEEP
SLEEP 1000 ; чекати 1000 мс (1 сек)
GLOBAL
Встановлює глобальні змінні, використовувані в процедурах.
GLOBAL про
про = “LibreLogo”
TO приклад
PRINT про
GLOBAL про ; коли ми хочемо додати нове значення
про = “нове значення глобальної змінної”
END
приклад
PRINT про
Функції
RANDOM
PRINT RANDOM 100 ; випадкове число з рухомою комою (0 <= x < 100)
PRINT RANDOM “текст” ; випадкова літера із “текст”
PRINT RANDOM [1, 2] ; випадковий елемент списку (1 або 2)
INT
PRINT INT 3.8 ; надрукує 3 (ціла частина 3.8)
PRINT INT RANDOM 100 ; випадкове ціле число (0 <= x < 100)
PRINT INT “7” ; конвертує рядковий параметр в ціле
FLOAT
; конвертує рядковий параметр в число з рухомою комою
PRINT 2 * FLOAT “5.5” ; надрукує 11.0
STR
; конвертує числовий параметр в рядок
PRINT “Результат: ” + STR 5 ; надрукує “Результат: 5”
PRINT 10 * STR 5 ; надрукує 5555555555
SQRT
PRINT SQRT 100 ; надрукує 10, квадратний корінь зі 100
SIN
PRINT SIN 90 * PI/180 ; надрукує 1.0 (синус 90° в радіанах)
COS
PRINT COS 0 * PI/180 ; надрукує 1.0 (косинус 0° в радіанах)
LOG10
PRINT LOG10 100 ; надрукує 2.0 (десятковий логарифм 100)
ROUND
PRINT ROUND 3.8 ; надрукує 4 (округлення 3.8)
PRINT ROUND RANDOM 100 ; випадкове ціле число (0 <= x <= 100)
ABS
PRINT ABS -10 ; надрукує 10, абсолютне значення -10
COUNT
PRINT COUNT “текст” ; надрукує 5, кількість символів у “текст”
PRINT COUNT [1, 2, 3] ; надрукує 3, розмір списку
SET
; Конвертує список у Python набір
PRINT SET [4, 5, 6, 6] ; надрукує {4, 5, 6}
PRINT SET [4, 5, 6, 6] | SET [4, 1, 9] ; надрукує {1, 4, 5, 6, 9}, об'єднання
PRINT SET [4, 5, 6, 6] & SET [4, 1, 9] ; надрукує {4}, перетин
PRINT SET ([4, 5, 6, 6]) - SET [4, 1, 9] ; надрукує {5, 6}, розбіжність
PRINT SET [4, 5, 6, 6] ^ SET [4, 1, 9] ; надрукує {1, 5, 9, 6}, симетрична розбіжність
RANGE
; Python-подібний генератор списку
PRINT RANGE 10 ; надрукує [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
PRINT RANGE 3 10 ; надрукує [3, 4, 5, 6, 7, 8, 9]
PRINT RANGE 3 10 3 ; надрукує [3, 6, 9]
FOR i IN RANGE 10 50 10 [ ; цикл для [10, 20, 30, 40]
FORWARD i
LEFT 90
]
LIST
; видалення повторюваних елементів списку за допомогою перетворення набору та списку
PRINT LIST (SET [1, 3, 5, 5, 2, 1]) ; надрукує [1, 2, 3, 5]
TUPLE
Перетворення на Python кортеж (список що не піддається змінам)
PRINT TUPLE [4, 5]
SORTED
Повертає відсортований список.
PRINT SORTED [5, 1, 3, 4] ; надрукує [1, 3, 4, 5]
SUB
Заміняє послідовності символів з використанням regex (регулярний вираз) шаблонів.
PRINT SUB (“т”, “Т”, “текст”) ; надрукує “ТексТ”, замінивши “т” на “Т”
PRINT SUB (“(.)”, “\\1\\1”, “текст”) ; надрукує “ттеекксстт”, подвоївши кожен символ
SEARCH
Пошук шаблонних послідовностей символів із використанням шаблонів регулярних виразів.
IF SEARCH (“\с”, "слово") [ PRINT “Є така літера у слові.” ]
FINDALL
Знайти всі послідовності символів у вхідному рядку, що відповідають заданому шаблону регулярного виразу.
PRINT FINDALL(“\w+”, “Собаки, кішки.”) ; надрукує [“Собаки”, “кішки”], список слів.
MIN
PRINT MIN [1, 2, 3] ; надрукує 1, найменший елемент списку
MAX
PRINT MAX [1, 2, 3] ; надрукує 3, найбільший елемент списку
Колірні константи
PENCOLOR “SILVER” ; встановити за назвою
PENCOLOR [1] ; встановити за ідентифікатором
PENCOLOR “~SILVER” ; випадковий срібний колір
Ідентифікатор |
Назва |
0 |
BLACK |
1 |
SILVER |
2 |
GRAY/GREY |
3 |
WHITE |
4 |
MAROON |
5 |
RED |
6 |
PURPLE |
7 |
FUCHSIA/MAGENTA |
8 |
GREEN |
9 |
LIME |
10 |
OLIVE |
11 |
YELLOW |
12 |
NAVY |
13 |
BLUE |
14 |
TEAL |
15 |
AQUA |
16 |
PINK |
17 |
TOMATO |
18 |
ORANGE |
19 |
GOLD |
20 |
VIOLET |
21 |
SKYBLUE |
22 |
CHOCOLATE |
23 |
BROWN |
24 |
INVISIBLE |