Các thành phần cơ bản của Ngôn ngữ lập trình
1. Các thành phần cơ bản
1.1. Bảng chữ cái
- là tập kí tự dùng để viết chương trình
- Bảng chữ cái trong NNLT Pascal gồm:
- chữ cái thường/hoa trong bảng chữ cái tiếng Anh
- 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
- 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
- 10 chữ số Ả Rập: 0,1,2,3,4,5,6,7,8,9
- 1 số kí tự đặc biệt: + – * / = < > [ ] . , ; # ^ $ @ & ( ) { } : ‘ và dấu cách
- chữ cái thường/hoa trong bảng chữ cái tiếng Anh
- Bảng chữ cái trong NNLT Python:
- là các kí tự trong bảng mã unicode
1.2. Cú pháp
- là bộ quy tắc để viết chương trình
1.3. Ngữ nghĩa
- Xá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ó
2. Một số khái niệm
2.1. Tên
2.1.1. Khái niệm
- Mọi đối tượng trong 1 chương trình đều được đặt tên
- Tên đặt theo quy tắc của từng ngôn ngữ lập trình cụ thể
- NNLT Pascal:
- tên là một dãy kí tự bao gồm:
- chữ số, dấu gạch dưới, chữ cái
- bắt đầu bằng chữ cái hoặc dấu gạch dưới
- Không phân biệt chữ hoa và chữ thường,
- VD: A, R21, P21_C, _45
- tên là một dãy kí tự bao gồm:
- NNLT Python:
- tên là một dãy kí tự bao gồm:
- chữ số, dấu gạch dưới, chữ cái in hoa hoặc in thường,
- bắt đầu bằng: chữ cái hoặc dấu gạch dưới
- phân biệt chữ hoa và chữ thường,
- không giới độ dài của tên,
- không chứa một số kí tự đặc biệt như @#?/…
- VD: a, ab, heso,…
- tên là một dãy kí tự bao gồm:
2.1.2. Tên dành riêng (keyword)
- Được ngôn ngữ lập trình quy định dùng với ý nghĩa xác định
- người lập trình không được sử dụng với ý nghĩa khác
- Không được đặt tên trùng với keyword, nếu trùng thì chương trình sẽ báo lỗi
- VD:
- Trong NNLT Pascal:
- Program, Uses, Const, Type, Var, Begin, End…
- Trong NNLT Python: tên dành riêng phần lớn được viết thường, trừ các tên sau: True, False, None
- Else, for, def…
- Trong NNLT Pascal:
2.1.3. Tên chuẩn
- Được ngôn ngữ lập trình dùng với một ý nghĩa nhất định nào đó.
- Tuy nhiên, người lập trình có thể khai báo và dùng chúng với ý nghĩa và mục đích khác
- VD
- Trong NNLT Pascal:
- abs, sqr, integer, real, write…
- Trong NNLT Python:
- Abs, float, int, chr…
- Trong NNLT Pascal:
2.1.4. Tên do người dùng đặt
- được người lập trình đặt với một ý nghĩa riêng
- tuân theo quy tắc đặt tên
- không được trùng với tên dành riêng (keyword)
- nên đặt tên gợi lên ý nghĩa sử dụng
2.2. Biến
- biến là đại lượng có giá trị thay đổi trong quá trình sử dụng
- biến được sử dụng để lưu trữ dữ liệu trong chương trình
- biến phải có tên; tên biến là tên do người lập trình đặt
2.3. Hằng
- là đại lượng có giá trị không thay đổi trong quá trình sử dụng
- có 3 loại hằng
- hằng số học: là các số nguyên hay số thực
- hằng logic: true hoặc false
- hằng xâu: là dãy ký tự trong bộ mã ASCII được đặt trong cặp dấu nháy
- Pascal: nháy đơn
- Python: nháy đơn, nháy kép
2.4. Chú thích
- được dùng để giải thích các dòng code
- giúp cho người đọc hay chính người viết code sau này hiểu được source code dễ dàng hơn
- các ký tự và đoạn code trong comment sẽ không ảnh hưởng tới kết quả chương trình.
- VD:
- Pascal:
- bắt đầu bằng dấu { hoặc cặp dấu (*
- kết thúc bằng dấu } hoặc cặp dấu *)
- Python
- Comment trên 1 dòng
- bắt đầu với ký tự #
- Comment trên nhiều dòng
- bắt đầu bằng 3 dấu nháy đơn (”’) hoặc 3 dấu nháy kép (“””)
- kết thúc cũng bằng 3 dấu nháy đơn (”’) hoặc 3 dấu nháy kép (“””)
- Comment trên 1 dòng
- Pascal: