TIN HỌC 11
KHÁI NIỆM LẬP TRÌNH VÀ NGÔN NGỮ LẬP TRÌNH
BÀI 1
Làm thế nào để máy tính hiểu và thực hiện được thuật toán đã lựa chọn để giải bài toán?
Cần diễn tả thuật toán bằng ngôn ngữ sao cho máy tính hiểu được thực hiện được.
Khái niệm lập trình
Khái niệm
 Lập trình là sử dụng cấu trúc dữ liệu và các câu lệnh của ngôn ngữ lập trình cụ thể để mô tả dữ liệu và diễn đạt các thao tác của thuật toán.
Phân loại ngôn ngữ lập trình
 Ngôn ngữ lập trình chia thành ba loại:
Ngôn ngữ máy: ngôn ngữ mà máy có thể trực tiếp hiểu và thực hiện.
Hợp ngữ: rất gần với ngôn ngữ máy, nhưng mã lệnh được thay bằng tên viết tắt của thao tác (thường là tiếng Anh).
Ngôn ngữ bậc cao: gần với ngôn ngữ tự nhiên, có tính độc lập cao, ít phụ thuộc vào loại máy và chương trình phải dịch sang ngôn ngữ máy mới thực hiện được.
VD: Pascal, C, Python, Php, Visual Basic...
Chương trình đặc biệt có chức năng chuyển đổi ngôn ngữ lập trình bậc cao thành ngôn ngữ máy tính hiểu gọi là chương trình dịch.
Trong đó:
Chương trình nguồn được viết trên ngôn ngữ lập trình bậc cao.
Chương trình đích được chuyển đổi sang ngôn ngữ máy nhờ chương trình dịch.
Chương trình nguồn
Chương trình dịch
Chương trình đích
Chương trình dịch
INPUT
OUTPUT
Định nghĩa:
Tình huống: Một thầy giáo chỉ biết tiếng việt muốn giới thiệu về trường mình cho một đoàn khách nước ngoài.
Phân loại chương trình dịch
Theo các bạn có mấy cách?
Thông dịch
Biên dịch
Thông dịch
Kiểm tra tính đúng đắn của câu lệnh tiếp theo trong chương trình nguồn.
Chuyển đổi câu lệnh đó thành các câu lệnh tương ứng trong ngôn ngữ máy.
Thực hiện các câu lệnh vừa chuyển đổi.
Thực hiện lặp đi lặp lại dãy các bước sau:
Loại chương trình dịch này thích hợp cho đối thoại giữa người dùng và hệ thống.
Một số trình thông dịch: Python, PhP, Turbo Pascal 7.0...
(Interpreter)
1 0 1 0 1 1 1 1 1 0
1 1 1 1 0 1 0 0 1 1
1 0 1 1 0 1 0 0 1 0
1 0 1 0 1 1 0 0 1 1
1 1 0 1 1 1 1 0 1 0
Biên dịch

Duyệt, kiểm tra, phát hiện lỗi, xác định chương trình nguồn có dịch được không.
Dịch chương trình nguồn thành một chương trình đích có thể thực hiện trên máy và lưu trữ lại để sử dụng về sau.
Thực hiện qua hai bước sau:
Loại chương trình dịch này thuận tiện cho các chương trình ổn định và cần thực hiện nhiều lần.
So sánh thông dịch và biên dịch:





Bài 2: CÁC THÀNH PHẦN CƠ BẢN CỦA NGÔN NGỮ LẬP TRÌNH
Các yếu tố xây dựng nên ngôn ngữ Tiếng việt:
+ Bảng chữ cái
+ Ngữ pháp
+ Ngữ nghĩa của từ và câu
1. Các thành phần cơ bản
Mỗi ngôn ngữ lập trình có 3 thành phần cơ bản là: Bảng chữ cái, cú pháp và ngữ nghĩa.
a. Bảng chữ cái
là tập hợp các kí tự đuược dùng để viết chưUơng trình.
Ví dụ:
Bảng chữ cái của pascal gồm
Các chữ cái (thưuờng và hoa):
Các chữ số:
Các kí tự đặc biệt:
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
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.
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ự nhuư: " \ ! ? % |
Không đuượ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 chuương trình.
- Dựa vào cú pháp ngưUời lập trình và chưUơng trình dịch biết tổ hợp nào của các kí tự trong bảng chữ cái là hợp lệ, nhờ đó có thể mô tả chính xác thuật toán để máy thực hiện.
- Là bộ quy tắc để viết chưUơng trình, gồm những quy định viết từ và tổ hợp từ của mỗi ngôn ngữ.
b. Cú pháp
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ó.
Ví dụ:
Xác định ý nghĩa của kí tự "+" trong các biểu thức sau:
Với A, B : số nguyên.
Kí tự A+B là phép cộng hai số nguyên.
Kí tự A+B là phép cộng hai số thực.
Trong ngữ cảnh khác nhau thì ý nghĩa của tổ hợp kí tự đó cũng khác nhau
Với A, B : số th?c.
c. Ngữ nghĩa
- Lỗi cú pháp được chương trình dịch phát hiện và thông báo cho người lập trình. Chương trình không còn lỗi cú pháp thì mới dịch sang ngôn ngữ máy.
- Lỗi ngữ nghĩa được phát hiện khi chạy chương trình.
* Chú ý:
c. Ngữ nghĩa
2. Một số khái niệm
Dùng để xác định các đối tuượng trong chưuơng trình.
Tên đặt theo quy tắc của ngôn ngữ lập trình và từng chưuơng trình dịch cụ thể.
Ví dụ:
Baitap S X1 SO_LUONG _R2 PI
a. Tên
Ví dụ
Kiem tra
X#Y
Baitap5
Phân biệt Tên đúng/sai
Đúng
Tongso_lop11A
12_con_giap
Nhi?u ngôn ngữ lập trình phân biệt ba loại tên:
Tên dành riêng (Từ khoá): là những tên đuược ngôn ngữ lập trình dùng với ý nghĩa xác định mà không đuược dùng với ý nghĩa khác.
Tên do nguườ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ưuớc khi sử dụng.
Tên chuẩn: dùng với ý nghĩa xác định nào đó đuược quy định trong các thuư viện của ngôn ngữ lập trình, nhưung ngưuờ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ưuời lập trình đặt
COUT, CLRSCR, CIN.
BYTE, REAL, ABS...
Tên chuẩn
MAIN, INCLUDE, VOID, WHILE, IF.
PROGRAM, USE, VAR, BEGIN, END.
Tên
dành riêng
b.Hằng và biến
* Hằng là đại lưuợng có giá trị không thay đổi trong quá trình thực hiện chuương trình.
Hằng số học là các số nguyên và số thực (d?u ph?y tinh hay d?u ph?y d?ng).
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ụ:
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ì đuược đuưa vào từ bàn phím.
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 FALSE
Hằng lôgic
"Tin hoc"
"12345"
`Tin hoc`
`12345`
Hằng xâu
- là những đại lưU?ng đưUợc đặt tên, dùng để lưUu trữ giá trị và giá trị có thể đưUợc thay đổi trong quá trình thực hiện chuơng trình.
- Các biến dùng trong chưưuơng trình đều phải khai báo
CV, R và S là các biến
Trong ví dụ trên:
* Biến
Các đoạn chú thích đặt trong chUương trình nguồn giúp ngUười đọc dễ dàng nhận biết ý nghĩa của chưưuơng trình đó.
c.Chú thích

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 đuược đặt giữa cặp dấu { } hoặc (* *)
Trong C++, chú thích đưuợc đặt giữa cặp dấu /* và */
Ghi nhớ!
Các loại chương trình dịch:
Thông dịch
Biên dịch
Lập trình là sử dụng cấu trúc dữ liệu và các câu lệnh của ngôn ngữ lập trình cụ thể để mô tả dữ liệu và diễn đạt các thao tác của thuật toán.
Chương trình nguồn
Chương trình dịch
Chương trình đích

THANK YOU FOR LISTENING AND READING
nguon VI OLET