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 (326.58 KB, 19 trang )
<span class='text_page_counter'>(1)</span>1.
<span class='text_page_counter'>(2)</span> 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.
<span class='text_page_counter'>(3)</span> Theo cách liệt kê: B1: Nhập A, B;. Theo sơ đồ khối: Nhập A, B;. B2: Tính Tổng A+B; Tong A+ B;. B3: Đưa ra Tổng rồi kết thúc; Đưa ra Tong và kết thúc. 3.
<span class='text_page_counter'>(4)</span> Tiết 17- Bài 5. NGÔN NGỮ LẬP TRÌNH. 4.
<span class='text_page_counter'>(5)</span> Tiết 17 – Bài 5. NGÔN NGỮ LẬP TRÌNH ? Làm thế nào con người có thể điều khiển máy tính giải một bài toán? 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ôn ngữ máy + Hợp ngữ + Ngôn ngữ bậc cao 5.
<span class='text_page_counter'>(6)</span> 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ụ: Đ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 - Ngôn ngữ máy là ngôn ngữ duy nhất mà máy tính có thể trực tiếp hiểu và thực hiện được. 6.
<span class='text_page_counter'>(7)</span> 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 muốn thực hiện trên máy tính phải làm như thế nào?. NGÔN NGỮ KHÁC. CHƯƠNG TRÌNH DỊCH. NGÔN NGỮ MÁY. ? Khi viết chương trình bằng ngôn ngữ máy sẽ có lợi thế gì? - Ưu điểm: + Các câu lệnh có thể được thực thi một cách nhanh chóng. + Khai thác triệt để các đặc điểm phần cứng của máy. 7.
<span class='text_page_counter'>(8)</span> Tiết 17 – Bài 5. NGÔN NGỮ LẬP TRÌNH ? Ngôn ngữ máy có những hạn chế nào? - 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. + Không phổ biến, ứng dụng không cao.. 8.
<span class='text_page_counter'>(9)</span> 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ữ? 9.
<span class='text_page_counter'>(10)</span> Tiết 17 – Bài 5. NGÔN NGỮ LẬP TRÌNH - 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ể hiện các lệnh cần thực hiện. ?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ú ý: Chương trình viết bằng hợp ngữ trước khi thực hiện trên máy phải được dịch ra ngôn ngữ máy nhờ chương trình hợp dịch.. 10.
<span class='text_page_counter'>(11)</span> 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 MOV AX, A ADD AX, B MOV Tong, AX -Ưu điểm: ? So với ngôn ngữ máy, hợp ngữ có ưu điểm gì nổi bật? + 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ớ, còn phụ thuộc vào loại máy. 11.
<span class='text_page_counter'>(12)</span> 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? 12.
<span class='text_page_counter'>(13)</span> 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à ngôn ngữ như thế nào? Ngôn ngữ bậc cao 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 a (a≠0) là số âm hay dương được thể hiện trong Pascal: IF (a < 0) THEN Write(‘ a la so am’) ELSE Write(‘a la so duong’); “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: + Có tính độc lập cao, ít phụ thuộc vào loại máy + Ngắn gọn, dễ hiểu, dễ hiệu chỉnh… 13.
<span class='text_page_counter'>(14)</span> Tiết 17 – Bài 5. NGÔN NGỮ LẬP TRÌNH ? Bên cạnh những ưu điểm nổi bật 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. - Chú ý: 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.. 14.
<span class='text_page_counter'>(15)</span> Tiết 17 – Bài 5. NGÔN NGỮ LẬP TRÌNH. Củng cố 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 15.
<span class='text_page_counter'>(16)</span> 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: NNLT Pascal. 1001 0001 0110 0100 0001 0000. MOV AX, A. 0000 0011 0110 0110 0001 0000. ADD AX, B. Begin. 1010 0011 0000 0000 0010 1011. MOV Tong, AX. Readln(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ữ. ? Em hãy chỉ ra các loại ngôn ngữ lập trình được với các đoạn chương trình trên?. Tong:=A+B ; Đoạn CT 3 Viết bằng Write(Tong );ngôn ngữ bậc cao sửEnd. dụng ứng 16.
<span class='text_page_counter'>(17)</span> 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. 17.
<span class='text_page_counter'>(18)</span> Hướng dẫn về nhà - Học bài và trả lời câu hỏi 3 trong sách giáo khoa trang 46. - Đọc trước bài 6 “Giải bài toán trên máy tính”.. 18.
<span class='text_page_counter'>(19)</span> XIN TRÂN TRỌNG CẢM ƠN!. 19.
<span class='text_page_counter'>(20)</span>