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

bai 5 ngôn ngữ lập trình

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 (591.94 KB, 21 trang )

Thứ 2, ngày 08/10/2012


Bài toán: Tính diện tích và chu vi của HCN
khi biết chiều dài a và chiều rộng b.
• Yêu cầu:
– Xác định Input và Output.
– Trình bày thuật toán dạng liệt kê.


Trả lời
* 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.
Rồi kết thúc


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ì ngôn ngữ thể hiện thuật toán
trên, máy tính chưa hiểu được.


Làm sao để máy tính


có thể thực hiện được???

Mời quý vị đi theo
lối này



Ví dụ: Người Anh - Người Việt
• N.Việt: Xin chào, mời ngài vào đây!
• N.Anh:??? (không hiểu N.Việt nói gì), muốn
N.Anh hiểu và làm theo, N.Việt phải làm thế
nào?
 Làm thế này!

- C1: Phải nói TA
- C2: Thuê người dịch biết cả hai thứ tiếng
Anh và Việt


Kết quả của việc diễn tả thuật
toán bằng NN nào đó sao cho máy
tính có thể thực hiện được gọi là
máy tính thựcgì? hiện công

Để
việc (bài
toán) giúp con người, thuật toán phải

đượ*c Kế
diễtnquả

tả bằ
n
g
ngôn
ngữ
củ
a
máy
tính
của việc diễn tả thuật toán bằng
hoặcmộngôn
mà má
cóy thể
đổci hiệ
về n
t NN ngữ
sao cho
tínhchuyể
có thển thự
đượ
c gọcủ
i là
một chương
ngôn
ngữ
a máy
tính. trình máy tính (gọi
tắt là chương trình).
* Ngôn ngữ đó được gọi chung là NNLT.



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.
- Ư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ó viết, chương trình dài, khó hiệu
chỉnh. Không thực hiện được trên các loại máy tính
khác.

 Vì vậy ngôn ngữ này không thích hợp với số
đông người lập trình.


HỢP NGỮ
Có ngôn ngữ nào
tốt hơn ngôn ngữ
máy không?


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: ADD AX, BX (cộng 2 giá trị chứa
trong thanh ghi AX và BX, kết quả quy ước
đặt vào thanh ghi AX)




- Ưu điểm: dễ nhớ, dễ lập trình hơn NN máy.
- Nhược điểm:
+ Chương trình vẫn còn phức tạp
+ Ngôn ngữ này chỉ thích hợp với các nhà
lập trình chuyên nghiệp.

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


NGÔN NGỮ
BẬC CAO

Có ngôn ngữ nào
tốt hơn hợp ngữ
không?


3. Ngôn ngữ bậc cao

- NN bậc cao: các câu lệnh của

chương trình gần gũi với ngôn ngữ
tự nhiên.
- Ưu điểm:
+ Tính độc lập cao, ít phụ thuộc
vào các loại máy.
+ Chương trình viết ngắn gọn, dễ
hiểu, dễ hiệu chỉnh, nâng cấp,…


- B1: Nhập 2 số a và b
- B2: s ← a*b,
p ← 2*(a+b)
-B3: Thông báo s, p
Rồi kết thúc

Program dt_cv;
Var a, b: byte;
s, p: real;
BEGIN
Read (a,b);
s:=a*b;
p:=2*(a+b);
Write (‘S=’, S, ‘P=’, P);
Readln
END.



- Chương trình viết bằng NNLT bậc cao
phải được chuyển về chương trình trên NN

máy thông qua chương trình dịch.
- VD: Pascal, C, C++, Java,…


Ngôn ngữ lập trình
Ngôn
ngữ
máy

Hợp
ngữ

Ngôn
ngữ
bậc
cao

Chương trình hợp dịch
Chương trình dịch


Phát biểu nào dưới đây là sai khi
nói về ngôn ngữ máy?
A. Ngôn ngữ máy: máy tính có thể trực tiếp hiểu
được. Các lệnh là các dãy bit.
B. Ngôn ngữ máy không thể dùng để viết những
chương trình phức tạp.
C. Ngôn ngữ thích hợp với từng loại máy.
D. Viết chương trình bằng ngôn ngữ máy tận dụng
được những đặc điểm riêng biệt của từng máy nên

chương trình sẽ thực hiện nhanh hơn.


Khi viết chương trình, người lập trình
không nhất thiết phải làm gì?
A. Tổ chức dữ liệu vào, ra
B. Dùng các câu lệnh để mô tả các
thao tác.
C. Thường xuyên kiểm tra, phát hiện
và sửa lỗi.
D. Vẽ sơ đồ khối


Chương trình dịch là chương trình
dùng để chuyển:
A. Ngôn ngữ máy về hợp ngữ.
B. Hợp ngữ về ngôn ngữ bậc cao.
C. NN bậ
bậcc cao
cao về
về ngôn
ngônngữ
ngữmáy.
máy
D. NN máy về ngôn ngữ khác.


- Học bài
- Về nhà xem bài 6 và trả lời:
Có mấy bước giải bài toán trên

máy tính?



×