1. Trang chủ >
  2. Công Nghệ Thông Tin >
  3. Tin học văn phòng >

III. Khai báo hằng, biến, biểu thức câu lệnh

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 (1.2 MB, 236 trang )


Giáo trình Tin học Đại cơng



KS.Đặng Quang Thanh



Hay

CONST

Tên hằng = biểu thức hằng;

Ví dụ:

CONST

Max = 150;



{hằng nguyên}



L = False;



{hằng logic}



A = (5*4)/3;



{hằng thực }



Ch = Y;



{hằng ký tự}



Chúng ta sử dụng các hằng để chơng trình đợc rõ ràng và dễ sửa đổi.

2. Khai báo biến

Biến (variable) là đại lợng mà trị của nó có thể thay đổi khi thực hiện chơng trình. Biến là tên

của một vùng bộ nhớ lu trữ dữ liệu, mỗi biến phải thuộc về một kiểu dữ liệu nhất định. Vùng bộ nhớ

của biến kiểu Integer chỉ chứa đợc các giá trị Integer.

Biến đợc khai báo bằng từ khoá VAR nh sau:

VAR

Tên biến: Kiểu dữ liệu của biến;

Nhiều biến có cùng kiểu có thể đợc khai báo cùng nhau bằng cách viết tên các biến đặt cách

nhau dấu phẩy.

Ví dụ:

VAR

x,y,z:Real; chọn:Char;Thoat:Boolean;

i,j:integer; ten:String[7];

Chú ý:

- Biến String khai báo tối đa là: String[255]. Một biến String đợc cấp một số byte bằng độ dài

của nó cộng thêm 1. Byte đầu tiên dùng để ghi số ký tự đang đợc lu trữ, mỗi byte còn lại chứa một

ký tự.

- Có thể vừa khai báo vừa khởi đầu (gán giá trị) cho các biến theo cách sau:

Const x = 25.0;

Y:Real = -5.26;

Ho_ten:String[25]=Lê Hung;

Trong ví dụ trên chú ý phân biệt x và y: x là hằng thực, y là biến thực. Trong chơng trình có

thể thay đổi giá trị của y mà không thay đổi giá trị của x.

3. Biểu thức

Một biểu thức đợc tạo bởi các phép toán và các toán hạng dùng để thể hiện một công thức

toán học. Toán hạng có thể là hằng, hàm, biến.

Ví dụ: Sau khi có khai báo:



55



Giáo trình Tin học Đại cơng



KS.Đặng Quang Thanh



Const Max = 120;

Var x: Integer;

Ta có thể viết biểu thức sau: 5+ Max * Exp(x);

trong đó + và * là hai phép toán, các hằng số 5, Max, Exp(x) là các toán hạng.

Chú ý: Một hằng, một biến, một hàm cũng đợc xem là biểu thức, đó là biểu thức đơn giản.

Các phép toán trong biểu thức đợc sắp xếp theo thứ tự u tiên sau:

- Các phép toán một ngôi đợc u tiên thứ nhất: dấu dơng (+), dấu âm (-), phép phủ định (not).

- Các phép toán nhân chia: phép nhân (*), phép chia (/), lấy phần nguyên (div), lấy phần d

(mod), phép và (and).

- Các phép cộng trừ: cộng (+), trừ (-), phép hoặc (or) .

- Các phép so sánh: <, <=, >, >=, =, <>.

Chú ý:

dấu ngoặc.



- Biểu thức trong ngoặc nếu có sẽ đợc thực hiện trớc khi xét đến các phép toán ở cạnh

- Nếu cùng một thứ tự u tiên thì toán tử đợc thực hiện từ trái qua phải.



Ví dụ:

a) 3+5*3=18, (3+5)*3=24, 5/2*3=7.5

b) (5+2>4) and not (true or (5-3=8))

c) (-b+sqrt(d))/2*a có nghĩa là

4. Câu lệnh

Dới phần khai báo dữ liệu là phần lệnh của chơng trình. Phần này xác định các công việc mà chơng trình phải thực hiện để xử lý các dữ liệu đã đợc khai báo. Câu lệnh đợc chia ra làm hai loại:

- Câu lệnh đơn giản:

Lệnh gán ( := )

Lệnh Nhập Xuất ( READ, WRITE )

Gọi Thủ tục

Lệnh nhảy ( GOTO)

- Câu lệnh có cấu trúc:

Lệnh ghép ( BEGIN..END )

Lệnh lựa chọn (IF, CASE)

Lệnh lặp (FOR, REPEAT, WHILE)

5. Câu lệnh gán

Lệnh gán dùng để gán giá trị của một biểu thức cho mộ biến. Lệnh gán có dạng:

Biến:= biểu thức;

