Computer Programming การเขียนโปรแกรมคอมพิวเตอร์

Slides:



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

Lecture 5: ทางเลือกแบบหลายทาง
โดยอาจารย์ศิริพร ศักดิ์บุญญารัตน์ ครูชำนาญการ โรงเรียนมหิดลวิทยานุสรณ์
BOON Array. BOON ตัวแปรอาร์เรย์แบบหนึ่งมิติ (One Dimension) Type array_name [Nmax],…; Ex. char fname[5]; char sname[5];
ตัวแปรชุด การเขียนโปรแกรมภาษาคอมพิวเตอร์ 1
คำสั่งในการควบคุมโปรแกรม
การรับและการแสดงผลข้อมูล
ข้อมูลชนิดโครงสร้าง (Structure Data)
ตัวแปรชุด (Array) Chapter Introduction to Programming
Lecture no. 5 Control Statements
ฟังก์ชัน (Function).
Structure Programming
Array.
คำสั่งเพื่อการกำหนดเงื่อนไข
อาเรย์ (Array).
ตัวแปรชุด.
Arrays.
บทที่ 6 ตัวแปรอาร์เรย์ (Array of Variable)
ข้อมูลชนิดอาร์เรย์ ประเภทของข้อมูลที่ผ่านมาส่วนใหญ่ในตอนต้นๆจะเป็นข้อมูลเดี่ยว โดยตัวแปรหนึ่งตัวสามารถเก็บข้อมูลได้หนึ่งตัว ถ้าหากต้องการเก็บข้อมูลหลายตัวจะต้องประกาศตัวแปรหลายตัว.
อาร์เรย์ (Array).
สตริง (String).
รูปแบบ if-else if if (เงื่อนไข1) {
ตัวแปรกับชนิดของข้อมูล
Week 12 Engineering Problem 2
Computer Programming for Engineers
Computer Programming การเขียนโปรแกรมคอมพิวเตอร์
Chapter 3 Data Representation (การแทนข้อมูล)
ครุศาสตรมหาบัณฑิต สาขาวิชา การสอนภาษาอังกฤษเพื่อ วิชาการและงานอาชีพ
1 สตริง (String) การประกาศค่าตัวแปรสตริง การกำหนดค่าสตริง การอ้างอิงตัวอักษรแต่ละตัวในสตริง ฟังก์ชั่นที่ใช้ในการจัดการสตริง ฟังก์ชั่นในการเปลี่ยนรูปแบบของสตริง.
Computer Programming การเขียนโปรแกรมคอมพิวเตอร์ สัปดาห์ที่ 5 การเขียนโปรแกรมแบบทางเลือก การเขียนโปรแกรมแบบวนซ้ำ.
Computer Programming การเขียนโปรแกรมคอมพิวเตอร์
Array ธนวัฒน์ แซ่ เอียบ. The concept of array อาเรย์ : กลุ่มของข้อมูลที่มีชนิดเดียวกันและถูก จัดเก็บเรียงลำดับต่อเนื่องกัน ตัวแปร x สามารถจัดเก็บค่ามากกว่า.
Linked List (2) Sanchai Yeewiyom School of Information & Communication Technology University of Phayao.
ศูนย์เรียนรู้ชุมชนเศรษฐกิจ พอเพียงบ้านซ่อง อ.พนมสารคาม จ.ฉะเชิงเทรา
สาระที่ ๒ การเขียน.
การบริหารจัดการโครงการ และการเบิกจ่ายงบประมาณ
ศึกษาข้อมูลท้องถิ่นบ้านสนาม
ยินดีต้อนรับ คณะกรรมการประเมินคุณภาพการศึกษาภายใน “สำนักส่งเสริมวิชาการและงานทะเบียน” วันอังคารที่ 23 สิงหาคม พ.ศ
Application of Electron Paramagnetic Resonance (EPR)
Lubna Shamshad (Ph.D Student) Supervisor Dr.GulRooh
Q n° R n°.
อาคารสำนักงานเขต พื้นที่การศึกษา (สพป./สพม.)
Chapter 3 Design of Discrete-Time control systems Frequency Response
ยินดีต้อนรับ นสต. ภ.๙.
การส่งเสริมจริยธรรมและคุณธรรม เพื่อการป้องกันการทุจริต
หลักสูตรการศึกษานอกระบบ ระดับการศึกษาขั้นพื้นฐาน พุทธศักราช 2551
บทที่ 3 การกําหนดปัญหา การศึกษาความเป็นไปได้และการวางแผนโครงการ
อาร์เรย์ (Array) อาจารย์สมเกียรติ ช่อเหมือน
โปรแกรม ภาษา C ภาษาซี (C Language) เป็นภาษาหนึ่งสำหรับเขียนโปรแกรมคอมพิวเตอร์   พัฒนาขึ้นโดยนายเดนนิส  ริทชี่ (Dennis Ritche)  ในปี ค.ศ. 1972  เพื่อสร้างระบบปฏิบัติการยูนิกซ์
บทที่ 4 การรับและแสดงผลข้อมูล
C Programming By Mr. Sanae Sukprung.
หลักการสร้างมาตรวัดทางจิตวิทยา
Chapter 9 ตัวชี้ pointer.
โครงการส่งเสริมการพัฒนาคุณภาพงาน คณะวิทยาศาสตร์ มหาวิทยาลัยเชียงใหม่
Data Structure & Algorithm Concept
ภาษา C เบื้องต้น.
Computer Programming การเขียนโปรแกรมคอมพิวเตอร์
คำอธิบายรายวิชา การเขียนผังงาน รหัสเทียม ตรรกศาสตร์เบื้องต้น การเขียนโปรแกรมคอมพิวเตอร์แบบโครงสร้าง ชนิดตัวแปร ตัวดำเนินการทางตรรกะ ตัวดำเนินการเปรียบเทียบ.
บทที่ 4 ตัวแปร (Variables)
ข้อมูล ตัวแปร และค่าคงที่ของภาษา VB
นวัตกรรมและเทคโนโลยี คือ INNOTECH
Yeunyong Kantanet School of Information and Communication Technology
การมีส่วนร่วมในระบบการประกันคุณภาพการศึกษาของบุคลากร
อาเรย์ (Array).
นางธนตวรรณ ขวัญแก้ว วิทยาลัยเทคโนโลยีอรรถวิทย์พณิชยการ
ตัวแปรชนิดพอยเตอร์ (Pointer)
โรงเรียนราชโบริกานุเคราะห์ อำเภอเมืองราชบุรี จังหวัดราชบุรี
Algorithms Analysis Sanchai Yeewiyom
การเขียนโปรแกรมภาษา Java (ต่อ)
Array Sanchai Yeewiyom
ใบสำเนางานนำเสนอ:

226101 Computer Programming การเขียนโปรแกรมคอมพิวเตอร์ สัปดาห์ที่ 7 แถวลำดับ

วัตถุประสงค์ เข้าใจหลักการสร้างแถวลำดับ เข้าใจประโยชน์ของการสร้างแถวลำดับ สามารถนำแถวลำดับไปใช้แก้ปัญหาได้

แถวลำดับ (Array) เขียนโปรแกรมรับข้อมูลนักเรียน 10 คน โดยรับค่า คำนำหน้า ชื่อ นามสกุล รหัส เกรดเฉลี่ย แล้วถ้าเปลี่ยนคำสั่งเป็น จงเขียนโปรแกรมรับข้อมูลนักเรียน 1000 คน โดยรับค่าดังโจทย์ข้างต้นจะใช้เวลาเขียนเสร็จนานแค่ไหน

แถวลำดับ (Array) ทำให้เกิดโครงสร้างข้อมูลประเภทแถวลำดับ เพื่อเรียกใช้งานตัวแปร เป็นลักษณะของแถวลำดับ ขึ้นกับพารามิเตอร์หรือตัวแปรที่ใช้เป็นตัวชี้ลำดับ ตัวอย่างการประกาศตัวแปร ประเภทตัวอักษร(character) char name = 't'; char name = 'e'; ตัวอย่างการประกาศตัวแปร ประเภทชุดตัวอักษร(string) char name[10] = "name"; char major[10] = "ELECTRICAL"; char faculty[20] = "Engineering"; หมายเหตุ จะแสดงผลอย่างไรถ้า char major[10] = "Engineering ";

แถวลำดับ (Array) ตัวอย่างการประกาศตัวแปร ประเภทชุดตัวอักษร(string) char t[10] = "Test"; char t[10] char major[10] เลข 0 – 9 เราเรียกว่าตัวชี้ตำแหน่ง อาร์เรย์(index) t[0] t[1] t[2] t[3] t[4] t[5] t[6] t[7] t[8] t[9] T e s t E L E C สังเกตว่า ค่าตำแหน่ง(index) เริ่มต้นที่ 0 เสมอ ไม่ใช่ 1 ICT, University of Phayao

แถวลำดับ (Array) การประกาศตัวแปรและกำหนดค่าให้กับแถวลำดับ 1. ประกาศตัวแปรและกำหนดค่าไปด้วย รูปแบบ {data type} {variable name}[{array size}] = “string"; กรณีเป็นตัวเลขใช้ รูปแบบ {data type} {variable name}[{array size}] = {1,2,3,…,n}; 2. ประกาศตัวแปรและกำหนดค่าทีหลัง รูปแบบ {data type} {variable name}[{ index of array at i }] ; {variable name}[i] = ‘charactor at i'; รูปแบบ {data type} {variable name}[{index of array at i }] ; {variable name}[i] = 10;

แถวลำดับ (Array) การประกาศตัวแปรและกำหนดค่าให้กับแถวลำดับ 1. ประกาศตัวแปรและกำหนดค่าไปด้วย เช่น char name[10] = "Test"; int digit[10] = {1,2,3,4,5,-1,-5,-3-,2,0}; int i[3] = {-1,0,1}; 2. ประกาศตัวแปรและกำหนดค่าทีหลัง เช่น char name[10] ; int i[3] ; i[0] = 1,i[1] = 1, i[2] = 3; ICT, University of Phayao

แถวลำดับ (Array) 2. ประกาศตัวแปรและกำหนดค่าทีหลัง เช่น char name[10] ; name[0] = 'T', name[1] = 'e', name[2] = 's', name[3] = 't'; int digit[5]; digit[0] = 1, digit[1] = 2, digit[2] = 3, digit[3] = 4, digit[4] = 5; int i[3]; i[2] = 1, i[0] = -1, i[1] = 0; ICT, University of Phayao

แถวลำดับ (Array) ตัวอย่างที่ 1 แสดงผลตัวอักษรในแนวตั้ง char faculty[50] = "School of Information and Communication Technology"; Int j; for (j=0; j<50; j++) { printf(" %c \n ",faculty[j] ); } ICT, University of Phayao

แถวลำดับ (Array) ตัวอย่างที่ 2 int i[5] = { 1,2,3,4,5 }; for (int j=0; j<5; j++) { printf(" i[%d] = %d \n ", j, i[j] ); // %d ตัวแรก คือค่าของ j และ %d ตัวที่สองคือแถวลำดับของ i ตัวที่ j } ICT, University of Phayao

ตัวอย่างที่ 3 กำหนดค่าทีละค่า และแสดงผล แถวลำดับ (Array) ตัวอย่างที่ 3 กำหนดค่าทีละค่า และแสดงผล int i[5] ; for ( int j=0; j<5; j++) i[j] = j; for ( j=0; j<5; j++) printf(" i[%d] = %d \n", j, i[j]); ตัวอย่างที่ 4 รับค่าทีละค่า และแสดงผล int i[5] ; for ( int j=0; j<5; j++) scanf(“%d”,&i[j]); for ( j=0; j<5; j++) printf(" i[%d] = %d \n", j, i[j]); ICT, University of Phayao

แถวลำดับ (Array) ตัวอย่างที่ 5 โปรแกรมรับคะแนน แสดงผลทีละค่าและสรุปค่าเฉลี่ย ถ้าเปลี่ยนเป็น sum/5 ? ICT, University of Phayao

ข้อควรระวังเรื่อง data type ไม่สามารถแสดงผลด้วย %f สำหรับ ตัวแปรประเภท int ตัวแปรประเภท int*float จะได้ float เสมอ(รวมไปถึง บวก ลบ หาร ) พึงระวัง ค่าน้อยหรือมากสุดของ data type นั้นๆ พึงระวังการใช้ float และ double (สังเกตค่าต่อไปนี้) interest ให้ผลที่แตกต่างกันอย่างไร ทำไมถึงได้ 79.449996948242188 ทำไมไม่ใช่ 79.450000000000000

แถวลำดับ (Array) แบบฝึกหัด ให้เขียนโปรแกรม รับค่าคะแนนของนักเรียน ทำการหาค่า mean และ sd แล้วทำการแสดงผลค่า mean และ sd ออกมา mean(ค่าเฉลี่ยของคะแนนทั้งหมด) sd = standard deviation(ค่าเบี่ยงเบนมาตรฐาน) แบบฝึกหัด ICT, University of Phayao

แถวลำดับ (Array) char major[10] = “ELEC"; int score[5] = {1,2,3,4,5}; จาก array ที่ผ่านมา เรียกว่าเป็น array 1 มิติ ซึ่งในการเขียนโปรแกรมจริงนั้น อาจมีการใช้งาน array ที่มากกว่า 1 มิติ เรียกอีกอย่างว่า Multidimensional arrays ICT, University of Phayao

แถวลำดับ (Array) array 2 มิติ การประกาศตัวแปร มี 2 วิธี คือ 1. ประกาศแบบไม่กำหนดค่า int i[5][10] ; 2. ประกาศแบบกำหนดค่า int i[2][2] = { {1,2} , {3,4} }; char data[2][100] = { {"Electricity Engineering"},{"School of Engineering"} }; ICT, University of Phayao

แถวลำดับ (Array) ตัวอย่าง array 2 มิติ

การประยุกต์ใช้แถวลำดับ จงเขียนโปรแกรมโดยมีเงื่อนไขต่อไปนี้ รับค่าตัวเลขทีละค่าแล้วเก็บค่าไว้ ถ้าตัวเลขมากกว่า 100 ให้แจ้งผู้ใช้พิมพ์ค่าใหม่เข้ามา รับค่าตัวเลขไปจนกว่าตัวเลขที่พิมพ์เข้ามาน้อยกว่า 0 หรือจำนวนตัวเลขที่เก็บไว้เกิน 5 ค่า ทำการเปรียบเทียบตัวเลขทั้ง 5 ค่าแล้วแสดงผลค่าน้อยไปมาก

การประยุกต์ใช้แถวลำดับ 3 ตัวเปรียบเทียบน้อยสุด 3! = 6 โจทย์เดิม เขียนโปรแกรมเรียงลำดับตัวเลข 3 ตัว a b c ลำดับ เงื่อนไข แสดงผล 1 a >= b && b >= c a b c 2 a >= c && c >= b a c b 3 b >= a && a >= c b a c 4 b >= c && c >= a b c a 5 c >= a && a >= b c a b 6 c >= b && b >= a c b a

การประยุกต์ใช้แถวลำดับ โจทย์สอบแลป โปรแกรมเรียงลำดับตัวเลข 5 ตัว 5 ตัวเปรียบเทียบน้อยสุด 5 ! = 120 ลองคิดวิธีนี้ a b c d e a[0] a[1] a[2] a[3] a[4]

การประยุกต์ใช้แถวลำดับ โจทย์สอบแลป โปรแกรมเรียงลำดับตัวเลข 5 ตัว a[0] a[1] a[2] a[3] a[4]

Insertion Sort อัลกอริทึม โจทย์สอบแลป โปรแกรมเรียงลำดับตัวเลข 5 ตัว ตัวอย่าง -> 9 2 5 3 4 i = 2 for i = 2 to n for j = i-1 to 1 if a[j] > a[i] swap(a[j],a[i]) else break; end if end for j = 1 9 2 5 3 4 2 9 5 3 4 i = 3 j = 2 2 9 5 3 4 2 5 9 3 4 j = 1 2 5 9 3 4 2 5 9 3 4 swap(a[j],a[i]) หมายถึง การสลับตำแหน่ง a[j] และ a[i]

Insertion Sort อัลกอริทึม โจทย์สอบแลป โปรแกรมเรียงลำดับตัวเลข 5 ตัว ตัวอย่าง -> 9 2 5 3 4 i = 4 for i = 2 to n for j = i-1 to 1 if a[j] > a[i] swap(a[j],a[i]) else break; end if end for j = 3 2 5 9 3 4 2 5 3 9 4 j = 2 2 5 3 9 4 2 3 5 9 4 j = 1 2 3 5 9 4 2 3 5 9 4

Insertion Sort อัลกอริทึม โจทย์สอบแลป โปรแกรมเรียงลำดับตัวเลข 5 ตัว ตัวอย่าง -> 9 2 5 3 4 2 3 4 5 9 i = 5 for i = 2 to n for j = i-1 to 1 if a[j] > a[i] swap(a[j],a[i]) else break; end if end for j = 4 2 3 5 9 4 2 3 5 4 9 j = 3 2 3 5 4 9 2 3 4 5 9 j = 2 2 3 4 5 9 2 3 4 5 9 ตัวอย่างในชีวิตประจำวัน เรียงไพ่ตาม เรียงหนังสือ ตามลำดับอักษร

การประยุกต์ใช้แถวลำดับ แบบฝึกหัด เขียนโปรแกรมรับค่า n ตัว แสดงผลตัวเลขที่เรียงลำดับจากมากไปน้อย ออกจากโปรแกรมเมื่อตัวเลขน้อยกว่าหรือเท่ากับ 0