ชุดท5ี่ เร่อื ง ตัวแปรชุด (Array) คำนำ ชุดกิจกรรมการเรียนรู้การเขียนโปรแกรมภาษาคอมพิวเตอร์ รายวิชาภาษาซี ง30243 ชั้นมัธยมศึกษาปที ี่ 5 กล่มุ สาระการเรียนรู้การงานอาชีพและเทคโนโลยี ชดุ นี้จัดทาข้นึ เพ่ือพัฒนาการจัดกิจกรรมการเรียนการสอนโดยเน้นผู้เรียนเป็นสาคัญ และส่งเสริมการเรียนรู้ของผู้เรียนด้วยตนเอง คิดเป็น ทาเป็นและแก้ปัญหาเป็น โดยได้ขยายผลในด้านเน้ือหาให้กวา้ งและชัดเจนยิ่งข้ึน ซ่งึ ถอื ว่าเป็นไปตามแนวทางการจัดการศึกษาของชาติท่ีเน้นผู้เรียนเป็นสาคัญ และสนองต่อพระราชบัญญัติการศึกษาแห่งชาติ พุทธศักราช 2542 และสอดคล้องกับหลักสูตรแกนกลางการศึกษาขั้นพื้นฐาน พุทธศักราช 2551 ท่ีมุ่งเน้นให้ผู้เรียนได้รับการพัฒนาทั้งความรู้ กระบวนการคิดกระบวนการสืบเสาะหาความรู้ การแก้ปัญหา ความสามารถในการสื่อสาร การตัดสินใจ การนาความรู้ไปใช้ในชีวิตประจาวัน มคี ณุ ธรรมคา่ นิยมอนั พึงประสงค์และผู้เรียนมีเจตคติทดี่ ตี ่อวชิ าคอมพิวเตอร์ ชุดกิจกรรมการเรียนรู้การเขียนโปรแกรมภาษาคอมพิวเตอร์ รายวิชาภาษาซี ง30243 ชั้นมัธยมศึกษาปีท่ี 5 กลุ่มสาระการเรียนรู้การงานอาชีพและเทคโนโลยี ครอบคลุมตัวช้ีวัดและสาระการเรียนรู้ตามหลักสูตรแกนกลางการศึกษาขั้นพื้นฐาน พทุ ธศักราช 2551 ซ่งึ ประกอบด้วยชดุ กิจกรรมการเรียนรทู้ ั้งหมด 5 ชดุ ดังนี้ ชดุ ที่ 1 เรื่อง การพัฒนาโปรแกรมและการจาลองความคิด ชุดที่ 2 เรอื่ ง โครงสรา้ งของโปรแกรมภาษาซี ชุดที่ 3 เรอ่ื ง คาส่ังรับค่าและแสดงผล ชดุ ที่ 4 เรือ่ ง โครงสร้างการเขียนโปรแกรม ชุดที่ 5 เร่ือง ตวั แปรชุด (Array) ชุดกิจกรรมการเรียนรู้การเขียนโปรแกรมภาษาคอมพิวเตอร์ รายวิชาภาษาซี ง30243 น้ีเป็นชุดที่ 5 เร่ืองตัวแปรชุด (Array) ผู้จัดทาหวังเปน็ อย่างย่ิงว่าชุดกิจกรรมการเรยี นรู้ชุดท่ี 5 เรื่อง ตัวแปรชดุ (Array) ชุดนี้จะช่วยให้ผู้เรยี นมีความเข้าใจเกย่ี วกับตัวแปรชุด (Array) ในการเขียนโปรแกรมได้มากย่ิงขึ้น ซง่ึ เปน็ ประโยชน์อย่างยิ่งต่อการพัฒนาการเรียนร้แู ละสร้างองค์ความรู้ท่ีย่ังยืนของผู้เรยี นต่อไป สุวรรณา จิตต์ปลม้ื 1 โรงเรียนบางแพปฐมพิทยาชุดกจิ กรรมการเรยี นรกู้ ารเขียนโปรแกรมภาษาคอมพวิ เตอร์รายวชิ าภาษาซี ง30243 ชัน้ มัธยมศกึ ษาปีท่ี 5
ชุดท5่ี เร่อื ง ตัวแปรชุด (Array) สำรบัญ หน้าเร่อื ง 1คานา 2สารบญั 3คาแนะนาในการใช้ชดุ กจิ กรรมการเรียนรูส้ าหรับครูคาแนะนาในการใชช้ ุดกจิ กรรมการเรยี นร้สู าหรับนักเรยี น 5มาตรฐานการเรียนร้แู ละตวั ช้ีวดั 6จดุ ประสงค์การเรียนรู้ 6แบบทดสอบก่อนเรียนบตั รเนื้อหาท่ี 1 ตวั แปรชดุ 7บัตรกิจกรรมท่ี 1 ตวั แปรชดุ 10บัตรเนือ้ หาที่ 2 ค่าคงทส่ี ตรงิ ตัวแปรสตริงและฟังก์ชัน 26บัตรกจิ กรรมที่ 2 คา่ คงทส่ี ตริง ตัวแปรสตรงิ และฟังก์ชันแบบทดสอบหลงั เรียน 1 29บรรณานุกรม 42ภาคผนวก 43แบบบนั ทกึ คะแนนระหว่างเรียน 46เฉลยแบบทดสอบก่อนเรยี น 47เฉลยบัตรกจิ กรรมการเรยี นรู้ที่ 1 เรอื่ ง ตัวแปรชดุ 48เฉลยบัตรกิจกรรมการเรยี นรู้ที่ 2 เรอ่ื ง คา่ คงทส่ี ตรงิ ตวั แปรสตรงิ และฟังก์ชันเฉลยแบบทดสอบหลงั เรยี น 49 50 53 54ชดุ กิจกรรมการเรียนรกู้ ารเขียนโปรแกรมภาษาคอมพิวเตอร์ 2รายวิชาภาษาซี ง30243 ช้ันมัธยมศึกษาปีที่ 5
ชุดท5ี่ เรอ่ื ง ตัวแปรชุด (Array) คำแนะนำกำรใช้ชุดกิจกรรมกำรเรียนรู้สำหรับครู 3 เม่ือครูผู้สอนได้นาชุดกิจกรรมการเรียนรู้การเขียนโปรแกรมภาษาคอมพิวเตอร์ รายวิชาภาษาซีง30243 ชัน้ มัธยมศึกษาปีที่ 5 กลุม่ สาระการเรยี นรกู้ ารงานอาชีพและเทคโนโลยี ไปใช้ควรปฏิบัติดงั น้ี 1. ดาเนินการจัดกิจกรรมการเรียนการสอนโดยใช้ชุดกิจกรรมการเรียนรู้การเขียนโปรแกรมภาษาคอมพิวเตอร์ รายวิชาภาษาซี ง30243 ชั้นมัธยมศึกษาปีท่ี 5 กลุ่มสาระการเรียนรู้การงานอาชีพและเทคโนโลยี ควบคู่ไปกบั แผนการจัดการเรียนรู้รายวชิ าภาษาซี ง30243 ระดบั ชั้นมัธยมศกึ ษาปีที่ 5 2. หลังจากได้ศกึ ษาเนือ้ หาแล้วใหน้ ักเรียนตอบคาถามเพื่อประเมนิ ความรู้แตล่ ะเรอ่ื ง 3. ควรใหน้ ักเรยี นปฏบิ ัติชุดกิจกรรมการเรยี นรู้การเขยี นโปรแกรมภาษาคอมพวิ เตอร์ รายวชิ าภาษาซีง30243 ช้ันมัธยมศึกษาปีที่ 5 กลุ่มสาระการเรียนรู้การงานอาชีพและเทคโนโลยี เพ่ือความเข้าใจโดยครูให้คาแนะนาอย่างใกลช้ ิด 4. ให้นักเรียนตรวจสอบเฉลยท้ายเล่มเม่ือนักเรียนทากิจกรรมตามชุดการเรียนรู้แต่ละชุดการเรียนรู้แล้วเพอ่ื ทราบผลการเรยี นรู้ของตนเอง 5. ทดสอบความรู้หลังเรียนจากที่นักเรียนทากิจกรรมการเรียนรู้จบชุดแล้วด้วยการทาแบบทดสอบหลังเรียนในการเรียนรู้ด้วยชุดกิจกรรมการเรียนรู้การเขียนโปรแกรมภาษาคอมพิวเตอร์ รายวิชาภาษาซีง30243 ช้ันมัธยมศกึ ษาปีท่ี 5 กลุม่ สาระการเรยี นรกู้ ารงานอาชีพและเทคโนโลยี เร่ืองการพัฒนาโปรแกรมและการจาลองความคิด นกั เรียนควรปฏิบตั ดิ ังนี้ 1. นักเรียนจะได้รับชุดกิจกรรมการเรียนร้กู ารเขียนโปรแกรมภาษาคอมพิวเตอร์ รายวิชาภาษาซีง30243 ชั้นมัธยมศึกษาปีที่ 5 กลุ่มสาระการเรียนรู้การงานอาชีพและเทคโนโลยี ชุดที่ 5 เรื่อง ตัวแปรชุด(Array) 1 เล่มและซีดีประกอบชุดการเรยี นรู้ 1 แผน่ 2. วิธีการสอนในชุดกิจกรรมการเรียนรู้การเขียนโปรแกรมภาษาคอมพิวเตอร์ รายวิชาภาษาซีง30243 ชั้นมัธยมศึกษาปีที่ 5 กลุ่มสาระการเรียนรู้การงานอาชีพและเทคโนโลยี ชุดท่ี 5 เรื่อง ตัวแปรชุด(Array) นักเรยี นเรยี นรู้และทากิจกรรมการเรยี นรู้ ดังขั้นตอนตอ่ ไปนี้ 2.1 ศึกษาจดุ ประสงคก์ ารเรยี นรู้ ภาระงานประจาหนว่ ย และการประเมนิ ผล 2.2 เรียนรู้ด้วยวิธีการสอนโดยใช้กระบวนการทางวิทยาศาสตร์ การสืบเสาะหาความรู้ การสารวจตรวจสอบ การสืบค้นข้อมูลและอภิปราย ขน้ั ตอนการสอนมี 6 ข้นั ตอนคอื 2.2.1 ข้นั นาเขา้ สูบ่ ทเรยี น - กระตนุ้ เร้าความสนใจ หรือทบทวนความรู้เก่า 2.2.2 ขั้นนาเสนอ - นาเสนอความรใู้ หม่ 2.2.3 ข้ันฝึก ชดุ กจิ กรรมการเรยี นรกู้ ารเขียนโปรแกรมภาษาคอมพวิ เตอร์ รายวิชาภาษาซี ง30243 ชัน้ มธั ยมศกึ ษาปีท่ี 5
ชุดท5่ี เรอ่ื ง ตัวแปรชุด (Array) - เน้นการเรียนรู้โดยใช้กระบวนการทางวิทยาศาสตร์ การสืบเสาะหาความรู้ การสารวจตรวจสอบ การสืบค้นข้อมูลและอภปิ ราย2.2.4 ขนั้ การทาบตั รกิจกรรม - ในแตล่ ะแผนการจัดการเรียนรู้ มภี าระงานหรอื ช้นิ งานใหน้ กั เรยี นได้ทดสอบย่อยซงึ่ ทกุ คนตอ้ งผา่ นขัน้ ตอนการทาบัตรกิจกรรมนีจ้ งึ จะสามารถเรยี นกิจกรรมต่อไปได้2.2.5 ข้ันสรปุ - นกั เรยี นช่วยกนั สรปุ ความรทู้ ไ่ี ด้จากบทเรยี นโดยมีครูคอยเพ่มิ เติม2.2.6 ข้นั ประยกุ ตใ์ ชแ้ ละสะทอ้ นคดิ - นาความรู้ที่ได้จากแผนการจัดการเรียนรู้ต่าง ๆ ในหน่วยนั้นทาภาระงานและสะท้อนคิดประจาหน่วยฝึกข้ันตอนน้ี นักเรียนต้องดาเนินการเปน็ กลุ่มดว้ ยการนาเสนอผลงานที่มีกระบวนการสะท้อนคิดภายในกลุ่มเก่ียวกับงานของตนเองทั้งส่ิงทท่ี าได้และส่ิงท่ีต้องปรับปรุง ดังน้ันในขนั้ ตอนนน้ี ักเรียนจึงมีทั้งกระบวนการนาความรู้ท่ีได้ไปประยุกต์ใช้ และการสะท้อนคิดในผลงานของกันและกันเพื่อคัดเลือกผลงานที่ดีที่สุดประจาหน่วยเป็นกาลงั ใจให้นกั เรียนในการทาผลงานในหน่วยต่อไป อีกทั้งยังสามารถนาข้อสะท้อนคิดของเพื่อนมาปรบั ปรุงผลงานของตนเองใหด้ ีย่งิ ข้นึ3. การประเมนิ ผล3.1 เนอื้ หา - ใชแ้ บบทดสอบ3.2 สมรรถนะ - ประเมินตามภาระงาน3.3 คุณลกั ษณะอนั พงึ ประสงค์ - ประเมนิ โดยใชแ้ บบสงั เกตพฤตกิ รรมชดุ กิจกรรมการเรยี นรกู้ ารเขียนโปรแกรมภาษาคอมพวิ เตอร์ 4รายวิชาภาษาซี ง30243 ชนั้ มธั ยมศึกษาปีท่ี 5
ชดุ ท5่ี เรือ่ ง ตัวแปรชุด (Array) คำแนะนำกำรใช้ชุดกิจกรรมกำรเรียนรู้สำหรบั นักเรียน ชดุ กจิ กรรมการเรยี นรู้การเขียนโปรแกรมภาษาคอมพวิ เตอร์ รายวชิ าภาษาซี ง30243 ชัน้ มัธยมศึกษาปีท่ี 5 กลุม่ สาระการเรยี นรกู้ ารงานอาชีพและเทคโนโลยี ชดุ ท่ี 5 เรือ่ ง ตวั แปรชดุ (Array) ชดุ นี้ใช้ประกอบการจัดการเรยี นการสอนของนักเรียน ชนั้ มัธยมศกึ ษาปีที่ 5 โดยมขี น้ั ตอนการจดั กจิ กรรมการเรียนการสอนดังนี้ 1. นักเรียนฟงั คาช้แี จงการใช้ชุดกจิ กรรมการเรียนรู้ให้เขา้ ใจ 2. ให้นักเรียนรับชุดกิจกรรมการเรียนรู้การเขียนโปรแกรมภาษาคอมพิวเตอร์ รายวิชาภาษาซีง30243 ชั้นมัธยมศึกษาปีที่ 5 กลุ่มสาระการเรียนรู้การงานอาชีพและเทคโนโลยี ชุดท่ี 5 เร่ือง ตัวแปรชุด(Array) 3. นักเรียนเริ่มทาแบบทดสอบก่อนเรียนเพื่อประเมินว่านักเรียนมีพ้ืนฐานความรู้ ความเข้าใจมากน้อยเพยี งใด 4. ให้นักเรียนศึกษาเน้ือหาทาความเข้าใจให้ดีต้ังแต่หน้าแรกถึงหน้าสุดท้ายตามลาดับอย่าข้ามขั้นตอนและทาบตั รกจิ กรรมทา้ ยเล่ม ชุดท่ี 5 เร่อื ง ตัวแปรชดุ (Array) 5. เมอ่ื พบคาชีแ้ จงหรือคาถามในแต่ละบัตรกจิ กรรมให้นักเรียนอ่านและทากจิ กรรมที่กาหนดให้อย่างรอบคอบ 6. ส่งผลงานการทาบตั รกจิ กรรมการเรยี นร้ทู า้ ยเล่มเพื่อใหค้ รูตรวจและบนั ทึกผล 7. เมือ่ ทาบตั รกจิ กรรมเสรจ็ แล้วจดั เก็บอุปกรณ์ให้เรยี บร้อย 8. เมื่อนักเรียนทุกคนทากิจกรรมการเรียนรู้ครบแล้วให้นักเรียนทาแบบทดสอบหลังเรียนด้วยความต้งั ใจและซ่ือสัตย์ 9. รับฟงั การบอกคะแนน คาชมเชย และคาแนะนาเพม่ิ เติมจากครูชุดกจิ กรรมการเรียนรกู้ ารเขยี นโปรแกรมภาษาคอมพิวเตอร์ 5รายวิชาภาษาซี ง30243 ชัน้ มธั ยมศกึ ษาปีที่ 5
ชุดท5ี่ เร่อื ง ตัวแปรชดุ (Array) มำตรฐำนกำรเรียนร้แู ละตัวชี้วัดมาตรฐาน ง 3.1 เข้าใจ เหน็ คณุ ค่า และใชก้ ระบวนการเทคโนโลยีสารสนเทศในการสืบค้นขอ้ มลู การเรียนรู้ การส่อื สาร การแก้ปัญหา การทางาน และอาชีพอย่างมปี ระสิทธิภาพ ประสิทธผิ ลและมีคณุ ธรรมตัวช้ีวัด ง 3.1 ม.4-6/5 แกป้ ญั หาด้วยกระบวนการเทคโนโลยีสารสนเทศอย่างมปี ระสิทธิภาพ จุดประสงค์กำรเรียนรู้1. มคี วามรูค้ วามเข้าใจเก่ยี วกับตัวแปรชดุ2. เขยี นโปรแกรมภาษาซโี ดยการประยุกตใ์ ชต้ วั แปรชุดได้3. อธบิ ายความสัมพันธ์ของเทคโนโลยีสารสนเทศ ขอ้ มูล คอมพิวเตอร์ และการเขียนโปรแกรมได้4. ใชค้ อมพวิ เตอรส์ ร้างงานอยา่ งมจี ิตสานกึ และมีความรับผิดชอบชดุ กิจกรรมการเรยี นรกู้ ารเขียนโปรแกรมภาษาคอมพิวเตอร์ 6รายวชิ าภาษาซี ง30243 ชน้ั มัธยมศึกษาปีท่ี 5
ชุดท5ี่ เรื่อง ตัวแปรชดุ (Array)แบบทดสอบก่อนเรียนเรื่อง ตัวแปรชุดคาชแ้ี จง1. แบบทดสอบเปน็ แบบปรนัย จานวน 10 ข้อ2. ให้นกั เรียนเลือกคาตอบทถ่ี ูกต้องท่ีสดุ เพียงคาตอบเดยี ว แล้วใสเ่ คร่อื งหมายกากบาท (x) ลงในกระดาษคาตอบ1. กาหนด int a[5] = {10, 11, 12, 13, 14}; a[1] มีค่าเท่าใดก. 10 ข. 11ค. 12 ง. 132. กาหนด float b[2][3]; ตวั แปร b มจี านวนสมาชกิ เท่าใดก. 2 ข. 3ค. 5 ง. 63. ขอ้ ใดเปน็ การประกาศตวั แปรอารเ์ รย์ 1 มิติท่ีถูกต้องก. int c{7}; ข. int c[7];ค. int c{7} ง. int c[7]4. ข้อใดเปน็ การประกาศตวั แปรอาร์เรย์ 2 มติ ิท่ีถูกต้องก. int a{8}{9}; ข. int a[8][9]ค. int a{8}{9} ง. int a[8][9];5. คาสงั่ ในขอ้ ใดท่ีไม่ได้ใช้ในการนาข้อมลู เขา้ ไปเก็บในตัวแปรอาร์เรย์ก. for ข. gotoค. while ง. do-while6. กาหนด float a[9] = 5; ดงั น้ัน a เปน็ ตัวแปรประเภทใดก. ขอ้ ความ ข. ตวั อักขระค. จานวนจรงิ ง. จานวนเตม็ชุดกิจกรรมการเรียนรกู้ ารเขยี นโปรแกรมภาษาคอมพวิ เตอร์ 7รายวิชาภาษาซี ง30243 ชน้ั มธั ยมศึกษาปที ี่ 5
ชดุ ท5่ี เรื่อง ตัวแปรชดุ (Array)7. กาหนด char b[4] = {‘1’, ‘2’, ‘3’, ‘4’}; ดงั นน้ั b เปน็ ตวั แปรประเภทใดก. ขอ้ ความ ข. ตัวอักขระค. จานวนจรงิ ง. จานวนเตม็8. กาหนด char c[5] = {‘A’, ‘1’, ‘B’, ‘2’, ‘0’}; ดังน้ัน c เป็นตัวแปรประเภทใดก. ข้อความ ข. ตวั อกั ขระค. จานวนจรงิ ง. จานวนเต็ม9. ข้อใดกล่าวถงึ ตัวแปรอาร์เรยไ์ ด้ถูกตอ้ งก. ตัวแปรเดียวเกบ็ ข้อมลู ไดช้ ดุ เดยี ว ข. ตัวแปรเดียวเก็บขอ้ มลู ไดห้ ลายประเภทค. ตัวแปรเดียวเก็บข้อมูลประเภทเดยี วไดห้ ลายชดุ ง. ถกู ขอ้ ข และ ค10. ข้อใดกลา่ วถึงตวั แปรได้ถูกต้องก. ตัวดาเนินการเปน็ ตวั แปรประเภทหนง่ึข. ประกาศตวั แปรเพือ่ จองพื้นทีใ่ นการเกบ็ ข้อมลูค. การสร้างตัวแปรขอ้ ความเพ่ือเกบ็ ข้อมลู ประเภทข้อความง. ตวั แปรตวั อกั ขระที่มีขนาดตัวอกั ขระเทา่ กบั จานวนอักขระท้ังหมดในข้อความชดุ กิจกรรมการเรียนรกู้ ารเขียนโปรแกรมภาษาคอมพิวเตอร์ 8รายวิชาภาษาซี ง30243 ช้ันมธั ยมศกึ ษาปที ี่ 5
ชุดท5่ี เรอ่ื ง ตัวแปรชดุ (Array)กระดำษคำตอบเรือ่ ง ตวั แปรชุด (Array)กอ่ นเรียน หลังเรยี นชอ่ื .................................................................................... ชนั้ ................ เลขที่ ........... ... ขอ้ ที่ ก ข ค ง 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.ชดุ กิจกรรมการเรยี นรกู้ ารเขียนโปรแกรมภาษาคอมพิวเตอร์ 9รายวิชาภาษาซี ง30243 ชั้นมัธยมศึกษาปีท่ี 5
ชดุ ท5่ี เรอื่ ง ตัวแปรชดุ (Array)บตั รเนอื้ หำท่ี 1 ตัวแปรชุด สาหรบั เน้อื หาในบทน้ี จะได้เรียนรู้เกีย่ วกบั ตัวแปรอีกชนดิ หนึง่ น่นั คือตัวแปรชุด (arrays) และเน้อื หาเกย่ี วกบั สตริง (string) ซึ่งเป็นพื้นฐานทส่ี าคญั ในการจดั เก็บขอ้ มลู และโครงสร้างของข้อมลู โดยเฉพาะอยา่ งย่งิตวั แปรชดุ มีประโยชนห์ ลายประการดงั น้ี 1) ชว่ ยลดการตั้งชื่อซา้ ๆ กัน เชน่ ตอ้ งการเกบ็ คา่ ตวั เลขจานวนเตม็ 100 ตวั ถ้าไม่มีการใชต้ ัวแปรชุด เราจะต้องประกาศตัวแปรถึง 100 ตวั ดังนี้int k1, k2, k3, …, k100; /* ประกาศตวั แปร k1, k2, k3, …, k100 จานวน 100 ตวั */ แต่ถา้ เราใช้ตวั แปรชดุ มาชว่ ยในการเกบ็ ข้อมลู ตวั เลขชุดน้ี เราสามารถเก็บตวั เลข 100 ตัวนไ้ี ว้ในชอื่ เดียวกัน แต่มีตวั เลข subscript คอยกากับเพอื่ บ่งบอกถึงลาดับทขี่ องข้อมลู ในตวั แปรได้int k[100]; /* ประกาศตวั แปรชุด 1 ตวั คอื ช่อื ตวั แปร k */ 2) ชว่ ยในการจัดเก็บขอ้ มลู แบบตาราง (table) โดยสามารถใช้ตัวแปรชุด 2 มติ ิ มาเก็บข้อมลู ได้ 3) ช่วยในการเขียนโปรแกรมมีประสิทธภิ าพมากขน้ึ เน่อื งจากในโปรแกรมทีม่ ีการใช้ตัวแปรชดุ จะมีตัวแปรน้อยลง ชว่ ยในการจดั เรยี งข้อมูล และค้นหาขอ้ มลู ได้สะดวกและรวดเรว็ตวั แปรชดุ (arrays variables) ตัวแปรชุด คือ ตัวแปรชนดิ หนึ่งทใี่ ชช้ ่อื เพียงชอื่ เดียวแตม่ ีตัวเลขแสดงตาแหน่งกากับไว้ (subscript) 10เพือ่ เป็นการบอกว่าเปน็ สมาชิกของตัวแปรชุดตวั ท่เี ท่าไหร ประเภทของตัวแปรชุด มดี งั นี้ 1. ตัวแปรชุด 1 มิติ (one dimension arrays หรือ single dimension arrays) ตัวแปรชุด 1 มิติ คือ ตัวแปรชุดท่ีมีตัวเลข กากับ (subscript) เพียง 1 ตัวเช่น a[20], b[100], name[30] และsalary[20] เป็นต้น 2. ตัวแปรชุดหลายมิติ (multi-dimension arrays) ตัวแปรชุดหลายมิติ คือ ตัวแปรชุดที่มีตัวเลขกากับ (subscript) ตั้งแต่ 2 ตัวขึ้นไป โดยมากจะสนใจศึกษาตัวแปรชุดที่มีตัวเลขกากับ2 ตวั และ 3 ตวั ดังน้ี ชดุ กิจกรรมการเรียนรกู้ ารเขยี นโปรแกรมภาษาคอมพวิ เตอร์ รายวิชาภาษาซี ง30243 ช้ันมธั ยมศึกษาปที ี่ 5
ชดุ ท5ี่ เรื่อง ตัวแปรชดุ (Array) ตัวแ ปรชุด 2 มิติ (two dimension arrays) คือ ตัวแปรชุดท่ีมีตัวเลข กากับ(subscript) เพยี ง 2 ตัว เช่น a[2][4], b[3][4], name[5][30] เปน็ ต้น ตัวแปรชุด 3 มิติ (three dimension arrays) คือ ตัวแปรชุดที่มีตัวเลขกากับ(subscript) เพยี ง 3 ตัว เช่น a[2][3][4], b[3][4][5] เป็นตน้ การประกาศตัวแปรชุด (declaration of arrays) การประกาศตวั แปรชุด (declaration of arrays) สามารถทาได้ดังน้ี 1. การประกาศตวั แปรชุด 1 มติ ิ (declaration of one dimension arrays) type arrayname [size]; โดยที่ type คือ ชนิดของตวั แปรชดุ เช่น int, float, char, double เป็นต้น arrayname คือ ช่อื ตวั แปรชดุ ตั้งขึ้นตามหลกั การต้ังช่ือตัวแปร size คอื ขนาดของตวั แปรชดุ เป็นตวั เลขจานวนเตม็ ตัวอย่างการประกาศตวั แปรชุด 1 มติ ิ ตัวอย่างที่ 5.1 int s[20]; ภายในหนว่ ยความจาจะมกี ารจองเน้อื ทีไ่ ว้ดงั น้ี การจองเนื้อที่ใช้ช่องละ 2 bytes 20 ช่อง รวมกันท้ังหมดใช้เน้อื ท่ี 40 bytesชดุ กิจกรรมการเรยี นรกู้ ารเขียนโปรแกรมภาษาคอมพิวเตอร์ 11รายวิชาภาษาซี ง30243 ชนั้ มธั ยมศึกษาปที ่ี 5
ชุดท5่ี เร่อื ง ตัวแปรชดุ (Array) ตวั อย่างที่ 5.2 char p[20]; ภายในหนว่ ยความจาจะมีการจองเนื้อที่ไวด้ งั น้ี การจองเน้ือทีใ่ ชช้ ่องละ 1 bytes 20 ชอ่ ง รวมกันทง้ั หมดใชเ้ นือ้ ท่ี 20 bytesตัวอยา่ งที่ 5.3 float t[20]; ภายในหน่วยความจาจะมกี ารจองเน้อื ทีไ่ วด้ ังนี้ การจองเน้อื ท่ีใชช้ ่องละ 4 bytes 20 ชอ่ ง รวมกันทง้ั หมดใชเ้ นื้อที่ 80 bytes ข้อควรจา การจองเน้ือทีใ่ นหนว่ ยความจาของตัวแปรชุด จะใช้เนือ้ ทเ่ี ทา่ ไร ขน้ึ อยู่กบั ชนิดของตัวแปรชดุ และสมาชิกของตัวแปรชดุ2. การประกาศตัวแปรชดุ 2 มิติ (declaration of two dimension arrays) type arrayname [n][m];โดยท่ีtype คือ ชนิดของตัวแปรชดุ เช่น int, float, char, double เปน็ ตน้arrayname คอื ชอื่ ตัวแปรชุด ตงั้ ขึ้นตามหลักการต้ังชือ่ ตัวแปรn คอื ตัวเลขทีใ่ ชแ้ สดงตาแหน่งแถว (row) มคี า่ ต้ังแต่ 0, 1, 2, …, n-1m คอื ตวั เลขทใ่ี ชแ้ สดงตาแหน่งคอลัมน์ (column) มีคา่ ตั้งแต่ 0, 1, 2, …, m-1ชดุ กจิ กรรมการเรียนรกู้ ารเขยี นโปรแกรมภาษาคอมพิวเตอร์ 12รายวิชาภาษาซี ง30243 ชั้นมัธยมศกึ ษาปีท่ี 5
ชุดท5่ี เรื่อง ตัวแปรชุด (Array) ตัวอย่างการประกาศตัวแปรชุด 2 มติ ิ ตัวอยา่ งที่ 5.4 int r[3][2]; ภายในหนว่ ยความจาจะมกี ารจองเนือ้ ทไ่ี ว้ดงั นี้ การจองเนื้อท่ีของตัวแปรชุด 2 มิติ จะมีลักษณะเป็นตาราง (table) มีจานวนแถว n = 0, 1,2 และมจี านวนคอลมั น์ m = 0, 1 โดยที่ในตารางจะมีลกั ษณะเปน็ ช่อง ๆ ซง่ึ แตล่ ะชอ่ งกค็ อื พน้ื ทข่ี องสมาชิกแต่ละตัว โดยใชเ้ น้ือท่ีชอ่ งละ 2 bytes มีสมาชิกทัง้ หมด 6 ตวั ดังนน้ั ใชเ้ นือ้ ทที่ งั้ หมด 12 bytes วิธกี ารหาจานวนสมาชกิ ทงั้ หมดของตัวแปรชุด 1 มติ ิ และ 2 มิติ การหาจานวนสมาชกิ ท้ังหมดของตัวแปรชุด สามารถคานวณได้จากสูตรดงั น้ี กรณีตัวแปรชดุ 1 มิติจานวนสมาชกิ ทง้ั หมดของตวั แปรชุด = ขนาดของตัวแปรชุด (size) กรณีตัวแปรชุด 2 มติ ิจานวนสมาชกิ ทง้ั หมดของตวั แปรชุด = n*m จากตัวอยา่ ง int r[3] [2]; จะไดว้ า่ n = 3, m = 2 ดงั นั้น จานวนสมาชกิ ของตวั แปรชุด = 3*2 = 6 แสดงว่าตัวแปรชุดน้มี ีสมาชิกดงั น้ี r[0][0], r[0][1], r[n-1][m-1] รวมทง้ั หมด 6 สมาชิก ตวั อยา่ งที่ 5.5 float X[5] [4]; ภายในหนว่ ยความจาจะมีการจองเนอื้ ทไ่ี ว้ดังน้ีชุดกิจกรรมการเรยี นรกู้ ารเขียนโปรแกรมภาษาคอมพวิ เตอร์ 13รายวชิ าภาษาซี ง30243 ชนั้ มธั ยมศกึ ษาปีที่ 5
ชุดท5ี่ เร่ือง ตัวแปรชุด (Array)การจองเน้ือทจ่ี ะมีลักษณะเปน็ ตาราง (table) มีจานวนแถว n = 0, 1, 2, 3, 4 และมจี านวนคอลัมน์ m= 0, 1, 2, 3 โดยที่ในตารางใช้เน้ือที่ช่องละ 4 bytes มีจานวนท้ังหมด 20 ตัว ดังน้ันใช้เน้ือท้ังหมด 80 bytes ขอ้ ควรจา การจองเนื้อท่ใี นหน่วยความจาของตัวแปร 2 มิติ จะมีลักษณะเปน็ ตาราง ขนาด n*m โดยท่ี n = จานวนแถว และ m = จานวนคอลัมน์3. การประกาศตวั แปรชุด 3 มิติ (declaration of three dimension arrays) type arrayname [n][m][p];โดยท่ี type คือ ชนดิ ของตัวแปรชดุ เช่น int, float, char, double เป็นต้น arrayname คือ ชื่อตวั แปรชดุ ตง้ั ขน้ึ ตามหลกั การต้ังช่ือตัวแปร n คือ ตวั เลขกากับตัวท่ี 1 มีค่าตัง้ แต่ 0, 1, 2, …., n-1 m คอื ตัวเลขกากับตัวที่ 2 มีค่าตง้ั แต่ 0, 1, 2, …., m-1 p คอื ตวั เลขกากบั ตัวท่ี 3 มคี ่าตัง้ แต่ 0, 1, 2, …., p-1 วิธีการหาจานวนสมาชิกทง้ั หมดในตัวแปรชดุ 3 มติ ิ วิธกี ารหาจานวนสมาชกิ ทง้ั หมดในตวั แปรชุด 3 มติ ิ หาไดจ้ ากสูตรดงั นี้ จานวนสมาชิกทง้ั หมดของตวั แปรชุด = n*m*pตวั อย่างการประกาศตัวแปรชุด 3 มิติ float a[2][2][3]; ดงั นน้ั n = 2 , m = 2, p = 3 จะได้วา่ จานวนสมาชกิ ท้ังหมดของตวั แปรชดุ = 2*2*3 = 12 ตวัดังนัน้ เราสามารถเขียนสมาชิกทั้งหมดของตวั แปรชุดนีไ้ ดด้ ังตารางชดุ กจิ กรรมการเรยี นรกู้ ารเขยี นโปรแกรมภาษาคอมพิวเตอร์ 14รายวิชาภาษาซี ง30243 ชน้ั มธั ยมศึกษาปที ี่ 5
ชดุ ท5่ี เร่อื ง ตัวแปรชุด (Array)Column 0 Column 1ตวั ท่ี 1 ตัวที่ 2 ตัวท่ี 3 ตวั ท่ี 1 ตวั ที่ 2 ตวั ท่ี 3Row 0 a[0][0][0] a[0][0][1] a[0][0][2] a[0][1][0] a[0][1][1] a[0][1][2]Row 1 a[1][0][0] a[1][0][1] a[1][0][2] a[1][1][0] a[1][1][1] a[1][1][2] โดยทีส่ มาชิกแตล่ ะตัวใช้เน้ือท่ีตวั ละ 4 bytes จานวนสมาชิกทงั้ หมดมี 12 ตวั ดงั น้ันใชเ้ น้ือที่ทัง้ หมดคือ 4*12 = 48 bytes การกาหนดค่าเร่มิ ต้นใหก้ ับตัวแปรชดุ (initializing arrays) 1. การกาหนดค่าตัวเลขให้กับตัวแปรชุด รูปแบบท่ี 1 (กรณตี วั แปรชุด 1 มิต)ิ type arrayname[size] = { value list }; รูปแบบท่ี 2 (กรณตี ัวแปรชดุ 2 มติ ิ) type arrayname[n][m] = { value list };โดยที่ value list คือ ค่าคงที่ชนิดตัวเลขท่ีต้องการกาหนดให้ตัวแปรชุด ถ้ามีหลายค่าให้ใช้เครอ่ื งหมาย , (comma) คน่ั ระหว่างค่าคงทีแ่ ต่ละค่าโดยคา่ คงทที่ ้งั หมดจะต้องอยู่ภายใตเ้ ครื่องหมาย { } ตัวอย่าง 5.6 int a[10] = {10, 20, 30, 40,50, 60, 70, 80, 90, 100};ภายในหน่วยความจาจะเก็บตัวแปรชดุ ดงั นี้ชุดกจิ กรรมการเรียนรกู้ ารเขยี นโปรแกรมภาษาคอมพิวเตอร์ 15รายวชิ าภาษาซี ง30243 ชัน้ มัธยมศึกษาปที ่ี 5
ชุดท5ี่ เร่อื ง ตัวแปรชุด (Array) ตวั อย่างท่ี 5.7 float p[5][3] = { 3.0, 4.5, 5.5, 4.6, 5.5, 6.5, 5.0, 6.2, 7.0, 6.3, 6.8, 7.4, 7.5, 8.0, 9.0 };ภายในหน่วยความจาจะเก็บตัวแปรชุดเปน็ ลักษณะตาราง (table) ดงั น้ีโดยทสี่ มาชกิ แตล่ ะตัวใช้เน้ือท่ี 4 bytes ดังนั้นใชเ้ นอ้ื ทท่ี ้ังหมด = 4*15 = 60 bytes การกาหนดคา่ คงทีช่ นิดสตรงิ ให้กับตัวแปรสตริง รปู แบบท่ี 1 (กรณีตัวแปรชุด 1 มิติ) char arrayname[size] = “string constant” รปู แบบท่ี 2 (กรณีตัวแปรชดุ 2 มิติ) char arrayname[n][m] = {“string constant”};โดยที่ string constants คือ ค่าคงที่ชนิดสตริงท่ีต้องการกาหนดให้ตัวแปรชุด ถ้ามีหลายค่าจะต้องใช้เคร่ืองหมาย , (comma) คั่นระหวา่ งค่าคงท่ีแตล่ ะค่าชดุ กิจกรรมการเรียนรกู้ ารเขียนโปรแกรมภาษาคอมพิวเตอร์ 16รายวชิ าภาษาซี ง30243 ชนั้ มัธยมศึกษาปที ่ี 5
ชุดท5่ี เรอ่ื ง ตัวแปรชดุ (Array) ตวั อยา่ งที่ 5.8 char s[12] = “ASIAN GAME” ; ภายในหนว่ ยความจาจะเก็บขอ้ มลู ตวั แปรชดุ มลี กั ษณะดังน้ี null character ตวั อยา่ งที่ 5.9 char province[3][13] = { “NAKHONPANOM” , “SAKON NAKHON” , “MOOKDAHAN” } ;ภายในหนว่ ยความจาจะเกบ็ ข้อมลู มีลกั ษณะดังน้ที ั้งหมดใชเ้ นือ้ ที่ 3 x 13 = 39 bytes การอ้างถึงสมาชิกในตวั แปรชุด 2 มิติ เช่น province [0] คือ สมาชิกแถวที่ 1 ทั้งแถว นั่นคอื ขอ้ มูล NAKHONPANOM province [1] คือ สมาชกิ แถวท่ี 2 ทั้งแถว น่ันคอื ข้อมูล SAKON NAKHON province [2] คือ สมาชิกแถวที่ 3 ทง้ั แถว นนั่ คอื ข้อมูล MOOKDAHAN province [0][0] คือ สมาชกิ ของ province [0] ตวั ท่ี 1 คือตัวอักษร N province [1][2] คือ สมาชิกของ province [1] ตวั ที่ 3 คือตัวอักษร K การนาข้อมูลเข้าไปเก็บและการแสดงผลลัพธ์ของข้อมูลในตัวแปร ชดุ โดยปกติเราจะใช้คาส่ัง for หรือ while หรือ do while คาสั่งใดคาสั่งหน่ึงมาช่วยในการนาข้อมลู เข้าเกบ็ และแสดงผลลพั ธข์ อ้ มลู ในตวั แปรชดุ ส่วนมากนยิ มใชค้ าสั่ง for มากกว่าคาส่ังอืน่ ท้ังนี้เนื่องจากตัวแปรชดุ น้ันเราสามารถทราบขนาดทีแ่ น่นอนได้ ทาให้กาหนดจานวนรอบการทางานได้ชุดกิจกรรมการเรียนรกู้ ารเขียนโปรแกรมภาษาคอมพวิ เตอร์ 17รายวชิ าภาษาซี ง30243 ช้นั มธั ยมศกึ ษาปที ่ี 5
ชุดท5่ี เร่อื ง ตัวแปรชุด (Array) เพ่ือความเข้าใจเก่ียวกับการนาข้อมูลเข้าไปเก็บและการแสดงผลลัพธ์ของตัวแปรชุดมากย่ิงข้ึน ให้ศกึ ษาโปรแกรมตวั อยา่ งท่ี 5.1, 5.2, 5.3 และ 5.4 ดงั ต่อไปน้ีโปรแกรมตวั อย่างท่ี 5.1 แสดงการใชต้ วั แปรชุด 1 มติ ิ ชื่อ scores เก็บคะแนนนักเรยี น/* array1.C */#include<stdio.h> /* บรรทดั ที่ 1 */#include<conio.h> /* บรรทดั ที่ 2 *//* Record student's scores. */ /* บรรทัดที่ 3 */main() /* บรรทัดท่ี 4 */{ /* บรรทดั ท่ี 5 */int index, scores[5]; /* บรรทดั ที่ 6 */scores[0] = 59; /* บรรทดั ที่ 7 */scores[1] = 67; /* บรรทดั ที่ 8 */scores[2] = 85; /* บรรทดั ท่ี 9 */scores[3] = 92; /* บรรทัดที่ 10 */scores[4] = 74; /* บรรทดั ที่ 11 */clrscr(); /* บรรทดั ท่ี 12 */for (index = 0; index < 5; index++) /* บรรทัดที่ 13 */printf(\"Student's score: %d\n\", scores[index]); /* end for */ /* บรรทัดท่ี 14 */getch(); /* บรรทดั ที่ 15 */return(0); /* บรรทดั ท่ี 16 */} /* บรรทัดท่ี 17 */ ผลลพั ธท์ ่ีไดจ้ ากโปรแกรม Student's score: 59 Student's score: 67 Student's score: 85 Student's score: 92 Student's score: 74ชดุ กิจกรรมการเรยี นรกู้ ารเขยี นโปรแกรมภาษาคอมพิวเตอร์ 18รายวชิ าภาษาซี ง30243 ชนั้ มธั ยมศกึ ษาปีที่ 5
ชดุ ท5ี่ เรอื่ ง ตัวแปรชดุ (Array) คาอธิบายโปรแกรมจากโปรแกรมตวั อยา่ งที่ 5.1 สามารถอธิบายการทางานของโปรแกรมทีส่ าคัญ ๆ ได้ดังนี้บรรทดั ที่ 6 ประกาศตวั แปร index เปน็ ชนดิ จานวนเตม็ และ scores เปน็ ตวั แปร ชดุ 1 มติ ิ ชนดิ จานวนเตม็ มีสมาชิก 5 ตวับรรทดั ที่ 7 ถงึ 11 กาหนค่าจานวนเต็มให้กบั ตวั แปรชุด scores[0] ถงึ scores[4]บรรทัดที่ 13 คาส่ัง for ทาหน้าทีว่ นรอบทางานซ้า 5 ครั้ง เพื่อชว่ ยพิมพ์คะแนนนักเรียนทเ่ี ก็บ ไวใ้ นตวั แปรชุด scores[0] ถงึ scores[4]บรรทัดท่ี 14 และ 15 ฟังก์ชัน printf( ) เพื่อแสดงคะแนนของนักเรยี นแตล่ ะคนออกท่ีจอภาพซ่งึ เก็บไว้ในตัวแปรชดุ scores[0] ถึง scores[4] หลังจากนั้นจะหยุดรอรบั ค่าใดๆ จาก คยี บ์ อรด์ ซ่ึงถา้ กด enter กจ็ ะกลบั สโู่ ปรแกรมบรรทดั ท่ี 16 ส่งคา่ 0 (ศนู ย)์ กลบั ให้กบั ฟงั กช์ ัน main( ) ขอ้ ควรจา ข้อสงั เกต ฟงั ก์ชัน main( ) ของโปรแกรมตัวอยา่ งท่ี 5.1 เปน็ ฟังกช์ ันท่ี ตอ้ งการให้ส่งค่ากลับ ในการเขียนโปรแกรมจะต้องมกี ารใช้ฟังกช์ นั return( ) ซึ่งถา้ ไม่ใชเ้ วลาทเี่ รา compile โปรแกรม จะมีคาเตือนใหเ้ ราทราบทุกครง้ั แต่โปรแกรมก็ สามารถ run ได้ชุดกิจกรรมการเรียนรกู้ ารเขยี นโปรแกรมภาษาคอมพิวเตอร์ 19รายวิชาภาษาซี ง30243 ช้ันมธั ยมศกึ ษาปที ี่ 5
ชุดท5ี่ เรือ่ ง ตัวแปรชุด (Array)โปรแกรมตัวอย่างท่ี 5.2 แสดงการใช้ตวั แปรชดุ 1 มติ ิ สาหรับเก็บขอ้ มูลและนาข้อมูลในตัวแปรชดุมาคานวณค่า พร้อมทง้ั แสดงผลลพั ธท์ ่ีได้ออกจอภาพ/* array2.c */#include<stdio.h> /* บรรทัดที่ 1 */#include<conio.h> /* บรรทัดที่ 2 */#include<stdlib.h> /* บรรทดั ท่ี 3 */void main(void) /* บรรทดั ที่ 4 */{ float num[100] ; /* บรรทัดท่ี 5 */float sum= 0 , average ; /* บรรทัดท่ี 6 */int i, n ; char numstr[20]; /* บรรทดั ท่ี 7 */clrscr(); /* บรรทัดที่ 8 */printf(\"Enter Total of number(n<100) : \"); /* บรรทดั ท่ี 9 */n = atoi(gets(numstr)); /* บรรทดั ท่ี 10 */ /* ===== Input Data ===== */ /* บรรทดั ที่ 11*/for( i=0; i<n; i++) { /* บรรทัดที่ 12 */printf(\"\nEnter NUMBER #%d : \",i+1); /* บรรทดั ที่ 13 */num[i] = atof(gets(numstr)); /* บรรทดั ที่ 14 */sum=sum+num[i]; /* บรรทดั ท่ี 15 */printf(\"\n\"); /* บรรทดั ท่ี 16 */} /* end for */ /* บรรทดั ที่ 17 *//* ===== Calulate MEAN ===== */ /* บรรทัดที่ 18 */average = sum/n ; /* บรรทัดที่ 19 */printf(\"N =%d\t Sum =%10.2f\n\",n,sum); /* บรรทัดที่ 20 */printf(\"Average = %10.2f\n\",average); /* บรรทดั ที่ 21 */getch(); /* บรรทดั ท่ี 22 */} /* end main */ /* บรรทดั ท่ี 23 */ชุดกจิ กรรมการเรียนรกู้ ารเขยี นโปรแกรมภาษาคอมพวิ เตอร์ 20รายวิชาภาษาซี ง30243 ชัน้ มธั ยมศกึ ษาปที ่ี 5
ชดุ ท5ี่ เร่ือง ตัวแปรชุด (Array) 21 ผลลัพธท์ ไี่ ดจ้ ากโปรแกรม Enter Total of number(n<100) : 5 Enter NUMBER #1 : 4 Enter NUMBER #2 : 5 Enter NUMBER #3 : 8 Enter NUMBER #4 : 90 Enter NUMBER #5 : 75 N = 5 Sum = 182 Average = 36.40 คาอธิบายโปรแกรม จากโปรแกรมตัวอย่างท่ี 5.2 สามารถอธบิ ายการทางานของโปรแกรมที่สาคัญ ๆ ไดด้ ังน้ีบรรทดั ที่ 3 คาสัง่ #include <stdlib.h> ให้การสนบั สนนุ ฟงั กช์ ัน atoi( ) และฟงั กช์ ัน atof( ) สาหรับโปรแกรมนี้ ในบรรทดั ท่ี 10 และ 14 ตามลาดบับรรทดั ท่ี 5 ประกาศตัวแปร num เป็นตวั แปรชดุ 1 มติ ิ ชนิด float มสี มาชิก 100 ตวับรรทัดท่ี 7 ประกาศตัวแปร numstr เปน็ ตวั แปรชุด 1 ติ ชนิด char มีสมาชกิ 20 ตวับรรทดั ที่ 10 ฟงั ก์ชนั atoi( ) ใชเ้ ปลี่ยน string เป็นตวั เลขจานวนเตม็ จากฟังกช์ ัน gets( ) รับ ตัวอักขระมาเกบ็ ไวใ้ นตวั แปร numstr แลว้ เปลี่ยนคา่ string ของตัวแปร numstr ไปเก็บไว้ในตัวแปร n โดยใชฟ้ ังก์ชัน atoi( )บรรทัดท่ี 12 คาสัง่ for ชว่ ยในการเกบ็ ข้อมลู ไวใ้ นตัวแปรชดุ num ซง่ึ มจี านวนรอบของการ ทางานเทา่ กับจานวนสมาชิกของตัวแปรชดุ คือ n รอบบรรทัดที่ 14 ฟังกช์ นั atof( ) ใชเ้ ปล่ียน string เปน็ ตวั เลขทศนยิ ม ซ่ึงมีการทางานคล้ายกับ ฟังกช์ นั atoi( ) ในบรรทดั ที่ 10บรรทดั ท่ี 15 คาสั่ง sum = sum + num[i]; เป็นการบวกสะสมค่าตัวแปรชุดบรรทัดที่ 18 ถึง 21 คาสั่ง average = sum/n; เป็นการคานวณคา่ เฉล่ยี ของตวั แปรชุด แล้ว แสดงผลคา่ ตวั แปร n ตัวแปร sum และตัวแปร average ออกจอภาพบรรทัดท่ี 22 หยดุ รอรบั คา่ ใด ๆ จากคีย์บอรด์ ซ่ึงถา้ เรากด enter ก็จะกลบั สู่โปรแกรม ชดุ กิจกรรมการเรียนรกู้ ารเขยี นโปรแกรมภาษาคอมพวิ เตอร์ รายวิชาภาษาซี ง30243 ชั้นมัธยมศึกษาปีที่ 5
ชุดท5ี่ เรื่อง ตัวแปรชดุ (Array)โปรแกรมตวั อย่างท่ี 5.3 แสดงการใช้ตัวแปรชุด 2 มิติ สาหรบั เก็บคะแนนและคานวณคา่ เฉลีย่ ของคะแนนในแต่ละชุดแสดงผลออกจอภาพ/* array3.C */ /* บรรทดั ท่ี 1 */#include<stdio.h> /* บรรทัดที่ 2 */#include<conio.h> /* บรรทดั ที่ 3 */ /* Record student's score */ /* บรรทดั ท่ี 4 */ main() /* บรรทดั ท่ี 5 */{ /* บรรทดั ท่ี 6 */int i, j, sum, scores[3][5] = { /* บรรทดั ที่ 7 */ { 84 , 71 , 96 , 65 , 79 }, /* บรรทดั ท่ี 8 */ { 90 , 55 , 83 , 68 , 96 }, /* บรรทดั ท่ี 9 */ { 61 , 77 , 82 , 94 , 59 } /* บรรทดั ท่ี 10 */}; /* บรรทดั ที่ 11 */clrscr(); /* บรรทดั ที่ 12 */for (i = 0; i < 3; i++){ /* loop over tests. */ /* บรรทดั ที่ 13 */ for (j = 0, sum = 0; j < 5; j++) /* บรรทดั ท่ี 14 */ /* บรรทดั ที่ 15 */ sum = sum + scores[i][j]; /* บรรทดั ที่ 16 */ printf(\"Average for test %d is %f.\n\", i, (float) sum / 5); /* บรรทดั ที่ 17 */} /* end for */ /* บรรทดั ที่ 18 */getch();return(0);}ชุดกิจกรรมการเรียนรกู้ ารเขียนโปรแกรมภาษาคอมพวิ เตอร์ 22รายวิชาภาษาซี ง30243 ช้ันมัธยมศกึ ษาปีที่ 5
ชดุ ท5ี่ เรือ่ ง ตัวแปรชุด (Array) ผลลัพธ์ทีไ่ ดจ้ ากโปรแกรม Average for test 0 is 79.000000 Average for test 1 is 78.400000 Average for test 2 is 74.600000 คาอธบิ ายโปรแกรมจากโปรแกรมตวั อย่างท่ี 5.3 สามารถอธบิ ายการทางานของโปรแกรมทส่ี าคญั ๆ ได้ดงั น้ีบรรทัดท่ี 5 ถงึ 9 ประกาศตัวแปรชดุ 2 มิติ ชนดิ จานวนเต็มของตวั แปรชือ่ scores มจี านวน สมาชิกทั้งหมด 15 ตวับรรทัดท่ี 11 คาสงั่ for เพื่อตรวจสอบว่า loop เกินจานวนรอบ คอื แถวของตัวแปรชดุ หรอื ไม่บรรทัดที่ 12 คาสัง่ for เพื่อนาคะแนนที่เก็บในตวั แปรชุดทัง้ 15 ตัวมารวมกนั ในคาสงั่ บรรทดั ที่ 13บรรทัดท่ี 14 พมิ พค์ ะแนนเฉล่ียของนักเรยี นท้ัง 5 คน ในการสอบแตล่ ะคร้ัง โดยที่ (float) sum/5 เป็นการทาใหต้ ัวแปร sum เป็นจานวนทศนยิ มช่ัวคราวเพราะปกตเิ ราประกาศ ตวั แปร sum เป็นชนดิ จานวนเตม็บรรทดั ที่ 15 หยดุ รอรับค่าใด ๆ จากคยี บ์ อร์ด ซง่ึ ถ้าเรากด enter กจ็ ะกลับสู่โปรแกรมชดุ กจิ กรรมการเรียนรกู้ ารเขียนโปรแกรมภาษาคอมพิวเตอร์ 23รายวชิ าภาษาซี ง30243 ชน้ั มัธยมศกึ ษาปีท่ี 5
ชุดท5่ี เรือ่ ง ตัวแปรชุด (Array)โปรแกรมตัวอย่างท่ี 5.4 แสดงการใช้ตัวแปรชุด 2 มติ ิ สาหรับเก็บชอ่ื จงั หวดั แลว้ นาข้อมูลมาแสดงออกที่จอภาพ/* array4.c */#include<stdio.h> /* บรรทัดท่ี 1 */#include<conio.h> /* บรรทัดท่ี 2 */#include<stdlib.h> /* บรรทัดที่ 3 */void main(void) /* บรรทดั ที่ 4 */{ /* บรรทดั ท่ี 5 */char province[100][40]; /* บรรทัดท่ี 6 */int i, n; char numstr[20]; /* บรรทัดท่ี 7 */ clrscr( ); /* บรรทดั ที่ 8 */printf(\"Enter Total of Province (n<100) : \" ); /* บรรทดั ที่ 9 */n = atoi(gets(numstr)); /* บรรทดั ที่ 10 */for( i=0; i<n; i++) { /* บรรทดั ที่ 11 */ /* บรรทดั ที่ 12 */ printf(\"\nEnter your Province : \"); /* บรรทัดท่ี 13 */ gets( province[i] ) ; /* บรรทดั ที่ 14 */} /* บรรทดั ที่ 15 */for( i=0; i<n; i++) /* บรรทดั ท่ี 16 */ printf(\"\nYour Province is %s\", province[i]); /* บรรทดั ท่ี 17 */getch(); /* บรรทัดที่ 18 */} /* end main */ชดุ กจิ กรรมการเรยี นรกู้ ารเขยี นโปรแกรมภาษาคอมพวิ เตอร์ 24รายวิชาภาษาซี ง30243 ช้นั มัธยมศึกษาปีท่ี 5
ชดุ ท5ี่ เร่อื ง ตัวแปรชดุ (Array) ผลลัพธ์ทไ่ี ดจ้ ากโปรแกรม Enter Total of Province (n<100) : 3 Enter your Province : Suphanburi Enter your Province : Ratchaburi Enter your Province : Kanchanaburi Your Province is Suphanburi Your Province is Ratchaburi Your Province is Kanchanaburi คาอธิบายโปรแกรมจากโปรแกรมตวั อย่างที่ 5.4 สามารถอธิบายการทางานของโปรแกรมท่ีสาคญั ๆ ไดด้ งั น้ีบรรทัดท่ี 3 คาสั่ง #include <stdlib.h> ใหก้ ารสนับสนนุ ฟงั ก์ชนั atoi( ) เพื่อเปล่ียนข้อมลู สตรงิ เป็นชนดิ จานวนเตม็ ซึ่งเรยี กใช้ฟังกช์ นั นี้ ในบรรทดั ที่ 10บรรทัดที่ 11 คาสัง่ for เพื่อนาค่าสตริงที่รับเขา้ มาไปเกบ็ ไวใ้ นตัวแปรชดุ province[i] ในคาส่ัง บรรทดั ท่ี 13บรรทัดท่ี 15 คาสง่ั for เพ่ือนาค่าสตริงทเ่ี ก็บไวใ้ นตวั แปร province[i] ออกแสดงที่จอภาพ ตาม คาสัง่ บรรทดั ท่ี 16บรรทดั ที่ 17 หยุดรอรบั ค่าใด ๆ จากคยี บ์ อร์ด ซ่งึ ถา้ เรากด enter ก็จะกลับสู่โปรแกรมชดุ กิจกรรมการเรียนรกู้ ารเขียนโปรแกรมภาษาคอมพิวเตอร์ 25รายวชิ าภาษาซี ง30243 ชน้ั มัธยมศึกษาปที ี่ 5
ชุดท5่ี เรอ่ื ง ตัวแปรชดุ (Array)บตั รกจิ กรรมกำรเรียนรูท้ ่ี 1 10 เร่ือง ตวั แปรชุด1. ถ้ามีการประกาศตวั แปร n เป็นแถวลาดบั ดงั น้ี int n[5];1.1 เราสามารถอา้ งถึงสมาชิกแต่ละตวั ของ n ไดโ้ ดยวิธใี ด............................................................................................................................. ..................................................................................................................................................................... ............................................................................................................................................................... ................................................................................................................................... ....................................................................1.2 เราสามารถอา้ งถงึ สมาชกิ n[5] ได้หรอื ไม่ เพราะเหตุใด และมีข้อควรระวังหรือขอ้ จากดั อยา่ งไร....................................................................................... ........................................................................................................................................................................................................ .................................................................................................................................................................................... ................................................................................................................................... ..................................................1.3 ถา้ ต้องการกาหนดค่าเริม่ ตน้ ให้กบั สมาชิกทกุ ตัวในแถวลาดบั n มคี า่ เป็น 0 (ศูนย์) ต้องใชค้ าส่ังใด.................................................................................. ............................................................................................................................................................................................................. ............................................................................................................................................................................... ................................................................................................................................... .......................................................2. แถวลาดับตอ่ ไปนี้ มขี นาดเป็นเทา่ ใด ถา้ กาหนด #define SIZE 5 แถวลาดบั ขนาด2.1 int n[ ] = {1, 2, 3, 4, 5};2.2 int s[SIZE];2.3 Int n[SIZE] = {0, 2, 4}2.4 char str1[ ] = ‘H’ , ’E’ , ‘l’ , ‘l’ , ‘o’ , ‘\0’};2.5 char str2[ ] = “Hello everyone”;ชดุ กิจกรรมการเรียนรกู้ ารเขียนโปรแกรมภาษาคอมพิวเตอร์ 26รายวิชาภาษาซี ง30243 ชน้ั มธั ยมศึกษาปที ่ี 5
ชดุ ท5่ี เรือ่ ง ตัวแปรชดุ (Array) บตั รกจิ กรรมกำรเรียนรทู้ ี่ 1 เรอ่ื ง ตัวแปรชุด 3. ใหพ้ ิจารณาว่าคาสั่งหรือชุดคาสง่ั ต่อไปนี้ผิดหรอื ไม่ เพราะเหตใุ ด 3.1 char str[6] = {‘w’ , ‘I’ , ‘n’ , ‘d’ , ‘o’ , ‘w’ , ‘s’}; ............................................................................................................................. ..................................... .................................................................................................................................................................. ............................................................................................................................. ................................... 3.2 float weight[4] = {35, 45, 42, 60, 46, 62}; ............................................................................................................................. ..................................... .................................................................................................................................................................. ............................................................................................................................. ................................... 3.3 char str[6] = “windows”; ............................................................................................................................. ..................................... .............................................................................................. .................................................................... ............................................................................................................................. ................................... 3.4 char str[9] = “windows”; ............................................................................................................................. ..................................... ........................................................................................ .......................................................................... ............................................................................................................................. ................................... 3.5 int b[10] = {0}, I; for (i=0; I <=10; i++) b[i] = I; ............................................................................................................................. ..................................... ................................................................................................................................................................. ............................................................................................................................. .....................................ชุดกิจกรรมการเรยี นรกู้ ารเขยี นโปรแกรมภาษาคอมพวิ เตอร์ 27รายวชิ าภาษาซี ง30243 ชนั้ มธั ยมศึกษาปีที่ 5
ชุดท5่ี เร่ือง ตัวแปรชุด (Array)บัตรกจิ กรรมกำรเรียนรูท้ ่ี 1 เรือ่ ง ตัวแปรชดุ4. ผลลพั ธ์ที่ไดจ้ ากการรนั ส่วนของโปรแกรมต่อไปนี้คืออะไรint I; ”, a[i]; int a[10]; for (i=0; i<10; i++) a[i] = 2*I; for (i=0; i<10; i++) printf(“%d printf(“\n”);............................................................................................................................. ................................................................................................................................... ................................................................................................................................................................................................. .......................................................................................................................................................................................... ................................................................................................................................... ....................................................................................................................................................................... ...................................5. ให้เขียนคาสง่ั หรอื ชุดของคาส่ังเพือ่ ดาเนินการในแต่ละข้อตอ่ ไปนี้ 5.1 ประกาศตวั แปรแถวลาดับ height ท่มี ีขนาด 10 โดยใชค้ า่ คงท่ี SIZE............................................................................................................................. ................................................................................................................................... .................................................................... 5.2 บวก 1 เขา้ กบั สมาชกิ ทกุ ตวั ของ height............................................................................................................................. .................................................................................................................................................................. ..................................... 5.3 แสดงค่าของสมาชิกตัวสุดทา้ ยของ height....................................................................................................................................... ................................................................................................................................... ...................................................................................................................................................................................... .....................................ชุดกิจกรรมการเรียนรกู้ ารเขยี นโปรแกรมภาษาคอมพิวเตอร์ 28รายวิชาภาษาซี ง30243 ชนั้ มัธยมศกึ ษาปีท่ี 5
ชดุ ท5ี่ เรื่อง ตัวแปรชุด (Array)บัตรเนื้อหำท่ี 2 ค่ำคงทส่ี ตริง ตวั แปรสตริง และฟงั กช์ นั ค่าคงที่สตริง คือ ตัวอักขระ (characters) ใด ๆ ที่เขียนอยู่เครื่องหมายภายใต้ “” (doublequotation) เช่น “Greeting!” , ”Hello, ” ”SA-WAS-DEE” , “4567” , “123.45” เปน็ ต้น ตัวแปรสตริง คือ ตัวแปรชุดท่ีเก็บค่าคงท่ีชนิดสตริง โดยมีชนิดของตัวแปรชุดเป็น char เช่นchar name[30]=”KANNIKAR”; หรือ char strnum[10]=”12345”; เปน็ ต้นสาหรับการเก็บค่าคงที่ชนิดสตริงไว้ในตัวแปรสตริงภายในหน่วยความจาน้ัน จะเก็บเรียงกันไปทีละตัวอักขระโดยใช้เนื้อท่ี 1 byte ต่อการเก็บตัวอักษร 1 ตัว และใน byte สุดท้ายสตริงจะมีการเก็บ \0 (nullcharacter) ไวเ้ พ่ือเป็นการบอกให้ compiler ร้วู ่าหมดขอ้ มูลที่เก็บไวแ้ ล้วการประกาศตวั แปรสตรงิ 1 มติ ิ เน่ืองจากตัวแปรสตริง คือตัวแปรชุดที่มีชนิดเป็น char ดังน้ันจึงสามารถประกาศตัวแปรสตริงได้ดงั น้ี char stringname[size]; หรือchar stringname[size] = “string constant”;โดยที่ 29 stringname คอื ชื่อตวั แปรสตรงิ ตง้ั ข้นึ ตามหลักการตัง้ ชื่อตัวแปร string constant คือ ค่าคงท่ีชนิดสตริง โดยต้องเขียนอยู่ภายใต้เคร่ืองหมาย “ ” เสมอ size คือ ขนาดของตัวแปรสตริง ควรกาหนดให้เนอื้ ทท่ี ั้งหมดที่ใชเ้ ก็บข้อมลู มีขนาดเกินคา่ คงที่สตรงิ ท่ียาวที่สุดไปอย่างน้อย 1 byte ในทางปฏิบัตินิยมกาหนดขนาดให้มาก ๆ ไว้ก่อนส่วนจะใช้เนื้อท่ีครบทั้งหมดหรอื ไม่ ไม่มีผลอะไรในโปรแกรม ชดุ กจิ กรรมการเรียนรกู้ ารเขียนโปรแกรมภาษาคอมพวิ เตอร์ รายวิชาภาษาซี ง30243 ชั้นมธั ยมศึกษาปีที่ 5
ชุดท5ี่ เร่อื ง ตัวแปรชดุ (Array)ตัวอยา่ งการประกาศตัวแปรสตริง 1 มติ ิ 1) char name[26]; /* ประกาศตัวแปรสตรงิ name มขี นาด 26 bytes */ 2) char name[26], address[41]; /* ประกาศตัวแปรสตริง name มขี นาด 26 bytes และตัวแปรสตริง address มี ขนาด 41 bytes ตามลาดบั */ 3) char str[9] = “COMPUTER”; /* ประกาศตัวแปรสตริง str มขี นาด 9 bytes และกาหนดขอ้ ความใหส้ ตริง */ แต่ถา้ เราเขยี นคาสง่ั เปน็ char str[8] = “COMPUTER”; จะเกิด error ขนึ้ เพราะ ความกว้างของตวั แปรสตรงิ น้อยกว่าคงทส่ี ตริงอยู่ 1 byte ดงั น้นั จะต้องกาหนดขนาด ใหเ้ กินค่าคงทสี่ ตริงไวอ้ ย่างนอ้ ย 1 byte เสมอ 4. char city[80] = “Bangkok, Thailand”; /* ประกาศตัวแปรสตริง city มีขนาด 80 bytes และกาหนดข้อความใหส้ ตริง */ การประกาศตวั แปรสตรงิ 2 มิติ char stringname[n][m] หรือ char stringname[n][m] = {“string constant1”, “string constant2 “,...,”string constanN };โดยท่ี stringname คอื ชื่อตวั แปรสตริง ตั้งขึน้ ตามหลักการตั้งชื่อตัวแปร n, m คือ จานวนแถวและจานวนคอลมั นต์ ามลาดับ string constant1, string constant2,…., string constantN คอื คา่ คงท่ีชนิดสตริงตวั ท่ี 1, 2, …., N ตามลาดับ ซง่ึ จะตอ้ งเขยี นอย่ภู ายใต้เครื่องหมาย “….” เสมอชดุ กจิ กรรมการเรียนรกู้ ารเขียนโปรแกรมภาษาคอมพวิ เตอร์ 30รายวชิ าภาษาซี ง30243 ชนั้ มัธยมศึกษาปีที่ 5
ชดุ ท5ี่ เรื่อง ตัวแปรชดุ (Array)ตวั อย่างการประกาศตวั แปรสตรงิ 2 มิติ 1) char name[3] [20]; /* ตวั แปรสตรงิ name 2 มติ ิ มีขนาด 3*20 = 60 bytes*/ 2) char name[3] [20] = {“KANNIKAR”,”SURAPORN”,”THAITANA”}; /* ประกาศตวั แปรสตริง name 2 มิติ มขี นาด 3*20 = 60 bytes และกาหนดค่า สตรงิ KANNIKAR, SURAPORN และ THAITANA ใหก้ ับตวั แปร สตริง name[0], name[1] และ name[2] ตามลาดบั */ ฟังก์ชนั ทีใ่ ช้งานเกี่ยวกับสตริง (string functions) ในภาษา C มฟี ังกช์ นั ท่ีใช้จัดการเกย่ี วกับคา่ คงทส่ี ตรงิ และตัวแปรสตริงอยู่หลายฟังกช์ นั ดงั น้ี1. ฟังก์ชนั strlen( )2. ฟงั ก์ชัน strcmp( )3. ฟังก์ชัน strcpy( )4. ฟังกช์ นั strcat( ) โดยกอ่ นท่จี ะใช้ฟังก์ชันเหล่านี้จะต้องมีการใช้คาส่ัง # include<string.h> เขา้ มาในโปรแกรมด้วยจงึ จะสามารถทางานได้ ฟงั ก์ชัน strlen( )strlen( ) เป็นฟงั กท์ ีใ่ ช้นบั ความยาวของคา่ คงที่สตริง หรอื ตัวแปรสตริงรปู แบบการใช้ strlen(string variable); หรือ strlen(“string constant”);ชดุ กิจกรรมการเรียนรกู้ ารเขียนโปรแกรมภาษาคอมพวิ เตอร์ 31รายวชิ าภาษาซี ง30243 ชั้นมธั ยมศกึ ษาปีที่ 5
ชุดท5่ี เรือ่ ง ตัวแปรชดุ (Array)โดยท่ีstring variable และ string constant คือ ตัวแปรสตริง และคา่ คงท่สี ตริง ตามลาดบั ใช้ อย่างใดอยา่ งหน่ึงเช่น strlen(“computer”)เชน่ strlen(“computer”) หรือ char name[20]= “KANNIKAR” ; strlen(name); เปน็ ต้น ลักษณะของฟังกช์ ัน strlen( ) นี้เปน็ ฟงั กช์ ันที่มีการสง่ คา่ กลบั เป็นตัวเลขจานวน เต็ม (integer) มายงั ชื่อฟังก์ชนั ดงั นั้นจึงนยิ มกาหนดตัวแปร ชนดิ int ข้ึนมา 1 ตวั เพอื่ เก็บคา่ ความยาวของสตรงิ เอาไว้ เช่น int n; char s[80]= “BANGKOK, THAILAND” ; n=strlen(s); /* กาหนดคา่ ความยาวของสตรงิ ส่งกลับใหต้ ัวแปร n */ เพื่อความเข้าใจเก่ียวกับการทางานของฟังก์ชัน strlen( ) ได้ดีย่ิงข้ึนควร ศึกษาโปรแกรมตัวอย่างท่ี 5.5 ดงั ต่อไปนี้โปรแกรมตวั อยา่ งท่ี 5.5 แสดงการใช้ตัวแปรชุด 2 มติ ิ สาหรบั เกบ็ ช่อื จังหวดั แล้วนาข้อมูลมาโปรแกรมตวั อยา่ งที่ 5.5/* strlen.c */#include<stdio.h> /* บรรทดั ท่ี 1 */#include<conio.h> /* บรรทดั ที่ 2 */#include<string.h> /* บรรทดั ที่ 3 */void main(void) /* บรรทดั ที่ 4 */{ /* บรรทดั ท่ี 5 */int n; /* บรรทดั ท่ี 6 */char s[81]; /* บรรทดั ที่ 7 */clrscr( ); /* บรรทดั ที่ 8 */printf(\"Enter your string : \"); /* บรรทดั ท่ี 9 */gets(s); /* บรรทดั ที่ 10 */n = strlen(s); /* บรรทดั ท่ี 11 */printf(\"\nYour string is %s\n\", s); /* บรรทดั ท่ี 12 */printf(\"Length of string is %d\", n); /* บรรทดั ท่ี 13 */getch(); /* บรรทดั ที่ 14 */} /* บรรทดั ท่ี 15 */ชดุ กจิ กรรมการเรยี นรกู้ ารเขยี นโปรแกรมภาษาคอมพิวเตอร์ 32รายวชิ าภาษาซี ง30243 ช้นั มัธยมศึกษาปีที่ 5
ชุดท5ี่ เร่อื ง ตัวแปรชุด (Array) ผลลพั ธ์ท่ไี ดจ้ ากโปรแกรม Enter your string : Ratchaburi Your string is Ratchaburi Length of string is 10 คาอธบิ ายโปรแกรมจากโปรแกรมตัวอยา่ งท่ี 5.5 สามารถอธิบายการทางานของโปรแกรมท่สี าคญั ๆ ไดด้ งั น้ีบรรทัดท่ี 3 คาสั่ง #incluce <string.h> ในโปรแกรมตัวอย่างนใ้ี ห้การสนับสนุนฟังก์ชัน strlen( ) สาหรับหาความยาวของตวั แปรสตรงิ ในบรรทัดท่ี 11บรรทัดที่ 10 คาสง่ั gets(s); เป็นการรับข้อมลู สตริงไปเก็บไว้ในตวั แปรสตริง s ซึ่งตัวแปร สตรงิ s ไดป้ ระกาศไวใ้ นบรรทดั ท่ี 7บรรทัดท่ี 11 คาสั่ง n = strlen(s); เปน็ การกาหนดค่าความยาวของสตริง s ให้เก็บความยาวไวท้ ่ี ตวั แปร nบรรทัดที่ 12 ถึง 13 แสดงสตริงและความยาวของสตรงิ ที่หาได้ ออกแสดงทจ่ี อภาพบรรทัดที่ 14 หยุดรอรบั คา่ ใด ๆ จากคีย์บอร์ด ซึ่งถา้ เรากด enter กจ็ ะกลับสู่โปรแกรม ฟงั ก์ชนั strcmp( ) strcmp( ) เปน็ ฟังก์ชันท่ีใชเ้ ปรยี บเทยี บข้อมลู ชนิดสตริง 2 ค่า วา่ มคี า่ เทา่ กนั หรือมากกว่า หรอืน้อยกวา่ อย่างใดอย่างหน่งึ ซงึ่ การเปรียบเทยี บสตรงิ จะใชค้ า่ รหสั ASCII เปรียบเทยี บทลี ะตวั อักขระชุดกิจกรรมการเรยี นรกู้ ารเขยี นโปรแกรมภาษาคอมพิวเตอร์ 33รายวชิ าภาษาซี ง30243 ชั้นมัธยมศกึ ษาปีท่ี 5
ชดุ ท5ี่ เรื่อง ตัวแปรชุด (Array)รปู แบบการใช้ strcmp(str1var, str2var); หรือ strcmp(str1constant, str2constant);โดยที่ str1var, str2var คือตัวแปรสตรงิ ตวั ท่ี 1 และ 2 ตามลาดบั Str1constant, str2constant คอื ค่าคงทีส่ ตริงคา่ ที่ 1 และ 2 ตามลาดบั ผลการเปรยี บเทยี บระหวา่ ง str1constant, และ str2constant มีดงั นี้ถา้ str1constant > star2constant จะได้คา่ มากกวา่ ศูนย์ถา้ str1constant < star2constant จะไดค้ ่าน้อยกว่าศูนย์ถ้า str1constant = star2constant จะได้ค่าเทา่ กับศูนย์ โดยคา่ ท่ไี ด้จากการเปรียบเทียบน้เี ป็นตัวเลขจานวนเต็มจะถูกส่งกลบั มาเกบ็ ไวท้ ี่ชื่อฟังกช์ ัน strcmp( )เพื่อความเข้าใจเกี่ยวกับการทางานของฟังก์ชัน strcmp( ) ได้ดีย่ิงข้ึนควรศึกษาโปรแกรมตัวอย่างที่ 5.6 ดงั ตอ่ ไปนี้ชุดกจิ กรรมการเรียนรกู้ ารเขียนโปรแกรมภาษาคอมพิวเตอร์ 34รายวชิ าภาษาซี ง30243 ช้ันมัธยมศกึ ษาปีท่ี 5
ชดุ ท5่ี เรือ่ ง ตัวแปรชดุ (Array)โปรแกรมตวั อยา่ งท่ี 5.6 แสดงการใช้ฟังก์ชัน strcmp( ) เพอ่ื เปรยี บเทยี บข้อมูลชนิดสตรงิ 2 ค่า ซงึ่ มคี า่ มากกว่าหรอื น้อยกว่าอย่างใดอย่างหน่ึง/* strcmp.c */ /* บรรทดั ที่ 1 */#include<stdio.h> /* บรรทดั ที่ 2 */#include<conio.h> /* บรรทัดที่ 3 */#include<string.h> /* บรรทดั ที่ 4 */void main(void) /* บรรทดั ท่ี 5 */{ /* บรรทัดท่ี 6 */char str1[80], str2[80]; /* บรรทดั ที่ 7 */ /* บรรทดั ท่ี 8 */ clrscr(); /* บรรทัดที่ 9 */ printf(\"Enter string1: \"); /* บรรทดั ที่ 10 */ gets(str1); /* บรรทดั ที่ 11 */ printf(\"\nEnter string2: \"); gets(str2);if( strcmp(str1, str2) > 0 ) /* บรรทดั ที่ 12 */printf(\"\n%s is greater than %s (ASCII code)\", str1, str2); /* บรรทดั ท่ี 13 */else if( strcmp(str1,str2) == 0 ) /* บรรทดั ท่ี 14 */ printf(\"\n%s is equal to %s (ASCII code)\", str1, str2); /* บรรทดั ท่ี 15 */else /* บรรทดั ที่ 16 */ printf(\"\n%s is less than %s (ASCII code)\", str1, str2); /* บรรทัดที่ 17 */getch(); /* บรรทดั ท่ี 18 */} /* บรรทัดท่ี 19 */ชุดกิจกรรมการเรยี นรกู้ ารเขียนโปรแกรมภาษาคอมพิวเตอร์ 35รายวิชาภาษาซี ง30243 ช้นั มธั ยมศึกษาปที ี่ 5
ชดุ ท5่ี เร่ือง ตัวแปรชดุ (Array) ผลลัพธท์ ไี่ ดจ้ ากโปรแกรม Enter string1: Computer Enter string2: Science Computer is less than Science (ASCII code) Enter string1: Science Enter string2: Computer Science is greater than Computer (ASCII code) Enter string1: yes Enter string2: yes yes is equal to yes (ASCII code) คาอธิบายโปรแกรมจากโปรแกรมตัวอยา่ งที่ 5.6 สามารถอธบิ ายการทางานของโปรแกรมท่สี าคญั ๆ ได้ดงั น้ีบรรทัดที่ 3 คาส่งั #include <string.h> ในโปรแกรมตัวอยา่ งน้ี ให้การสนบั สนุน ฟงั กช์ นั strcmp( ) สาหรับเปรยี บเทยี บข้อมลู ชนิดสตริง 2 คา่บรรทดั ท่ี 12 เป็นการตรวจสอบค่า str1> str2 หรือไม่ โดยใชฟ้ ังก์ชนั strcmp( ) ในบรรทดั ท่ี 12 และ 14 (หรือค่าท่ีไดจ้ ากฟังกช์ นั strcmp( ) > 0 หรอื ไม่) ซง่ึ ถ้าใชก่ ใ็ หพ้ ิมพ์ ข้อความบอกบรรทดั ที่ 14 เปน็ การตรวจสอบคา่ str1 == str2 หรือไม่ โดยใชฟ้ งั กช์ นั strcmp( ) (หรือค่าที่ไดจ้ าก ฟงั ก์ชัน strcmp( ) == 0 หรือไม่) ซ่ึงถา้ ใชก่ ็ให้พิมพข์ ้อความบอกบรรทดั ท่ี 15 และ 17 ถ้าไมใ่ ชท่ ั้ง 2 กรณที ่กี ล่าวมาแสดงว่าคา่ สตรงิ ทตี่ รวจสอบน้ัน สตริงตัวแรกมี คา่ นอ้ ยกวา่ สตริงตวั ท่สี อง ก็ให้พมิ พข์ ้อความบอกบรรทดั ท่ี 15 หยดุ รอรบั ค่าใด ๆ จากคียบ์ อร์ด ซึง่ ถา้ เรากด enter กจ็ ะกลับสโู่ ปรแกรมขอ้ สงั เกต ฟงั กช์ ัน strcmp( ) จะเปรยี บเทียบสตริงดว้ ยค่ารหสั ASCII โดยเปรียบเทยี บทีละตัวอักขระชดุ กิจกรรมการเรยี นรกู้ ารเขยี นโปรแกรมภาษาคอมพวิ เตอร์ 36รายวชิ าภาษาซี ง30243 ชน้ั มัธยมศกึ ษาปีที่ 5
ชดุ ท5ี่ เร่อื ง ตัวแปรชดุ (Array) ฟงั กช์ นั strcpy( ) strcpy( ) เปน็ ฟังก์ชนั ท่ีใชค้ ดั ลอกข้อมูลจาก string ค่าหนง่ึ ไปยัง string อีกคา่ หนึ่งรปู แบบการใช้ strcpy(str2, str1);โดยท่ี str1 คือ คา่ คงท่สี ตริง หรอื ค่าตวั แปรสตริงท่ีต้องการคดั ลอก str2 คือ ตวั แปรสตริงท่ีใช้เกบ็ ค่าท่ีคดั ลอกมาจาก str1 เชน่ char s1[80], s2[80]; strcpy(s1,”Computer”); strcpy(s2,s1); เพอื่ ความเข้าใจเกยี่ วกับการทางานของฟังกช์ ัน strcpy( ) ได้ดยี งิ่ ขน้ึ ควรศึกษาโปรแกรมตวั อย่างที่ 5.7 ดังตอ่ ไปน้ีชุดกจิ กรรมการเรยี นรกู้ ารเขียนโปรแกรมภาษาคอมพวิ เตอร์ 37รายวชิ าภาษาซี ง30243 ชนั้ มธั ยมศกึ ษาปที ่ี 5
ชดุ ท5่ี เรอ่ื ง ตัวแปรชุด (Array)โปรแกรมตวั อยา่ งท่ี 5.7 แสดงการใช้ฟังกช์ ัน strcpy( ) เพือ่ คัดลอกข้อมลู จาก string คา่ หน่ึงไปยัง string อีกค่าหนงึ่/* strcpy.c */#include<stdio.h> /* บรรทดั ท่ี 1 */#include<conio.h> /* บรรทดั ท่ี 2 */#include<string.h> /* บรรทดั ที่ 3 */void main(void) /* บรรทดั ที่ 4 */{ /* บรรทดั ที่ 5 */char str1[80], str2[80]; /* บรรทัดท่ี 6 */clrscr(); /* บรรทัดท่ี 7 */strcpy(str1,\"Hello, Thailand\"); /* บรรทัดท่ี 8 */strcpy(str2,str1); /* บรรทัดท่ี 9 */printf(\"String1 = String2 = %s\",str2); /* บรรทัดท่ี 10 */getch(); /* บรรทัดที่ 11 */} /* บรรทดั ท่ี 12 */ ผลลพั ธ์ทไี่ ด้จากโปรแกรม String1 = String2 = Hello, Thailand คาอธิบายโปรแกรม 38 จากโปรแกรมตวั อยา่ งที่ 5.7 สามารถอธิบายการทางานของโปรแกรมทส่ี าคญั ๆ ไดด้ งั น้ี บรรทดั ท่ี 3 คาสั่ง #include <string.h> ในโปรแกรมตวั อยา่ งนี้ ใหก้ ารสนบั สนนุ ฟงั กช์ นั strcpy( ) สาหรับคัดลอกข้อมลู จาก string คา่ หนึง่ ไป string อกี คา่ หนึง่ ในบรรทัดที่ 8 และ 9 บรรทัดที่ 8 ฟังกช์ ัน strcpy( ) คัดลอกขอ้ ความคาว่า Hello, Thailand ไปเก็บไว้ในตัว แปร str1 บรรทดั ที่ 9 ฟังกช์ ัน strcpy( ) คัดลอกข้อความในตัวแปร str1 ไปเก็บไว้ในตวั แปร str2 บรรทัดที่ 10 แสดงข้อความท่ีเกบ็ ในตวั แปร str2 แสดงทจี่ อภาพ บรรทัดท่ี 11 หยดุ รอรับคา่ ใด ๆ จากคยี ์บอร์ด ซึ่งถา้ กด enter ก็จะกลบั สโู่ ปรแกรมชุดกิจกรรมการเรยี นรกู้ ารเขยี นโปรแกรมภาษาคอมพวิ เตอร์รายวิชาภาษาซี ง30243 ช้ันมัธยมศึกษาปที ี่ 5
ชุดท5่ี เรอ่ื ง ตัวแปรชดุ (Array) ฟงั กช์ ัน strcat( ) strcat( ) เป็นฟังก์ชันท่ีใช้เช่ือมค่าคงท่ีชนิดสตริง 2 ค่า เข้าด้วยกัน โดยผลลัพธ์จะเก็บเอาไว้ในตัวแปรสตรงิ ตวั แรกเสมอรปู แบบการใช้ strcat(str1,str2);โดยท่ี str1 คือ ตัวแปรสตรงิ ตวั ที่ 1 ใชเ้ กบ็ ผลลพั ธ์ของการเชื่อมสตรงิ ทง้ั 2 ตวั str2 คือ ตวั แปรสตริงตัวท่ี 2 หรอื คา่ คงทส่ี ตริงก็ได้ เพอื่ ความเข้าใจเก่ยี วกับการทางานของฟังก์ชัน strcat( ) ได้ดีย่ิงข้ึนควรศึกษาโปรแกรมตวั อย่างที่ 5.8 ดงั ต่อไปน้ีชดุ กจิ กรรมการเรียนรกู้ ารเขียนโปรแกรมภาษาคอมพิวเตอร์ 39รายวิชาภาษาซี ง30243 ชัน้ มธั ยมศกึ ษาปีที่ 5
ชุดท5่ี เรือ่ ง ตัวแปรชดุ (Array)โปรแกรมตวั อยา่ งท่ี 5.8 แสดงการใชฟ้ งั กช์ นั strcat( ) เพอื่ เชอ่ื มคา่ คงทสี่ ตริง 2 ค่าเขา้ ดว้ ยกนั/* strcat.c */#include<stdio.h> /* บรรทดั ท่ี 1 */#include<conio.h> /* บรรทดั ที่ 2 */#include<string.h> /* บรรทดั ท่ี 3 */void main(void) /* บรรทัดที่ 4 */{ /* บรรทัดท่ี 5 */char str1[80], str2[80]; /* บรรทัดท่ี 6 */clrscr(); /* บรรทดั ที่ 7 */strcpy(str1, \"Computer Programming Language 1\"); /* บรรทดั ที่ 8 */strcpy(str2, \" is your course... \"); /* บรรทัดที่ 9 */printf(\"%s\", strcat(str1, str2) ); /* บรรทดั ท่ี 10 */getch(); /* บรรทดั ที่ 11 */} /* บรรทดั ที่ 12 */ ผลลพั ธท์ ี่ไดจ้ ากโปรแกรม Computer Programming Language 1 is your course... คาอธิบายโปรแกรมจากโปรแกรมตัวอยา่ งท่ี 5.8 สามารถอธบิ ายการทางานของโปรแกรมท่ีสาคญั ๆ ไดด้ งั น้ีบรรทดั ที่ 3 คาสัง่ #include <string.h> ในโปรแกรมตวั อย่างนี้ ให้การสนบั สนนุ ฟังก์ชนั strcpy() และฟงั ก์ชัน strcat( ) สาหรับเช่อื มคา่ สตริง 2 ค่าเขา้ ดว้ ยกัน ในบ รรทัดท่ี 8, 9 และ 10บรรทัดที่ 8 ฟังกช์ นั strcpy( ) คดั ลอกข้อความคาว่า Computer Programming Language 1 ไปเก็บไวใ้ น ตวั แปร str1บรรทัดท่ี 9 ฟงั กช์ ัน strcpy( ) คดั ลอกข้อความคาว่า is your course... ไปเกบ็ ไวใ้ นตัวแปร str2บรรทัดท่ี 10 ใช้ฟังก์ชนั strcat( ) เพือ่ เชอ่ื มต่อคา่ คงทีช่ นิดสตริง ในตวั แปร str1 และ str2 เข้า ด้วยกันแล้วแสดงผลออกจอภาพดว้ ยฟังกช์ นั printf( )บรรทดั ท่ี 11 หยุดรอรบั คา่ ใด ๆ จากคยี บ์ อรด์ ซงึ่ ถา้ เรากด enter กจ็ ะกลบั สโู่ ปรแกรมชดุ กิจกรรมการเรียนรกู้ ารเขยี นโปรแกรมภาษาคอมพวิ เตอร์ 40รายวิชาภาษาซี ง30243 ชั้นมธั ยมศกึ ษาปที ี่ 5
ชุดท5่ี เรอื่ ง ตัวแปรชุด (Array)สรุปท้ายบท -- strlen( ) เปน็ ฟงั ก์ชนั ท่ใี ชน้ ับความยาวของค่าคงที่สตริง หรอื ตัวแปรสตรงิ - strcmp( ) เปน็ ฟังก์ชนั ทีใ่ ช้เปรียบเทียบข้อมลู ชนิดสตรงิ 2 ค่า ว่ามคี ่าเท่ากัน หรือมากกวา่หรือน้อยกวา่ อยา่ งใดอย่างหนึ่ง ซงึ่ การเปรยี บเทียบสตรงิ จะใช้คา่ รหัส ASCII เปรยี บเทยี บทลี ะตวั อักขระ - strcpy( ) เป็นฟังกช์ นั ทใ่ี ช้คดั ลอกขอ้ มลู จาก string ค่าหน่ึงไปยงั string อีกคา่ หน่ึง - strcat( ) เป็นฟงั ก์ชนั ทใ่ี ช้เชื่อมคา่ คงท่ชี นิดสตริง 2 ค่า เขา้ ดว้ ยกนั โดยผลลัพธ์จะเก็บเอาไว้ในตัวแปรสตริงตัวแรกเสมอชุดกจิ กรรมการเรยี นรกู้ ารเขยี นโปรแกรมภาษาคอมพิวเตอร์ 41รายวชิ าภาษาซี ง30243 ชั้นมัธยมศึกษาปีท่ี 5
ชุดท5่ี เรื่อง ตัวแปรชดุ (Array) บัตรกิจกรรมกำรเรยี นรทู้ ่ี 2 42 เรือ่ ง ค่ำคงท่สี ตริง ตัวแปรสตรงิ และฟงั ก์ชัน กาหนดให้ table เปน็ แถวลาดับสองมติ ิชนิด int ทีม่ ี 3 แถว 3 คอลมั นใ์ ห้นกั เรียนตอบคาถามต่อไปน้ี 1. ใหเ้ ขียนคาสงั่ ประกาศตวั แปรแถวลาดบั table ถ้าสมมตวิ ่ามีการกาหนดคา่ คงที่ SIZE เปน็ 3 ไว้ เรยี บรอ้ ยแล้ว ………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………… 2. แถวลาดบั table มีสมาชกิ ท้ังหมด ……………………………………………………………………………………….. ได้แก่ …………………………………………………………………………………………………………………………………. 3. เขียนคาส่งั โดยใช้คาส่ังวนซา้ for กาหนดค่าเรมิ่ ต้นให้กับสมาชกิ ของแถวลาดับ table ในขอ้ 1 ใหม้ ี ค่าเท่ากบั ผลบวกของดัชนขี องแถว และดัชนีของคอลัมน์ ………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………… 4. เขยี นคาสงั่ เพื่อหาผลบวกของสมาชิกบนแนวเสน้ ทะแยงมุมหลกั ทุกตัวของ table ………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………… 5. เขียนคาสง่ั พิมพค์ ่าสมาชกิ ทุกตัวของแถวลาดบั table ถ้ากาหนดคา่ เริ่มต้นใหด้ งั นี้ int table [SIZE] [SIZE] = { {1,8}, {2,4,6}, {5} }; ………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………… ………………………………………………………………………………………………………………………………………………… …………………………………………………………………………………………………………………………………………………ชุดกจิ กรรมการเรยี นรกู้ ารเขียนโปรแกรมภาษาคอมพวิ เตอร์รายวชิ าภาษาซี ง30243 ช้นั มธั ยมศึกษาปีที่ 5
ชุดท5ี่ เร่ือง ตัวแปรชุด (Array)แบบทดสอบหลังเรียนเรื่อง กำรพัฒนำโปรแกรมและกำรจำลองควำมคิดคาชแี้ จง1. แบบทดสอบเปน็ แบบปรนัย จานวน 10 ข้อ2. ใหน้ กั เรียนเลอื กคาตอบท่ถี ูกต้องท่ีสุดเพยี งคาตอบเดยี ว แลว้ ใส่เครอ่ื งหมายกากบาท (x) ลงในกระดาษคาตอบ1. กาหนด char b[4] = {‘1’, ‘2’, ‘3’, ‘4’}; ดงั นัน้ b เป็นตัวแปรประเภทใดก. ขอ้ ความ ข. ตวั อกั ขระค. จานวนจริง ง. จานวนเตม็2. กาหนด float b[2][3]; ตวั แปร b มจี านวนสมาชกิ เทา่ ใดก. 2 ข. 3ค. 5 ง. 63. ข้อใดเปน็ การประกาศตวั แปรอารเ์ รย์ 1 มิติท่ีถกู ต้องก. int c{7}; ข. int c[7];ค. int c{7} ง. int c[7]4. ข้อใดกล่าวถงึ ตัวแปรอารเ์ รย์ไดถ้ ูกต้องก. ตวั แปรเดียวเกบ็ ข้อมูลได้ชุดเดียว ข. ตัวแปรเดยี วเกบ็ ขอ้ มูลไดห้ ลายประเภทค. ตวั แปรเดียวเกบ็ ข้อมูลประเภทเดียวได้หลายชดุ ง. ถูกขอ้ ข และ ค5. ข้อใดกลา่ วถงึ ตวั แปรไดถ้ กู ตอ้ งก. ตวั ดาเนินการเปน็ ตวั แปรประเภทหน่ึงข. ประกาศตวั แปรเพ่ือจองพ้นื ทใี่ นการเก็บข้อมลูค. การสรา้ งตวั แปรข้อความเพ่ือเก็บข้อมูลประเภทข้อความง. ตวั แปรตวั อกั ขระท่ีมขี นาดตัวอกั ขระเท่ากับจานวนอักขระทงั้ หมดในข้อความ6. กาหนด float a[9] = 5; ดงั นน้ั a เป็นตวั แปรประเภทใดก. ข้อความ ข. ตวั อกั ขระค. จานวนจริง ง. จานวนเต็มชุดกจิ กรรมการเรียนรกู้ ารเขียนโปรแกรมภาษาคอมพิวเตอร์ 43รายวิชาภาษาซี ง30243 ชั้นมัธยมศกึ ษาปีที่ 5
ชุดท5ี่ เรอื่ ง ตัวแปรชดุ (Array)7. กาหนด int a[5] = {10, 11, 12, 13, 14}; a[1] มคี า่ เท่าใดก. 10 ข. 11ค. 12 ง. 138. กาหนด char c[5] = {‘A’, ‘1’, ‘B’, ‘2’, ‘0’}; ดงั น้นั c เปน็ ตวั แปรประเภทใดก. ขอ้ ความ ข. ตวั อักขระค. จานวนจริง ง. จานวนเตม็9. ข้อใดเป็นการประกาศตวั แปรอาร์เรย์ 2 มติ ิท่ีถูกต้องก. int a{8}{9}; ข. int a[8][9]ค. int a{8}{9} ง. int a[8][9];10. คาสง่ั ในข้อใดท่ไี ม่ได้ใชใ้ นการนาข้อมูลเขา้ ไปเก็บในตวั แปรอารเ์ รย์ก. for ข. gotoค. while ง. do-whileชดุ กิจกรรมการเรียนรกู้ ารเขยี นโปรแกรมภาษาคอมพวิ เตอร์ 44รายวชิ าภาษาซี ง30243 ชนั้ มัธยมศึกษาปีที่ 5
ชดุ ท5ี่ เรอ่ื ง ตัวแปรชุด (Array)กระดำษคำตอบเรือ่ ง ตัวแปรชุด (Array)ก่อนเรียน หลังเรียนชื่อ .................................................................................... ชน้ั ................ เลขที่ .............. ข้อที่ ก ข ค ง 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.ชดุ กิจกรรมการเรยี นรกู้ ารเขียนโปรแกรมภาษาคอมพิวเตอร์ 45รายวชิ าภาษาซี ง30243 ชน้ั มัธยมศึกษาปีท่ี 5
ชุดท5่ี เรอ่ื ง ตัวแปรชดุ (Array) บรรณำนุกรมกติ ติชยั ชีวาสขุ ถาวร. (2550). ภาษาซที ีละกา้ ว. กรุงเทพฯ : เคทพี ี คอมพ์ แอนด์ คอนซัลท์.กุลรพี ศิวาพรรักษ.์ (2557). เทคโนโลยีสารสนเทศและคอมพิวเตอร์ 4-6. กรงุ เทพฯ : สานกั พิมพเ์ อมพนั ธ.์ธรี วฒั น์ ประกอบผล. (2550). การเขียนโปรแกรมระบบปฏบิ ัติการเท็กโหมด(ด้วยภาษาซี). กรงุ เทพฯ : ซคั เซสมเี ดยี .นิรุธ อานวยศลิ ป์. (ม.ป.ป.). C Programming เขียนโปรแกรมภาษาซีฉบับสมบรู ณ.์ ม.ป.ท. : ดา่ นสทุ ธาการพมิ พ์พฒั พงษ์ อมรวงศ.์ (2554). การเขียนโปรแกรมภาษาซี. ปทมุ ธานี : มีเดยี อนิ เทลลิเจนซ์ เทคโนโลยี.มณั ฑนา ปราการสมทุ ร. (2534). การเขยี นชุดคาส่งั ภาษาซี. กรงุ เทพมหานคร : ดวงกมลสมัย.สถาบนั สง่ เสริมการสอนวิทยาศาสตร์และเทคโนโลยี กระทรวงศกึ ษาธกิ าร. (2551). ภาษาซี ช่วงช้ันท่ี 4 ชั้นมธั ยมศกึ ษาปที ่ี 4 - 6. กรุงเทพฯ : โรงพิมพค์ รุ สุ ภาลาดพร้าว.สมชาย รตั นเลศิ นสุ รณ์. (2545). การเขยี นโปรแกรมคอมพิวเตอรด์ ้วยภาษาซี. กรุงเทพฯ : สมาคมสง่ เสริมเทคโนโลยี (ไทย-ญี่ปุ่น)โอภาส เอี่ยมสิรวิ งศ.์ (2552). การเขียนโปรแกรมด้วยภาษาซี (Programming with C). กรงุ เทพมหานคร : ซีเอด็ .ชุดกจิ กรรมการเรยี นรกู้ ารเขยี นโปรแกรมภาษาคอมพิวเตอร์ 46รายวิชาภาษาซี ง30243 ชน้ั มัธยมศกึ ษาปที ่ี 5
ชุดท5ี่ เรอ่ื ง ตัวแปรชดุ (Array) ภาคผนวกชุดกิจกรรมการเรียนรกู้ ารเขียนโปรแกรมภาษาคอมพิวเตอร์ 47รายวิชาภาษาซี ง30243 ชน้ั มัธยมศึกษาปีที่ 5
ชุดท5่ี เรอื่ ง ตัวแปรชดุ (Array)แบบบนั ทกึ คะแนนระหว่ำงเรยี นเรือ่ ง ตวั แปรชดุ (Array)ชดุ กิจกรรมการเรียนรกู้ ารเขียนโปรแกรมภาษาคอมพิวเตอร์ 48รายวิชาภาษาซี ง30243 ชั้นมธั ยมศกึ ษาปีท่ี 5
ชดุ ท5ี่ เรอ่ื ง ตัวแปรชดุ (Array)เฉลยแบบทดสอบก่อนเรียนเรอ่ื ง ตวั แปรชุด (Array) ก่อนเรียน หลงั เรยี นช่อื .................................................................................... ชนั้ ................ เลขท่ี ...... ........ ขอ้ ท่ี ก ข ค ง 1. × 2. × 3. × 4. × 5. × 6. × 7. × 8. × 9. × 10. ×ชุดกิจกรรมการเรียนรกู้ ารเขียนโปรแกรมภาษาคอมพิวเตอร์ 49รายวิชาภาษาซี ง30243 ช้ันมัธยมศกึ ษาปที ี่ 5
Search