ThÝch hîp cho nh÷ng nhµ lËp tr×nh chuyªn nghiÖp.. Ng«n ng÷ vÉn cßn phøc t¹p.[r]
(1)Kiểm tra cũ
Kiểm tra cũ
Hãy mơ tả thuật tốn sau sơ đồ khốiHãy mơ tả thuật tốn sau sơ đồ khối
Cho N dãy số aCho N dãy số a11, …, a, …, aNN, Hãy cho biết có bao , Hãy cho biết có bao
nhiêu số hạng dãy có giá trị 0.
nhiêu số hạng dãy có giá trị 0. Input: N dãy số aInput: N dãy số a11, …, a, …, aNN
(2)§ S
Đ S
Nhập N a1,,aN
i 1; Dem 0 i > N
ai=0
Dem Dem+1
i i + 1
§ a Dem, kÕt thóc
B1: NhËp N vµ d·y a1,…,aN;
B2: i 1; Dem 0;
B3: Nếu i > N đ a sè Dem råi kÕt thóc;
B4 :
4.1: NÕu ai >0 th× DemDem+1; 4.2: i i + råi quay l¹i B3.
Cách 2: Sơ đồ khối
(3)§ S
Đ S
Nhập N a1,,aN
i 1; Dem 0 i > N
ai = 0
Dem Dem+1 i i + 1
§ a Dem, kÕt thóc 1 1 Dem Dem i i A
A 00 11 00 00 -6-6
Víi N = 5 N=5 ; A [ 0 -6 ]
i 1; Dem 0 1 > 5
0 = 0
Dem 0+1 i + 1
2
2
2 > 5 1 = 0
i 2+1 3 > 5 0 = 0
Dem 1+1 i 3+1
3
3 44
4 > 5 0 = 0
Dem 2+1 i 4+1
5
5
5 > 5 -6 = 0
i 5+1
6 > 5 Dem = 3, kÕt thóc.
6
6
1
1 22 33 33
(4)Bài Ngôn ngữ lập trình Bài Ngôn ngữ lập trình
Lm th để máy tính hiểu thực
đ ợc thuật toán?
Cn din t thuật tốn ngơn ngữ mà máy tính hiểu thực đ ợc Ngơn ngữ gọi
là ngôn ngữ lập trình.
Có loại ngôn ngữ lập trình:
ã Ngôn ngữ máy ã Hợp ngữ
ã Ngôn ngữ lập trình bậc cao
(5)1 Ngôn ngữ máy
1 Ngôn ngữ máy ((machine languagemachine language))
Vỡ ngơn ngữ khơng thích hợp với số đơng ng ời lập trình.
Mỗi loại MT có ngơn ngữ máy Đó ngơn ngữ để viết ch ơng trình mà MT trực tiếp hiểu thực c.
Các lệnh đ ợc viết ngôn ngữ máy dạng mà nhị phân dạng mà hecxa
Ưu điểm
Ưu điểm Nh ợc điểmNh ợc điểm
Là ngôn ngữ máy tính có thể trực tiếp hiểu thực
hiện, cho phép khai thác triệt để các đặc điểm phần cứng
m¸y.
Ngôn ngữ phức tạp, phụ thuộc nhiều vào phần cứng, ch ơng trình viết nhiều công sức, cång kỊnh vµ khã hiƯu chØnh.
Phân tích ưu nhược, điểm
(6)2 Hợp ngữ
2 Hợp ngữ ((assembly languageassembly language))
- Là ngôn ngữ kết hợp ngôn ngữ máy với ngôn ngữ tự nhiên ng ời (ting Anh) th hin cỏc lnh.
Ưu điểm
Ưu điểm Nh ợc điểmNh ợc điểm
Khụng phụ thuộc nhiều vào phần cứng máy tính Ngơn ngữ gần với tự nhiên. Thích hợp cho nhà lập trình chun nghiệp.
Ngơn ngữ cịn phức tạp Vẫn ch a phù hợp với phần đông ng ời lập trình.
MT kh«ng thĨ hiĨu, thùc hiƯn trùc tiÕp CT.
- Hợp ngữ bao gồm tên câu lệnh quy tắc viết các câu lệnh để máy tính hiểu đ ợc
- Gåm hai phÇn:
+ phần đầu: tên mã lệnh phép toán cần thực hiện. + phần sau: phần địa cho biết địa chứa tốn hạng phép tốn đó.
Phân tích ưu nhược, điểm
(7)Ví dụ: Ch ơng trình tính e = (a+b)*(c+d) input a; input b; input c; input d; load a; add b; move e; load c; add d; mult e; move e; print e; halt; a; b; c; d; e; end
- Dịch ch ơng trình hợp ngữ
sang ngôn ngữ máy
- Thực ch ơng trình dịch
-VÝ dô:
Load a; 0000 00100000 a: ; 00100000
b: ; 00100010
Để ch ơng trình viết hợp
ngữ thực đ ợc máy tính, nó cần đ ợc dịch ngôn ngữ máy bằng ch ơng trình hợp dịch.
(8)3 Ngôn ngữ bậc cao
3 Ngôn ngữ bậc cao (High level language)(High level language)
- Là ngôn ngữ đ ợc tạo phát triển nhằm phản ánh cách thức ng ời lập trình nghĩ làm Ngôn ngữ bậc cao gần với ngôn ngữ ng ời (T.Anh), nh ng xác nh ngôn ngữ Toán học.
- Là ngôn ngữ phụ thuộc vào loại máy, ch ơng trình viết ngắn gọn, dễ hiểu, dễ nâng cấp.
Một số ngôn ngữ bậc cao:
+ Fortran (FORmular TRANslator): hãng IBM, đời năm 1954 + COBOL(1959), Algol(1960), Basic
+ Turbo Pascal, Visual Basic, Java, Delphi, C, C++
Vì ngơn ngữ thích hợp với phần đơng ng ời lập Vì ngơn ngữ thích hợp với phần đơng ng ời lập trình.
tr×nh.
Vì ngơn ngữ lập trình bậc cao
ra i?
- Để máy tính thực đ ợc ch ơng trình viết ngôn ngữ lập trình bậc cao cần ch ơng trình chuyển từ ngôn ngữ lập trình bậc cao sang ngôn ngữ
(9)(10)Câu hỏi thảo luận:
Câu hỏi thảo luận:
Câu 1: Em hiểu ngơn ngữ lập trình ?
Câu 1: Em hiểu ngơn ngữ lập trình ?
Câu 2: Hợp dịch chương trình dịch dùng
Câu 2: Hợp dịch chương trình dịch dùng
để làm ?
để làm ?
Câu 3: Vì phải phát triển ngơn ngữ
Câu 3: Vì phải phát triển ngơn ngữ
lập trình bậc cao ?
lập trình bậc cao ?
Đó ph ơng thức để ng ời diễn đạt thuật toán cho máy tính hiểu thực đ ợc.
Hợp dịch ch ơng trình dịch dùng để dịch ch ơng trình đ ợc viết hợp ngữ, NNLT bậc cao thnh
ch ơng trình thực đ ợc máy.
NNLT bc cao c phát triển nhằm thoả mãn nhu cầu của phần đông đa số ng ời dùng máy tính