ทบทวน อาร์เรย์ (Array)

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
Pointers. Why have pointers? / pointers ทำให้ฟังก์ชันหรือส่วนของ โปรแกรมสามารถใช้งานข้อมูลร่วมกันได้ / ใช้ pointers ในการสร้างโครงสร้างข้อมูลที่ ซับซ้อนได้
Advertisements

Arrays.
สาขาวิชาคอมพิวเตอร์ คณะวิทยาศาสตร์และเทคโนโลยี
ตัวแปรประเภทตัวชี้ (Pointer)
โดยอาจารย์ศิริพร ศักดิ์บุญญารัตน์ ครูชำนาญการ โรงเรียนมหิดลวิทยานุสรณ์
ตัวแปรชุด การเขียนโปรแกรมภาษาคอมพิวเตอร์ 1
ข้อมูลชนิดอาร์เรย์ Array (บทที่ 5)
บทที่ 7 รีเคอร์ซีฟ ระหว่างการออกแบบเขียนโปรแกรมแบบบนลงล่าง (Top-down Design) จะมีงานย่อย(Subtask) เพื่อแก้ปัญหาในแต่ละเรื่อง และผู้เขียนโปรแกรมต้องการใช้งานย่อยในลักษณะที่เรียกตัวเองขึ้นมาทำงาน.
BC322 ครั้งที่ 10 ตัวแปรชุด (Array)
Introduction to C Programming
คำสั่ง while และ คำสั่ง do..while
Control Statement for while do-while.
ตัวแปรชุด (Array) Chapter Introduction to Programming
Principles of Programming
Principles of Programming
ตัวแปรชนิดโครงสร้าง (Structure)
Data Type part.II.
Data Type part.III.
Lecture 11: อาร์เรย์แบบหลายมิติ
Lecture 10: อาร์เรย์หนึ่งมิติ
Structure Programming
Array.
Structure.
ARRAY.
Week 6 ประกาศค่าตัวแปร.
Visual Basic 6 By Samaporn Yendee VB6.
รับและแสดงผลข้อมูล.
อาเรย์ (Array).
ตัวแปรชุด.
การประกาศตัวแปร “ตัวแปร” คือสิ่งที่เราสร้างขึ้นมาเพื่อใช้เก็บค่าต่างๆและอ้างอิงใช้งานภายในโปรแกรม ตามที่เรากำหนดขึ้น การสร้างตัวแปรขึ้นมาเราเรียกว่า.
Arrays.
Arrays.
บทที่ 12 Structure and union Kairoek choeychuen
Kairoek Choeychuen M.Eng (Electrical), KMUTT
บทที่ 6 ตัวแปรอาร์เรย์ (Array of Variable)
ARRAY ข้อมูลชนิดอาร์เรย์
2.5 ตัวแปรชุดมิติเดียวและตัวแปรชุดสองมิติ
ข้อมูลชนิดอาร์เรย์ ประเภทของข้อมูลที่ผ่านมาส่วนใหญ่ในตอนต้นๆจะเป็นข้อมูลเดี่ยว โดยตัวแปรหนึ่งตัวสามารถเก็บข้อมูลได้หนึ่งตัว ถ้าหากต้องการเก็บข้อมูลหลายตัวจะต้องประกาศตัวแปรหลายตัว.
บทที่ 11 การเขียนโปรแกรมภาษาซี
ข้อมูลพื้นฐานและตัวดำเนินการ
อาร์เรย์และข้อความสตริง
ตัวแปร (variable) ตัวแปร เป็นชื่อที่เราตั้งขึ้น เพื่อให้คอมพิวเตอร์เตรียมที่ใน หน่วยความจำไว้สำหรับเก็บข้อมูลที่นำไปประมวลผล การตั้งชื่อตัวแปร ชื่อตัวแปรในภาษา.
อาร์เรย์ ชื่อ น. ส. พิชชากานต์ ไชยชาญยุทธ์ เลขที่ 22 ชั้นสทส.1/1.
อาร์เรย์ (Array).
อาร์เรย์ (Array).
ตัวแปร (Variable) คือ ชื่อที่ตั้งขึ้นเพื่อเก็บข้อมูลในหน่วยความจำ สามารถเก็บข้อมูลชนิดใดก็ ได้ ลักษณะที่สำคัญ ค่าที่จัดเก็บ เมื่อปิดโปรแกรมข้อมูลจะหายไป.
บทที่ 8 อาร์เรย์.
ตัวแปรกับชนิดของข้อมูล
ตัวแปรในภาษา JavaScript
ฟังก์ชัน ง30212 การเขียนโปรแกรมด้วยภาษาคอมพิวเตอร์ ศูนย์คอมพิวเตอร์
แถวลำดับ (array) ง40202 การเขียนโปรแกรมด้วยภาษาคอมพิวเตอร์
บทที่ 5 ฟังก์ชันกับอาร์เรย์ Function & Array
การรับและพิมพ์ข้อมูลเบื้องต้น
ตัวแปรกับชนิดของข้อมูล
Week 12 Engineering Problem 2
Computer Programming for Engineers
ความหมาย การประกาศ และการใช้
ตัวแปรชุด Arrays.
อาร์เรย์ (Arrays).
คำสั่งเกี่ยวกับการรับ และแสดงผล
บทที่ 6 โครงสร้างข้อมูลเบื้องต้น
ตัวแปร Array แบบ 1 มิติ การเขียนโปรแกรมแบบวนซ้ำ
1. Global variable คือ ตัวแปรที่กำหนดหรือประกาศไว้นอกฟังก์ชันใด ๆ ทุกฟังก์ชัน สามารถนำตัวแปรประเภท Global ไปใช้ได้ทุกฟังก์ชัน.
Array 1. Array คือ 2 ตัวแปรชุด ( Arrays ) คือ กลุมของขอมูลที่มีชนิด ของขอมูลเหมือนกัน จึงทําการจัดกลุมไวดวยกัน แลวอางถึงดวยกลุมของขอมูลนั้นดวยชื่อ.
การกระทำทางคณิตศาสตร์
stack #1 ผู้สอน อาจารย์ ยืนยง กันทะเนตร
การเขียนโปรแกรม (ภาษาซี)
บทที่ 6 ตัวแปรชุดและ สตริง รายวิชา ง การเขียนโปรแกรมเชิง วัตถุ Reading: ใบความรู้ บทที่ 6.
Function. วัตถุประสงค์การเรียนรู้ ให้รู้จักว่าฟังก์ชันคืออะไร ให้รู้จักว่าเราสร้างฟังก์ชันเพื่อจุดประสงค์ใด หรือ เพื่อประโยชน์ใด ให้รู้จักประเภทของฟังก์ชัน.
Computer Programming Asst. Prof. Dr. Choopan Rattanapoka
ใบสำเนางานนำเสนอ:

ทบทวน อาร์เรย์ (Array)

วัตถุประสงค์ สามารถใช้งานตัวแปรประเภทอาร์เรย์ 1 มิติ และ 2 มิติได้ เข้าใจการส่งผ่านอาร์เรย์ไปยังฟังก์ชัน สามารถใช้งานข้อมูลชนิดโครงสร้าง (structure) ได้

Outline นิยามอาร์เรย์ การประกาศตัวแปรอาร์เรย์ การเข้าถึงตัวแปรอาร์เรย์ การส่งผ่านอาร์เรย์ไปยังฟังก์ชัน ข้อมูลชนิดโครงสร้าง

นิยามของอาร์เรย์ อาร์เรย์ เป็นรูปแบบข้อมูลแบบหนึ่งที่จัดเก็บข้อมูลชนิดเดียวกันอย่างต่อเนื่องกัน โดยจัดอยู่ในบล็อกของหน่วยความจำเดียวกัน และใช้ชื่อตัวแปรร่วมกันในการอ้างถึง v[0] v[1] v[2] v[3] v[4] v[5] 70 65 84 50 46 23

การประกาศตัวแปรแบบอาร์เรย์ อาร์เรย์ 1 มิติ มีโครงสร้างเทียบเท่าเมตริกซ์ขนาด n x 1 การประกาศตัวแปรอาร์เรย์ จะใช้เครื่องหมาย [] ล้อมค่าตัวเลขจำนวนเต็ม เพื่อบอกจำนวนสมาชิกที่ต้องการ รูปแบบการประกาศตัวแปรอาร์เรย์ 1 มิติ: ชนิดของตัวแปร ชื่อตัวแปร[จำนวนสมาชิกที่ต้องการ] เช่น int v[6] float data[10] 70 65 84 50 46 23

