Embedded Answers (Cloze)

เป็นการสร้างโจทย์และคำตอบในรูปแบบต่างๆ เช่น Multiple choice , short answer และ numerical โดยการเขียนข้อความ(โค้ด) มีจุดเด่นคือความยืดหยุ่นในการสร้างตัวเลือกตอบให้มีหลากหลายรูปแบบในโจทย์ข้อเดียวกันได้

รูปแบบของโจทย์ที่สามารถทำได้

โจทย์ที่เป็นข้อความ(โค้ด)ที่จะมีคำถามย่อยในรูปแบบต่างๆฝังอยู่ คำถามย่อยที่สามารถฝังได้มีดังนี้ :

  • short answers (SHORTANSWER หรือ SA หรือ MW)

  • short answers (SHORTANSWER_C หรือ SAC or MWC)

  • numerical answers (NUMERICAL หรือ NM)

  • multiple choice (MULTICHOICE หรือ MC) จะแสดงคำตอบเป็นรายการ dropdown ให้เลือกตอบ

  • multiple choice (MULTICHOICE_V หรือ MCV) จะแสดงคำตอบเป็นคอลัมน์แนวตั้งให้เลือกตอบ

  • multiple choice (MULTICHOICE_H หรือ MCH)จะแสดงคำตอบเป็นคอลัมน์แนวนอนให้เลือกตอบ

  • multiple choice (MULTIRESPONSE หรือ MR) จะแสดงคำตอบเป็นกล่อง checkbox แนวตั้งให้เลือกตอบ

  • multiple choice (MULTIRESPONSE_H หรือ MRH) จะแสดงคำตอบเป็นกล่อง checkbox แนวนอนให้เลือกตอบ

การสุ่มคำถามย่อย

เมื่อเปิดการสุ่มคำถาม ตัวเลือกแบบ multiple choice ต่อไปนี้จะถูกสุ่มด้วย

  • multiple choice (MULTICHOICE_S หรือ MCS) จะแสดงคำตอบเป็นรายการ dropdown อยู่ในบรรทัดเดียวกันกับข้อความให้เลือกตอบ

  • multiple choice (MULTICHOICE_VS หรือ MCVS) จะแสดงคำตอบเป็นคอลัมน์แนวตั้งให้เลือกตอบ

  • multiple choice (MULTICHOICE_HS หรือ MCHS) จะแสดงคำตอบเป็นคอลัมน์แนวนอนให้เลือกตอบ

  • multiple choice (MULTIRESPONSE_S หรือ MRS) จะแสดงคำตอบเป็นกล่อง checkbox แนวตั้งให้เลือกตอบ

  • multiple choice (MULTIRESPONSE_HS หรือ MRHS) จะแสดงคำตอบเป็นกล่อง checkbox แนวนอนให้เลือกตอบ

หรือใช้ Cloze editor เพื่อให้สร้างคำถามได้ง่ายและรวดเร็วขึ้น

โครงสร้างของแต่ละ cloze คำถามย่อย

{ เริ่ม cloze คำถามย่อยด้วยเครื่องหมายปีกกา (AltGr+7)

1 กำหนดคะแนนในแต่ละ cloze คำถามย่อยด้วยตัวเลข(ไม่จำเป็น) เพื่อใช้สำหรับการคำนวนคะแนนในคำถามข้อดังกล่าว โดยตัวเลขนี้จะต้องเป็นจำนวนเต็มบวกเท่านั้น (1,2,3 เป็นต้น)

:SHORTANSWER: กำหนดประเภทของ cloze คำถามย่อย โดยพิมพ์ประเภทคำถามที่ต้องการ จากนั้นครอบด้วยเครื่องหมาย ':'

~ เป็นเครื่องหมายสำหรับใช้คั่นระหว่างคำตอบในแต่ละตัวเลือก

= เป็นเครื่องหมายสำหรับกำหนดคำตอบที่ถูกต้อง

(#) เป็นเครื่องหมายสำหรับกำหนดจุดเริ่มต้นของฟีดแบ็ค(ถ้ามี)

} สำหรับปิด cloze คำถามย่อย (AltGr+0)

ตัวอย่าง :

{1:SHORTANSWER:=Berlin} is the capital of Germany.

โปรดระมัดระวังในการ copy คำถามประเภทนี้ลงใน WYSIWYG HTML editor เนื่องจากระบบจะเพิ่มการเว้นบรรทัดมาให้โดยอัตโนมัติ และจำทำให้คำถามนั้นไม่สามารถแสดงผลได้

กรณีที่คำตอบที่ถูกต้องมีเครื่องหมาย } # ~ / . หรือ \ ประกอบ ให้หลีกเลี่ยงการใช้ \ วางไว้หน้าตัวอักษรในแต่ละตัว ซึ่งจะทำให้การสร้างโจทย์นั้นยุ่งยากมากขึ้น และเครื่องหมาย { ควรจะใส่ไว้ เพราะเป็นเครื่องหมายที่สำคัญ ที่ทำให้ TeX นั้นแสดงผลได้เป็นปกติ และให้หลีกเลี่ยงการใช้เครื่องหมาย ~ และ } ในการเขียนฟีดแบค เพราะระบบจะเข้าใจว่าส่วนดังกล่าวเป็นคำตอบถัดไปหรือส่วนท้ายสุดของลำดับในคำตอบแบบ short answer

