410 likes | 619 Views
บทที่ 4. ตัวแปร Array แบบ 1 มิติ การเขียนโปรแกรมแบบวนซ้ำ. ตัวแปร array คือ. กลุ่มของข้อมูลที่มีชนิดข้อมูลประเภทเดียวกัน เช่น int a[] คือ อาร์เรย์ที่ประกอบด้วยข้อมูลที่มีชนิดข้อมูลเป็นประเภท ตัวเลขจำนวนเต็ม
E N D
บทที่ 4 ตัวแปร Array แบบ 1 มิติ การเขียนโปรแกรมแบบวนซ้ำ
ตัวแปร array คือ กลุ่มของข้อมูลที่มีชนิดข้อมูลประเภทเดียวกัน เช่น int a[] คือ อาร์เรย์ที่ประกอบด้วยข้อมูลที่มีชนิดข้อมูลเป็นประเภท ตัวเลขจำนวนเต็ม char b[] คือ อาร์เรย์ที่ประกอบด้วยข้อมูลที่มีชนิดข้อมูลเป็นประเภท อักขระ
ตัวแปร Array • Array 1 มิติ(ที่เราจะศึกษา) • Array 2 มิติ • Array n มิติ
ตัวแปร Array 1 มิติ คือกลุ่มข้อมูลที่มีชนิดข้อมูลประเภทเดียวกัน เช่น 4 10 20 30 40 99 100 เป็นข้อมูลชนิดตัวเลขจำนวนเต็ม เหมือนกัน โดยเก็บลงในตัวแปรแค่ 1 ตัว คือตัวแปรอาร์เรย์ประเภท int 4 10 20 30 40 99 100 x[]
ตัวอย่าง array 1 มิติเก็บข้อมูลตัวเลข(int) 4 10 20 30 99 100 x[] x[0] 4 x[0] 10 x[1] 20 x[2] x[3] 30 x[4] 99 x[5] 100 x[n-1]
ตัวอย่าง array 1 มิติ เก็บข้อมูลอักขระ(char) ‘a’ ‘c’ ‘d’ ‘e’ y[] เก็บข้อมูลตัวเลขทศนิยม(double) 3.50 4.44 5.66 7.33 z[]
ตัวอย่าง array 1 มิติ เก็บข้อมูลข้อความ “สมชาย” “สมหญิง” “สมศรี” “33” “88” s[]
การสร้าง array วิธีที่ 1 • 1. ประกาศตัวแปร array
การสร้าง array วิธีที่ 1 2 กำหนดค่าให้กับ array แต่ละตำแหน่ง ตัวอย่าง char ch[]=new char[5]; ch[0]=‘a’; ch[1]=‘b’; ch[2]=‘c’; ch[3]=‘d’; ch[4]=‘e’;
การสร้าง array วิธีที่ 2 • 1. ประกาศตัวแปร array พร้อมกับกำหนดค่าให้กับ array int x[]={4,9,10,33,45,88}; ตัวอย่างการแสดงข้อมูล System.out.println(x[0]); System.out.println(x[1]); System.out.println(x[2]); System.out.println(x[3]); System.out.println(x[4]); System.out.println(x[5]);
ตัวอย่างการแสดงข้อมูลตัวอย่างการแสดงข้อมูล int x[]={4,9,10,33,45,88} System.out.println(x[0]); System.out.println(x[1]); System.out.println(x[2]); System.out.println(x[3]); System.out.println(x[4]); System.out.println(x[5]);
การหาขนาดของ array • คำสั่ง ชื่อตัวแปรarray.length
ตัวอย่าง การสร้าง array ชนิดต่าง ๆ double a[]=new double[5]; char b[]=new char[6]; String c[]=new String[7]; เป็นต้น
ฝึกเขียนโปรแกรมกับตัวแปรชนิด array ข้อ 1 ให้เขียนโปรแกรมกำหนดค่าคะแนนให้กับนักเรียนจำนวน 3 คน จากนั้นแสดงผลข้อมูล ข้อ 2 ให้เขียนโปรแกรมรับค่าคะแนนจากนักเรียน 3 คน จากนั้นแสดงผลข้อมูล ข้อ 3 ให้เขียนโปรแกรมรับค่าชื่อนักเรียน 3 คน จากนั้นแสดงผลข้อมูล ข้อ 4 ให้เขียนโปรแกรมรับค่าชื่อนักเรียน ,ผลคะแนนสอบ(คะแนนเต็ม 100) จากนั้นแสดงผลข้อมูล
ข้อ 1 : ให้เขียนโปรแกรมกำหนดค่าคะแนนให้กับนักเรียนจำนวน 3 คนจากนั้นแสดงผลข้อมูล
ข้อ 2 ให้เขียนโปรแกรมรับค่าคะแนนจากนักเรียน 3 คน จากนั้นแสดงผลข้อมูล
ข้อ 3: ให้เขียนโปรแกรมรับค่าชื่อนักเรียน 3 คน จากนั้นแสดงผลข้อมูล
ข้อ 4 ให้เขียนโปรแกรมรับค่าชื่อนักเรียน ,ผลคะแนนสอบ(คะแนนเต็ม 100) จากนั้นแสดงผลข้อมูล
โครงสร้างควบคุม (Control Structure) • การควบคุมโปรแกรมให้ทำงานได้ตามต้องการ เราจำเป็นต้องมีความเข้าใจเกี่ยวกับโครงสร้างควบคุมของการเขียนภาษาโปรแกรม ประกอบด้วย • ลำดับการทำงาน(Sequence) • ทางเลือก,ตัดสินใจ (Decision) • การวนซ้ำ (Iteration)
โครงสร้างควบคุม (Control Structure)
หลักการเขียนโปรแกรมโครงสร้างแบบวนรอบหลักการเขียนโปรแกรมโครงสร้างแบบวนรอบ ในการทำงานบางอย่างบางครั งต้องเจอปัญหาที่ทำให้ซ้ำซาก และต้องทำงาน ซ้ำ กันเช่นเดียวกับการเขียนโปรแกรมคอมพิวเตอร์ บางกรณีอาจจะต้องพบกับ ปัญหาที่จะต้องทำในลักษณะเดียวกันหรือซ ำกัน ซึ!งเม!ือพิจารณาแล้วน่าจะเอาส่วน ท!ีทำงานไปแล้วกลับมาทำงานใหม่ เพ!ือเป็นการประหยัดเนื อท!ีในการเขียน โปรแกรม การกระทำซ ำหรือการวนรอบ มีอยู่ 3 ประเภท คือ • 1. การวนรอบแบบตรวจสอบเง!ือนไขก่อนการทำงาน • 2. การวนรอบแบบตรวจสอบเงื!อนไขหลังการทำงาน • 3. การวนรอบแบบกำหนดค่าเริ!มต้นและค่าสิ นสุด
การเขียนโปรแกรมแบบ วนซ้ำ • คำสั่ง for • คำสั่ง while • คำสั่ง do..while
คำสั่ง for start กำหนดค่าเริ่มต้น เงื่อนไข เท็จ เปลี่ยนแปลงค่าตัวแปร จริง คำสั่งต่าง ๆ คำสั่งถัดไป End
โจทย์ : ให้แสดงข้อมูล 1,2,3,.. ,100 start inti=1 i<=100 เท็จ i++ จริง Print i End
การเขียนโปรแกรม คำสั่ง for • รูปแบบ for(ค่าตัวแปรเริ่มต้น;เงื่อนไข;เปลี่ยนแปลงค่าตัวแปร){ คำสั่ง…. } **ถ้าภายในคำสั่ง for มีแค่ 1 คำสั่งไม่ต้องใส่ปีกกา
โจทย์ ข้อ 1 : ให้แสดงข้อมูล 1,2,3,.. ,100
โจทย์ ข้อ 2 : ให้แสดงข้อมูล 100,99,98,….1
โจทย์ข้อ 3 กำหนดตัวแปร array x ข้อมูลดังนี้ {‘a’, ‘b’ , ‘c’ , ‘d’ , ‘e’ , ‘f’} ให้เขียนคำสั่งแสดงข้อมูลของ x โดยใช้คำสั่ง for ร่วมด้วย
โจทย์สำหรับนักศึกษา ข้อ 1 แสดงคำว่า Get 1 Get 3, Get 5 ,Get 7…. จนกระทั่ง Get 99 ข้อ 2 จากเลข 1-100 ให้แสดงเฉพาะเลข จำนวนคู่
ฝึกเขียนโปรแกรมกับตัวแปรชนิด array ,การใช้ for กับ array 1 มิติ ข้อ 4 ให้เขียนโปรแกรมรับค่าคะแนนจากนักเรียน 5 คน จากนั้นให้ แสดงผลข้อมูลทั้งหมด ข้อ 5 ให้เขียนโปรแกรมรับค่าชื่อนักเรียน 5 คน จากนั้นแสดงผลข้อมูล ข้อ 6ให้เขียนโปรแกรมรับค่าชื่อนักศึกษา และคะแนนจากนักเรียน 5 คน จากนั้นให้ แสดงผลข้อมูลทั้งหมด
ฝึกเขียนโปรแกรมกับตัวแปรชนิด array ,การใช้ for กับ array 1 มิติ ข้อ 7 (รับข้อมูลนักศึกษา 6 คน) ให้รับข้อมูล ชื่อ และคะแนนสอบ (1-100) จากนั้นจากข้อมูล ชื่อ คะแนนสอบ และผลสอบ โดยผลสอบมีเกณฑ์ดังนี้ 1-50 สอบไม่ผ่าน 51-100 สอบผ่าน
การใช้ for กับ array 1 มิติ ข้อ 8ให้เขียนโปรแกรมรับค่าคะแนนจากนักเรียน 5 คน จากนั้นให้ แสดงผลข้อมูลทั้งหมดและหาค่าคะแนนที่มากที่สุด
ข้อ 4 ให้เขียนโปรแกรมรับค่าคะแนนจากนักเรียน 5 คน จากนั้นให้แสดงผลข้อมูลทั้งหมด
ข้อ 5 ให้เขียนโปรแกรมรับค่าชื่อนักเรียน 5 คน จากนั้นแสดงผลข้อมูล
ข้อ 8 ให้เขียนโปรแกรมรับค่าคะแนนจากนักเรียน 5 คน จากนั้นให้แสดงผลข้อมูล ทั้งหมดและหาค่าคะแนนที่มากที่สุด
โจทย์สำหรับนักศึกษา ข้อ 3 ให้รับข้อมูลตัวเลข 4 จำนวน(เก็บค่าข้อมูลลงในตัวแปร array) จากนั้นแสดงผลข้อมูลเฉพาะเลขคี่ ข้อ 4ให้รับข้อมูลตัวเลข 4 จำนวน (เก็บค่าข้อมูลลงในตัวแปร array) จากนั้นให้แสดงค่าผลรวม และค่าเฉลี่ย ข้อ 5ให้เขียนโปรแกรมรับค่าคะแนนจากนักเรียน 9 คน จากนั้นให้ แสดงผลข้อมูลทั้งหมด ,หาค่าคะแนนที่น้อยที่สุด และหาค่าคะแนนที่มากที่สุด
โจทย์สำหรับนักศึกษา ข้อ 6 ให้เขียนโปรแกรมรับค่าชื่อนักเรียน ,ผลคะแนนสอบ(คะแนนเต็ม 100) จากนั้นแสดงผลข้อมูลชื่อนักเรียน ผลคะแนน และผลเกรด โดยผลเกรดพิจารณาดังนี้ คะแนน 80-100 เกรด A คะแนน 70-79 เกรด B คะแนน 60-69 เกรด C คะแนน 50-59 เกรด D คะแนนต่ำกว่า 50 เกรด E
การบ้าน • นอกจาก เขียนโปรแกรมโดยใช้โจทย์สำหรับนักศึกษา 6 ข้อแล้ว • สิ่งที่ต้องส่งคือใช้โจทย์ 6 ข้อ เขียน flowchart การทำงานของโปรแกรม เขียนลงในกระดาษ
ตัวอย่าง start inti=0 • จากเลข 1-100 ให้แสดงเฉพาะเลขจำนวนคู่ i<=100 เท็จ จริง i%2= =0 เท็จ i++ End จริง Print ixx