การประกาศตัวแปรแบบอาร์เรย์ อาร์เรย์ 2 มิติ มีโครงสร้างคล้ายกับเมตริกซ์สองมิติ มีการอ้างถึงข้อมูลโดยใช้ค่าเลขดัชนี 2 ค่า ซึ่งประกอบค่าดัชนีที่ใช้ในการอ้างอิงในแนวแถว (rows) และค่าดัชนีที่ใช้อ้างอิงในแนวคอลัมน์ (columns) รูปแบบการประกาศตัวแปรอาร์เรย์ 2 มิติ: ชนิดข้อมูล ชื่อตัวแปร[จำนวนแถว][จำนวนคอลัมน์] เช่น int val[2][3] float[5][10] 5 2 7 6

การเข้าถึงตัวแปรอาร์เรย์ รูปแบบการเข้าถึงตัวแปรอาร์เรย์ 1 มิติ ชื่อตัวแปร[ตัวชี้] รูปแบบการเข้าถึงตัวแปรอาร์เรย์ 2 มิติ ชื่อตัวแปร[ตัวชี้แนวแถว][ตัวชี้แนวคอลัมน์] ตัวชี้อาจป้อนอยู่ในรูปของตัวแปร นิพจน์ หรือฟังก์ชันที่ให้ค่าเป็นค่าจำนวนเต็มได้

ตัวอย่างการเข้าถึงตัวแปรอาร์เรย์ read mark[0] write mark[i] tol  tol + v[i] v[0]  78 v[i]  v[i-1] + 5 x[i][j] i*j

การใช้คำสั่ง for ในการเข้าถึงอาร์เรย์ 1 มิติ ตัวอย่าง ถ้าต้องการหาผลรวมของตัวแปร score 5 อิลิเมนต์ ทำได้ดังนี้ sum  score[0] + score[1] + score[2] + score[3] + score[4] เปลี่ยนเป็นใช้ for loop ได้ดังนี้ sum 0 for i0 to 4 sum  sum + score[i]

ตัวอย่างการรับค่าและแสดงผลลัพธ์ของอาร์เรย์ #include<stdio.h> main() { int sal[4] for(i=0;i<4;i++) {printf(“Enter sal[%d]: ”,i); scanf(“%d”, sal[i]); //การรับค่า } for(i=1;i<4;i++) {sal[i] = sal[i]*sal[i-1]; printf(“sal[%d] = %d\n” , i, sal[i]); //การแสดงผลลัพธ์ Enter[0]: 1 Enter[1]: 1 Enter[2]: 2 Enter[3]: 5 …………………………………………………………………………… ……………………………………………………………………………. ……………………………………………………………………………..

การใช้คำสั่ง for ในการเข้าถึงอาร์เรย์ 2 มิติ ตัวอย่างเช่น ตัวการหาผลรวมของคะแนนเก็บ คะแนนสอบกลางภาค คะแนนสอบปลายภาคของนักศึกษาแต่ละคน จำนวน 5 คน 1. for i0 to 4 1.1 stu[i]0 1.2 for j 0 to 2 1.2.1 stu[i]  stu[i] + score[i][j]

ตัวอย่างการรับค่าและแสดงผลลัพธ์ของอาร์เรย์ 2 มิติ #include<stdio.h> main() { float score[5][3], stu[5]; for(i=0;i<5;i++) stu[i]=0; for(j=0;j<3;j++) scanf(“%f”, &score[i][j]); //การรับค่า stu[i] = stu[i] + score[i][j]; } printf(“%.2f\t”, score[i][j]); //การแสดงผลลัพธ์ printf(“\t%.2f\n”, stu[i]);

