Tạo folder Mặc định đường dẫn trong free pascal File\ change dir Viết chương trình Tạo file dữ liệu vào bằng Notepad -> sau đó rename file vd: baitap.txt - >baitap.inp Chay chương trình xong Khởi động word lên để mở file kết quả VD: baitap.out Cấu trúc chương trình trong bài Pascal
CÂU LỆNH ĐIỀU KIỆN
Câu lệnh dạng thiếu IF <ĐIỀU KIỆN> THEN <CÂU LỆNH>; 1. Câu lệnh dạng đủ IF <ĐIỀU KIỆN> THEN <CÂU LỆNH 1> ELSE < CÂU LỆNH 2>; CÂU LỆNH LẶP Vòng lặp xác định Dạng tiến FOR <biến đếm>:=<giá trị đầu> TO <giá trị cuối> DO <câu lệnh>; Dạng lùi FOR <biến đếm>:=<giá trị CUỐI> DOWNTO <giá trị ĐẦU> DO <câu lệnh>; Vòng lặp KHÔNG xác định a. WHILE <điều kiện > DO<Câu lệnh>; *Hoạt động: Khi <Đk> đúng <câu lệnh> thực hiện b. REPEAT <công việc> UNTIL <biểu thức>; *Hoạt động: Lặp lại công việc cho đến khi biểu thức =TRUE thì dừng. MẢNG MỘT CHIỀU 1 2 3 A A[10]=89 A[7]=34 A[3]+A[4]=18 *KHAI BÁO BIẾN MẢNG Var <tên mảng>: ARRAY[<csđầu>..<cscuoi>] of <kiểu dữ liệu> Var a:array[1..20] of integer; *Nhập giá trị cho mảng Write(‘Nhap so phần tử :’);readln(n); FOR I:=1 TO N DO BEGIN WRITE(‘a[‘,I,’]:’);READLN(A[I]); END; *Xuất giá trị cho mảng FOR I:=1 TO N DO Writeln(a[i]:6); Var a:array[1..20] of integer; n,i:integer; BEgin Write(‘Nhap so phần tử :’);readln(n); FOR I:=1 TO N DO BEGIN WRITE(‘a[‘,I,’]:’);READLN(A[I]); END; FOR I:=1 TO N DO Writeln(a[i]:6); Readln; End. MẢNG HAI CHIỀU *KHAI BÁO BIẾN MẢNG Var <tên mảng>: ARRAY[ <csđầu>..<cscuoi>,<csđầu>..<cscuoi> ] of <kiểu dữ liệu> VD : VAR A:ARRAY[1..20,1..20]OF INTEGER; A[3,3]=19 A[2,2]=5 2 5 7 8 NHẬP MẢNG 2 CHIỀU Var a: array[1..50,1..30]of integer; M,n,i,j:integer; begin Write(‘Nhap vao dong :’);readln(n); Write(‘Nhap vao cot :’);readln(m); For i:=1 to n do For j:=1 to m do Begin Write(‘a[ ‘,i,’,’,j,’]= ’);readln(a[i,j); End; FOR I:=1 TO N DO BEGIN FOR J:=1 TO M DO WRITE(A[I,J]:5) WRITELN; END; Writeln(‘Tong dong la :’); FOR I:=1 TO N DO BEGIN S:=0; FOR J:=1 TO M DO S:=s+a[i,j]; Write(s:4); End; SẮP XẾP DỮ LIỆU Ở MẢNG 1 CHIỀU A 13 45 2 8 2 Thao tác như sau : - Đem phần từ số 1 so sánh với các phần tử từ thứ 2 đế hết dãy - Tiếp tục đem phần tử thứ so sánh với các phần tử từ vị trí 3 đến hết dãy Vd: Sx tăng mảng a For i:=1 to n-1 do For j:=i+1 to n do If a[i] >a[j] then Begin Tam:=a[i]; A[i]:=a[j]; A[j]:=tam; End; CÁC THAO TÁC VỀ FILE TRÊN PASCAL ASSIGN (filevar, filename) filevar là 1 biến file, filename là 1 biểu thức kiểu string. Tác dụng là gán 1 tên thực sự filename cho 1 biến file, filename là tên của file khi ghi lên đĩa. • RESET (filever) :FILE ĐÃ CÓ • REWRITE (filever) :FILE MỚI TẠO • CLOSE (filevar) Đóng file để tránh bị hư hao, mất mát dữ liệu. SEEK (Filevar, n) - n là biểu thức integer - Các phần tử của file được đánh số từ 0, 1, ...n - Seek (filevar, n) sẽ cho phép ta truy xuất phần tử được đánh số n của file. • ERASE (filevar) - Để xóa 1 file - File cần xóa phải được đóng rồi. • RENAME (filevar, newname): Đổi tên file thành newname. EOF (filevar) Cho trị là true nếu hết file hay con trỏ có vị trí cuối file. • FILEPOS (filevar) Cho trị kiểu integer. Cho biết vị trí hiện tại của con trỏ file. • FILESIZE (filevar) Cho trị kiểu integer. Cho biết chiều dài của file.