Tải bản đầy đủ (.pptx) (125 trang)

Slide bài giảng ngôn ngữ lập trình Pascal

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (724.97 KB, 125 trang )

Tin học đại cương


Kế hoạch thực hiện
• 20 buổi lý thuyết x 3 tiết = 45 tiết
• 5 buổi thực hành x 3 tiết = 15 tiết
• Điểm quá trình = 2 điểm chuyên cần + 8 điểm làm bài.
– Điểm chuyên cần = 5 buổi ngẫu nhiên x 0.4 = 2 điểm

• Tập trung phần biểu diễn thuật toán và ngôn ngữ lập
trình Pascal


2


THUậT TOáN Và BIểU DIễN THUậT TOáN
Thuật toán
Thuật toán (algorithm) là một tập hu hạn các thao tác
(các công việc, các phép toán) có thể đặt tên đuợc và
chúng đuợc thực hiện theo một trinh tự thích hợp trên
một số đối tợng để đạt đuợc mục đích mong muốn.
"Hu hạn" ở đây đợc hiểu cả về mặt thời gian thực
hiện lẫn công cụ thực hiện.
Chuơng trinh
Là tập hợp dãy các lệnh điều khiển máy tính thực hiện.
Nh vậy, có thể nói một chơng trinh là một cách diễn tả
thuật giải trong một ngôn ng chính xác để máy tính
có thể hiểu đợc.
Thuật toán + Cấu trúc d liệu = Chơng trinh



Các đặc trng của thuật toán
Thuật toán trong tin học phải có các tính chất sau:
+ Tính dừng: Thuật toán phải kết thúc sau một số hu
hạn buớc.
+ Tính xác định: Các thao tác ở mỗi buớc phải hết sức
rõ ràng và chỉ đuợc hiểu theo một nghĩa duy nhất.
Trong cùng một điều kiện hai máy khác nhau hoặc hai
lần thao tác khác nhau phải cho cùng một kết quả khi
thực hiện cùng một thuật toán.
+ Tính đầy đủ: Thuật toán phải vét đợc hết các tinh
huống, các khả nang có thể xảy ra, không bỏ sót bất kỳ


Các đặc trng của thuật toán

Tính hàng loạt: Thuật toán có hiệu lực
nhu nhau đối với các bài toán cùng loại (có
cùng miền áp dụng thuật toán).
Tính khả thi: Thuật toán phải bao gồm
các thao tác mà máy có thể thực hiện đ
uợc nghĩa là chỉ bao gồm nhung phép
toán số học, các phép so sánh, các phép
logic, các phép nhập xuất thông tin tiêu
chuẩn.
5


Các dạng diễn tả thuật toán
Diễn đạt bằng vn bản (ngôn ngon tự nhiên)

Ví dụ1: Thuật giải nấu cơm có thể đợc viết nhu sau:
Bớc 1: lấy gạo theo định luợng cần thiết
Bớc 2: vo gạo và đổ nuớc vào nồi
Bớc 3: đun sôi cạn nuớc
Bớc 4: giu lửa nhỏ
Bớc 5: cách 5 phút một nếm cơm xem chín chua.
Nếu cha chín quay về buớc 5
Nếu đã chín thi chuyển sang buớc 6
Bớc 6: tắt lửa và bắc nồi cơm ra. Kết thúc
Cách diễn đạt bằng van bản này tuy khá đơn giản và gần gũi với tu
duy của con nguời nhng phụ thuộc rất nhiều vào cách diễn đạt của
nguời sử dụng. Vi vậy nó không tránh khỏi có nhung chỗ rờm rà
khiến cho nguời đọc không có đợc một cái nhin khái quát với toàn


Diễn đạt bằng ngôn ng lập trinh
Ngôn ng lập trinh (language program) là ngôn ng
do các chuyên gia tin học tạo ra chuyên dùng để viết
chơng trinh cho máy tính. Nó đuợc xây dựng khá
đơn giản về chính tả và ng pháp khá gần gũi với
ngôn ng khoa học kỹ thuật, quản lý.


Diễn tả thuật toán bằng lu đồ
iểm bắt đầu và chấm dứt thuật toán
Thao tác nhập hay xuất d liệu
Khối xử lý công việc
Khối quyết định lựa chọn
iểm nối
Chuẩn bị

Khối chơng trinh con
Dờng đi của chơng trinh


Ví dụ 2: Thuật toán giải phơng trinh bậc nhất ax + b =
0, gồm các bớc:
Bớc 1: Nhập vào 2 hệ số a và b.
Bớc 2: Xét điều kiện a = 0 ?
Nếu đúng là a = 0, thi đi đến bớc 3. Nếu không,
nghĩa là a 0, thi đi đến bớc 4.
Bớc 3: Xét điều kiện b = 0 ?
Nếu b = 0, thi báo phơng trinh có vô số nghiệm.
Chuyển đến bớc 5.
Nếu b 0, thông báo phơng trinh vô nghiệm. Chuyển
đến bớc 5.
Bớc 4: Phơng trinh có một nghiệm duy nhất là x = b/a.
Bớc 5: Kết thúc thuật toán



