Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 25 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
25
Dung lượng
3,91 MB
Nội dung
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 BẮT TAY TRÒ CHUYỆN NGÔNNGƯ VIẾT ? PHƯƠNG TIỆN NÀO GIÚP CON NGƯỜI DIỄN ĐẠT NHƯNG ĐIỀU MUỐN MÁY TÍNH THỰC HIỆN? ? BÀI - TIẾT 17 NGÔN NGỮ LẬP TRÌNH (Programming Languages) NGÔN NGỮ LẬP TRÌNH Ngôn ngữ lập trình là phương tiện dùng để diễn đạt cho máy tính những việc người muốn thực hiện (thuật toán) PHÂN LOẠI: NGÔNNGƯLÂPTRINH HỢP NGƯ NN BÂC CAO NN MÁY NgônNgữ Máy (Machine Language) -Ngôn Ngữ Máy là ngôn ngữ để viết chương trình mà máy tính trực tiếp hiểu và thực hiện Ưu điểm: Khai thác triệt để các đặc điểm phần cứng máy tính Nhược điểm: Chương trình khó viết, cồng kềnh, khó hiệu chỉnh, … Ví dụ: Để cộng số nguyên a b -> có thể thể hiện bằng câu lệnh của ngônngữ máy sau: Khó hiểu 111A1EF1001110A11001EC1110101AB1001011110111 Vì ngônngữ không thích hợp với số đông người lậptrình PHÂN LOẠI: NGÔNNGƯLÂPTRINH HỢP NGƯ NN BÂC CAO NN MÁY Hợp Ngữ (Assembly Language) -Hợp Ngữ là ngôn ngữ kết hợp ngôn ngữ máy với số từ (thường là viết tắt các từ tiếng Anh) để thể hiện các lệnh cần thực hiện Ưu điểm: Chương trình dễ viết ngôn ngữ máy Ví dụ: Để cộng số nguyên a và b, có thể dùng lệnh hợp ngữ sau: ADD a b Nhược điểm: - Chương trình cồng kềnh, phức tạp - Máy tính không trực tiếp hiểu và thực hiện chương trình, cần phải có chương trình hợp dịch để dịch từ hợp ngữ ngôn ngữ máy Vì ngônngữ thích hợp với các nhà lậptrình chuyên nghiệp PHÂN LOẠI: NGÔNNGƯLÂPTRINH HỢP NGƯ NN BÂC CAO Chương trình hợp dịch NN MÁY NgônNgữ Bậc Cao (High-Level Language) -Ngôn Ngữ Bậc Cao là ngôn ngữ các câu lệnh chương trình gần gũi với ngôn ngữ tự nhiên Ví dụ: Pascal, C, C++, Java … Ưu điểm: - Là ngôn ngữ í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,… Ví dụ: Để cộng số nguyên a và b, có thể dùng lệnh Pascal sau: a+b Nhược điểm: - Máy tính không trực tiếp hiểu và thực hiện chương trình, cần phải có chương trình dịch để dịch từ hợp ngữ ngôn ngữ máy Vì ngônngữ thích hợp với đa số người lậptrình PHÂN LOẠI: NGÔNNGƯLÂPTRINH HỢP NGƯ NN BÂC CAO Chương trình hợp dịch NN MÁY Chương trình dịch MỘT SỐ NGÔNNGƯ LẬP TRÌNH BẬC CAO JAVA C# PASCAL FORTRAN COBOL PHP C C++ ALGOL 60 BASIC NGÔNNGƯ LẬP TRÌNH BẬC CAO FORTRAN (FORmular TRANslator) Tác giả: John Backus Ra đời: 1954 NGÔNNGƯ LẬP TRÌNH BẬC CAO COBOL (Common Business-Oriented Language) Tác giả: Grace Hopper (1906-1992) Ra đời: 1959 NGÔNNGƯ LẬP TRÌNH BẬC CAO ALGOL 60 (ALGOrithmic Language) Tác giả: Peter Naur Ra đời: 1960 NGÔNNGƯ LẬP TRÌNH BẬC CAO BASIC (Beginner’s All-purpose Symbolic Instruction Code ) Tác giả: John George Ra đời: 1963 NGÔNNGƯ LẬP TRÌNH BẬC CAO PASCAL Tác giả: Niklaus Wirth Ra đời: 1970 NGÔNNGƯ LẬP TRÌNH BẬC CAO C Tác giả: Dennis Ritchie Ra đời: đầu 1970s NGÔNNGƯ LẬP TRÌNH BẬC CAO C++ (CPlusPlus) Tác giả: Bjarne Stroustrup của Bell Labs Ra đời: đầu 1980s NGÔNNGƯ LẬP TRÌNH BẬC CAO C# (C-Sharp) Tác giả: Microsoft Ra đời: đầu 2000 NGÔNNGƯ LẬP TRÌNH BẬC CAO PHP (Hypertext Preprocessor) Tác giả: Rasmus Lerdorf Ra đời: 1995 NGÔNNGƯ LẬP TRÌNH BẬC CAO JAVA Tác giả: James Gosling (Oracle Corporation) Ra đời: 1995 LÂPTRINH = NGÔNNGƯLÂPTRINH + THUÂT TOÁN C H U O N G T R I C O B O L ( 5) J A V A ( 4) P H A M R T ĐỘC LẬP CAO F O N H D I C H N C U N G ( 8) A M A Y ( 5) R A N ( 7) ( 15) Câu 1: Công cụ kèm với ngônngữlập trình bậc cao Câu 2: Ngôn ngữ lập trình bậc cao đời năm 1959 Câu 3: Ngôn ngữ lập trình dùng nhiều để lập trình game thiết bị di động Câu 4: Ngôn ngữ máy chủ yếu dùng để lập trình… máy tính Câu 5: Một tên gọi khác ngôn ngữ máy Câu 6: Ngôn ngữ lập trình bậc cao Từ khóa Một đặc điểm quan trọng của ngônngữlập trình bậc cao tk 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 ... từ hợp ngữ ngôn ngữ máy Vì ngôn ngữ thích hợp với các nhà lập trình chuyên nghiệp PHÂN LOẠI: NGÔN NGƯ LÂP TRINH HỢP NGƯ NN BÂC CAO Chương trình hợp dịch NN MÁY Ngôn Ngữ Bậc Cao... hiện bằng câu lệnh của ngôn ngữ máy sau: Khó hiểu 111A1EF1001110A11001EC1110101AB1001011110111 Vì ngôn ngữ không thích hợp với số đông người lập trình PHÂN LOẠI: NGÔN NGƯ LÂP TRINH HỢP... hợp ngữ ngôn ngữ máy Vì ngôn ngữ thích hợp với đa số người lập trình PHÂN LOẠI: NGÔN NGƯ LÂP TRINH HỢP NGƯ NN BÂC CAO Chương trình hợp dịch NN MÁY Chương trình dịch MỘT SỐ NGÔN NGƯ