Ngôn ngữ lập trình Pascal
KIẾN THỨC YÊU CẦU
Hiểu được các khái niệm cơbản vềngôn ngữPascal.
Biết cách cài đặt Pascal từ đĩa CD.
Biết cách sửdụng Pascal 7.0.
Biết tạo, lưu và mởtập tin chương trình.
Biết biên dịch và thực thi chương trình.
gCLRSCR;
Uses CRT;
Begin
Clrscr;
Writeln (‘Chao mung Sea Games 22 to chuc tai Viet Nam’);
Readln;
End.
BÀI
Câu lệnh đơn
KIẾN THỨC YÊU CẦU
Biết cách sử dụng sắp xếp câu lệnh trong chương trình.
Biết cách sử dụng các lệnh, thủ tục, hàm … của các đơn vị chuẩn,
biết cách khai báo bằng lệnh Uses.
Biết ý nghĩa và khai báo các kiểu Type, const và khai báo các biến.
Biết sơ qua về hàm và thủ tục, cách khai báo và cách gọI trong thân
của chương trình.
Biết dùng các câu lệnh và các phát biểu có thể dùng trong thân của
chương trình.
Biết các lệnh nhập dữ liệu từ bàn phím, lệnh xuất dữ liệu ra màn hình
và máy in.
I/ Sử dụng câu lệnh của Pascal
1/ Câu lệnh khai báo dữ liệu:
Sau khai báo Program tên chương trình dấu chấm phẩy là khai báo đơn vị
chuẩn (Unit) nếu như bạn dùng lệnh, hàm, thủ tục … liên quan đến đơn vị
chuẩn đó. Bạn khai báo thư viện lệnh (Uses) như sau:
Khai báo: Uses tên đơn vị;
Ví dụ: Trong bài tập 6 của bài trước, khi dùng lệnh CLRSCR; để xoá thông tin
trên màn hình, đưa dấu nháy về góc trái trên của màn hình. Lệnh này thuộc
đơn vị chuẩn CRT, nếu bạn không khai báo Uses Crt; trình biên dịch sẽ báo lỗI
vì nó không hề biết lệnh Clrscr, nó xem như bạn chưa định nghĩa biến này.
Turbo Pascal có các đơn vị chuẩn như : Crt, Dos, Graph, Grảph, Overlay,
Printer, System, Turbo và Windos.
Khai báo kiểu Type thường để khai báo một cấu trúc dùng trong chương
trình.
Ví dụ: khai báo một kiểu tập hợp
Type
TapN = Set of Integer;
Traicay = (Nhan, saurieng, cam, quyt);
Taptraicay = Set of Traicay;
Ví dụ: Khi khai báo một mẫu tin
Type
Hocsinh = record
Hoten : String[40];
Namsinh : 1990 .. 1995;
4
Noisinh : String;
End;
Khai báo Const dùng để khai báo một hằng nào đó.
Ví dụ:
Const
n = 10;
Khai báo biến thường là khai báo sau cùng, trước các hàm và thủ tục (nếu
có), trước thân của chương trình. Trước khi khai báo biến bạn phảI dùng từ
khoá VAR như đã đề cập ở trên.
Ví dụ:
Var
x,y,n,m : Integer;
k : Real;
Ketqua : String;
2/ Sử dụng hàm và chương trình
Để cho một chương trình sáng sủa dễ hiểu, ngườI ta thường dùng hàm
và thủ tục trong chương trình, vị trí của chúng thường được đặt trước thân
của chương trình chính.
a/ hàm
Function tênhàm(các thông số (cách nhau bằng dấu ‘;’): kiểu trả về;
Var
………
………
Begin
……………..
……………..
End;
b/ Thủ tục
Procedure tênthủtục(các thông số (cách nhau bằng dấu ‘;’);
Var
………
………
Begin
…………….
…………….
End;
Ghi chú: Hàm và thủ tục các bạn sẽ được học trong các bài sau
3/ Các câu lệnh dùng trong thân chương trình
Câu lệnh đơn: như lệnh gán giá trị (:=). Ví dụ: x:=5; y:=8; z:=7.9;
Ch1:= ‘Doi bong da Viet Nam’; …Lệnh gọI thủ tục, gọI hàm
ví dụ: Có một thủ tục
Procedure Nhap(Var an:Mang; m,n:Integer; x,y:Integer);
Var
……………
Begin
……………
……………
End;
Begin {Thân chương trình}
……………..
……………..
Nhap(a,m,n,WhereX,WhereY); {Lệnh gọI thủ tục}
……………..
……………..
End.
Giả sử bạn có một hàm như sau:
Function Max(m:Real; n:Real;):Real;
Begin
…………….
…………….
End;
Begin
…………….
…………….
Writeln(‘So lon nhat cua hai so tren la: ‘, Max(a,b); {lệnh gọI hàm}
Readln;
End.
Các câu lệnh nhập, xuất:
Read(biến1,biến2, …,biến n); Write(mục1, mục2, …, mục n);
Các câu lệnh có cấu trúc: Như lệnh lựa chọn If, case, lệnh lặp như
For, While, Repeat. Các lệnh này các bạn sẽ được học trong các bài sắp tới.
Câu lệnh ghép: Begin …… end;
Ghi chú: Sau End của hàm, thủ tục, câu lệnh ghép là dấu chấm phẩy ‘;’.
II/ Lệnh nhập - xuất dữ liệu
1/ Lệnh nhập dữ liệu
Từ bàn phím: Để nhập dữ liệu từ bàn phím vào cho các biến của chương
trình, bạn dùng lệnh Read hoặc Readln như sau:
Read(biến1, biến2, …, biếnN);
Readln(biến1, biến2, …, biếnN);
Trong đó các biến1, biến2, …, biếnN phảI có kiểu số nguyên, số thực, ký
tự hoặc kiểu chuỗi.
MỗI câu lệnh Read hoặc Readln đều dừng chương trình để cho chúng ta
nhập dữ liệu vào các biến, nếu nhập chưa đủ, máy chờ cho đến khi nhập xong.
Lệnh Readln;
Không đọc giá trị gì cả, chờ cho đến khi nhấn phím Enter sẽ trở về màn
hình soạn thảo, được dùng để kiểm tra kết quả của chương trình, nếu không
có lệnh này, khi nhấn phím Ctrl+F9 bạn không thấy kết quả, nó sẽ về ngay màn
hình soạn thảo, muốn thấy, bạn phảI nhấn Alt+F5.
Lệnh gán giá trị cho một biến
Khi muốn gán giá trị cho một biến đã được khai báo, bạn dùng dấu hai
chấm và dấu bằng (:=).
Ví dụ: x := 25; y:= 3.6; Chuoi := ‘Hoc Pascal khong co gi kho’;
2/ Lệnh xuất dữ liệu
Để xuất dữ liệu ra màn hình, chúng ta dùng lệnh Write hoặc Writeln.
Write(mục1, mục2, …, mụcN);
Lệnh này viết ra các mục từ mục1 đến mụcN, không xuống hàng sau khi
viết xong mục cuốI cùng. Các mục có thể là biến, hằng, biểu thức … nếu là
chuỗI thì có bao hai dấu nháy đơn, nếu là biến, chỉ cần ghi tên biến.
Ví dụ:
Program LenhWrite;
Begin
Write(‘Chuc mung ban’);
Write(‘den voi ngon ngu Pascal.’);
Readln;
End.
Chạy thử chương trình, sẽ có kết quả hiện ra như sau:
Chuc mung ban den voi ngon ngu Pascal.
Mặc dầu dùng hai câu lệnh Write, nhưng kết quả xuất hiện trên một dòng
như kết quả của chương trình trên, bạn có thể dùng:
Program LenhWrite;
Begin
Write(‘Chuc mung ban ’, ‘den voi ngon ngu Pascal.’);
Readln;
End.
Bạn có thể xem ví dụ sau:
Program LenhWrite;
Var
X : integer;
Begin
X:= 14;
Write(‘Ban Son nam nay duoc: ‘, X, ‘ tuoi.’);
Readln;
End.
Kết quả sẽ là Ban Son nam nay duoc 14 tuoi.
Lệnh Writeln(mục1, mục2, …, mụcN);
Lệnh này sẽ xuống dòng sau khi viết mục cuốI cùng, các mục cũng có ý
nghĩa như trong lệnh Write.
Ví dụ:
Program LenhWriteln;
Begin
Writeln(‘Chuc mung ban’);
Writeln(‘Den voi ngon ngu Pascal.’);
Readln;
End.
Kết quả sẽ là:
Chuc mung ban
Den voi ngon ngu Pascal.
Program LenhWriteln;
Begin
Writeln(‘Chao mung Sea Games 22’);
Write(‘Duoc to chuc tai ’);
Write(‘Viet Nam.’);
End.
Kết quả sẽ là:
Chào mung Sea Games 22
Duoc to chuc tai Viet Nam.
Write(R:10:6); sẽ viết số thực chiếm 10 chỗ, trong đó 6 chỗ dành cho phần
thập phân.
Write(I:10); sẽ viết số nguyên chiếm 10 chỗ.
Để xuất dữ liệu ra máy in, bạn phảI khai báo trong chương trình:
Uses Printer;
Dùng câu lệnh Write hoặc Writeln có dạng như sau:
Write(LST, mục1, mục2, …, mụcN);
Writeln(LST, mục1, mục2, …, mụcN);
VớI LST là tên thiết bị máy in đã khai báo trong Unit Printer.
TÓM TẮT
# Khi dùng các lệnh, hàm, thủ tục trong các đơn vị chuẩn, bạn phảI khai
báo đúng. Ví dụ: nếu dùng lệnh Clrscr, Gotoxy(x,y) bạn phảI khai báo
Uses Crt; khi muốn xuất dữ liệu ra màn hình, bạn phảI khia báo Uses
Printer; …
# Dùng khai báo Type để khai báo các cấu trúc như tập hợp, mẫu tin ...
nếu có dùng hằng số thì khai báo Const. Trước khi khai báo các biến
nhớ có từ khoá Var.
# Cấu trúc của một hàm bắt đầu bằng Function, một thủ tục bắt đầu bằng
Procedure. Xem lạI cách gọI chúng trong chương trình.
# lệnh gán dùng ‘:=’, khi phảI lựa chọn một vấn đề dùng phát biểu If hoặc
Case, khi cần công việc lặp đi lặp lạI, dùng phát biểu For, While hoặc
Repeat. Câu lệnh ghép sẽ bắt đầu bằng từ khoá Begin và kết thúc bằng
End và dấu chấm phẩy.
# Khi nhập dữ liệu từ bàn phím dùng lệnh Read hoặc Readln.
# Khi cần xuất dữ liệu ra màn hình dùng lệnh Write hoặc Writeln, nếu dùng
Write thì không xuống hàng, nếu dùng Writeln thì sẽ xuống hàng sau khi
thực hiện. Nếu dùng khai báo Uses Printer; sẽ xuất ra máy in.
BÀI TẬP THỰC HÀNH
n Viết một chương trình xuất ra màn hình hai chuỗI: ‘Chao mung doi tuyen
bong da Viet Nam’ và ‘Tai Sea Game 22’.
A/ Dùng một lệnh Write để kết quả hai chuỗI hiện ra trên một dòng.
B/ Dùng hai lệnh Write để có kết quả như câu A.
C/ Dùng hai lệnh để chuỗI một sẽ xuất hiện ở dòng trên, chuỗI hai xuất
hiện ở dòng sau.
D/ Dùng thêm lệnh Clrscr. giảI thích kết quả hiện ra trên màn hình khi
thực hiện lệnh này.
o Tìm câu đúng trong các lệnh gán các biến sau đây:
A/ Tongso := Real;
B/ Soam =: Int;
C/ Soduong :- Integer;
D/ Dungsai :: Boolean;
p Thêm, bớt sửa lại chương trình sau cho đúng, kiểm tra lạI bằng cách
chạy thử chương trình:
Program TIMCHOSAI;
Var
m : Integer;
n : Real;
ch : String;
Begin
Clrscr;
m =: 19;
n := 25.62;
Ch := ‘Hoc di doi voi hanh’;
Writeln (‘So nguyen m =’, ‘m’);
Writeln (‘So thuc n =’, n);
Writeln ‘Hoi ban mot chut‘, ‘Ch’);
Readln;
End.
q Víết chương trình có khai báo 3 biến x, y và z có kiểu nguyên, thực hiện
phép gán x bằng 2, y bằng 4 và z bằng tích của hai số x và y. Xuất kết
quả ra màn hình câu:
A/ Tong hai so x va y la: (kết quả đúng).
B/ Tong hai so x va y la:
(kết quả đúng)
C/ (Kết quả đúng) la ket qua cua tich hai so x va y.
r Viết chương trình vớI khai báo 3 biến như trên, nhưng không dùng
phép gán, mà nhập từ bàn phím hai biến x và y. sau đó báo ra kết quả giống
như các trường hợp A, B và C ở trên.
s GiảI thích chương trình sau thực hiện điều gì.
Program TinhToan;
Uses Crt;
Var
Bien : real;
Ketquamot, Ketquahai, ketquaba : Real;
Begin
Clrscr;
Writeln(‘Nhap vao mot bien :’);
Readln(Bien);
Ketquamot := Bien * Bien;
Ketquahai := 4 * Bien;
Ketquaba := Bien * SQRT(2);
Writeln(‘Do ban day la gi? = ‘, Ketquamot : 10 : 1);
Writeln(‘Ket qua nay la gi? = ‘, Ketquahai : 10 : 1);
Writeln(‘Cung cau hoi nhu tren ‘, Ketquaba : 10 : 2);
Readln;
End.
t Viết chương trình tính diện tích hình tam giác theo công thức Hê Rông
S = căn bậc hai cùa p(p-a)(p-b)(p-c) vớI p =(a+b+c)/2.
u Viết chương trình tính 4 phép toán cơ bản cộng, trừ, nhân, chia hai số,
vớI hai số được nhập từ bàn phím.
v Viết chương trình tính số dư của phép chia số nguyên thứ nhất cho số
nguyên thứ hai, vớI hai số nguyên được nhập từ bàn phím.
File đính kèm:
Ngôn ngữ lập trình Pascal.pdf

