Ngày soạn: 03/9/2007 Tiết theo PPCT: Tiết 1Kháiniệmlậptrìnhvàngônngữlậptrình I. Mục tiêu - Biết đợc kháiniệmlậptrìnhvàngônngữlậptrình - Biết đợc kháiniệm chơng trình dịch - Phân biệt đợc hai loại chơng trình dịch là biên dịch và thông dịch II. đồ dùng dạy học 1. Chuẩn bị của giáo viên Bảng viết, SGK, phiếu học tập 2. Chuẩn bị của học sinh Sách giáo khoa III. Hoạt động dạy học 1. Hoạt động 1: Tìm hiểu kháiniệmngônngữlậptrình a. Mục tiêu: - Giúp học sinh biết đợc kháiniệmlậptrình là gì. ý nghĩa của việc lậptrình - Biết đợc kháiniệmngônngữlậptrìnhvà một số loại ngônngữlậptrình b. Nội dung: Mọi bài toán đều có thuật toán để giải trên máy tính điện tử + Xác định bài toán + Xây dựng thuật toán + LậptrìnhLậptrình là việc sử dụng cấu trúc dữ liệu và các lệnh của một ngônngữlậptrình cụ thể để mô tả dữ liệu và diễn đạt các thao tác của thuật toán Ngônngữlậptrình là một phần mềm dùng để diễn đạt thuật toán thành một chơng trình giúp cho máy tính hiểu đợc thuật toán đó Một số loại ngônngữlập trình: Ngônngữ máy, hợp ngữvàngônngữ bậc cao c. Các bớc tiến hành: Hoạt động của giáo viên Hoạt động của học sinh 1. Chiếu nội dung bài toán đặt vấn đề: Kết luận nghiệm của phơng trình: ax + b = 0 - Hãy xác định Input và Output của bài toán? - Hãy xác định các bớc để tìm Output? - Diễn giải: Hệ thống các bớc này đợc gọi là thuật toán - Nếu trình bày thuật toán với một ngời nớc ngoài, em sẽ dùng ngônngữ nào để diễn đạt? - Nếu diễn đạt thuật toán này cho máy hiểu, em sẽ dùng ngônngữ nào? - Diễn giải: Hoạt động để diễn đạt một thuật toán thông qua một ngônngữlậptrình đợc gọi là lậptrình - Yêu cầu học sinh đọc SGK và cho biết kháiniệmlậptrình - Hỏi: kết quả của hoạt động lập trình? 2. Phát phiếu học tập. Yêu cầu các em ghi các loại ngônngữlậptrình mà em biết (sử dụng kĩ thuật động não để viết) 1. Quan sát nội dung bài toán và theo dõi yêu cầu của giáo viên - Input: a, b, - - Output: x=-b/a, Vô nghiệm, VSN Bớc 1: Nhập a, b Bớc 2: Nếu a<>0, kết luận có nghiệm x=-b/a Bớc 3: Nếu a = 0 và b<>0, kết luận VN Bớc 4: Nếu a = 0 và b=0, kết luận VSN - Ngônngữ tiếng Anh - Em dùng ngônngữlậptrình - Lậptrình là việc sử dụng cấu trúc dữ liệu và các lệnh của một ngônngữlậptrình cụ Trường THPT Đức Linh Tiết PPCT 1: Giáo án tin học 11 CHƯƠNG I: MỘT SỐ KHÁINIỆM VỀ LẬPTRÌNHVÀNGÔNNGỮLẬPTRÌNH §1 KHÁINIỆMLẬPTRÌNHVÀNGÔNNGỮLẬPTRÌNH I MỤC TIÊU BÀI HỌC: Kiến thức: - Biết có ba lớp ngônngữlậptrình mức ngônngữlập trình: Ngônngữ máy, hợp ngữngônngữ bậc cao - Biết vai trò chương trình dịch - Biết kháiniệm biên dịch thông dịch Kĩ năng: Thái độ: II CHUẨN BỊ Giáo viên: Giáo án, Sách giáo khoa Học sinh: Sách giáo khoa, ghi III PHƯƠNG PHÁP DẠY HỌC: Thuyết trình + vấn đáp IV TIẾN TRÌNHBÀI HỌC: Ổn định lớp: Ổn định lớp, kiểm tra sỉ số Bài cũ: Không Bài mới: Hoạt động Giáo Viên Học Sinh Nội Dung * Hoạt động 1: Tìm hiểu kháiniệmlậptrìnhKháiniệmlậptrìnhngônngữlậptrình GV: Đặt câu hỏi 1: Em cho biết bước giải toán máy tính? HS: Suy nghĩ trả lời câu hỏi: xác định toán, lựa chọn thiết kế thuật toán GV: Phân tích câu trả lời học sinh Nhắc lại bước giải toán máy tính học lớp 10 HS: lắng nghe GV: Diễn giải phân tích đưa kháiniệmlậptrình HS: Nghe giảng ghi Lậptrình sử dụng cấu trúc liệu câu lệnh ngônngữlậptrình cụ thể để mô tả liệu diễn đạt thuật toán GV: Đặt câu hỏi 2: Em cho biết có loại ngônngữlập trình? HS: Trả lời câu hỏi giáo viên: Có loại ngônngữlập trình: Ngônngữ máy, hợp ngữngônngữ bậc cao GV: Phân tích câu trả lời học sinh Mỗi loại máy có ngônngữ riêng, thường chương trình viết ngônngữ máy chạy máy Trường THPT Đức Linh Giáo án tin học 11 Khi viết chương trìnhngônngữ bậc cao muốn thi hành loại máy cần chuyển chương trình sang ngônngữ máy máy HS: Nghe giảng ghi Chương trình viết ngônngữ máy nạp trực tiếp vào nhớ thi hành Chương trình viết ngônngữ bậc cao nói chung không phụ thuộc loại máy, muốn thi hành phải chuyển sang ngônngữ máy GV: Đặt câu hỏi 3: Làm để chuyển chương trình viết ngônngữ bậc cao sang ngônngữ máy? HS trả lời: Cần phải có chương trình dịch GV: Nhận xét phân tích HS: Nghe giảng ghi Cần phải có chương trình dịch để chuyển chương trình viết ngônngữlậptrình bậc cao sang ngônngữ máy để máy thi hành * Hoạt động 2: Tìm hiểu loại chương trình Chương trình dịch có loại: Biên dịch dịch thông dịch GV: Đưa ví dụ : Bạn người tiếng Anh để bạn nói chuyện với người Anh hay đọc sách tiếng Anh? + Khi người làm phiên dịch người phải dịch nào? (Dịch câu người nói chuyện) + Khi người muốn dịch sách sang tiếng Việt làm nào? (Dịch toàn sách sang tiếng Việt để người đọc được) HS: Chú ý lắng nghe GV: Diễn giải, phân tích cho hs nhận biết thông dịch, biên dịch HS: Nghe giảng ghi + Biên dịch (Compiler): Thực bước sau: Duyệt, kiểm tra, phát lỗi kiểm tra tính đắn câu lệnh chương trình nguồn Dịch toàn chương trình nguồn thành chương trình đích (ngôn ngữ máy) để thực máy lưu trữ để sử Trường THPT Đức Linh Giáo án tin học 11 dụng lại cần + Thông dịch (Interpreter): Dịch câu lệnh thực câu lệnh Thông dịch thực cách lặp lại dãy bước sau: Kiểm tra tính đắn câu lệnh chương trình nguồn Chuyển đổi câu lệnh thành hay nhiều câu lệnh ngônngữ máy Thực câu lệnh vừa chuyển đổi Củng cố: - Kháiniệmlậptrìnhngônngữlậptrình - Các ngônngữlập trình: ngônngữ máy, ngônngữ bậc cao, hợp ngữ - Kháiniệm chương trình dịch - Thông dịch biên dịch Hướng dẫn học sinh tự học nhà: - Trả lời câu hỏi 1, 2, sách giáo khoa trang 13 - Xem đọc thêm 1: Em biết ngônngữlập trình? Sách giáo khoa trang - Xem trước học: Các thành phần ngônngữlậptrình V RÚT KINH NGHIỆM ………………………………………………………………………………………………………… ………………………………………………………………………………………………………… ………………………………………………………………………………………………………… Bµi 1 Gi¸o ¸n ®iÖn tö tin häc líp 8 1.KháiniệmlậptrìnhLậptrình là sử dụng cấu trúc dữ liệu và các câu lệnh của ngônngữlậptrình cụ thể để mô tả dữ liệu và diễn đạt các thao tác của thuật toán. Cần diễn tả thuật toán bằng một ngônngữ sao cho maý tính có thể thực hiện được. Làm thế nào để máy tính hiểu và thực hiện được thuật toán đã lựa chọn để giải bài toán? Ngônngữlậptrình được chia thành ba loại: Ngônngữ máy: ngônngữ duy nhất máy có thể trực tiếp hiểu và thực hiện. Ngônngữ bậc cao: 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à chương trình phải dịch sang ngônngữ máy mới thực hiện được. Hợp ngữ: rất gần với ngônngữ máy, nhưng mã lệnh được thay bằng tên viết tắt của thao tác (thường là tiếng Anh). Ngônngữlậptrình có bao nhiêu loại nhỉ? Phân loại ngônngữlậptrình1 0 1 0 11111 0 1111 0 1 0 0 111 0 11 0 1 0 0 1 0 1 0 1 0 11 0 0 1111 0 1111 0 1 0 input a input b load a add b move e print e halt end Ngônngữ dùng để viết chư ơng trình máy tính gọi là ngônngữlập trình. Chương trình có chức năng chuyển đổi chương trình viết trên ngônngữlậptrình bậc cao thành chương trình thực hiện được trên máy tính gọi là chương trình dịch. Chương trình nguồn Chương trình đích Chương trình dịch 2. Chương trình dịch * Chương trình nguồn: là chương trình viết trên ngônngữlậptrình bậc cao. * Chương trình đích: là chương trình nguồn được chuyển đổi sang ngônngữ máy nhờ chương trình dịch. Trong đó: INPUT OUTPUT Tình huống: Một thầy giáo chỉ biết tiếng Việt muốn giới thiệu về ngôi trường của mình cho một đoàn khách đến từ nước Anh. Theo em có mấy cách thực hiện điều trên? Phân loại chương trình dịch Hai kÜ thuËt dÞch: Th«ng dÞch Biªn dÞch Kiểm tra tính đúng đắn của câu lệnh tiếp theo trong chương trình nguồn. Chuyển đổi câu lệnh đó thành các câu lệnh tương ứng trong ngônngữ máy. Thực hiện các câu lệnh vừa chuyển đổi. Loại chương trình dịch này đặc biệt thích hợp cho môi trư ờng đối thoại giữa người dùng và hệ thống. ( Các ngônngữkhai thác hệ quản trị cơ sở dữ liệu, đối thoại với hệ điều hành ) Thông dịch a Thực hiện lặp đi lặp lại dãy các bước sau 1 0 1 0 11111 0 1111 0 1 0 0 111 0 11 0 1 0 0 1 0 1 0 1 0 11 0 0 1111 0 1111 0 1 0 Biên dịch b Duyệt, kiểm tra, phát hiện lỗi, xác định chương trình nguồn có dịch được không. Dịch chương trình nguồn thành một chương trình đích có thể thực hiện trên máy và lưu trữ lại để sử dụng về sau. Loại chương trình dịch này thuận tiện cho các chương trình ổn định và cần thực hiện nhiều lần. Thực hiện qua hai Tuần : . Tiết : 01 Ngày soạn: Ngày giảng: Chơng I: Một số kháiniệm về lậptrìnhvàngônngữlậptrìnhBài 1: Kháiniệmlậptrìnhvàngônngữlậptrình I. Mục đích, yêu cầu: 1. Kiến thức: - Biết có ba lớp ngônngữlậptrìnhvà các mức của ngônngữlập trình: ngônngữ máy, hợp ngữvàngônngữ bậc cao. - Biết vai trò của chơng trình dịch. - Biết kháiniệm biên dịch và thông dịch. 2. Kĩ năng: - Phân biệt đợc biên dịch và thông dịch - Hiểu đợc nhiệm vụ quan trọng của Chơng trình dịch là phát hiện lỗi cú pháp của Chơng trình nguồn. 3. T duy: Rèn luyện cho học sinh t duy linh hoạt khi thục hiện các thao tác. 4. Thái độ: Hình thành phong cách làm việc chuẩn mực, thao tác dứt khoát, luôn có ý thức ham học hỏi. - Giỳp hc sinh thờm yờu thớch v hng thỳ vi mụn hc. II, Chuẩn bị của Giáo viên và học sinh: 1. Giáo viên: SGK, giáo án, STK ( máy chiếu nếu có) 2. Học sinh: SGK, chuẩn bị trớc bài ở nhà III, Phơng pháp giảng dạy - Thuyết trình, vấn đáp IV, Tiến trìnhbài học và các hoạt động: 1. ổn định tổ choc: 2 2. Kiểm tra bài cũ: Không 3. Bài mới: Hoạt động của Giáo viên và học sinh Nội dung GV: Em hãy cho biết các bớc để giải một bài toán trên máy tính. HS: Trả lời câu hỏi GV: Phân tích câu trả lời của học sinh nhắc lại các bớc giải bài toán trên máy tính đã học ở lớp 10. GV: Vậy theo em lậptrình là gì? HS: Lậptrình là sử dụng một cấu trúc dữ liệu và các câu lệnh của một ngônngữlậptrình mô tả dữ liệu và diễn đạt * Kháiniệmlập trình: Lậptrình là sử dụng cấu trúc dữ liệu và các câu lệnh của ngônngữlậptrình cụ thể để mô tả dữ liệu và diễn đạt thuật toán. GV: Gọi một học sinh nhận xét, bổ sung. HS: Nhận xét, bổ sung GV: Em hãy cho biết có mấy loại ngônngữlậptrình ? (nêu kháiniệm của từng ngôn ngữ) HS: Theo em có 3 loại ngônngữlập trình: ngônngữ máy, hợp ngữ, ngônngữ bậc cao GV: Phân tích câu trả lời của học sinh HS: Chú ý nghe GV: Theo em làm thế nào để chuyển chơng trình viết bằng ngônngữ bậc cao sang ngônngữ máy? HS: Phải có chơng trình dịch để chuyển đổi. GV: Nhận xét. GV: Đa ra các ví dụ: Một ngời không biết nói tiếng Anh vậy làm thế nào có thể nói chuyện đợc với ngời Anh? HS: Phải có ngời phiên dịch GV: Khi một ngời làm phiên dịch ngời đó phải dịch nh thế nào? HS: Dịch ngay khi hai ngời nói chuyện. GV: Khi một ngời muốn dịch một cuốn các thao tác của thuật toán. - Có ba loại ngônngữlập trình: Ngônngữ máy, hợp ngữ, ngônngữ bậc cao Chuơng trình viết bằng ngônngữlậptrình bậc cao nói chung không phụ thuộc vào loại máy, nghĩa là một chơng trình có thể thực hiện trên nhiều loại máy tính khác nhau. Ch- ơng trình viết bằng ngônngữ máy có thể đợc nạp trực tiếp vào bộ nhớ và thực hiện ngay. Chơng trìnhBài1Kháiniệmlậptrìnhvàngônngữlậptrình ?. Dựa vào các kiến thức đã học ở lớp 10, em hãy điền vào các ô trống sau? 1. Mọi bài toán có thuật toán đều có thể giải được trên…………. 2. Sau các bước xác định bài toán, xây dựng thuật toán và lựa chọn thuật toán là ………… 3. Lậptrình là: … . máy tính điện tử bước lậptrình Sử dụng cấu trúc dữ liệu và các câu lệnh của ngônngữlậptrình cụ thể để mô tả dữ liệu và diễn đạt thao tác của thuật toán. ?. Dựa vào các kiến thức đã học ở lớp 10, em hãy điền vào các ô trống sau? 4. Chương trình viết bằng ngônngữ máy có thể được nạp trực tiếp vào bộ nhớ và …… 5. Chương trình viết bằng ngônngữ bậc cao muốn máy tính hiểu được phải được …………………………… 6. Vậy ngônngữ máy là ngônngữ duy nhất mà máy tính …………………………. 7. Chương trình dịch là chương trình dịch từ ngônngữ khác……………………. thực hiện ngay dịch sang ngônngữ máy có thể hiểu và thực hiện sang ngônngữ máy Chương trình nguồn Chương trình đích • Xét ví dụ SGK ( trang 4 ) • Nhận xét : Có 2 cách thực hiện là Thông dịch và Biên dịch a. Thông dịch. - Thông dịch được thực hiện bằng cách lặp lại dãy các bước sau: 1. Kiểm tra tính đúng đắn của câu lệnh tiếp theo trong chương trình nguồn; 2. Chuyển đổi câu lệnh đó thành một hay nhiều câu lệnh tương ứng trong ngônngữ máy; 3. Thực hiện các câu lệnh vừa chuyển đổi. Chương trình dịch b. Biên dịch • Biên dịch được thực hiện qua hai bước. 1. Duyệt, phát hiện lỗi, kiểm tra tính đúng đắn của các câu lệnh trong chương trình nguồn; 2. Dịch toàn bộ chương trình nguồn thành một chương trình đích có thể thực hiện trên máy và có thể lưu trữ để sử dụng lại. Bài tập áp dụng Củng cố 1.Kháiniệm thông dịch: là một dãy các lệnh và được lặp đi lặp lại nhiều lần cho đến khi kết thúc. 2. Kháiniệm biên dịch: Là một dãy các lệnh và được diễn ra một các liên tục. Ưu điểm là có thể lưu trữ để sử dụng lại. TRƯỜNG PT DTNT TỈNH LÂM ĐỒNG Chương 1: Một số kháiniệm về LậptrìnhvàNgônngữlậptrình Ngày soạn: 01/9/2007 Tuần dạy: 01 Tiết PP: 01BÀI DẠY BÀI 1: KHÁINIỆMLẬPTRÌNHVÀNGÔNNGỮLẬPTRÌNH I. Mục đích yêu cầu: • Kiến thức: - Giúp cho học sinh hiểu khả năng của ngônngữlậptrình bậc cao. - Giúp học sinh hiểu được ý nghĩa của chương trình dịch, biết thế nào là biên dịch và thông dịch. • Thái độ: - Giúp học sinh nhận thức được quá trình phát triển của ngônngữlậptrình gắn liền với quá trình phát triển của tin học nhằm giải các bài toán thực tiễn ngày càng phức tạp. Từ đó ham muốn được học một ngônngữlậptrình cụ thể để có thể tự giải các bài toán bằng máy tính. • Kỹ năng: - Phân biệt được các lớp ngônngữlập trình, phân biệt được biên dịch và thông dịch. II. Phương pháp: - Dạy-học phát hiện vấn đề và giải quyết vấn đề kết hợp dạy-học hợp tác trong nhóm nhỏ. III.Chuẩn bị: • Giáo viên: - Giáo án điện tử, phòng học công nghệ cao, phiếu học tập. - Đồ dùng dạy học: Sơ đồ khối biểu diễn quá trình thông dịch và quá trình biên dịch. • Học sinh: - Sách giáo khoa, vở học, vở bài tập, giấy nháp, bút, bảng phụ. IV. Tiến trìnhbài dạy: t Nội dung Hoạt động của giáo viên Hoạt động của học sinh 5’ 15’ Hoạt động 1: Ổn định lớp Hoạt động 2: Bài mới. 1. Ôn tập: a. Các bước giải bài toán trên máy tính. - Xác định bài toán. - Lựa chọn và thiết kế thuật toán. - Viết chương trình. - Hiệu chỉnh chương trình. - Viết tài liệu. b. Các lớp ngônngữlập trình. Ngônngữlậptrình là ngônngữ để viết chương trình, được chia thành 3 lớp. - Ngônngữ máy. - Hợp ngữ. - Ngônngữ bậc cao: là ngônngữlậptrình rất thích hợp cho người lậptrình vì các lệnh gần với ngônngữ tự nhiên, tính độc lập cao. - Ổn định lớp, giới thiệu bộ môn, yêu cầu HS chuẩn bị sách, vở và hướng dẫn phương pháp học tập bộ môn. - Chia nhóm theo tổ hoặc theo bàn học, phát câu hỏi và hướng dẫn thảo luận. - Đặt một số câu hỏi gợi nhớ kiến thức cũ. - Mời một đại diện nhóm trả lời câu hỏi. - Nhận xét và kết luận các vấn đề. Đặc điểm các lớp NN lập trình. * Ngônngữ máy: bị phụ thuộc vào loại máy tính, lệnh là các dòng số không gợi nghĩa * Hợp ngữ: lệnh là cụm từ tiếng Anh viết tắt. Phải dùng chương trình hợp dịch để chuyển đổi. * Ngônngữ bậc cao: không phụ thuộc vào oại máy tính. Phải dùng chương trình dịch để chuyển đổi. - Nắm bắt những yêu cầu của môn học, làm quen với phương pháp học tập bộ môn. - Chủ động trong hoạt động nhóm, tự phân công tổ trưởng, thư ký và HS đại diện trả lời. - Tham khảo vở học và SGK lớp 10, đọc kỹ câu hỏi và thảo luận nhóm để giải quyết vấn đề * Nhóm 1: liệt kê các bước giải bài toán và giải thích từng bước phải làm gì? * Nhóm 2: chia bảng phân biệt các lớp NNLT theo các đặc điểm vàkhái niệm. Ngônngữ máy Hợp ngữNgônngữ bậc cao - Lệnh - Phụ thuộc - … - … - … - … - … - … GIÁO ÁN TIN HỌC 11 (1) GV: Hoàng Ngọc Trung Hiếu TRƯỜNG PT DTNT TỈNH LÂM ĐỒNG Chương 1: Một số kháiniệm về LậptrìnhvàNgônngữlậptrình 15’ 5’ 5’ Hoạt động 3: Bài mới. 2. Chương trình dịch: Là chương trình đặc biệt có chức năng chuyển đổi chương trình viết bằng ngônngữ bậc cao thành chương trình chạy được trên máy tính. Chương trình nguồn (Chương trình viết bằng ngônngữlậptrình bậc cao) ↓ Chương trình dịch ↓ Chương trình đích (Chương trình bằng ngônngữ máy, chạy được trên máy tính) - Thông dịch: duyệt từng câu lệnh của chương trình. Nếu lệnh sai thì dừng quá trình dịch. Nếu lệnh đúng thì dịch và thực hiện câu lệnh rồi chuyển quá trình đến lệnh tiếp theo. - Biên dịch: duyệt qua toàn bộ chương trình. Nếu phát hiện có lỗi thì ngừng quá trình dịch, ngược lại dịch toàn bộ chương trình, thực hiện chương trìnhvà lưu lại chương trình đích đã dịch được. Hoạt động 4: Bài mới. 3. KháiniệmLập trình: Là sử dụng cấu trúc dữ liệu và các câu lệnh của ngônngữlậptrình cụ thể để mô tả dữ liệu và diễn đạt các thao tác của thuật toán. Học lậptrình là: - Học sử dụng cấu trúc dữ liệu. - Học thuật toán và cách thiết kế thuật toán. - Học sử dụng ngônngữlập trình. Hoạt động ... chương trình nguồn Chuyển đổi câu lệnh thành hay nhiều câu lệnh ngôn ngữ máy Thực câu lệnh vừa chuyển đổi Củng cố: - Khái niệm lập trình ngôn ngữ lập trình - Các ngôn ngữ lập trình: ngôn ngữ. .. chương trình ngôn ngữ bậc cao muốn thi hành loại máy cần chuyển chương trình sang ngôn ngữ máy máy HS: Nghe giảng ghi Chương trình viết ngôn ngữ máy nạp trực tiếp vào nhớ thi hành Chương trình. .. lời: Cần phải có chương trình dịch GV: Nhận xét phân tích HS: Nghe giảng ghi Cần phải có chương trình dịch để chuyển chương trình viết ngôn ngữ lập trình bậc cao sang ngôn ngữ máy để máy thi hành