Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 112 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
112
Dung lượng
0,94 MB
Nội dung
www.thuvienhoclieu.com Tiết 1_PPCT Ngày soạn: Ngày dạy: CHƯƠNG I: MỘT SỐ KHÁI NIỆM VỀ LẬP TRÌNH VÀ NGƠN NGỮ LẬP TRÌNH BÀI 1: KHÁI NIỆM LẬP TRÌNH VÀ NGƠN NGỮ LẬP TRÌNH A MỤC ĐÍCH VÀ U CẦU Mục đích: - Ơn lại kiến thức học lớp 10 thuật toán - Giới thiệu khái niệm chương trình nguồn, chương trình dịch chương trình đích - Giới thiệu số ngơn ngữ lập trình thơng dụng Yêu cầu: - Học sinh nắm khái niệm chương trình nguồn, chương trình dịch chương trình đích B PHƯƠNG PHÁP GIẢNG DẠY - Lấy học sinh làm trung tâm, đặt vấn đề cho trường hợp sử dụng thực tế từ giúp em nắm bắt vấn đề tốt - Đặt câu hỏi gợi mở giúp học sinh hiểu vấn đề C KIẾN THỨC TRỌNG TÂM Trong cần cung cấp cho học sinh kiến thức sau: - Các khái niệm chương trình nguồn, chương trình dịch chương trình đích - Các khái niệm thông dịch biên dịch D PHƯƠNG TIỆN DẠY HỌC - Sử dụng máy Projector - Bảng đen, phấn trắng E NỘI DUNG GIẢNG DẠY I ĐẶT VẤN ĐỀ CHO BÀI GIẢNG ( 5ph ) Thông tin đưa vào máy tính, máy tính xử lý cho ta kết mong muốn Vậy nhờ vào đâu mà máy tính xử lý thơng tin đó? Để máy tính xử lý thơng tin phải lập trình Bài học hơm ta tìm hiểu ngơn ngữ lập trình có loại ?II NỘI DUNG BÀI HỌC Thời Nội dung ghi bảng gian Hoạt động GV BÀI 1: KHÁI NIỆM LẬP TRÌNH VÀ NGƠN NGỮ LẬP TRÌNH 10 ph Thuật tốn: Có hai dạng để diễn tả thuật toán: Liệt kê Dùng sơ đồ khối VD: so sánh a b - Ghi học lên bảng - Trước tìm hiểu ngơn ngữ lập trình, ta ơn lại phần thuật tốn - Em nhắc lại khái niệm thuật toán ? - Có dạng để diễn tả thuật tốn? - Em diễn tả thuật toán so www.thuvienhoclieu.com Hoạt động HS Học sinh theo dỏi, ghi chép trả lời Trang www.thuvienhoclieu.com sánh số a b theo hai dạng trên? - Như muốn máy tính hiểu xử lý thơng tin xác mà ta nhập vào người cần phải lập trình - Mọi tốn có thuật tốn giải máy tính điện tử, bao gồm bước mà ta học? Để giải toán ta thực bước sau: 1) Xác định toán 2) Diễn tả thuật toán 3) Viết chương trình 4) Chạy kiểm tra chương trình 10 ph 15 ph - Bước cuối lập trình, lập trình gì? em nêu khái niệm lập trình? - Như sơ đồ diễn tả thuật toán trên, CTDL cách lưu trữ giá trị a b Cịn câu lệnh để mơ tả thuật tốn Pascal sau: Khái niệm lập trình: Lập trình sử dụng CTDL câu lệnh If a > b then writeln(‘max=’,a) ngôn ngữ lập trình cụ thể để mơ tả Else writeln(‘max =’,b); liệu diễn đạt thao tác - Chương trình viết ngơn thuật tốn ngữ pascal ngơn ngữ bậc Q trình chuyển đổi chương cao chương trình nguồn để máy tính hiểu xử lý trình CT đích CT nguồn CT dịch phải thơng qua chương trình dịch để chuyển sang chương trình đích ngơn ngữ * CT nguồn: - Là CT viết ngôn ngữ bậc cao máy ta có q trình chuyển đổi - Được nhiều người sử dụng làm sau: - Em nêu đặc điểm CT cơng cụ lập trình - Thực nhiều loại nguồn? máy tính khác * CT dịch: - Có chức chuyển đổi CT viết ngôn ngữ bậc cao thành - Em nêu chức CT dịch? chương trình ngơn ngữ máy Có hai loại Thơng dịch (Interpreter): Là q trình dịch lặp lại nhiều lần - Chương trình dịch có hai loại kết thúc chương trình thông dịch biên dịch Các em Các bước lặp: 1) Kiểm tra tính đắn xem VD SGK câu lệnh chương - Thông dịch gì? - Hiện có số ngơn ngữ trình nguồn 2) Chuyển đổi câu lệnh lập trình thông dụng như: thành hay nhiều câu lệnh tương ứng ngôn ngữ máy 3) Thực câu lệnh vừa - Biên dịch gì? www.thuvienhoclieu.com Học sinh theo dỏi, ghi chép trả lời Học sinh theo dỏi, ghi chép trả lời Học sinh theo dỏi, ghi chép trả lời Học sinh theo dỏi, ghi chép trả lời Trang www.thuvienhoclieu.com chuyển đổi Biên dịch (compiler): Là trình dịch lặp lần Các bước lặp: 1) Duyệt, phát lỗi, kiểm tra tính đùng đắn câu lệnh CT nguồn 2) Dịch toàn CT nguồn thành CT đích lưu trữ để sử dụng lại cần thiết Chú ý: + Thơng dịch khơng có chương trình đích để lưu trữ + Biên dịch dịch lưu trữ để sử dụng sau * CT đích: ngơn ngữ máy - Nêu đặc điểm thông dịch biên dịch * Pascal, Turbo C++ ngôn ngữ ứng dụng nhà trường phục vụ học lập trình sở * C#, C++ lập trình ứng dụng * ASP, ASP.net, J#, JAVA thiết kế Học sinh Website theo dỏi, ghi chép trả lời III CỦNG CỐ BÀI HỌC VÀ BÀI TẬP VỀ NHÀ (5 ph) Củng cố: Qua học HS nắm vững kiến thức trọng tâm sau: Khái niệm lập trình Khái niệm thơng dịch biên dịch Bài tập nhà: Khái niệm lập trình Khái niệm thông dịch biên dịch Những phát biểu sai? A Output chương trình chương trình ngơn ngữ máy B Chương trình viết hợp ngữ khơng phải Input hay Output chương trình dịch C Để biên soạn chương trình ngơn ngữ bậc cao sử dụng nhiều hệ soạn thảo văn khác D Chương trình dịch thành phần ngơn ngữ lập trình bậc cao Phát biểu đúng:Chương trình dãy lệnh tổ chức theo quy tắc xác định ngơn ngữ lập trình cụ thể A Trong chế độ thông dịch câu lệnh chương trình nguồn dịch thành câu lệnh chương trình đích B Mọi tốn có chương trình để giải máy tính C Nếu chương trình nguồn có lỗi cú pháp chương trình đích có lỗi cú pháp www.thuvienhoclieu.com Trang www.thuvienhoclieu.com Tiết 2_PPCT Ngày soạn: Ngày dạy: BÀI 2: CÁC THÀNH PHẦN CỦA NGƠN NGỮ LẬP TRÌNH A MỤC ĐÍCH VÀ U CẦU Mục đích: - Giúp học sinh hiểu thành phần ngơn ngữ lập trình: Bảng chữ cái, cú pháp ngữ nghĩa - Giới thiệu khái niệm tên, tên chuẩn, tên dành riêng Yêu cầu: - Học sinh ý học tập, tích cực xây dựng học - Học sinh phải ghi nhớ quy tắc đặt tên, biến ngơn ngữ lập trình B PHƯƠNG PHÁP GIẢNG DẠY - Lấy học sinh làm trung tâm, lấy VD cụ thể để học sinh nắm vững học C KIẾN THỨC TRỌNG TÂM Trong cần cung cấp cho học sinh kiến thức sau: - thành phần ngơn ngữ lập trình: bảng chữ cái, cú pháp ngữ nghĩa - Các quy tắc đặt tên, khái niệm biến D PHƯƠNG TIỆN DẠY HỌC - Hình ảnh minh họa - Bảng đen, phấn trắng E KIỂM TRA BÀI CŨ ( 5ph ) Nêu khái niệm thông dịch biên dịch, hai thành phần chươg trình dịch khác chỗ nào? Nêu bước thực thông dịch biên dịch F NỘI DUNG GIẢNG DẠY I ĐẶT VẤN ĐỀ CHO BÀI GIẢNG (3ph) Như em biết, người dùng hai loại ngôn ngữ ngơn ngữ nói ngơn ngữ viết Để máy tính làm việc giao tiếp cần có ngơn ngữ, ngơn ngữ lập trình Ngơn ngữ lập trình soạn thảo mơi trường lập trình tương ứng ngô ngữ Pascal soạn thảo môi trường Turbo Pascal, nhằm giải toán người u cầu Vậy ngơn ngữ lập trình có thành phần có quy tắc khơng Bài học hôm thầy giới thiệu cho em hiểu rõ vấn đề II NỘI DUNG BÀI HỌC Thời gian Nội dung ghi bảng Hoạt động GV www.thuvienhoclieu.com Hoạt động HS Trang www.thuvienhoclieu.com - Ghi học lên bảng - Em cho biết ngơn ngữ Học sinh lập trình có thành phần, theo dỏi, ghi chép thành phần gì? Các thành phần trả lời Có thành phần: - Các ký tự sử dụng Chữ ngôn ngữ để viết Cú pháp chương trình Ngữ nghĩa - Nhìn vào bảng chữ em có thấy khác với chữ a) Chữ cái: Là tập ký tự dùng ngôn ngữ tự nhiên để viết chương trình khơng? - Ký tự chữ cái: ‘a’ ’z’,‘A’ ‘Z’ - Số thập phân: 0, 1, , 8, - Trong ngôn ngữ tự nhiên Học sinh - Các ký tự đặc biệt: #, $, -, +, sử dụng bảng chữ theo dỏi, Chú ý: phải có cú pháp VD ghi chép - Bảng chữ ngôn ngữ khác thành phần câu có chủ trả lời khác số ký tự: ngữ, vị ngữ VD: Pascal sử dụng dấu ‘’ - Trong ngôn ngữ lập trình C++ sử dụng dấu “”, \, ! cần phải có cú pháp b) Cú pháp: Là quy tắc để viết - Em cho thầy biết cú Học sinh chương trình pháp ngơn ngữ lập trình theo dỏi, VD: ten a (khơng hợp lệ có khoảng dùng để làm gì? ghi chép trắng) - Cú pháp quy tắc để viết trả lời Var x integer; (không hợp lệ chương trình, dựa vào mà thiếu dấu ‘:’) người lập trình chương c) Ngữ nghĩa: Là xác định ý nghĩa trình dịch biết tổ hợp ký tự bảng tổ hợp ký tự chương trình chữ hợp lệ Các em xem VD: A B nhận giá trị nguyên VD sau: X Y nhận giá trị thực ten a Ta sử dụng phép toán ngơn ngữ Var x integer; lập trình sau: - Ngồi cú pháp, ngơn A+B: cộng hai số ngun ngữ lập trình cịn có ngữ X+Y: cộng hai số thực nghĩa Chú ý: - CT phát lỗi cú pháp - VD sau cho em hiểu rõ trước, lỗi ngữ nghĩa sau ngữ nghĩa - Khi lỗi cú pháp khơng cịn chương trình thực - Khi chương trình thực liệu cụ thể lỗi ngữ nghĩa - Em cho biết Học sinh phát chương trình bắt đầu thực theo dỏi, VD: chương trình dịch ghi chép phát lỗi cú pháp dễ dàng trả lời Một số khái niệm hay khó khăn ngữ a) Tên nghĩa? Khái niệm: Tên dãy liên tiếp không 127 ký tự bao gồm chữ số, chữ dấu gạch BÀI 2: CÁC THÀNH PHẦN CỦA NGƠN NGỮ LẬP TRÌNH 12 ph 20 ph www.thuvienhoclieu.com Trang www.thuvienhoclieu.com Quy tắc đặt tên: - Khơng có khoảng trắng - Khơng bắt đầu chữ số - Không chứa ký tự đặc biệt VD: 43c (tên sai) A_c (tên đúng) Ten_f (tên đúng) Hoa# (tên sai) Chú ý: - Tên dùng để quản lý phân biệt đối tượng chương trình - Để gợi nhớ nội dung đối tượng - Tên có loại: * Tên dành riêng (từ khóa): Dùng với ý nghĩa riêng xác định Không sử dụng với mục đích khác VD(SGK) * Tên chuẩn: Dùng với ý nghĩa định đó, sử dụng với mục đích khác VD(SGK) * Tên người lập trình tự đặt: Khơng trùng với tên dành riêng b) Hằng biến * Hằng: Hằng đại lượng có giá trị khơng thay đổi q trình thực chương trình Có loại hằng: + Hằng số học: số nguyên hay số thực: 3, -3, + Hằng logic: True False + Hằng xâu: Là chuỗi ký tự bảng mã ASCII, nằm cặp dấu nháy đơn ( ‘’ ) Pascal Chú ý: - Hằng dấu ‘’ Pascal “” VD: ‘‘s’’ có xâu ‘s’ - Hằng số thực E biểu diễn số mũ 10 VD: 2.1E-6 = x 10-6 -2.236E01 = -2.236 x 1001 = -22.36 - Có thể sử dụng Hexa, cần thêm $ trước giá trị biểu diễn: VD: $A116 = 16110 * Biến: Là đại lượng đặt tên, dùng để lưu trữ giá trị giá trị thay đổi q trình thực chương trình c) Chú thích - Để viết chương trình khơng cịn lỗi cú pháp ta cần ý số quy tắc Học sinh theo dỏi, cách đặt tên ghi chép trả lời - Em xét xem VD sau VD có cách đặt tên đúng, sao? Học sinh theo dỏi, ghi chép trả lời - Ngoài quy định phải đặt tên cho chương trình cần phải khai báo biến - Các em xem VD SGK giải thích ký hiệu E số học - Em lấy VD để làm rõ khái niệm biến VD: A, B,tong biến nguyên A:=5; B:=6; Tong:=A+B; Tong:=A+B+A; Giá trị tổng thay đổi - Đoạn thích chương trình nhằm giúp người www.thuvienhoclieu.com Trang www.thuvienhoclieu.com - Trong Pascal sử dụng cặp dấu lập trình nêu câu dẫn mà {và}hoặc (*và*) không cần phải tuân thủ quy - Chú thích khơng ảnh hưởng đến tắc ngơn ngữ lập trình chương trình nguồn nên chương trình dịch bỏ qua III CỦNG CỐ BÀI HỌC VÀ BÀI TẬP VỀ NHÀ (5 ph) Củng cố: Qua học HS nắm vững kiến thức trọng tâm sau: thành phần ngôn ngữ lập trình Khái niệm quy tắc đặt tên Khái niệm ý nghĩa sử dụng biến Bài tập nhà: Các tập SGK www.thuvienhoclieu.com Trang www.thuvienhoclieu.com Tiết 3_PPCT Ngày soạn: Ngày dạy: CÂU HỎI VÀ BÀI TẬP A MỤC ĐÍCH VÀ U CẦU Mục đích: - Giúp học sinh ôn lại kiến thức học Yêu cầu: - Học sinh ý học tập, tích cực xây dựng học - Học sinh phải chuẩn bị kiến thức ôn nhà B PHƯƠNG PHÁP GIẢNG DẠY - Nêu tập, đặt câu hỏi gợi ý để HS nắm vững học C NỘI DUNG GIẢNG DẠY Câu 1: Trong chế độ biên dịch, chương trình dịch thơng suốt, hệ thống khơng báo lỗi Có thể khẳng định ta có chương trình hay chưa? Tại sao? (Chưa đúng, sai ngữ nghĩa) Câu 2: Trong chế độ thông dịch, giả sử 2/3 số câu lệnh chương trình thực Có thể khẳng định chương trình khơng cịn chứa lỗi cú pháp hay không? Tại sao? (Không thể khẳng định được, câu lệnh khác chưa kiểm tra) Câu 3: Sau chương trình dịch thơng suốt, khơng cịn lỗi cú pháp, có cần tiếp tục hiệu chỉnh, tức tìm sửa lỗi chương trình nguồn hay khơng? (Có: Vì cần KT ngữ nghĩa) Câu 4: Trong chương trình cịn có lỗi cú pháp, thơng thường trình biên dịch hay chương trình thơng dịch phát lỗi nhanh hơn? Vì sao? (Trình biên dịch phát lỗi nhanh có nhiệm vụ phát lỗi cú pháp đầu tiên) Câu 5: Hãy chọn biểu diễn biểu diễn đây: A) end B) ‘a078’ C) 78 D) *63 E) 5.63 F) -96 Câu 6: Hãy chọn biểu diễn tên biểu diễn đây: A) 75 B) abcd C) 78ab D) ab68 E) ‘abc’ F) (xyz) Câu 7: Hãy chọn đáp án từ khóa (tên dành riêng) Pascal: A) begin B) ‘begin’ C) integer D) var E) real F) end Câu 8: Hãy chọn đáp án tên chuẩn Pascal: A) real B) uses D) integer E) byte www.thuvienhoclieu.com C) const F) sqr Trang www.thuvienhoclieu.com Câu 9: Trong dịng thơng tin thích chứa ký tự ngồi bảng chữ ngơn ngữ hay khơng sao? (Có thể, chương trình biên dịch khơng kiểm tra lỗi thích) Câu 10: Hãy nêu VD (6 tên) mà người dùng đặt sai ngơn ngữ lập trình Pascal lỗi, cách sửa tên cho Câu 11: Bổ sung tập 4, 5, SGK Tin học 11 (trang 13) www.thuvienhoclieu.com Trang www.thuvienhoclieu.com Tiết 4_PPCT Ngày soạn: Ngày dạy: CHƯƠNG II: CHƯƠNG TRÌNH ĐƠN GIẢN BÀI 3: CẤU TRÚC CHƯƠNG TRÌNH A MỤC ĐÍCH VÀ YÊU CẦU Mục đích: - Giúp học sinh nắm cấu trúc chung chương trình đơn giản - Nhận biết phần chương trình đơn giản Yêu cầu: - Học sinh ý học tập, tích cực xây dựng học - Học sinh nắm cấu trúc chương trình đơn giản - Biết cách đặt tên, khai báo biến chương trình B PHƯƠNG PHÁP GIẢNG DẠY - Lấy học sinh làm trung tâm, lấy VD cụ thể để học sinh nắm vững học C KIẾN THỨC TRỌNG TÂM Trong cần cung cấp cho học sinh kiến thức sau: - Cấu trúc chương trình - Khai báo tên, thư viện, biến chương trình D PHƯƠNG TIỆN DẠY HỌC - Bảng đen, phấn trắng E NỘI DUNG GIẢNG DẠY I ĐẶT VẤN ĐỀ CHO BÀI GIẢNG Các em tìm hiểu ngơn ngữ lập trình ngơn ngữ lập trình có cấu trúc người lập trình viết chương trình cho quy tắc Trong ngơn ngữ lập trình Pascal hay C+ + đưa cấu trúc riêng Ta tìm hiểu cấu trúc gì? II NỘI DUNG BÀI HỌC Thời gian 15 ph Nội dung ghi bảng Hoạt động GV BÀI 3: CẤU TRÚC CHƯƠNG TRÌNH - Ghi học lên bảng - Trên bảng cấu trúc chương trình viết ngơn ngữ lập trình Pascal Em cho thấy biết phần phần khai báo, phần phần thân chương trình? Cấu trúc chung *Ngơn ngữ lập trình có phần: - Phần khai báo - Phần thân Hoạt động HS Học sinh theo dỏi, ghi chép trả lời - Trên bảng cấu trúc chung chương trình đơn giản bao www.thuvienhoclieu.com Trang 10 www.thuvienhoclieu.com BÀI TẬP VÀ THỰC HÀNH (tiết 45-46) (Ngày soạn: 22/02/2011; Ngày dạy: / ./2011) A MỤC ĐÍCH – YÊU CẦU Kiến thức + Nâng cao kỹ viết, sử dụng chương trình Kĩ năng: + Rèn luyện cho học sinh kĩ lập trình giải số tốn đơn giản + Rèn luyện học sinh có kĩ việc tổ chức sử dụng chương trình lập trình + Biết cách viết chương trình có cấu trúc để giải tốn máy tính Thái độ: + Tích cực học tập, hứng thú tiếp thu kiến thức B PHƯƠNG PHÁP GIẢNG DẠY - Thuyết trình, vấn đáp C PHƯƠNG TIỆN DẠY HỌC - Máy chiếu, máy tính, phơng chiếu bảng, phịng thực hành E NỘI DUNG GIẢNG DẠY I NỘI DUNG BÀI HỌC Nội dung ghi bảng Hoạt động thầy BÀI TẬP VÀ THỰC HÀNH (tiết 45-46) Tiết Câu 1: Tại chương trình con: Kh_cach, chuvi, dientích, hàm mà không thủ tục? Tại hàm trả cho ta số thực? Câu 2: Tại chương trình hienthi, tinhchat, dacanh lại thụ tục mà không hàm? Ổ định lớp Để mô tả hay quản lý điểm hay tam giác ta dùng kiểu liệu nào? Khi biết toạ độ ba đỉnh tam giác ta tìm yếu tố nào? -> Mỗi yếu tố chương trình lập trình -> Theo yêu cầu đề ta cần xây dựng chương trình nào? Hãy tìm hiểu thảo luận chương trình câu b trả lời câu hỏi sau: Câu 1: Tại chương trình con: Kh_cach, chuvi, dientích, hàm mà khơng thủ tục? Tại hàm trả cho ta số thực? Câu 2: Tại chương trình hienthi, tinhchat, dacanh lại thụ tục mà www.thuvienhoclieu.com Hoạt động trò Độ dài của cạnh, chu vi, diện tích, tính chất tam (đều, cân hay) vng tam giác Trả lời: +Procedure daicanh (var R:tamgiac, var a,b,c: real); + function chuvi (varR:tamgiac) : real ; + function dientich (var R:tamgiac):real; + function kh_cach (var P,Q: Diem):real; + Procedure hienthi (var R:tamgiac); Trang 98 www.thuvienhoclieu.com không hàm? Yêu cầu học sinh copy chuẩn bị nhà vào máy (hay giáo viên chuẩn bị sẵn) tiến hành kiểm tra lỗi chạy thử + Procedure tinhchat (var R:tamgiac, var deu,can,vuong: boolean); Tra lời: trả giá trị qua tên Quan sát giúp đỡ học sinh hàm gặp khó khăn Do khoảng hai điểm số thực -> chuvi, dientich cũmg số thực Khơng trả giá trị cụ thể Tiết uses crt; type Diem=record x,y: real; end; tamgiac=record A,B,C: Diem; end; const eps = 1.0E-6; var T:tamgiac; d,cn,v:boolean; n,i,deu,can,vuong:word; f,f1:text; function kh_cach(P,Q:Diem):real; begin kh_cach:=sqrt((P.x-Q.x)*(P.x-Q.x)+(P.yQ.y)*(P.y-Q.y)); end; procedure daicanh(var R:tamgiac; var a,b,c: real); begin a:=kh_cach(R.B,R.C); b:=kh_cach(R.A,R.C); c:=kh_cach(R.A,R.B); end; procedure tinhchat(var R:tamgiac; var deu,can,vuong:boolean); Phân tích tốn: + Input gì? + Output gì? + Input Output nằm đâu? -> Vì để lập trình giải tốn ta cần có thao tác nào? Hướng giải toán: + Bài tốn cần có chương trình nào? Có thể khai thác đâu? Dòng chứa số N N dòng toạ độ ba đỉnh tam giác Dòng đầu số tam giác Dòng thứ hai số tam giác cân (khơng đều) Dịng thứ ba số tam giác vuông + Các thao tác đọc tệp văn Trả lời: nằm + Các thao tác đếm loại hai tệp có tam giác tên + Các thao tác để ghi kết tamgiac.dat đạt tamgiac.out -> Các thao tác thực chương trình chính( sử dụng máy chiếu ghi lên bảng): - khởi tạo biến đếm - Mở tệp tamgiac.dat để đọc www.thuvienhoclieu.com Cần chương trình con: kh_cách, daicanh, tinhchat.(sử dụng Trang 99 www.thuvienhoclieu.com var a,b,c: real; begin deu:=false; can:=false; vuong:=false; daicanh(R,a,b,c); if (abs(a-b) < eps) and (abs(a-c)