วันอังคารที่ 3 กรกฎาคม พ.ศ. 2555





          ภาษาโลโกและการสร้างชิ้นงาน 









ความเป็นมาของภาษาโลโกเริ่มขึ้นในปี พ.ศ.2513 เมื่อกลุ่มนักวิจัยของสถาบันเทคโนโลยีแมสซาชูเซตส์ นำโดย เซย์มัว พาเพิร์ต ได้ทำการออกแบบและสร้างหุ่นยนต์ คล้ายกับของ เกย์ วอลเทอร์ เพื่อให้เด็ก ๆ สามารถเขียนโปรแกรมคำสั่งที่ใช้ภาษาที่เข้าใจง่าย สั่งให้โปรแกรมทำงานตามที่ต้องการ พวกเขาจึงทำการพัฒนาภาษาคอมพิวเตอร์ขึ้นใหม่ เรียกว่าภาษา “โลโก” เป็นภาษาที่ง่ายสำหรับเด็ก ช่วยให้เด็กสามารถเขียนคำสั่งให้หุ่นยนต์เต่า (Logo) เคลื่อนที่ไปมาและเปลี่ยนทิศทางตามที่ต้องการ ภาษาโลโกจึงเป็นทางเลือกใหม่ สำหรับเด็กในการฝึกทักษะทางภาษาคอมพิวเตอร์ และสามารถสร้างงานจากจินตนาการ โดยอาศัยความเข้าใจพื้นฐานของวิชาคณิตศาสตร์ที่ใช้ในชีวิตประจำวันได้ ในปัจจุบันเครื่องคอมพิวเตอร์และอุปกรณ์ต่าง ๆ มีราคาถูก จึงได้มีการพัฒนาโปรแกรมสำเร็จรูปให้สามารถจำลองหุ่นยนต์เต่าอิเล็กทรอนิกส์ เป็นภาพกราฟิกเต่า เคลื่อนที่ไปมาบนจอภาพคอมพิวเตอร์ ต่อมามีการเปลี่ยนแปลงรูปแบบของภาพกราฟิกเต่า มาเป็นภาพสัญลักษณ์สามเหลี่ยม






