Quick Review Pascal (cho các thím thi Tin học)
#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
Hình như còn thiếu repeat … until anh ơi
cảm ơn e nhé ^^ đã fix
Các thím đi thi tin học thì những cái này chắc phải thông thuộc như Tiếng Việt rồi chứ
vẫn còn 69% thí sinh thù pascal mà
Ủa anh ơi mảng đâu anh, làm luôn vài cái giải thuật cơ bản như quy hoạch động, chia để trị đi anh
Trẻ trâu 8 là lớp 8 hả anh?, vậy sao trường em không dạy lập trình nhỉ!
Mà nếu thù Pascal thì khỏi thi cũng được mà ?
Vì lên THPT là được dùng thêm C++ nên giờ cứ ôn kỹ để vào trường THPT chuyên nào đó rồi bắt tay luyện giải thuật
Từng học Pascal ở Trung học và Phổ thông sau đó lên Đại Học lại học Pascal tiếp !
Nhưng giờ nhìn lại vẫn chẳng hiểu gì
thi tin học ko học thuật toán học ngôn ngữ làm gì. Ai đi thi mà ko biết mấy cái đó -_-
có sự nhầm lẫn giữa hàm và thủ tục kìa
thím xem lại đi, chưa qua chỉnh sửa nhé
Anh ơi, em thấy đây chỉ là cú pháp thôi anh nhỉ? Anh có định đăng mấy cái thuật toán không anh? Cho em học lóm với
sẽ có 1 topic riêng về thuật toán, cứ hóng đi
Series đã tiếp tục rồi nhé Quick Review Algorithms (cho các thím thi Tin học)
Con trỏ Pascal cũng có nhé.
Struct là như kiểu RECORD hay OBJECT trong Pascal thôi.
Danh sách liên kết là kết hợp giữa con trỏ và 1 số hàm, thủ tục thôi.
Tóm lại, Pascal là một ngôn ngữ cấp cao rồi bạn à.
Ừm, Pascal cũng bá nhể :v