ເນື້ອໃນ

# LibreLogo

LibreLogo ແມ່ນສະພາບແວດລ້ອມການຂຽນໂປຣແກຣມແບບ Logo ທີ່ງ່າຍດາຍ ແລະ ຖືກປັບໃຫ້ເຂົ້າກັບທ້ອງຖິ່ນ ໂດຍມີການສະແດງຜົນຮູບພາບແບບເຕົ່າ ສຳລັບການສອນກ່ຽວກັບການຄຳນວນ (ການຂຽນໂປຣແກຣມ ແລະ ການປະມວນຜົນຄຳສັບ), DTP ແລະ ການອອກແບບກຣາຟິກ. ເບິ່ງໄດ້ທີ່ http://www.numbertext.org/logo/librelogo.pdf.

## ແຖບເຄື່ອງມື LibreLogo

ແຖບເຄື່ອງມື LibreLogo (ເບິ່ງ - ແຖບເຄື່ອງມື - Logo) ປະກອບມີໄອຄອນການເຄື່ອນທີ່ຂອງເຕົ່າ, ການເລີ່ມໂປຣແກຣມ, ການຢຸດ, ກັບຄືນຕຳແໜ່ງເລີ່ມຕົ້ນ, ການລ້າງໜ້າຈໍ, ຕົວແກ້ໄຂໂປຣແກຣມ/ການເນັ້ນໄວຍາກອນ/ການແປພາສາ ແລະ ແຖບປ້ອນຂໍ້ມູນ (ບັນທັດຄຳສັ່ງ).

## ໄອຄອນການເຄື່ອນທີ່ຂອງເຕົ່າ

ພວກມັນທຽບເທົ່າກັບຄຳສັ່ງ Logo “FORWARD 10” (ໄປໜ້າ), “BACK 10” (ຖອຍຫຼັງ), “LEFT 15” (ຊ້າຍ), “RIGHT 15” (ຂວາ). ການຄລິກໃສ່ໄອຄອນໃດໜຶ່ງຈະເປັນການເນັ້ນໃສ່ຮູບຮ່າງຂອງເຕົ່າ ແລະ ເລື່ອນໜ້າໄປຫາຕຳແໜ່ງຂອງມັນ.

## ເລີ່ມໂປຣແກຣມ Logo

ຄລິກໃສ່ໄອຄອນ “ເລີ່ມໂປຣແກຣມ Logo” ເພື່ອປະມວນຜົນຂໍ້ຄວາມ (ຫຼື ເພາະສ່ວນທີ່ເລືອກ) ຂອງເອກະສານ Writer ໃນຖານະເປັນໂປຣແກຣມ LibreLogo. ໃນເອກະສານທີ່ວ່າງເປົ່າ, ໂປຣແກຣມຕົວຢ່າງຈະຖືກແຊກເຂົ້າ ແລະ ປະມວນຜົນ.

ຄລິກໃສ່ໄອຄອນ “ຢຸດ” ເພື່ອຢຸດການປະມວນຜົນໂປຣແກຣມ.

## ກັບຄືນຕຳແໜ່ງເລີ່ມຕົ້ນ

ຄລິກໃສ່ໄອຄອນ “Home” ເພື່ອຕັ້ງຄ່າຕຳແໜ່ງ ແລະ ການຕັ້ງຄ່າຂອງເຕົ່າໃໝ່.

## ລ້າງໜ້າຈໍ

ຄລິກໃສ່ໄອຄອນ “ລ້າງໜ້າຈໍ” ເພື່ອລຶບວັດຖຸທີ່ແຕ້ມຢູ່ໃນເອກະສານອອກ.

## ຕົວແກ້ໄຂໂປຣແກຣມ/ການເນັ້ນໄວຍາກອນ/ການແປພາສາ

ໄອຄອນ “ໄມ້ກາຍະສິດ” ຈະຕັ້ງຄ່າການຈັດໜ້າເປັນ 2 ໜ້າສຳລັບການແກ້ໄຂໂປຣແກຣມ, ຂະຫຍາຍ ແລະ ປ່ຽນຄຳສັ່ງ Logo ທີ່ເປັນຕົວຫຍໍ້ ຫຼື ຕົວພິມນ້ອຍໃຫ້ເປັນຕົວພິມໃຫຍ່ໃນເອກະສານ Writer. ປ່ຽນພາສາຂອງເອກະສານ (LibreOffice - ການຕັ້ງຄ່າ ເຄື່ອງມື - ຕົວເລືອກ - ພາສາ ແລະ ທ້ອງຖິ່ນ - ທົ່ວໄປ - ຕາເວັນຕົກ) ແລະ ຄລິກໃສ່ໄອຄອນນີ້ເພື່ອແປໂປຣແກຣມ Logo ເປັນພາສາທີ່ເລືອກ.

