บทที่ 7 การประมวลผลอาร์เรย์

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
หลักการโปรแกรม 1 Lecture 12: อาร์เรย์หนึ่งมิติ
Advertisements

บทที่ 5 การควบคุมทิศทางการทำงานของโปรแกรม
BC322 : Computer Programing (ครั้งที่ 1)
การใช้งานโปรแกรม SPSS
การวัดค่ากลาง - ค่าเฉลี่ย
Chapter 10 Arrays Dept of Computer Engineering Khon Kaen University.
การเขียนโปรแกรม ภาษาซีเบื้องต้น โดย คุณครูปวีณา แนววงศ์
ชนิดของข้อมูล และการคำนวณทางคณิตศาสตร์
1 Search & Sort Search & Sort วรวิทย์ พูลสวัสดิ์.
การเขียนโปรแกรมภาษาปาสคาล โดยใช้โครงสร้างหลักทั้ง 3 โครงสร้าง
กาญจนา ทองบุญนาค สาขาวิชาคอมพิวเตอร์ คณะวิทยาศาสตร์และเทคโนโลยี
การวิเคราะห์ขั้นตอนวิธีการแก้ปัญหา
การเขียนผังงานเบื้องต้น (Flow chart)
หน่วยที่ 6 แถวลำดับ (Array)
การใช้งาน Microsoft Excel
การใช้งาน Microsoft Excel
หลักการโปรแกรม 1 Lecture 8: การทำซ้ำ (while, do-while)
MEE 231 Computer Programming สัปดาห์ที่ 6 ภาษา C หลักการของโปรแกรม ชนิดของตัวแปร การดำเนินการ คำสั่งการรับค่าตัวแปร และการแสดงผล.
ARRAY & PRINTF สาขางานคอมพิวเตอร์ธุรกิจอาจารย์จิรา ภรณ์ เขตกุฎี
Microsof t Office Word เตรียมความ พร้อม Microsoft Office Word 2007 แดงเขียวน้ำเงิน ม่วงดำเขียว เหลืองส้มน้ำตาล น้ำเงินดำแดง.
ITERATION (LOOP) สาขางานคอมพิวเตอร์ธุรกิจอาจารย์จิรา ภรณ์ เขตกุฎี
บทที่ 6 การใช้คำสั่ง อ. สุรินทร์ทิพ ศักดิ์ภูวดล สำนักวิชาเทคโนโลยีสารสนเทศและ การสื่อสาร.
การเลือกข้อมูลจาก List การกำหนดเงื่อนไขการป้อนข้อมูลด้วย Data Validation การใส่ Comment / แสดง / แก้ไข / ลบ.
LOGO ภาษาซี 1.1 อ. กฤติเดช จินดาภัทร์. LOGO ตัวอย่างโค้ดภาษาซี
คำสั่งควบคุมการทำงาน
อาจารย์อภิพงศ์ ปิงยศ Lab 05 : Microsoft Excel (Part3) พท 260 เทคโนโลยีสารสนเทศและการสื่อสารทางการท่องเที่ยว อาจารย์อภิพงศ์ ปิงยศ.
เกม คณิตคิดเร็ว.
Microsoft Access 2007 การสร้างฟอร์ม
หลักการโปรแกรม อ.ธนากร อุยพานิชย์.
บทที่ 5 การใช้คำสั่ง Select Case , For Next และ Do While
stack #2 ผู้สอน อาจารย์ ยืนยง กันทะเนตร
แนวข้อสอบ Final (จดด่วน)
Number system (Review)
อนุกรมอนันต์และการลู่เข้า
โครงสร้างข้อมูลและอัลกอริทึมเบื้องต้น
แล้วทำการเรียงลำดับข้อมูลใหม่โดยเรียงจากน้อยไปหามาก
BC320 Introduction to Computer Programming
START INPUT R = 1 R = R Yes R*R <=2 No R = R PROCESS
หน่วยการเรียนที่ 4 เรื่อง การควบคุมทิศทางการทำงาน
บทที่ 7 การเขียนโปรแกรม แบบวนรอบทำซ้ำ (Loop)
stack #1 ผู้สอน อาจารย์ ยืนยง กันทะเนตร
Control Statement เงื่อนไขคำสั่งในโปรแกรม ภาษา C
บทที่ 8 เงื่อนไขตัดสินใจ
รายวิชา ไมโครโปรเซสเซอร์ในงานอุตสาหกรรม
บทที่ 2 อัลกอริธึมและการวิเคราะห์ปัญหา
ความรู้เบื้องต้นเกี่ยวกับคอมพิวเตอร์และเทคโนโลยีสารสนเทศ
ขั้นตอนการออกแบบ ผังงาน (Flow Chart)
การเขียนโปรแกรมแบบวนซ้ำ: คำสั่ง while คำสั่ง do….while
Data storage II Introduction to Computer Science ( )
บริษัท พัฒนาวิชาการ (2535) จำกัด
BC320 Introduction to Computer Programming
บทที่ 9 การทำซ้ำ (Loop).
บทที่ 3 Programming By Wathinee duangonnam
State Table ตารางสถานะ ปรับปรุง 18 เมษายน 2562
Week 5 C Programming.
ผู้ช่วยศาสตราจารย์จุฑาวุฒิ จันทรมาลี
Data storage II Introduction to Computer Science ( )
BASIC STATISTICS MEAN / MODE / MEDIAN / SD / CV.
หน่วยที่ 6 อะเรย์ของอักขระ
บทที่ 9 การเรียงลำดับข้อมูล (Sorting)
ค่ารูรับแสง - F/Stop ค่ารูรับแสงที่มีค่าตัวเลขต่ำใกล้เคียง 1 มากเท่าไหร่ ค่าของรูรับแสงนั้นก็ยิ่งมีความกว้างมาก เพราะเราเปรียบเทียบค่าความสว่างที่ 1:1.
บทที่ 10 การแบ่งปัญหาใหญ่ออกเป็นปัญหาย่อยและการสร้างลำดับขั้นตอนย่อย
2 โครงสร้างข้อมูลแบบสแตก (STACK).
กิจกรรมที่ 7 นายปรีชา ขอวางกลาง
บทที่ 2 โครงสร้างข้อมูลแบบแถวลำดับหรืออาร์เรย์ (Array)
Chapter 3 : Array.
Array: One Dimension Programming I 9.
ฟังก์ชันของโปรแกรม Computer Game Programming
การเขียนโปรแกรมด้วยภาษาไพทอน การเขียนโปรแกรมแบบทางเลือก
Decision: Single and Double Selection (if and if-else statement)
ใบสำเนางานนำเสนอ:

บทที่ 7 การประมวลผลอาร์เรย์ BC320 Introduction to Computer Programming

เนื้อหาในการบรรยาย ความหมายของอาร์เรย์ 1 มิติ และ 2 มิติ การประกาศตัวแปรอาร์เรย์ ขึ้นมาใช้งาน การเรียกใช้ข้อมูล และการประมวลผลอาร์เรย์ การค้นหา (Searching) การเรียงลำดับ (Sorting) การเขียนโปรแกรมโดยใช้อาร์เรย์

ใช้ตัวแปรตัวเดียว เปลี่ยนแค่ค่า index อาร์เรย์ 1 มิติ และ 2 มิติ เมื่อต้องการประกาศตัวแปรจำนวน 10 ตัวมาใช้งาน แบบธรรมดา แบบอาร์เรย์ int StdAge1, StdAge2, StdAge3, …, StdAge10 int StdAge[10] ใช้ตัวแปรหลายตัว ใช้ตัวแปรตัวเดียว เปลี่ยนแค่ค่า index

หลังจากประกาศตัวแปรเป็นแบบอาร์เรย์ อาร์เรย์ 1 มิติ และ 2 มิติ หลังจากประกาศตัวแปรเป็นแบบอาร์เรย์ ตัวแปรอาร์เรย์ จะมีโครงสร้างในรูป [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] StdAge หลังจากนั้น ก็สามารถใช้ตัวแปรอาร์เรย์ ทำการเก็บค่าต่างๆ ได้เหมือนกับตัวแปรทั่วไป

ตัวอย่างเช่น ต้องการเก็บค่าอายุนักศึกษา int StdAge[10] StdAge[0] = 15 อาร์เรย์ 1 มิติ และ 2 มิติ ตัวอย่างเช่น ต้องการเก็บค่าอายุนักศึกษา int StdAge[10] StdAge[0] = 15 StdAge[1] = 15 StdAge[2] = 16 StdAge[3] = 17 StdAge[4] = 17 StdAge[5] = 17 StdAge[6] = 18 StdAge[7] = 18 StdAge[8] = 19 StdAge[9] = 19

อาร์เรย์ 1 มิติ และ 2 มิติ [0] [1] [2] [3] [4] [5] [6] [7] [8] [9] 15 16 17 18 19 StdAge StdAge[0] = 15 StdAge[5] = 17 StdAge[1] = 15 StdAge[6] = 18 StdAge[2] = 16 StdAge[7] = 18 StdAge[3] = 17 StdAge[8] = 19 StdAge[4] = 17 StdAge[9] = 19

