การเขียนคำสั่งควบคุมขั้นพื้นฐาน

27
กกกกกกกกกกกกกกกกกกกกกกกกกกกกก กกก

Upload: boom-mm

Post on 26-Jan-2017

19 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: การเขียนคำสั่งควบคุมขั้นพื้นฐาน

การเขยนคำาสงควบคมขนพนฐาน

Page 2: การเขียนคำสั่งควบคุมขั้นพื้นฐาน

1.ลกษณะการทำางานของภาษาซ

ภาษาซเปนภาษาทมการพฒนาการมาอยางตอเนอง  ภาษาซรนแรกทำางานภายใตระบบปฏบตการคอส (cos) ปจจบนทำางานภายใตระบบปฏบตการวนโดวส  (Windows)  ภาษาซใชวธแปลรหสคำาสงใหเปนเลขฐานสองเรยกวา  คอมไพเลอร  การศกษาภมหลงการเปนมาของภาษาซและกระบวนการแปลภาษาจะชวยใหผใชภาษาซในรนและบรษทผผลตแตกตางกน  สามารถใชภาษาไดอยางเขาใจมากขน

Page 3: การเขียนคำสั่งควบคุมขั้นพื้นฐาน

ความเปนมาของภาษาซ

ภาษาซไดรบการพฒนาเมอป ค.ศ.1972  โดยนายเดนนส  รตซ  ตงชอวาซเพราะพฒนามาจากภาษา BCLP และภาษา B ในชวงแรกใชทดลองเขยนคำาสงควบคมในหองปฏบตการเบล (Bell Laboratoorics) เทานน เมอป ค.ศ.1978 นายไบรอน  เคอรนกฮน และ นายเดนนส  รตซ รวมกนกำาหนดนยามรายละเอยดของภาษาซ  เผยแพรความรโดยจดทำาหนงสอ The C Programming Language มหลายบรษท ใหความสนใจนำาไปพฒนาตอ จนมภาษาซหลายรปแบบและแพรหลายไปทวโลก แตยงไมมมาตรฐานคำาสงเพอใหสามารถใชงานรวมกนได ดงนนเมอป ค.ศ.1988 นายรตซ ไดรวมกบสถาบนกำาหนดมาตรฐาน ANSI สรางมาตรฐานภาษาซขนมามผลใหโปรแกรมคำาสงทสรางดวยภาษาซสงกดบรษทใดๆกตามทใชคำาสงมาตรฐานของภาษาสามารถนำามาทำางานรวมกนได

Page 4: การเขียนคำสั่งควบคุมขั้นพื้นฐาน

การทำางานของตอมไพเลอรภาษาซคอมไพเลอรเปนโปรแกรมทไดรบการพฒนามาเพอแปลภาษาคอมพวเตอรรปแบบหนงมกใชกบ

โปรแกรมเชงโครงสราง ลกษณะการแปลจะอานรหสคำาสงทงโปรแกรมตงแตบรรทดคำาสงแรก ถงบรรทดสดทาย หากมขอผดพลาดจะรายงานทกตำาแหนงคำาสงทใชผดกฎไวยากรณของภาษา

กระบวนการคอมไพเลอรโปรแกรมคำาสงของภาษาซ มดงน1.จดทำาโปรแกรมตนฉบบ (Source Program) หลงจากพมพคำาสงงาน  ตามโครงสรางภาษาทสมบรณแลวทกสวนประกอบ ใหบนทกโดยกำาหนดชนดงานเปน .c  เชน  work.c

Page 5: การเขียนคำสั่งควบคุมขั้นพื้นฐาน

2.การแปลรหสคำาสงเปนภาษาเครอง (Compile) หรอการบวด (Build) เครองจะตรวจสอบคำาสงทละคำาสง  เพอวเคราะหวาใชงานไดถกตองตามรปแบบไวยากรณทภาษาซกำาหนดไวหรอหากมขอผดพลาดจะแจงใหทราบ  หากไมมขอผดพลาดจะไปกระบวนการ33.การเชอมโยงโปรแกรม (Link) ภาษาซมฟงกชนมาตรฐานใหใชงาน เชน printf() ซงจดเกบไวในเฮดเดอรไพล  หรอเรยกวา  ไลบราร ในตำาแหนงทกำาหนดชอแตกตางกนไป ผใชตองศกษาและเรยกใชเฮดเดอรไฟลกบฟงกชนใหสมพนธเรยกวาเชอมโยงกบไลบราร กระบวนการนไดผลลพธเปนไฟลชนด .exe

