Upload
hoang-hiep-lai
View
1.626
Download
1
Embed Size (px)
Citation preview
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
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
Bài 2
8/31/2015 Edited by Hoang Hiep Lai 3
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
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
• 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
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
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
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
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
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
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
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
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
•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
§ 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