Sự thực hiện: đầu tiên máy tính trị của biểu thức vế phải sau đó nó gán giá trị tính đ ợc cho

biến ở vế trái.



56



Giáo trình Tin học Đại cơng



KS.Đặng Quang Thanh



Chú ý:

- Vế trái của phép gán chỉ và chỉ có thể là biến mà thôi. Ví dụ viết x+y:=7 là sai vì vế trái

phép gán là một biểu thức chứ không phải là biến.

- Kiểu của biểu thức phải trùng với kiểu của biến, trừ trờng hợp một biến thực có thể nhận

giá trị nguyên.

Ví dụ: Sau khi đã khai báo:

Var

c1, c2: char; i,j: integer; x,y: real;

thì có thể thực hiện các phép gán sau:

c1:= B; c2:=chr(7);

i:= (23+6)*2 mod 3;

j:= round(20/3);

x:=0.5; y:=1;

6. Lệnh in dữ liệu ra màn hình

Lệnh này cho phép chơng trình in lên màn hình các dữ liệu, kết quả hay các thông báo cần thiết.

Cú pháp:

WRITE ( Biểu thức 1,...., Biểu thức thứ n );



(1)



WRITELN( Biểu thức 1,...., Biểu thức thứ n);



(2)



WRITELN;



(3)



Dạng (1): in lên màn hình giá trị các biểu thức tại vị trí hiện hành của con trỏ theo thứ tự viết

trong lệnh và sau lệnh này con trỏ ở vị trí sau giá trị của biểu thức thứ n.

Dạng (2): in lên màn hình giá trị các biểu thức tại vị trí hiện hành của con trỏ theo thứ tự viết

trong lệnh và sau đó đa con trỏ về đầu dòng mới.

Dạng (3): đa con trỏ về đầu dòng mới.

Ví dụ:

Var A,B: Byte;

BEGIN

A:=2; B:=4;

Write( Day la ket qua cua phep nhan A voi B:,A*B);

Writeln(******);

Write(---------------------------------------------- );

END.

Kết quả trên màn hình sau khi chạy chơng trình:

Day la ket qua cua phep nhan A voi B: 8 ******

-----------------------------------------------------------



57



Giáo trình Tin học Đại cơng



KS.Đặng Quang Thanh



Có hai dạng viết trong thủ tục WRITE và WRITELN là viết có quy cách và viết không có

quy cách. Chúng sẽ đợc xét cụ thể với từng kiểu dữ liệu.

a)Ví dụ về dạng viết không quy cách:

USES Crt;

Var

I: Integer; R: Real; Ch: Char; B: Boolean;

BEGIN

I:= 123; R:=123.456; Ch:=D; B:=2<5;

Writeln(I);



{1}



Writeln(R)



{2}



Writeln(3.14)



{3}



Writeln(20*2.5)



{4}



Writeln;

Writeln(Ch);



{5}



Writeln(B);



{6}



Writeln(#7);



{7}



END.

Cách viết không quy cách sẽ căn lề theo bên trái.

- Số nguyên đợc viết ra với số chỗ đúng bằng số chữ số gán vào, kể từ vị trí bên trái. Lệnh

{1} in ra: 123.

- Số thực đợc viết ra với trình tự sau: một dấu cách, một số phần nguyên, dấu chấm, 10 chỗ

phần thập phân, chữ E, dấu của phần mũ, hai số biểu diễn giá trị phần mũ. Các lệnh {2}, {3},{4} in

ra các số 1.2345600000E+02, 3.1400000000E+00, 5.0000000000E+01.

- Kiểu ký tự in bình thờng, một ký tự chiếm một chỗ. Lệnh {5} in ra: D.

- Kiểu Boolean đợc viết ra từ TRUE hay FALSE. Lệnh {6} in ra: TRUE.

- Lệnh {7}: chuông kêu.

b) Ví dụ về dạng viết có quy cách

Var

I: integer; R: Real; Ch: Char; B: Boolean;

BEGIN

I:=123; R:=123.456; Ch:=D; B:=2<5; Z:=543621.342;

Writeln(I:8);



{1}



Writeln(-23564:8);



{2}



Writeln(R:12:6);



{3}



Writeln(35.123456789:12:6);



{4}



Writeln(R:12);



{5}



58



Giáo trình Tin học Đại cơng



KS.Đặng Quang Thanh



Writeln(Ch:5);



{6}



Writeln(ABC:5);



{7}



Writeln(B:7);



{8}



Writeln(Z:1:2);



{9}



END.

Cách viết quy các sẽ căn theo lề phải, nếu thừa chỗ thì phần bên trái bỏ trắng.

- Lệnh {1}, {2} dành 8 ký tự trên màn hình để in các số nguyên.

