บทที่ 8 อาร์เรย์.

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
โครงสร้างโปรแกรมภาษา JAVA
Advertisements

Suphot Sawattiwong Array ใน C# Suphot Sawattiwong
Suphot Sawattiwong Function ใน C# Suphot Sawattiwong
สาขาวิชาคอมพิวเตอร์ คณะวิทยาศาสตร์และเทคโนโลยี
โดยอาจารย์ศิริพร ศักดิ์บุญญารัตน์ ครูชำนาญการ โรงเรียนมหิดลวิทยานุสรณ์
ตัวแปรชุด การเขียนโปรแกรมภาษาคอมพิวเตอร์ 1
ข้อมูลชนิดอาร์เรย์ Array (บทที่ 5)
BC322 ครั้งที่ 10 ตัวแปรชุด (Array)
Principles of Programming
Principles of Programming
Data Type part.II.
Lecture 11: อาร์เรย์แบบหลายมิติ
Lecture 10: อาร์เรย์หนึ่งมิติ
ทบทวน อาร์เรย์ (Array)
Array.
LAB # 5 Computer Programming 1 1.
LAB # 5.
ARRAY.
โจทย์ Array 12 มี.ค จงเขียนโปรแกรมเพื่ออ่านข้อมูลเข้าเป็นจำนวนเต็ม 10 จำนวน แล้วหาผลรวมของเลขเหล่านั้น.
อาเรย์ (Array).
การเขียนโปรแกรมภาษาจาวาตอนที่ ๓
ตัวแปรชุด.
ครั้งที่ 7 Composition.
Arrays.
Kairoek Choeychuen M.Eng (Electrical), KMUTT
บทที่ 6 ตัวแปรอาร์เรย์ (Array of Variable)
ARRAY ข้อมูลชนิดอาร์เรย์
การสืบทอด (Inheritance)
LOGO Array. ประเภทของ Array - อาเรย์ 1 มิติ (One) - อาเรย์ 2 มิติ (Two) - อาเรย์ 3 มิติ (Three) 2.
ข้อมูลชนิดอาร์เรย์ ประเภทของข้อมูลที่ผ่านมาส่วนใหญ่ในตอนต้นๆจะเป็นข้อมูลเดี่ยว โดยตัวแปรหนึ่งตัวสามารถเก็บข้อมูลได้หนึ่งตัว ถ้าหากต้องการเก็บข้อมูลหลายตัวจะต้องประกาศตัวแปรหลายตัว.
บทที่ 3 Class and Object (1) การสร้างและการใช้งานคลาส
คลาสและวัตถุ (2) (Class & Object)
บทที่ 1 หลักการเขียนโปรแกรมเชิงวัตถุ
คลาสและวัตถุ (3) (Class & Object). w5_000.rar การใช้งานเมธอดภายในคลาสเดียวกัน ข้อ 24, 25 as5_000.rar การใช้งานเมธอดภายในคลาสเดียวกัน ข้อ 23 2.
บทที่ 4 Method (1).
การสืบทอดคุณสมบัติ (Inheritance)
อาร์เรย์และข้อความสตริง
อาร์เรย์ ชื่อ น. ส. พิชชากานต์ ไชยชาญยุทธ์ เลขที่ 22 ชั้นสทส.1/1.
อาร์เรย์ (Array).
อาร์เรย์ (Array).
Inheritance การสืบทอดคลาส
ตัวแปร (Variable) คือ ชื่อที่ตั้งขึ้นเพื่อเก็บข้อมูลในหน่วยความจำ สามารถเก็บข้อมูลชนิดใดก็ ได้ ลักษณะที่สำคัญ ค่าที่จัดเก็บ เมื่อปิดโปรแกรมข้อมูลจะหายไป.
String Class มหาวิทยาลัยเนชั่น การโปรแกรมเชิงวัตถุด้วยภาษา JAVA
อาร์เรย์ หรือแถวลำดับ (Array)
Page: 1 การโปรแกรมเชิงวัตถุด้วยภาษา JAVA บุรินทร์ รุจจนพันธุ์.. ปรับปรุง 15 มิถุนายน 2550 Structure Programming มหาวิทยาลัยเนชั่น.
บทที่ 7 คำสั่งสำหรับเขียนโปรแกรม
บทที่ 6 เมธอด.
ตัวแปรในภาษา JavaScript
ฟังก์ชัน ง30212 การเขียนโปรแกรมด้วยภาษาคอมพิวเตอร์ ศูนย์คอมพิวเตอร์
แถวลำดับ (array) ง40202 การเขียนโปรแกรมด้วยภาษาคอมพิวเตอร์
บทที่ 5 ฟังก์ชันกับอาร์เรย์ Function & Array
ตัวแปรกับชนิดของข้อมูล
Method of Class อ.สุพจน์ สิงหัษฐิต
โปรแกรมประยุกต์อื่นๆ
ตัวแปรชุด Arrays.
CHAPTER 3 System Variables and Array
อาร์เรย์ (Arrays).
บทที่ 2 การแสดงผลและรับข้อมูล
Computer Programming การเขียนโปรแกรมคอมพิวเตอร์
บทที่ 4 คำสั่งควบคุมแบบมีทางเลือก
บทที่ 6 โครงสร้างข้อมูลเบื้องต้น
ตัวแปร Array แบบ 1 มิติ การเขียนโปรแกรมแบบวนซ้ำ
Java Programming Java Structure and Datatype,Variable
สายอักขระ เขียนโปรแกรม Java เบื้องต้น.
chapter5 - คลาสนามธรรม - อินเตอร์เฟสคลาส
TECH30201 Object-Oriented Programming
การกระทำทางคณิตศาสตร์
stack #1 ผู้สอน อาจารย์ ยืนยง กันทะเนตร
บทที่ 6 ตัวแปรชุดและ สตริง รายวิชา ง การเขียนโปรแกรมเชิง วัตถุ Reading: ใบความรู้ บทที่ 6.
Nested loop.
ใบสำเนางานนำเสนอ:

บทที่ 8 อาร์เรย์

ข้อมูลชนิดอาร์เรย์ จากการเขียนโปรแกรมที่ผ่านมา ตัวแปรหนึ่งตัวสามารถเก็บข้อมูลได้ 1 ค่า เช่น ถ้าต้องการเก็บข้อมูลคะแนนของนักศึกษาคนหนึ่งที่มีวิชาเรียนทั้งหมด 9 วิชา จะต้องประกาศตัวแปรจำนวน 9 ตัว ดังนี้ สามารถรวมกลุ่มข้อมูลประเภทเดียวกันได้ ---> ข้อมูลชนิดอาร์เรย์ String name; int x0, x1, x2, x3, x4, x5, x6, x7, x8;

ความหมายของอาร์เรย์ อาร์เรย์ (Array) เป็นการเก็บข้อมูลชนิดเดียวกันไว้ในตัวเองได้มากกว่า 1 ค่า มิติของอาร์เรย์ การเก็บข้อมูลแบบเป็นชุดๆ ในอาร์เรย์ มีมุมมองของการเก็บ หรือมิติ (dimension) ได้หลายรูปแบบ จากตัวอย่างเป็นการเก็บอาร์เรย์ 1 มิติ เราก็สามารถมีมิติของอาร์เรย์รูปเป็น 2 มิติ (เหมือนรูปแบบของตาราง) หรือ 3 มิติ (เหมือนรูปแบบของกล่อง) ชื่อตัวแปรชนิดอาร์เรย์ อินเด็กซ์หรือสับคริปต์ แต่ละอีลีเมนต์หรือเซลล์

ความหมายของอาร์เรย์ มิติของอาร์เรย์ ตัวแปรแบบ 3 มิติเก็บคล้ายๆ กับกล่องซ้อนๆ กัน อินเด็กซ์ ต้องเป็นข้อมูลประเภทจำนวนเต็มเท่านั้น เริ่มจาก 0 ถึง size-1

อินเด็กซ์ของอาร์เรย์ อินเด็กซ์ของอาร์เรย์ 1 มิติ อินเด็กซ์อาร์เรย์ 2 มิติ

