วันเสาร์ที่ 1 กันยายน พ.ศ. 2555

ตัวแปร


รู้จักกับตัวแปรในภาษาโลโก
      ตัวแปรในภาษาโลโกสามารถกำหนดได้หลายชนิด เช่น ตัวเลข (numeric) สายอักขระ (string) ตัวแปรที่จะกล่าวถึงในบทนี้จะเป็นตัวแปรชนิดตัวเลขเพียงอย่างเดียว
      ในการกำหนดตัวแปรของภาษาโลโกมี 2 วิธี วิธีแรกเป็นการใช้คำสั่ง Make และวิธีใช้กระบวนความที่มีการกำหนดให้ใส่ค่าตัวแปร ซึ่งจะมีรูปแบบในลักษณะเช่นเดียวกับการใส่ค่าคงที่ในคำสั่ง Forward Back Right และ Left
      การที่เราสามารถกำหนดค่าตัวแปรให้กับกระบวนความ จะทำให้ใช้กระบวนความทำงานได้อย่างมีประสิทธิภาพมากขึ้น เช่น วาดรูปได้หลายขนาดตามที่ต้องการ วาดรูปได้หลายแบบจากค่าตัวแปรที่กำหนด เป็นต้น

รูปแบบกระบวนความที่มีการกำหนดค่าตัวแปร
      รูปแบบกระบวนความที่มีการกำหนดค่าตัวแปร คือ
                     To ชื่อกระบวนความ :ตัวแปร1 :ตัวแปร2 :...
แนวคิดเกี่ยวกับการใช้ตัวแปรในภาษาโลโก
      1. ตัวแปร หมายถึง สิ่งที่มีการกำหนดค่า เปลี่ยนแปลงค่า และอ้างอิงได้ด้วยคำสั่งภายในโปรแกรม
      2. เมื่อสร้างกระบวนความที่มีตัวแปร เช่น To S_Square :size เต่าจะเก็บกระบวนความชื่อ S_Square ในหน่วยความจำ และเตรียมเนื้อที่ว่างในหน่วยความจำสำหรับเก็บค่าของตัวแปรชื่อ size ไว้
      3. เมื่อสั่งเต่าให้ทำงานตามกระบวนความที่มีตัวแปร เช่น คำสั่ง S_Square 20 เต่าจะรับรู้ว่าตัวเลขจำนวน 20 คือค่าของตัวแปร size และนำไปเก็บในเนื้อที่ว่างในหน่วยความจำที่เตรียมไว้ เพื่อนำไปใช้ในกระบวนความ S_Square ต่อไป
      4. การทำงานตามกระบวนความที่มีตัวแปร S_Square :size เช่น เครื่องหมาย : จะบอกเต่าให้หาค่าของตัวแปรชื่อ size ในเนื้อที่ว่างในหน่วยความจำที่เตรียมไว้ และนำค่าของตัวแปรไปใช้เหมือนกับการส่งค่าตัวแปรให้กระบวนความ
      5. ข้อแตกต่างระหว่างเครื่องหมาย : และ " ในภาษาโลโกมีดังนี้
          1) กำหนดให้มีเครื่องหมาย : นำหน้าตัวแปรใด หมายถึง การอ้างถึงค่าของตัวแปรที่จัดเก็บในตัวแปรชื่อนั้น เช่น :size จะหมายถึงค่าของตัวแปรที่เก็บในตัวแปร ชื่อ size
          2) การกำหนดให้มีเครื่องหมาย " หน้าตัวแปรใด หมายถึง การอ้างถึงชื่อของตัวแปรนั้น เช่น "size จะหมายถึง ชื่อของตัวแปรที่เรียกว่า size
          3) การกำหนดตัวแปรโดยไม่มีเครื่องหมาย : หรือ " นำหน้า หมายถึง ตัวแปรนั้นเป็นคำสั่งหรือกระบวนความ เช่น size ที่ไม่มีเครื่องหมาย : หรือ " นำหน้า เต่าจะเข้าใจว่าเป็นคำสั่งหรือกระบวนความที่มีชื่อว่า size



รู้จักกับกระบวนความ ::

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

รูปแบบของกระบวนความมีขั้นตอนดังนี้
TO ชื่อกระบวนความ
               คำสั่งที่ 1...
               คำสั่งที่ 2...
               .................
               .................