Page 6: การเขียนคำสั่งควบคุมขั้นพื้นฐาน

2.สวนประกอบในโครงสรางภาษาซภาษาซเปนภาษาทมโครงสรางในการเขยนโปรแกรมทชดเจน ซงมรปแบบของโครงสรางโปรแกรม ดงน1.  สวนของการประกาศสวนหวของโปรแกรม                         หรอทเรยกวา เฮดเดอรไฟล (Header File) เปนการเรยกใชเฮดเดอรไฟลเขามารวมใชงานภายในโปรแกรม โดยไฟลเฮดเดอรเปนไฟลทใชในการรวบรวมฟงกชนการทำางานตาง ๆ ทสามารถเรยกใชได เชน ภายในเฮดเดอรไฟล  stdio.h  เปนไฟลเฮดเดอรทรวบรวมเกยวกบฟงกชนมาตรฐานทางดานการรบขอมล (Input)  และแสดงผลขอมล (Output) ยกตวอยางเชน ฟงกชน printf( );  เปนฟงกชนในการแสดงผลขอมล ซงบรรจอยในไฟล  stdio.h  เปนตน 2. สวนของชอฟงกชน ในทน ฟงกชนทกำาหนดขนมาชอฟงกชน main() โดยทกโปรแกรมจะตองมฟงกชน main() ทำาหนาทเปนฟงกชนหลกในการทำางานในการประมวลผลโปรแกรมทกครง โปรแกรมจะทำาการประมวลผลทฟงกชน main() เปนฟงกชนแรก ซงในการเขยนโปรแกรมภาษาซทกครงจะขาดฟงกชน main() ไมได

Page 7: การเขียนคำสั่งควบคุมขั้นพื้นฐาน

3. สวนตวโปรแกรม สวนนเปนสวนในการเขยนคำาสงตาง ๆ เพอสงใหคอมพวเตอรทำางาน ในการเขยนคำาสงจะเขยนภายในเครองหมายปกกาเปด { และเครองหมายปกกาปด } โดยปกตสวนของการเขยนโปรแกรมจะสามารถแบงออกไดเปน 2 สวนดวยกน คอ 1) สวนของการประกาศตวแปร คอ สวนทใชในการกำาหนดตวแปรทจะใชงานในการเขยนโปรแกรม 2) สวนของคำาสง หรอ ฟงกชนตาง ๆ คอ สวนทใชสำาหรบในการพมพคำาสงและฟงกชนตาง ๆ ซงหลงจากพมพฟงกชนเสรจแลวจะตองปดทายดวยเครองหมายเซมโคลอน ; เสมอ

4. สวนของการเปดโปรแกรมและปดโปรแกรม ตามโครงสรางของภาษาซ จะตองมการกำาหนดจดเรมตนและจบโปรแกรม โดยในทนใชเครองหมายปกกาเปด { ในการระบตำาแหนงการเรมตนโปรแกรม และ ใชเครองหมายปกกาปด } ในการระบตำาแหนงการจบโปรแกรม

Page 8: การเขียนคำสั่งควบคุมขั้นพื้นฐาน

5.  การกำาหนดตำาแหนง หมายเหต (Comment)                         ในการเขยนโปรแกรม ผเขยนสามารถเขยนสวนคำาอธบาย หรอ หมายเหตของโปรแกรมได ซงสวนของคำาอธบายหรอหมายเหตดงกลาว จะไมถกแปลความหมายโดยคอมพวเตอร ซงวธในการเขยนคำาอธบาย หรอหมายเหต ม 2 แบบ คอ1)  การกำาหนดหมายเหต 1 บรรทด                              ในการกำาหนดหมายเหต  1  บรรทด  จะใชเครองหมาย  //  ดานหนาขอความทตองการกำาหนดหมายเหต  เชน

Page 9: การเขียนคำสั่งควบคุมขั้นพื้นฐาน

2)  การกำาหนดหมายเหตหลายบรรทด                               ในการกำาหนดหมายเหตหลายบรรทด จะใชเครองหมาย  /*  ไวทตำาแหนงบรรทดเรมตน และ   */  ไวทตำาแหนงบรรทดสดทาย หมายเหต  เชน

