Presentation is loading. Please wait.

Presentation is loading. Please wait.

中五級電腦科 PASCAL檔案處理.

Similar presentations


Presentation on theme: "中五級電腦科 PASCAL檔案處理."— Presentation transcript:

1 中五級電腦科 PASCAL檔案處理

2 重溫檔案的結構名稱: 檔案 記錄 欄 5A 陳大文 10 135.5 201.2 5A 李小娟 21 120.2 98.5
班別  (字符串) 學生姓名(字符串) 學號  (整數) 身高  (實數) 體重  (實數) 5A 陳大文 5A 李小娟 5D 常歡樂 :

3 跟據PASCAL的定義,檔案可分為 Untyped file (記錄只接受單一數據類型,但可對文字類數據的記錄,作出記錄長度的設定)
Text file (文字檔,每個記錄皆可存放不同長度及類型的數據-對所有記錄並無任何限制)

4 Untyped file 每個記錄只裝載 單一資料 每個記錄的類型及 長度皆為相同 貨品甲 貨品甲 貨品甲 貨品甲 貨品甲 貨品甲

5 Typed file 每個記錄可裝載 多種類型資料 但每個記錄所包括 的數據類型、次序 及長度皆為相同 貨品甲、乙、丙....
每個記錄可裝載 多種類型資料 但每個記錄所包括 的數據類型、次序 及長度皆為相同 貨品甲、乙、丙.... 貨品甲、乙、丙.... 貨品甲、乙、丙.... 貨品甲、乙、丙....

6 Text file 文字檔 每個記錄可裝載 不同類型、長度 及次序的資料 對記錄的結構並 無任何特別限制 貨品甲、乙、丙 貨品甲 貨品乙、甲
每個記錄可裝載 不同類型、長度 及次序的資料 對記錄的結構並 無任何特別限制 貨品甲 貨品乙、甲 貨品丙、甲、乙 貨品丙

7 記錄 文字檔的優點與缺點: 結構簡單 因所有數據(包括字符及數字)皆以ASCII 方式逐個字符寫入檔案,故可用任何文 書處理軟件翻閱檔案內容
保密不足 從檔案輸入資料時,往往發生結構性錯誤 1, 2, 3 記錄 123, 0, 0 123

8 如何利用PASCAL開啟電腦檔案 所需檔案的類型(文字檔) 該檔案是用作輸入還是輸出 了解或決定個別記錄的欄位結構(欄的設定)
貯於磁碟或硬磁碟的確實檔案名稱 決定該檔案於PASCAL內的對應檔案名稱

9 如何利用PASCAL開啟電腦檔案 於說明部份定意對應檔案名稱 var infile : text; 就叫‘infile’吧!

10 如何利用PASCAL開啟電腦檔案 PASCAL 於說明部份定意對應檔案名稱 var infile : text;
於語句部份把檔案的的確實名稱和對應名稱 連繫起來 assign (infile, ’c:\datafile.txt’); PASCAL

11 如何利用PASCAL開啟電腦檔案 於說明部份定意對應檔案名稱 var infile : text;
於語句部份把檔案的的確實名稱和對應名稱 連繫起來 assign (infile, ’c:\datafile.txt’); 開啟該檔作輸入或輸出用途 輸入:reset (infile); 輸出:rewrite (infile);

12 如何利用PASCAL開啟電腦檔案 於說明部份定意對應檔案名稱 var infile : text;
於語句部份把檔案的的確實名稱和對應名稱 連繫起來 assign (infile, ’c:\datafile.txt’); 開啟該檔作輸入或輸出用途 輸入:reset (infile); 輸出:rewrite (infile); 逐一輸入或輸出記錄 輸入:read (infile, data); 輸出:write (infile, data);

13 如何利用PASCAL開啟電腦檔案 於說明部份定意對應檔案名稱 var infile : text;
於語句部份把檔案的的確實名稱和對應名稱 連繫起來 assign (infile, ’c:\datafile.txt’); 開啟該檔作輸入或輸出用途 輸入:reset (infile); 輸出:rewrite (infile); 逐一輸入或輸出記錄 輸入:read (infile, data); 輸出:write (infile, data); 關閉檔案連結 close (infile)

14 可使用WRITE或WRITELN 但建議使用WRITELN
實例一:將1至10寫入檔案 PROGRAM INPUT_DEMO; VAR I : INTEGER; INFILE : TEXT; BEGIN ASSIGN ( INFILE, ’C:\DATA.TXT’ ); REWRITE ( INFILE ); FOR I := 1 TO 10 DO WRITELN ( INFILE, I ); CLOSE ( INFILE ); END. 可使用WRITE或WRITELN 但建議使用WRITELN

15 輸出數據時要注意的地方: 避免將多個數字類數據放在一起 例:102030  10 20 30
避免將多個數字類數據放在一起  例:  字符串後不應再擺放任何類型的數據 (包括另一字符串) 建議每一記錄只貯存單一數據 例子 將123及10 May 2003寫入同一記錄 輸出時變成12310及May 2003

16 輸入數據時要注意的地方: 必須先了解所輸入數據的類型 依照輸入數據時的結構而選擇 READ 或 READLN
錯用READ可能會讀入不必要的數據 CR 和 LF

17 實例二:列印已寫入的數據 PROGRAM OUTPUT_DEMO; VAR I, J : INTEGER; INFILE : TEXT; BEGIN ASSIGN ( INFILE, ’C:\DATA.TXT’ ); RESET ( INFILE ); FOR I := 1 TO 10 DO BEGIN READLN ( INFILE, J ); WRITELN ( J ) END; CLOSE ( INFILE ); END.

18 實例三:列印已寫入的數據 PROGRAM OUTPUT_DEMO; VAR I : INTEGER; INFILE : TEXT; BEGIN ASSIGN ( INFILE, ’C:\DATA.TXT’ ); RESET ( INFILE ); REPEAT READLN ( INFILE, I ); WRITELN ( I ) UNTIL EOF ( INFILE); CLOSE ( INFILE ); END.

19 重溫: VAR INFILE : TEXT; ASSIGN (INFILE, ’C:\DATA.TXT’); RESET (INFILE);
REWEITR (INFILE); READLN (INFILE, XXXXX); WRITELN (INFILE, XXXXX); EOF (INFILE); CLOSE (INFILE);


Download ppt "中五級電腦科 PASCAL檔案處理."

Similar presentations


Ads by Google