Danh mục

Dữ liệu kiểu File trong Pascal

Số trang: 14      Loại file: doc      Dung lượng: 59.00 KB      Lượt xem: 14      Lượt tải: 0    
tailieu_vip

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

Thông tin tài liệu:

Tệp là một kiểu dữ liệu có cấu trúc. Định nghĩa tệp có phần nào giống mảng ở chỗ chúng đều là tập hợp của các phần tử dữ liệu cùng kiểu. Song mảng được khai báo trong chương trình với số phần tử đã xác định, còn số phần tử của tệp không xác định khi định nghĩa
Nội dung trích xuất từ tài liệu:
Dữ liệu kiểu File trong Pascal D ữ li ệu ki ểu File1.Kh¸i niÖm vÒ tÖp TÖp hay tÖp d÷ liÖu lµ mét tËp hîp c¸c d÷ liÖu cã liªn quan víinhau vµ cã cïng kiÓu ®îc nhãm l¹i víi nhau t¹o thµnh mét d·y. Chóngth êng ®îc chøa trong mét thiÕt bÞ nhí ngoµi cña m¸y tÝnh (®Üa mÒm,®Üa cøng...) TÖp d÷ liÖu theo nghÜa réng : cã thÓ ®ã lµ ch¬ng tr×nh, cã thÓlµ sè liÖu, cã thÓ lµ c¸c d÷ liÖu kh¸c nh kÝ tù, v¨n b¶n... TÖp ®îc lu tr÷ trong bé nhí ngoµi nh ®Üa cøng, ®Üa mÒm...§iÒu®ã cã nghÜa lµ tÖp ®îc lu tr÷ ®Ó dïng nhiÒu lÇn vµ tån t¹i ngay c¶khi ch¬ng tr×nh kÕt thóc hoÆc mÊt ®iÖn. V× vËy nhng d÷ liÖu nµocÇn lu gi÷ th× chóng ta b¾t buéc ph¶i dïng ®Õn tÖp. TÖp lµ mét kiÓu d÷ liÖu cã cÊu tróc. §Þnh nghÜa tÖp cã phÇnnµo gièng m¶ng ë chç chóng ®Òu lµ tËp hîp cña c¸c phÇn tö d÷ liÖucïng kiÓu. Song m¶ng ®îc khai b¸o trong ch¬ng tr×nh víi sè phÇn tö ®·x¸c ®Þnh, cßn sè phÇn tö cña tÖp kh«ng x¸c ®Þnh khi ®Þnh nghÜa2. C¸ch ®Þnh nghÜa tÖp trong PascalC¸ch 1TYPEKiÓu_tÖp = FILE OF kiÓu_phÇn_tö;Sau ®ã ta khai b¸oVAR BiÕn_TÖp : KiÓu_tÖp;C¸ch 2 : khai b¸o trùc tiÕpVARBiÕn_tÖp : FILE OF KiÓu_phÇn_tö;VD :TYPE FileInteger = FILE OF integer; FileReal = FILE OF real; FileBoolean = FILE OF Boolean; Nhan_su = RECORD Ten : String[30]; Tuoi : Byte; Luong : Real; 1 END;VAR F1,F2 : FileInteger; F3 : FileReal; FNS : FILE OF Nhan_su; F5 : FILE OF Char;3.Më tÖp míi ®Ó cÊt d÷ liÖu a. Më tÖp ®Ó ghi Pascal dïng 2 thñ tôc ®i liÒn nhau theo thø tù ASSIGN (BiÕn_TÖp, Tªn_tÖp); G¸n tªn_tÖp cho biÕn_tÖp; REWRITE (BiÕn_TÖp); VD : ASSIGN(F1,NGUYENTO.DAT); REWRITE(F1); Sau khi më tÖp xong, tÖp sÏ rçng v× cha cã phÇn tö nµo, cöa sæ tÖpsÏ kh«ng cã gi¸ trÞ x¸c ®Þnh v× nã trá vµo cuèi tÖp (EOF). L y ý, nÕutrªn ®Üa cã tËp tin trïng víi tªn cña tÖp më th× nã sÏ bÞ xo¸ ®i. b.Ghi c¸c gi¸ trÞ vµo tÖp víi thñ tôc WRITE C¸ch viÕt Write (BiÕn_tÖp, Item1, Item2, ... , ItemN); Trong ®ã Item1, Item2,...ItemN lµ c¸c h»ng, biÕn, c¸c biÓu thøc vµph¶i cã gi¸ trÞ cïng víi kiÓu phÇn tö cña tÖp VD : Víi I,J,K lµ c¸c biÕn INTEGER, ta cã thÓ viÕt : Write (F1, 3, I+2*J, K, 5); Bíc cuèi cïng cña viÖc ®Æt d÷ liÖu vµo tÖp lµ ®ãng tÖp b»ng thñ tôc CLOSE (BiÕn_TÖp) VD : CLOSE(F1);4. §äc d÷ liÖu tõ mét tÖp ®· cã a. Më tÖp ®Ó ®äc Pascal dïng 2 thñ tôc ®i liÒn nhau theo thø tù ASSIGN (BiÕn_TÖp, Tªn_tÖp); G¸n tªn_tÖp cho biÕn_tÖp; RESET (BiÕn_TÖp); VD : ASSIGN(F1,NGUYENTO.DAT); RESET(F1);Sau khi më tÖp xong, nÕu tÖp kh«ng rçng th× cöa sæ bao giê còng trávµo phÇn tö ®Çu tiªn cña tÖp 2 b.§äc d÷ liÖu tõ tÖp C¸ch viÕt Read (BiÕn_tÖp, Var1, Var2, ... , VarN); Trong ®ã Var1, Var2,...VarN chØ cã thÓ lµ c¸c biÕn cã gi¸ trÞ cïng víikiÓu phÇn tö cña tÖp ViÖc ®äc mét phÇn tö cña tÖp cßn cÇn cã ®iÒu kiÖn : ph¶i xem tÖpcã cßn phÇn tö kh«ng, tøc lµ cöa sæ tÖp cha trá ®Õn EOF. HµmEOF(BiÕn_tÖp)=TRUE nÕu cöa sæ tÖp trá vµo cuèi tÖp vµEOF(BiÕn_tÖp)=FALSE nÕu cöa sæ vÉn trá vµo phÇn tö cña tÖp VD : Muèn ®äc tÊt c¶ c¸c phÇn tö cña tÖp WHILE not EOF(BiÕn_TÖp) DO BEGIN Read(BiÕn_TÖp, X); .................. END; c.Bíc cuèi cïng cña viÖc ®äc d÷ liÖu tõ tÖp lµ ®ãng tÖpb»ng thñ tôc CLOSE (BiÕn_TÖp) VD : CLOSE(F1);5.TÖp truy nhËp trùc tiÕp V× ®é dµi cña c¸c phÇn tö trong tÖp lµ nh nhau nªn ta cã thÓ truynhËp trùc tiÕp vµo vÞ trÝ cña mét phÇn tö nµo ®ã trong tÖp b»ng c¸chdïng SEEK C¸ch viÕt SEEK (BiÕn_TÖp, No) No lµ sè thø tù cña phÇn tö trong tÖp Theo thñ tôc nµy m¸y sÏ ®Æt cöa sæ tÖp vµo phÇn tö thø No. Sau ®ãta chØ cÇn dïng c¸c thñ tôc READ ®Ó ®äc nã ra hoÆc WRITE ®Ó ®Ætgi¸ trÞ míi vµo6.C¸c thñ tôc vµ hµm xö lÝ tÖp cña PascalFILESIZE (F) : cho sè phÇn tö cña tÖp FFILEPOS (F) : cho vÞ trÝ tøc thêi cña con tráERASE (F) : xo¸ FILE trªn ®Üa cã tªn ®· g¸n vµo FRENAME (F, St) : ®æi tªn tÖp thµnh St (kiÓu String)7.TÖp v¨n b¶n (TEXT FILE) 3 a. C¸ch khai b¸o VAR BiÕn_tÖp : TEXT; VD : VAR F1,F2 : TEXT C¸c phÇn tù cña tÖp kiÓu TEXT lµ c¸c kÝ tù (ch÷ viÕt) song TEXTkh¸c víi FILE OF Char ë chç TEXT ®îc tæ chøc thµnh tõng dßng víi ®édµi mçi dßng kh¸c nhau nhê cã thªm c¸c dÊu hÕt dßng. §ã lµ cÆp kÝ tù®iÒu khiÓn : - CR (Carriage Return) : nh¶y vÒ ®Çu dßng, m· sè ASCII=13 - LF (Line Feed) : nh¶y xuèng dßng tiÕp theo, m· sè ASCII=10 Chóng ®îc nhËn d¹ng ®Ó ng¨n c¸ch gi÷a 2 d·y kÝ tù t ¬ng øng víi 2dßng kh¸c nhau VD : §o¹n v¨n b¶n sau VI DU 1234 HET M¸y sÏ chøa trong tÖp v¨n b¶n thµnh mét d·y nh sau : VI DU ³ CR LF ³ 1234 ³ CR LF ³ HET ³ EOF b.Ghi vµo tÖp v¨n b¶n Cã 3 thñ tôc Write(BiÕn_TÖp, Item1, Item2,...ItemN); Writeln(BiÕn_TÖp, Item1, Item2,...ItemN); Writeln(BiÕn_TÖp); Trong ®ã Item1, Item2,...ItemN lµ c¸c h» ...

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