งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

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

งานนำเสนอที่คล้ายกัน


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

1

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

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

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

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

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

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

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

9 การใช้คำสั่ง 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]

10 ตัวอย่างการรับค่าและแสดงผล ลัพธ์ของอาร์เรย์ #include 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 …………………………………………………………………………… ……………………………………………………………………………. ……………………………………………………………………………..

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

12 ตัวอย่างการรับค่าและแสดงผลลัพธ์ ของอาร์เรย์ 2 มิติ #i nclude 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]; } for(i=0;i<5;i++) { for(j=0;j<3;j++) printf(“%.2f\t”, score[i][j]);// การแสดงผลลัพธ์ printf(“  \t%.2f\n”, stu[i]); }

13 การส่งผ่านอาร์เรย์ไปยัง ฟังก์ชัน ตัวอย่างการส่งค่าแต่ละอิลิเมนต์ในอาร์เรย์ ให้กับฟังก์ชัน #include 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???

14 การส่งผ่านอาร์เรย์ไปยัง ฟังก์ชัน ตัวอย่างการส่งค่าทุกอิลิเมนต์ในอาร์เรย์ ให้กับฟังก์ชัน #include 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???

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

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

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

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

19 created by Dararat Saeleee, Algorithmic Process & Programming19 การส่งผ่านข้อมูลแบบ struct เป็น argument #include 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); } Struct1_2.c

20 created by Dararat Saeleee, Algorithmic Process & Programming20 การส่งผ่านข้อมูลแบบ 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 maxage) maxage = c[i].age; } printf("age range = %d - %d\n",minage,maxage); } Demo struct2_2.c

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


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

งานนำเสนอที่คล้ายกัน


Ads by Google