Page 10: การเขียนคำสั่งควบคุมขั้นพื้นฐาน

3.คำาสงจดเกบขอมลลงหนวยความจำา

การจดเกบขอมลลงหนวยความจำาคอมพวเตอร ภาษากำาหนดใหดำาเนนการผานซอ(identifier) ทผสรางงานโปรแกรมเปนผกำาหนดเอง ระบบคอมพวเตอรจะจดเกบชอและตำาแหนงทอย (Address ) ในหนวยความจำา เพออางองนำาขอมลทจดเกบนนมาใชงาน การกำาหนดชอทใชเกบขอมลตองทำาภายใตกฎเกณฑ และตองศกษาวธกำาหนดลกษณะการจดเกบขอมลตามทภาษากำาหนดไว ลกษณะการจดเกบขอมลม 2 แบบคอ แบบคาคงทและแบบตวแปร ทงนกอนทจะเขยนคำาสงกำาหนดการจดเกบขอมล ควรมความรในเรองชนดขอมลกอน

Page 11: การเขียนคำสั่งควบคุมขั้นพื้นฐาน

ชนดขอมลแบบพนฐาน

การจดเกบขอมลลงหนวยความจำาทงแบคาคงทหรอแบบตวแปร ตองกำาหนดชนดขอมลใหระบบรบทราบ ในทนกลาวถงชนดขอมลแบบพนฐาน 3 กลมหลกเทานน ตาราง ชนดขอมลแบบพนฐาน

ชนดขอมล ขอบเขตของขอมล อธบาย

char -128 ถง 127 เกบขอมลแบบอกขระ

int -32768 ถง32767 เกบขอมลแบบตวเลขจำานวนเตม

float 3.4×10 ถง 3.4×10 เกบขอมลแบบตวเลขทศนยมตวเลขหลงจด 6หลก

ตาราง ชนดขอมลแบบพนฐานขอควรจำา : ขอมลแบบขอความใชแบบขอมลแบบตวแปรชด เชน char a [20] :หมายเหต : ตารางแสดงชนดขอมลของภาษาซทกชนดแสดงในภาคผนวก

Page 12: การเขียนคำสั่งควบคุมขั้นพื้นฐาน

คำาสงจดเกบขอมลแบบคาคงทประสทธภาพคำาสง : ลกษณะการจดเกบขอมลในหนวยความจำาไมสามารถเปลยนแปลงไดรปแบบ : Const data_type var = data ;อธบาย : data_type คอทชนดขอมลแบบพนฐานVar คอชอหนวยความจำาทผใชตองกำาหนดตามกฎการตงชอData คอขอมลทกำาหนดเปนคาคงทขอควรจำากรณขอมลม 1 อกขระ กำาหนดใหอยใน ‘ ‘ (single quotation)กรณขอมลมมากกวา 1 อกขระ กำาหนดใหอยใน “ ” (double quotation)กรณขอมลเปนชนดตวเลขใชในการคำานวณไมตองอยใน หรอ ‘’ “ ”

Page 13: การเขียนคำสั่งควบคุมขั้นพื้นฐาน

คำาสงจดเกบขอมลแบบตวแปรประสทธภาพคำาสง : ลกษณะการจดเกบขอมลในหนวยความจำาสามารถเปลยนแปลงได

รปแบบ : 1 var_type var_name[,….];รปแบบ : 2 var_type var_name = data ;อธบาย : var_type คอหนวยชนดขอมลแบบพนฐาน

var name คอชอหนวยความจำา ทผใชตองกำาหนดตามกฎการตงชอ

data คอขอมลทกำาหนดเปนคาเรมตน (อาจมหรอไมกได)หมายเหต : หากมตวแปรมากกวา 1 ตว แตเปนตวแปรเกบขอมลประเภทเดยว ใชคอมมา (,) คน

ตวอยางคำาสง : กำาหนดคณสมบตใหตวแปรในการจดเกบขอมลChar ans ;List salary , bonus ;Short value = 2;

Page 14: การเขียนคำสั่งควบคุมขั้นพื้นฐาน

4.คำาสงควบคมการทำางานขนพนฐาน