เครื่องหมาย " อาจทำให้การแสดงผลไม่สมบูรณ์เมื่อใส่เป็นสองตำแหน่งใน HTML entity: & quot; (เมื่อพิมพ์ด้วย & และ quot; ติดกัน) นอกจากนี้การแสดงผลอาจไม่สมบูรณ์ถ้าต้องการให้แสดงผลสัญลักษณ์ทางคณิตศาสตร์เมื่อใช้เครื่องหมาย \ ใน TeX เพื่อหลีกเลี่ยงปัญหาที่อาจเกิดขึ้นได้ ให้ใช้ unicode แทน

ตัวอย่าง

ตัวอย่างการสร้างโจทย์แบบ embedded อย่างง่าย

จงจับคู่เมืองหลวงกับรัฐต่อไปนี้:
* ซาน ฟรานซิสโก: {1:MULTICHOICE:=แคลิฟอร์เนีย#โอเค~อะริโซนา#ผิดจ้า}
* ทูซอน: {1:MULTICHOICE:แคลิฟอร์เนีย#ผิดจ้า~%100%อะริโซนา#โอเค}
* ลอส แองเจริส: {1:MULTICHOICE:=แคลิฟอร์เนีย#โอเค~อะริโซนา#ผิดจ้า}
* ฟินิกซ์: {1:MULTICHOICE:%0%แคลิฟอร์เนีย#ผิดจ้า~=อะริโซนา#โอเค}
เมืองหลวงของฝรั่งเศสคือ {1:SHORTANSWER:%100%ปารีส#ถูกต้อง!
~%50%มาร์เซย#ไม่ใช่, เป็นเมืองที่ใหญ่ที่สุดเป็นอันดับที่สองของฝรั่งเศส (รอง
จากปารีส).~*#ตอบผิด. เมืองหลวงของฝรั่งเศสคือปารีสนั่นเอง}.

เมื่อแสดงผล :

ตัวอย่างที่ 2

This question consists of some text with an answer embedded right here {1:MULTICHOICE:Wrong answer#Feedback for this wrong answer~Another wrong answer#Feedback for the other wrong answer~=Correct answer#Feedback for correct answer~%50%Answer that gives half the credit#Feedback for half credit answer}

and right after that you will have to deal with this short answer {1:SHORTANSWER:Wrong answer#Feedback for this wrong answer~=Correct answer#Feedback for correct answer~%50%Answer that gives half the credit#Feedback for half credit answer}

and finally we have a floating point number {2:NUMERICAL:=23.8:0.1#Feedback for correct answer 23.8~%50%23.8:2#Feedback for half credit answer in the nearby region of the correct answer}.

The multichoice question can also be shown in the vertical display of the standard moodle multiple choice. {2:MCV:1. Wrong answer#Feedback for this wrong answer~2. Another wrong answer#Feedback for the other wrong answer~=3. Correct answer#Feedback for correct answer~%50%4. Answer that gives half the credit#Feedback for half credit answer}

Or in an horizontal display that is included here in a table {2:MCH:a. Wrong answer#Feedback for this wrong answer~b. Another wrong answer#Feedback for the other wrong answer~=c. Correct answer#Feedback for correct answer~%50%d. Answer that gives half the credit#Feedback for half credit answer}

A shortanswer question where case must match. Write moodle in upper case letters {1:SHORTANSWER_C:moodle#Feedback for moodle in lower case ~=MOODLE#Feedback for MOODLE in upper case ~%50%Moodle#Feedback for only first letter in upper case}

Note that addresses like www.moodle.org and smileys :-) all work as normal:

a) How good is this? {:MULTICHOICE:=Yes#Correct~No#We have a different opinion}

b) What grade would you give it? {3:NUMERICAL:=3:2}

เมื่อแสดงผล :

การแสดงผลของฟีดแบค

การแสดงผลฟีดแบคใน MULTICHOICE และ MULTICHOICEV จะแสดงผลเมื่อวางเมาส์เหนือช่องคำตอบ(เลื่อนเคอร์เซอร์ไปที่กล่องคำตอบ) ส่วน MULTICHOICE_H จะแสดงผลโดยตรงบนหน้าจอข้างๆคำตอบของนักศึกษา

ตัวอย่างคำถาม :

สัตว์ขนิดใดเป็นสัตว์กินเนื้อ? (answer: แมว)
ทดสอบ MULTICHOICE {1:MULTICHOICE:=แมว#ใช่แล้ว ถูกต้อง~ยีราฟ#ผิด!}
ทดสอบ MULTICHOICE_H {1:MULTICHOICE_H:=แมว#ใช่แล้ว ถูกต้อง~ม้าลาย#ผิด!}
ทดสอบ MULTICHOICE_V{1:MULTICHOICE:=แมว#ใช่แล้ว ถูกต้อง~ยีราฟ#ผิด!}

เมื่อแสดงผล :

การเพิ่มรูปภาพลงในคำถามที่มีตัวเลือกแบบ multichoice

การใส่ภาพลงในตัวเลือกของ multichoice ในคำถามย่อยด้วยตัวเลือกแบบ radio choice หรือแบบ checkbox สามารถทำได้ในตัวเลือกประเภท :

  • MULTICHOICE_V หรือ MCV

  • MULTICHOICE_H หรือ MCH

  • MULTIRESPONSE หรือ MR

  • MULTIRESPONSE_H หรือ MRH

และแบบสุ่มตัวเลือก :

  • MULTICHOICE_VS หรือ MCVS

  • MULTICHOICE_HS หรือ MCHS

  • MULTIRESPONSE_S หรือ MRS

  • MULTIRESPONSE_HS หรือ MRHS

ระบบไม่สามารถเพิ่มรูปภาพในตัวเลือกแบบ dropdown list ได้ (MULTICHOICE หรือ MC และ MULTICHOICE_S หรือ MCS) เนื่องจากคำถามย่อยประเภทนี้ใช้คำสั่ง <option>

สิ่งสำคัญที่ควรพึงระวังอีกเรื่องคือ source ของรูปภาพนั้นๆ ที่มี URL แบบตายตัว หากต้องการเพิ่มรูปภาพในตัวเลือก ให้ทำการแก้ไขโค้ด HTML ของคำถามก่อน และเพิ่มรูปภาพเข้าไปด้วยวิธี manual โดยใช้โค้ด <img> แทน

ตัวอย่างหลังจากนี้อาจมีการแบ่งย่อหน้าเพื่อให้อ่านและเข้าใจง่ายขึ้น ทั้งนี้ในการทำโจทย์ของจริงควรพิมพ์โค้ดให้อยู่ในย่อหน้าเดียวกัน

สัตว์ชนิดใด น่ารักที่สุด

{1:MCV:&nbsp; <img src="https://post.medicalnewstoday.com/wp-content/uploads/sites/3/2020/02/322868_1100-800x825.jpg" width="150px" >&nbsp; สุนัข &nbsp;
#ใช่แล้ว น่ารักที่สุด!!

~&nbsp; <img src="https://www.petmd.com/sites/default/files/styles/article_image/public/orange-tabby-kitten-walking-across-floor.jpg?itok=ApRxY9_r" width="150px" >&nbsp; แมว &nbsp;
#น่ารัก แต่ยังไม่ใช่ที่สุด

~=&nbsp; <img src="https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcSHiI7oXaWeyf6Glx9miA_5tB4wPooZgFKO4qUhXTw7qcExsluHmazg7O4VtCGdGMpHr_w&usqp=CAU" width="150px" >&nbsp; คุณและคุณเท่านั้น &nbsp;
#ที่ทำให้ใจผมหยุดเหงา!

~%50%&nbsp; <img src="https://i.pinimg.com/474x/03/93/91/0393910cd1ce5baf910cbc7dd10d09f9.jpg" width="150px" >&nbsp; ต้าวหนู &nbsp;
#น่ารัก แต่สู้เธอคนนั้นไม่ได้หรอก}

ขนาดของรูปภาพที่เหมาะสมคือกว้าง 200px กรณีที่ต้องการแก้ไขขนาดของภาพ ให้เพิ่มโค้ด <width> ตัวอย่าง :

<img src="https://post.medicalnewstoday.com/wp-content/uploads/sites/3/2020/02/322868_1100-800x825.jpg" width="150px" >

ตัวอย่างของโจทย์ที่แสดงผล :

โจทย์สมการพหุนาม

คำถามย่อย MULTICHOICE (MC) และ MULTICHOICE_S (MCS) ของโจทย์ประเภท Cloze นั้นใช้คำสั่ง <option> ทำให้โจทย์แบบสมการต่างๆไม่สามารถใช้งานโค้ดและคำถามย่อยประเภทดังกล่าวได้ ถ้าต้องการสร้างโจทย์สมการให้สร้างด้วย MULTICHOICE_V (MVC) และ MULTICHOICE_H (MCH)แทน หรือใช้คำถามย่อยประเภท MULTICHOICE_VS (MCVS) หรือ MULTICHOICE_HS (MCHS)แทน โดยสองประเภทนี้จะรองรับการแสดงผลแบบ LaTeX , MathML และ AsciiMath ได้เป็นอย่างดี

นอกจากนี้ยังสามารถเพิ่มสมการลงในฟีดแบคของ MCV, MCH, MCVS และ MCHS ได้อีกด้วย

กรณีที่ใช้ LaTeX ให้แทนที่ { ด้วย

HTML entity reference &#123;
และ }
ด้วย &#125;

และทุกครั้งที่ต้องการใช้ \(

และ \)
เป็นตัวคั่นในการแสดงผลของข้อความ ไม่ใช่การแสดงผลในบรรทัดนั้นๆ \[
และ \]
และไม่ใช่ตัวคั่นs $$
และ $$

ในคำถามย่อยแบบ MULTICHOICE (MC) และ MULTICHOICE_S (MCS) จะสามารถเพิ่มข้อมูลเพิ่มเติมไปในตัวเลือกแต่ละข้อในรูปแบบของการเลื่อนเคอร์เซอร์ไปบนตัวเลือกนั้นๆได้ โดยการใช้โค้ด JavaScript ซึ่งจะเป็นประโยชน์อย่างมากในการจำกัดความกว้างของเมนู dropdown ตัวอย่าง :

โจทย์แบบ Numerical Cloze

โจทย์ประเภทนี้น.ศ.จะเห็นเป็นโจทย์แบบ short answes หรือเติมคำในช่องว่างเท่านั้น แต่โจทย์ประเภท Numerical นั้นจะยอมรับค่า error ที่อาจมีในคำตอบได้ โดยอาจารย์สามารถกำหนดช่วงของคำตอบไว้ได้ และยังสามารถแสดงคำตอบในรูปแบบต่างๆได้อีกด้วย เช่น 23.4 23,4 (ซึ่งในบางประเทศมีใช้) และ 2.34E + 1 (ซึ่งหมายถึง 2.34*10^1) โดยระบบจะตีความเหมือนกัน

โจทย์แบบ All or noting

วิธีการสร้างโจทย์ในรูปแบบนี้ คือ "all or nothing" ในคำถาม Cloze ก็คือการตั้งค่าคะแนนแบบติดลบ

ตัวอย่างการตั้งค่าคะแนนให้ติดลบ :

โจทย์ที่มีคำถามย่อย 2 ข้อ: {1:SHORTANSWER:=คำตอบที่ถูก~%-100%*} และ {1:SHORTANSWER:=คำตอบที่ถูก~%-100%*}.
โจทย์ที่มีคำถามย่อย 3 ข้อ: : {1:SHORTANSWER:=คำตอบที่ถูก~%-200%*}, {1:SHORTANSWER:=คำตอบที่ถูก~%-200%*} 
และ {1:SHORTANSWER:=คำตอบที่ถูก~%-200%*} เป็นต้น

การนำเข้าโจทย์ประเภท Cloze

โจทย์แบบ Multiple Cloze สามารถนำเข้าด้วย XML ได้ ตัวอย่าง :

<?xml version="1.0" encoding="UTF-8"?>
<quiz>

<!-- question: 1  -->
<question type="cloze">
<name><text>Book Test #1</text>
</name>
<questiontext>
<text><![CDATA[..............]]></text>
</questiontext>
<generalfeedback>
<text></text>
</generalfeedback>
<shuffleanswers>0</shuffleanswers>
</question>

<!-- question: 2 -->
<question type="cloze">
<name><text>Book Test #2</text>
</name>
<questiontext>
<text><![CDATA[............]]></text>
</questiontext>
<generalfeedback>
<text></text>
</generalfeedback>
<shuffleanswers>0</shuffleanswers>
</question>

</quiz>

Last updated