Giáo trình Lập trình Pascal căn bản

Mục đích của giáo trình:

1. Hỗ trợ thêm kiến thức và kỹ năng cho học phần Tin Học Đại

Cương

2. Biết cách chuyển từ việc giải quyết bài toán thông thường

thành việc giải bài toán trên máy tính

3. Rèn luyện tư duy về thuật toán

4. Làm quen với các khái niệm cơ bản về lập trình cho máy

tính thông qua ngôn ngữ lập trình Pascal

pdf60 trang | Chuyên mục: Pascal | Chia sẻ: dkS00TYs | Lượt xem: 2200 | Lượt tải: 2download
Tóm tắt nội dung Giáo trình Lập trình Pascal căn bản, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
t30 = String[30]; 
VAR 
MyFile: FI; 
FileName: St30; 
(*------------------------------------------------*) 
Procedure Tao_File(Var F: FI; Ten: St30); 
Var I: integer; 
Begin 
ASSIGN(F, Ten); 
REWRITE(F); 
For i:=1 to 100 do Write(F, I); 
CLOSE(F); 
End; 
(*------------------------------------------------*) 
BEGIN 
W T ; 
Tin Học Đại Cương - Lập trình Pascal (căn bản) 50 
Edited by Le Duc Long – Mekong Uni. – Computer Science Dep. 
Readln(FileName); 
Tao_File(MyFile, FileName); 
END. 
T ư F N ư 
 T T M F ư 
F B ư F ư T ). 
 Đ L Ộ Ậ Đ 
M ư ư 
 ư ư S 
 . 
M ư ư ư 
 ư C 
 ư : 
M T PASCAL . 
 iến tập tin ên tập tin); hay ASSIGN(FileVar, FileName); 
 iến tập tin); hay RESET(FileVar); 
K ư S RESET 
 ờ ư 
 ư . 
Đ L Ậ : 
V ư READ 
C : 
 il r r r … r ; 
 iến tập tin c c iến); 
T ư S 
 C V N. 
M ư READ V 
V … V N K ư 
I …). 
V 
 ư EOF H EOF EOF B _ 
 = T EOF B _ = F D ư 
 X ư : 
 iến tập tin iến tập tin, X); 
H : 
WHILE iến tập tin) DO 
Begin 
 READ B _ , X); Đ *) 
 … 
End; 
N EOF ư 
 ư . 
C ư : 
 L iến tập tin); 
Tin Học Đại Cương - Lập trình Pascal (căn bản) 51 
Edited by Le Duc Long – Mekong Uni. – Computer Science Dep. 
B ờ NGUYEN DAT ư 
 ư T 
 A B ư G 
 EOF. 
Program DOC_TEP_1; 
Var A, B,C: integer; 
FI: File of integer; 
Begin 
 ; 
RESET(FI); 
Read(FI, A); Đọc một phần t thứ nhất củ tập tin r iến *) 
Read(FI, B); Đọc một phần t thứ h i củ tập tin r iến *) 
Read(FI, C); Đọc một phần t thứ củ tập tin r iến *) 
CLOSE(FI); 
END. 
B READ FI … : 
READ(FI, A, B, B); 
S 
 2. 
T 
 T ư 
 ư NGUYEN DAT D 
 NOT EOF. 
Program DOC_TEP_2; 
Var I: integer 
SoPhanTu: integer; 
FI: File of integer; 
FileName: String[20]; 
Begin 
W T ; 
Readln(FileName); 
ASSIGN(FI, FileName); 
RESET(FI); 
SoPhanTu := 0; 
WHILE NOT EOF(FI) DO 
Begin 
Read(FI,I); Đ I *) 
Writeln(I); 
SoPhanTu := SoPhanTu + 1; Đ *) 
End; 
CLOSE(FI); 
W S F N S P T ; 
End. 
T 
C ư ư ư . 
TYPE 
FI = File Of Integer; 
VAR 
FS, FD: FI; (* FS: File Source, FD: File Destination *) 
Name1, Name2: String[30]; 
(*--------------------------------------------------------*) 
Tin Học Đại Cương - Lập trình Pascal (căn bản) 52 
Edited by Le Duc Long – Mekong Uni. – Computer Science Dep. 
Procedure Copy_File_Int(Var Source, Destination: FI); 
Var I: integer; 
Begin 
Reset(Source); 
Rewrite(Destination); 
While Not EOF(Source) Do 
Begin 
Read(Source, I); 
Write(Destination, I); 
End; 
Close(Source); 
Close(Destination); 
End; 
(*--------------------------------------------------------*) 
Begin 
W C F ; R N ; 
W F ; R N ; 
Assign(FS, Name1); 
Assign(FD, Name2); 
Copy_File_Int(FS,FD); 
W E C ; 
End. 
 Ậ Ớ Ầ Ậ L L Ấ : 