## ບັນທັດຄຳສັ່ງ

ກົດ Enter ໃນບັນທັດຄຳສັ່ງເພື່ອປະມວນຜົນເນື້ອໃນ. ເພື່ອຢຸດໂປຣແກຣມ ໃຫ້ໃຊ້ໄອຄອນ “ຢຸດ”.

ກົດ Enter ຄ້າງໄວ້ເພື່ອເຮັດຄຳສັ່ງຊ້ຳ, ຕົວຢ່າງ, ໃນລຳດັບຄຳສັ່ງຕໍ່ໄປນີ້:

     FORWARD 200 LEFT 89

ເພື່ອຕັ້ງຄ່າບັນທັດຄຳສັ່ງໃໝ່ ໃຫ້ຄລິກສາມບາດ ຫຼື ກົດ Command Ctrl+A ເພື່ອເລືອກຄຳສັ່ງກ່ອນໜ້າ, ແລ້ວພິມຄຳສັ່ງໃໝ່.

## ສ່ວນຕິດຕໍ່ຜູ້ໃຊ້ກຣາຟິກສຳລັບການຕັ້ງຄ່າພື້ນຖານຂອງເຕົ່າ

ຮູບຮ່າງເຕົ່າຂອງ LibreLogo ແມ່ນວັດຖຸແຕ້ມທີ່ມີຂະໜາດຄົງທີ່ປົກກະຕິ. ທ່ານສາມາດກຳນົດຕຳແໜ່ງ ແລະ ໝູນມັນດ້ວຍວິທີມາດຕະຖານໄດ້ເຊັ່ນກັນ ໂດຍການໃຊ້ເມົາສ໌ ແລະ ໄອຄອນໝູນຂອງແຖບເຄື່ອງມືຄຸນສົມບັດວັດຖຸແຕ້ມ. ປັບປ່ຽນຄວາມໜາຂອງເສັ້ນ, ສີເສັ້ນ ແລະ ສີພື້ນທີ່ຂອງຮູບຮ່າງເຕົ່າເພື່ອຕັ້ງຄ່າຄຸນລັກສະນະ PENSIZE, PENCOLOR ແລະ FILLCOLOR ຂອງ LibreLogo.

## ການແກ້ໄຂໂປຣແກຣມ

ຮູບແຕ້ມ ແລະ ໂປຣແກຣມ LibreLogo ໃຊ້ເອກະສານ Writer ດຽວກັນ. ພື້ນທີ່ແຕ້ມຂອງ LibreLogo ຢູ່ໜ້າທຳອິດຂອງເອກະສານ Writer. ທ່ານສາມາດແຊກການຂຶ້ນໜ້າໃໝ່ກ່ອນໂປຣແກຣມ LibreLogo ແລະ ຕັ້ງຄ່າການຊູມໜ້າໂດຍໃຊ້ໄອຄອນ “ໄມ້ກາຍະສິດ” ຂອງແຖບເຄື່ອງມື Logo, ທັງຍັງສາມາດປ່ຽນຂະໜາດຕົວອັກສອນເພື່ອໃຫ້ຈັດໜ້າແບບ 2 ໜ້າໄດ້ສະດວກ: ໜ້າຊ້າຍ (ໜ້າທຳອິດ) ແມ່ນພື້ນທີ່ແຕ້ມ, ໜ້າຂວາ (ໜ້າທີສອງ) ແມ່ນຕົວແກ້ໄຂໂປຣແກຣມ LibreLogo.

# ພາສາຂຽນໂປຣແກຣມ LibreLogo