คำาสงทใชควบคมการทำางานขนพนฐานม 3 กลมคอ คำาสงรบขอมลจากแปนพมพแลวนำาไปจดเกบหนายความจำา (input ) การเขยนสมการคำานวณโดยใชนพจนทางคณตศาสตร(Process) และคำาสงแสดงผลขอมล หรอขอมลทจดเกบในหนวยความจำา (Qutput )

Page 15: การเขียนคำสั่งควบคุมขั้นพื้นฐาน

คำาสงแสดงผล PRINTF ( )ประสทธภาพคำาสง : ใชแสดงผล สงตอไปน เชน ขอความ ขอมลจากคาคงท หรอตวแปรทจอภาพรปแบบ 1 : Printf (“ string_format” , data_list ) ;รปแบบ 2 : Printf (“string_format” ) ;อธบาย : string_format คอลกษณะของสงตอไปน เชน ขอความ (text ) รหสรปแบบขอมล เชน %d รหสควบคม เชน \nData_list คอขอมลแสดงผลอาจเปนคาคงทตวแปร นพจน หากมหลายตวใช , คนรหส format code ความหมาย

%c ใชกบขอมลแบบ char%d ใชกบขอมลแบบ int เฉพาะฐาน10%s ใชกบขอมลแบบ string

ตาราง รหสรปแบบขอมลระดบพนฐาน

หมายเหต : รหสรปแบบขอมลรปแบบ แสดงในภาคผนวกตวอยางคำาสง : ควบคมการแสดงผลดวย printfPrintf ( “ Data is %d \n ” , score ) ;อธบาย : พมพขอความคำาวา data is ตามดวยคาขอมลในหนวยความจำาตวแปรชอ score ซงเปนขอมลชนดจำานวนเตม (%) แลวเลอนคอรเซอรไปไวบรรทดถดไป (\n)

Page 16: การเขียนคำสั่งควบคุมขั้นพื้นฐาน

คำาสงรบขอมล : รบขอมลจากแปนพมพแลวจดเกบลงหนวยความจำาตวแปร

รปแบบ : Scanf ( “ string_format” , & address_list ) ;อธบาย : string_format คอรปแบบการแสดงผลของขอมลเทานน เชน %dAddress_list คอการระบตำาแหนงทอยในหนวยความจำาตองใชสญลกษณ &(Ampersand) นำาหนาชอตวแปรเสมอขอควรจำา : กรณเปนตวแปรขอความ (String) สามารถยกเวนไมตองใช & นำาหนาไดตวอยางคำาสง : เขยนคำาสงควบคมการรบคาจากแปนพมพดวย scanfScanf ( “%d ” , &score ) ;อธบาย : รบขอมลจากแปนพมพ นำาไปเกบในหนวยความจำาชอ score เปนขอมลประเภทจำานวนเตม

Page 17: การเขียนคำสั่งควบคุมขั้นพื้นฐาน

คำาสงประมวลผล : EXPRESSIONประสทธภาพคำาสง : เขยนคำาสงแบบนพจนเพอประมวลผล แลวนำาขอมลทไดไปจดเกบในหนวยความจำาของตวแปรทตองกำาหนดชอและชนดขอมลไวแลวรปแบบ : Var = expression ;อธบาย : var คอชอหนวยความจำาชนดตวแปรExpression คอสมการนพจน เชน สตรคำานวณทางคณตศาสตรตวอยางคำาสง : นพจนทเปนสตรคำานวณทางคณตศาสตรSum = a+b ;อธบาย : ใหนำาคาในหนวยความจำาตวแปรชอ a กบ b มา+กนแลวนำาคาไปเกบในหนวยความจำาตวแปรชอ sumแนวคดในการเขยนคำาสงควบคมการทำางาน

Page 18: การเขียนคำสั่งควบคุมขั้นพื้นฐาน