END

ตัวอย่างที่ 1   กระบวนความ Square
              
TO Square
                Forward 50
                Right 90
                Forward 50
                Right 9 0
                Forward 50
                Right 90
                Forward 50
                Right 90
END

หมายเหตุ
              1. กระบวนความในภาษาโลโกจะขึ้นต้นด้วย To และจะจบลงด้วย End
              2. ชื่อของกระบวนความที่ตั้งขึ้นมาจะต้องไม่ซ้ำกับคำสั่งในภาษาโลโก ที่สำคัญควรสั้น                   กระทัดรัด และสอดคล้องกับงาน
              3. พิมพ์อักษรตัวเล็กหรืออักษรตัวใหญ่ก็ได้
              4. เต่าจะรู้จักชื่อกระบวนความที่สร้างขึ้นแล้วและถือเป็นคำสั่งเสมอ
              5. การเรียกใช้งานให้พิมพ์เฉพาะชื่อกระบวนความเท่านั้น
 ไม่ต้องมี to นำหน้า  เช่น
                  พิมพ์ Square กดแป้น Enter หรือ แป้น Excute

 :: การสร้างและแก้ไขกระบวนความ ::
                                        แสดงการเปรียบเทียบการใช้คำสั่งตรงและการสร้างกระบวนความ  
  คำสั่งตรง
คำสั่งกระบวนความ
       เช่น จะสร้างรูปสี่เหลี่ยมจัตุรัส ให้มี ความกว้าง 80 หน่วย ต้องใช้คำสั่งตรงพิมพ์ซ้ำ 4 ครั้ง ในช่องป้อนคำสั่ง ดังนี้
1)  fd 80 rt 90  กดแป้น Enter
2)  fd 80 rt 90  กดแป้น Enter
3)  fd 80 rt 90  กดแป้น Enter
4)  fd 80 rt 90  กดแป้น Enter
               
   หรือจะใช้คำสั่งทำซ้ำ Repeat ดังนี้
       repeat 4[fd 80 rt 90] 
              
             
ขั้นตอนการสร้างกระบวนความ (พิมพ์ to square คำสั่งในช่องป้อนคำสั่ง กด Enter) จะได้หน้าต่าง กระบวนความดังรูปข้างบน

พิมพ์   fd 80 rt 90 fd 80 rt 90 fd 80 rt 90
        fd 80 rt 90
end
พิมพ์เสร็จแล้วให้คลิ๊กที่กากะบาท หรือ คลิ๊กที่ File เลือก Exit เพื่อออกจากหน้าต่างกระบวนความ จะปรากฏคำสั่ง Square defined ในช่องป้อนคำสั่ง

หรือจะใช้คำสั่งทำซ้ำ Repeat สร้างกระบวนความก็ได้
เช่น พิมพ์ to square ในช่องป้อนคำสั่ง

 พิมพ์ repeat 4[fd 80 rt 90] 
      end
** ถ้าจะให้เต่าสร้างภาพ ให้พิมพ์คำสั่ง Square ในช่อง ป้อนคำสั่ง กดแป้น Enter จะได้ภาพสี่เหลี่ยมจัตุรัส ตามต้องการ (ดูภาพตัวอย่างด้านซ้ายมือ)
             การเรียกกระบวนความมาแก้ไข ให้ปฏิบัติดังนี้
         
             1)  พิมพ์คำสั่ง Edit "square กดแป้น Enter จะปรากฏหน้าต่างดังรูป

                          2)  แก้ไขข้อความตามต้องการ ปฏิบัติเหมือนแก้ไขเอกสารในโปรแกรมเวิอร์ด
                    3)  เสร็จแล้วให้คลิ๊กที่ไฟล์ เลือก Exit



 การบันทึกกระบวนความและการเรียกมาใช้งาน ::
                เมื่อออกจากการสร้างและแก้ไขกระบวนความแล้ว กระบวนความจะถูกจำไว้ในหน่วยความจำแรม สามารถเรียกใช้งานได้ตลอดเวลา ในขณะนั้น  และจะถูกลบออกจากหน่วยความจำ เมื่อเลิกการใช้งาน โปรแกรมโลโก แต่ถ้าต้องการจะเก็บกระบวนความไว้ใช้งานต่อไป ต้องทำการบันทึกกระบวนความเก็บไว้ ในแผ่นบันทึกหรือฮาร์ดดิสก์ มีวิธีปฏิบัติตามขั้นตอนดังนี้ 
              1)  คลิ๊กคำสั่ง File ---> Save As บนหน้าต่างโปรแกรมโลโก
              2)  ตั้งชื่อแฟ้มในช่อง File name
              3)  กำหนดสถานที่เก็บแฟ้มให้ถูกต้อง
              4)  คลิ๊ก Save

       ถ้าต้องการนำกระบวนความที่เก็บไว้กลับมาใช้งานอีกครั้ง ให้ปฏิบัติดังนี้
              1)  คลิ๊กที่เมนูไฟล์ เลือกคำสั่ง Load
              2)  เลือกชื่อไฟล์ที่ต้องการจะเปิด คลิ๊ก Open
              3)  พิมพ์ชื่อกระบวนความ ในช่องป้อนคำสั่ง กดแป้น Enter