การส่งผ่านอาร์เรย์ไปยังฟังก์ชัน ตัวอย่างการส่งค่าแต่ละอิลิเมนต์ในอาร์เรย์ให้กับฟังก์ชัน #include<stdio.h> void chk_v(int num) { if(num%2==0) printf(“%d is an even number\n”, num); else printf(“%d is an odd number\n”,num); } main() { int i; int val[5] = {2,7,4,1,9}; for(i=0;i<5;i++) chk_v(val[i]); //ส่งไปที่ค่า (call by value) Output???

การส่งผ่านอาร์เรย์ไปยังฟังก์ชัน ตัวอย่างการส่งค่าทุกอิลิเมนต์ในอาร์เรย์ให้กับฟังก์ชัน #include<stdio.h> void chk_v(int num[5]) { int i; for(i=0;i<5;i++) { if(num[i]%2==0) printf(“%d is an even number\n”, num); else printf(“%d is an odd number\n”,num); } main() int val[5] = {2,7,4,1,9}; chk_v(val); //ส่งไปทุกค่าในอาร์เรย์ (call by reference) Output???

แบบฝึกหัด เขียนขั้นตอนวิธีด้วยรหัสจำลองเพื่อรับ 2 เมตริกซ์ ขนาด 4 x 3 แล้วเรียกใช้ 2 ฟังก์ชัน ทำการบวกกัน ทำ transpose

ข้อมูลชนิดโครงสร้าง การประกาศข้อมูลชนิดโครงสร้าง struct ชื่อแบบข้อมูลชนิดโครงสร้าง { ชนิดข้อมูล ชื่อตัวแปรสมาชิก ; ชนิดข้อมูล ชื่อตัวแปรสมาชิก ; .... }ชื่อตัวแปรโครงสร้าง;

ข้อมูลชนิดโครงสร้าง ตัวอย่าง การประกาศข้อมูลชนิดโครงสร้าง struct student_history { char id[10] ; char name[30]; int age; char faculty[20]; }student[50];

ข้อมูลชนิดโครงสร้าง การเรียกใช้ การเข้าถึง และการกำหนดค่า การรับค่า และการกำหนดค่าเริ่มต้น สามารถทำได้เช่นเดียวกับตัวแปรทั่วไป เพียงแต่การอ้างถึงแต่กต่างกันเท่านั้น ซึ่งการอ้างถึงตัวแปรที่เป็นสมาชิกในตัวแปรโครงสร้างนั้น สามารถทำได้โดยการระบุชื่อตัวแปรโครงสร้าง ตามด้วยจุด (.) และตามด้วยชื่อตัวแปรสมาชิกที่ต้องการอ้างถึง เช่น student[0].id student[0].name student[0].age student[0].faculty

การส่งผ่านข้อมูลแบบ struct เป็น argument #include<stdio.h> void print(struct history); struct history { int id; char name[20]; char faculty[25]; } student; int main () { printf ("Enter id :"); scanf ("%d",&student.id); printf ("Enter name :"); scanf ("%s",student.name); printf ("Enter faculty :"); scanf ("%s",student.faculty); printf ("\nstudent detail"); print(student); return 0; } void print(struct history std) { printf ("\n\t ID :%d \n\t Name : %s \n\t Faculty: %s",std.id,std.name,std.faculty); } created by Dararat Saeleee , 344-211 Algorithmic Process & Programming Struct1_2.c

การส่งผ่านข้อมูลแบบ struct เป็น argument typedef struct { int roomno ; char name [15]; int age ; char sex ; } Detail; #define size 4 Detail customer [size] ; void range(Detail c[ ]); void main() { ….. range(customer); …} void range (Detail c[ ]) { int i, minage=999, maxage=0; for(i=0;i<size;i++) if (c[i].age < minage) minage = c[i].age; if (c[i].age > maxage) maxage = c[i].age; } printf("age range = %d -%d\n",minage,maxage); created by Dararat Saeleee , 344-211 Algorithmic Process & Programming Demo struct2_2.c

Class Exercise เขียนโปรแกรมภาษาซีเพื่อพิมพ์รายงานผลการเรียน ดังนี้ 344-201 C programming 3 B+ 322-212 Basic Math 4 C 890-200 English 1 3 A GPA = 3.05 Status = Pass created by Dararat Saeleee , 344-211 Algorithmic Process & Programming