LibreLogo ແມ່ນພາສາຂຽນໂປຣແກຣມແບບ Logo ທີ່ປັບແຕ່ງພາສາທ້ອງຖິ່ນໄດ້ງ່າຍ, ເຊິ່ງຖືກແປເປັນຫຼາຍພາສາໂດຍຊຸມຊົນເຈົ້າຂອງພາສາຂອງ LibreOffice. ມັນສາມາດໃຊ້ຮ່ວມກັບລະບົບ Logo ເກົ່າໄດ້ໃນກໍລະນີຂອງໂປຣແກຣມ Logo ງ່າຍໆທີ່ໃຊ້ໃນການສຶກສາ, ຕົວຢ່າງ:

     TO triangle :size
     REPEAT 3 [
       FORWARD :size
       LEFT 120
     ]
     END

     triangle 10 triangle 100 triangle 200

## ຂໍ້ແຕກຕ່າງຈາກພາສາຂຽນໂປຣແກຣມ Logo

- ສະມາຊິກໃນລາຍການຈະແຍກກັນດ້ວຍເຄື່ອງໝາຍຈຸດ: POSITION [0, 0]

- ບລັອກໂປຣແກຣມ ແລະ ລາຍການແມ່ນແຕກຕ່າງກັນ

- - ບລັອກໂປຣແກຣມຕ້ອງການຍະຫວ່າງ ຫຼື ການຂຶ້ນບັນທັດໃໝ່ເມື່ອໃຊ້ວົງຂໍ: REPEAT 10 [ FORWARD 10 LEFT 36 ]

  - ລາຍການຕ້ອງການການໃຊ້ວົງຂໍແບບຕິດກັນ: POSITION [0, 0], ບໍ່ແມ່ນ POSITION [ 0, 0 ]

- ບໍ່ຮອງຮັບການປະກາດຟັງຊັນພາຍໃນບັນທັດດຽວ (TO ແລະ END ຕ້ອງຂຶ້ນບັນທັດໃໝ່).

## ຄຸນສົມບັດອື່ນໆຂອງ LibreLogo

- ເຄື່ອງໝາຍຈ້ຳສອງເມັດ (:) ສາມາດໃສ່ ຫຼື ບໍ່ໃສ່ກໍໄດ້ກ່ອນຊື່ຕົວປ່ຽນ.

       TO triangle size
         REPEAT 3 [ FORWARD size LEFT 120 ]
       END

- ການຂຽນສາຍອັກສອນ (String) ຮອງຮັບທັງແບບການຂຽນທົ່ວໄປ ແລະ ໄວຍາກອນ Python.

       PRINT "word ; ໄວຍາກອນ Logo ດັ່ງເດີມ
       PRINT “Arbitrary text.” ; ການຂຽນທົ່ວໄປ, Writer
       PRINT 'Arbitrary text.' ; ໄວຍາກອນ Python

- ການຈັດການລາຍການ ແລະ ສາຍອັກສອນແບບ Python

       PRINT “text”[2] ; ສະແດງ “x”
       PRINT “text”[1:3] ; ສະແດງ “ex”

- ການວົນຊ້ຳແບບ FOR ຄືກັບ Python

- ການປະກາດຕົວປ່ຽນແບບ Python:

       x = 15
       PRINT x

- ບໍ່ມີຟັງຊັນການສອບຖາມເພີ່ມເຕີມ:

       PRINT FILLCOLOR
       p = POSITION
       PRINT p
       REPEAT 10 [ POSITION ANY POSITION p ]

- ທາງເລືອກການໃຊ້ວົງເລັບໃນການເອີ້ນຟັງຊັນ

       TO star size color
       FILLCOLOR color
       REPEAT 5 [ LEFT 72 FORWARD size RIGHT 144 FORWARD size ]
       FILL
       END

       star 100 “red”
       star(100, “green”)
       star(100, “blue”)

# ຄຳສັ່ງ LibreLogo

## ໄວຍາກອນພື້ນຖານ

### ການແຍກຕົວພິມໃຫຍ່-ນ້ອຍ

ຄຳສັ່ງ ແລະ ຄ່າຄົງທີ່ຂອງສີ ບໍ່ແຍກຕົວພິມໃຫຍ່-ນ້ອຍ:

     PRINT “ສະບາຍດີ, ຊາວໂລກ!”
     print “ສະບາຍດີ, ຊາວໂລກ, ອີກຄັ້ງ!”

ຊື່ຕົວປ່ຽນແມ່ນແຍກຕົວພິມໃຫຍ່-ນ້ອຍ:

     a = 5
     A = 7
     PRINT a
     PRINT A

### ບັນທັດໂປຣແກຣມ

ບັນທັດຂອງໂປຣແກຣມ LibreLogo ແມ່ນຫຍໍ້ໜ້າໃນເອກະສານ Writer. ບັນທັດໂປຣແກຣມໜຶ່ງສາມາດປະກອບມີຫຼາຍຄຳສັ່ງ:

     PRINT “ສະບາຍດີ, ຊາວໂລກ!” PRINT “LibreLogo”

### ຄຳອະທິບາຍ (Comments)

ບັນທັດ ຫຼື ສ່ວນຂອງບັນທັດຈະເປັນຄຳອະທິບາຍ ນັບຕັ້ງແຕ່ເຄື່ອງໝາຍຈ້ຳຈຸດ (;) ໄປຈົນເຖິງທ້າຍບັນທັດ (ຫຍໍ້ໜ້າ):

     ; ຄຳອະທິບາຍບາງຢ່າງ
     PRINT 5 * 5 ; ຄຳອະທິບາຍບາງຢ່າງ

### ການແບ່ງບັນທັດໂປຣແກຣມເປັນຫຼາຍຫຍໍ້ໜ້າ

ສາມາດແບ່ງບັນທັດໂປຣແກຣມອອກເປັນຫຼາຍຫຍໍ້ໜ້າໄດ້ ໂດຍການໃຊ້ຕົວອັກສອນ tilde (~) ຢູ່ທ້າຍບັນທັດ:

     PRINT “This is a very long ” + ~
           “warning message”

## ການເຄື່ອນທີ່ຂອງເຕົ່າ

### FORWARD (fd) - ໄປໜ້າ

     FORWARD 10 ; ໄປໜ້າ 10pt (1pt = 1/72 ນິ້ວ)
     FORWARD 10pt ; ຄືກັບຂ້າງເທິງ
     FORWARD 0.5in ; ໄປໜ້າ 0.5 ນິ້ວ (1 ນິ້ວ = 2.54 ຊມ)
     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 points
     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 = ຈຸດເປັນຮູບສີ່ຫຼ່ຽມຈັດຕຸລັດ (ຄວາມຍາວ ແລະ ໄລຍະຫ່າງຈະທຽບກັບຂະໜາດປາກກາ)

     PENSTYLE [3, 1mm, 2, 4mm, 2mm, 2] ; ...––...––...––

## ການຕັ້ງຄ່າການຖອກສີ

### FILLCOLOR/FILLCOLOUR (fc) - ສີຖອກ

     FILLCOLOR “blue” ; ຖອກດ້ວຍສີຟ້າ
     FILLCOLOR “invisible” CIRCLE 10 ; ວົງມົນທີ່ບໍ່ມີການຖອກສີ
     FILLCOLOR [“blue”, “red”] ; ໄລ່ສີລະຫວ່າງສີຟ້າ ແລະ ສີແດງ
     FILLCOLOR [[255, 255, 255], [255, 128, 0]] ; ລະຫວ່າງສີຂາວ ແລະ ສີສົ້ມ
     FILLCOLOR [“blue”, “red”, 1, 0, 0] ; ຕັ້ງການໄລ່ສີແບບຕາມແກນ (axial), ຄ່າທີ່ເປັນໄປໄດ້: 0-5 = linear, axial, radial, elliptical, square ແລະ rectangle
     FILLCOLOR [“red”, “blue”, 0, 90, 20] ; ແບບເສັ້ນ (linear) ມີຂອບ 20%, ໝູນ 90 ອົງສາຈາກທິດທາງຂອງເຕົ່າ
     FILLCOLOR [“red”, “blue”, 0, 90, 20, 0, 0, 200, 50] ; ຈາກຄວາມເຂັ້ມ 200% ຫາ 50%
     FILLCOLOR [ANY, ANY, 2, 0, 0, 50, 50] ; ການໄລ່ສີແບບລັດສະໝີ (radial) ດ້ວຍສີແບບສຸ່ມ ແລະ ກຳນົດຕຳແໜ່ງຈຸດສູນກາງ

### 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] ; ຕັ້ງການໄລ່ຄວາມໂປ່ງໃສແບບລັດສະໝີ