การใช้งานอาร์เรย์หนึ่งมิติ การประกาศอาร์เรย์หนึ่งมิติ สามารถประกาศได้ 2 รูปแบบ คือ รูปแบบที่ 1 : ประกาศตัวแปรก่อนแล้วสร้างอาร์เรย์ รูปแบบที่ 2 ประกาศตัวแปรพร้อมกับสร้างอาร์เรย์ ชนิดของข้อมูล ชื่ออาร์เรย์ [ ] ; หรือ ชนิดของข้อมูล [ ] ชื่ออาร์เรย์; ชื่ออาร์เรย์ = new ชนิดของข้อมูล [ขนาดของอาร์เรย์] ; ชนิดของข้อมูล ชื่ออาร์เรย์ [ ] = new ชนิดของข้อมูล [ขนาดของอาร์เรย์] ; หรือ ชนิดของข้อมูล [ ] ชื่ออาร์เรย์ = new ชนิดของข้อมูล [ขนาดของอาร์เรย์] ;

การแทนค่าข้อมูลลงในอาร์เรย์ รูปแบบที่ 1 : แทนค่าข้อมูลลงในตำแหน่งของอาร์เรย์โดยตรง รูปแบบที่ 2 : แทนค่าข้อมูลลงในอาร์เรย์แต่ละตำแหน่งด้วยคำสั่งเดียว การเรียกใช้อาร์เรย์ ทดลองเขียนโปรแกรม ชื่ออาร์เรย์ [อินเด็กซ์] = ค่าของข้อมูล ชนิดของข้อมูล ชื่ออาร์เรย์ [] = {ค่าข้อมูล 1, ค่าข้อมูล 2, ค่าข้อมูล 3,....., ค่าข้อมูล n }; ชื่ออาร์เรย์ [อินเด็กซ์];

