Tải bản đầy đủ (.ppt) (17 trang)

giáo án thao giảng, bồi dưỡng thi giáo viên giỏi môn tin bài ngôn ngữ lập trình (1)

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (159.53 KB, 17 trang )

Kiểm tra bài cũ
* Câu hỏi: Xác định input, output và viết thuật tốn của bài
tố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


Theo cách liệt kê:
B1: Nhập A, B;
B2: Tính Tổng  A+B;

Theo sơ đồ khối:
Nhập A, B;

Tong ← A+ B;

B3: Đưa ra Tổng rồi kết thúc;
Đưa ra Tong
và kết thúc


Tiết 17- Bài 5

NGƠN NGỮ LẬP TRÌNH


Tiết 17 – Bài 5. NGƠN NGỮ LẬP TRÌNH
? Ngơn ngữ lập trình là gì?


- 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)


Tiết 17 – Bài 5. NGƠN NGỮ LẬP TRÌNH
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
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

1001 0001 0110 0100 0001 0000
0000 0011 0110 0110 0001 0000

1010 0011 0000 0000 0010 1011
? 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
? 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 ln đượ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.
- Các lệnh viết bằng ngôn ngữ máy ở dạng mã nhị phân hoặc
mã hexa


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ữ?


Tiết 17 – Bài 5. NGƠN NGỮ LẬP TRÌNH
? 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.
Ví dụ: Đoạn chương trình sau mơ tả thực hiện cộng hai số
nguyên A,B
MOV AX, A
ADD AX, B
MOV Tong, AX


Tiết 17 – Bài 5. NGƠN NGỮ LẬP TRÌNH
? Hợp ngữ có những ưu điểm gì?
- Ư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.
? Em nào có thể chỉ ra nhược điểm của hợp ngữ?

- 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.


Tiết 17 – Bài 5. NGƠN NGỮ LẬP TRÌNH
Chương trình viết bằng hợp ngữ phải được dịch ra ngôn ngữ
?Máy trình hợp dịch thì
máy nhờ chương tính có thực hiện máy tính mới có thể thực
hiện được. được ngay các chương
Ví dụ về hợp dịch: Tasm.exe, Emu8086 …
trình viết bằng hợp ngữ

khơng?
HỢP
NGỮ

CHƯƠNG TRÌNH
HỢP DỊCH

NGƠN NGỮ
MÁY


Tiết 17 - Bài 5. NGƠN NGỮ LẬP TRÌNH
3. Ngơn ngữ bậc cao.

Ví dụ:

NNLT Fortran
Program VD;
Read (*,*) A,B
Tong= A+B
Write(*,*) Tong
End

Đoạn chương
bên thực hiện
cơng việc gì?

? 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?


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ố ngun N là số âm hay số dương
của Pascal:
IF (N < 0) THEN Write(‘ N la so am’)
ELSE bậc cao la so dương’);
“Ngơn ngữ Write(‘Nthí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 tốn trở nên đơn giản, trong sá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ì?
- Nhược điểm: Mất nhiều thời gian để dịch ra ngôn ngữ
máy.
? 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 …
- 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.
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 tốn tính tổng hai số ngun 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:
1001 0001 0110 0100 0001 0000
0000 0011 0110 0110 0001 0000
1010 0011 0000 0000 0010 1011

MOV AX, A


NNLT Pascal
Begin

ADD AX, B
MOV Tong, AX

Readln(A,B);
Tong:=A+B;

Đoạn CT 1
Viết bằng
ngôn ngữ máy

Đoạn CT 2
Viết bằng hợp ngữ

Write(Tong);
End. CT 3
Đoạn
Viết bằng
ngôn ngữ bậc cao

? 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?


Tiết 17 - Bài 5. NGƠN NGỮ LẬP TRÌNH
? 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

A) Ngơn ngữ máy
B) Hợp ngữ
C) Ngơn ngữ bậc cao

Đáp án

A-1-5

1) Máy có thể trực tiếp hiểu được
2) Phải có chương trình hợp dịch để dịch sang
ngôn ngữ máy
3) Gần với ngôn ngữ tự nhiên
4) Có tính độc lập với từng loại máy cụ thể
5) Các lệnh là các dãy bit
6) Các lệnh sử dụng một số từ tiếng anh để
thay nhóm bit làm chương trình dễ đọc,
dễ viết hơn.

B- 2 - 5

C-3-4



×