ตัวอย่างที่ผ่านมาเป็น อาร์เรย์ 1 มิติ อาร์เรย์ 1 มิติ และ 2 มิติ ตัวอย่างที่ผ่านมาเป็น อาร์เรย์ 1 มิติ ส่วนตัวแปรอาร์เรย์ 2 มิติ จะมีลักษณะดังนี้ [0] [1] [2] [3] [3] X[3][0] X[3][1] X[3][2] X[3][3] X[2][0] X[2][1] X[2][2] X[2][3] X[1][0] X[1][1] X[1][2] X[1][3] X[0][0] X[0][1] X[0][2] X[0][3] [2] [x] [1] [0]

price[4] = price[0] + price[2]; int price[5]; price[0] = 10; price[1] = 2*price[0]; price[2] = 20; price[3] = 0; price[4] = price[0] + price[2]; [0] [1] [2] [3] [4] price Slide เพิ่ม

การเขียนโปรแกรมโดยใช้ตัวแปรอาร์เรย์ Ex1 จงเขียนโปรแกรมสำหรับรับค่าอายุของนักศึกษา จำนวน 10 คน มาเก็บไว้ในตัวแปรอาร์เรย์ ที่ชื่อ StdAge ในตัวอย่างนี้จะ ทำการเปรียบเทียบ การเขียนโปรแกรม แบบไม่ใช้ตัวแปรอาร์เรย์ กับใช้ตัวแปรอาร์เรย์

การเขียนโปรแกรมโดยใช้ตัวแปรอาร์เรย์ (ต่อ) ถ้าแบบไม่ใช้ตัวแปรอาร์เรย์ จะสามาถเขียนได้เป็น int StdAge1, …, StdAge10 int StdAge[10], i = 0 Read StdAge1 Read StdAge2 . . . Read StdAge10 while i<10 do Read StdAge[i] i = i+1 End do

เปรียบเทียบการวน loop โดยใช้คำสั่ง while กับ for int StdAge[10], i = 0 int StdAge[10] while i<10 do Read StdAge[i] i = i+1 End do for(i=0;i<10;i++) Read StdAge[i] End for

Ex2 จงสร้างอาร์เรย์ชื่อ Num 15 ช่อง โดยที่แต่ละช่อง ให้เก็บเลขศูนย์ลงไป [0] [1] [2] [3] [4] [5] … [13] [14] Num ... เขียนแบบ while เขียนแบบ for

รับน้ำหนักเพื่อนทั้ง 20 คน แสดงผลน้ำหนักเพื่อน 20 คน Ex3 จงสร้างอาร์เรย์สำหรับน้ำหนักเพื่อน 20 คน โดยเก็บไว้ในตัวแปรอาร์เรย์ StdArr โดยที่ รับน้ำหนักเพื่อนทั้ง 20 คน แสดงผลน้ำหนักเพื่อน 20 คน หาค่าเฉลี่ยน้ำหนัก แยกการวนloop

Ex4 จงเขียนโปรแกรมเพื่อคิดเกรดของนักศึกษา 10 คน โดยที่ รับคะแนนสอบเป็นเลขทศนิยม เก็บในตัวแปรอาร์เรย์ชื่อ Score คิดเกรดแต่ละคนเก็บในอาร์เรย์ชื่อ Grade โดยมีเงื่อนไขดังนี้ ถ้าได้ คะแนน 0-49 คะแนน ได้เกรด U คะแนน 50-100 คะแนน ได้เกรด S แสดงผลลัพธ์ของคะแนนและเกรดนักศึกษาแต่ละคน Slide เพิ่ม

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

แบบฝึกหัด ให้นักศึกษาเขียนโปรแกรม เพื่อทำการรับค่าจำนวนเงินบาท 10 ครั้ง โดยในแต่ละครั้งของการรับค่าให้ทำการแปลงค่าเงินบาทเป็นเงินดอลล่าร์สหรัฐ (40 บาท = 1 ดอลล่าร์) และในแต่ละครั้งให้ทำการแสดงค่าเงินบาทและดอลล่าร์ (กำหนดให้ใช้ตัวแปร Bath[10]) เป็นตัวแปรสำหรับใช้เก็บค่าเงินบาท

