#PASCAL - Thằng hại não
Bài viết phục vụ cho việc ôn tập Pascal nhanh chóng cho các bạn thi tin học các kiểu
##Tổng Quan - Xấu mà đẹp
-
Pascal không phân biệt hoa thường. Bắt đầu định danh phải là Kí tự chữ, không cho phép kí hiệu trong định danh (trừ _ )
VD: BAI_NAY_MEO_BIET_LAM, bainayMeoBietLam, bai3eoThemLam -
Mỗi câu lệnh kết thúc bằng " ; ", khối lệnh mở đầu bang " begin " và kết thúc bang “end”
-
Cấu trúc một chương trình Pascal chuẩn
program Bai3MeoBietLam;
uses crt;
begin
{Méo biết trong này chứa gì}
end.
- Mọi biến đều phải khai báo ở đầu chương trình với từ khoá
var
hoặcconst
(đ/v hằng số)
##CƠ cmn BẢN (những gì trẻ trâu 8 học)
###Biến và Hằng
const SauChin = 69;
var SauChin, SinChau : integer = 69;
- Khai báo hàm (sau
var
):<Định danh> : < kiểu > [< = <giá trị khởi tạo> ];
Giá trị khởi tạo có thể có hoặc không. - Khai báo hằng :
const <định danh> = <giá trị>;
- Các kiểu dữ cmn lieu: biết mấy thằng này là ngon rồi
Tên Kiểu | Phạm Vi | Ý cmn Nghĩa
---------+-------------------------+--------------------
BYTE | 0..255 | Số tự nhiên
INTEGER | -32768..32767 | Số Nguyên
CHAR | 256 Kí tự ASCII | Kí tự đơn
STRING | Max = 256 Char | Chuỗi (Mảng kí tự)
BOOLEAN | TRUE/FALSE | Luận lý
REAL | 2,9x10^-39 .. 1,7x10^38 | Số Thực
LONGINT | -2147483648..2147483647 | Số Nguyên
CARDINAL | 0 .. 4294967295 | Số Tự Nhiên
INT64 | -2^63 .. 2^63 - 1 | Số Nguyên
//Lưu ý: INT64 không thể dùng cho biến đếm for
- Mảng:
<định danh> : array [ < min > .. < max > ] of <kiểu>;
###Toán Tử
:= gán (bác Wirth vui tính v**l)
+ - * / div (chia lấy nguyên) mod (chia lấy dư)
> < >= <= = <>(khác)
not or and
###Điều Khiển
if <điều kiện> then <lệnh> [ else <lệnh (có thể if đc)> ] ;
case <biểu thức> of
<giá trị> : <lệnh> ;
[ else <lệnh>; ]
end;
for <biến đếm> := <đầu> to/downto <cuối> do <lệnh>
while <đk> do <lệnh>;
do <lệnh> while <đk>;
rapeat <lệnh> until <đk thoát>;
Thủ Tục Cơ bản
write ( 'Đây là chuỗi'); writeln ('Bla bla'); -> in ra không xuống dòng & xuống dòng
read (<biến>); readln(<biến>); -> nhập input không cần enter và cần enter
sqr -> bình phương
sqrt -> căn bậc hai
abs -> lấy trị tuyệt đối
odd(x); xét x có là số lẻ ko
chr(x); -> trả về kí tự thứ x trong ascii
ord(x); -> trả về thứ tự của x trong ascii
round(x); -> làm tròn
##CHUYÊN MÔN (những gì thằng đi thi học)
###Thủ Tục và Hàm
- Thủ Tục:
procedure <tên> [ ([var] <tham số>: <kiểu tham số> ) ];
var <biến nội bộ> : <kiểu>;
begin
{ bla bla }
end;
- Hàm: khi cần trả về trị, ta dùng
exit(<trị>);
function <tên> [ ([var] <than số> : <kiểu tham số> ) ] : <kiểu trả về>;
var <biến nội bộ> : <kiểu>;
begin
{ bla bla }
end;
###Thao Tác Tệp
Trước hết ta cần tạo 1 biến kiểu text
assign(<filevar>, <địa chỉ file trên đĩa>); -> gán file
rewrite(<filevar>); -> tạo file mới để ghi
reset(<filevar>); -> đọc file
append(<filevar>); -> ghi file (file có sẵn)
close(<filevar>); -> đóng file
để đọc dữ liệu file ta dùng lệnh:
eof(<filevar>); -> file có kết thúc chưa
eoln(<filevar>); -> dòng đang đọc kết thúc chưa
###Sâu
delete(<strvar>, <vị trí>, <độ dài>);
insert(<strvar>, <string>, <vị trí>);
copy(<strvar> , <vị trí>, <độ dài>);
length(<strvar>); -> trả về độ dài sâu (áp dung cho mảng cũng đc nhé ;) )
pos(<string>,<strvar>); -> trả về vị trí xuất hiện string đầu tiên trong strvar
upcase(<strvar>); / lowcase(<strvar>);
StrToInt(<string>); -> cast chuỗi thành số, cần dùng uses SysUtils;
Còn nữa và sẽ cập nhật thêm sau