ใช้คำสั่ง For , และการสร้างตัวแปร Array 1 มิติ

Download Report

Transcript ใช้คำสั่ง For , และการสร้างตัวแปร Array 1 มิติ

บทที่ 4
ตั ว แปร ARRAY แบบ 1 มิ ติ
การเขี ย นโปรแกรมแบบวนซ้า
ตัวแปร array คือ
กลุ่มของข้อมูลที่มีชนิดข้อมูลประเภทเดียวกัน
เช่น
int a[] คือ อาร์เรย์ที่ประกอบด้วยข้อมูลที่มีชนิด
ข้อมูลเป็ นประเภท ตัวเลขจานวนเต็ม
char b[] คือ อาร์เรย์ที่ประกอบด้วยข้อมูลที่มี
ชนิดข้อมูลเป็ นประเภท อักขระ
ตัวแปร Array
1.
2.
3.
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
x[0]
4
x[1]
10
x[2]
20
x[3]
30
x[4]
99
x[5] 100
100
x[]

x[0]
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)
20
 การควบคุมโปรแกรมให้ทางานได้ตามต้องการ เราจาเป็ นต้องมี
ความเข้าใจเกี่ยวกับโครงสร้างควบคุมของการเขียนภาษาโปรแกรม
ประกอบด้วย
ลาดับการทางาน (Sequence)
ทางเลือก,ตัดสิ นใจ (Decision)
การวนซ้ า (Iteration)
โครงสร้างควบคุม (Control Structure)
หลักการเขียนโปรแกรมโครงสร้ างแบบวนรอบ
ในการทางานบางอย่างบางครั งต้องเจอปั ญหาที่ทาให้ซ้ าซาก และต้องทางาน
ซ้ า กันเช่นเดียวกับการเขียนโปรแกรมคอมพิวเตอร์ บางกรณี อาจจะต้องพบกับ
ปั ญหาที่จะต้องทาในลักษณะเดียวกันหรื อซ ำากัน ซึ !งเม!ำือพิจารณาแล้วน่าจะเอาส่ วน
ท!ำที างานไปแล้วกลับมาทางานใหม่ เพ!ำือเป็ นการประหยัดเนื อท!ำใี นการเขียน
โปรแกรม การกระทาซ ำาหรื อการวนรอบ มีอยู่ 3 ประเภท คือ
 1. การวนรอบแบบตรวจสอบเง!ำือนไขก่อนการทางาน
 2. การวนรอบแบบตรวจสอบเงื!อนไขหลังการทางาน
 3. การวนรอบแบบกาหนดค่าเริ !มต้นและค่าสิ นสุ ด
การเขียนโปรแกรมแบบ วนซ ้า
คาสัง่ for
คาสัง่ while
คาสัง่ do..while
คาสัง่ for
start
กาหนดค่ าเริ่มต้ น
เงือ่ นไข
เปลีย่ นแปลงค่ าตัวแปร
เท็จ
จริ ง
คาสั่งต่าง ๆ
คาสัง่ ถัดไป
End
โจทย์ : ให้แสดงข้อมูล 1,2,3,.. ,100
start
int i=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 คน
จากนั้นให้แสดงผลข้อมูล
ทั้งหมดและหาค่าคะแนนที่มากที่สุด
ข้อ 7
โจทย์สาหรับนักศึกษา
ข้อ 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
ตัวอย่าง
int
i=0
 จากเลข 1-100 ให้แสดงเฉพาะเลขจานวนคู่
i<=100
จริ ง
i++
เท็จ
เท็จ
i%2= =0
End
จริ ง
Print
ixx