ภาษาโลโก้

posted on 15 Sep 2011 21:32 by iponiq
LOGO language (ภาษาโลโก)
 
 
 
             
 
 
               
 
 
 
ภาษาโลโกบนระบบปฏิบัติการวินโดว์
ภาษาโลโกได้รับการพัฒนามาอย่างต่อเนื่องตั้งแต่ปี พ.ศ.2513 และเมื่อต้นปี พ.ศ.2523 กลุ่มผู้เชี่ยวชาญในการพัฒนาภาษาคอมพิวเตอร์ นำทีมโดย เซย์มัว พาเพิร์ต ได้ออกแบบโปรแกรมสร้างภาพกราฟิกที่มีประสิทธิภาพสูงและใช้งานง่าย เรียกว่า ภาษาโลโก

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

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

  
ส่วนที่ 1 มีชื่อเรียกว่าหน้าต่างแสดงผล (Display window) เริ่มต้นจะมีภาพเต่าโลโกเป็นรูปสามเหลี่ยม ชี้ไปทางทิศเหนือ(คือด้านบนของจอภาพ) และเมื่อมีการสั่งให้เต่าทำงาน จะแสดงรอยทางเดินที่เต่าเคลื่อนที่ไปในทิศทางที่กำหนด ด้วยความยาวขนาดต่าง ๆ
ส่วนที่ 2 มีชื่อเรียกว่าหน้าต่างแสดงคำสั่ง (Commander window) คำสั่งที่สั่งให้เต่าโลโกทำงานเมื่อพิมพ์ลงไปแล้วจะปรากฏให้เห็นในหน้าต่างนี้ คำสั่งที่พิมพ์เข้าไปก่อนจะอยู่บรรทัดบน ส่วนคำสั่งที่พิมพ์ตามเข้าไปจะอยู่บรรทัดล่าง คำสั่งเหล่านี้สามารถเรียกกลับมาใช้งานได้อีก
ส่วนที่ 3 มีชื่อเรียกว่าช่องป้อนเข้าข้อมูล (Input box) เป็นส่วนหนึ่งของหน้าต่างแสดงคำสั่ง เมื่อคลิกที่ช่องนี้จะปรากฏเครื่องหมายเคอร์เซอร์ (Cursor) ทำให้สามารถพิมพ์คำสั่งลงไปได้ครั้งละ 1 บรรทัด เมื่อพิมพ์เสร็จแล้วให้กดแป้น Enter เสมอ คำสั่งที่พิมพ์ลงไปจะไปปรากฏในหน้าต่างแสดงคำสั่ง (ส่วนที่ 2) และโปรแกรมจะทำการประมวลผล ในกรณีที่เป็นคำสั่งเกี่ยวกับการเคลื่อนที่จะทำให้เต่าในหน้าต่างที่ 1 เกิดการเคลื่อนไหวด้วย แต่ถ้าคำสั่งมีข้อผิดพลาดก็จะปรากฏข้อความที่เต่าไม่เข้าใจ (I don’t know how to …) ในหน้าต่างที่ 2 นี้
ขณะที่อยู่ในช่องป้อนเข้าข้อมูล ถ้ากดแป้นลูกศรขึ้น เคอร์เซอร์จะเข้าไปอยู่ในหน้าต่างแสดงคำสั่งด้านบน จึงสามารถเลือกคำสั่งเดิมให้ทำงานได้อีก (โดยคลิกที่ปุ่ม Execute)
 
 
การเขียนชุดคำสั่งในลักษณะ Program Mode
ความเป็นมาของภาษาโลโกเริ่มขึ้นในปี พ.ศ.2513 เมื่อกลุ่มนักวิจัยของสถาบันเทคโนโลยีแมสซาชูเซตส์ นำโดย เซย์มัว พาเพิร์ต ได้ทำการออกแบบและสร้างหุ่นยนต์ คล้ายกับของ เกย์ วอลเทอร์ เพื่อให้เด็ก ๆ สามารถเขียนโปรแกรมคำสั่งที่ใช้ภาษาที่เข้าใจง่าย สั่งให้โปรแกรมทำงานตามที่ต้องการ พวกเขาจึงทำการพัฒนาภาษาคอมพิวเตอร์ขึ้นใหม่ เรียกว่าภาษา “โลโก” เป็นภาษาที่ง่ายสำหรับเด็ก ช่วยให้เด็กสามารถเขียนคำสั่งให้หุ่นยนต์เต่า (Logo) เคลื่อนที่ไปมาและเปลี่ยนทิศทางตามที่ต้องการ ภาษาโลโกจึงเป็นทางเลือกใหม่ สำหรับเด็กในการฝึกทักษะทางภาษาคอมพิวเตอร์ และสามารถสร้างงานจากจินตนาการ โดยอาศัยความเข้าใจพื้นฐานของวิชาคณิตศาสตร์ที่ใช้ในชีวิตประจำวันได้ ในปัจจุบันเครื่องคอมพิวเตอร์และอุปกรณ์ต่าง ๆ มีราคาถูก จึงได้มีการพัฒนาโปรแกรมสำเร็จรูปให้สามารถจำลองหุ่นยนต์เต่าอิเล็กทรอนิกส์ เป็นภาพกราฟิกเต่า เคลื่อนที่ไปมาบนจอภาพคอมพิวเตอร์ ต่อมามีการเปลี่ยนแปลงรูปแบบของภาพกราฟิกเต่า มาเป็นภาพสัญลักษณ์สามเหลี่ยม
 
 
คำสั่งที่สั่งให้เต่าโลโกทำงานดังที่ได้ทดลองปฏิบัติในใบงานที่ 3-4 นั้น เรียกว่าเป็นการทำงานในลักษณะ Command Mode กล่าวคือเต่าโลโกจะทำตามคำสั่งทันที่ที่กดแป้น Enter วิธีนี้สะดวกและได้ผลรวดเร็ว แต่จะเห็นว่าเมื่อเกิดความผิดพลาดจะแก้ไขได้ยาก อาจต้องใช้คำสั่งลบจอภาพ (Clear Screen - CS) ซึ่งทำให้ภาพถูกลบไปทั้งหมด ต้องเริ่มต้นใหม่
ยังมีอีกวิธีหนึ่งในการสั่งให้เต่าโลโกทำงาน แต่คราวนี้จะต้องพิมพ์ชุดคำสั่งทั้งหมดลงไปก่อน และเมื่อเรียกใช้ส่วนหนึ่งในชุดคำสั่งนี้ เต่าโลโกจะสร้างภาพทั้งหมดให้ทันที วิธีการนี้เรียกว่าเป็นการทำงานในลักษณะ Program Mode ตัวอย่างเช่น ในการสร้างรูปสี่เหลี่ยมจัตุรัสที่มีความยาวด้านละ 100 หน่วย จะใช้คำสั่งใน comand mode
  
  
  
