Giáo trình Nhập môn Tin học LỜi nóI ĐẦU



tải về 4.67 Mb.
trang45/63
Chuyển đổi dữ liệu20.05.2018
Kích4.67 Mb.
1   ...   41   42   43   44   45   46   47   48   ...   63

4.4.3 Khai báo hằng 


+ Định nghĩa : Hằng là một đại lượng có giá trị không đổi trong chương trình.

+ Việc khai báo hằng bằng tên có 3 ưu điểm:

- Chương trình dễ đọc

- Dễ thay đổi chỉnh sửa

- Tiết kiệm bộ nhớ

+ Khai báo :



Const Tên_hằng = giátrị ;

Trong đó: Tên hằng là do người lập trình đặt theo đúng quy tắc của một tên.



Ví dụ 4.28: const N = 10;

SoPi = 3.1416;

Turbo Pascal có sẵn một số hằng chuẩn cho phép sử dụng mà không phải khai báo, như : Pi, MaxInt . Hằng Pi có giá trị bằng số p , còn MaxInt = 32767, là số Integer lớn nhất. Chẳng hạn, có thể dùng các lệnh sau:

Writeln(‘Dien tich hinh tron ban kinh 5 la: ‘ , Pi*5*5:8:3);

Writeln(‘So Integer lon nhat = ‘ , MaxInt);

4.4.4 Biểu thức


Biểu thức là một công thức gồm có một hay nhiều thành phần được kết nối với nhau bởi các phép toán. Mỗi thành phần (hay toán hạng) có thể là hằng, là biến hay là hàm. Khi các phép toán trong biểu thức được thực hiện thì ta nhận được một giá trị gọi là kết qủa của biểu thức. Kiểu dữ liệu của kết qủa gọi là kiểu dữ liệu của biểu thức.
Ví dụ 4.29: 3* 5 div 2 + 7 mod 4 là biểu thức nguyên, có kết qủa là 10

2 + sin(pi/2) là biểu thức thực, có kết qủa là 3.0

Chr( ord(‘a’) - 32 ) là biểu thức ký tự, có kết qủa là ‘A’

(4+2=6) and (‘B’<>‘b’) là biểu thức lôgic, có kết qủa là True

‘AB’+’CD’ là biểu thức chuỗi, có kết qủa là ‘ABCD’

Các thành phần trong biểu thức cần phải có kiểu dữ liệu phù hợp để cho các phép toán thực hiện được, nếu không máy sẽ báo lỗi. Ví dụ, biểu thức sau :

5 + ‘A’ là sai vì ta không thể cộng một số nguyên với một ký tự.

Một biểu thức có thể chứa nhiều phép toán. Thứ tự thực hiện các phép toán được cho trong bảng dưới đây.


Cấp ưu tiên

Phép toán

1

biểu thức trong ngoặc đơn (...)

2

Các hàm

3

NOT, - (phép lấy dấu âm)

4

* , /, DIV, MOD, AND

5

Shl, Shr

6

+, - (trừ), OR, XOR

7

=, <>, <, <=, >, >=, IN


Bảng 3.6: Bảng ưu tiên các phép toán
Việc tính toán một biểu thức dựa theo hai quy tắc :
Quy tắc 1:

Phép toán có cấp ưu tiên nhỏ thì được tính trước, phép toán có cấp ưu tiên lớn thì được tính sau.


Quy tắc 2:

Đối với các phép toán đứng liền nhau và có cùng cấp ưu tiên, thì cái nào đứng trước được tính trước.


Ví dụ 4.30:

+ Tính biểu thức số học :

(4+5)*2 div 7 + sin(pi/6)

= 9 * 2 div 7 + 0.5

= 18 div 7 + 0.5

= 2 + 0.5

= 2.5


+ Tính biểu thức lôgic :

( 2 > 4 div 2) or Not ( 49.25 + 2 < 50)

= (2 > 2) or Not ( 51.25 < 50)

= FALSE or Not FALSE

= FALSE or TRUE

= TRUE

Chương 5

BƯỚC ĐẦU XÂY DỰNG CHƯƠNG TRÌNH


5.1. Cấu trúc chung một chương trình Pascal

5.1.1 Chương trình Pascal


Chương trình là một dãy các câu lệnh chỉ thị cho máy các công việc phải thực hiện. Một chương trình Pasccal đầy đủ gồm ba phần chính:
Phần tiêu đề

Phần khai báo

Phần thân chương trình chính


 

Program Têntựđặt ; { Phần tiêu đề}
{ Phần khai báo}

Uses ... {khai báo sử dụng thư viện chuẩn}

Label ... {khai báo nhãn}

Const ... {khai báo hằng}

Type ... {khai báo kiểu dữ liệu}

Var ... { khai báo biến}

Function ... { khai báo hàm}

Procedure ... {khai báo thủ tục }
{ Phần thân chương trình chính}

Begin

{ Các lệnh }

End.

 



Hình 4.1: Cấu trúc của chương trình Pascal

5.1.2. Phần tiêu đề chương trình


Phần này bắt đầu bằng từ khóa Program, sau đó ít nhất là một khoảng trắng và một tên do người dùng tự đặt, cuối cùng kết thúc bằng dấu chấm phẩy ‘;’.

Cú pháp: Program Tên_tự_đặt;



Ví dụ 5.1: Program Btap1;

hoặc: Program Giai_pt_bac2;

Phần tiêu đề còn gọi là phần đầu của chương trình, nó có thể không có cũng được.

Tên_tự_đặt phải tuân theo quy tắc đặt tên.

5.1.3. Phần khai báo


Phần khai báo có nhiệm vụ giới thiệu và mô tả các đối tượng, các đại lượng sẽ tham gia trong chương trình. Nó gồm có:

  • Khai báo sử dụng thư viện chuẩn:

Turbo Pascal có sẵn một số hàm và thủ tục chuẩn, chúng được phân thành từng nhóm theo chức năng mang các tên đặc trưng, gọi là các thư viện hay đơn vị chương trình ( Unit ), như : Crt, Graph, Dos, Printer, .v.v. . Muốn sử dụng các hàm hay thủ tục của thư viện nào, ta phải khai báo có sử dụng thư viện đó, lời khai báo phải để ở ngay sau phần tiêu đề của chương trình theo cú pháp :

Uses danh_sách_các_thư_viện_chuẩn;

Trong đó các thư viện cách nhau dấu phẩy ( , ).


Ví dụ 5.2: do thủ tục Clrscr nằm trong thư viện CRT, nên nếu trong chương trình mà có dùng lệnh Clrscr, thì phải khai báo :

Uses CRT ;

Muốn sử dụng cả hai thư viện CRT và GRAPH, ta khai báo :

Uses CRT, GRAPH ;




  • Khai báo nhãn:

Label Danh_sách_các_tên_nhãn;

Khi sử dụng trong chương trình thì sử dụng theo cú pháp:



Tên_nhãn: ;

Các nhãn thường đi với câu lệnh goto tên_nhãn;




  • Khai báo hằng theo cú pháp:

Const Tên_hằng = giá_trị;


  • Khai báo kiểu dữ liệu mới:

Ngoài các kiểu dữ liệu mà bản thân ngôn ngữ đã có sẵn như kiểu thực, kiểu nguyên, kiểu ký tự, kiểu lôgic,.v.v. người dùng có thể tự xây dựng các kiểu dữ liệu mới phục vụ cho chương trình của mình, nhưng phải mô tả sau từ khóa TYPE. Khi đã định nghĩa một kiểu dữ liệu mới, ta có thể khai báo các biến thuộc kiểu dữ liệu này theo cú pháp sau:

Type Tên_kiểu_dữ_liệu_mới = mô_tả_cho_kiểu_dữ_liệu_mới
Ví dụ 5.3: ta định nghĩa một kiểu dữ liệu mới có tên là KieuMang :

Type KieuMang = Array[1..10] of Real;

Bây giờ có thể khai báo hai biến A và B có kiểu dữ liệu là kiểu Mang :

Var A, B : KieuMang ;



  • Khai báo biến theo cú pháp:

Var Danh_sách_các_biến: kiểu_dữ_liệu_cho_biến;

Trong đó các biến cách nhau bởi dấu phẩy ( , ).



Ví dụ 5.3: Const N=10 ;

Var x, y : Real ;

i, k : Integer ;


  • Khai báo các thủ tục và hàm: được dùng khi có nhu cầu thiết kế các chương trình lớn, phức tạp. Đối với các bài toán nhỏ, đơn giản, việc sử dụng chương trình con là chưa cần thiết. Chi tiết về phần này sẽ được trình bày kỹ trong chương 8.

5.1.4. Phần thân chương trình


Đây là phần chủ yếu nhất của một chương trình, bắt buộc phải có.

Thân chương trình bắt đầu bằng từ khóa BEGIN và kết thúc bằng END. (có dấu chấm ở cuối). Giữa BEGIN và END là các lệnh. Mỗi lệnh phải kết thúc bằng dấu chấm phẩy ‘;’. Một lệnh, nếu dài, thì có thể viết trên hai hay nhiều dòng, ví dụ:

Writeln(‘ Phuong trinh co hai nghiem la X1= ‘, X1:8:2,‘ va X2= ‘, X2:8:2) ;

Ngược lại, một dòng có thể viết nhiều lệnh miễn là có dấu ‘;’ để phân cách các lệnh đó, chẳng hạn :

Write(‘ Nhap A, B, C: ‘ ) ; Readln(A,B,C) ;

Thông thường mỗi dòng chỉ nên viết một lệnh để dễ đọc, dễ kiểm tra lỗi.


Ví dụ 5.4: 1 chương trình đơn giản bằng ngôn ngữ Pascal, để nhập vào một số có hai chữ số và in ra số hàng chục và hàng đơn vị của nó.



1   ...   41   42   43   44   45   46   47   48   ...   63


Cơ sở dữ liệu được bảo vệ bởi bản quyền ©hocday.com 2016
được sử dụng cho việc quản lý

    Quê hương