ภาษาโลโกบนระบบปฏิบัติการวินโดว์
ภาษาโลโกได้รับการพัฒนามาอย่างต่อเนื่องตั้งแต่ปี พ.ศ.2513 และเมื่อต้นปี พ.ศ.2523 กลุ่มผู้เชี่ยวชาญในการพัฒนาภาษาคอมพิวเตอร์ นำทีมโดย เซย์มัว พาเพิร์ต ได้ออกแบบโปรแกรมสร้างภาพกราฟิกที่มีประสิทธิภาพสูงและใช้งานง่าย เรียกว่า ภาษาโลโก
คำว่า “โลโก” หมายถึงหุ่นยนต์เต่า สามารถเคลื่อนที่ไปในทิศทางต่าง ๆ ได้โดยการควบคุมจากเครื่องคอมพิวเตอร์ ในขณะที่เคลื่อนที่จะเขียนรอยทางเดินไปตามทิศทางนั้น ๆ ด้วย ผู้เขียนโปรแกรมสามารถใช้คำสั่งภาษาอังกฤษที่เข้าใจได้ง่าย ๆ เช่น เมื่อต้องการให้เต่าเคลื่อนที่ไปด้านหน้าจะใช้คำสั่งว่า FORWARD (ซึ่งแปลว่า เดินหน้า) หรือ ต้องการให้ย้อนกลับจะใช้คำสั่งว่า REVERSE (ซึ่งแปลว่า ย้อนกลับ) และคำสั่งให้เลี้ยวขวาหรือเลี้ยวซ้ายจะใช้ว่า RIGHT หรือ LEFT เป็นต้น
ภาษาโลโกมีจุดเริ่มต้นการพัฒนาโปรแกรมจาก ไบรอัน ฮาร์เวย์ และคณะทำงานที่มหาวิทยาลัยแคลิฟอร์เนียร์–เบิร์กเลย์ ซึ่งเรียกโปรแกรมนี้ว่า "โลโกเบิร์กเลย์" หลังจากนั้นได้มีการพัฒนาอย่างต่อเนื่อง ให้สามารถใช้งานภายใต้ระบบปฏิบัติการที่แตกต่างกัน จากระบบยูนิกซ์ (UNIX) เป็นระบบดอส (DOS) จนถึงปัจจุบัน ยอร์จ มิลส์ ได้พัฒนาให้สามารถทำงานภายใต้ระบบปฏิบัติการวินโดวส์ได้ เราเรียกโปรแกรมนี้ว่า “เอ็มเอสดับบลิวโลโก”(MSWLogo)
MSWLogo เป็นโปรแกรมรุ่นที่มีประสิทธิภาพสูงสุดจากโปรแกรมโลโกที่มีใช้ทั้งหมดในขณะนี้ เหมาะสำหรับใช้ในการเรียนระดับประถมศึกษาและมัธยมศึกษาตอนต้น และได้มีการเรียนการสอนเกี่ยวกับโปรแกรมนี้อย่างแพร่หลายในประเทศสหรัฐอเมริกา ญี่ปุ่น ออสเตรเลีย และประเทศอื่น ๆ ทั่วโลก การใช้งานสะดวก ไม่ยุ่งยาก เหมือนโปรแกรมอื่นๆ ที่มีปุ่มเลือกและสัญรูป ต่างๆ เป็นจำนวนมาก โปรแกรมนี้จะกระตุ้นให้นักเรียนมีความกล้าในการสร้างสรรค์งานกราฟิกรูปแบบต่าง ๆ จากจินตนาการของตนเองได้ง่าย ช่วยให้มีพื้นฐานและความถนัดเบื้องต้นในการเขียนโปรแกรม นอกจากนี้ความแพร่หลายของโปรแกรม MSWLogo ที่นำไปสอนในโรงเรียนต่าง ๆ ทำให้มีการสนับสนุนทางด้านวิชาการและตัวอย่างโปรแกรมที่น่าสนใจเป็นจำนวนมาก โดยสามารถสืบค้นจากอินเทอร์เน็ตได้โดยง่าย




หน้าต่างโปรแกรมโลโก

เมื่อเข้าสู่โปรแกรมโลโกจะเห็นส่วนประกอบ 3 ส่วนรวมกันในหน้าต่างโปรแกรมโลโกดังนี้ 


ส่วนที่ 1 à


ส่วนที่ 2 à
ส่วนที่ 3 à

ส่วนที่ 1 มีชื่อเรียกว่าหน้าต่างแสดงผล (Display window) เริ่มต้นจะมีภาพเต่าโลโกเป็นรูปสามเหลี่ยม ชี้ไปทางทิศเหนือ(คือด้านบนของจอภาพ) และเมื่อมีการสั่งให้เต่าทำงาน จะแสดงรอยทางเดินที่เต่าเคลื่อนที่ไปในทิศทางที่กำหนด ด้วยความยาวขนาดต่าง ๆ
ส่วนที่ 2 มีชื่อเรียกว่าหน้าต่างแสดงคำสั่ง (Commander window) คำสั่งที่สั่งให้เต่าโลโกทำงานเมื่อพิมพ์ลงไปแล้วจะปรากฏให้เห็นในหน้าต่างนี้ คำสั่งที่พิมพ์เข้าไปก่อนจะอยู่บรรทัดบน ส่วนคำสั่งที่พิมพ์ตามเข้าไปจะอยู่บรรทัดล่าง คำสั่งเหล่านี้สามารถเรียกกลับมาใช้งานได้อีก
ส่วนที่ 3 มีชื่อเรียกว่าช่องป้อนเข้าข้อมูล (Input box) เป็นส่วนหนึ่งของหน้าต่างแสดงคำสั่ง เมื่อคลิกที่ช่องนี้จะปรากฏเครื่องหมายเคอร์เซอร์ (Cursor) ทำให้สามารถพิมพ์คำสั่งลงไปได้ครั้งละ 1 บรรทัด เมื่อพิมพ์เสร็จแล้วให้กดแป้น Enter เสมอ คำสั่งที่พิมพ์ลงไปจะไปปรากฏในหน้าต่างแสดงคำสั่ง (ส่วนที่ 2) และโปรแกรมจะทำการประมวลผล ในกรณีที่เป็นคำสั่งเกี่ยวกับการเคลื่อนที่จะทำให้เต่าในหน้าต่างที่ 1 เกิดการเคลื่อนไหวด้วย แต่ถ้าคำสั่งมีข้อผิดพลาดก็จะปรากฏข้อความที่เต่าไม่เข้าใจ (I don’t know how to …) ในหน้าต่างที่ 2 นี้
ขณะที่อยู่ในช่องป้อนเข้าข้อมูล ถ้ากดแป้นลูกศรขึ้น เคอร์เซอร์จะเข้าไปอยู่ในหน้าต่างแสดงคำสั่งด้านบน จึงสามารถเลือกคำสั่งเดิมให้ทำงานได้อีก (โดยคลิกที่ปุ่ม Execute)



