27
SEARCHING

SEARCHING

Embed Size (px)

DESCRIPTION

SEARCHING. SEARCH. 1. นำดรรชนีที่กำหนดไว้ในคำสั่ง OCCURS มาเปรียบเทียบกับจำนวนของข้อมูลในตาราง ถ้าดรรชนีมีค่ามากกว่า จะทำให้มีการไปทำงานที่คำสั่งที่อยู่ในส่วนของ AT END และจากนั้นจะไปทำงานที่คำสั่งที่อยู่ถัดจาก คำสั่ง SEARCH - PowerPoint PPT Presentation

Citation preview

Page 1: SEARCHING

SEARCHING

Page 2: SEARCHING
Page 3: SEARCHING

SEARCH1. นำ�ดรรชนีที่กำ�หนดไวใ้นคำ�สัง่ OCCURS ม�เปรยีบเทียบกับจำ�นวนของขอ้มูลในต�ร�ง ถ้�ดรรชนีมีค่�ม�กกว�่ จะทำ�ใหม้กี�รไปทำ�ง�นท่ีคำ�สัง่ที่อยูใ่นสว่นของ AT END และจ�กนัน้จะไปทำ�ง�นที่คำ�สัง่ที่อยู่ถัดจ�ก คำ�สัง่ SEARCH

2. แต่ถ้�ดรรชนีมค่ี�ไมเ่กินขน�ดของต�ร�ง จะมกี�รไปทำ�ง�นที่สว่นของคำ�สัง่ WHEN เพื่อเปรยีบเทียบเง่ือนไข ถ้�เง่ือนไขเป็นจรงิ จะไปที่คำ�สัง่ที่อยูถ่ัดจ�กเง่ือนไขนัน้ แล้วจะทำ�ใหจ้บก�รทำ�ง�นของคำ�สัง่ SEARCH นัน่คือจะไปทำ�ง�นท่ีคำ�สัง่ถัดจ�ก SEARCH

3. แต่ถ้�เง่ือนไขไมเ่ป็นจรงิ จะทำ�ใหม้กี�รเพิม่ค่�ของดรรชนีขึ้นอีกหนึ่ง แล้วจะยอ้นกลับไปทำ�ง�นดังเชน่ขอ้ 2

0108 COKE 0020 1500

0125 ICE 0005 0800

0201 THAIRATH 0003 1000

0305 SHAMPOO 0012 3000

Page 4: SEARCHING

SALES-TABLE

Page 5: SEARCHING

SALES-TABLE

Load-data

Page 6: SEARCHING
Page 7: SEARCHING

SALES-TABLE

01 00205007 01000004 00807503 20000006 05000010 00405000 00000000 00000000 00000000 000000

10M

Page 8: SEARCHING

SALES-TABLE

01 00205007 01000004 00807503 20000006 05000010 00405000 00000000 00000000 00000000 000000

20M

Page 9: SEARCHING
Page 10: SEARCHING

ABCDEFGHIJKLMNOPQRSTUVWXYZ

LetIndex 1-26

12345678901234567890123456 11111111112222222

LetterValues

Letter(1) , Letter(2), … , Letter(26)

Page 11: SEARCHING
Page 12: SEARCHING
Page 13: SEARCHING
Page 14: SEARCHING
Page 15: SEARCHING

NEXT SENTENCE

Page 16: SEARCHING

NEXT SENTENCE

Page 17: SEARCHING

NEXT SENTENCE

Page 18: SEARCHING

NEXT SENTENCE

IF A = B NEXT SENTENCEELSE MOVE C to DEND-IFDISPLAY "This is NOT the NEXT SENTENCE".DISPLAY "This IS the NEXT SENTENCE".

Page 19: SEARCHING

Multiple WHEN

Page 20: SEARCHING
Page 21: SEARCHING
Page 22: SEARCHING

ABCDEFGHIJKLMNOPQRSTUVWXYZ

Rindex

Lindex

12

1234567890123

Page 23: SEARCHING

int binary_search(int a[], int key, int left, int right) { if (left > right) // แสดงว�่แถวลำ�ดับไมม่สีม�ชกิเหลืออยูแ่ล้ว และไมม่ ีkey ท่ีต้องก�ร return -1; //แสดงว�่ไมพ่บค่� key else //ถ้�ยงัมสีม�ชกิอยูก่็ทำ�ก�รค้นห�ต่อไป { int mid = (left+right)/2; //mid ดัชนีตรงกล�งของแถวลำ�ดับยอ่ยหรอืหลัก if (a[mid]>key) // แสดงว�่ key ต้องอยูร่ะหว�่ง a[left] กับ a[mid-1] return binary_search(a,key,left,mid-1); //ดังนัน้จงึไปค้นห�ต่อในแถวลำ�ดับยอ่ยระหว�่ง left และ mid-1 if(a[mid]<key) return binary_search(a,key,mid+1,right); if(a[mid]==key) //พบ return mid; //คืนค่�ตำ�แหน่งของ key ในแถวลำ�ดับ a กลับไป } }

Page 24: SEARCHING

Binary Search

Page 25: SEARCHING
Page 26: SEARCHING
Page 27: SEARCHING