Bài 5. Ngôn ngữ lập trình

- 0 / 0
(Tài liệu chưa được thẩm định)
Nguồn:
Người gửi: Đào Đức Thuận
Ngày gửi: 07h:36' 17-10-2012
Dung lượng: 258.5 KB
Số lượt tải: 80
Nguồn:
Người gửi: Đào Đức Thuận
Ngày gửi: 07h:36' 17-10-2012
Dung lượng: 258.5 KB
Số lượt tải: 80
Số lượt thích:
0 người
Kiểm tra bài cũ
* Câu hỏi: Xác định input, output và viết thuật toán của bài toán tính tổng hai số nguyên A, B?
* Trả lời:
Input: A, B là các số nguyên
Output: Đưa ra Tổng hai số A, B
Tiết 17- Bài 5
NGÔN NGỮ LẬP TRÌNH
? Ngôn ngữ lập trình là gì?
Tiết 17 – Bài 5. NGÔN NGỮ LẬP TRÌNH
- Ngôn ngữ để viết chương trình được gọi là ngôn ngữ lập trình.
- Ngôn ngữ lập trình được chia làm 3 loại: (ứng với 3 thế hệ ngôn ngữ)
- Thế hệ 1: Ngôn ngữ máy
- Thế hệ 2: Hợp ngữ
- Thế hệ 3: Ngôn ngữ bậc cao (Ngôn ngữ lập trình bậc cao)
1. Ngôn ngữ máy
- Mỗi loại máy tính đều có 1 ngôn ngữ máy riêng.
Ví dụ:
- BXL 32 BIT, VI KIẾN TRÚC NetBurst
+ BXL Pentium 4
+ BXL Celeron
+Pentium 4 Extreme Edition (P4EE)
- BXL 64 BIT, VI KIẾN TRÚC NETBURST
+ P4 Prescott (năm 2004 )
+ Pentium D (năm 2005)
- BXL 64BIT, KiẾN TRÚC CORE
+Intel Core 2 Duo
+ Core 2 Extreme
Tiết 17 – Bài 5. NGÔN NGỮ LẬP TRÌNH
? Em hiểu thế nào là 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.
Tiết 17 – Bài 5. NGÔN NGỮ LẬP TRÌNH
Ví dụ: Đoạn chương trình sau mô tả việc thực hiện cộng hai giá trị trên ngôn ngữ máy
Tiết 17 - Bài 5. NGÔN NGỮ LẬP TRÌNH
Các lệnh viết bằng ngôn ngữ máy ở dạng mã nhị phân hoặc mã hexa
? Chương trình viết bằng ngôn ngữ khác có thực hiện trực tiếp trên máy tính luôn được không? Tại sao?
Mỗi chương trình viết bằng ngôn ngữ khác đều phải dịch ra ngôn ngữ máy bằng một chương trình dịch.
Tiết 17 – Bài 5. NGÔN NGỮ LẬP TRÌNH
? Vậy ngôn ngữ máy những ưu điểm gì ?
Ưu điểm: Khai thác triệt để và tối ưu khả năng của máy tính.
? Em hãy đưa ra những nhược điểm của ngôn ngữ máy?
Nhược điểm:
+ Ngôn ngữ máy phức tạp, phụ thuộc nhiều vào phần cứng.
+ Chương trình viết mất nhiều công sức, cồng kềnh, khó hiệu chỉnh, khó cải tiến.
+ Tính phổ dụng không cao.
Ngôn ngữ này không thích hợp với số đông người lập trình.
Tiết 17 – Bài 5. NGÔN NGỮ LẬP TRÌNH
2. Hợp ngữ
Ví dụ:
Để cộng hai giá trị có trong hai thanh ghi AX, BX ta thực hiện như sau:
ADD AX,BX
Trong đó:
ADD: là kí hiệu phép cộng (viết tắt từ tiếng Anh);
Kết quả của phép cộng sẽ được ghi trong thanh AX.
? Qua ví dụ trên em có nhận xét gì về hợp ngữ?
? Vậy hợp ngữ là gì?
- Là ngôn ngữ kết hợp ngôn ngữ máy với ngôn ngữ tự nhiên của con người. Nó cho phép người lập trình sử dụng một số từ (thường là viết tắt các từ tiếng Anh) để thể hiện các lệnh cần thực hiện.
Tiết 17 – Bài 5. NGÔN NGỮ LẬP TRÌNH
Ví dụ: Đoạn chương trình sau mô tả thực hiện cộng hai số nguyên A,B
? Em nào có thể chỉ ra nhược điểm của hợp ngữ?
Ưu điểm:
+ Đơn giản hóa câu lệnh
+ Dễ viết, dễ hiểu hơn ngôn ngữ máy.
Tiết 17 – Bài 5. NGÔN NGỮ LẬP TRÌNH
Nhược điểm:
+ Câu lệnh vẫn còn phức tạp, khó nhớ, vẫn còn phụ thuộc vào loại máy
+ Tính phổ dụng không cao.
Ngôn ngữ này chỉ thích hợp với các nhà lập trình chuyên nghiệp.
? Hợp ngữ có những ưu điểm gì?
Tiết 17 – Bài 5. NGÔN NGỮ LẬP TRÌNH
?Máy tính có thực hiện được ngay các chương trình viết bằng hợp ngữ khô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.
Ví dụ về hợp dịch: Tasm.exe, Emu8086 …
HỢP
NGỮ
NGÔN NGỮ
MÁY
CHƯƠNG TRÌNH
HỢP DỊCH
Tiết 17 - Bài 5. NGÔN NGỮ LẬP TRÌNH
3. Ngôn ngữ bậc cao.
Ví dụ:
? Em có nhận xét gì về các câu lệnh được viết trong đoạn chương trình trên?
Đoạn chương bên thực hiện công việc gì?
Tiết 17 – Bài 5. NGÔN NGỮ LẬP TRÌNH
? Vậy em hiểu ngôn ngữ bậc cao là gì?
Là ngôn ngữ trong đó các câu lệnh được viết gần với ngôn ngữ tự nhiên.
Ví dụ dòng lệnh cho biết số nguyên N là số âm hay số dương của Pascal:
IF (N < 0) THEN Write(‘ N la so am’)
ELSE Write(‘N la so dương’);
“Ngôn ngữ bậc cao thích hợp với số đông người lập trình”. Em có đồng ý với ý kiến trên không? Tại sao?
Ưu điểm:
+ Ngắn gọn, dễ hiểu, dễ hiệu chỉnh và dễ nâng cấp.
+ Cho phép làm việc với nhiều kiểu dữ liệu và cách tổ chức dữ liệu đa dạng.
+ Có tính độc lập cao, ít phụ thuộc vào loại máy.
+ Việc mô tả thuật toán trở nên đơn giản, trong sáng.
? Hãy kể tên một số ngôn ngữ lập trình bậc cao mà em biết?
- 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, phần mềm ứng dụng …
Tiết 17 – Bài 5. NGÔN NGỮ LẬP TRÌNH
? Ngôn ngữ bậc cao có nhược điểm gì?
- Chương trình viết bằng ngôn ngữ bậc cao phải được chuyển về chương trình trên ngôn ngữ máy thông qua chương trình dịch.
- Nhược điểm: Mất nhiều thời gian để dịch ra ngôn ngữ máy.
Một số chương trình dịch: Turbo Pascal, Freepascal, C, turbo C, Free C, VB, Visual Studio, DotNet…
Tiết 17 - Bài 5. NGÔN NGỮ LẬP TRÌNH
Với bài toán tính tổng hai số nguyên A, B ta có thể viết trên 3 thế hệ ngôn ngữ lập trình qua các đoạn chương trình như sau:
Đoạn CT 1
Đoạn CT 2
Đoạn CT 3
? Em hãy chỉ ra các loại ngôn ngữ lập trình được sử dụng ứng với các đoạn chương trình trên?
Viết bằng hợp ngữ
Viết bằng
ngôn ngữ máy
Viết bằng
ngôn ngữ bậc cao
? Hãy ghép mỗi đặc điểm ở cột bên phải với ngôn ngữ lập trình tương ứng ở cột bên trái
Đáp án
B- 2 - 5
A - 1 - 5
C - 3 - 4
Tiết 17 - Bài 5. NGÔN NGỮ LẬP TRÌNH
* Câu hỏi: Xác định input, output và viết thuật toán của bài toán tính tổng hai số nguyên A, B?
* Trả lời:
Input: A, B là các số nguyên
Output: Đưa ra Tổng hai số A, B
Tiết 17- Bài 5
NGÔN NGỮ LẬP TRÌNH
? Ngôn ngữ lập trình là gì?
Tiết 17 – Bài 5. NGÔN NGỮ LẬP TRÌNH
- Ngôn ngữ để viết chương trình được gọi là ngôn ngữ lập trình.
- Ngôn ngữ lập trình được chia làm 3 loại: (ứng với 3 thế hệ ngôn ngữ)
- Thế hệ 1: Ngôn ngữ máy
- Thế hệ 2: Hợp ngữ
- Thế hệ 3: Ngôn ngữ bậc cao (Ngôn ngữ lập trình bậc cao)
1. Ngôn ngữ máy
- Mỗi loại máy tính đều có 1 ngôn ngữ máy riêng.
Ví dụ:
- BXL 32 BIT, VI KIẾN TRÚC NetBurst
+ BXL Pentium 4
+ BXL Celeron
+Pentium 4 Extreme Edition (P4EE)
- BXL 64 BIT, VI KIẾN TRÚC NETBURST
+ P4 Prescott (năm 2004 )
+ Pentium D (năm 2005)
- BXL 64BIT, KiẾN TRÚC CORE
+Intel Core 2 Duo
+ Core 2 Extreme
Tiết 17 – Bài 5. NGÔN NGỮ LẬP TRÌNH
? Em hiểu thế nào là 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.
Tiết 17 – Bài 5. NGÔN NGỮ LẬP TRÌNH
Ví dụ: Đoạn chương trình sau mô tả việc thực hiện cộng hai giá trị trên ngôn ngữ máy
Tiết 17 - Bài 5. NGÔN NGỮ LẬP TRÌNH
Các lệnh viết bằng ngôn ngữ máy ở dạng mã nhị phân hoặc mã hexa
? Chương trình viết bằng ngôn ngữ khác có thực hiện trực tiếp trên máy tính luôn được không? Tại sao?
Mỗi chương trình viết bằng ngôn ngữ khác đều phải dịch ra ngôn ngữ máy bằng một chương trình dịch.
Tiết 17 – Bài 5. NGÔN NGỮ LẬP TRÌNH
? Vậy ngôn ngữ máy những ưu điểm gì ?
Ưu điểm: Khai thác triệt để và tối ưu khả năng của máy tính.
? Em hãy đưa ra những nhược điểm của ngôn ngữ máy?
Nhược điểm:
+ Ngôn ngữ máy phức tạp, phụ thuộc nhiều vào phần cứng.
+ Chương trình viết mất nhiều công sức, cồng kềnh, khó hiệu chỉnh, khó cải tiến.
+ Tính phổ dụng không cao.
Ngôn ngữ này không thích hợp với số đông người lập trình.
Tiết 17 – Bài 5. NGÔN NGỮ LẬP TRÌNH
2. Hợp ngữ
Ví dụ:
Để cộng hai giá trị có trong hai thanh ghi AX, BX ta thực hiện như sau:
ADD AX,BX
Trong đó:
ADD: là kí hiệu phép cộng (viết tắt từ tiếng Anh);
Kết quả của phép cộng sẽ được ghi trong thanh AX.
? Qua ví dụ trên em có nhận xét gì về hợp ngữ?
? Vậy hợp ngữ là gì?
- Là ngôn ngữ kết hợp ngôn ngữ máy với ngôn ngữ tự nhiên của con người. Nó cho phép người lập trình sử dụng một số từ (thường là viết tắt các từ tiếng Anh) để thể hiện các lệnh cần thực hiện.
Tiết 17 – Bài 5. NGÔN NGỮ LẬP TRÌNH
Ví dụ: Đoạn chương trình sau mô tả thực hiện cộng hai số nguyên A,B
? Em nào có thể chỉ ra nhược điểm của hợp ngữ?
Ưu điểm:
+ Đơn giản hóa câu lệnh
+ Dễ viết, dễ hiểu hơn ngôn ngữ máy.
Tiết 17 – Bài 5. NGÔN NGỮ LẬP TRÌNH
Nhược điểm:
+ Câu lệnh vẫn còn phức tạp, khó nhớ, vẫn còn phụ thuộc vào loại máy
+ Tính phổ dụng không cao.
Ngôn ngữ này chỉ thích hợp với các nhà lập trình chuyên nghiệp.
? Hợp ngữ có những ưu điểm gì?
Tiết 17 – Bài 5. NGÔN NGỮ LẬP TRÌNH
?Máy tính có thực hiện được ngay các chương trình viết bằng hợp ngữ khô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.
Ví dụ về hợp dịch: Tasm.exe, Emu8086 …
HỢP
NGỮ
NGÔN NGỮ
MÁY
CHƯƠNG TRÌNH
HỢP DỊCH
Tiết 17 - Bài 5. NGÔN NGỮ LẬP TRÌNH
3. Ngôn ngữ bậc cao.
Ví dụ:
? Em có nhận xét gì về các câu lệnh được viết trong đoạn chương trình trên?
Đoạn chương bên thực hiện công việc gì?
Tiết 17 – Bài 5. NGÔN NGỮ LẬP TRÌNH
? Vậy em hiểu ngôn ngữ bậc cao là gì?
Là ngôn ngữ trong đó các câu lệnh được viết gần với ngôn ngữ tự nhiên.
Ví dụ dòng lệnh cho biết số nguyên N là số âm hay số dương của Pascal:
IF (N < 0) THEN Write(‘ N la so am’)
ELSE Write(‘N la so dương’);
“Ngôn ngữ bậc cao thích hợp với số đông người lập trình”. Em có đồng ý với ý kiến trên không? Tại sao?
Ưu điểm:
+ Ngắn gọn, dễ hiểu, dễ hiệu chỉnh và dễ nâng cấp.
+ Cho phép làm việc với nhiều kiểu dữ liệu và cách tổ chức dữ liệu đa dạng.
+ Có tính độc lập cao, ít phụ thuộc vào loại máy.
+ Việc mô tả thuật toán trở nên đơn giản, trong sáng.
? Hãy kể tên một số ngôn ngữ lập trình bậc cao mà em biết?
- 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, phần mềm ứng dụng …
Tiết 17 – Bài 5. NGÔN NGỮ LẬP TRÌNH
? Ngôn ngữ bậc cao có nhược điểm gì?
- Chương trình viết bằng ngôn ngữ bậc cao phải được chuyển về chương trình trên ngôn ngữ máy thông qua chương trình dịch.
- Nhược điểm: Mất nhiều thời gian để dịch ra ngôn ngữ máy.
Một số chương trình dịch: Turbo Pascal, Freepascal, C, turbo C, Free C, VB, Visual Studio, DotNet…
Tiết 17 - Bài 5. NGÔN NGỮ LẬP TRÌNH
Với bài toán tính tổng hai số nguyên A, B ta có thể viết trên 3 thế hệ ngôn ngữ lập trình qua các đoạn chương trình như sau:
Đoạn CT 1
Đoạn CT 2
Đoạn CT 3
? Em hãy chỉ ra các loại ngôn ngữ lập trình được sử dụng ứng với các đoạn chương trình trên?
Viết bằng hợp ngữ
Viết bằng
ngôn ngữ máy
Viết bằng
ngôn ngữ bậc cao
? Hãy ghép mỗi đặc điểm ở cột bên phải với ngôn ngữ lập trình tương ứng ở cột bên trái
Đáp án
B- 2 - 5
A - 1 - 5
C - 3 - 4
Tiết 17 - Bài 5. NGÔN NGỮ LẬP TRÌNH
 







Các ý kiến mới nhất