C ư ư 
 … T ư FNS F 
 ư ). 
V 
Write(FNS, Nguoi); 
C ườ ư ư: 
Write(FNS, Nguoi.Ten); 
 Ậ Ậ : 
P T ư 
 … 
 ư Đ 
 T ư P 
 : SEEK. 
C : SEEK(FileVar, No); 
V N . C ư ư 0. 
T N S R 
 W N ư 
 . 
T : 
G T 
 3 : 
Var 
F: File of Integer; 
Ch: char; 
I: integer; 
Begin 
Tin Học Đại Cương - Lập trình Pascal (căn bản) 53 
Edited by Le Duc Long – Mekong Uni. – Computer Science Dep. 
… 
A F SONGUYEN DAT ; R F ; 
SEEK(F, 2); Đ 3 *); 
Read(F, I); 
W I = I ; 
W C ? C K ; Readln(Ch); 
I C [ C 
Begin 
SEEK(F, 2); Đ 3 *) 
W I = ; Readln(I); 
Write(F, I); T *) 
End; 
… 
CLOSE(F); 
End. 
B V 
 . 
 L Ậ L. 
FileSize(FileVar) H F V H 
FilePos(FileVar) H ờ 
F V P 0. 
Erase(FileVar) T ư F V . 
Rename(FileVar, Str); T S 
 S B ư 
 . 
 Ậ Ă Ả : (TEXT FILES) 
T P ư ư ư 
TEXT. 
T F F TEXT 
VAR 
F1, F2: TEXT; 
C tập tin kiểu l c c kí t c c chữ viết song t il kh c với il of h r chỗ 
tập tin văn ản được tổ chức th nh từng ng với độ i mỗi ng kh c nh u nhờ c thêm c c ấu hết 
 ng n f Lin h ấu chấm u ng ng Đ c p kí t điều khiển: CR C R 
 ASCII = LF L F ASCII = C 
 ư ư D CR LF ư 
 ư T 
 ư R 
 . 
T : 
VI DU VAN BAN 
1234 
HET 
Được hiểu l m s chứ trong tập tin văn ản th nh một như s u: 
VI DU VAN BAN CR LF 1234 CR LF HET EOF 
B PAS BAS C … ư 
 ư PASCAL, BASIC hay C. 
Tin Học Đại Cương - Lập trình Pascal (căn bản) 54 
Edited by Le Duc Long – Mekong Uni. – Computer Science Dep. 
D ư 
 R R L W W L C 
 ư . 
M ư R W 
 ư ờ 
 . 
VIII./ GHI Ậ Ă ẢN: 
C 
 C ư ư 
 ườ ư ườ … 
 . 
 c c ch viết 
C 
 rit il r t m t m … t m ; 
Writeln(FileVar, Item1, t m … t m ; 
Writeln(FileVar); 
T rit il r t m t m … t m ; I I … I N 
 ư I R C S B 
F V C I I … I N . 
T : 
Var 
I, J: integer; 
X: real; 
B: Boolean; 
S5: String[5]; 
Ta : 
 rit il r hi u J ; 
T I : X , , , 
T W I A S R 
 F V : 
Write(FileVar, Nguoi); 
V N C ư F V 
 N S ư ư . 
T rit ln il r t m t m … t m ; ư 
 . 
T Writeln(FileVar); ư CR LF 
 ư . 
N ư rit ln il r t m t m … t m ; ư W 
 W ư ) 
