Danh mục

Lập trình bằng Turbo Pascal part 8

Số trang: 28      Loại file: pdf      Dung lượng: 293.69 KB      Lượt xem: 9      Lượt tải: 0    
Jamona

Phí tải xuống: 12,000 VND Tải xuống file đầy đủ (28 trang) 0
Xem trước 3 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

Duyệt một danh sách lμ thao tác truy cập đến tất cả các phần tử của danh sách để thực hiện một xử lí nμo đó sao cho đảm bảo không sót vμ không lặp. Không sót nghĩa lμ mọi phần tử đều đ−ợc xử lí, không lặp nghĩa lμ không phần tử nμo bị xử lí quá một lần. Phép duyệt có thể thực hiện nhờ một vòng lặp For For i:= 1 to L.kt do " xử lí L.PhanTu[i]" ; Ví dụ Thay toμn bộ tên bằng chữ in hoa For i:= 1 to L.kt do L.PhanTu[i]:= upper(L.PhanTu[i]);...
Nội dung trích xuất từ tài liệu:
Lập trình bằng Turbo Pascal part 8 LËp tr×nh b»ng Turbo Pascal 1.3.2 DuyÖt danh s¸ch. DuyÖt mét danh s¸ch lμ thao t¸c truy cËp ®Õn tÊt c¶ c¸c phÇn tö cñadanh s¸ch ®Ó thùc hiÖn mét xö lÝ nμo ®ã sao cho ®¶m b¶o kh«ng sãt vμ kh«nglÆp. Kh«ng sãt nghÜa lμ mäi phÇn tö ®Òu ®−îc xö lÝ, kh«ng lÆp nghÜa lμkh«ng phÇn tö nμo bÞ xö lÝ qu¸ mét lÇn. PhÐp duyÖt cã thÓ thùc hiÖn nhê mét vßng lÆp For For i:= 1 to L.kt do xö lÝ L.PhanTu[i] ; VÝ dô Thay toμn bé tªn b»ng ch÷ in hoa For i:= 1 to L.kt do L.PhanTu[i]:= upper(L.PhanTu[i]); 1.3.3 T×m kiÕm T×m kiÕm mét phÇn tö trong danh s¸ch lμ nh»m ph¸t hiÖn phÇn tö cãchøa mét thμnh phÇn d÷ liÖu trïng khíp víi mÉu ®· cho. MÉu nμy th−êng®−îc gäi lμ khãa t×m kiÕm. Tuú theo danh s¸ch cã ®−îc s¾p xÕp thø tù theo kho¸ ®· cho haykh«ng mμ cã c¸c c¸ch t×m kiÕm kh¸c nhau.T×m kiÕm tuÇn tù - Sequential Searching Khi danh s¸ch ch−a ®−îc s¾p xÕp th× c¸ch duy nhÊt ®Ó thùc hiÖn t×mkiÕm lμ duyÖt tõ ®Çu, cho ®Õn khi t×m thÊy hoÆc ph¸t hiÖn kh«ng cã.T×m kiÕm nhÞ ph©n - Binary Searching Khi danh s¸ch ®· ®−îc s¾p xÕp ®óng thø tù theo kho¸ cÇn t×m th× cãthÓ tiÕn hμnh t×m kiÕm theo c¸ch chia ®«i dÇn. §©y lμ thñ tôc t×m kiÕm nhÞph©n ®· xÐt ®Õn trong phÇn thñ tôc ®Ö quy. 1.3.4 Thªm phÇn tö. - HoÆc nèi vμo cuèi, khi ®ã danh s¸ch kh«ng ®−îc s¾p theo thø tù.Thùc hiÖn ®¬n gi¶n nh−ng sÏ ph¶i chi phÝ nhiÒu khi t×m kiÕm. - HoÆc chÌn ®óng chç, theo c¸ch nμy buéc ph¶i t×m ®óng vÞ trÝ vμ sau®ã dÞch chuyÓn c¶ phÇn ®u«i. Thùc hiÖn phøc t¹p h¬n nh−ng bï l¹i khi t×mkiÕm sÏ nhanh h¬n. 1.3.5 Gì bá phÇn tö - T×m ®Õn phÇn tö cÇn gì bá vμ huû phÇn tö nμy b»ng c¸ch chÐp dånlªn1.4 C¸c −u, nh−îc ®iÓm. Danh s¸ch thÓ hiÖn b»ng cÊu tróc m¶ng cã c¸c −u nh−îc ®iÓm sau.NguyÔn §×nh Ho¸, ViÖn CNTT - §HQG Hμ néi 189 LËp tr×nh b»ng Turbo Pascal - §¬n gi¶n, cã thÓ cμi ®Æt ®Ô dμng b»ng kiÓu m¶ng ®· quen biÕt. - BÊt tiÖn khi th−êng xuyªn cã thao t¸c thªm bít phÇn tö ë gi÷a danhs¸ch.1.5 VÝ dô minh ho¹ §Ó thÊy ®−îc c¸c −u nh−îc ®iÓm cña danh s¸ch m¶ng h·y c¶i tiÕnch−¬ng tr×nh qu¶n lÝ hå s¬ cña sinh viªn ®· ph¸t triÓn trong ch−¬ng 3.Ch−¬ng tr×nh nμy ®· cho phÐp tiÕn hμnh c¸c thao t¸c t¹o lËp, liÖt kª, t×m kiÕmvμ thªm mét hå s¬ vμo cuèi danh s¸ch. CÇn bæ xung thªm chøc n¨ng thø 5lμ cho phÐp huû mét hå s¬. 1.5.1 Ph©n tÝch, thiÕt kÕ. Chøc n¨ng huû mét hå s¬ trong danh s¸ch sinh viªn lμ thñ tôc phøct¹p h¬n c¶ v× b¶n ghi cÇn huû cã thÓ n»m ë gi÷a tÖp. CÇn cã thao t¸c dån lÊpchç trèng. Néi dung tÖp ph¶i viÕt l¹i hoμn toμn. Do ®ã cÇn ®äc toμn bé th«ngtin ra mét m¶ng trong bé nhí ®Ó tiÖn xö lÝ. ChØ viÕt l¹i vμo tÖp ë thêi ®iÓmcuèi cïng, khi mäi thay ®æi ®· hoμn tÊt. Mét danh s¸ch c¸c hå s¬ ®−îc thùc hiÖn b»ng m¶ng c¸c b¶n ghi. TacÇn khai b¸o mét danh s¸ch m¶ng nh− sau. Type DSHoso = Record PhanTu: array [1..max_kt] of Hoso; Kt: word; End; Var L: DSHoso Chi tiÕt dÇn tõng b−íc thñ tôc huû mét hå s¬ khái danh s¸ch nh− sau.5. Huû mét hå s¬. - §Çu vμo: tÖp ®· më s½n, m· sè cña hå s¬ cÇn huû gâ tõ bμn phÝm - §Çu ra: tÖp kh«ng cßn chøa b¶n ghi cÇn huû. Chi tiÕt dÇn tõng b−íc. 5.1 ChÐp toμn bé néi dung tÖp ra m¶ng c¸c b¶n ghi. 5.2.1 §−a cöa sæ tÖp vÒ ®Çu tÖp; g¸n chØ sè ®Çu tiªn cña m¶ng. 5.2.2 §äc tõ tÖp ra phÇn tö m¶ng 5.2.3 T¨ng chØ sè m¶ng lªn mét 5.2.4 Dõng khi hÕt tÖp. 5.2 NhËp m· sè cña hå s¬ cÇn huû. 5.3 T×m kiÕm phÇn tö m¶ng lμ b¶n ghi cã m· sè ®· cho: 5.3.1 Gäi thñ tôc T×m kiÕm. 5.4 Xö lÝ kÕt qu¶ t×m kiÕm. 5.4.1 Tr−êng hîp kh«ng thÊy, hiÓn thÞ th«ng b¸o kh«ng thÊy.NguyÔn §×nh Ho¸, ViÖn CNTT - §HQG Hμ néi 190 LËp tr×nh b»ng Turbo Pascal 5.4.2 Tr−êng hîp thÊy, tiÕn hμnh gì bá b¶n ghi khái m¶ng: 5.4.2.1 ChÐp dån c¸c phÇn tö m¶ng lªn mét vÞ trÝ lÊp vμo chç phÇn tö m¶ng bÞ gâ bá, 5.4.2.2 hiÓn thÞ th«ng b¸o thμnh c«ng. 5.5 Hái l¹i ng−êi dïng cã cÇn huû tiÕp hay kh«ng. 5.6 Xö lÝ tr¶ lêi cã: lÆp l¹i tõ b−íc 5.2; 5.7 ViÕt néi dung cña m¶ng ra tÖp 5.8 §ãng tÖp vμ kÕt thóc. 1.5.2 TriÓn khai chi tiÕt. Tõ b¶ng ph©n tÝch chi tiÕt dÇn tõng b−íc ë trªn, dÔ dμng chuyÓn thμnhmét thñ tôc Pascal nh− d−íi ®©y. L−u ý r»ng ®Ó nhÊn m¹nh cÊu tróc danhs¸ch vμ dÔ theo dâi ta kh«ng sö dông c©u lÖnh with mμ viÕt ®Çy ®ñ c¸c cÊpcña kiÓu b¶n ghi lång nhau.procedure Huy;var TimThay:boolean; CoHuy:boolean; traloi:char ...

Tài liệu được xem nhiều: