1. Khai báo:
a. Thư viện màn hình, âm thanh : USES CRT; (Để dùng các lệnh: CLRSCR; READKEY )
b. Hằng: CONST biến = giá trị (vd: CONST m=10). Thường dùng khi làm bài tập với mảng.
c. Biến: VAR biến : kiểu dữ liệu. Ví dụ: (xem bảng bên dưới)
3 trang |
Chia sẻ: quynhsim | Lượt xem: 880 | Lượt tải: 0
Bạn đang xem nội dung tài liệu Bài giảng môn Tin học: Tóm tắt lý thuyết pascal, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
TÓM TẮT LÝ THUYẾT PASCAL
Khai báo:
Thư viện màn hình, âm thanh: USES CRT; (Để dùng các lệnh: CLRSCR; READKEY)
Hằng: CONST biến = giá trị (vd: CONST m=10). Thường dùng khi làm bài tập với mảng.
Biến: VAR biến : kiểu dữ liệu. Ví dụ: (xem bảng bên dưới)
Số nguyên
Thực:
Kí tự
Chuổi
Logic
Mảng
Tập hợp
I: Integer
X: Real
Ch: Char
S: String
Ktra: Boolean
A: array[1..10] of integer
hoa Set of char
Một số câu lệnh và lưu ý:
IF THEN hoặc IF THEN ELSE ;
CASE OF
giá trị 1: lệnh 1;
giá trị 2: lệnh 2;
giá trị n: lệnh n;
ELSE lệnh 0;
END; (lưu ý phải có END-kết thúc lệnh CASE, nếu không chương trình báo lỗi em sẽ khó phát hiện được)
FOR biến := giá trị đầu TO/DOWN TO giá trị cuối DO
Lưu ý: Đối với TO giá trị đầu == giá trị cuối; nhiều câu lệnh thì phải dùng BEGINEND.
REPEAT UNTIL
WHILE DO
Lưu ý: Nhiều câu lệnh thì phải dùng BEGINEND.
* Đối với các câu lệnh lặp phải có điều kiện thoát, nếu không chương trình sẽ bị treo. Khi giải toán có câu lệnh lặp nên lưu tập tin trước khi chạy chương trình.
Một số hàm, thủ tục
Kiểu nguyên:
Phép toán: MOD : Chia lấy phần dư (10 mod 3 = 1);
DIV: Chia lấy phần nguyên (10 div 3 =3)
Hàm: INC(X,N), DEC(X,N), .
Kiểu Thực:
Hàm TRUNC(X): Lấy phần nguyên của X không lấy phần lẻ (TRUNC(32,456)=32).
Kiểu kí tự:
Hàm CHR(x): Trả về giá trị là kí tự trong mã ASCII ứng với số thứ tự x.(CHR(65)=’A’; hoặc #65=’A’).
Hàm ORD(ch): Trả về giá trị là số thứ tự của ký tự ch trong bảng mã ASCII. (ORD(‘a’)=97.
Vị trí của một số ký tự trong bảng mã ASCII (phải học thuộc lòng): Phím cách trống 32, phím Enter: 13, phím ESC: 27, A : 65 , a: 97,
Hàm READKEY(Ch:=Readkey): Nhận một ký tự từ bàn phím (gán cho Ch) nhưng không hiện ký tự này. (Dùng cho bài mật khẩu).
Hàm KEYPRESSED; cho giá trị true nếu có 1 phím được bấm, ngược lại cho gía trị false.
Kiểu chuổi:
Hàm LENGTH(S): Trả về giá trị là độ dài của chuổi S
Hàm COPY(S,P,N): Lấy chuổi S tại vị trí P, lấy N kí tự.
Hàm POS(S1,S): Trả về giá trị là vị trí của S1 trong S, nếu không thấy thì bằng 0.
Thủ tục DELETE(S,P,N): Xoá chuổi S từ vị trí P, xoá đi N kí tự.
Thủ tục INSERT(S1,S,P): Chèn chuổi S1 vào chuổi S tại vị trí P.
Thủ tục STR(X,S): Biếu đổi số X ra thành chuổi S.
Thủ tục VAL(S,X,C): Biến đổi chuổi S thành số X nếu đúng thì C=0, nếu không C sẽ nhận giá trị tại vị trí không biến đổi được.(VD: Val(‘128b7,x,c)à c=4 – không biến đổi được).
Giải thuật tìm kiếm (tìm xem x có trong mảng không)
For i:=1 to n do
If a[i]=x then
Begin vt:=i; break; end;
If vt>0 then write(‘Da tim thay tai’,vt)
Else write(‘Khong thay’);
Kiểu mảng:
Giải thuật sắp xếp mảng: (Phải nắm vững)
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;
Kiểu tập hợp:
Gán giá trị cho tập hợp:
VD: hoa := [‘A’..’Z’]; nguyenam:=[‘a’,’e’,’i’,’o',’u’, ‘A’,’E’,’I’,’O',’U’]; lưu ý: trước đó phải khai báo: hoa, nguyenam : set of char.
Phép toán: IN (vd: Ch IN hoa) : Trả về giá trị TRUE nếu Ch có trong tập hợp hoa, ngược lại FALSE
Một số chương trình con: (tham khảo-học thuộc thì càng tốt)
c. Thủ tục cắt các khoảng trống thừa
Procedure cattrong(var xau:string);
begin
while xau[1]=#32 do delete(xau,1,1);
while xau[length(xau)]=#32 do delete(xau,length(xau),1);
while pos(#32#32,xau)>0 do delete(xau,pos(#32#32,xau),1);
end;
Kiểm tra số nguyên tố
Function ktranto(z:longint):boolean;
var i:longint;
begin
ktranto:=true;
for i:=2 to trunc(sqrt(z)) do
if z mod i=0 then ktranto:=false;
end;
Kiểm tra xâu đối xứng
function ktradx(xau:string):boolean;
var xautam:string;
i:byte;
begin
ktradx:=false;
xautam:='';
for i:=length(xau) downto 1 do
xautam:=xautam+xau[i];
if xautam=xau then ktradx:=true;
end;
Tự học sinh ghi thêm:
File đính kèm:
- tom tat ly thuyet.doc