คำสั่งเบื้องต้นในภาษาโลโก

คำสั่งเต็มคำสั่งย่อความหมาย
FORWARDFDเดินตรงไปข้างหน้า (ตามระยะที่กำหนด)
BACKBKถอยหลัง (ตามระยะที่กำหนด)
RIGHTRTเลี้ยวขวา (ตามมุมองศาที่กำหนด)
LEFTLTเลี้ยวซ้าย (ตามมุมองศาที่กำหนด)
Home-สั่งให้เต่ากลับไปยังตำแหน่งเริ่มต้น
Clear ScreenCSลบข้อมูลทั้งหมดที่ปรากฏในหน้าต่างแสดงผล
Hide TurtleHTซ่อนภาพกราฟิกเต่า
Show TurtleSTแสดงภาพกราฟิกเต่า


คำสั่งโปรแกรมภาษาโลโก (เพิ่มเติม 1)

คำสั่งเต็มคำสั่งย่อความหมาย
REPEAT n [ .. ]ทำคำสั่งในวงเล็บ [ .. ] ซ้ำ n รอบ
PEN UPPUยกปากกาขึ้น (เดินไปจะไม่มีรอย)
PEN DOWNPDวางปากกาลง (เดินไปจะปรากฏรอย)
SETPENCOLOR  [R  G  B]SETPCกำหนดสีปากกาเป็นสีตามค่าในวงเล็บ
SETPENCOLOR  nSETPCกำหนดสีปากกาตามค่าตัวเลข n


สีคำสั่งในภาษาโลโก
ดำSETPC  [0  0  0]
ขาวSETPC  [255  255  255]
แดงSETPC  [255  0  0]
เขียวSETPC  [0  255  0]
น้ำเงินSETPC  [0  0  255]
ฟ้าSETPC  [0  255  255]
ชมพูSETPC  [255  0  255]
เหลืองSETPC  [255  255  0]


สีหมายเลขค่า RGBคำสั่งในภาษาโลโก
  Black  0  [0 0 0]  SETPC  0
  Blue  1  [0 0 255]  SETPC  1
  Green  2  [0 255 0]  SETPC  2
  Cyan  3  0 255 255]  SETPC  3
  Red  4  [255 0 0]  SETPC  4
  Magenta  5  [255 0 255]  SETPC  5
  Yellow  6  [255 255 0]  SETPC  6
  White  7  [255 255 255]  SETPC  7
  Brown  8  [155 96 59]  SETPC  8
  Light brown  9  [197 136 18]  SETPC  9
  Mid-green  10  [100 162 64]  SETPC  10
  Blue-green  11  [120 187 187]  SETPC  11
  Salmon  12  [255 149 119]  SETPC  12
  Blue-ish  13  [144 113 208]  SETPC  13
  Orange  14  [255 163 0]  SETPC  14
  Silver  15  [183 183 183]  SETPC  15