### 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]  ; ແຕ້ມສ່ວນຕັດວົງຮີ (segment)
     ELLIPSE [50, 100, 2h, 12h, 3]  ; ແຕ້ມເສັ້ນໂຄ້ງວົງຮີ (arc)

### 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 “text” ; ຂຽນຂໍ້ຄວາມຢູ່ຕຳແໜ່ງຂອງເຕົ່າ
     LABEL 'text' ; ຄືກັບຂ້າງເທິງ
     LABEL "text ; ຄືກັບຂ້າງເທິງ (ໃຊ້ໄດ້ສະເພາະຄຳດຽວ)

### TEXT - ຂໍ້ຄວາມໃນວັດຖຸ

     CIRCLE 10 TEXT “text” ; ກຳນົດຂໍ້ຄວາມໃສ່ໃນວັດຖຸທີ່ແຕ້ມປັດຈຸບັນ

## ການຕັ້ງຄ່າຕົວອັກສອນ

### FONTCOLOR/FONTCOLOUR - ສີຕົວອັກສອນ

     FONTCOLOR “green” ; ຕັ້ງສີຕົວອັກສອນ

### FONTFAMILY - ແບບຕົວອັກສອນ

     FONTFAMILY “Linux Libertine G” ; ຕັ້ງຄອບຄົວຕົວອັກສອນ
     FONTFAMILY “Linux Libertine G:smcp=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 tree location
       PENUP POSITION location HEADING 0 PENDOWN
       PICTURE [ FORWARD 100 CIRCLE 100 ] ; ຮູບຮ່າງທີ່ຈັດກຸ່ມຄືກັບຕົ້ນໄມ
     END

     PICTURE [ tree [230, 400] tree [300, 400] ] ; ການຈັດກຸ່ມຊ້ອນກຸ່ມ

### ການເລີ່ມຕົ້ນຮູບຮ່າງເສັ້ນໃໝ່

     PICTURE ; ເລີ່ມຮູບຮ່າງເສັ້ນໃໝ່
     FORWARD 10 PICTURE FORWARD 10 ; ເສັ້ນສອງຮູບຮ່າງ

### ການບັນທຶກຮູບພາບ SVG

     PICTURE “example.svg” [ CIRCLE 5 ] ; save the picture as an SVG image file in the user folder
     PICTURE “Desktop/example.svg” [ FORWARD 100 CIRCLE 5 ] ; as above, with a relative path
     PICTURE “/home/user/example.svg” [ CIRCLE 5 ] ; absolute path for Unix/Linux
     PICTURE “C:\example.svg” [ CIRCLE 5 ] ; absolute path for Windows

### ການບັນທຶກພາບເຄື່ອນໄຫວ SVG/SMIL (ຮູບແຕ້ມທີ່ມີຄຳສັ່ງ SLEEP)

     PICTURE “animation.svg” [ CIRCLE 5 SLEEP 1000 CIRCLE 99 ] ; ບັນທຶກເປັນພາບເຄື່ອນໄຫວ SVG/SMIL (ເບິ່ງ SLEEP ຕື່ມ)

### ຄວາມສອດຄ່ອງຢູ່ຂອບເບື້ອງຊ້າຍ

ໃຊ້ PICTURE ເພື່ອຮັກສາຄວາມສອດຄ່ອງຂອງຕຳແໜ່ງ ແລະ ຮູບຮ່າງເສັ້ນຢູ່ຂອບເບື້ອງຊ້າຍຂອງ Writer:

     PICTURE [ CIRCLE 20 POSITION [-100, 100] CIRCLE 20 ]

## ການວົນຊ້ຳ (Loops)

### 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 “text” [
       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 ; ແຕ້ມວົງມົນທຸກໆຕຳແໜ່ງທີສອງ
     ]

## ເງື່ອນໄຂ

### 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” ]

## ໂປຣແກຣມຍ່ອຍ

### TO, END - ເລີ່ມຕົ້ນ ແລະ ສິ້ນສຸດຟັງຊັນ

ສ້າງຄຳສັ່ງໃໝ່ (ຫຼື ຂັ້ນຕອນການເຮັດວຽກ).

     TO triangle
       REPEAT 2 [ FORWARD 100 RIGHT 120 ] FILL
     END

     REPEAT 10 [ triangle PENUP POSITION ANY PENDOWN ]

### OUTPUT - ສົ່ງຄ່າອອກ