1. สวนปอนขอมล ผใชระบบงานปอนคา ; เกบในหนวยความจำา x และปอนคา A เกบในหนวยความจำา y ดวยคำาสงPrintf ( “data x=” ) ; scanf ( “%d ,&x ) ;Printf ( “data y=” ) ; scanf ( “%d ,&y ) ; 2. สวนประมวลผล ระบบจะนำาคาไปประมวลผลตามนพจนคณตศาสตรr = 2 + 3 * 2 ; ไดคำาตอบคอ 8s = (2 + 3 ) * 2; ไดคำาตอบคอ 10t = 2 + 3 * 2-1 ; ไดคำาตอบคอ 7ทงนคอมพวเตอรประมวลผล โดยยดหลกลำาดบความสำาคญของเครองหมายทางคณตศาสตร เชนคำานวณเครองหมาย * กอนเครองหมาย + 3. สวนแสดงผล คำาสงควบคมใหแสดงผลลพธPrintf ( “r = x + y * 2 = %d \n” , r ) ;Printf ( “r = (x + y X* 2 = %d \n” , s ) ;Printf ( “r = x + y * 2-1 = %d \n” , t ) ;

Page 19: การเขียนคำสั่งควบคุมขั้นพื้นฐาน

5.คำาสงแสดงผล- รบขอมล เฉพาะอกขระภาษาซมคำาสงแสดงผลและรบขอมลเฉพาะขอมลประเภท 8 อกขระ (char )ดงน5.1 คำาสง putchar ( )แสดงผลขอมลจากหนวยความจำาของตวแปร ทางจอภาพครงละ1อกขระเทานน

แนวคดในการเขยนคำาสงควบคมการทำางาน             1. � กำาหนดคา ‘A’ เกบในตวแปรประเภท char ชอ word1 และกำาหนดคา ‘1’ เกบในตวแปรชอ word2 ดวยคำาสงchar word1=’A’ , word2=’1’             2. � เขยนคำาสงควบคมการแสดงผลทละ 1 อกขระ โดยไมตองใชสญลกษณขนบรรทดใหมดวยคำาสงputchar(word1); putcar(word2);  จงพมพคำาวา A1 ทจอภาพ

Page 20: การเขียนคำสั่งควบคุมขั้นพื้นฐาน

5.2คำาสง  getchar ( )รบขอมลจากแปนพมพครงละ 1 อกขระ และแสดงอกขระทจอภาพ จากนนตองกดแปนพมพท Enter เพอนำาขอมลบนทกลงหนวยความจำาดวย

แนวคดในการเขยนคำาสงควบคมการทำางาน1.เขยนคำาสงควบคมการปอนขอมลประเภทอกขระดวยคำาสงprintf ( “Key 1 Character = “ ) ;word = getchar ( );หมายถงปอนอกขระ 1 ตว เชน a จะแสดงคา ใหเหนทหนาจอดวย แลว ตองกดแปนEnter เพอนำาขอมลบนทกลงหนวยความจำาตวแปรประเภท char ชอ word2 . เขยนคำาสงควบคมการแสดงผลจากหนวยความจำา word จงเหนคา a  ( แทนท word)printf ( “You key Character is = %c\n”, word ) ; 

Page 21: การเขียนคำสั่งควบคุมขั้นพื้นฐาน

5.3 คำาสง getch ( )รบขอมลจากแปนพมพครงละ 1 อกขระ แต ไมปรากฏ อกษรบนจอภาพ และ ไมตองกดแปน Enter

แนวคดในการเขยนคำาสงควบคมการทำางาน1.เขยนคำาสงควบคมการปอนขอมลประเภทอกขระดวยคำาสงprintf ( “Key 1 Character = “ ) ;word = getch ( );หมายถงปอนคาใดทางแปนพมพเปนอกขระ 1 ตว เชน a จะ ไมแสดง คาใหเหนทหนาจอไมตอง กดแปน Enter เพอนำาขอมลบนทกลงหนวยความจำาตวแปรประเภท char ชอ word2.เขยนคำาสงควบคมการแสดงผลจากหนวยความจำา word จงเหนคา a ( แทนท word )printf ( “You key Character is = %c\n”, word ) ;

Page 22: การเขียนคำสั่งควบคุมขั้นพื้นฐาน

5.4 คำาสง getche( )รบขอมลจากแปนพมพครงละ 1 อกขระ และ แสดง อกษรบนจอภาพ และ ไมตองกดแปน Enter

แนวคดในการเขยนคำาสงควบคมการทำางาน1.เขยนคำาสงควบคมการปอนขอมลประเภทอกขระดวยคำาสงprintf ( “Key 1 Character = “ ) ;word = getche ( );หมายถงปอนคาใดทางแปนพมพเปนอกขระ 1 ตว เชน a จะ แสดง คาใหเหนทหนาจอ และไมตอง กดแปน Enter เพอนำาขอมลบนทกลงหนวยความจำาตวแปรประเภท char ชอ word2.เขยนคำาสงควบคมการแสดงผลเพอแสดงคาจากหนวยความจำา word จงเหนคา a ( แทนท word )printf ( “You key Character is = %c\n”, word ) ;

Page 23: การเขียนคำสั่งควบคุมขั้นพื้นฐาน

6.คำาสงแสดงผล- เฉพาะขอมล เฉพาะขอความภาษาซมคำาสงใชในการรบขอมลเฉพาะประเภทขอความ (String) ในภาษาซคอชนดขอมล char [n] จดเกบในหนวยความจำา และแสดงผลขอมลประเภทขอความเทานน มรายละเอยดดงน

6.1.คำาสง puts( )แสดงผลขอมลเฉพาะประเภทขอความทางจอภาพครงละ 1 ขอความ

แนวคดในการเขยนคำาสงควบคมการทำางาน1.เขยนคำาสงกำาหนดคาขอความเกบในตวแปรชอ wordChar word [15] = “*Example * “ ;2.เขยนคำาสงควบคมการแสดงผลในลกษณะขอความดวย putsPuts ( word ) ;Puts (“**************”);

Page 24: การเขียนคำสั่งควบคุมขั้นพื้นฐาน

6.2คำาสง gets ( )รบขอมล ขอความ จากแปนพมพ และตองกดแปน Enter

แนวคดในการเขยนคำาสงควบคมการทำางาน1.เขยนคำาสงใหรบขอมล ชนดขอความ จากแปนพมพ และตอง กดแปน Enter เพอนำาขอความบนทกลงตวแปรชนดขอความ ดวยคำาสง gets (word) ;2.เขยนคำาสงควบคมใหแสดงผลลกษณะขอความดวยprintf ( “You name is = %s\n”, word ) ; 

Page 25: การเขียนคำสั่งควบคุมขั้นพื้นฐาน

7.กรณศกษาการใชคำาสงควบคมขนพนฐาน7.1.คำาสง puts( ) แสดงผลขอมลเฉพาะประเภทขอความทางจอภาพครงละ 1 ขอความ รปแบบ puts ( string_argument ) ; อธบาย string_argument คอ ขอมลชนดขอความแนวคดในการเขยนคำาสงควบคมการทำางาน 1.เขยนคำาสงกำาหนดคาขอความเกบในตวแปรชอ word Char word [15] = “*Example * “ ; 2.เขยนคำาสงควบคมการแสดงผลในลกษณะขอความดวย puts Puts ( word ) ; Puts (“**************”);

แนวคดในการเขยนคำาสงควบคมการทำางาน 1.เขยนคำาสงกำาหนดคาขอความเกบในตวแปรชอ word Char word [15] = “*Example * “ ; 2.เขยนคำาสงควบคมการแสดงผลในลกษณะขอความดวย puts Puts ( word ) ; Puts (“**************”);

Page 26: การเขียนคำสั่งควบคุมขั้นพื้นฐาน

7.2คำาสง gets ( ) รบขอมล ขอความ จากแปนพมพ และตองกดแปน Enter รปแบบ 1 ไมนำาขอมลจดเกบลงหนวยความจำาของตวแปร gets ( ); รปแบบ 2 นำาขอมลจดเกบลงหนวยความจำาของตวแปร string_var =gets ( ) ; อธบาย : string_var คอ ขอมลชนดขอความแนวคดในการเขยนคำาสงควบคมการทำางาน 1.เขยนคำาสงใหรบขอมล ชนดขอความ จากแปนพมพ และตอง กดแปน Enter เพอนำาขอความบนทกลงตวแปรชนดขอความ ดวยคำาสง gets (word) ; 2.เขยนคำาสงควบคมใหแสดงผลลกษณะขอความดวย printf ( “You name is = %s\n”, word ) ; 

Page 27: การเขียนคำสั่งควบคุมขั้นพื้นฐาน

สมาชก

1. นาย ณฐพงศ กอเยน เลขท 2. นางสาว สรวรรรณ คำาเตจะ เลขท 3. นางสาว เบญจรตน ศรอารา เลขท 4. นางสาว กนกวรรณ ลดดากล เลขท 5. นางสาว สโรชา บญชวย เลขท 6. นางสาว เพญพชชา เทยนชย เลขท