BEGIN 
Write(FileVar, Item1); 
Write(FileVar, Item2); 
… 
Write(FileVar, ItemN); 
Writeln(FileVar); 
END; 
C . 
Tin Học Đại Cương - Lập trình Pascal (căn bản) 55 
Edited by Le Duc Long – Mekong Uni. – Computer Science Dep. 
N VI : Write(FileVar, VI); 
S F V VI : Write(FileVar, VI:n); 
S VI 
G VI 12345 
Write(FileVar, VI, VI); cho ra 1234512345 
Write(FileVar, VI:8, VI:8); cho ra ___12345___12345 
N VR : Write(FileVar, VR:n); 
C E ư 
 T ư : 
#.#######E%## 
 n-6 4 
 . 
 – 
N ư E E B 
 ư T S 
 - ư . 
T : VR := 123.123456; 
Write(FileVar, VR:8); cho ra 1.23E+02 
Write(FileVar, VR:n:m); 
M VR 
 N = ư VR. 
T : VR = 123.123456; 
Write(FileVar, VR:10:2); cho ra ____123.12 
Write(FileVar, VR:15:9); cho ra __123.123456000 
 L Ộ (CHAR): 
W F V VC ; VC ư N > - 
 ư VC. 
T CH = H ; 
Write(FileVar, CH:1); cho ra H 
Write(FileVar, CH:3); cho ra __H ư H} 
 L Ộ Ộ : 
Write(FileVar, VS:n); 
C VS ư N < S 
 S . 
T : 
 rit il r llo ; cho ra H 
 rit il r llo ; cho ra Hel 
 rit il r llo 0 ; cho ra _____Hello 
T : 
Var 
Ketqua: TEXT; 
A: integer; B: real; C: String[20]; D: Boolean; 
Begin 
A = ; B = ; C = END ; D = T ; 
 ssign tqu ; 
Rewrite(Ketqua); 
W K K ; 
Write(Ketqua, A:10); 
Write(Ketqua, B:10:4); 
Ket qua la 34 4.14 END 
Dong 2! TRUE 
Tin Học Đại Cương - Lập trình Pascal (căn bản) 56 
Edited by Le Duc Long – Mekong Uni. – Computer Science Dep. 
Writeln(Ketqua, C); 
W D D ; 
Close(Ketqua); 
END. 
C ư ) 
 C ư : 
 rit ln tqu t qu l 0 0 ; 
M A ư M 
 A A Tư B ư 
 . 
C C D 
 TRUE FALSE ư . 
 Đ L Ậ Ă Ả : 
C 
 : 
 il r r r … r ; 
 ln il r r r … r ; 
Readln(FileVar); 
T V 1, Va … V N C S I R B 
 ư 
 . 
 hủ tục ln il r r r … r ; ư 
 ư ư . 
 hủ tục ln(FileVar) ư . 
H B EOLN F EOLN E O L F 
 K EOF=TRUE EOLN TRUE. 
INPUT ư ư 
 INPUT ườ ư 
 INPUT R R : 
Read(Var1) được hiểu ngầm l (INPUT, Var1); 
Readln(Var1) được hiểu ngầm l ln(INPUT, Var1); 
Readln; được hiểu ngầm l ln(INPUT); 
 ấu hiệu củ tập tin văn ản đ được qui ước l kí t s 26 ư CTRL_Z INPUT 
 CTRL_Z EOF(INPUT)=TRUE 
While not EOF(INPUT) do 
Begin 
R V … ; 
End; 
 iệc đọc văn ản c thể tạm chi l m h i loại: 
+ 
+ . 
 L Ă Ả : 
V 
H ư F 
Program Dem_chu; 
Var 
F: Text; 
Ch: Char; 
Tin Học Đại Cương - Lập trình Pascal (căn bản) 57 
Edited by Le Duc Long – Mekong Uni. – Computer Science Dep. 
I: integer; 
FileName: String[30]; 
Begin 
W T ; Readln(Filename); 
Assign(F, FileName); 
Reset(F); 
I := 0; R *) 
While not EOF(F) do Begin 
While not EOLN(F) do Begin 
Read(F, Ch); 
I := I + 1; 
End; 
Readln(F); 
End; 
W S I ; 
Close(F); 
End. 
 Đ L Ậ Ă Ả : 
V 
 il r r r … r ; 
 ln il r r r … r ; 
T V … V N T R R 
 N 
 ư V ư 
 - ư 
 E T 
 F : 
Ket qua la 34 3.1400 END 
Dong 2! TRUE 
G I X (real) c V 
 ư 
