2. 14
nhớ
11
kn
Kiểm tra miệng:
• Bài 1: Tính diện tích và chu vi của HCN khi
biết chiều dài và chiều rộng.
• Bài 2: Tính diện tích hình tròn, bán kính r.
• Yêu cầu:
– Xác định Input và Output.
– Trình bày thuật toán dạng liệt kê.
3. 14
nhớ
11
kn
Lời giải
Bài 1
• XĐBT
– Input: hai số a,b
– Output: s, p
• Thuật toán:
B1: nhập 2 số a và b
B2: s ← a*b,
p ← 2*(a+b)
B3: Thông báo s,p.
Kết thúc
Bài 2
• XĐBT
– Input: pi, r
– Output: s
• Thuật toán:
B1: - nhập r
- pi=3.14
B2: s = pi*r*r,
B3: Thông báo s.
Kết thúc
4. 14
nhớ
11
kn
Vậy, máy tính có thể thực hiện
được bài toán theo thuật toán
trên không? Vì sao?
– Không!
– Vì NN thể hiện thuật toán trên,
máy tính chưa hiểu được.
7. 14
nhớ
11
kn
Ví dụ NA-NV
• NV: Xin chào, mời ngài vào đây!
• NA:?? (không hiểu NV nói gì), muốn NA làm
theo,NV phải làm thế nào?
• Làm thế này!
– Phải nói TA
– Thuê người dịch biết cả hai thứ tiếng A và V
Minh họa Người - Máy
8. 14
nhớ
11
kn
•Để máy tính thực hiện công việc (bài toán) giúp
con người, thuật toán phải được diễn tả bằng ngôn
ngữ của máy tính hoặc ngôn ngữ mà có thể chuyển
đổi về ngôn ngữ của máy tính.
Ngôn ngữ đó được gọi chung là NNLT.
*Kết quả của việc diễn tả thuật toán bằng NNLT được
gọi là một chương trình máy tính (gọi tắt là chương
trình).
Kết quả của việc diễn tả thuật toán bằng NNLT được
gọi là gì?
9. 14
nhớ
11
kn
* Hiện nay, có nhiều loại ngôn ngữ lập trình do
liên quan đến các kiến trúc và hoạt động của
máy tính khác nhau. Và chúng được chia ra
thành 3 loại: (ứng với 3 thế hệ NN)
– Thế hệ 1: Ngôn ngữ máy
– Thế hệ 2: Hợp ngữ
– Thế hệ 3: NN bậc cao (NNLT bậc cao).
Mỗi loại có những đặc điểm riêng.
10. 14
nhớ
11
kn
1. Ngôn ngữ máy
• Là ngôn ngữ duy nhất để viết chương trình mà máy
tính có thể trực tiếp hiểu và thực hiện được.
• Các lệnh viết bằng ngôn ngữ máy ở dạng hệ
nhị phân hoặc hệ hexa.
• VD
• Ưu điểm: Khai thác triệt để các đặc điểm phần cứng
của máy tính.
• Nhược điểm: Khó nhớ câu lệnh, CT dài. Không thực
hiện được trên loại máy tính khác.
“Có nhiều loại NN máy” T or F?
11. 14
nhớ
11
kn
2. Hợp ngữ
• Cho phép người lập trình sử dụng một số từ tắt (tiếng
Anh) để thể hiện các lệnh cần thực hiện.
• VD:
– Mov A,Rn
– VD khác (CT)
• Hợp ngữ còn được gọi là NN cấp thấp, tận dụng được
nguồn tài nguyên (CPU,RAM…) hạn hẹp. Khai thác
được các thế mạnh, viết ra các CT điểu khiển phần
cứng như: Main, Ram, Rom, các vi mạch… Vì thế,
ngày nay vẫn tồn tại và phát triển.
sự thay đổi đó thể hiện thế nào?
12. 14
nhớ
11
kn
2. Hợp ngữ
• Chương trình viết bằng hợp ngữ phải
được dịch ra ngôn ngữ máy nhờ chương
trình hợp dịch thì máy tính mới có thể
thực hiện được.
• Vd về trình hợp dịch: Tasm.exe,
Emu8086v…
(Hợp ngữ là một ngôn ngữ đã thuận lợi hơn cho các nhà lập trình chuyên nghiệp nhưng
vẫn chưa thật thích hợp với đông đảo người lập trình. Nên việc ra đời các NNLT thế
hệ 3 là một tất yếu!)
*Chạy CT in dòng HelloWord!
13. 14
nhớ
11
kn
3. Ngôn ngữ bậc cao.
• Thể hiện các câu lệnh gần với ngôn ngữ tự nhiên hay
ngôn ngữ con người. NNbậc cao có tính
độc lập cao, ít phụ thuộc vào các loại máy.
• VD dòng lệnh cho biết số nguyên N là chẵn hay lẻ của
Pascal:
IF (N mod 2 =0) THEN Write(‘ N so Chan’)
ELSE Write(‘N la so le’);
• Hoặc CT viết dòng chữ “Hello Word!” ra màn hình
như sau:
Begin
Write(‘Hello Word!”);
Readln;
End.
14. 14
nhớ
11
kn
3. Ngôn ngữ bậc cao.
• Một số ngôn ngữ bậc cao thường dùng hiện nay:
– Pascal, C…: dễ minh họa, diễn tả các thuật toán
– VBA ,V.Studio, VFP…: Viết các phần mềm ứng dụng
– Java, Asp, PHP, DotNet...: Thiết kế Website, Pm ứng dụng
…
• VD và (Chạy CT trên Pascal)
• CT viết bằng NNLT bậc cao phải được chuyển về CT
trên NN máy thông qua chương trình dịch.
VD: Turbo Pascal, Freepascal, C, turbo C, Free C, VB,
Visual Studio, DotNet…
17. 14
nhớ
11
kn
Suy nghĩ và chọn!
1. để viết chương trình máy tính
2. gần với ngôn ngữ tự nhiên
3. thích hợp viết CT điều khiển phần cứng.
4. máy tính trực tiếp hiểu được.
5. sử dụng chương trình dịch để dịch sang NN
máy.
6. có sự trợ giúp của chương trình hợp dịch thí
máy tính mới hiểu được.
7. thực hiện trên nhiều loại máy khác nhau.
18. 14
nhớ
11
kn
8. CT viết trên NN này thường không thực hiện
được trên các loại máy khác nhau.
9. lệnh ở dạng mã hóa nhị phân.
10. sử dụng một số từ tiếng Anh để viết câu lệnh.
11. khó nhớ và viết câu lệnh.
12. NNLT Pascal.
13. nhiều người gọi tôi là ngôn ngữ cấp thấp.
14. tôi được nhiều người biết tới nhất.
19. 14
nhớ
11
kn
Đáp án:
• Ngôn ngữ máy :1, 3, 4, 8, 9, 11
• Hợp ngữ :1, 3, 6, 8, 10, 13
• Ngôn ngữ bậc cao :1, 2, 5, 7, 12, 14
Mời đại diện mỗi nhóm viết đáp án lên bảng
21. 14
nhớ
11
kn
Suy nghĩ và chọn!
1. để viết chương trình máy tính
2. gần với ngôn ngữ tự nhiên
3. thích hợp viết CT điều khiển phần cứng.
4. máy tính trực tiếp hiểu được.
5. sử dụng chương trình dịch để dịch sang NN
máy.
6. có sự trợ giúp của chương trình hợp dịch thí
máy tính mới hiểu được.
7. thực hiện trên nhiều loại máy khác nhau.
22. 14
nhớ
11
kn
8. CT viết trên NN này thường không thực hiện
được trên các loại máy khác nhau.
9. lệnh ở dạng mã hóa nhị phân.
10. sử dụng một số từ tiếng Anh để viết câu lệnh.
11. NNLT Pascal.
23. 14
nhớ
11
kn
Đáp án:
• Ngôn ngữ máy :1, 3, 4, 8, 9
• Hợp ngữ :1, 3, 6, 8, 10
• Ngôn ngữ bậc cao :1, 2, 5, 7, 11
Mời đại diện mỗi nhóm viết đáp án lên bảng