โปรแกรม1 num[0] = 0 num[0] + num[1] = 1 num[2] + num[3] = 5 public class test_array1 { public static void main(String[] args) { int num[]; num = new int[4]; num[1] = 1; num[2] = 2; num[3] = 3; System.out.println("num[0] = "+num[0]); System.out.println("num[0] + num[1] = "+(num[0] + num[1])); System.out.println("num[2] + num[3] = "+(num[2] + num[3])); System.out.println("num[1+2] = "+(num[1+2])); System.out.println("num[2]+2 = "+(num[2]+2)); } int num[] = new int[4]; num[0] = 0 num[0] + num[1] = 1 num[2] + num[3] = 5 num[1+2] = 3 num[2]+2 = 4

โปรแกรม 2 ประกาศและกำหนดค่า public class test_array2 { public static void main(String[] args) { int num[] = {0,1,2,3}; System.out.println("num[0] = "+num[0]); System.out.println("num[0] + num[1] = "+(num[0] + num[1])); System.out.println("num[2] + num[3] = "+(num[2] + num[3])); System.out.println("num[1+2] = "+(num[1+2])); System.out.println("num[2]+2 = "+(num[2]+2)); } ประกาศและกำหนดค่า

อาร์เรย์ 2 มิติ ตัวแปรอาร์เรย์ที่เก็บข้อมูลได้มากกว่าหนึ่งแถว โดยถ้าเป็นตัวแปรอาร์เรย์ที่เก็บข้อมูลได้ 2 ชั้น จะเรียกว่าตัวแปรอาร์เรย์ 2 มิติ ซึ่งสามารถเปรียบเทียบได้กับตารางที่มีทั้งแถว และคอลัมน์ โดยเริ่มนับหัวแถวและหัวคอลัมน์เริ่มจาก 0

อาร์เรย์ 2 มิติ รูปแบบการประกาศอาร์เรย์ 2 มิติ การแทนค่าข้อมูลลงในตำแหน่งของอาร์เรย์โดยตรง แทนค่าข้อมูลทุกค่าลงในอาร์เรย์แต่ละตำแหน่งด้วยคำสั่งเดียว ชนิดของข้อมูล ชื่ออาร์เรย์ [ ][ ] = new ชนิดของข้อมูล [จำนวนแถว][จำนวนคอลัมน์] ; ชื่ออาร์เรย์ [ตำแหน่งของแถว][ตำแหน่งของคอลัมน์] = ค่าของข้อมูล ; ชนิดของข้อมูล ชื่ออาร์เรย์ [][]= {{ค่าข้อมูล[0][0], ค่าข้อมูล [0][1], ....., ค่าข้อมูล [0][j] }, {ค่าข้อมูล[1][0], ค่าข้อมูล [1][1], ....., ค่าข้อมูล [1][j] }, ….. {ค่าข้อมูล[i][0], ค่าข้อมูล [i][1], ....., ค่าข้อมูล [i][j] }, };

อาร์เรย์ 2 มิติ การเรียกใช้อาร์เรย์ 2 มิติ รูปแบบการเรียกใช้อาร์เรย์ การเรียกใช้อาร์เรย์ 2 มิติ รูปแบบการเรียกใช้อาร์เรย์ ทดลองเขียนโปรแกรม ชื่ออาร์เรย์ [ตำแหน่งของแถว][ตำแหน่งของคอลัมน์] ;

โปรแกรม 3 1 0 0 0 1 0 0 0 1 public class test_array3 { public static void main(String[] args) { int num[][] = {{1,0,0},{0,1,0},{0,0,1}}; for(int i=0;i<3;i++) { for(int j=0;j<3;j++) System.out.print(num[i][j]+"\t"); System.out.println(); } 1 0 0 0 1 0 0 0 1

โปรแกรม 4 จงเขียนโปรแกรมเพื่อรับค่าคะแนน ซึ่งประกอบด้วย score1 score2 และ score3 ของนักศึกษาจำนวน 5 คน จากแป้นพิมพ์ แล้วแสดงผลลัพธ์ดังต่อไปนี้ออกทางจอภาพ หมายเหตุ total คือผลรวมของ score1 score2 และ score3 student score1 score2 score3 total 1 … 2 3 4 5

import java.util.Scanner; public class test_array4 { public static void main(String[] args) { Scanner input = new Scanner(System.in); int score[][] = new int[5][3]; int total_row []= new int[5]; int sum=0; // Input Score from user for(int i=0;i<5;i++) { System.out.println("Enter score of student_"+(i+1)); for(int j=0;j<3;j++) { System.out.print("Enter score "+j+":"); score[i][j] =input.nextInt(); sum+=score[i][j]; } total_row[i]=sum; sum=0; // Show table of Score System.out.println("\nstudent\tscore1\tscore2\tscore3\total"); { System.out.print(" "+(i+1)+" \t"); System.out.print(" "+score[i][j]+" \t"); System.out.print(" "+total_row[i]+" \t"); System.out.println(); } }

import java.util.Scanner; public class test_array4 { public static void main(String[] args) { Scanner input = new Scanner(System.in); int score[][] = new int[5][3]; int total_row []= new int[5]; int sum=0; // Input Score from user for(int i=0;i<5;i++) { System.out.println("Enter score of student_"+(i+1)); for(int j=0;j<3;j++) { System.out.print("Enter score "+j+":"); score[i][j] =input.nextInt(); sum+=score[i][j]; } total_row[i]=sum; sum=0;

ก่อนจบบท ในบทนี้เราได้เรียนรู้การใช้งานอาร์เรย์ ซึ่งเป็นตัวแปรที่สามารถเก็บข้อมูลได้เป็นชุด ซึ่งแตกต่างจากเดิมที่ตัวแปรหนึ่งตัวเก็บค่าได้ค่าเดียว โดยข้อมูลในอาร์เรย์จะต้องเป็นชนิดเดียวกัน ในการจัดการอาร์เรย์นั้นเราต้องทราบว่าอาร์เรย์นั้นเป็น 1 มิติ, 2 มิติ หรือหลายมิติ รวมทั้งมีขนาดเท่าใด และเราจะใช้อินเด็กซ์เพื่อเข้าถึงสมาชิกแต่ตัวของอาร์เรย์ โดยมีการใช้ for statement มาช่วยในการเข้าถึงสมาชิกของอาร์เรย์