- Lệnh{3},{4} dành 12 ký tự trên màn hình để in các số thực với 6 số lẻ phần thập phân, kết

quả in 123.456000, 35.123457 ( phần thập phân > 6 chỗ nên đợc làm tròn).

- Lệnh {5} in giá trị của R với số chỗ 12 dới dạng mũ: 1.23456E+02.

- Lệnh {6}, {7} dành 5 chỗ để in chữ D và xâu ký tự ABC.

- Lệnh {8} dành 7 ký tự để in TRUE.

- Trong lệnh in một số thực Write(Z:m:n) nếu m
chỗ trên màn hình thì tuỳ vào độ dài của số Z, máy sẽ dành đủ chỗ để in số Z. Lệnh {9} sẽ in ra:

543621.34. Trong trờng hợp m > n , nếu độ dài của số lớn hơn m thì số bị cắt.

Chú ý: Vì dấu đợc dùng để đánh dấu ký tự, do đó khi muốn viết nó ta viết hai lần dấu . Ví

dụ: Write( Dung quen toi!);

Sẽ cho kết qua trên màn hình:

Dung quen toi!

7. Lệnh nhập dữ liệu

READLN(Biến 1,......., Biến thứ n);



(1)



READLN;



(2)



Dạng (1): Khi thực hiện lệnh này, máy tính sẽ dừng lại đợi ngời sử dụng da vào (từ bàn

phím) đủ n dữ liệu cho n biến tơng ứng.

Dạng (2): dùng để tạm dừng chơng trình, muốn chạy tiếp thì nhấn Enter.

Chú ý:

- Các biến ở đây thuộc kiểu nguyên, thực, ký tự hay xâu ký tự. Do đó chỉ có thể nạp từ bàn

phím các giá trị số và ký tự. Sẽ là một ý đồ sai nếu ta định nạp vào giá trị TRUE hay FALSE cho

một biến Boolean.

- Dữ liệu gõ vào từ bàn phím tơng ứng với biến 1, biến 2, ., biến thứ n và đ ợc tách riêng

bằng một hay vài dấu cách. Sau khi dữ liệu đợc vào ta ấn phím Enter để máy thực hiện lệnh. Các dữ

liệu vào phải phù hợp với kiểu tơng ứng.

8. Một số hàm cơ bản trong Turbo Pascal

SQRT(x): Hàm căn bậc hai của x

SQR(x): Hàm bình phơng của một số nguyên hay thực

ABS(x): Hàm trị tuyệt đối của x

SIN(x): Tính giá trị sin(x) với x là radian

COS (x): Tính giá trị Cos(x) với x là radian

ARCTAN(x): Hàm tính giá trị Arctg(x)



59



Giáo trình Tin học Đại cơng



KS.Đặng Quang Thanh



LN(x): Hàm Lôga cơ số e=2.718

EXP(x): Hàm tính ex

TRUNC(x): Cắt bỏ phần lẻ thập phân của x nếu có

ROUND(x):Cho số nguyên gần x nhất

PRED(x): Cho giá trị đi trớc x . Ví dụ: PRED(1) cho giá trị 0

SUCC(x): cho giá trị đi sau x. Ví dụ: SUCC(1) cho giá trị 2

ORD(ch): Cho số thứ tự của ký tự ch trong bảng mã.

CHR(n): Trả về ký tự có số thứ tự n trong bảng mã.

ODD(n): Cho kết quả true nếu n lẻ, False nếu ngợc lại



60



Giáo trình Tin học Đại cơng



KS.Đặng Quang Thanh



chơng III

cấu trúc điều kiện

I. Câu lệnh ghép

Lệnh ghép là một nhóm lệnh đợc đặt giữa hai từ khoá BEGIN và END; nhằm thực hiện một

công việc cơ bản nào đó. Lệnh ghép thờng xuất hiện trong các cấu trúc chơng trình nh câu lệnh điều

kiện, cấu trúc lặp...Khi thực hiện kệnh ghép thực hiện tuần tự từng câu lệnh một theo thứ tự từ trên

xuống.

Dạng tổng quát của lệnh ghép:

BEGIN

;

;

;

......................

;

END;

II. Câu lệnh điều kiện IF.....THEN

a. Câu lệnh điều kiện có hai dạng nh sau:

Câu lệnh điều kiện thiếu:

IF <Điều kiện logic> THEN

;

Câu lệnh điều kiện đủ:

IF <Điều kiện logic> THEN



ELSE ;

b. Hoạt động:

Khi gặp lệnh này chơng trình sẽ đi kiểm tra điều kiện logic, nếu điều kiện logic là đúng sẽ đi

