Bài giảng Nhập môn điện toán - Chương 6: Lập trình
6.1. Ngôn ngữ lập trình
• Ngôn ngữ máy:
– Là tập hợp gồm nhiều lệnh máy
• Lệnh máy
– Là một chuỗi các bit 0 và 1
– Chỉ thực hiện một số tác vụ đơn giản như các phép tính số học và
– Một lệnh máy bao gồm 2 phần: mã lệnh và toán hạng
tự và nhảy
Nhꢀp môn Điꢁn Toán - Chương 6
Khoa KH & KT Máy Tính, ĐẠI HỌC BÁCH KHOA TP.HCM
Slide 2
• Ngôn ngữ lập trình:
– Chương trình (program): Một đoạn mã lệnh yêu cầu
máy tính thực hiện một công việc cụ thể nào đó
– Lập trình (programming): Viết chương trình, bằng cách
sử dụng một ngôn ngữ lập trình
người biểu diễn ý tưởng của mình dưới dạng chương
này
Nhꢀp môn Điꢁn Toán - Chương 6
Khoa KH & KT Máy Tính, ĐẠI HỌC BÁCH KHOA TP.HCM
Slide 3
Ví dụ
1010 0001 0000 0000 0000 0001 0000 0101
0000 0101 0000 0000 1010 0011 0000
0000…..
(64 kí số 0, 1)
hiểu được (rất khó viết và hầu như không thể đọc)
Nhꢀp môn Điꢁn Toán - Chương 6
Khoa KH & KT Máy Tính, ĐẠI HỌC BÁCH KHOA TP.HCM
Slide 4
• Ngôn ngữ lập trình mức thấp nhất: ngôn ngữ máy.
• Ngôn ngữ lập trình cấp cao: ngôn ngữ nhiều kiểu
diễu dữ liệu và nhiều cấu trúc điều khiển hơn so
với những gì được cung cấp bởi ngôn ngữ máy;
với ngôn ngữ tự nhiên hơn
Nhꢀp môn Điꢁn Toán - Chương 6
Khoa KH & KT Máy Tính, ĐẠI HỌC BÁCH KHOA TP.HCM
Slide 5
• Đa mục đích: Basic, C (C++, C#), Java, Fortran, Pascal
• Lập trình đệ quy
• Lập trình khai báo và lập trình thủ tục
– Khai báo: C, Pascal
– Thủ tục: Prolog, Lisp
• Lập trình logic
• Ngôn ngữ lập trình hàm
• Lập trình hướng đối tượng
Nhꢀp môn Điꢁn Toán - Chương 6
Khoa KH & KT Máy Tính, ĐẠI HỌC BÁCH KHOA TP.HCM
Slide 6
Ví dụ
1010 0001 0000 0000 0000 0001 0000 0101 0000 0101 0000
0000 1010 0011 0000 0000…..
(64 kí số 0, 1)
⇒Ngôn ngữ máy, con người hầu như không thể đọc hiểu được (rất
khó viết và hầu như không thể đọc)
Mov ax, [100]
Add ax, 5
Mov [100], ax
⇒Hợp ngữ, con người có thể đọc được, nhưng chỉ bao gồm các cấu
(khó đọc và khó viết)
⇒a := a + 5 (a chứa tại địa chỉ [100])
Nhꢀp môn Điꢁn Toán - Chương 6
Khoa KH & KT Máy Tính, ĐẠI HỌC BÁCH KHOA TP.HCM
Slide 7
Ví dụ (tt)
a := 3 +1;
For i:=1 to 3 do read(a);
⇒ Ngôn ngữ Pascal: cung cấp nhiều cấu trúc dữ liệu hơn,
có thể biểu diễn ý tưởng tốt hơn, tuy nhiên vẫn tương đối
khó đọc so với ngôn ngữ tự nhiên (dễ viết và tương đối dễ
Select ID from Table Where ID > 5
viết)
Nhꢀp môn Điꢁn Toán - Chương 6
Khoa KH & KT Máy Tính, ĐẠI HỌC BÁCH KHOA TP.HCM
Slide 8
Cơ chế thực hiện chương trình
• Cơ chế tuần tự
• Cơ chế nhảy
=> Lặp và rẽ nhánh
Nhꢀp môn Điꢁn Toán - Chương 6
Khoa KH & KT Máy Tính, ĐẠI HỌC BÁCH KHOA TP.HCM
Slide 9
Cấu trúc điều khiển
• Cấu trúc điều khiển: Một cấu trúc ngôn ngữ quy
định thứ tự thực hiện các lệnh
• Ngôn ngữ máy: Tuần tự và nhảy
• Ngôn ngữ cấp cao
– Lặp
Nhꢀp môn Điꢁn Toán - Chương 6
Khoa KH & KT Máy Tính, ĐẠI HỌC BÁCH KHOA TP.HCM
Slide 10
Cấu trúc tuần tự và nhảy
A = 1;
Goto Lable1;
A = A*2;
Label1:
A = A + 3
A=?
Nhꢀp môn Điꢁn Toán - Chương 6
Khoa KH & KT Máy Tính, ĐẠI HỌC BÁCH KHOA TP.HCM
Slide 11
Cấu trúc rẽ nhánh
• if (x < y) {
printf ("x is smaller");
}
printf ("x is greater")
}
Nhꢀp môn Điꢁn Toán - Chương 6
Khoa KH & KT Máy Tính, ĐẠI HỌC BÁCH KHOA TP.HCM
Slide 12
Cấu trúc lặp
• i = 1
while (i < 5) do {
i = i + 1;
}
Nhꢀp môn Điꢁn Toán - Chương 6
Khoa KH & KT Máy Tính, ĐẠI HỌC BÁCH KHOA TP.HCM
Slide 13
Cấu trúc khối
Nhꢀp môn Điꢁn Toán - Chương 6
Khoa KH & KT Máy Tính, ĐẠI HỌC BÁCH KHOA TP.HCM
Slide 14
Hàm và chương trình con
• Các phần chương trình nhỏ, có tên và có thể được
gọi bởi tên ở các phần khác của chương trình
• Thực hiện một công việc chuyên nhiệm
• Cho phép chương trình được thiết kế thành nhiều
• Có thể định nghĩa biến cục bộ riêng
• Hàm trả về kết quả khi được gọi
Nhꢀp môn Điꢁn Toán - Chương 6
Khoa KH & KT Máy Tính, ĐẠI HỌC BÁCH KHOA TP.HCM
Slide 15
Các thế hệ ngôn ngữ lập trình
• Thế hệ thứ nhất:
– Xuất hiện vào thập niên 60
– Tập lệnh gần giống như tập lệnh máy (machine code)
– Đại diện tiêu biểu: Fortran
• Thế hệ thứ hai
– Phát triển các cấu trúc dữ liệu từ thế hệ thứ nhất
(control structures) và các dạng cú pháp linh hoạt hơn
– Chương trình đã có thể được thiết kế (design)
– Đại diện tiêu biểu: Algol-60
Nhꢀp môn Điꢁn Toán - Chương 6
Khoa KH & KT Máy Tính, ĐẠI HỌC BÁCH KHOA TP.HCM
Slide 17
Các thế hệ ngôn ngữ lập trình (tt)
• Thế hệ thứ ba:
– Xuất hiện các kiểu dữ liệu do người sử dụng định nghĩa
(user-defined data types)
– Các dạng cấu trúc điều khiển tiếp tục được bổ sung hiệu
quả hơn
– Ngôn ngữ độc lập hơn với kiến trúc máy tính
– Đại diện tiêu biểu: Pascal
Nhꢀp môn Điꢁn Toán - Chương 6
Khoa KH & KT Máy Tính, ĐẠI HỌC BÁCH KHOA TP.HCM
Slide 18
Các thế hệ ngôn ngữ lập trình (tt)
• Thế hệ thứ tư: (Fourth Generation Languages – 4GL)
– Dễ sử dụng hơn, đặc biệt dành cho những người không phải là chuyên
gia
– Cho phép đưa ra những giải pháp nhanh để xử lý dữ liệu
– Xúc tích hơn
– Gần với ngôn ngữ tự nhiên
– Không có dạng thủ tục (non-procedural)
– Đại diện tiêu biểu: Structured Query Language (SQL)
• Thế hệ thứ năm:
phục vụ các nhu cầu lập trình đặc trưng
– Hỗ trợ nhiều cấu trúc điều khiển và có các dạng cú pháp tương đối dễ
đọc
Nhꢀp môn Điꢁn Toán - Chương 6
Khoa KH & KT Máy Tính, ĐẠI HỌC BÁCH KHOA TP.HCM
Slide 19
6.2. Xử lý ngôn ngữ
Đꢀnh nghĩa cꢁa ngôn ngꢂ máy tính
• Máy tính chỉ có thể hiểu và thực thi được một chương
trình khi các lệnh của chương trình được viết một cách
tuyệt đối chính xác và rõ ràng về ngữ nghĩa
• Để viết được mgôn ngữ lập
trình cũng phải được định nghĩa theo một hình thức rõ
ràng và chính xác
ngôn ngữ (meta-language)
Nhꢀp môn Điꢁn Toán - Chương 6
Khoa KH & KT Máy Tính, ĐẠI HỌC BÁCH KHOA TP.HCM
Slide 20
Tải về để xem bản đầy đủ
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Nhập môn điện toán - Chương 6: Lập trình", để tải tài liệu gốc về máy hãy click vào nút Download ở trên
File đính kèm:
- bai_giang_nhap_mon_dien_toan_chuong_6_lap_trinh.pdf