การใช้กระบวนความสร้างชิ้นงาน ::

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

           ตัวอย่างกระบวนความสร้างบ้าน นักเรียนจะต้องทำการวิเคราะห์กระบวนความในการสร้างบ้าน ก่อน สรุปได้ว่า กระบวนความที่จะต้องสร้างมีทั้งหมด 4 กระบวนความคือ
1. กระบวนความสร้างผนังบ้าน [WALL]
2. กระบวนความสร้างหน้าต่าง [WINDOWS]
3. กระบวนความสร้างประตู [DOOR]
4. กระบวนความสร้างหลังคา [ROOF]
 http://www.kpsw.ac.th/vichit/media/weblogo/unit4_1.html

การเขียนกระบวนความของโปรแกรม MSWLogo   เพื่อสร้างภาพกราฟิกที่ซับซ้อน
สามารถทำได้โดยง่าย เช่น ในการสร้างภาพบ้าน เราต้องแบ่งภาพบ้านให้เป็นงานชิ้นเล็ก ๆ เป็นส่วน ๆ เช่น
ฝาผนัง หลังคา หน้าต่าง และประตู หลังจากนั้นนำกระบวนความทั้งหมดมารวมกันภายหลัง
ขั้นตอนการเขียนกระบวนความเพื่อสร้างรูปดินสอมีดังนี้
ขั้นตอนที่ 1
          กำหนดชื่อกระบวนความสร้างรูปดินสอ pencil และชื่อกระบวนความเล็ก ๆ ทั้งหมดดังนี้
body
head
yanglop
ขั้นตอนที่ 2
         เขียนกระบวนความ body โดย พิมพ์คำสั่ง edit "body (edit กับเครื่องหมายคำพูดให้เว้น 1 เคาะแล้วตามด้วย body) ที่ช่องป้อนคำสั่งแล้วกด Enter หลังจากนั้นจะพบคำว่า to และจบด้วย end ให้ใส่คำว่า body ลงไปหลังคำว่า to โดยเว้นระยะห่างระหว่าง to กับ body 1 เคาะ
to body
     pd fd 100 rt 90 fd 200 rt 90 fd 100 rt 90 fd 200 rt 90 pu rt 45 fd 50
     setfc 8 fill bk 50 lt 45
end
ขั้นตอนที่ 3
         เขียนกระบวนความ head เหมือนกระบวนความ body
to head
      pd repeat 3[fd 100 lt 120] pu lt 15 fd 20 setfc 0 fill bk 20 rt 15
end
ขั้นตอนที่ 4
        เขียนกระบวนความ yanglop เหมือนกระบวนความ body
to yanglop
     pu rt 90 fd 200 lt 90 fd 50 lt 180 pd arc 180 50 pu lt 90 fd 20
     setfc 4 fill bk 50 home
end
ขั้นตอนที่ 5
        เขียนกระบวนความสร้างรูปดินสอจากกระบวนความย่อยในขั้นที่ 2-4 โดยตั้งชื่อกระบวนความว่า "pencil"
to pencil
     pd body head yanglop pu home ht
end

http://www.tharua.ac.th/tharua/e-learning/mswlogo_1/project/l_7.html

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

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