วันจันทร์ที่ 9 กรกฎาคม พ.ศ. 2555

พัฒนาการของภาษา mswlogo

พัฒนาการของภาษา MSWlogo 
กลางปี 1960 โดย Seymour Papert และ Marvin Minsky ก่อตั้ง MIT Artificial Intelligence Laboratory
Papert, Beranek และ Newmanพัฒนาเวอร์ชั่นแรกปี 1967
มีการพัฒนาที่มหาวิทยาลัยเบิร์คเลย์ แห่งแคลิฟอร์เนีย     มหาวิทยาลัยที่ยุโรป   ญี่ปุ่น
MicroWorlds (1993) มีเครื่องมือช่วยพัฒนาโลโก้ เช่นเครื่องมือวาดรูป เอดิเตอร์สำหรับวาดรูป เครื่องมือทำจังหวะดนตรี ฯลฯ  PCLogo for Windows
MSWLogo พัฒนาโดยมหาวิทยาลัยเบิร์คเลย์ แห่งแคลิฟอร์เนีย
การออกแบบภาษาโลโก้ (MIT) 
  friendly          โลโก้เป็นภาษาทำความเข้าใจง่าย เราสามารถสร้างความ สัมพันธ์โดยใช้เต่าเป็นเครื่องมือในการสร้างกระบวน
                      ความคิด
  extensible      โลโก้สามารถใช้สอนคำสั่งใหม่และสามารถสร้างคำสั่ง ใหม่เพิ่มได้
  forgiving         โลโก้เป็นภาษาที่ให้การตอบสนองกลับอย่างทันทีทันใด ซึ่งมีประโยชน์ต่อการเรียนรู้
                       และความเข้าใจ                            
  flexible           โลโก้ เป็นภาษาที่มีประโยชน์สำหรับผู้เริ่มเรียน
  powerful         โลโก้ เป็นภาษาสำหรับเขียนโปรแกรม มีเครื่องมือต่างๆ ที่ใช้ในการเขียนโปรแกรมอย่าง
                       ครบถ้วนตามที่ผู้ใช้ ต้องการ

ตัวอย่างการใช้คำสั่งต่างๆ ในภาษา MSWlogo 

คำสั่งพื้นฐานใน MSWlogo
คำสั่งเดินหน้า ใช้คำสั่ง Forward  คำสั่งย่อ    Fd  รูปแบบคำสั่ง   Fd หน่วย  ตัวอย่าง Fd 100   ให้เดินหน้า 100 หน่วย
คำสั่งถอยหลัง ใช้คำสั่ง Back      คำสั่งย่อ    Bk  รูปแบบคำสั่ง   Bk หน่วย  ตัวอย่าง  Bk 50    ให้ถอยหลัง 50  หน่วย
คำสั่งขวาหัน  ใช้คำสั่ง  Right     คำสั่งย่อ    RT  รูปแบบคำสั่ง  RT  องศา   ตัวอย่าง  Rt 90   ให้ขวาหัน   90 องศา
คำสั่งซ้ายหัน  ใช้คำสั่ง  Left       คำสั่งย่อ   LT  รูปแบบคำสั่ง  LT  องศา    ตัวอย่าง LT 45     ให้ซ้ายหัน  45  องศา
คำสั่งลบสิ่งที่ MSWlogo วาดไป  ใช้คำสั่ง ClearScreen  คำสั่งย่อ  CS
คำสั่งลบข้อความบนส่วนแสดงผลข้อความ ใช้คำสั่ง  ClearText  คำสั่งย่อ CT
คำสั่งยกปากกา ใช้คำสั่ง Penup   คำสั่งย่อ PU    ใช้คู่กับคำสั่ง Pendown
คำสั่งวางปากกา ใช้คำสั่ง Pendown  คำสั่งย่อ  Pd  ใช้คู่กับคำสั่ง Penup
คำสั่งให้ MSWlogo เป็นยางลบ  ใช้คำสั่ง  Penerase คำสั่งย่อ Pe
คำสั่งให้ MSWlogo กลับมาเป็นปากกาหลังจากใช้คำสั่ง Penerase คำสั่ง Penpaint คำสั่งย่อ PPT
คำสั่งใส่สีพื้น SetScreenColor  คำสั่งย่อ SetSc   รูปแบบคำสั่ง  SetSC  ตามด้วยค่าสี  ตัวอย่าง  SetSC 1
คำสั่งให้ MSWlogo เป็นถังสีใช้คำสั่ง  SetFloodColor    คำสั่งย่อ SetFc   รูปแบบคำสั่ง  SetFc ตามด้วยค่าสี ตัวอย่าง SetFc 1
คำสั่ง Fill  เป็นคำสั่งให้ MSWlogo เทสี   ใช้คู่กับคำสั่ง   SETFC
คำสั่ง Circle เป็นคำสั่งให้ MSWlogo  วาดรูปวงกลม    รูปแบบ Circle รัศมี   ตัวอย่าง Circle 100
ให้วาดรูปวงกลมที่มีรัศมี 100
คำสั่ง ACr   เป็นคำสั่งวาดรูปครึ่งวงกลม
ตัวอย่าง การวาดรูปสี่เหลี่ยมมุมฉาก
forward 50 (แทน forward ด้วย fd.)
right 90 (แทน right ด้วย rt.)
forward 50
right 90
forward 50
right 90
forward 50
right 90
 