VÝ dô 3 : TÝnh tæng S cña n sè nguyªn ®Çu tiªn,
ta tiÕn hµnh theo hai thuËt gi¶i sau:


Ví dụ 4: Thuật giải đổi chỗ
Viết thuật giải để nhập vào 2
số A, B từ bàn phím sau đó
đổi giá trị của biến A cho
biến B và ngợc lại.
Dùng thêm một biến trung

gian (TG) sau đó tiến hành:
Chuyển giá trị của biến A
cho biến TG
Chuyển giá trị của biến B
cho biến A
Chuyển giá trị của biến
TG cho biến B.


VÝ dô 5: ThuËt gi¶i tìm sè lín nhÊt trong 2 sè


Bài tập
1. Viết thuật giải nhập 1 số từ bàn phím và in ra binh ph
ơng của số đó nếu số đó là số dơng.
2.Viết thuật giải nhập từ bàn phím một số tự nhiên N và in ra
các số nguyên trong phạm vi từ 1 đến N
3. Viết thuật giải nhập từ bàn phím 2 số tự nhiên m, n (mvà in ra màn hinh các số chia hết cho m trong khoảng từ 1
đến n
Hớng dẫn: ể kiểm tra xem một số x có chia hết cho m
không ta dùng biểu thức kiểm tra X MOD M=0. Nếu biểu
thức này là đúng thi x chia hết cho m.
4 Viết thuật giải nhập 3 số từ bàn phím và in ra số lớn nhất
trong ba số đó.
5. Viết thuật giải nhập 2 số từ bàn phím và in ra UCLN,
BCNN của hai số đó.
Hớng dẫn:
UCLN của 2 số m và n (UCLN(m,n)) đợc tính nh sau:



C¸c kh¸i niÖm c¬ b¶n cña
ng«n ng¦ lËp trInh Pascal
 I. Giíi thiÖu
Pascal là ngôn ngữ lập trình cấp cao do giáo Niklaus Writh (trường
ĐH kỹ thuật Zurich, Thụy sĩ) đưa ra vào năm 1970.


u điểm của Pascal
Pascal là một ngôn ng có định kiểu mạnh mẽ. Có nghĩa
một biến và một hằng của một kiểu d liệu không thể tự
do đem trộn lẫn với biến và hằng của một kiểu d liệu
khác. Khi sử dụng phải khai báo rõ kiểu của chúng.
Các kiểu d liệu trong Pascal hết sức phong phú thể hiện
đuợc nhiều kiểu du liệu từ đơn giản đến phức tạp.
Pascal là một ngôn ng có cấu trúc. Một ngôn ng có cấu
trúc khối là một ngôn ng mà ta có thể tách các thông tin
du liệu (biến, hằng,..) và các lệnh cần dùng cho một nhiệm
vụ xác định thành nhng khối riêng để ngời lập trinh có
thể giải quyết dần dần từng khối một hoặc cho nhiều ng
ời cùng tham gia lập trinh. Tính cấu trúc của Pascal đợc
thể hiện trên 3 mặt:
Cấu trúc về mặt d liệu: từ các d liệu kiểu đơn giản
hoặc lệnh có cấu trúc ta có thể xây dựng các d liệu có
cấu trúc phức tạp hơn
Cấu trúc về mặt lệnh: từ các lệnh đơn giản hoặc lệnh


Các phần tử cơ bản của ngôn ng PASCAL
Bộ ký tự :Ngôn ng Pascal đợc xây dựng từ bộ ký hiệu

cơ bản sau:
- Bộ 26 ch cái La tinh:
- 26 ch cái thờng
a, b, c, ... , z
- 26 ch cái hoa:
A,B,C,... Z
- Bộ 10 ch số thập phân: 0, 1, ... , 9
- Bộ dấu các phép toán:
cộng +
trừ nhân *
chia /
luỹ thừa ^
bằng =
lớn hơn > nhỏ hơn < khác <>
mở ngoặc (đóng ngoặc )
- Bộ các ký hiệu đặc biệt:
dấu gạch dới _
dấu chấm .
dấu chấm phẩy ;
dấu nháy đơn '
các ký hiệu khác nh [] $ ...


Từ khoá
Là các từ riêng của Pascal, có ng nghĩa đã đợc xác định, không
đợc dùng nó vào các việc khác hoặc đặt tên mới trùng với các từ
khóa.

- Từ khóa chung:
PROGRAM, BEGIN, END, PROCEDURE, FUNCTION

- Từ khóa để khai báo:
CONST, VAR, TYPE, ARRAY, STRING, RECORD, SET,
FILE, LABEL
- Từ khóa của lệnh lựa chọn:
IF ... THEN ... ELSE, CASE ... OF
- Từ khóa của lệnh lặp:
FOR... TO... DO, FOR... DOWNTO... DO,
WHILE... DO, REPEAT... UNTIL
- Từ khóa điều khiển:
WITH, GOTO, EXIT, HALT
- Từ khóa toán tử:
AND, OR, NOT, IN, DIV, MOD


Tên chuẩn
Tên chuẩn là tên đã đợc định nghĩa sẵn trong Pascal,
nhng ngời ta có thể định nghĩa lại nếu muốn. Trong
Pascal ta có các tên chuẩn sau đây:
Boolean, Char, Integer, Word, Byte, Real, Text
False, True, MaxInt
Abs, Chr, Cos, Sin, Eof, Eoln
Exp, Ln, Odd, Ord
Round, Trunc, Sqr, Pred, Succ
Dispose, New, Get, Put,
Read, Readln, Write, Writeln, Reset, Rewrite


Tên hay định danh
Tên hay định danh là một dãy ký tự do ngời sử dụng tự đặt
cho các hằng, biến, hàm, thủ tục, tên chơng trinh, tên kiểu d

liệu mới. Tên hay định danh trong Pascal phải tuân thủ các
qui định sau:
Tên phải đợc bắt đầu bằng một ch cái hoặc ch số.
Trong tên không chứa dấu cách
Tên không đợc trùng với một từ khoá của Pascal
Số ký tự của tên bị hạn chế là 8 (Pascal chuẩn), 127
(Turbo Pascal)
Ví dụ: Các tên viết nh sau là sai va Pascal không chấp
nhận:
#DLTA
sai vi tên bắt đầu bằng một ký tự đặc biệt
ARRAYsai vi tên trùng với từ khoá
VI DU
sai vi tên có dấu cách
Chú ý:
ể làm cho tên đợc sáng sủa ngời ta cho phép dùng


CÊu tróc cña mét chƯ¬ng trÌnh Pascal

PROGRAM Tªn_chư¬ng_trình;
USES…
LABEL….
CONST…
TYPE…
VAR…
PROCEDURE…
FUNCTION…
BEGIN


END


Một chơng trinh Pascal có các phần:
* Phần tiêu đề: Phần này bắt đầu bằng từ khóa Program rồi
tiếp đến là tên của chơng trinh và chấm dứt bằng dấu chấm
phẩy (;)
Tên chơng trinh phải đợc đặt theo đúng qui cách của danh
hiệu tự đặt. Phần tiêu đề có hoặc không.
* Phần khai báo d liệu: Một chơng trinh Pascal có thể có
một số hoặc tất cả các khai báo d liệu sau:

USES
: khai báo các th viện chơng trinh

CONST : khai báo hằng

TYPE
: định nghĩa kiểu d liệu mới

VAR
: khai báo các biến

Phần khai báo chơng trinh con (có thể có hoặc không tùy
theo nhu cầu).
* Phần thân chơng trinh:
Phần thân chơng trinh là phần quan trọng nhất và bắt buộc
phải có, phần này luôn nằm gia 2 từ khoá là BEGIN và END. ở
gia là lệnh mà các chơng trinh chính cần thực hiện. Sau từ



* Dấu chấm phẩy (;):
Dấu ; dùng để ngn cách các câu lệnh của Pascal và
không thể thiếu đợc.
* Lời chú thích:
Lời chú thích dùng để chú giải cho ngời sử dụng ch
ơng trinh, nhằm trao đổi thông tin gia ngời và ng
ời, máy tính sẽ không để ý đến lời chú thích này. Lời
chú thích nằm gia ký hiệu: { } hoặc (* *)


VÝ dô: ViÕt chư¬ng trình tÝnh diÖn tÝch hình trßn
biÕt b¸n kÝnh lµ R , tÝnh diÖn tÝch hình vu«ng biÕt
c¹nh lµ a.
PROGRAM VI_DU; (* Dßng tiªu ®Ò *)
VAR
R, A, Dientich: Real; (* Khai b¸o ba biÕn thùc *)
BEGIN
Write ('Ban kinh : R= '); Readln (R);
Dientich:=3.14*R*R;
(* TÝnh diÖn tÝch hình trßn
*)
Writeln (‘Dien tich hinh tron la:', Dientich:10:3);
Write ('Do dai canh hinh vuong: A= '); Readln (A);
Dientich:=A*A;
Writeln (‘Dien tich hinh vuong la’, Dientich:10:3);
Readln;


Các kiểu d liệu cơ sở

Khái niệm
D liệu (DATA) đợc định nghĩa là tất cả nhng gi
đợc máy tính xử lý. Các kiểu d liệu cần tới máy tính
xử lý có rất nhiều, tồn tại dới nhiều dạng khác nhau
về bản chất, ý nghĩa, không ch là số liệu mà còn là
các kí tự, các mệnh đề logic thể hiện qua các đối t
ợng cụ thể cần xử lý nh tiền lơng, địa chỉ, tên,
tuổi, vn bản, tín hiệu.
Về phơng diện ngôn ng bậc cao thi d liệu đã đợc
khái quát hoá với các kiểu d liệu. Một kiểu d liệu
(Data Type) đợc định nghĩa với hai điểm chính
nh sau:
- Một tập hợp các giá trị mà một biến thuộc kiểu đó
có thể nhận đợc


×