การเขียนชุดคำสั่งในลักษณะ ProgramMode


คำสั่งที่สั่งให้เต่าโลโกทำงานดังที่ได้ทดลองปฏิบัติในใบงานที่ 3-4 นั้น เรียกว่าเป็นการทำงานในลักษณะ Command Mode กล่าวคือเต่าโลโกจะทำตามคำสั่งทันที่ที่กดแป้น Enter วิธีนี้สะดวกและได้ผลรวดเร็ว แต่จะเห็นว่าเมื่อเกิดความผิดพลาดจะแก้ไขได้ยาก อาจต้องใช้คำสั่งลบจอภาพ (Clear Screen - CS) ซึ่งทำให้ภาพถูกลบไปทั้งหมด ต้องเริ่มต้นใหม่
ยังมีอีกวิธีหนึ่งในการสั่งให้เต่าโลโกทำงาน แต่คราวนี้จะต้องพิมพ์ชุดคำสั่งทั้งหมดลงไปก่อน และเมื่อเรียกใช้ส่วนหนึ่งในชุดคำสั่งนี้ เต่าโลโกจะสร้างภาพทั้งหมดให้ทันที วิธีการนี้เรียกว่าเป็นการทำงานในลักษณะ Program Mode ตัวอย่างเช่น ในการสร้างรูปสี่เหลี่ยมจัตุรัสที่มีความยาวด้านละ 100 หน่วย จะใช้คำสั่งใน comand mode ดังนี้ 






REPEAT 4 [FD 100 RT 90]


แต่เมื่ออยู่ใน program mode จะเพิ่มคำสั่งดังนี้






TO SQUARE
REPEAT 4 [FD 100 RT 90]
END


และถ้าต้องการให้โปรแกรมนี้ทำงานก็เพียงแต่พิมพ์คำว่า SQUARE ที่ช่องป้อนเข้าข้อมูลเท่านั้น ก็จะได้รูปสี่เหลี่ยมจัตุรัสทันที



จะสังเกตเห็นว่าชุดคำสั่งในลักษณะ program mode สามารถทำได้ง่าย ๆ เพียงเพิ่มคำสั่ง TO ตามด้วยชื่อรูปที่จะสร้าง (ในที่นี้คือ SQUARE = รูปสี่เหลี่ยมจัตุรัส) ไว้ที่บรรทัดแรก ตามด้วยชุดคำสั่งในการสร้างรูป และปิดท้ายด้วยคำสั่ง END 
ลองดูอีกคำสั่งหนึ่ง เช่นการสร้างภาพดอกไม้ (FLOWER) จะมีชุดคำสั่งดังนี้






TO FLOWER
FD 100
SETPENCOLOR [255 0 0]
REPEAT 36 [RT 10 REPEAT 4 [FD 50 RT 90]]
END


หลังจากที่พิมพ์ชุดคำสั่งข้างต้นลงไปทั้งหมดแล้ว เมื่อพิมพ์ชื่อ FLOWER ที่ช่องป้อนเข้าข้อมูลและกดแป้น Enter จะได้ภาพดอกไม้สีแดง 1 ดอกที่กลางจอภาพทันที



ข้อดีอีกอย่างหนึ่งของการเขียนชุดคำสั่งในลักษณะ program mode ก็คือ สามารถบันทึกชุดคำสั่งเหล่านี้ไว้ในฮาร์ดดิสก์หรือแผ่นดิสก์ได้ โดยการใช้คำสั่ง File --> Save หรือ File --> SaveAs





คำสั่งโปรแกรมภาษาโลโก (เพิ่มเติม 2)

