> For the complete documentation index, see [llms.txt](https://docs.tlic.cmu.ac.th/cmumoodle-manual/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.tlic.cmu.ac.th/cmumoodle-manual/quiz/creating-quiz/question-type/embedded-answers-cloze.md).

# Embedded Answers (Cloze)

![](/files/HVx8DEBMrgVgOlrEHpwO)

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

![ตัวอย่างหน้าต่างการสร้างโจทย์แบบ Embedded Answers (Cloze)](/files/72m1TITiYJbjMJFc2vDT)

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

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

* short answers (SHORTANSWER หรือ SA หรือ MW)
* short answers (SHORTANSWER\_C หรือ SAC or MWC)&#x20;
* 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 เพื่อให้สร้างคำถามได้ง่ายและรวดเร็วขึ้น

![](/files/2m9jtjqgdDM9hu7XqHLf)

![](/files/476R97hBciq8sl6m03q6)

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

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

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

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

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

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

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

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

ตัวอย่าง :&#x20;

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

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

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

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

### ตัวอย่าง

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

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

เมื่อแสดงผล :&#x20;

![](/files/sIoDE6H6RqHdBa6k0WKY)

ตัวอย่างที่ 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}
```

เมื่อแสดงผล :&#x20;

![](/files/dlmiRPqKGp6Mp4v8C9Bo)

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

{% hint style="info" %}
การแสดงผลฟีดแบคใน MULTICHOICE และ MULTICHOICE*V* จะแสดงผลเมื่อวางเมาส์เหนือช่องคำตอบ(เลื่อนเคอร์เซอร์ไปที่กล่องคำตอบ) ส่วน MULTICHOICE\_H จะแสดงผลโดยตรงบนหน้าจอข้างๆคำตอบของนักศึกษา
{% endhint %}

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

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

เมื่อแสดงผล :&#x20;

![](/files/VzPlgJPVjNRfIk9lI0p2)

![](/files/QsRtiza1rhJtcap0tD3S)

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

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

* MULTICHOICE\_V หรือ MCV
* MULTICHOICE\_H หรือ MCH
* MULTIRESPONSE หรือ MR
* MULTIRESPONSE\_H หรือ MRH

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

* MULTICHOICE\_VS หรือ MCVS
* MULTICHOICE\_HS หรือ MCHS
* MULTIRESPONSE\_S หรือ MRS
* MULTIRESPONSE\_HS หรือ MRHS

{% hint style="info" %}
ระบบไม่สามารถเพิ่มรูปภาพในตัวเลือกแบบ dropdown list ได้ (MULTICHOICE หรือ MC และ MULTICHOICE\_S หรือ MCS) เนื่องจากคำถามย่อยประเภทนี้ใช้คำสั่ง \<option>
{% endhint %}

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

{% hint style="info" %}
ตัวอย่างหลังจากนี้อาจมีการแบ่งย่อหน้าเพื่อให้อ่านและเข้าใจง่ายขึ้น ทั้งนี้ในการทำโจทย์ของจริงควรพิมพ์โค้ดให้อยู่ในย่อหน้าเดียวกัน
{% endhint %}

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

{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" >
```

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

![](/files/JVOX7NAHeS6I0ZrwpAi2)

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

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

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

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

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

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

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

### โจทย์แบบ dropdown

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

![](/files/j0DxudXR1peVy2Dtk5v4)

### โจทย์แบบ Numerical Cloze

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

### โจทย์แบบ All or noting

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

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

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

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

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

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

```
<?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>
```