การเขียนโปรแกรมในลักษณะโปรแกรมย่อย
 
ในการเขียนโปรแกรมเพื่อสร้างงานที่มีความซับซ้อน ควรแบ่งการเขียนโปรแกรมออกเป็นส่วน ๆ เพื่อให้สะดวกในการปรับปรุงแก้ไขในภายหลัง โปรแกรมแต่ละส่วนเรียกว่าโปรแกรมย่อย (Procedure) โปรแกรมย่อยสามารถนำมาใช้ในโปรแกรมหลักได้ โดยไม่ต้องพิมพ์คำสั่งทั้งหมดซ้ำอีก เพียงพิมพ์ชื่อโปรแกรมย่อยเท่านั้น
ตัวอย่างต่อไปนี้จะแสดงวิธีการเขียนโปรแกรมย่อย เพื่อให้ได้ภาพสวนดอกไม้ โดยเขียนโปรแกรมย่อยสร้างรูปสี่เหลี่ยม (Square) ก่อน แล้วจึงเขียนโปรแกรมย่อยสร้างรูปดอกไม้ (Flower) หลังจากนั้นจึงเขียนโปรแกรมสร้างสวนดอกไม้ (Garden)
 
 
to square
repeat 4 [fd 40 rt 90]
end
 
 
  
 
 

 
 
to flower
fd 100
repeat 36 [rt 10 square]
setpencolor [0 0 0]
bk 100
end

            

to garden
pu setxy 0 0 pd
setpencolor [255 0 0] flower <