คำสั่งเต็ม   (คำสั่งย่อ)ความหมาย
setpensize  [width  height]กำหนดขนาดของปากกาด้วยขนาดความกว้างและความสูง
เช่น setpensize  [1  1]
show  pensizeแสดงค่าตัวเลขขนาดของปากกา
setfloodcolor [rr  gg  bb]
(setfc)
กำหนดสีเพื่อระบายลงในบริเวณที่ล้อมรอบเต่าโลโก เช่น
setfloodcolor  [255  0  0] เป็นการกำหนดสีที่จะระบายเป็นสีแดง
FILLระบายสี(ที่กำหนดจากคำสั่ง setfloodcolor) ในบริเวณที่ล้อมรอบเต่าโลโก
show  floodcolorแสดงค่าตัวเลขของสีพื้นในบริเวณที่กำหนด
setscreencolor [rr  gg  bb]
(setsc)
กำหนดสีแบ็คกราวนด์ หรือสีของแผ่นงานทั้งแผ่น เช่น
setscreencolor  [0  255  0] จะได้แบ็คกราวนด์เป็นสีน้ำเงิน
show  screencolorแสดงค่าตัวเลขของสีแบ็คกราวนด์
label  "Helloเขียนข้อความ Hello ในทิศทางที่เต่าโลโกชี้อยู่
label  [Hello  good  morning]เขียนข้อความ Hello good morning
circle  ความยาวของรัศมีเขียนวงกลมตามความยาวของรัศมี แล้วตำแหน่งเต่าโลโกอยู่ที่จุดศูนย์กลาง
circle2  ความยาวของรัศมีเขียนวงกลมตามความยาวของรัศมี แล้วตำแหน่งเต่าโลโกอยู่ที่เส้นรอบวง
arc  มุมที่เป็นองศา  ความยาวของรัศมีเขียนส่วนโค้งของวงกลมตามขนาดมุมและความยาวรัศมี
ดังตัวอย่างด้านล่างนี้






การนำเต่าโลโกไปยังตำแหน่งที่ต้องการอย่างรวดเร็ว




เราสามารถนำเต่าโลโกไปยังตำแหน่งที่ต้องการบนจอภาพได้อย่างรวดเร็ว โดยมองจอภาพเหมือนกับกระดาษกราฟที่มีแกนนอน (แกน x) และแกนตั้ง (แกน y) ตั้งฉากกันที่จุด (0,0) กลางจอภาพ ลักษณะดังภาพต่อไปนี้
เมื่อเริ่มต้นใช้งานเต่าโลโกจะอยู่ที่ตำแหน่ง (0,0) ถ้าต้องการนำเต่าโลโกไปยังจุดสี(มีหมายเลข 1-4) ที่มีพิกัดตามที่กำหนด จะทำได้โดยใช้คำสั่งยกปากกาขึ้น (pu) ก่อน ตามด้วยคำสั่ง setxy แล้วจึงวางปากกาลง (pd) รวมเป็นชุดคำสั่งดังนี้
จุดหมายเลขพิกัดชุดคำสั่ง
1(150,100)pu  setxy  150  100  pd
2(-150,120)pu  setxy  -150  120  pd
3(-200,-120)pu  setxy  -200  -120  pd
4(100,-100)pu  setxy  100  -100  pd







คำสั่งลัดในการกำหนดสีในโปรแกโลโก

คำสั่งที่มีการกำหนดสีในโปรแกรมภาษาโลโก สามารถใช้คำสั่งลัดได้ดังนี้ 
คำสั่งเต็มคำสั่งลัดความหมาย
SETPENCOLORSETPCกำหนดสีของปากกา
SETSCREENCOLORSETSCกำหนดสีของแบ็คกราวนด์
SETFLOODCOLORSETFCกำหนดสีที่จะใช้ระบายด้วยคำสั่ง FILL


นอกจากนี้เรายังสามารถกำหนดสีที่จะใช้ในคำสั่งข้างต้น ด้วยตัวเลข 0-15 ซึ่งตัวเลขแต่ละตัวจะแทนสีต่าง ๆ ดังตารางต่อไปนี้


