Professional Documents
Culture Documents
บทที่ 5
บทที่ 5
ความหมายของโลโก
1. ภาษาสําหรับการเขียนโปรแกรมซึ่งเปนอนุพันธของภาษา
LISP(ภาษาสําหรับงานปญญาประดิษฐ)
2. ภาษาสําหรับการสอนกระบวนการเรียนรูและการคิดของผูเรียน
3. ภาษาที่ชวยใหเขาใจหลักการเขียนโปรแกรมของภาษาคอมพิวเตอร
และการทํางานที่เกี่ยวของกับคอมพิวเตอรไดงายขึ้น
4. ภาษาที่สงเสริมความสามารถทางดานวิทยาศาสตรและคณิตศาสตร
โดยสรางแนวคิดในการแกไขปญหาและการพิสูจนแนวคิด
5. ภาษาที่นําไปใชกับสาขาอื่นเชนดนตรี ภาษาศาสตร ศิลปะ
คณิตศาสตร
ความเปนมาของภาษาโลโก
โลโกเปนภาษาคอมพิวเตอรสําหรับเด็ก ที่พัฒนาโดย ดร.เซยมัวร พาเพิรต
(Seymour Papert) และคณะ จากสถาบันเทคโนโลยีแมสซาซูเสตต
สหรัฐอเมริกา (Massachusettes institute of technology
or M.I.T.) พาเพิรตพัฒนาภาษาโลโกขึ้นโดยใชแนวทางของภาษาลิสป (lisp)
ซึง่ เดิมเปนภาษาที่ใชดําเนินการกับรายการขอมูล และตอมากลายเปนภาษาที่นิยมใชงาน
ในงานประดิษฐ (Artificial Intelligence or AI) ซึง่ เปนวิชาการที่
เกี่ยวกับการทําใหคอมพิวเตอรทํางานหรือคิดไดเหมือนมนุษย
ลักษณะเดนของภาษาโลโก คือ การใชกราฟกที่เรียกวา กราฟกเตา( Turtle
graphics) ใชภาพเตาในการเปนสื่อกลางอยูบนจอภาพ และเตายังมีปากกาเปน
อาวุธอีกดวย
แถบเมนูมีคําสั่งตาง ๆ ดังนี้
File Bitmap Set Zoom Help
องคประกอบหลักของแถบเมนู
1. แถบชื่อของโปรแกรมจะบอกเพียงวาขณะนี้ทานกําลังใชโปรแกรม
ภาษาโลโกอยู
2. แถบเมนูเปนแถบที่ใชเก็บคําสั่งตาง ๆ ในการทํางานประกอบไป
ดวยคําสั่งตาง ๆ ไดแก File Bitmap Set Zoom Help
3 ปุมควบคุมหนาตางจะเหมือนของ Window ทั่ว ๆ ไปคือ จะ
ประกอบดวยสวนเก็บหนาตางมาไวมี่ Task Bar ปุมยอ/ขยายหนาตาง
และปุมสําหรับปดหนาตาง
องคประกอบหลักของแถบเมนู
4. สวนแสดงผลกราฟฟกเปนสวนที่แสดงผลงานที่เตาทําตามคําสั่ง
ของเรา เตาจะเชื่อฟงทําตามเราสั่งตอเมื่อเปนคําสั่งที่ถูกตองเทานั้น ถาเปน
คําสั่งไมถูกตอง เตาจะไมทําและจะถามเราในสวนแสดงผลขอความวาที่คุณ
สั่งมานะทําไมไดจะใหทําอยางไร
5. ชองปอนคําสั่ง เปนสวนที่รับคําสั่งจากคนเขาไปเพื่อใหเตาทํางาน
ได เมื่อสั่งเขาไปแลวจะไปแสดงผลในสวนแสดงผลกราฟฟก
องคประกอบหลักของแถบเมนู
6. สวนแสดงผลขอความ เปนสวนที่เครื่องคอมพิวเตอรจะแสดง
Text มาในชองนี้ หรือแสดงคําสั่งเกาในชองนี้ ในชองนี้บางครั้งถาเรา
ไมไดปรับเปลี่ยนภาษาไวอาจมีปญหาในเรื่องของการแสดงผลภาษาไทย
7. แผงปุมควบคุมเปนแผงที่ทําหนาที่ในการควบคุมการทํางานของ
คอมพิวเตอร การใชงานแผงนีจ้ ะตองเอา mouse มาคลิกเพื่อใหปุม
ตาง ๆ ทํางาน แตคําสั่งบางคําสั่งสามารถกด ENTER ไดเลย บาง
คําสั่งจะใหใชเมื่อตองการหยุดชั่วคราว ซึ่งเรามักจะใชเมื่อมีการ RUN
โปรแกรมที่เขียนขึ้นมา
องคประกอบหลักของแถบเมนู
8. เตาโลโก จะมีรูปรางเปน สามเหลี่ยม จะทํางานตามที่เรา
สั่ง เตาเองทําหนาที่เดินไป และมีปากกาติดไปดวย เมื่อสั่งใหเตา
เดินไปเตาจะลากปากกาไปตามทางเดินดวยทําใหไดรูปภาพขึ้นมา
แตก็สามารถสั่งใหเตายกปากกาไดเหมือนกัน
การเดินทางของเตาโลโก
การเดินทางของเตาโลโกนั้นจะสามารถเดินทางขึ้นไปไดมาก
ที่สุด 500 จุด และจะสามารถไปทางขางๆได 500จุด
ตัวอยางภาพจากโปรแกรมภาษาโลโก
การเก็บงานไวเพื่อใหเอาไปใชงาน
การเก็บงานไวเพื่อใหเอาไปใชงานหรือเพื่อเอามาทํางานตอในครั้ง
ตอไป มีการเก็บงานได 2 แบบคือ
1 การ save ที่เมนู File เปนการเก็บงานที่เปนการเก็บงานที่ได
สรางเปนกระบวนความ (Procedure) ไวหรือจะเรียกงาย ๆ คือเปน
งานที่เขียนในลักษณะของโปรแกรมที่จะเอาไปใชตอไป
2 การเก็บงานที่เปบแบบ รูปภาพ ซึ่งจะตองเก็บงานที่เมนู
bitmap จะเปนรูปภาพมาแสดงใหดูเลยเมื่อLoad file มาใชงาน
การเก็บงานไวเพื่อใหเอาไปใชงาน
การ save ในแบบแรกเปนการ save ทีต่ องใชบอย ๆ
ในขณะที่เขียนขบวนการหรือในขณะที่สรางโปรแกรม
(Procedure) เมื่อเขียนไปครั้งหนึ่ง ๆ นั้นอาจจะไม
สามารถทํางานจนเสร็จเรียบรอยหรือทํางานแลวแตยังตองแกไข ก็
ตองเก็บงานไวเพื่อทําตอไป ก็ตองใชในการเก็บงาน(Save) ที่
เมนู File นี่เอง
การเก็บงานไวเพื่อใหเอาไปใชงาน
สวนในการ เก็บงานแบบที่สองคือแบบที่เก็บเปนรูปภาพเวลา
ที่เราเรียกใชงานใหมก็เรียกไดจากการ Load เหมือนกันเมื่อ
Load แลวก็จะไดเปนรูปภาพออกมาเลยโดยตรง ไมสามารถไป
แกไขรูปภาพนั้นไดอีกแลว
ในการใชงานภาษาโลโก มักจะใช save ในการเขียน
โปรแกรมเปนสวนใหญเพื่อนํามาแกไข ดัดแปลงใหตัวโปรแกรม
ของเปนไปตามที่ตองการ
การตั้งคา
• การเปลี่ยนขนาดปากกา
Set Æ Pensize
• การเลือกขนาดตัวอักษร มี 2 แบบ คือ
1. Label Font
2. Commander Font
การตั้งคา
• การเลือกสีของการเลือกสีของปากกา
Set Æ PenColor
การเลือกสีของปากกา จะมีสีหลัก 8 สี และสามารถกําหนดเองไดจากการปรับ
Scroll bar ของตารางแมสีดานขวา
• การเลือกสีของ Flood Color
คําสัง่ ในการกําหนดคาสีทตี่ องการ Set Æ Flood Color
• การเลือกสีหนากระดานทํางาน
Set Æ Screen Color
การตั้งคา
• การขยายและลดขนาดหนาตางแสดงผลกราฟก
Zoom Æ In
Zoom Æ Out
Zoom Æ Normal
ปุมคําสั่งพิเศษ
• Execute จะทําตามคําสั่งที่พิมพในชอง Input ทุกครั้ง
เมื่อกด Enter
• Status เปนปุมแสดงสถานะขอมูลของเตาโลโกขณะทํางาน
เปนการแสดงผลแบบหนาตาง Pop up
• Trace เวลาทดสอบโปรแกรมหาขอผิดพลาดของโปรแกรมที่
กําลังเขียนกําลังเขียน คลิกที่ปุม untrace ยกเลิกการแสดงผล
ในชอง Output/Command-Recall List
ปุมคําสั่งพิเศษ
• Halt ใชในเวลาตองการใหโลโกหยุดประมวลผลทันทีที่
ตองการ เมื่อหยุดการทํางานแลวโลโกจะรอรับคําสั่งใหม
• Reset ใชในการลบขอมูลที่ปรากฏบนกระดานทํางานทั้งหมด
และเริ่มตนการทํางานใหม
ปุมคําสั่งพิเศษ
• Step ใชในการตรวจสอบการทํางานของโปรแกรมทีละ
ขั้นตอนเพื่อเปนขอมูลในการแกไขโปรแกรมที่มีขอผิดพลาด เมื่อ
ตองการยกเลิกคําสั่งนี้ใหชี้เมาสที่ปุม Unstep (จะแสดง
หนาตาง pop up ของคําสั่ง Step)
• Pause ใชเมื่อตองการหยุดการใชโปรแกรมชั่วคราวเพื่อ
ตรวจสอบเปลีย่ นแปลงคาตัวแปรและอื่น ๆ เมื่อชี้เมาสไปคลิกที่
ปุม pause จะมีหนาตางทํางานเพื่อใหเปลี่ยนคาตัวแปรในชอง
Input ตามที่ตองการ
ปุมคําสั่งพิเศษ
• Edall จะใชงานเมื่อตองการเรียกหนาตาง editor ขึ้นมา
เพื่อเขียนและแกไขโปรแกรมคําสั่งที่กําลังทํางานอยูหรือสราง
โปรแกรมใหม
คําสั่งภาษาโลโก
คําสั่งเหลานี้เปนคําสั่งพื้นฐานของภาษาโลโกที่ทํางานบน
Windows อาจมีความแตกตางจากภาษาโลโกที่ทํางานบน
DOS อยูบางเพราะบางคําสั่งไมสามารถใชงานไดเลย และบาง
คําสั่งก็สามารถทํางานได
คําสั่ง วิธีสั่ง ผลที่ได
FD FD ตามดวยจํานวนเลขทีจ่ ะใหเตาเคลือ่ นทีไ่ ป เตาจะเดินหนาไปเทาจํานวนตัวเลขทีเ่ ราสั่งลงไป
CS CS จะลบหนาจอที่เราเขียนไวออกไป แลวมาตั้งตนที่บาน
RT RT ตามดวยตัวเลขคาของมุม เตาเลี้ยวขวา เปนมุมตามจํานวนเลขทีก่ ําหนด
LT LT ตามดวยตัวเลขคาของมุม เตาเลี้ยวซาย เปนมุมตามจํานวนเลขทีเ่ รากําหนด
HOME HOME เตากับบาน มาตั้งตนที่บาน
PE PE เตาทําตัวเปนยางลบ เดินไปลบเสนที่วาดไว
PPT PPT เตากับมาทําหนาที่ปากกาอีกครั้งหนึ่ง
PU PU เตายกปากกาขึน้ เดินไปโดยไมวาดเสน
PD PD เตาวางปากกาลง วาดเสนไดอีกครั้งหนึ่ง
REPEAT REPEAT ตามดวยจํานวนครั้ง เตาทําคําสั่งนั้นซ้ําตามจํานวนครั้งที่สั่งไว
CIRCLE CIRCLE ตามดวยตัวเลขรัศมีของวงกลม เตาวาดรูปวงกลม โดยมีรัศมีเทากับตัวเลขทีส่ ั่งไว
เตาสรางเสียง ออกทางลําโพงของคอมพิวเตอร โดยใชตัวเลขเปน 2 ขุด
SOUND SOUND [ตัวเลขชุดที่ 1 ตัวเลขชุดที่ 2]
แลวแตกําหนด ตองทดลองทําดูเอง
เตาเคลือ่ นทีไ่ ป ตัวเลขตัวแรกเคลือ่ นไปตามแกน X และตัวเลขตัวที่สองสั่ง
SETPOS SETPOS [ตัวเลขชุดที่ 1 ตัวเลขชุดที่ 2]
ใหเคลือ่ นทีไ่ ปตามแกน Y
ED ED "คําสั่ง เตาสรางโปรแกรมยอย หรือคําสั่งที่สั่งโดยตัวผูใชสรางขึ้นมาเอง
SETPC ตัวเลขตั้งแต 1-255 และมีการใชคําสั่งนี้อีกแบบหนึ่งคือ
SETPC ใชตัวเลข 3 ชุด เชน SETPC [000 125 255] โดยเลขแตละชุดไม เตาเปลี่ยนสีของปากกา ตองลองทดลองเอง
เกิน 255
SETPEN
SETPENSIZE [ตัวเลขชุดที่ 1 ตัวเลขชุดที่ 2] เตาเปลี่ยนขนาดของปากกา(ตัวเลขมีขอจํากัดดวยครับ
SIZE
SETFC ตัวดวยตัวเลขตั้งแต 1-255 และลักษณะการสั่ง
SETFC เตาเปลี่ยนสีที่จะนําเอามาละบายลงในพื้นที่
เหมือนกับ SETPC
FILL FILL กําหนดใหเตาเทสีหรือระบายสีลงในพื้นที่ที่กําหนด
การสรางรูปสี่เหลี่ยมจัตุรัส
• กอนการสรางรูปสี่เหลี่ยมจัตุรัสจะตองมีการวางแผนลําดับขั้นตอน
กอน
• ตัวอยางการทํา Flow chart ของการสรางรูปสี่เหลี่ยมจัตุรัส
การสรางรูปสี่เหลี่ยมจัตุรัส
จาก Flowchart จะสามารถนํามาทําเปนรูปดวยคําสัง่ ดังนี้
1. สรางเสนตรงตามจุดที่ตองการ ( fd …)
2. หมุนขวาหรือซาย 90 องศา ( rt 90 , lt 90)
3. สรางเสนตรงตามจุดที่ตองการอีก ( fd …)
4. หมุนขวาหรือซาย 90 องศาอีก ( rt 90 , lt 90)
5. สรางเสนตรงตามจุดที่ตองการอีกครั้ง ( fd …)
6. หมุนขวาหรือซาย 90 องศาอีกครั้ง ( rt 90 , lt 90)
7. สรางเสนตรงตามจุดที่ตองการอีกเปนครั้งสุดทาย ( fd …)
8. หมุนขวาหรือซาย 90 องศาอีกเปนครั้งสุดทาย ( rt 90 , lt 90)
การสรางรูปสี่เหลี่ยมจัตุรัส
หมายเหตุ
ถาในขั้นตอนที่ 2 นักเรียนเลี้ยวซาย 90 องศา นักเรียนตอง
ทําเชนเดียวกันในขั้นตอนที่ 4 ,6 และ 8 คือ นักเรียนตองเลี้ยว
ซาย 90 องศาในขั้นตอนที่ 4,6 และ 8
แตถาในขั้นตอนที่ 2 นักเรียนเลี้ยวขวา 90 องศา นักเรียน
ตองทําเชนเดียวกันในขั้นตอนที่ 4 ,6 และ 8 คือ นักเรียนตอง
เลี้ยวขวา 90 องศาในขั้นตอนที่ 4,6 และ 8
การสรางรูปสี่เหลี่ยมจัตุรัส
• จากการที่นักเรียนไดสรางรูปสี่เหลี่ยมจัตุรัสแลวจะสังเกตไดวา
นักเรียนตองทํางานซ้ําไปซ้ํามาจึงไดทีการพัฒนาโปรแกรมขึ้นมา
ใหมีคําสั่งใหมอีกคําสั่งคือคําสั่ง Repeat
• คําสั่ง Repeat นั้นจะใชกันมากและใชกันบอยครั้งในการวาด
รูปในโปรแกรมภาษาโลโก ลักษณะของคําสั่ง คําสั่ง Repeat
คือ
การสรางรูปสี่เหลี่ยมจัตุรัส
• วิธีสั่ง พิมพ repeat แลวตามดวยจํานวนครั้งที่ตองการใหมี
การทําซ้ํา แลวตามดวยคําสั่งตางๆที่ตองการใหมีการทําซ้ํา ใน
[…]
• ผลที่ได เตาทําคําสั่งนั้นซ้ําตามจํานวนครั้งที่สั่งไว
• ตัวอยาง repeat 4 [ fd 25 ]
การสรางรูปสี่เหลี่ยมจัตุรัส
• ตัวอยางการใชคําสั่ง Repeat
ใหนักเรียนลองพิมพ
Repeat 4 [ rt 90 fd 100]
บันทึกผลที่ได
จากตัวอยางนี้เราจะเห็นไดวาภาพที่ไดนั้นก็มีลักษณะเชนเดียวกับ การ
เขียนภาพรูปสี่เหลี่ยมจัตุรัส และก็ทําใหเราประหยัดเวลาในการสรางรูปแต
ละรูปโดยที่เราแคพิมพเพียงบรรทัดเดียว แทนที่จะพิมพซ้ําไปซ้ํามาถึง 8
บรรทัด
การใชคําสั่ง Repeat
• การใชคําสั่ง Repeat เปนการใหเตาทําซ้ําในคําสั่งนั้น ๆ มี
รูปแบบการสั้งดังนี้
repeat 3[fd 100 rt 90]
สั่งใหทํา 3 ครั้ง โดยใหทําตามที่สั้งไวในวงเล็บ ในที่นี้
คือสั่งใหเดินหนา 100 เลี้ยวขวา 90 องศา ไมวาเราจะเอา
คําสั่งอะไรมาใสไวในวงเล็บ เตาก็จะทํางานใหตามจํานวนครั้งที่
เราสั่งไป
การทําภาพในแบบตาง ๆ
• ภาพกราฟกหกเหลี่ยม
repeat 6[fd 50 rt 60]
การทําซ้ํา ๆ หลายรูป
repeat 36[repeat 3[fd 90 rt 120]
rt 10]
การทําภาพในแบบตาง ๆ
1. repeat 30[fd 150 rt 360/30]
2. repeat 60[fd 150 rt 360/60]
3 repeat 5[fd 150 rt 360/5]
4 repeat 8[fd 150 rt 360/8]
5. repeat 9[fd 150 rt 360/9]
6 repeat 20[fd 150 rt 360/20]
7 repeat 10[fd 150 rt 386/10]
การสรางรูปสามเหลี่ยมดานเทา
วิธีที่ 1 แบบธรรมดา
สรางเสนตรงตามจุดที่ตองการอีก ( fd …)
หมุนขวาหรือซาย 120 องศา ( rt 120 , lt 120)
สรางเสนตรงตามจุดที่ตองการอีกครั้ง ( fd …)
หมุนขวาหรือซาย 120 องศาอีกครั้ง ( rt 120 , lt 120)
สรางเสนตรงตามจุดที่ตองการอีกเปนครั้งสุดทาย ( fd …)
หมุนขวาหรือซาย 120 องศาอีกเปนครั้งสุดทาย ( rt 120 , lt 120)
การสรางรูปสามเหลี่ยมดานเทา
จากวิธีที่ 1 เราจะเห็นไดวามีการทําซ้ําไปซ้ํามาถึง 3 รอบคือ
รอบที่ 1
สรางเสนตรงตามจุดที่ตองการอีก ( fd …)
หมุนขวาหรือซาย 120 องศา ( rt 120 , lt 120)
รอบที่ 2
สรางเสนตรงตามจุดที่ตองการอีกครั้ง ( fd …)
หมุนขวาหรือซาย 120 องศาอีกครั้ง ( rt 120 , lt 120)
รอบที่ 3
สรางเสนตรงตามจุดที่ตองการอีกเปนครั้งสุดทาย ( fd …)
หมุนขวาหรือซาย 120 องศาอีกเปนครั้งสุดทาย ( rt 120 , lt 120)
การสรางรูปสามเหลี่ยมดานเทา
เราจึงมีการทําวิธีที่ 2 คือมีการใชคําสั่ง Repeat
Repeat 3 [fd … rt 120]
จากวิธีนี้ก็จะสามารถสรางรูปสามเหลี่ยมไดเชนกัน