16
Lập trình là việc chuyển đổi dữ liệu các thao tác của thuật toán thành các cấu trúc dữ liệu và các câu lệnh của một ngôn ngữ lập trình cụ thể. Các loại ngôn ngữ lập trình: Ngôn ngữ máy ---- Hợp ngữ ---- Ngôn ngữ bậc cao -Thông dịch. (Dịch từng câu lệnh) -Biên dịch. (Dịch toàn bộ chương trình) Chương trình nguồn Chương trình đích Chương trình dịch NHẮC LẠI KIẾN THỨC 8/31/2015 Edited by Hoang Hiep Lai 1

Bài 2: Các thành phần của Ngôn ngữ lập trình

Embed Size (px)

Citation preview

Page 1: Bài 2: Các thành phần của Ngôn ngữ lập trình

Lập trình là việc chuyển đổi dữ liệu và các thao tác

của thuật toán thành các cấu trúc dữ liệu và các câu

lệnh của một ngôn ngữ lập trình cụ thể.

Các loại ngôn ngữ lập trình:

Ngôn ngữ máy ---- Hợp ngữ ---- Ngôn ngữ bậc cao

-Thông dịch.

(Dịch từng câu lệnh)

-Biên dịch.

(Dịch toàn bộ chương trình)

Chương trình nguồnChương trình đích Chương trình dịch

NHẮC LẠI KIẾN THỨC

8/31/2015 Edited by Hoang Hiep Lai 1

Page 2: Bài 2: Các thành phần của Ngôn ngữ lập trình

Lập trình

CT Nguồn

Trình biên dịch

CT Đích

Máy tính thực thi

Dữ liệu

Kết quả

Thời gian dịch

Thời gian

Thực thi

8/31/2015 Edited by Hoang Hiep Lai 2

Cơ chế hoạt động của trình biên dịch

Page 3: Bài 2: Các thành phần của Ngôn ngữ lập trình

Bài 2

8/31/2015 Edited by Hoang Hiep Lai 3

Page 4: Bài 2: Các thành phần của Ngôn ngữ lập trình

1. Cac thanh phân cơ ban

Mỗi ngôn ngữ lập trình thường có ba thành

phân cơ ban: Bảng chữ cái, cú pháp và ngữ

nghĩa.CÁC CHỮ CÁI THƯỜNG

VÀ HOA:

A Ă Â B C D Đ E Ê G H I

K L M N O Ô Ơ P Q R S T

U Ư V X Y

CÁC DẤU ` ´ • ’ ~

Hãy cho biết

trong tiếng Việt

gồm những

chữ cái nào?

8/31/2015 Edited by Hoang Hiep Lai 4

Page 5: Bài 2: Các thành phần của Ngôn ngữ lập trình

Bang chữ cáia là tập hợp các kí tự dùng để viết chương trình.

Bang chữ cái của Pascal gồm

CÁC CHỮ CÁI (THƯỜNG VÀ HOA):

CÁC CHỮ SỐ:

•Cac ky tự đăc biêt

+ - * / = < > [ ] ,

; # ^ $ @ & ( ) { } : ‘

DẤU CÁCH _ (DẤU GẠCH DƯỚI)

a b c d e f g h i j k l m n o p q r s t u v w x y z

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

0 1 2 3 4 5 6 7 8 9

8/31/2015 Edited by Hoang Hiep Lai 5

Page 6: Bài 2: Các thành phần của Ngôn ngữ lập trình

• Các ngôn ngữ lập trình khác

nhau cũng có sự khác nhau về

bảng chữ cái.

Các ngôn ngữ lập

trình khác nhau

thì bang chữ cái

có khác nhau

không nhỉ ?

•Ví dụ: Bảng chữ cái của ngôn ngữ C/C++

so với PASCAL có bổ sung thêm một số

kí tự như: “ \ ! ? % |

• Không được phép dùng bất kì kí tự nào

ngoài các kí tự quy định trong bảng chữ

cái khi viết chương trình.

8/31/2015 Edited by Hoang Hiep Lai 6

Page 7: Bài 2: Các thành phần của Ngôn ngữ lập trình

Cú phápb

Ghép các căp từ sau đây sao cho phù hợp với

quy tắc sử dụng trong tiếng Viêt!

Thi…

Nên

Nếu…

Vi

Không

những

Ma

con

Dựa vào cú pháp người lập

trình và chương trình dịch

biết tổ hợp nào của các kí tự

trong bang chữ cái là hợp lê,

nhờ đó có thể mô ta chính xác

thuật toán để máy thực hiên.

Là bộ quy tắc để viết chương trình, gồm những quy định viết

từ và tổ hợp từ của mỗi ngôn ngữ.

8/31/2015 Edited by Hoang Hiep Lai 7

Page 8: Bài 2: Các thành phần của Ngôn ngữ lập trình

Ng÷ nghÜacx¸c ®Þnh ý nghÜa thao t¸c cÇn thùc hiÖn, øng víi tæ

hîp kÝ tù dùa vµo ng÷ c¶nh cña nã.

VÝ dô:X¸c ®Þnh ý nghÜa cña kÝ tù “+” trong c¸c biÓu thøc sau:

•Với A, B là các đại lượng

nhận giá trị số nguyên.

•Với M, N là các đại lượng

nhận giá trị số thực.

A + B M + N

KÝ tù “+” lµ phÐp céng

hai sè nguyªn.

KÝ tù “+” lµ phÐp céng

hai sè thùc.

Ngữ nghĩa xác định tính chất và thuộc tính

của các tổ hợp kí tự tạo thành các dòng

lệnh trong chương trình.8/31/2015 Edited by Hoang Hiep Lai 8

Page 9: Bài 2: Các thành phần của Ngôn ngữ lập trình

2. Mét sè kh¸i niÖm

Tªna

Dùng để xác định các đối tượng trong chương trình.

Tên đặt theo quy tắc được xác định của ngôn ngữ

lập trình và từng chương trình dịch cụ thể.

Free Pascal C++- Tên là một dãy liên tiếp các kí tự gồm:

chữ cái, chữ số, dấu gạch dưới.

- Độ dài tên ≤ 255 kí tự.

- Bắt đầu tên bằng chữ cái hoặc dấu

gạch dưới.

- Không phân biệt chữ hoa và thường.

- Độ dài tên tuỳ ý.

- Có phân biệt chữ hoa và

thường.

Ví dụ: Baitap S X1 SO_LUONG _R2 PI

8/31/2015 Edited by Hoang Hiep Lai 9

Page 10: Bài 2: Các thành phần của Ngôn ngữ lập trình

Ví dụ

Kiem tra

TRUE

Baitap5

Phân biêt Tên đúng/sai

Đúng

Tongso_lop11A

12_con_giap

TÊN SAI

Baitap5

Tongso_lop11A

Kiem tra

TRUE

Đúng

12_con_giap

TÊN ĐÚNG

2. Mét sè kh¸i niÖm

Page 11: Bài 2: Các thành phần của Ngôn ngữ lập trình

Mét sè ng«n ng÷ lËp tr×nh ph©n biÖt ba lo¹i tªn sau:

•Tªn dµnh riªng (Tõ kho¸): là những tên được ngôn ngữ lập

trình dùng với ý nghĩa xác định mà không được dùng với ý

nghĩa khác.

•Tªn do ngêi lËp tr×nh ®Æt: sử dụng theo ý nghĩa riêng, xác

định bằng cách khai báo trước khi sử dụng.

•Tªn chuÈn: dùng với ý nghĩa xác định nào đó được quy

định trong các thư viện của ngôn ngữ lập trình, nhưng người

lập trình có thể khai báo và dùng với ý nghĩa khác.

Ví dụ:

BAITAP, A, X1, CHUVI, SO_LUONG, …Tªn do ngêi

lËp tr×nh ®Æt

COUT, CLRSCR, CIN…BYTE, REAL, ABS...Tªn chuÈn

MAIN, INCLUDE, VOID,

WHILE, IF…

PROGRAM, USES, VAR,

BEGIN, END…

Tªn

dµnh riªng

C/ C++PascalLoại tên

8/31/2015 Edited by Hoang Hiep Lai 11

Page 12: Bài 2: Các thành phần của Ngôn ngữ lập trình

H»ng vµ biÕnb

Bµi to¸n:

TÝnh chu vi (CV), diÖn tÝch (S) h×nh trßn víi b¸n

kÝnh (R) bÊt k× ®ưîc nhập vµo tõ bµn phÝm.

HÃY XÁC ĐỊNH

CÁC ĐẠI LƯỢNG

CÓ TRONG BÀI

TOÁN TRÊN?

Đại lượng có giá trị

không đổi

Đại lượng

có giá trị

thay đổi

pi=3.14 R, CV, S

8/31/2015 Edited by Hoang Hiep Lai 12

Page 13: Bài 2: Các thành phần của Ngôn ngữ lập trình

H»ng vµ biÕnb

• H»ng là đại lượng có giá trị không thay đổi trong quá trình

thực hiện chương trình.

- H»ng sè häc lµ c¸c sè nguyªn vµ sè thùc, cã hoÆc kh«ng dÊu.

- H»ng l«gic lµ c¸c gi¸ trÞ TRUE hoÆc FALSE.

- H»ng x©u lµ chuçi kÝ tù bÊt k×, khi viÕt ®Æt trong cÆp dÊu nh¸y.

Ví dụ: C/ C++PascalLoại hằng

3 0 -8 +15

2.5 5.0 -12.79 +6.8 0.2

-2.259E02 1.7E-3

H»ng sè häc

TRUE FALSEH»ng l«gic

“Tin hoc”

“12345”

‘Tin hoc’

‘12345’H»ng x©u

8/31/2015 Edited by Hoang Hiep Lai 13

Page 14: Bài 2: Các thành phần của Ngôn ngữ lập trình

là những đại lượng được đặt tên, dùng để lưu trữ

giá trị và giá trị có thể được thay đổi trong quá trình

thực hiện chương trình.

• Tên biến mang giá trị của biến tại từng thời điểm thực

hiện chương trình.

F CV, R vµ S lµ c¸c biÕn

Trong vÝ dô trªn:

BiÕn

8/31/2015 Edited by Hoang Hiep Lai 14

Page 15: Bài 2: Các thành phần của Ngôn ngữ lập trình

•Các đoạn chú thích đặt trongchương trình nguồn giúp ngườiđọc dễ dàng nhận biết ý nghĩacủa chương trình đó.

•Chú thích không làm ảnh hưởngđến nội dung chương trìnhnguồn và được chương trìnhdịch bỏ qua.

Chó thÝchc

Program VD1;

USES crt; { khai bao thu vien}

BEGIN { bat dau ct}

{in TB ra man hinh}

Write(‘ Xin chao cac ban lop 11’);

readln;

END.•Trong Pascal, chú thích đượcđặt giữa cặp dấu { } hoặc /* */

•Trong C++, chú thích được đặtgiữa cặp dấu /* và */8/31/2015 Edited by Hoang Hiep Lai 15

Page 16: Bài 2: Các thành phần của Ngôn ngữ lập trình

§ C¸c thµnh phÇn c¬ b¶n cña ng«n ng÷ lËp

tr×nh:

- Bé ch÷ c¸i.

§ C¸c kh¸i niÖm c¬ b¶n cña ng«n ng÷ lËp tr×nh:

- Tªn:

Tªn dµnh riªng (Tõ kho¸).

Tªn chuÈn.

- Có ph¸p.

- Ng÷ nghÜa.

Tªn do ngêi dïng ®Æt.

- C¸c ®¹i lîng:

H»ng.

BiÕn.

- Chó thÝch.

8/31/2015 Edited by Hoang Hiep Lai 16