สีหมายเลขค่า RGBคำสั่งกำหนดสีปากกา
  Black  0  [0 0 0]  SETPC  0
  Blue  1  [0 0 255]  SETPC  1
  Green  2  [0 255 0]  SETPC  2
  Cyan  3  0 255 255]  SETPC  3
  Red  4  [255 0 0]  SETPC  4
  Magenta  5  [255 0 255]  SETPC  5
  Yellow  6  [255 255 0]  SETPC  6
  White  7  [255 255 255]  SETPC  7
  Brown  8  [155 96 59]  SETPC  8
  Light brown  9  [197 136 18]  SETPC  9
  Mid-green  10  [100 162 64]  SETPC  10
  Blue-green  11  [120 187 187]  SETPC  11
  Salmon  12  [255 149 119]  SETPC  12
  Blue-ish  13  [144 113 208]  SETPC  13
  Orange  14  [255 163 0]  SETPC  14
  Silver  15  [183 183 183]  SETPC  15





การเขียนโปรแกรมที่มีการใช้ตัวแปร



ในการเขียนโปรแกรมภาษาโลโก เราสามารถกำหนดตัวแปรไว้ที่ชื่อโปรแกรมย่อย โดยใช้เครื่องหมาย colon ( : ) ตามด้วยชื่อตัวแปร เช่น :side คือตัวแปรชื่อ side หรือ :color หมายถึงตัวแปรชื่อ color เมื่อเรียกใช้โปรแกรมย่อยนั้นตามด้วยค่าตัวแปร (ตามปกติจะเป็นตัวเลข) จะมีผลทำให้เกิดการส่งผ่านค่าตัวแปรไปยังโปรแกรมย่อยนั้น และโปรแกรมย่อยจะนำค่าตัวแปรไปคำนวณและแสดงผลอีกทีหนึ่ง
ประโยชน์ที่เห็นได้ง่าย ๆ จากการกำหนดตัวแปรไว้ที่โปรแกรมย่อย ทำให้เราไม่ต้องเขียนโปรแกรมย่อยซ้ำ ๆ กัน เช่นการสร้างภาพดอกไม้ 3 ดอก 3 สี 3 ขนาด และวางไว้ที่ตำแหน่งต่าง ๆ กัน สามารถทำได้ง่ายขึ้น โดยสร้างโปรแกรมย่อยชื่อ flower เพียง 1 โปรแกรมย่อย และกำหนดตัวแปรดังนี้คือ  flower  :side  :color  :x  :y
ตัวแปร :side หมายถึงด้านของรูปสี่เหลี่ยมที่จะหมุนให้เกิดดอกไม้
ตัวแปร :color หมายถึงสีของดอกไม้
ตัวแปร :x หมายถึงพิกัด x
ตัวแปร :y หมายถึงพิกัด y
เมื่อต้องการสร้างภาพดอกไม้ 1 ดอก ก็ส่งค่าตัวแปร 4 ตัวไปยังโปรแกรมย่อย flower เช่น
flower  35  4  -10  0
(หมายถึงกำหนดค่าตัวแปร side=35 , color=4 , x=-10 และ y=0)
จะได้ดอกไม้ที่มีขนาด 35 (ความยาวด้านของสี่เหลี่ยม) สีแดง (สีหมายเลข 4) ณ พิกัด (-10,0) ทันที

ตัวอย่าง





to  flower  :side  :color  :x  :y
pu  setxy  :x  :y  pd
setpc  :color
repeat  36[rt  10  repeat  4[fd  :side  rt  90]]
setpc  0
bk  100
end





to  message
pu  setxy  -80  -110  pd
setpc  0
rt  90
label  "ดอกไม้ในสวนสวย
ht
end





to  garden
cs
flower  35  4  -10  0
flower  45  2  150  50
flower  55  1  -180  50
message
end





เมื่อพิมพ์คำว่า garden ที่ช่องป้อนเข้าข้อมูล จะได้ดอกไม้จำนวน 3 ดอก ที่มีขนาด สี และตำแหน่งที่ต่างกัน ดังภาพ









การใช้กระดาษกราฟช่วยออกแบบ