ตัวอย่าง การวาดรูปสี่เหลี่ยมมุมฉาก ด้วยคำสั่ง repeat
repeat 4 [forward 50 right 90]

ตัวอย่าง การวาดรูปสี่เหลี่ยมมุมฉาก ด้วยการสร้าง procedure
to square
repeat 4 [forward 50 right 90]
end
การเรียกใช้งาน
forward 60
square
back 60

ตัวอย่าง การวาดรูปสี่เหลี่ยมมุมฉาก ด้วยการสร้าง procedure
to square
repeat 4 [forward 50 right 90]
end
การเรียกใช้งาน
forward 60
square
back 60

ตัวอย่าง การวาดรูปวงกลม ด้วยการเรียกใช้ procedure square
repeat 12 [square right 30]
 
ตัวอย่าง การสร้างบ้านโดยการใช้กระบวนความ
to house
   square
   forward 50
   right 90
   triangle
end

to triangle
   repeat 3 [forward 50 left 120]
end

ตัวอย่าง การใช้ตัวแปร
to sq :size
     repeat 4 [forward :size right 90]
end
การเรียกใช้งาน
sq 10, sq 20, sq 30, etc.

ตัวอย่าง การประยุกต์เพื่องานออกแบบ
to design
   clearscreen
   right 30
   polyspi 5 120
end
to polyspi :size :angle
   if :size > 205 [stop]
   forward :size
   right :angle
   polyspi :size+5 :angle+.12
end

วันพุธที่ 4 กรกฎาคม พ.ศ. 2555

ประวัติของlogo

ประวัติ

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

การพัฒนา

มีการพัฒนาภาษาโลโกกว่า 999 ชุด แต่ละชุดต่างมีจุดแข็งของตัวเอง ตัวอย่างในการนำไปพัฒนาต่อเช่น MSWLogo ซึ่งเป็นซอฟต์แวร์เพื่อการศึกษาแจกฟรีโดยSoftrinic และพัฒนาโดยยอร์จมิลล์ทำไห้มันหื่น.....

ตัวอย่างการใช้งาน

เมื่อเต่าโลโกเดินผ่าน จะระเบิดขึ้นเกิดมา โดยผู้ใช้จะเป็นผู้สั่งการทำงานต่างๆ เช่นการเดินตรง หัน 90000 องศา โดยคำสั่งในด้านทิศทางต่างๆ จะขึ้นอยู่กับทิศทางของเต่าโลโก

เต่าโลโก

ตัวอย่างที่ 1: สี่เหลี่ยม

FORWARD 100
LEFT 90
FORWARD 100
LEFT 90
FORWARD 100
LEFT 90
FORWARD 100
LEFT 90

คำสั่งของlogo

