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ìm số nhỏ nhất trong 2 số nguyên A, B ? * Trả lời: Input: A, B là các số nguyên. Output: Đưa ra Min là số nhỏ nhất trong 2 số A, B. Thuật toán: (theo cách liệt kê) B1: Nhập A, B; B2: Nếu A< = B Thì Min A; B3: Nếu B < A thì Min B; B4: Kết luận Min là số cần tìm; § S NhËp A, B; A < = B ? Min ← B; KÕt thóc Min ← A; S¬ ®å khèi Bài5.NgônngữlậptrìnhBài5.Ngônngữlậptrình Làm thế nào để máy tính hiểu và trực tiếp thực hiện được thuật toán? Cần diễn tả thuật toán bằng một ngônngữ mà máy tính hiểu và thực hiện được. Ngônngữ đó gọi là ngônngữlập trình. Cã ba lo¹i ng«n ng÷ lËp tr×nh: 1. Ng«n ng÷ m¸y 2. Hîp ng÷ 3. Ng«n ng÷ bËc cao 1. Ngônngữ máy Ưu điểm: Là ngônngữ duy nhất máy tính có thể trực tiếp hiểu và thực hiện, cho phép khai thác triệt để và tối ưu khả năng của máy. Nhược điểm: Ngônngữ 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 và khó hiệu chỉnh. Theo em ngônngữ này có thích hợp với số đông người lậptrình không? Ngônngữ này không thích hợp với số đông người lập trình. 2. Hợp ngữ Ưu điểm: Là ngônngữ kết hợp ngônngữ máy với ngônngữ tự nhiên của con người (thường là tiếng Anh) để thể hiện các lệnh. Nhược điểm: Còn phức tạp. Vì vậy ngônngữ này chỉ thích hợp với các nhà lậptrình chuyên nghiệp. Để chương trình viết bằng hợp ngữ thực hiện được trên máy tính, nó cần được dịch ra ngônngữ máy bằng chư ơng trình hợp dịch. Để chương trình viết bằng hợp ngữ thực hiện được trên máy tính, nó cần được dịch ra ngônngữ máy bằng chư ơng trình hợp dịch. 3. Ngônngữ bậc cao Ưu điểm: Là ngônngữ ít 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ônngữ bậc cao: Turbo Pascal, Visual Basic, Java, Delphi, C ++ . Vì vậy ngônngữ này thích hợp với phần đông người lập trình. Ví dụ Ví dụ Ngônngữ máy 01100001 : a 01100010 : b 01000001 : A 01000010 : B 00101011 : + Dạng hợp ngữ Tính : e = ( a+b ) Input a: ;Nạp giá trị cho a Input b: ;Nạp giá trị cho b LOAD a:; đọc giá trị a vào A thanh ghi tổng. ADD b: ;Cộng nội dung A với giá trị b, kq giữ ở A thanh ghi tổng; MOVE e:; Ghi từ A vào e; PRINT e:; Hiển thị giá trị e ra màn hình; HALT : ;Dừng chương trình; Ngônngữ bậc cao Program Tinh; Var a,b: longint; Begin Readln(a, b); Writeln(a+b =, a+b); Readln; End. Từ ví dụ trên em rút ra kết luận gì? Từ ví dụ trên em rút ra kết luận gì? Củng cố Củng cố - Nắm được ba loại ngônngữlập trình: Ngônngữ máy Hợp ngữNgônngữlậptrình bậc cao - Nắm được ưu điểm, nhược điểm cơ bản Của các loại GIỚI THIỆU VỀ NGÔNNGỮLẬPTRÌNH – NHÓM MỤC LỤC Ngônngữlậptrình gì? Ngônngữlậptrình gồm gì? Một số ngônngữlậptrình thông dụng GIỚI THIỆU VỀ NGÔNNGỮLẬPTRÌNH – NHÓM Ngônngữlậptrình gì? -Ngôn ngữlậptrình hệ thống ký hiệu hóa để miêu tả tính toán (qua máy tính) một dạng mà người máy đọc hiểu Biểu tượng số ngônngữlậptrình GIỚI THIỆU VỀ NGÔNNGỮLẬPTRÌNH – NHÓM Ngônngữlậptrình gồm gì? - Mỗi ngônngữlậptrình thường gồm thành phần bản: bảng chữ quy tắc viết lệnh - Mỗi câu lệnh chương trình có quy tắc quy định cách viết từ thứ tự chúng - Mỗi câu lệnh có ý nghĩa định xác định thao tác mà máy tính cần thực kết đạt GIỚI THIỆU VỀ NGÔNNGỮLẬPTRÌNH – NHÓM Một số ngônngữlậptrình thông dụng PASCAL Pascal là một ngôn ngữlập trình cho máy tính được Niklaus Wirth phát triển vào năm 1970 Biểu tượng Turbo Pascal 7.0 GIỚI THIỆU VỀ NGÔNNGỮLẬPTRÌNH – NHÓM Một số ngônngữlậptrình thông dụng C Ngônngữlậptrình C là ngônngữlập trình được phát triển từ đầu thập niên 1970 bởi Dennis Ritchie để dùng trong hệ điều hành UNIX The C Programming Language Brian Kernighan aà Dennis Ritchie, lần xuất dùng nhiều năm đặc tả không thức ngônngữ C GIỚI THIỆU VỀ NGÔNNGỮLẬPTRÌNH – NHÓM Một số ngônngữlậptrình thông dụng PYTHON Python một ngôn ngữlậptrình do Guido van Rossum tạo năm 1990 Biểu tượng ngônngữlậptrình Python GIỚI THIỆU VỀ NGÔNNGỮLẬPTRÌNH – NHÓM GOOD BYE! GIỚI THIỆU VỀ NGÔNNGỮLẬPTRÌNH – NHÓM Sở GD& ĐT Lâm Đồng Trường THPT Tân Hà Ngày soạn: 4/ 10/ 2010 Ngày dạy 5/ 10/ 2010 Tiết 17. §5 Ngônngữlậptrình I. Mục đích - Yêu cầu: - Học sinh biết khái niệm bàingônngữ máy, hợp ngữ và ngônngữ bậc cao. II. Trọng tâm: Ngônngữ máy, hợp ngữ, chương trình dịch. III. Tiến trình thực hiện: 1. Ổn định lớp: Kiểm tra sĩ số. 2. Bài cũ: Không 3. Bài mới: Để giải 1 bài toán máy tính không thể chạy trực tiếp thuật toán mà phải thực hiện theo chương trình. Vậy ta cần chuyển 1 thuật toán sang chương trình như chương trình Giải phương trình bậc 2 ở tiết trước. Một chương trình có thể viết từ nhiều ngônngữ khác nhau gọi là ngônngữlập trình. Vậy có nhữnh loại ngônngữlậptrình nào? Vào bài mới. 3. Bài mới: Hoạt động của GV và HS Nội dung GV: Con người ở mỗi đất nước trên thế giới đều có một ngônngữ riêng. Máy tính cũng vậy, mỗi loại máy đều có một ngữ riêng, đây là ngônngữ duy nhất mà máy tính có thể trực tiếp hiểu và thực hiện. HS: Hiểu được Ngônngữ máy tính. GV: Mặc dù đây là ngônngữ máy tính có thể trực tiếp hiểu nhưng không phải ai cũng có thể viết chương trình bằng ngônngữ máy bởi nó rất phức tạp và khó nhớ, bởi vậy có nhiều loại ngônngữ xuất hiện để giúp đỡ cho người viết chương trình. Song để máy hiểu được thì phải dịch ra ngônngữ máy. HS: Hiểu được Khái niệm Hợp ngữ và chương trình dịch. GV: Hợp ngữ là ngônngữ mạnh nhưng nó không thích hợp với nhiều người sử dụng bởi nó sử dụng địa chỉ của các thanh ghi trong máy tính nên cũng phức tạp Xuất hiện ngônngữ khác đó là ngônngữ bậc cao. HS: Tìm hiểu Ngônngữlậptrình bậc cao. GV: Để chuyển giữa các ngônngữ ra ngônngữ máy ta cần phải nhờ đến chương trình dịch. 1. Ngônngữ máy: - Là ngônngữ duy nhất máy tính có thể hiểu và thực hiện. - Các loại ngônngữ khác, máy muốn hiểu được và thực hiện phải được dịch ra ngônngữ máy thông qua chương trình dịch. 2. Hợp ngữ: - Sử dụng một số từ để thực hiện lệnh trên các thanh ghi - Ví dụ: ADD AX, BX (nghĩa là cộng 2 thanh ghi AX và BX) - Muốn máy hiểu được ngônngữ này cần phải chuyển sang ngônngữ máy. 3. Ngônngữ bậc cao: - Là ngônngữ gần với ngônngữ tự nhiên, có tính độc lập cao, ít phụ thuộc vào loại máy. - Ví dụ: Pascal, C, C ++ , … - Muốn máy hiểu được ngônngữ này cần phải chuyển sang ngônngữ máy. 4.Chương trình dịch: - Là chương trình dịch từ các ngônngữ khác nhau ra ngônngữ máy. 4. Củng cố: Ngônngữ máy? Hợp ngữ? Ngônngữ bậc cao? Chương trình dịch? 5. Dặn dò: Về nhà xem trước: Giải bài toán trên máy tính. IV. Rút kinh nghiệm: . Bài5.NgônngữlậptrìnhBài5.Ngônngữlậptrình Làm thế nào để máy tính hiểu và trực tiếp thực hiện đ ợc thuật toán? Cần diễn tả thuật toán bằng một ngônngữ mà máy tính hiểu và thực hiện đ ợc. Ngônngữ đó gọi là ngônngữlập trình. Có ba loại ngônngữlập trình: A. Ngônngữ máy Ưu điểm: Là ngônngữ duy nhất máy tính có thể trực tiếp hiểu và thực hiện, cho phép khai thác triệt để và tối u khả năng của máy. Nh ợc điểm: Ngônngữ 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 và khó hiệu chỉnh. Vì vậy ngônngữ này không thích hợp với số đông ng ời lập trình. B. Hợp ngữ Ưu điểm: Là ngônngữ kết hợp ngônngữ máy với ngônngữ tự nhiên của con ng ời (th ờng là tiếng Anh) để thể hiện các lệnh. Nh ợc điểm: Còn phức tạp. Vì vậy ngônngữ này chỉ thích hợp với các nhà lậptrình chuyên nghiệp. Để ch ơng trình viết bằng hợp ngữ thực hiện đ ợc trên máy tính, nó cần đ ợc dịch ra ngônngữ máy bằng ch ơng trình hợp dịch. Để ch ơng trình viết bằng hợp ngữ thực hiện đ ợc trên máy tính, nó cần đ ợc dịch ra ngônngữ máy bằng ch ơng trình hợp dịch. C. Ngônngữ bậc cao Ưu điểm: Là ngônngữ ít 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ônngữ bậc cao: Turbo Pascal, Visual Basic, Java, Delphi, C ++ Vì vậy ngônngữ này thích hợp với phần đông ng ời lập trình. Bài 5: NGÔNNGỮLẬPTRÌNH I. Mục tiêu bài học 1. Kiến thức Giúp học sinh nắm được khái niệm ngônngữlập trình. Ưu nhược điểm của các ngôn ngữ. 2. Kỹ năng Học sinh nắm được khái niệm lập trình, ưu nhược điểm của các ngôn ngữ. II. Phương pháp Phương pháp hỏi đáp tìm tòi bộ phận. Thuyết trình Ơrixtic. III. Hoạt động dạy - học 1. Ổn định tổ chức Kiểm tra sĩ số. 2. Kiểm tra bài cũ. 3. Bài mới Nội dung cần đạt Hoạt động của thầy và trò Sau khi chúng ta đã diễn tả thuật toán dưới dạng liệt kê hoặc sơ đồ khối máy tính vẫn chưa thể trực tiếp thực hiện thuật toán? Vì vậy chúng ta cần phải Nội dung cần đạt Hoạt động của thầy và trò Vậy: Ngônngữlậptrình là ngônngữ dùng để viết chương trình máy tính. Ngônngữlậptrình được chia thành: Ngônngữ máy, hợp ngữ, ngônngữ bậc cao. 1. Ngônngữ máy Ưu điểm: Là ngônngữ duy nhất máy tính có thể hiểu trực tiếp và thực hiện, cho phép khai thác triệt để và tối ưu hoá khả năng của máy Nhược điểm: Ngônngữ 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 và khó hiệu chỉnh Ngônngữ này không thích hợp với số đông người lậptrình 2. Hợp ngữ đi diễn tả thuật toán bằng một ngônngữ để máy tính hiểu và thực hiện được. Ngônngữ đó gọi là ngônngữlập trình. HS ghi bài. Vậy theo các em thì ngônngữ này có được dùng phổ biến không? HS trả lời Nội dung cần đạt Hoạt động của thầy và trò Ưu điểm: là ngônngữ kết hợp ngônngữ máy với ngônngữ tự nhiên (thường là từ viết tắt của tiếng Anh) để thực hiện các lệnh. Nhược điểm: vẫn còn phức tạp. Ngônngữ này chỉ thích hợp với những nhà lậptrình chuyên nghiệp 3. Ngônngữ bậc cao Ưu điểm: - Các câu lệnh của chương trình gần gũi với ngônngữ tự nhiên - Là ngônngữ ít phụ thuộc vào 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. Ngônngữ này thích hợp với phần Để máy tính có thể thực hiện được một chương trình viết bằng hợp ngữ thì chương trình đó phải dịch ra ngônngữ máy nhờ chương trình hợp dịch. Chương trình hợp dịch: MASM, TASM. HS ghi bài. Và cũng như chương trình được viết Nội dung cần đạt Hoạt động của thầy và trò đông người lậptrình Một số ngônngữ bậc cao: Pascal, C, C ++ , Visual Basic, bằng hợp ngữ, chương trình được viết bằng ngônngữ bậc cao cũng cần phải dịch sang ngônngữ máy nhờ chương trình dịch 4. Củng cố Trọng tâm: Khái niệm ngônngữlập trình, các loại ngônngữlập trình, chương trình hợp dịch và chương trình dịch. 5.Dặn dò Đọc trước bài 6: giải bài toán trên máy tính Bài giảng Tin học 10 Bài 5: Ngônngữlậptrình Tình huống La… là… la… Hôm nay tự nhiên bố mẹ đưa mình sang Pháp chơi… lá là la 04306806106F 06206106E 021 Hơ… hơ! Không hiểu gì cả! Mình đâu bít tiếng Pháp! Liệu máy tính có thực hiện được thuật toán đó không? Bài 5: NGÔNNGỮLẬPTRÌNH Khái niệm Ngônngữ dùng để mô tả thuật toán giúp máy tính hiểu và thực hiện được. Ngônngữ đó được gọi là “Ngôn ngữlập trình” Có mấy loại ngônngữlập trình? Có 3 loại: + Ngônngữ máy + Hợp ngữ + Ngônngữ bậc cao 1. Ngônngữ máy - Là ngônngữ duy nhất 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ônngữ máy viết bằng mã nhị phân và mã Hexa. Ví dụ: “Chao 10A1” chuyển sang mã nhị phân 01000011 1001000 01000001 01001111 00000001 0000000 01000001 00000001 1. Ngônngữ máy - Ưu điểm: + Máy tính hiểu và thực hiện được ngay cho phép ta khai thác triệt để và tối ưu khả năng của máy tính. - Nhược điểm: + Ngônngữ phức tạp, phụ thuộc nhiều vào phần cứng. Chương trình viết tốn nhiều công sức, cồng kềnh và khó hiệu chỉnh. 2. Hợp ngữ • Các lệnh thường là viết tắt các từ Tiếng Anh Ví dụ: ADD AX, BX Nghĩa là: Cộng số ở thanh ghi AX với số ở thanh ghi BX rồi lưu kết quả vào thanh ghi AX. • Hợp ngữ bao gồm 2 phần cơ bản: + Tên các câu lệnh + Quy tắc để viết các câu lệnh • Cấu trúc câu lệnh gồm 2 phần: + Phần đầu: Là tên mã lệnh + Phần sau: Là địa chỉ các thanh ghi để lưu trữ giá trị 2. Hợp ngữ • Một số lệnh: + INPUT: Nhập giá trị + ADD: Phép cộng + SUB: Phép trừ + DIV: Phép chia [...]...2 Hợp ngữ Ưu điểm: Hợp ngữ là một ngônngữ mạnh, kết hợp giữa ngônngữ máy và ngônngữ tự nhiên của con người (Thường là tiếng anh) Nhược điểm: Không thích hợp với số đông người lậptrình vì để lậptrình bằng hợp ngữ thì người lậptrình phải có hiểu biết nhất định về máy tính 2 Hợp ngữ Chú ý: Để chương trình viết bằng hợp ngữ thực hiện được trên máy tính,có thực chuyển sang ngônngữ máy bằng... được ngay các chương trình hợp dịch chương trình viết bằng hợp ngữ không? 3 Ngônngữ bậc cao Là ngônngữ gần với ngônngữ tự nhiên, có tính độc lập cao, ít phụ thuộc vào loại máy tính • Một số ngônngữlậptrình bậc cao: + Fortran + Cobol + Basic + Pascal + FoxPro + + Java, C, C+,C++… 3 Ngônngữ bậc cao Thuật toán tính tổng 2 số Nhập a, b, c S ←a+b Đưa ra S; kết thúc Ngônngữlậptrình Pascal: Read(a,b);... viết bằng ngônngữ bậc cao hoặc hợp ngữ sang ngônngữ máy 0101 0100 00111 1100 ADD AX,BX Write(‘Xin Chao cac ban’) Có 3 loại ngônngữlập trình: + Ngônngữ máy: Máy tính hiểu nhưng rất phức tạp nên ít người dùng + Hợp ngữ: Sử dụng các câu lệnh bằng Tiếng Anh nhưng vẫn còn phức tạp nên ít người dùng + Ngônngữ bậc cao: Sử dụng ngônngữ tự nhiên, dễ hiểu, có tính độc lập cao nên thích hợp với đa số người... Write(S); 3 Ngônngữ bậc cao Ưu điểm: Ít phụ thuộc vào máy tính, chương trình viết ngắn gọn, dễ hiểu, dễ chỉnh sửa nên thích hợp với số đông người lậptrình Chú ý: Muốn máy tình hiểu được ngônngữ bâc cao cần phải chuyển đổi nó sang ngônngữ máy Chương trình thực hiện công việc này gọi là Chương trình dịch 4 Chương trình dịch Chương trình ...MỤC LỤC Ngôn ngữ lập trình gì? Ngôn ngữ lập trình gồm gì? Một số ngôn ngữ lập trình thông dụng GIỚI THIỆU VỀ NGÔN NGỮ LẬP TRÌNH – NHÓM Ngôn ngữ lập trình gì? -Ngôn ngữ lập trình hệ thống... thức ngôn ngữ C GIỚI THIỆU VỀ NGÔN NGỮ LẬP TRÌNH – NHÓM Một số ngôn ngữ lập trình thông dụng PYTHON Python một ngôn ngữ lập trình do Guido van Rossum tạo năm 1990 Biểu tượng ngôn ngữ lập trình. .. số ngôn ngữ lập trình GIỚI THIỆU VỀ NGÔN NGỮ LẬP TRÌNH – NHÓM Ngôn ngữ lập trình gồm gì? - Mỗi ngôn ngữ lập trình thường gồm thành phần bản: bảng chữ quy tắc viết lệnh - Mỗi câu lệnh chương trình