Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 79 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
79
Dung lượng
860 KB
Nội dung
Tiết CT: Tuần: Ngày soạn: 15.07.2013 Ngày dạy: 15.08.2013 CHƯƠNG I: MỘT SỐ KHÁI NIỆM VỀ CHƯƠNG TRÌNH VÀ NGÔN NGỮ LẬP TRÌNH § 1: KHÁI NIỆM LẬP TRÌNH VÀ NGÔN NGỮ LẬP TRÌNH I MỤC ĐÍCH, YÊU CẦU - Hiểu khả ngôn ngữ lập trình bậc cao, phân biệt với ngôn ngữ máy hợp ngữ; - Hiểu ý nghĩa nhiệm vụ chương trình dịch; - Phân biệt biên dịch thông dịch II PHƯƠNG PHÁP Phát vấn kết hợp diễn giảng III PHƯƠNG TIỆN DẠYHỌC SGK, SGV, bảng vẽ khổ lớn… có máy chiếu tốt IV NỘI DUNG VÀ TIẾN TRÌNH LÊN LỚP Ổn định lớp (Kiểm tra sĩ số) Ôn lại kiến thức cũ (nếu có) Hoạt động dạyhọc HOẠT ĐỘNG CỦA GV HOẠT ĐỘNG CỦA HS NỘI DUNG Hoạt động 1: tìm hiểu khái niệm lập trình ngôn ngữ lập trình Ở lớp 10 em học loại ngôn ngữ lập trình ? Hãy cho thầy biết có loại Có loại: ngôn ngữ ngôn ngữ lập trình? máy, hợp ngữ, ngôn ngữ lập lập trình bậc cao? ? Cho biết đặc điểm Ngôn ngữ máy ngôn loại? ngữ máy hiểu trực tiếp Hợp ngữ: sd từ tiếng Anh Ngôn ngữ lập trình bậc cao: Các bước để giải toán ? Có bước để giải toán máy tính: máy tính? Kể tên? - Xác định toán Chúng ta thấy bước thứ viết - Xây dựng lựa thuật chương trình hay gọi lập toán trình? - Viết chương trình (lập Thế lập trình? trình) - Hiệu chỉnh - Viết tài liệu Bài toán: Viết chương trình giải phương trình ax + b = 0? ? Hãy xác định Input Output toán? Xác định thuật toán? Input: hai số a, b Output: x = - b/a, ptvn, pt có vô số nghiệm Bước 1: nhập a, b; HOẠT ĐỘNG CỦA GV HOẠT ĐỘNG CỦA HS Bước 2: a x=-b/a Bước 3: Nếu a = ptvn; Bước 4: a = b=0 pt có vô số nghiệm Đó thuật toán toán Em dùng tiếng Anh ? Để diễn tả thuật toán cho người nước hiểu em dùng Ngôn ngữ lập trình ngôn ngữ nào? ? Còn máy hiểu em dùng ngôn ngữ nào? HS phát biểu Dẫn dắt vấn đề: hoạt động diễn đạt thuật toán thông qua ngôn ngữ lập trình gọi lập trình Đọc SGK cho biết lập trình? Giải thích câu lệnh Về việc chọn ngôn ngữ lập trình ta chọn loại ngôn ngữ Nhưng đặc điểm vượt trội ngôn ngữ bậc cao nên người ta thường sd để lập trình ? Những đặc điểm đặc điểm nào? Và để sd ngôn ngữ lập trình bậc cao phải có gì? Đó đặc điểm ngôn ngữ lập trình Nhưng sd ngôn ngữ lập trình bậc cao cần phải có chương trình dịch Chức chương trình dịch NỘI DUNG Khái niệm lập trình Lập trình sử dụng cấu trúc liệu câu lệnh ngôn ngữ lập trình cụ thể để mô tả liệu diễn đạt thao tác thuật toán HS chia nhóm thảo luận phút Chương trình dịch Chức năng: chuyển đổi chương trình viết NNLT bậc cao thành chương trình thực máy Dịch từ ngôn ngữ khác sang ngôn ngữ máy Chương trình nguồn Chương trình dịch Ví dụ SGK giới thiệu trường Chương trình dịch có hai loại: Biên dịch thông dịch Chương trình đích Biên dịch: Chương trình dịch có hai loại: biên ? Biên dịch thông dịch khác - Dịch toàn chương dịch thông dịch chỗ nào? trình - Có thể lưu trữ để sd lại a) Thông dịch: Thông dịch: Kiểm tra tính đắn - Dịch câu lệnh câu lệnh chương trình - Không lưu lại HOẠT ĐỘNG CỦA GV HOẠT ĐỘNG CỦA HS V CỦNG CỐ - DẶN DÒ a Củng cố: Thế lập trình? Chức chương trình dịch? Sự giống khác biên dịch thông dịch? b Dặn dò: Soạn trước: ? Thành phần NNLT? ? Thế tên? Qui tắc đặt tên? ? Có loại tên? phải nhớ tên riêng? ? Thế hằng? biến? Học trả lời câu hỏi SGK VI RÚT KINH NGHIỆM NỘI DUNG nguồn Chuyển đổi câu lệnh thành nhiều câu lệnh tương ứng NN máy Thực câu lệnh vừa chuyển b) Biên dịch: Duyệt, phát lỗi, kiểm tra tính đắn câu lệnh Dịch toàn chương trình nguồn thành chương trình đích thực máy lưu trữ để sử dụng lại cần thiết Tiết CT: Tuần: Ngày soạn: 22.07.2013 Ngày dạy: 22.08.2013 § CÁC THÀNH PHẦN CƠ BẢN CỦA NGÔN NGỮ LẬP TRÌNH I MỤC ĐÍCH YÊU CẦU - Biết ngôn ngữ lập trình có ba thành phần - Biết số khái niệm tên, tên dành riêng, tên chuẩn, biến - HS nhớ qui định cách đặt tên hằng, biến Biết nhận biết tên đặt sai, II PHƯƠNG PHÁP Diễn giảng kết hợp phát vấn III PHƯƠNG TIỆN DẠYHỌC SGK, SGV, có máy chiếu tốt IV NỘI DUNG VÀ TIẾN TRÌNH LÊN LỚP Ổn định lớp (Kiểm tra sỉ số) Kiểm tra cũ Câu 1: Chức chương trình dịch Câu 2: Sự giống khác biên dịch thông dịch Nội dung HOẠT ĐỘNG CỦA GV HOẠT ĐỘNG CỦA HS NỘI DUNG Hoạt động 1: ? Có yếu tố để − Bảng chữ tiếng Việt, Các thành phần xây dựng nên ngôn ngữ tiếng số, dấu a) Bảng chữ − Cách ghép kí tự thành Việt? Tập hợp kí tự dùng để viết câu, cách ghép từ thành câu chương trình NNLT tương tự − Ngữ nghĩa từ Không dùng kí tự vậy, gồm thành phần: câu kí tự qui định bảng chữ bảng chữ cái, cú pháp ngữ nghĩa ? Hãy đọc SGK trang Đọc SGK trả lời câu hỏi Ví dụ: cho thầy biết Pascal Trong Pascal bảng chữ bao gồm: bảng chữ bao gồm kí tự Chữ thường chữ in hoa tiếng nào? Anh Sau HS trả lời treo a z ; A Z; bảng khổ lớn bảng chữ 10 chữ thập phân: Bảng chữ kí tự đặc biệt: NNLT nói chung không khác + - * / = < < [ ] , nhiều ; # ^ @ $ & ( ) { } : ‘ VD: C++ khác với − Dấu cách (mã ASCII 32) Pascal có sd thêm kí tự dấu (“), ( \), ( ! ) Nhờ vào chúng mà chương trình dịch biết tổ hợp Chú ý nghe giảng kí tự bảng chữ hợp lệ tổ hợp không hợp lệ Nhờ đó, mô tả thuật toán để b) Cú pháp Là qui tắt để viết chương trình HOẠT ĐỘNG CỦA GV máy thực VD: phần lớn NNLT sd dấu cộng ( +) Xét hai biểu thức sau: A+B (1) I+J (2) Giả sử: A, B đại lượng nhận giá trị thực; I, J nhận giá trị nguyên (giải thích số thực số nguyên) Dấu (+) biểu thức (1) cộng hai số thực Dấu (+) biểu thức (2) cộng hai số nguyên Hoạt động 2: Một số khái niệm Một khái niệm tên Tên phải đặt theo qui tắc đặt tên tuỳ vào NNLT ? Những tên tên qui tắc tên sai qui tắc NNLT Pascal? LOP11C2 LOP 11C2 LOP_11C2 2D A\B Lưu ý: NNLT Pascal không phân biệt chữ hoa chữ thường Lấy ví dụ tên HS Tên có loại tên sau: Chúng ta không dùng tên với ý nghĩa khác ? Trong Pascal có tên riêng nào? HOẠT ĐỘNG CỦA HS NỘI DUNG c) Ngữ nghĩa xác định ý nghĩa thao tác cần phải thực hiện, ứng với tổ hợp kí tự dựa vào ngữ cảnh Những tên đúng: LOP11C2 LOP_11C2 Những tên sai LOP 11C2, 2D, A\B Một số khái niệm a) Tên Mọi đối tượng chương trình phải đặt tên theo qui tắc NNLT chương trình dịch cụ thể * Trong Turbo Pascal tên: - Không chứa dấu cách, không 127 kí tự, không chứa kí hiệu đặc biệt - Bắt đầu chữ dấu gạch VD: - Tên LOP11C2, LOP_11C2 - Tên sai: LOP 11C2, 3D, A\B * Tên dành riêng (từ khoá): NNLT qui định dùng với ý nghĩa xác định Program, uses, const, type, var, begin, end… Ý nghĩa tên chuẩn qui định thư viện NNLT ? Trong Pascal có tên chuẩn nào? abs, sqr, sqrt, byte, integer, Chúng ta nên đặt tên real, longin… cho gợi nhớ nội dung không nên đặt dài hay Vd: Trong pascal: program, uses, const, type, var, begin, end… * Tên chuẩn: dùng với ý nghĩa Nhưng ta khai báo dùng với ý nghĩa mục đích khác Vd: abs, sqr, sqrt, byte, integer, real, longin HOẠT ĐỘNG CỦA GV ngắn vd: để đặt tên cho điểm môn toán ta nên đặt dtoan không nên đặt dt hay diem_mon_toan ? Vì ta phải nhớ tên dành riêng? HOẠT ĐỘNG CỦA HS NỘI DUNG * Tên người lập trình đặt: tên xác định cách khai báo trước sd, không trùng với tên dành riêng Vd: X1; X2; DELTA, CT_VD; BAI6_3 Để đặt tên không trùng Hằng có nhiều loại như: số học, logic, xâu… b) Hằng biến * Hằng: Hằng đại lượng không thay đổi trình thực chương trình Vd: - số học: 2; 0; -5; 1.25; -2.36 - logic: TRUE; FALSE - xâu: ‘tin hoc’; ‘nguyen_van_A’; ‘Truong THPT Duyen Hai’ * Biến: Biến đại lượng đặt tên, dùng để lưu trữ giá trị giá trị thay đổi trình thực chương trình c) Chú thích: Đặt thích để người đọc chương trình dễ hiểu Trong pascal thích đặt dấu (* *) { } VD: DELTA, I, J… Khi đặt thích chương trình dịch bỏ qua V.CỦNG CỐ - DẶN DÒ Củng cố: - Thành phần NNLT: bảng chữ cái, cú pháp, ngữ nghĩa - Một số khái niệm: tên, hằng, biến Dặn dò: Về nhà học trả lời câu hỏi SGK tiết sau giải tập VI RÚT KINH NGHIỆM Tiết CT: Tuần: Ngày soạn: 29.07.2013 Ngày dạy: 29.08.2013 BÀI TẬP CUỐI CHƯƠNG - I MỤC ĐÍCH - YÊU CẦU - Củng cố lại kiến thức chương - Giải số tập chương II PHƯƠNG PHÁP Phát vấn kết hợp làm việc theo nhóm diễn giảng III NỘI DUNG VÀ TIẾN TRÌNH LÊN LỚP Ổn định lớp: (Kiểm tra sĩ số) Kiểm tra cũ Câu 1: Hãy kể tên thành phần NNLT? Câu 2: Thế tên dành riêng? Tại ta phải nhớ tên dành riêng? Câu 3: Những tên sau qui tắc, sai qui tắc? _VIDU1; A#B; VI_DU1; VAR; VAR1 Nội dung: HOẠT ĐỘNG CỦA GV HOẠT ĐỘNG CỦA HS NỘI DỤNG Câu Tại người ta phải Câu xây dựng NNLT bậc cao? Trao đổi nhóm phút Người ta phải xây dựng NNLT bậc cao: - NNLT bậc cao gần với NN tự nhiên hơn, thuận tiện cho đông đảo người lập trình - Chương trình viết NNLT bậc cao phụ thuộc vào máy - Chương trình viết NNLT bậc cao dễ hiểu, dễ hiệu chỉnh dễ nâng cấp - Cho phép làm việc với nhiều kiểu liệu cách tổ chức liệu đa dạng Câu 2: Chương trình dịch Trao đổi nhóm phút? thuận tiện cho mô tả thuật toán gì? Tại phải có chương Câu 2: trình dịch? - SGK trang Nêu Input Output - Nhờ có chương trình dịch mà chương chương trình dịch trình dịch mà máy thực chương trình viết NNLT bậc cao Trả lời câu hỏi Câu 3: Biên dịch thông dịch khác chỗ nào? Câu 4: tên dành riêng không dùng Câu Cho biết điểm với ý nghĩa khác; tên chuẩn dùng khác tên riêng với ý nghĩa khác tên chuẩn? Trả lời câu hỏi Gọi em trả lời -3 tên đúng: VI_DU, _BAI6, HOẠT ĐỘNG CỦA GV HOẠT ĐỘNG CỦA HS Câu 5: Hãy viết tên BAITAP tên sai theo qui tắc - Tên sai: 2AB, I+J, Pascal BAI TAP Câu 6: Hãy cho biết biểu diễn biểu diễn Pascal lỗi trường hợp: Thảo luận phút a) 150.0 b) -22 c) 6,23 d) ‘43’ e) A20 f) ‘C g) 1.06E-15 h) 4+6 i) ‘TRUE” Nếu thời gian cho tập thêm: Câu 7: Hãy tên tên sai Pascal giải thích lí do: #TONG 1DIEM SO2 USES1 DT HV END EN5D BAI_1 BAI1 Câu 8: thích sau sai? Giải thích lí do? a (*giải phương trình* b.(*giải phương trình*) c.(*giải phương trình} d.{giải phương trình e.{giải {phương{ trình} f.{giải (*phương trình} Những tên sai: #TONG : Sai tên bắt kí tự đặc biệt # 1DIEM : Sai bắt kí tự số END : Sai trùng từ khoá DT HV : Sai có cách NỘI DỤNG Những biểu diễn không hằng: 6,23: dấu phẩy (nếu dấu chấm đúng) A20: tên không rõ giá trị ‘C: sai qui định xâu: thiếu dấu nháy đơn cuối đầu đầu với dấu Chú thích sai: a : sai thiếu dấu ) c : sai mở (* đóng } d : sai thiếu dấu } IV DẶN DÒ Về nhà học tiết sau kiểm tra 15 phút Soạn trước theo câu hỏi sau: Câu 1: Cấu trúc chương trình viết NNLT? Câu 2: Các cách khai báo Pascal: khai báo tên chương trình, khai báo thư viện, khai báo hằng, khai báo biến Câu 3: thân chương trình Pascal gồm từ khoá nào? Câu 4: để viết lệnh đưa thông báo hình ta dùng lệnh nào? V RÚT KINH NGHIỆM KIỂM TRA ĐÁNH GIÁ 15 PHÚT I MỤC ĐÍCH Kiểm tra lại khả tiếp thu trình học tập HS Từ điều chỉnh phương pháp giảng dạy II BẢNG RA ĐỀ KIỂM TRA Mức độ Biết Hiểu Vận dụng Bài 1, 2, 3, Bài 5, 6, 7, 8, 10, 13, 14, 15, 18, 19, 20 9, 11, 12 III NỘI DUNG IV KẾT QUẢ KIỂM TRA Trên trung bình: Dưới trung bính: Tiết CT: Tuần: Ngày soạn: 05.08.2013 Ngày dạy: 05.09.2013 CHƯƠNG II CHƯƠNG TRÌNH ĐƠN GIẢN - § CẤU TRÚC CHƯƠNG TRÌNH I MỤC ĐÍCH – YÊU CẦU Hiểu chương trình mô tả thuật toán NNLT Biết cấu trúc chương trình đơn giản: cấu trúc chung thành phần Nhận biết thành phần chương trình đơn giản II PHƯƠNG PHÁP Phát vấn kết hợp với diễn giảng III PHƯƠNG TIỆN DẠYHỌC SGK, SGV, giáo án, số bảng vẽ lớn IV NỘI DUNG VÀ DIỄN BIẾN TIẾT DẠY Ổn định lớp (kiểm tra sĩ số) Kiểm tra cũ Câu 1: NNLT có thành phần nào? Câu 2: Thế tên dành riêng? Viết số tên dành riêng mà em biết? Câu 3: Tên dành riêng khác với tên chuẩn điểm nào? Nội dung HOẠT ĐỘNG CỦA GV HOẠT ĐỘNG CỦA HS NỘI DUNG Hoạt động 1: ? Một làm văn em thường viết Lắng nghe, suy nghĩ trả lời: − Có phần có phần? phần có thứ − Có thứ tự: mở bài, thân tự không? phải chia vậy? bài, kết luận − Để dễ viết, dễ đọc, dễ Tư tự chương trình hiểu nội dung viết NNLT bậc cao có Cấu trúc chung thành phần thứ tự thành phần Đọc SGK Yêu cầu HS đọc SGK Trả lời câu hỏi [] ? Cấu trúc chung chương trình viết NNLT bậc cao có thành phần nào? Phần khai báo đặt dấu ngoặc vuông có nghĩa có không Phần thân thiết Thành phần chương trình phải có a Phần khai báo: ? Trong khai báo có loại a1) Khai báo tên chương trình nào? Cú pháp: Bắt đầu từ khoá Program ; ? Để khai báo tên chương trình ta Program Ví dụ: khoá nào? Program giai_phuong_trinh; Khai báo tên chương trình có ý Program VI_DU; nghĩa để ghi nhớ tên toán cần giải Một số NNLT không cần phải khai báo tên chương trình 10 VI RÚT KINH NGHIỆM 65 Tiết CT: 39,40 Tuần: 29 Ngày soạn: 13.02.2014 Ngày dạy: 13.03.2014 § 16 VÍ DỤ LÀM VIỆC VỚI TỆP I MỤC ĐÍCH – YÊU CẦU Hiểu thao tác làm việc với tệp II PHƯƠNG PHÁP Nêu vấn đề, diễn giảng., vấn đáp… III PHƯƠNG TIỆN DẠYHỌC Máy tính máy chiếu projector IV NỘI DUNG VÀ TIẾN TRÌNH LÊN LỚP Ổn định lớp (kiểm tra sĩ số) Kiểm tra cũ: Câu hỏi: Viết cú pháp mở, đọc/ghi, đóng tệp? Mỗi phần cho ví dụ minh hoạ? Nội dung HOẠT ĐỘNG CỦA GV HOẠT ĐỘNG CỦA HS NỘI DUNG Hoạt động 1: Ví dụ Hoạt động 1.1: Tìm hiểu đề Ví dụ 1: Chiếu toán lên Phân tích, xác định yêu cầu Hướng dẫn HS tìm hiều đề toán theo hướng dẫn Chương trình: bài: giáo viên Program Khoang_cach; Var d:real; ? Yêu cầu HS nhắc lại công Trả lời câu hỏi f:text; thức tính khoảng cách biết x, y: integer; toạ độ hai điểm? begin Hoạt động 1.2: tìm hiểu assign(f,’TRAI.TXT’); chương trình: Tìm hiểu nghiên cứu reset(f); Chiếu chương trình soạn chương trình while not eof(f) sẵn lên (có đánh vị trí begin dòng) read(f,x,y); ? Gọi HS nêu ý nghĩa câu d:= sqrt(x*x+y*y); lệnh dòng? write(‘khoang cach: ‘,d:10:2); Nhận xét, sau khái quát Quan sát kết chạy end; chương trình để HS nắm chương trình close(f) chạy chương trình end Hoạt động 1.3: Mở rộng toán Thảo luận phút đưa Yêu cầu in lên hình đáp án khoảng cách trại xa với trại hiệu trưởng nhất? Hoạt đông 2: ví dụ Hoạt động 2.1: Tìm hiểu toán Chiếu toán lên Yêu cầu HS chia nhóm để tính điện trở tương đương sơ đồ Vi dụ Quan sát tìm hiểu Chương trình: toán Program Chuong_trinh; Var a: array[1 5] of real; Chia nhóm nhóm xây R1, R2, R3: real; dựng công thức tính điện i: integer; 66 HOẠT ĐỘNG CỦA GV Chiếu sơ đồ điện trở Nhận xét yêu cầu nhóm chuyển biểu thức sang NNLT Pascal Hoạt động 2.2: Xây dựng chương trình: Gọi HS lên xây dựng chương trình theo bước Chiếu bước lên + Khai báo + Gán tên tệp cho biến tệp + Đọc liệu từ tệp + Tính điện trở tương đương + Ghi vào tệp + Đóng tệp Nhận xét tối ưu chương trình Chạy chương trình HOẠT ĐỘNG CỦA HS trở tương đương Mỗi HS lên trình bày theo bước Theo dõi rút kinh nghiệm chỗ sai sót V CỦNG CỐ - DẶN DÒ Củng cố: Nhắc lại thủ tục thao tác với tệp Dặn dò Về nhà học làm tập trang 89 VI RÚT KINH NGHIỆM 67 NỘI DUNG f1, f2: text; Begin Assign(f1, ‘RESIST.DAT’); Reset(f1); Assign(f2, ‘RESIST.EQU’); Rewrite(f2); While not eof(f1) begin readln(f1,R1,R2,R3); a[1]:= R1*R2*R3/(R1*R2+R1*R3+R2*R3); a[2]:= R1*R2/(R1+R2) + R3; a[3]:= R1*R3/(R1+R3) + R2; a[4]:= R2*R3/(R2+R3) + R1; a[5]:= R1+R2+ R3; for i:=1 to write(f2,a[i]:9:2,‘= ‘); writeln(f2); end; close(f1); close(f2); end Tiết CT: 41,42 Tuần: 30 Ngày soạn: 20.02.2014 Ngày dạy: 20.03.2014 BÀI TẬP CHƯƠNG V I MỤC ĐÍCH – YÊU CẦU Củng cố kiến thức học chương V II PHƯƠNG PHÁP Nêu vấn đề, vấn đáp… III PHƯƠNG TIỆN DẠYHỌC SGK, bảng phụ… IV NỘI DUNG VÀ TIẾN TRÌNH LÊN LỚP Ổn định lớp (kiểm tra sĩ số) Kiểm tra cũ: Không kiểm tra cũ kiểm tra 15 phút Nội dung HOẠT ĐỘNG CỦA GV Hoạt động 1: câu 1/89 Nêu câu hỏi sau yêu cầu HS suy nghĩ trả lời HOẠT ĐỘNG CỦA HS Trả lời câu hỏi: Lưu lượng lớn thông tin, lưu thông tin lâu dài Hoạt động 2: câu 2/89 Trong sơ đồ thao tác với tệp, cần nhập Trong sơ đồ thao tác với tệp, cần nhập liệu từ liệu từ tệp phải dùng thao tác nào? tệp phải dùng thao tác như: gắn tên tệp, mở tệp để ghi, ghi liệu vào tệp, đóng tệp để hoàn tất việc ghi liệu assign(f, fi); rewrite(f); write(f, x, ‘ ‘,y, ‘ ‘,z, ‘ ‘); close(f); Hoạt động 3: câu 3/89 Tại cần phải có câu lệnh mở tệp trước Trước sử dụng tệp phải có câu lệnh để trình đọc /ghi tệp? dịch biết mục đích mở tệp để đọc hay ghi, đồng thời đặt trỏ tệp vào vị trí thích hợp Hoạt động 4: câu 4/89 Phải dùng câu lệnh đóng tệp sau kết thúc ghi Tại sau phải dùng câu lệnh đóng tệp sau liệu vào tệp để hệ thống hoàn tất việc ghi liệu kết thúc ghi liệu vào tệp? tệp Có thể trình bày thêm ý: trước liệu thực ghi vào tệp, lưu trữ nhớ đệm Mỗi nhớ đệm đầy có yêu cầu đóng tệp liệu nhớ đệm (có thể chưa đầy) chuyển ghi vào tệp V CỦNG CỐ - DẶN DÒ Củng cố: Nhăc lại cần thiết phải sử dụng trệp 68 Dặn dò Chuẩn bị chương VI VI RÚT KINH NGHIỆM 69 Tiết CT: 43,44 Tuần: 31 Ngày soạn: 27.02.2014 Ngày dạy: 27.03.2014 CHƯƠNG VI CHƯƠNG TRÌNH CON VÀ LẬP TRÌNH CÓ CẤU TRÚC § 17 CHƯƠNG TRÌNH CON VÀ PHÂN LOẠI I MỤC ĐÍCH – YÊU CẦU Kiến thức − Biết khái niệm chương trình − Sự khác biệt hàm thủ tục − Biết ý nghĩa chương trình con, cần thiết phải viết chương trình thành chương trình − Biết cấu trúc chương trình Kĩ − Nhận biết thành phần đầu thủ tục − Nhận biết hai loại tham số hình thức đầu thủ tục − Biết cách khai thác hai loại chương trình với tham số hình thiức chúng − Biết cách viết lời gọi chương trình thân chương trình Thái độ Rèn luyện phẩm chất người lập trình tinh thần hợp tác, làm việc theo nhóm,tuân thủ yêu cầu công việc chung II PHƯƠNG PHÁP Nêu vấn đề, diễn giảng, thảo luận nhóm III PHƯƠNG TIỆN DẠYHỌC Máy chiếu, máy tính… IV NỘI DUNG VÀ TIẾN TRÌNH LÊN LỚP Ổn định lớp (kiểm tra sĩ số) Kiểm tra cũ: không kiểm tra cũ Nội dung HOẠT ĐỘNG CỦA GV Hoạt động 1: khái niệm chương trình phân loại: Hoạt động 1.1: Khái niệm chương trình Đặt vấn đề: chiếu toán SGK ? Nếu em nhóm trưởng nhóm em giải toán nào? Dẫn dắt để đưa khái niệm chương trình HOẠT ĐỘNG CỦA HS NỘI DUNG Khái niệm chương trình a Khái niệm: Quan sát toán Chia nhóm thảo luận (2’) Em chia bạn thực Chương trình dãy lệnh mô tả số thao tác định thực (được gọi) từ nhiều ví trí chương trình b Lợi ích việc sử dụng chương trình Hoạt động 1.2: Lợi ích − Tránh việc phải viết viết lại việc sử dụng chương trình dãy lệnh Chiếu chương trình giải − Chương trình dễ đọc, dễ hiểu, dễ kiểm toán Đọc chương trình 3’ tra phát lỗi chỉnh sửa 70 HOẠT ĐỘNG CỦA GV HOẠT ĐỘNG CỦA HS NỘI DUNG ? Em có nhận xét chương nhận xét:: Chương trình − Hỗ trợ việc thực chương trình trình (Đặc biệt phần bôi có đoạn lệnh tương tự lớn đen)? Làm cho chương − Phục vụ cho trình trừu tượng hóa trình trở nên dài − Mở rộng khã NN Nhóm HS khác nhận xét − Thuận tiện cho việc phát triển nâng cấp chương trình Để xử lí vấn đề NNLT bậc cao cung cấp khã Đọc SGK cho biết lợi xây dựng chương trình ích dạng tổng quát “đại diện” cho nhiều đoạn lệnh tương tự Cho HS nghiên cứu lợi ích việc sử dụng chương trình Giải thích lợi ích Chương trình Modul1(CTC) Modul1(CTC) Modul1(CTC) Modul1(CTC) Modul1(CTC) Hoạt động 2: Hoạt động 2.1: Phân loại chương trình ? Thế hàm, thủ tục? HS phát biếu chỗ khác hàm thủ tục? ? Em làm quen với hàm thủ tục Hàm: Sin(x), SQR(x), length(s) Hoạt động 2.2: cấu trúc Thủ tục: write( ), readln, chương trình con: delete(st,p,n) Đọc SGK yêu cầu HS lên bảng viết Yêu cầu HS so sánh với cấu Lên bảng viết cấu trúc CTC trúc chương trình Giống cấu trúc chương trình khác chỗ phần đầu chương trình bắt buộc phải 71 Phân loại cấu trúc chương trình a Phân loại: − Hàm (Function): chương trình thực số thao tác trả giá trị qua tên VD: sin(x), sqrt(s), length(s) − Thủ tục (procedure): chương trình thực số thao tác định không trả giá trị qua tên VD: write( ), readln, delete(st,p,n) b cấu trúc chương trình [ HOẠT ĐỘNG CỦA GV HOẠT ĐỘNG CỦA HS Yêu cầu HS giải thích phần có khai báo phần thân chương trình HS đứng chỗ phát biểu Hoạt động 3: Một số khái niệm: Diễn giải để đưa khái niệm biến cục bộ, tham số hình thức VD: chương trình Luythua(x,k) x, k tham số hình thức j biến cục Hoạt động 4: Thực CTC ? Để sử dụng thủ tục hàm chuẩn em thường viết đâu viết nào? Để gọi chương trình con, ta cần có lệnh gọi tương tư tự hàm thủ tục chuẩn theo cú pháp Yêu cầu HS cho ví dụ NỘI DUNG − Phần khai báo khai báo biến, − Phần thân dãy lệnh với nhiệm vụ * Tham số hình thức Các biến khai báo cho liệu vào/ra gọi tham số hình thức CTC * Biến cục bộ: Các biến khai báo dùng riêng cho chương trình gọi biến cục * Biến toàn cục: Biến sử dụng cho chương trình, kể CTC * Tham số thực sự: Là biến chứa liệu vào tương ứng với tham số hình thức VD: Luythua(a,m) a, m tham số thực Viết chương trình c Thực chương trình con: Viết tên thủ thục tham số kết thúc dấu “;” Viết hàm lệnh thủ tục Hàm không viết lệnh Tên chương trình con(tham số thực sự) Chiếu chương trình yêu cầu Cho ví dụ HS xác định tham số hình thức, VD: Luythua(b,n); tham số thực sự, biến cục bộ, Chia nhóm để trả lời câu biến toàn cục hỏi V CỦNG CỐ - DẶN DÒ Củng cố: - Khái niệm chương trình - Lợi ích việc sd CTC - Phân biệt hàm thủ tục - Tham số hình thức, tham số thực sự, biến cục biến toàn cục - Thực chương trình Dặn dò Về nhà xem VI RÚT KINH NGHIỆM 72 Tiết CT: 45,46 Tuần: 32 Ngày soạn: 06.03.2014 Ngày dạy: 06.04.2014 § 18 VÍ DỤ VỀ CÁCH VIẾT VÀ SỬ DỤNG I MỤC ĐÍCH – YÊU CẦU Kiến thức − HS thấy thủ tục có cấu trúc tương tự chương trình − Hiểu mối liên quan chương trình thủ tục − Phân biệt tham trị tham số biến khai báo tham số hình thức thủ tục Kĩ − Nhận biết thành phần đầu thủ tục − Nhận biết hai loại tham số hình thức phần đầu thủ tục − Nhận biết lời gọi thủ tục chương trình tham số thực II PHƯƠNG PHÁP Nêu vấn đề, diễn giảng, thảo luận nhóm III PHƯƠNG TIỆN DẠYHỌC Máy chiếu, máy tính… IV NỘI DUNG VÀ TIẾN TRÌNH LÊN LỚP Ổn định lớp (kiểm tra sĩ số) Kiểm tra cũ: Câu 1: lợi ích việc sd CTC? Câu 2: hàm khác thủ tục điểm nào? Câu 3: biến cục bộ, biến toàn cục, tham số hình thức, tham số thật sự, cho ví dụ? Nội dung HOẠT ĐỘNG CỦA GV HOẠT ĐỘNG CỦA HS Hoạt động 1: Đặc vấn đề: Chiếu vd lên bảng (ví dụ VD_thutuc1 trang 96) Theo dõi Giới thiệu cho HS cấu trúc thủ tục vị trí khai báo thủ tục, lời gọi thủ tục Hoạt động 2: Tìm hiểu chương trình Chiếu chương trình VD_thutuc1 Giải thích để HS thấy được: + Tên thủ tục + Thân thủ tục + Lời gọi thủ tục + Hoạt động ch.trình ? Nếu ta muốn vẽ hình chủ nhật ta phải sửa chương trình nào? Trả lời câu hỏi Hoạt động 3: cấu trúc thủ tục 73 NỘI DUNG HOẠT ĐỘNG CỦA GV HOẠT ĐỘNG CỦA HS NỘI DUNG ? Vị trí thủ tục nằm phần chương trình chính? ? Cấu trúc thủ tục gồm Nằm phần khai báo, a Cấu trúc thủ tục phần? sau phần khai báo biến procedure [(ds tham số)] [] Phần đầu thủ tục gồm từ Ba phần: tên thủ tục, khai begin khoá procedure tên báo thủ tục phần [] thủ tục, DS tham số có thân end; không Phần khai báo dùng để xác định kiểu biến xác định chương trình khác sd thủ tục Dãy câu lệnh viết cặp từ khoá begin end ? Chương trình Ve_hcn khuyết phần so với cấu trúc thủ tục? Tổng quát chiếu cấu trúc thủ tục Khuyết phần khai báo Nhấn mạnh số đặc điểm để HS nắm Theo dõi ghi vào tập * Chú ý: - Sau từ khoá end “;” - Các thủ tục có phải khai báo mô tả phần khai báo chương trình sau phần khai báo biến - Khi muốn thực thủ tục ta viết lệnh gọi thủ tục thủ tục chuẩn Hoạt động 4: Ví dụ thủ tục có sử dụng tham số Hoạt động 4.1 VD_thutuc2 Xây dựng chương trình Hướng dẫn HS chia nhỏ yêu cầu để HS viết câu Chương trình: VD_thutuc2: SGK lệnh tương ứng + Vẽ cạnh + Vẽ hai cạnh bên + Vẽ cạnh Chính xác hoá thủ tục Viết câu lệnh theo đưa toàn chương trình hướng dẫn GV hoànchỉnh Phân tích lời gọi thủ tục đưa khái niệm tham trị tham biến Nghe giảng ghi khái * Một số khái niệm: 74 HOẠT ĐỘNG CỦA GV HOẠT ĐỘNG CỦA HS Hoạt động 4.2: niệm tham trị tham biến VD_thambien1 Chiếu yêu cầu đầu yêu cầu HS đưa thuật toán hoán đổi Dùng biến trung gian TG Chiếu chương trình lên TG ←x; hình chạy chương trình cho x ← y; HS thấy hoạt động y ← TG; tham biến Thay đổi thủ tục cách đưa Quan sát kết chạy x var chương trình Hoạt động 5: Cách viết sử dụng hàm ? Thủ tục khác với hàm điểm nào? Hàm có cấu trúc tương tự thủ tục khác với Trả lời câu hỏi thủ tục phần đầu Giải thích cụ thể tên hàm, DS tham số, kiểu liệu Hoạt động 5.1: Ví dụ Chiếu chương trình ví dụ ? Trong chương trình có hàm? Quan sát ví dụ ? Hàm UCLN(x,y) dùng để Một hàm UCLN làm gí? ? Lời gọi hàm đâu? Tìm UCLN lớn hai ? Có khác với thủ tục số x, y lời gọi hàm? A:= UCLN(tuso,mauso) Lời gọi hàm phải Hoạt động 5.2: Ví dụ đặt lệnh Yêu cầu HS tham khảo SGK lời gọi chương trình khác V CỦNG CỐ - DẶN DÒ Củng cố: - Cấu trúc thủ tục hàm - Cách viết sd thủ tục hàm - Phân biệt tham trị tham biến Dặn dò Về nhà xem trước thực hành VI RÚT KINH NGHIỆM 75 NỘI DUNG - Tham số giá trị (tham trị): tham số hình thức thay tham số thực tương ứng giá trị cụ thể không khai báo sau từ khoá var - Tham số biến (tham biến): tham số hình thức thay tham số thực tương ứng tên biến khai báo sau từ khoá var Chương trình VD_tham bien1: SGK Cách viết sử dụng hàm: - Hàm có cấu trúc tương tự thủ tục, khác phần đầu function [(DS tham số)]: ; Vi dụ 1: SGK * Cách sử dụng hàm - Việc sử dụng hàm tương tự việc sử dụng hàm chuẩn - Lệnh gọi hàm tham gia vào biểu thức tham số lời gọi hàm, thủ tục khác Tiết CT: 47,48 Tuần: 33 Ngày soạn: 13.03.2014 Ngày dạy: 13.04.2014 BÀI THỰC HÀNH I MỤC ĐÍCH – YÊU CẦU Kiến thức Củng cố lại kiến thức xâu chương trình Kĩ Rèn luyện kĩ xử lí xâu việc tạo hiệu ứng chữ chạy hình Sử dụng chương trình lập trình Thái độ Rèn luyện HS ý thức cần có người lập trình Góp phần rèn luyện tác phong, tư lập trình: Tự giác, tích cực, chủ động thực hành II PHƯƠNG PHÁP Nêu vấn đề giải vấn đề III PHƯƠNG TIỆN DẠYHỌC Phòng máy thực hành vi tính, máy chiếu IV NỘI DUNG VÀ TIẾN TRÌNH LÊN LỚP Ổn định lớp (kiểm tra sĩ số) Kiểm tra cũ Nội dung HOẠT ĐỘNG CỦA GV HOẠT ĐỘNG CỦA HS Yêu cầu HS khởi động chương trình Pascal Khởi động chương trình Hoạt động 1: Tìm hiểu xây dựng hai thủ tục catdan(s1,s2) cangiua(s) chiếu thủ tục catdan(s1,s2) lên hình Quan sát trả lời câu hỏi GV ? Đầu vào thủ tục này? Vào: Xâu kí tự s1 Ra: biến xâu kí tự s2 Chức thủ tục gì? Thực việc tạo sâu s2 từ xâu s1 việc chuyển kí tự thứ đến vị trí cuối xâu Lấy ví dụ SGK Chiếu nội dung thủ tục ? Đầu vào thủ tục? Đầu vào xâu kí tự s không 79 kí tự ? Thủ tục thực công việc gì? Bổ sung vào s dấu cách để s đưa hình kí tự ban đầu dòng gồm 80 kí tự Cần lưu ý không khai báo s tham biến thủ tục hiệu lực lệnh đưa s hình không nằm thủ tục Hoạt động 2: Tìm hiểu chương trình câu b Chiếu nội dung chương trình lên hình ? Chức chương trình? Yêu cầu người sử dụng nhập xâu kí tự Đưa xâu hình có dạng dòng chữ chạy hình văn 25*80 Giới thiệu cho học sinh thủ tục hàm chuẩn Gotoxy(x,y): 76 HOẠT ĐỘNG CỦA GV HOẠT ĐỘNG CỦA HS Delay(n): thường dùng để làm chậm chương trình lại cho ta quan sát, n số nguyên tính ms Keypressed: cho giá trị True ta nhấn phím vào bàn phím Thực chương trình để giúp HS thấy kết Quan sát kết hình chương trình Hoạt động 3: Rèn luyện kĩ lập trình Yêu cầu HS tìm hiểu vấn đề Quan sát đưa kết luận - Giống nhiệm vụ câu b, khác chương trình câu b cho xâu kí tự chạy dòng 12còn xâu kí tự phải chạy xâu bất kì.Vì truyền tham số cho dòng chạy cho thủ tục Yêu cầu HS lập trình máy Viết chương trình máy báo cáo kết Yêu cầu HS chạy chương trình nhập test Nhập test theo hướng dẫn giáo viên Đánh giá kết lập trình HS V CỦNG CỐ - DẶN DÒ Củng cố: Nhắc lại số lỗi thực hành Dặn dò Câu hỏi tập nhà Viết thủ tục chaychu(s, dong) nhận tham số xâu s không 79 kí tự biến nguyên dòng In hình dòng chữ xác định S chạy dòng Don Viết chương trình thực có sử dụng thủ tục Xem trước thực hành VI RÚT KINH NGHIỆM 77 Tiết CT: 49 Tuần: 34 Ngày soạn: 20.03.2014 Ngày dạy: 20.04.2014 BÀI TẬP CHƯƠNG VI I MỤC ĐÍCH – YÊU CẦU Kiến thức Củng cố lại kiến thức chương trình Kĩ Rèn luyện kĩ lập trình giải số toán đơn giản Thái độ Rèn luyện HS ý thức cần có người lập trình Góp phần rèn luyện tác phong, tư lập trình: Tự giác, tích cực, chủ động thực hành II PHƯƠNG PHÁP Nêu vấn đề giải vấn đề III PHƯƠNG TIỆN DẠYHỌC Phòng máy thực hành vi tính, máy chiếu IV NỘI DUNG VÀ TIẾN TRÌNH LÊN LỚP Ổn định lớp (kiểm tra sĩ số) Kiểm tra cũ Nội dung HOẠT ĐỘNG CỦA GV HOẠT ĐỘNG CỦA HS Họat động 1: Tìm hiểu việc xây dựng hàm thủ tục Chiếu khai báo kiểu liệu Diem tam giác Chiếu Chức CTC: thủ tục lên bảng Daicanh( ) tính độ dài ba cạnh a, b, c tam ? Chức CTC? giác r Chuvi( ): real; cho giá trị chu vi tam giác Tinhchat( ) khẳng định tính chất tam giác: đều, cân, vuông Hienthi( ); hiển thị toạ độ ba đỉnh tam giác Kh_cach( ); cho giá trị khoảng cách hai điểm Có tham số nào? Tham số tham số biến, - Tham số biến r, a, b, c tham số tham trị? - Tham số giá trị p, q Hoạt động 2: tìm hiểu chương trình câu b SGK Chiếu chương trình câu b ? Chương trình thực công việc gì? Nhập toạ độ ba đỉnh tam giác khảo sát tính chất tam giác cân, đều, vuông In chu vi Thực chương trình để giúp HS thấy kết diện tích tam giác Thay biến thành tham trị để HS thấy sai khác V CỦNG CỐ - DẶN DÒ Củng cố: Nhắc lại số lỗi thực hành Dặn dò Câu hỏi tập nhà 78 Viết thủ tục chaychu(s, dong) nhận tham số xâu s không 79 kí tự biến nguyên dòng In hình dòng chữ xác định S chạy dòng Don Viết chương trình thực có sử dụng thủ tục Xem trước thực hành VI RÚT KINH NGHIỆM 79 ... trình dịch cụ thể * Trong Turbo Pascal tên: - Không chứa dấu cách, không 127 kí tự, không chứa kí hiệu đặc biệt - Bắt đầu chữ dấu gạch VD: - Tên LOP11C2, LOP_11C2 - Tên sai: LOP 11C2, 3D, AB * Tên... biểu diễn điểm toán, N byte điểm tin mà không nên Tổng cộng: 23 byte ngắn gọn mà đặt d1, d2 mà nên đặt dtoan, dtin - Ví dụ không nên dùng d1, d2 diemmontoan, diemmontin Ví dụ khai báo biến số học... thức quan hệ có dạng nào? Trình tự thực biểu thức quan hệ? Kết biểu thức quan hệ? Câu 2: Biểu thức lôgic gồm biểu thức nào? Các biểu thức quan hệ đặt đâu? Giá trị thực biểu thức logic? Câu 3: Trong