แบบฝึกหัด(ต่อ) ตัวอย่าง Num ตอบ Min = 25 , Position = 3 2. จงรับค่าตัวเลข 20 ตัว (เลขจำนวนเต็ม) เพื่อคำนวณหาค่าต่ำสุด โดยที่ รับค่าตัวเลข 20 ตัวลงในอาร์เรย์ชื่อ Num คำนวณหาค่าต่ำสุด และตำแหน่งที่เก็บค่าต่ำสุด แสดงผลค่าต่ำสุด และตำแหน่งที่เก็บค่าต่ำสุด ตัวอย่าง [0] [1] [2] [3] [4] . . . [18] [19] 25 Num ตอบ Min = 25 , Position = 3 Slide เพิ่ม

ตัวอย่างโปรแกรมหาค่าต่ำสุดแบบไม่ใช้ Array i=1 Min=999 While i<=20 read Num if Min>Num then Min=Num i=i+1 End do Slide เพิ่ม

การค้นหา (Searching) การค้นหาแบบลำดับ (Sequence search) การค้นหาแบบไบนารี่ (Binary search)

การค้นหา (Searching): แบบลำดับ จากนั้นค่อยๆ เลื่อนไปทางขวามือทีละตำแหน่ง

การค้นหา (Searching): แบบลำดับ [0] [1] [2] [3] [4] [5] [6] [7] 1 6 9 10 12 17 23 24 X X X X X X กำหนดให้ค่า search = 12

การค้นหา (Searching): แบบไบนารี่ หาค่ากึ่งกลางของข้อมูลจาก Mid = (First + Last)/2 เปรียบเทียบค่า search กับค่าในตำแหน่งกึ่งกลาง ถ้าค่า search > ค่าในตำแหน่งกึ่งกลาง (อยู่ครึ่งหลัง) ถ้าค่า search < ค่าในตำแหน่งกึ่งกลาง (อยู่ครึ่งแรก) ถ้าค่า search = ค่าในตำแหน่งกึ่งกลาง (อยู่กึ่งกลาง)

การค้นหา (Searching): แบบไบนารี่ [0] [1] [2] [3] [4] [5] [6] [7] 1 6 9 10 12 17 23 24 X X X X X X กำหนดให้ค่า search = 12

การเรียงลำดับ (Sorting) Bubble sort Selection sort

การเรียงลำดับ (Sorting): Bubble Sort ทำการเปรียบเทียบค่าในตาราง ครั้งละ 2 ค่า ซึ่งมีตำแหน่งติดกัน [I] กับ [I+1] โดยเริ่มต้น จากซ้ายมือสุด นั่นก็คือ I = 0 ใช้เงื่อนไข x[I] > x[I+1] เป็นตัวพิจารณาว่าจะต้องทำการสลับตำแหน่งระหว่าง 2 ตำแหน่งหรือไม่ ทำการเปรียบเทียบจนกระทั่ง ใน 1 รอบไม่มีการสลับตำแหน่งเลย ถึงหยุดการทำงาน

การเรียงลำดับ (Sorting): Bubble Sort [0] [1] [2] [3] [4] 7 4 1 9 2 [X] [X] [X] [X] [X] กำหนดให้ทำการเรียงจากน้อยไปมาก

การเรียงลำดับ (Sorting): Selection Sort การทำงานของการเรียงลำดับแบบนี้ เริ่มต้น จะทำการเปรียบเทียบข้อมูลในตำแหน่ง [0] กับข้อมูลในตำแหน่งที่เหลือ เพื่อหาข้อมูลที่น้อยที่สุดมาใส่แทน เมื่อหาข้อมูลที่น้อยที่สุดมาใส่ในตำแหน่ง [0] เรียบร้อยแล้ว ต่อไปก็ทำการเปรียบเทียบ ข้อมูลในตำแหน่ง [1] กับตำแหน่งที่เหลือ เพื่อหาข้อมูลที่น้อยเป็นลำดับต่อมาใส่ในตำแหน่ง [1] ทำต่อไปเรื่อยๆ จนครบ

การเรียงลำดับ (Sorting): Selection Sort [0] [1] [2] [3] [4] 7 4 1 9 2 [X] [X] [X] [X] [X] กำหนดให้ทำการเรียงจากน้อยไปมาก

การเขียนโปรแกรมโดยใช้อาร์เรย์ โปรแกรมหาค่า max min sum และ average ของตัวเลข 5 จำนวน Enter number1: 1 Enter number2: 12 Enter number3: 31 Enter number4: 40 Enter number5: 29 Max value is 40 Min value is 1 Sum of your number is 113 Average of your number is 22.60

จบการบรรยาย