การใช้กระดาษกราฟช่วยออกแบบรูปทรงหรือสิ่งของ ทำได้โดยการวาดรูปทรงหรือสิ่งของนั้นลงบนกระดาษกราฟ เช่นถ้าต้องการออกแบบบ้านสัก 1 หลัง สามารถวาดรูปบ้านลงบนกระดาษกราฟ และระบายสีในส่วนต่าง ๆ ดังภาพต่อไปนี้
จะเห็นว่าบ้านหลังหนึ่งจะแบ่งเป็นส่วนต่าง ๆ ดังนี้ (1)ส่วนผนังหน้าบ้าน - front (2)ส่วนประตู - door (3)ส่วนหลังคา - roof (4)ส่วนผนังข้างบ้าน - wall และ (5)ส่วนหน้าต่าง - windows ดังนั้นการวาดรูปบ้านในโปรแกรมภาษาโลโก จะแบ่งการเขียนโปรแกรม เป็นโปรแกรมย่อย 5 โปรแกรม และโปรแกรมหลัก (house) 1 โปรแกรม ดังโครงสร้างโปรแกรมต่อไปนี้ 

        to  front
        end

        to  door
        end

        to  roof
        end

        to  wall
        end

        to  windows
        end

        to  house
        cs
        door
        front
        roof
        windows
        wall
        end

ในการเขียนโปรแกรมแต่ละส่วนอาจใช้คำสั่ง setxy เพื่อช่วยในการลากเส้นจากค่าพิกัดที่อ่านได้จากกระดาษกราฟ ไปทีละพิกัดจนกลับมายังจุดเริ่มต้น แล้วใช้คำสั่งระบายสีในส่วนที่กำหนดอีกครั้งหนึ่ง เช่น ส่วนของประตูอาจใช้คำสั่งดังนี้

        to  door
        setpc  0                             กำหนดสีปากกาเป็นสี 0 คือสีดำ
        pu  setxy  -100  0  pd       ยกปากกาขึ้น นำเต่าโลโกไปยังพิกัด (-100,0) แล้วจึงวางปากกาลง
        setxy  -100  80                 ลากเส้นต่อไปยังพิกัด (-100,80)
        setxy  -60  80                   ลากเส้นต่อไปยังพิกัด (-60,80)
        setxy  -60  0                     ลากเส้นต่อไปยังพิกัด (-60,0)
        setxy  -100  0                   ลากเส้นต่อไปยังพิกัด (-100,0)
        pu  setxy  -80  40            ยกปากกาขึ้น นำเต่าโลโกเข้าไปอยู่ภายในรูปประตู ที่พิกัด (-80,40)
        setfc  2  fill                       กำหนดสีที่จะระบายเป็นสี 2 คือสีเขียว แล้วสั่งระบายสี
        end





การสร้างภาพเคลื่อนไหว


ภาษาโลโกมีคุณสมบัติเด่นอย่างหนึ่ง ก็คือสามารถเขียนโปรแกรมเรียกตัวเองที่เรียกว่า Recursion ได้ ด้วยคุณสมบัตินี้ ทำให้เราสามารถนำมาเขียนโปรแกรมสร้างภาพเคลื่อนไหว ได้อย่างง่าย ๆ ตัวอย่างดังโปรแกรมหมายเลข 1
โปรแกรมหมายเลข 1
จะสังเกตเห็นว่าในโปรแกรมย่อยชื่อ TRI_GO จะมีคำสั่งในบรรทัดสุดท้ายเรียกใช้โปรแกรมย่อยชื่อ TRI_GO ซึ่งก็คือเรียกใช้ตัวเอง (วิธีการนี้มีชื่อเรียกว่า Recursion) ลองดูอีกสักโปรแกรมหนึ่ง คราวนี้จะเป็นรูปปลา 1 ตัว สีแดง เคลื่อนที่ไปทางซ้ายมือ ชุดคำสั่งทั้งหมดดังโปรแกรมหมายเลข 2
โปรแกรมหมายเลข 2

ไม่มีความคิดเห็น:

แสดงความคิดเห็น

แสดงความคิดเห็น