ຄ່າທີ່ຟັງຊັນສົ່ງກັບຄືນ.

     TO randomletter
       OUTPUT RANDOM “qwertzuiopasdfghjklyxcvbnm”
     END

     PRINT randomletter + randomletter + randomletter ; ສະແດງສາຍອັກສອນສຸ່ມ 3 ຕົວ

### STOP - ຢຸດການເຮັດວຽກ

ອອກຈາກຂັ້ນຕອນການເຮັດວຽກ.

     TO example number
       IF number < 0 [ STOP ]
       PRINT SQRT number ; ສະແດງຄ່າຮາກຂັ້ນສອງ
     ]

     example 100
     example -1 ; ບໍ່ມີຜົນອອກ ແລະ ບໍ່ມີຂໍ້ຜິດພາດ
     example 25

## ຕົວປ່ຽນເລີ່ມຕົ້ນ

### ANY - ໃດໆ/ແບບສຸ່ມ

ຄ່າສຸ່ມເລີ່ມຕົ້ນສຳລັບສີ ແລະ ອື່ນໆ.

     PENCOLOR ANY ; ສຸ່ມສີປາກກາ

### TRUE - ຈິງ

ຄ່າທາງຕັກກະສາດ.

     WHILE TRUE [ POSITION ANY ] ; ວົນຊ້ຳບໍ່ມີທີ່ສິ້ນສຸດ
     PRINT TRUE ; ສະແດງຄ່າ true (ຈິງ)

### FALSE - ເທັດ

ຄ່າທາງຕັກກະສາດ.

     WHILE NOT FALSE [ POSITION ANY ] ; ວົນຊ້ຳບໍ່ມີທີ່ສິ້ນສຸດ
     PRINT FALSE ; ສະແດງຄ່າ false (ເທັດ)

### PAGESIZE - ຂະໜາດໜ້າ

     PRINT PAGESIZE ; ສະແດງລາຍການຂະໜາດໜ້າເປັນ point, ຕົວຢ່າງ [595.30, 841.89]

### PI/π - ຄ່າພາຍ

     PRINT PI ; ສະແດງຄ່າ 3.14159265359

## ການນຳເຂົ້າ/ການສະແດງຜົນ

### PRINT - ສະແດງຜົນ

     PRINT “text” ; ສະແດງ “text” ໃນກ່ອງຂໍ້ຄວາມ
     PRINT 5 + 10 ; ສະແດງ 15

### INPUT - ຮັບຂໍ້ມູນ

     PRINT INPUT “Input value?” ; ask and print a string by a query dialog box
     PRINT FLOAT (INPUT “First number?”) + FLOAT (INPUT “Second number?”) ; simple calculator

## SLEEP - ລໍຖ້າ/ນອນ

     SLEEP 1000 ; ລໍຖ້າ 1000 ມິນລິວິນາທີ (1 ວິນາທີ)

## GLOBAL - ຕົວປ່ຽນສາກົນ

ກຳນົດຕົວປ່ຽນສາກົນທີ່ຈະໃຊ້ໃນຂັ້ນຕອນການເຮັດວຽກຕ່າງໆ.

     GLOBAL about
     about = “LibreLogo”

     TO example
       PRINT about
       GLOBAL about ; ເມື່ອຕ້ອງການເພີ່ມຄ່າໃໝ່
       about = “ຄ່າໃໝ່ສຳລັບຕົວປ່ຽນສາກົນ”
     END

     example
     PRINT about

## ຟັງຊັນ