คำสั่งพื้นฐานใน MSWlogo
คำสั่งเดินหน้า ใช้คำสั่ง Forward  คำสั่งย่อ    Fd  รูปแบบคำสั่ง   Fd หน่วย  ตัวอย่าง Fd 100   ให้เดินหน้า 100 หน่วย
คำสั่งถอยหลัง ใช้คำสั่ง Back      คำสั่งย่อ    Bk  รูปแบบคำสั่ง   Bk หน่วย  ตัวอย่าง  Bk 50    ให้ถอยหลัง 50  หน่วย
คำสั่งขวาหัน  ใช้คำสั่ง  Right     คำสั่งย่อ    RT  รูปแบบคำสั่ง  RT  องศา   ตัวอย่าง  Rt 90   ให้ขวาหัน   90 องศา
คำสั่งซ้ายหัน  ใช้คำสั่ง  Left       คำสั่งย่อ   LT  รูปแบบคำสั่ง  LT  องศา    ตัวอย่าง LT 45     ให้ซ้ายหัน  45  องศา
คำสั่งลบสิ่งที่ MSWlogo วาดไป  ใช้คำสั่ง ClearScreen  คำสั่งย่อ  CS
คำสั่งลบข้อความบนส่วนแสดงผลข้อความ ใช้คำสั่ง  ClearText  คำสั่งย่อ CT

คำสั่งยกปากกา ใช้คำสั่ง Penup   คำสั่งย่อ PU    ใช้คู่กับคำสั่ง Pendown
คำสั่งวางปากกา ใช้คำสั่ง Pendown  คำสั่งย่อ  Pd  ใช้คู่กับคำสั่ง Penup
คำสั่งให้ MSWlogo เป็นยางลบ  ใช้คำสั่ง  Penerase คำสั่งย่อ Pe
คำสั่งให้ MSWlogo กลับมาเป็นปากกาหลังจากใช้คำสั่ง Penerase คำสั่ง Penpaint คำสั่งย่อ PPT
คำสั่งใส่สีพื้น SetScreenColor  คำสั่งย่อ SetSc   รูปแบบคำสั่ง  SetSC  ตามด้วยค่าสี  ตัวอย่าง  SetSC 1
คำสั่งให้ MSWlogo เป็นถังสีใช้คำสั่ง  SetFloodColor    คำสั่งย่อ SetFc   รูปแบบคำสั่ง  SetFc ตามด้วยค่าสี ตัวอย่าง SetFc 1
คำสั่ง Fill  เป็นคำสั่งให้ MSWlogo เทสี   ใช้คู่กับคำสั่ง   SETFC
คำสั่ง Circle เป็นคำสั่งให้ MSWlogo  วาดรูปวงกลม    รูปแบบ Circle รัศมี   ตัวอย่าง Circle 100
ให้วาดรูปวงกลมที่มีรัศมี 100
คำสั่ง ACr   เป็นคำสั่งวาดรูปครึ่งวงกลม

ตัวอย่าง การวาดรูปสี่เหลี่ยมมุมฉาก
forward 50 (แทน forward ด้วย fd.)
right 90 (แทน right ด้วย rt.)
forward 50
right 90
forward 50
right 90
forward 50
right 90
 

ตัวอย่าง การวาดรูปสี่เหลี่ยมมุมฉาก ด้วยคำสั่ง repeat
repeat 4 [forward 50 right 90]

 
ตัวอย่าง การวาดรูปสี่เหลี่ยมมุมฉาก ด้วยการสร้าง procedure
to square

repeat 4 [forward 50 right 90]
end
การเรียกใช้งาน
forward 60
square

back 60
 
ตัวอย่าง การวาดรูปสี่เหลี่ยมมุมฉาก ด้วยการสร้าง procedure
to square

repeat 4 [forward 50 right 90]
end
การเรียกใช้งาน
forward 60
square

back 60
 
ตัวอย่าง การวาดรูปวงกลม ด้วยการเรียกใช้ procedure square
repeat 12 [square right 30]
 

ตัวอย่าง การสร้างบ้านโดยการใช้กระบวนความ
to house
   square

   forward 50
   right 90
   triangle
end
 
to triangle
   repeat 3 [forward 50 left 120]
end
 
ตัวอย่าง การใช้ตัวแปร
to sq :size
     repeat 4 [forward :size right 90]

end
การเรียกใช้งาน
sq 10, sq 20, sq 30, etc.

 
ตัวอย่าง การประยุกต์เพื่องานออกแบบ
to design
   clearscreen

   right 30
   polyspi 5 120
end
to polyspi :size :angle
   if :size > 205 [stop]
   forward :size
   right :angle
   polyspi :size+5 :angle+.12
end