THPT Chuyên B c Giang - Nguy n Văn Đi n - ediennv@gmail.comắc Giang - Nguyễn Văn Điện - ediennv@gmail.com ễn Văn Điện - ediennv@gmail.com ện - ediennv@gmail.com14 nhớ 11 kn Vậy, máy tính
Trang 1THPT Chuyên B c Giang - Nguy n Văn Đi n - ediennv@gmail.comắc Giang - Nguyễn Văn Điện - ediennv@gmail.com ễn Văn Điện - ediennv@gmail.com ện - ediennv@gmail.com
14
nhớ
11 kn
Tiết 4 thứ 3 ngày 26/10/2010.
Trang 2THPT Chuyên B c Giang - Nguy n Văn Đi n - ediennv@gmail.comắc Giang - Nguyễn Văn Điện - ediennv@gmail.com ễn Văn Điện - ediennv@gmail.com ện - ediennv@gmail.com
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.
Trang 3THPT Chuyên B c Giang - Nguy n Văn Đi n - ediennv@gmail.comắc Giang - Nguyễn Văn Điện - ediennv@gmail.com ễn Văn Điện - ediennv@gmail.com ện - ediennv@gmail.com
14
nhớ
11 kn
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
Trang 4THPT Chuyên B c Giang - Nguy n Văn Đi n - ediennv@gmail.comắc Giang - Nguyễn Văn Điện - ediennv@gmail.com ễn Văn Điện - ediennv@gmail.com ện - ediennv@gmail.com
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.
Trang 5THPT Chuyên B c Giang - Nguy n Văn Đi n - ediennv@gmail.comắc Giang - Nguyễn Văn Điện - ediennv@gmail.com ễn Văn Điện - ediennv@gmail.com ện - ediennv@gmail.com
14
nhớ
11 kn
Làm sao để máy tính
có thể thực hiện được?
Mời quý vị đi theo
lối này =>
Trang 6THPT Chuyên B c Giang - Nguy ắc Giang - Nguyễn Văn Điện - ediennv@gmail.com ễn Văn Điện - ediennv@gmail.com
n Văn Đi n - ediennv@gmail.com ện - ediennv@gmail.com
note
NGÔN NGỮ LẬP TRÌNH
Lớp 10A6 Tiết 17, tuần 9 Ngày 26.10.2010
BÀI 5.
Trang 7THPT Chuyên B c Giang - Nguy n Văn Đi n - ediennv@gmail.comắc Giang - Nguyễn Văn Điện - ediennv@gmail.com ễn Văn Điện - ediennv@gmail.com ện - ediennv@gmail.com
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 ọa Người - Máy ười - Máy i - Máy
Trang 8THPT Chuyên B c Giang - Nguy n Văn Đi n - ediennv@gmail.comắc Giang - Nguyễn Văn Điện - ediennv@gmail.com ễn Văn Điện - ediennv@gmail.com ện - ediennv@gmail.com
14
nhớ
11 kn
•Để máy tính thực hiện công việc (a+b)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 (a+b)gọi tắt là
chương trình).
K t qu c a vi c di n t thu t ết quả của việc diễn tả thuật ả của việc diễn tả thuật ủa việc diễn tả thuật ệc diễn tả thuật ễn tả thuật ả của việc diễn tả thuật ật
toán b ng NNLT đ ằng NNLT được gọi là gì? ược gọi là gì? c g i là gì? ọa Người - Máy
Von neuman-đi u khi n theo ctều khiển theo ct ển theo ct
Trang 9THPT Chuyên B c Giang - Nguy n Văn Đi n - ediennv@gmail.comắc Giang - Nguyễn Văn Điện - ediennv@gmail.com ễn Văn Điện - ediennv@gmail.com ện - ediennv@gmail.com
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: (a+b)ứ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 (a+b)NNLT bậc cao).
Mỗi loại có những đặc điểm riêng.
Von neuman-truy c p theo đ a ch , t ập theo địa chỉ, từ ịa chỉ, từ ỉ, từ ừ
máy
Trang 10THPT Chuyên B c Giang - Nguy n Văn Đi n - ediennv@gmail.comắc Giang - Nguyễn Văn Điện - ediennv@gmail.com ễn Văn Điện - ediennv@gmail.com ện - ediennv@gmail.com
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” ều loại NN máy” ại NN máy” T or F?
con người - Máyi phát tri n NNLT th h 2.ển NNLT thế hệ 2 ết quả của việc diễn tả thuật ệc diễn tả thuật
Trang 11THPT Chuyên B c Giang - Nguy n Văn Đi n - ediennv@gmail.comắc Giang - Nguyễn Văn Điện - ediennv@gmail.com ễn Văn Điện - ediennv@gmail.com ện - ediennv@gmail.com
14
nhớ
11 kn
được nguồn tài nguyên (a+b)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? ự thay đổi đó thể hiện thế nào? ổi đó thể hiện thế nào? ể hiện thế nào? ện thế nào? ế nào?
s đ trên b ngơ đồ trên bảng ồ trên bảng ả của việc diễn tả thuật
Trang 12THPT Chuyên B c Giang - Nguy n Văn Đi n - ediennv@gmail.comắc Giang - Nguyễn Văn Điện - ediennv@gmail.com ễn Văn Điện - ediennv@gmail.com ện - ediennv@gmail.com
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ờ
Trang 13THPT Chuyên B c Giang - Nguy n Văn Đi n - ediennv@gmail.comắc Giang - Nguyễn Văn Điện - ediennv@gmail.com ễn Văn Điện - ediennv@gmail.com ện - ediennv@gmail.com
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
Trang 14THPT Chuyên B c Giang - Nguy n Văn Đi n - ediennv@gmail.comắc Giang - Nguyễn Văn Điện - ediennv@gmail.com ễn Văn Điện - ediennv@gmail.com ện - ediennv@gmail.com
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…
Sang Ki n th c nh ến thức nhớ ức nhớ ớ
Trang 15THPT Chuyên B c Giang - Nguy n Văn Đi n - ediennv@gmail.comắc Giang - Nguyễn Văn Điện - ediennv@gmail.com ễn Văn Điện - ediennv@gmail.com ện - ediennv@gmail.com
14
nhớ
11 kn
Kiến thức nhớ
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 dịch Trình hợp dịch
Trang 16THPT Chuyên B c Giang - Nguy n Văn Đi n - ediennv@gmail.comắc Giang - Nguyễn Văn Điện - ediennv@gmail.com ễn Văn Điện - ediennv@gmail.com ện - ediennv@gmail.com
14
nhớ
11 kn
Hãy chọn những khẳng định đúng về mình!
• Ngôn ngữ máy
• Hợp ngữ
• Ngôn ngữ bậc cao
Trang 17THPT Chuyên B c Giang - Nguy n Văn Đi n - ediennv@gmail.comắc Giang - Nguyễn Văn Điện - ediennv@gmail.com ễn Văn Điện - ediennv@gmail.com ện - ediennv@gmail.com
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.
Trang 18THPT Chuyên B c Giang - Nguy n Văn Đi n - ediennv@gmail.comắc Giang - Nguyễn Văn Điện - ediennv@gmail.com ễn Văn Điện - ediennv@gmail.com ện - ediennv@gmail.com
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.
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.
Trang 19THPT Chuyên B c Giang - Nguy n Văn Đi n - ediennv@gmail.comắc Giang - Nguyễn Văn Điện - ediennv@gmail.com ễn Văn Điện - ediennv@gmail.com ện - ediennv@gmail.com
14
nhớ
11 kn
Trang 20THPT Chuyên B c Giang - Nguy n Văn Đi n - ediennv@gmail.comắc Giang - Nguyễn Văn Điện - ediennv@gmail.com ễn Văn Điện - ediennv@gmail.com ện - ediennv@gmail.com
14
nhớ
11 kn
Hãy chọn những khẳng định đúng về mình!
• Ngôn ngữ máy
• Hợp ngữ
• Ngôn ngữ bậc cao
Trang 21THPT Chuyên B c Giang - Nguy n Văn Đi n - ediennv@gmail.comắc Giang - Nguyễn Văn Điện - ediennv@gmail.com ễn Văn Điện - ediennv@gmail.com ện - ediennv@gmail.com
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.
Trang 22THPT Chuyên B c Giang - Nguy n Văn Đi n - ediennv@gmail.comắc Giang - Nguyễn Văn Điện - ediennv@gmail.com ễn Văn Điện - ediennv@gmail.com ện - ediennv@gmail.com
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.
Trang 23THPT Chuyên B c Giang - Nguy n Văn Đi n - ediennv@gmail.comắc Giang - Nguyễn Văn Điện - ediennv@gmail.com ễn Văn Điện - ediennv@gmail.com ện - ediennv@gmail.com
14
nhớ
11 kn
Trang 24THPT Chuyên B c Giang - Nguy n Văn Đi n - ediennv@gmail.comắc Giang - Nguyễn Văn Điện - ediennv@gmail.com ễn Văn Điện - ediennv@gmail.com ện - ediennv@gmail.com
14
nhớ
11 kn
Kinh nghiệm!
• Bổ sung các kiến thức liên quan đến các
thành phần trong sơ đồ.