thực hiện và bỏ qua , nếu sai sẽ đi thực hiện và bỏ qua

. Trong đó , có thể là một câu lệnh ghép.

c. Sơ đồ thuật toán cho câu lệnh điều kiện đủ:



61



Giáo trình Tin học Đại cơng



KS.Đặng Quang Thanh



Đ



S



Điều Kiện

logic



Công việc 1



Công việc 2



d. Một số ví dụ

Ví dụ 1: Viết chơng trình giải và biện luận phơng trình bậc nhất ax+b=0

Bớc 1: Phân tích bài toán

Để giả đợc phơng trinh bậc nhất một ẩn trớc hết ta cần những thông tin sau:

- Biết đợc hệ số a và b

- Sau đó kiểm tra điều kiện của phơng trình

+ Nếu a= 0

Nếu b=0 thì phơng trình vô số nghiệm

Ngợc lại nếu b<>0 thì phơng trình vô nghiệm

+ Ngợc lại nếu a<>0 thì phơng trình có nghiệm x=-b/a

Bớc 2: Sơ đồ thuật toán



BEGIN

Nhập a,b



a=0

S

PT có nghiệm -b/a



Đ



S



b=0



PT vô nghiệm



Đ

PT vô số nghiệm



END.



Bớc 3: Chơng trình

Program PT_bac_nhat;

Var

a,b: real;

BEGIN



62



Giáo trình Tin học Đại cơng



KS.Đặng Quang Thanh



Write('Nhap vao he so a=');Readln(a);

Write('Nhap vao he so b=');Readln(b);

IF a=0 THEN

IF b=0 THEN

Writeln('Phuong trinh vo so nghiem')

ELSE



Writeln('Phuong trinh vo nghiem)



ELSE Writeln('Phuong trinh co nghiem x=',-b/a:6:2);

Readln;

END.

Ví dụ 2: Tìm số lớn nhất trong ba số nhập vào từ bàn phím.

Bạn đọc tự thực hiện lại các bớc 1 và bớc 2.

Bớc 3: Chơng trình

Program so_lon_nhat;

Var

a,b,c,max:real;

BEGIN

Write('Nhap so a=');Readln(a);

Write('Nhap so b=');Readln(b);

Write('Nhap so c=');Readln(c);

Max:=a;

IF Max
IF Max
Writeln('So lon nhat trong ba so la:',max:6:2);

Readln;

END.

III. Câu lệnh lựa chọn

a. Cấu trúc lệnh

CASE OF

Tập hằng 1: ;

Tập hằng 2: ;

..............................................

Tập hằng n-1: ;

Tập hằng n: ;

ELSE

;

END;

- Tập hằng bao gồm các hằng cụ thể hoặc các đoạn hằng:



63



Giáo trình Tin học Đại cơng



KS.Đặng Quang Thanh



ví dụ nh

3:;

1..10:;{tập hằng là một tập các số nguyên từ 1 đến 10}

a..z: ;{tập hằng là tập các kí tự từ a đến z}

- Giá trị của biểu thức và giá trị trong các tập hằng phải có cùng kiểu và phải là kiểu vô hớng

đếm đợc (nh nguyên, logic, kí tự, liệt kê).

b. Hoạt động:

Khi gặp lệnh này chơng trình sẽ lấy giá trị của biểu thức đem so sánh với giá trị chứa trong

các tập hằng, nếu giá trị của biểu thức trùng với giá trị chứa trong một các tập hằng thì sẽ đi thực

hiện công việc tơng ứng với tập hằng đó và bỏ qua tất cả các công việc khác. Nếu trong tr ờng hợp

không có giá trị của tập hằng nào trùng với giá trị của biểu thức thì đi thực hiện ,

trong trờng hợp không có ELSE thì chơng trình thoát khỏi cấu trúc này và đi thực hiện các công việc

tiếp theo sau cấu trúc.

c. Một số ví dụ:

Ví dụ 1: Nhập vào một số từ 1 đến 5 in ra màn hình số đó bằng chữ, ví dụ nhập vào số 2 in ra

màn hình số hai

* Chơng trình

Program Vidu;

Var

a: integer;

Begin

Write('Nhap vao so a=');readln(a);

CASE a OF

1:Writeln('so do la so mot');

2:Writeln('so do la so hai');

3:Writeln('so do la so ba');

4:Writeln('so do la so bon');

5:Writeln('so do la so nam');

end;

Readln;

End.

Ví dụ 2: Viết chơng trình nhập vào một điểm kiểm tra của một học sinh từ bàn phím (điểm là

số nguyên từ 0 đến 10), in ra màn hình kết quả xếp loại của học sinh đó.

* Chơng trình

Program Vidu;

Var

a: integer;



64



Xem Thêm

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×