### RANDOM - ສຸ່ມ

     PRINT RANDOM 100 ; ສຸ່ມເລກທົດສະນິຍົມ (0 <= x < 100)
     PRINT RANDOM “text” ; ສຸ່ມຕົວອັກສອນຈາກ “text”
     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 (ໂລກາຣິດພື້ນຖານ 10 ຂອງ 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 “text” ; ສະແດງ 4, ຈຳນວນຕົວອັກສອນຂອງ “text”
     PRINT COUNT [1, 2, 3] ; ສະແດງ 3, ຂະໜາດຂອງລາຍການ

### SET - ກຸ່ມຂໍ້ມູນ

     ; ປ່ຽນລາຍການໃຫ້ເປັນ set ແບບ Python
     PRINT SET [4, 5, 6, 6] ; ສະແດງ {4, 5, 6}

### RANGE - ຊ່ວງຂໍ້ມູນ

     ; Python-like list generation
     PRINT LIST RANGE 10 ; print [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
     PRINT LIST RANGE 3 10 ; print [3, 4, 5, 6, 7, 8, 9]
     PRINT LIST RANGE 3 10 3 ; print [3, 6, 9]

     FOR i IN RANGE 10 50 10 [ ; loop for [10, 20, 30, 40]
       FORWARD i
       LEFT 90
     ]

### LIST - ລາຍການ

     ; ລຶບສະມາຊິກທີ່ຊ້ຳກັນໃນລາຍການອອກ
     PRINT LIST (SET [1, 3, 5, 5, 2, 1]) ; ສະແດງ [1, 3, 5, 2]

### TUPLE - ລາຍການທີ່ແກ້ໄຂບໍ່ໄດ້

ການປ່ຽນເປັນ tuple ແບບ Python (ລາຍການທີ່ບໍ່ສາມາດແກ້ໄຂໄດ້)

     PRINT TUPLE [4, 5]

### SORTED - ຈັດລຽງແລ້ວ

ສົ່ງຄືນລາຍການທີ່ຖືກຈັດລຽງແລ້ວ.

     PRINT SORTED [5, 1, 3, 4] ; ສະແດງ [1, 3, 4, 5]

### SUB - ແທນທີ່

ແທນທີ່ຂໍ້ຄວາມໂດຍໃຊ້ຮູບແບບ regex (regular expression).

     PRINT SUB (“t”, “T”, “text”) ; print “Text”, replacing “t” with “T”
     PRINT SUB (“(.)”, “\\1\\1”, “text”) ; print “tteexxtt”, doubling every characters

### SEARCH - ຄົ້ນຫາ

ຄົ້ນຫາຂໍ້ຄວາມໂດຍໃຊ້ຮູບແບບ regex.

     IF SEARCH (“\w”, "word") [ PRINT “Letter in the word.” ]

### FINDALL - ຄົ້ນຫາທັງໝົດ

ຄົ້ນຫາຂໍ້ຄວາມທັງໝົດໃນສາຍອັກສອນທີ່ກົງກັບຮູບແບບ regex ທີ່ກຳນົດ.

     PRINT FINDALL(“\w+”, “Dogs, cats.”) ; ສະແດງ [“Dogs”, “cats”]

### MIN - ຄ່ານ້ອຍສຸດ

     PRINT MIN [1, 2, 3] ; ສະແດງ 1, ຄ່າທີ່ຕ່ຳທີ່ສຸດໃນລາຍການ

### MAX - ຄ່າຫຼາຍສຸດ

     PRINT MAX [1, 2, 3] ; ສະແດງ 3, ຄ່າທີ່ຫຼາຍທີ່ສຸດໃນລາຍການ

## ຄ່າຄົງທີ່ຂອງສີ

     PENCOLOR “SILVER” ; ຕັ້ງດ້ວຍຊື່
     PENCOLOR [1] ; ຕັ້ງດ້ວຍລະຫັດອ້າງອີງ
     PENCOLOR “~SILVER” ; ສຸ່ມສີເງິນ

ລະຫັດອ້າງອີງ | ຊື່
--- | ---
0 | ດຳ
1 | ເງິນ
2 | ເທົາ
3 | ຂາວ
4 | ແດງນ້ຳຕານ
5 | ແດງ
6 | ມ່ວງ
7 | ມ່ວງແດງ
8 | ຂຽວ
9 | ຂຽວມະນາວ
10 | ຂຽວໝາກກອກ
11 | ເຫຼືອງ
12 | ນ້ຳເງິນເຂັ້ມ
13 | ຟ້າ/ນ້ຳເງິນ
14 | ຂຽວອົມຟ້າ
15 | ຟ້າອ່ອນ
16 | ບົວ
17 | ແດງໝາກເລັ່ນ
18 | ສົ້ມ
19 | ຄຳ
20 | ມ່ວງອ່ອນ
21 | ຟ້າທ້ອງຟ້າ
22 | ຊັອກໂກແລັດ
23 | ນ້ຳຕານ
24 | ເບິ່ງບໍ່ເຫັນ

ກະລຸນາສະໜັບສະໜູນພວກເຮົາ!