ตัวแปร Array แบบ 1 มิติ การเขียนโปรแกรมแบบวนซ้ำ บทที่ 4 ตัวแปร Array แบบ 1 มิติ การเขียนโปรแกรมแบบวนซ้ำ
ตัวแปร array คือ กลุ่มของข้อมูลที่มีชนิดข้อมูลประเภทเดียวกัน เช่น int a[] คือ อาร์เรย์ที่ประกอบด้วยข้อมูลที่มีชนิดข้อมูลเป็นประเภท ตัวเลขจำนวนเต็ม char b[] คือ อาร์เรย์ที่ประกอบด้วยข้อมูลที่มีชนิดข้อมูลเป็นประเภท อักขระ
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[]
เก็บข้อมูลข้อความ “สมชาย” “สมหญิง” “สมศรี” “33” “88” s[] ตัวอย่าง array 1 มิติ เก็บข้อมูลข้อความ “สมชาย” “สมหญิง” “สมศรี” “33” “88” s[]
การสร้าง array วิธีที่ 1
การสร้าง array วิธีที่ 1 ตัวอย่าง 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.length คำสั่ง ชื่อตัวแปร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 คน จากนั้นแสดงผลข้อมูล
โครงสร้างควบคุม (Control Structure) การควบคุมโปรแกรมให้ทำงานได้ตามต้องการ เราจำเป็นต้องมีความเข้าใจเกี่ยวกับโครงสร้างควบคุมของการเขียนภาษาโปรแกรม ประกอบด้วย ลำดับการทำงาน (Sequence) ทางเลือก,ตัดสินใจ (Decision) การวนซ้ำ (Iteration)
โครงสร้างควบคุม (Control Structure)
การเขียนโปรแกรมแบบ วนซ้ำ คำสั่ง for คำสั่ง while คำสั่ง do..while
เปลี่ยนแปลงค่าตัวแปร คำสั่ง for start กำหนดค่าเริ่มต้น เงื่อนไข เท็จ เปลี่ยนแปลงค่าตัวแปร จริง คำสั่งต่าง ๆ คำสั่งถัดไป End
โจทย์ : ให้แสดงข้อมูล 1,2,3,.. ,100 i++ int i=1 เท็จ จริง Print i โจทย์ : ให้แสดงข้อมูล 1,2,3,.. ,100 start int i=1 i<=100 เท็จ i++ จริง Print i End
การเขียนโปรแกรม คำสั่ง for รูปแบบ for(ค่าตัวแปรเริ่มต้น;เงื่อนไข; เปลี่ยนแปลงค่าตัวแปร){ คำสั่ง…. } **ถ้าภายในคำสั่ง for มีแค่ 1 คำสั่งไม่ต้องใส่ปีกกา
โจทย์ ข้อ 1 : ให้แสดงข้อมูล 1,2,3,.. ,100 โจทย์ ข้อ 1 : ให้แสดงข้อมูล 1,2,3,.. ,100
โจทย์ ข้อ 2 : ให้แสดงข้อมูล 100,99,98,….1 โจทย์ ข้อ 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 โจทย์สำหรับนักศึกษา ข้อ 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 คน จากนั้นแสดงผลข้อมูล ข้อ 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 ข้อแล้ว สิ่งที่ต้องส่งคือใช้โจทย์ 6 ข้อ เขียน flowchart การทำงานของโปรแกรม เขียนลงในกระดาษ
i++ int i=0 ตัวอย่าง จากเลข 1-100 ให้แสดงเฉพาะเลขจำนวนคู่ เท็จ จริง start int i=0 จากเลข 1-100 ให้แสดงเฉพาะเลขจำนวนคู่ i<=100 เท็จ จริง i%2= =0 เท็จ i++ End จริง Print ixx