S S [10]: 
Readln(F, St10, I, J); 
V R (F, I, J ; K 
 I M ư 
 . 
 hủ tục h m il i , FilePos kh ng được p ụng cho tập tin văn ản v được tính th o 
đơn v l ng kí t với độ i ng th đổi . Tuy nhiên 
 ur o sc l c h i h m l c một phần tên l Seek: 
SeekEoln(FileVar); 
H B ư ư E ư E S T . 
SekkEof(FileVar); 
H B ư ư E ư E S T 
 . 
N ư R R 
 , logic boolean) 
T : 
G ư 
 S ư ư 
 B ư : 
Tin Học Đại Cương - Lập trình Pascal (căn bản) 58 
Edited by Le Duc Long – Mekong Uni. – Computer Science Dep. 
D 
D ườ 
T . 
Ư ư 
E ư E T P ư 
 Đ ư ư 
 R . 
N ư ư ư T 
= 
 S ư N 
 ư C ư 
 ư ? N ư ư 
 ư ư ư 
 ư ư 
 Đ ờ . 
S 
 C S ư 
 G THANG DAT 
 ư E ư : 
C ư ư , 
 ư EOLN ư S ư 
 ư V ư 
W S ư ). 
PROGRAM DOC_DU_LIEU; 
Var 
F: TEXT; 
NhietDo, DoAm: integer; 
Ngay: Byte; 
ApSuat: Real; 
SoNgay: Byte; S ư *) 
BEGIN 
A F THANG DAT ; 
Reset(F); 
Readln(F); N 1 *) 
Readln(F); N 2 *) 
SoNgay := 0; 
While not SeekEoln(F) do Begin 
 Đ *) 
Readln(F, Ngay, NhietDo, ApSuat, DoAm); 
SoNgay := SoNgay + 1; 
 X *) 
End; 
W K S N ; 
… 
Close(F); 
 THOI TIET THANG 10 NAM 2000 
1 30 298.5 45 
2 35 100.8 24 
…………… 
Tin Học Đại Cương - Lập trình Pascal (căn bản) 59 
Edited by Le Duc Long – Mekong Uni. – Computer Science Dep. 
END. 
M ư S T 
 ư 
 ư V ư 
 S ư 
 ư … C 
 . 
VAR 
VANBAN: ARRAY[1..700] OF String[80]; 
 Lư } 
F: TEXT; 
I, Sodong: integer; 
Name: String[30]; 
BEGIN 
 Đ *) 
N = VIDU TXT ; 
Assign(F, Name); 
Reset(F); 
I := 1; 
While not EOF(F) do Begin 
Readln(F, VANBAN[I]); } 
I := i + 1; 
End; 
Sodong := i – 1; *) 
… 
Close(F); 
… 
END. 
Lư : VANBAN 
 KB M 
 ư 
V 
 N ườ 
d … . 
 Ậ 
N ư R F F ư , khi 
 F F ? T P 
 ờ ư ư 
tin. 
{$I+} K ư Đ 
 ư ư . 
{$I-} /r ư ư 
 ờ IOR T P K ờ 
IOR L 
 ườ H IOR = S 
 . 
Procedure OpenInputFile; 
Var 
Tin Học Đại Cương - Lập trình Pascal (căn bản) 60 
Edited by Le Duc Long – Mekong Uni. – Computer Science Dep. 
OK: Boolean; 
Begin 
Repeat 
 W T ; 
 Readln(FileName); 
 Assign(F, FileName); 
 {$I-} hu ển việc kiểm tr v o r cho người ng *) 
 Reset(F); 
 OK := IOResult = 0; 
 {$I+} u khi ng sult t c thể chu ển th nh $I+ *) 
 I OK K ; 
Until OK; 
End; 
T ư ư IOC B 
 IOC . t kh c c ng cần lưu - v sult 
được ng kh ng ch với thủ tục s t m c n với c c thủ tục kh c như: ERASE, RENAME, WRITE, 
 … 
 Ậ 
 V ư ASCII 
 V ư 
 V ư … 
 NEWFILE.TXT 
 V ư T 
 V ư ườ 
 . 

File đính kèm:

  • pdfGiáo trình Lập trình Pascal căn bản.pdf