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.
Chương trình 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 nhóm người nước ngoài đến thăm Việt Nam và học một khóa nấu ăn. Làm sao để họ hiểu được các công thức nấu ăn Việt Nam
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.
Các ngôn ngữ khai thác hệ quản trị cơ sở dữ liệu, đối thoại với hệ điều hành,… đều sử dụng trình thông dịch.
(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.
Bài 2: 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
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ươ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ự như: " \ ! ? % |
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.
a.BẢNG CHỮ CÁI (tiếp theo)
b.Cú pháp
Dựa vao 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 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ương trình, gồm những quy định viết từ và tổ hợp từ của mỗi ngôn ngữ.
c.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ó.
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.
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 chuơng trình.
Với A, B : số th?c.
2. Một số khái niệm
a.Tên
Dùng để xác định các đối tượng trong chương trình.
Tên đặt theo quy tắc của ngôn ngữ lập trình và từng chương trình dịch cụ thể.
Ví dụ:
Baitap S X1 SO_LUONG _R2 PI
Ví dụ
Kiem tra
TRUE
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 đượ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 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ướ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 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, USE, VAR, BEGIN, END.
Tên
dành riêng
b.Hằng và biến
Hằng là đại lượ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 đư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ư?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 chuơ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 chuơng trình.
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 chương trình nguồn giúp người đọc dễ dàng nhận biết ý nghĩa của chương trình đó.
Chú thích không làm ảnh huởng đến nội dung chưuơng trình nguồn và được chuơng trình dịch bỏ qua.
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 đượ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