Embedded Answers (Cloze)

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

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

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