A) Mục tiêu bài học
1) Kiến thức
+) Hiểu khả năng của ngôn ngữ lập trình bậc cao,phân biệt với ngôn ngữ máy và hợp ngữ
+) Hiểu ý nghĩa và nhiệm vụ của chương trình dịch. Phân biệt được biên dịch và thông dịch
2) Kỹ năng
+) Học sinh biết liên hệ giữa một số kiến thức về ngôn ngữ lập trình đã học ở lớp 10 với kiến thức của bài
B) Chuẩn bị
1) Giáo viên: SGK+SGV+SBT+Xem lại sách lớp 10 về ngôn ngữ lập trình
2) Học sinh: Xem lại SGK 10
C) Tổ chức các hoạt động dạy học
Hoạt động 1: Tìm hiểu về ngôn ngữ lập trình
Chương I Một số khái niệm về lập trình và ngôn ngữ lập trình Tiết 1 Khái niệm về lập trình và ngôn ngữ lập trình A) Mục tiêu bài học 1) Kiến thức +) Hiểu khả năng của ngôn ngữ lập trình bậc cao,phân biệt với ngôn ngữ máy và hợp ngữ +) Hiểu ý nghĩa và nhiệm vụ của chương trình dịch. Phân biệt được biên dịch và thông dịch 2) Kỹ năng +) Học sinh biết liên hệ giữa một số kiến thức về ngôn ngữ lập trình đã học ở lớp 10 với kiến thức của bài B) Chuẩn bị 1) Giáo viên: SGK+SGV+SBT+Xem lại sách lớp 10 về ngôn ngữ lập trình 2) Học sinh: Xem lại SGK 10 C) Tổ chức các hoạt động dạy học Hoạt động 1: Tìm hiểu về ngôn ngữ lập trình Hoạt động của học sinh Sự trợ giúp của giáo viên TL:1) Để máy tính hiểu được ta cần diễn tả thuật toán bằng một ngôn ngữ sao cho máy tính có thể thực hiện được. Kết quả diễn tả thuật toán cho ta 1 chương trình,ngôn ngữ để viết chương trình gọi là NNLT 2) Ngôn ngữ máy, hợp ngữ, ngôn ngữ bậc cao Học sinh nêu ưu điểm của ngôn ngữ bậc cao so với 2 ngôn ngữ kia Nghe giảng TL:3) FORTAN,COBOL,ALGOL,BASIC, PASCAL,C,C++,JAVA, JAVASCRIPT.VISUAL FOXPRO. Liên hệ với kiến thức đã học ở lớp 10 Hỏi:1) Thế nào là ngôn ngữ lập trình? 2) Có những loại ngôn ngữ lập trình nào? Tại sao người ta phải xây dựng ngôn ngữ bậc cao? Nhấn mạnh:+) Các lệnh viết bằng ngôn ngữ máy không thuận lợi cho ta viết và hiểu chương trình vì nó viết ở dạng mã nhị phân hay hecxa,nó có thể nạp trực tiếp vào bộ nhớ và thực hiện ngay +) Hợp ngữ cho phép người lập trình sử dụng 1 số từ tiếng Anh để viết các lệnh cần thực hiện. CT viết bởi hợp ngữ vẫn phải được dịch ra ngôn ngữ máy(bằng CT hợp dịch) trước khi có thể thực hiện trên máy tính +)NN bậc cao:Các câu lệnh được viết gần với ngôn ngữ tự nhiên,có tính độc lập,ít phụ thuộc vào loại máy. NN bậc cao cần có 1 CT dịch để dịch sang ngôn ngữ máy thì mới thực hiện đc 3) Kể tên 1 số ngôn ngữ lập trình bậc cao? Hoạt động 2: Tìm hiểu khái niệm lập trình Hoạt động của học sinh Trợ giúp của giáo viên Nghe giảng Học sinh nhớ lại định nghĩa thuật toán(đã học ở lớp 10) Nêu: Khi giải bài toán trên máy tính điện tử thì đầu tiên là bước xác định bài toán,xây dựng ,lựa chọn thuật toán khả thi sau đó là bước lập trình Hoạt động của học sinh Trợ giúp của giáo viên Đọc SGK và TL: Lập trình là sử dụng cấu trúc dữ liệu và các câu lệnh của ngôn ngữ lập trình cụ thể để mô tả dữ liệu và diễn đạt các thao tác của thuật toán Hỏi: Cho biết thế nào là lập trình? Nhấn mạnh: Trong lập trình việc tổ chức dữ liệu hợp lí là một vấn đề hết sức quan trọng,trong từng trường hợp người lập trình cần cân nhắc chọn cấu trúc dữ liệu cho thích hợp Nêu về khái niệm câu lệnh: +) Câu lệnh diễn tả các thao tác trong các bước của thuật toán +) Câu lệnh đơn thực hiện bước có 1 thao tác +) Câu lệnh cấu trúc thực hiện bước gồm dãy các thao tác Hoạt động 3: Tìm hiểu về chương trình dịch Hoạt động của học sinh Trợ giúp của giáo viên Đọc SGK và TL Là chương trình đặc biệt có chức năng chuyển đổi chương trình được viết bằng ngôn ngữ lập trình bậc cao thành chương trình thực hiện được trên máy tính Đọc SGK và TL: Gồm thông dịch và biên dịch Thông dịch:Lần lượt dịch và thực hiện từng câu lệnh trong ctrình nguồn (luân phiên) Biên dịch:Dịch toàn bộ chương trình nguồn thành 1 ctrình đích có thể thực hiện ở máy Hỏi: Đọc SGK cho biết thế nào là chương trình dịch? Chương trình nguồn(input):Viết bởi ngôn ngữ bậc cao Chương trình dịch Chương trình đích(output):Chương trình trên ngôn ngữ máy Hỏi: Phân loại chương trình dịch? Sự khác nhau của 2 loại chương trình dịch này? (GV lấy thí dụ như SGK) GV cần nhấn mạnh cả điểm khác nhau nữa là: Biên dịch thì ctrình nguồn và ctrình đích đều có thể được lưu lại để sử dụng về sau còn thông dịch thì không lưu lại được ctrình đích Hoạt động 4: Vận dụng,củng cố: Thế nào là ngôn ngữ lập trình,lập trình,chương trình dịch. Hoạt động 5: Hướng dẫn về nhà: Học bài cũ, đọc trước tiết 2 Tiết 2: Các thành phần của ngôn ngữ lập trình A) Mục tiêu cần đạt 1) Kiến thức: +) Biết được ngôn ngữ lập trình gồm 3 thành phần cơ bản là: Bảng chữ cái,cú pháp,ngữ nghĩa.Hiểu và phân biệt được 3 thành phần này +) Biết một số khái niệm: Tên,tên chuẩn,tên dành riêng(từ khoá),hằng và biến 2) Kỹ năng Học sinh ghi nhớ được các qui định về tên,hằng và biến trong 1 ngôn ngữ lập trình. Biết cách đặt tên đúng và nhận biết được tên sai quy định B) Chuẩn bị 1) Giáo viên: Hình minh hoạ trên giấy khổ lớn để giới thiệu bảng chữ cái trong Pascal 2) Học sinh Học bài cũ để nắm được thế nào là ngôn ngữ lập trình,các loại ngôn ngữ lập trình C) Tổ chức các hoạt động dạy học Hoạt động 1: ổn định tổ chức,kiểm tra bài cũ: Hoạt động của học sinh Trợ giúp của giáo viên Báo cáo sỹ số Lên bảng trả lời +)Kiểm tra sỹ số: +) H: Tại sao người ta lại sử dụng ngôn ngữ lập trình bậc cao? Kể tên các loại ngôn ngữ lập trình bậc cao? Hoạt động 2: Tìm hiểu về các thành phần cơ bản của ngôn ngữ lập trình Hoạt động của học sinh Trợ giúp của giáo viên TL: Có 3 thành phần cơ bản là: Bảng chữ cái,cú pháp và ngữ nghĩa TL: Gồm các chữ cái (in hoa,in thường) từ a-z; các chữ số thập phân ảrập (0-9); các kí tự đặc biệt Nghe giảng Nghe giảng +) Yêu cầu học sinh đọc SGK phần 1 +) H: Các thành phần cơ bản của ngôn ngữ lập trình là gì ? +) Thông báo: Bảng chữ cái là tập các kí tự để viết chương trình(chỉ được dùng các kí tự trong bảng chữ cái) +) H: Trong Pascal bảng chũ cái gồm các kí tự nào? +) Thông báo: Cú pháp là bộ qui tắc để viết chương trình,dựa vào đó người lập trình và chương trình dịch có thể biết được tổ hợp nào của các kí tự trong bảng chữ cái là hợp lệ nhờ đó có thể mô tả chính xác thuật toán để máy thực hiện +) Thông báo: Ngữ nghĩa xác định ý nghĩa của các tổ hợp kí tự trong chương trình.( Lấy thí dụ ở SGK) +) Nhấn mạnh: Các lỗi cú pháp được chương trình dịch phát hiện và thông báo còn lỗi ngữ nghĩa thì chỉ có lúc chạy chương trình trên dữ liệu cụ thể mới phát hiện được Hoạt động 3 Tìm hiểu các khái niệm: Tên, hằng và biến Hoạt động của học sinh Trợ giúp của giáo viên Nghe giảng Đọc SGK TL: Trong Pascal phân biệt 3 loại tên: Tên dành riêng(từ khoá); Tên chuẩn; Tên do người lập trình đặt ra Nghe giảng Đọc SGK TL: Hằng là đại lượng có giá trị không thay đổi trong quá trình thực hiện chương trình Có: Hằng số học,hằng lôgic,hằng xâu TL: Biến là đại lượng được đặt tên ,dùng để lưu trữ giá trị và giá trị có thể được thay đổi trong quá trình thực hiện chương trình +) Thông báo: Mọi đối tượng trong chương trình đều phải được đặt tên theo qui tắc của ngôn ngữ lập trình và từng chương trình dịch cụ thể. Trong Pascal tên là 1 dãy liên tiếp không quá 127 kí tự gồm chữ số,chữ cái hoặc dấu gạch dưới (không có dấu cách),bắt đầu bằng chữ cái hay dấu gạch dưới(không phân biệt chữ hoa,chữ thường) +) Yêu cầu HS đọc SGK +) H: Các loại tên trong ngôn ngữ Pascal? +) Thông báo: Tên dành riêng là tên được ngôn ngữ lập trình qui định với ý nghĩa riêng xác đinh, người lập trình không được sử dụng với ý nghĩa khác. Ví dụ: ( program,uses,const,type,var,begin,end) +) Thông báo: Tên chuẩn được ngôn ngữ lập trình dùng với ý nghĩa nhất định nào đó. Ta có thể khai báo và dùng chúng với ý nghĩa và mục đích khác. Ví dụ: (Abs; sqrt; integer; real; longint; byte) +) Thông báo: Tên do người lập trình tạo ra được xác định bằng cách khai báo trước khi sử dụng(tên này không được trùng với tên dành riêng) +) Yêu cầu học sinh đọc phần 2b +) H: Thế nào là hằng? Các loại hằng hay dùng? +) Giáo viên lấy một số thí dụ (2 -5 -2.35 1.0E-6 TRUE ‘lop 11’ ) +) H: Thế nào là biến? +) Nhấn mạnh: Trước khi dùng biến cần phải khai báo (sau từ khoá var) Hoạt động 4: Vận dụng, củng cố +)Tóm lược các nội dung trọng tâm của bài +) Cho vài thí dụ về cách viết đúng tên trong Pascal Hoạt động 5: Hướng dẫn về nhà +) Trả lời các câu 1-5 SGK; 1.9 à1.11 SBT Ngày soạn: Tiết 3 : Chữa bài tập A) Mục tiêu cần đạt 1) Kiến thức: Học sinh cần nhớ được lí thuyết liên quan đến 2 bài vừa học,áp dụng trong việc giải bài tập 2) Kỹ năng: Học sinh cần có kỹ năng vận dụng B) Chuẩn bị 1) Giáo viên Một số bài tập ngoài SGK 2) Học sinh Học kỹ lí thuyết các bài trước,làm bài tập ở SGK ở nhà C) Tổ chức các hoạt động dạy học Hoạt động 1: ổn định tổ chức,kiểm tra bài cũ Hoạt động của học sinh Trợ giúp của giáo viên Báo cáo sỹ số Một học sinh lên bảng Kiểm tra sỹ số: Kiểm tra bài cũ: Vai trò của chương trình dịch,các loại CT dịch Nêu các thành phần của ngôn ngữ lập trình Nêu các loại tên,nguyên tắc viết tên trong ngôn ngữ lập trình Pascal Nêu khái niệm tên, hằng và biến Hoạt động 2: Chữa các bài tập ở SGK Hoạt động của học sinh Trợ giúp của giáo viên TL: -) NNLT BC gần với ngôn ngữ tự nhiên, thuận tiện cho đông đảo người lập trình -) CT viết bởi NNBC không phụ thuộc vào phần cứng máy tính và 1 CT có thể chạy trên nhiều loại máy tính khác nhau -) CT viết bằng NNBC thì dễ hiệu chỉnh,dễ hiểu,dễ nâng cấp. NNBC cho phép làm việc với nhiều kiểu dữ liệu,cách tổ chức dữ liệu đa dạng thuận tiện cho mô tả thuật toán -) CT biên dịch duyệt kiểm tra phát hiện lỗi, xác định CT nguồn có dịch được không,dịch toàn bộ CT nguồn thành 1 CT đích có thể thực hiện trên máy và có thể lưu trữ về sau -) CT thông dịch lần lượt dịch từng câu lệnh ra ngôn ngữ máy rồi thực hiện ngay câu lệnh vừa dịch được hoặc báo lỗi nếu không dịch được Trả lời bài 1(13): Tại sao phải xây dựng ngôn ngữ lập trình bậc cao ? Trả lời bài 3(13): Biên dịch và thông dịch khác nhau chỗ nào? Câu 6(13) Lưu ý: 6,23: Viết sai qui cách vì phải thay dấu phảy bằng dấu chấm A20 là tên chưa rõ giá trị 4+6 là hằng trong Pascal ‘ TRUE’ là hằng xâu ‘C Thiếu dấu nháy đơn ở cuối Hoạt động 3: Chữa các bài tập ở ngoài SGK Hoạt động của học sinh Trợ giúp của giáo viên TL: B,C,D,F TL: C,E TL: A,F,G,H TL: A,B,C,E USES là từ khoá; Byte mới là tên chuẩn TL: Câu B,C là đúng TL: A,D Bài 1 Hãy chọn các biểu diễn hằng trong những biểu diễn dưới đây: A) Begin B) ‘65c’ C) 1024 D) -46 E) 5.A8 F) 12.4E-5 Bài 2 Hãy chọn những biểu diễn tên trong các biểu diễn dưới đây: A) ‘*******’ B) -5+9-0 C) PpPpPp D) +256.512 E) FA33C9 F) (2) Bài 3 Trong những biểu diễn dưới đây,biểu diễn nào là từ khoá trong Pascal ? A) End B) Integer C) Real D) Sqrt E) ‘end’ F) Var G) Program H) const I) Byte Bài 4 Trong các tên sau đây đâu là tên chuẩn: A) ABS B) Longint C) Byta D) Real E) Sqrt F) Uses Bài 5 Hãy chọn câu phát biểu đúng: A) Khi cần thay đổi ý nghĩa của một từ khoá nào đó người lập trình cần khai báo với ý nghĩa mới B) Tên do người lập trình tự đặt không được trùng với từ khoá nhưng có thể trùng với tên chuẩn C) Mọi đối tượng có giá trị thay đổi trong CT đều gọi là biến D) Trong CT tên gọi cũng là một đối tượng không thay đổi nên cũng có thể được xem là hằng Bài 6 Chương trình dịch không có khả năng nào trong các khả năng sau: A) Phát hiện được lỗi ngữ nghĩa B) Phát hiện được lỗi cú pháp C) Thông báo lỗi cú pháp D) Tạo được CT đích Hoạt động 4: Vận dụng ,củng cố: Cho HS trả lời các câu hỏi còn lại ở SGK Hoạt động 5: Hướng dẫn ... iêu cần đạt Học sinh biết vận dụng lý thuyết và kiến thức của mình qua các buổi học thực hành để làm các bài tập do giáo viên đề ra B) Chuẩn bị 1) Giáo viên Phiếu học tập với các bài tập ngoài SGK 2) Học sinh Làm hết các bài tập ở SGK C) Tổ chức các hoạt động dạy học Hoạt động 1: ổn định tổ chức, kiểm tra Hoạt động của học sinh Sự trợ giúp của giáo viên Báo cáo sỹ số Trả lời các câu hỏi đó Nhận xét,bổ xung +) Kiểm tra sỹ số: +) Cho 1 học sinh lên bảng làm BVN +) Cho điểm Hoạt động 2: Cho học sinh làm các bài tập trong phiếu học tập Hoạt động của học sinh Sự trợ giúp của giáo viên Var a, b, ketqua: real; Begin { nhập từ bàn phím 2 biến a,b} ketqua:=(sqr(a)+sqr(b))/2 Writeln(‘trung bình cộng của 2 số :’,ketqua:6:2); ketqua:=(abs(a)+abs(b))/2 { đưa ra màn hình kết quả trung bình cộng trị tuyệt đối} { nhập từ bàn phím 2 số nguyên} {Tính diện tích, chu vi sau đó lưu chúng vào 2 biến nguyên} { đường chéo bằng: sqrt(sqr(a)+sqr(b)) } Thương lấy phần nguyên là a div b Thương lấy phần dư là: a mod b { nhập vào từ bàn phím bán kính vành trong và vành ngoài đều là các số thực} dtich1:= r1*r1* pi; dtich2:=r2*r2*pi; S:=dtich1-dtich2 { đưa ra màn hình kết quả} writeln(‘diên tich là:’,S:7:2) Bài 1 Lập trình nhập từ bàn phím 2 số a,b. Tính và đưa ra màn hình: 1) Trung bình cộng các bình phương của hai số đó 2) Trung bình cộng của các giá trị tuyệt đối của a và b +) Gọi 1 học sinh lên bảng để viết chương trình này. Các HS khác ở dưới tự viết ra vở rồi nhận xét. Bài 2 Lập trình nhập vào từ bàn phím 2 số nguyên là 2 cạnh của một hình chữ nhật sau đó tính: 1) Diện tích HCN 2) Chu vi HCN 3) Chiều dài đường chéo của HCN 4) Tính thương (chia lấy phần nguyên,lấy phần dư) +) Gọi 1 học sinh lên bảng để viết chương trình này. Các HS khác ở dưới tự viết ra vở rồi nhận xét. Bài 3 Lập chương trình tính và đưa ra màn hình diện tích hình vành khuyên có bán kính ngoài là R1 và bán kính trong là R2 (R1 và R2 nhận các giá trị thực, 0<R2<R1<105 ) R1 Giữ liệu được diện tích hình vành khăn cần tính nhập vào từ bàn phím Kết quả được đưa ra với độ chính xác ba chữ số sau dấu thập phân Hoạt động 3: Vận dụng, củng cố Chữa thêm bài 2.39 SBT Hoạt động 4: Hướng dẫn về nhà Bài 2.32; 2.35 SBT Tiết 11 Kiểm tra 1 tiết Đề bài Câu 1 Lập trình nhập từ bàn phím 2 số nguyên khác không m và n ( -1000 m,n1000). 1)Tính tổng 2) Tính hiệu 3) Tính tích 4) Tính thương(chia nguyên) 5) Tính trung bình cộng của tổng bình phương 2 số đó 6) Tính căn bậc 2 của tổng các trị tuyệt đối của 2 số đó Câu 2 Lập trình tính chu vi và diện tích của một hình thang cân có đáy lớn là a,đáy nhỏ là b(b<a); góc nhọn ở đáy là . Dữ liệu nhập từ bàn phím. Tất cả các đại lượng đều là số thực b a Kết quả được đưa ra màn hình với độ chính xác 4 chữ số sau dấu chấm thập phân Câu 3 Chương trình Pascal sẽ cung cấp bao nhiêu bộ nhớ cho các biến trong khai báo sau: VAR m,n,i,j: integer; a,b,c: real x: extended; k: word; Đáp án Câu 3: 38 byte Câu 2: Bài 2.38 SBT Câu 1: Dùng các hàm chuẩn: div; abs; sqrt; sqr Chương III Cấu trúc rẽ nhánh và lặp Tiết 12 Cấu trúc rẽ nhánh A) Mục tiêu cần đạt 1) Kiến thức +) Hiểu được nhu cầu của cấu trúc rẽ nhánh trong biểu diễn thuật toán +) Hiểu câu lệnh rẽ nhánh(dạng thiếu và dạng đủ) +) Hiểu câu lệnh ghép +)Sử dụng cấu trúc rẽ nhánh trong mô tả thuật toán của 1 số bài toán đơn giản 2) Kỹ năng +) Viết được các câu lệnh rẽ nhánh dạng thiếu,dạng đầy đủ, áp dụng để thể hiện được thuật toán của 1 số bài toán đơn giản B) Chuẩn bị 1) Giáo viên Chuẩn bị sẵn hình minh hoạ cú pháp và sơ đồ cấu trúc của câu lệnh IF-then (hai dạng) trên khổ giấy lớn 2) Học sinh Đọc trước SGK C) Tổ chức các hoạt động lên lớp Hoạt động 1: ổn định tổ chức, kiểm tra Hoạt động của học sinh Sự trợ giúp của giáo viên Báo cáo sỹ số Trả lời các câu hỏi đó Nhận xét,bổ xung +) Kiểm tra sỹ số: +) Cho 1 học sinh lên bảng làm BVN +) Cho điểm Hoạt động 2: Tìm hiểu về rẽ nhánh ,câu lệnh IF-then và câu lệnh ghép Hoạt động của học sinh Sự trợ giúp của giáo viên Nghe giảng T.lời: Nếu.thì.. Nếuthì.nếu không thì. Dạng thiếu: IF then Dạng đủ: IF then else ; là biểu thức lôgic là các câu lệnh của Pascal Begin End; 1) Rẽ nhánh Nêu rõ ý nghĩa của cấu trúc rẽ nhánh thông qua 2 thí dụ trong SGK Nêu rõ và phân biệt cho HS 2 cách diễn đạt: Dạng thiếu và dạng đủ Hỏi: Dạng thiếu có cách diễn đạt thế nào? Dạng đủ có cách diễn đạt thế nào? Nêu: Cấu trúc dùng để mô tả các mệnh đề có dạng như trên gọi là cấu trúc rẽ nhánh thiếu và đủ Hỏi: Nêu 1 thí dụ khác SGK? +) Phân tích tiếp thí dụ về phương trình bậc 2 +) Giải thích rõ sơ đồ thể hiện cấu trúc rẽ nhánh trong bài phương trình bậc 2 2) Câu lệnh IF-Then Nêu về 2 dạng (thiếu và đủ) thể hiện cấu trúc rẽ nhánh ? Nêu rõ lại cấu trúc của 2 câu lệnh if-then dạng thiếu và đủ (hình 5 và 6) +) Cho HS đọc các thí dụ 1,2 ,3 (đặc biệt là thí dụ 3) 3) Câu lệnh ghép Hỏi: Nêu dạng của câu lệnh ghép ? Phân tích thí dụ về PT bậc 2(SGK) Hoạt động 3: Một số thí dụ Hoạt động của học sinh Sự trợ giúp của giáo viên Nghiên cứu SGK Học sinh lên bảng viết Đọc SGK Nêu thí dụ 1 ở SGK Hướng dẫn HS ý nghĩa của từng câu lệnh +) Nhập vào từ bàn phím giá trị các biến a,b,c +) Tính giá trị của denta và nhập vào biến D +) Sử dụng cấu trúc IFthen ở dạng đầy đủ +) Sử dụng câu lệnh ghép Hỏi: Nếu sử dụng cấu trúc không đầy đủ thì ta viết chương trình thế nào? Nêu thí dụ 2 ở SGK Cho HS đọc SGK GV làm rõ ý nghĩa từng câu lệnh Hoạt động 4: Củng cố,vận dụng Phân tích kỹ lại các thí dụ SGK Hoạt động 5: Hướng dẫn về nhà Tiết 13 Cấu trúc lặp (T1) A) Mục tiêu cần đạt Hiểu nhu cầu của cấu trúc lặp trong biểu diễn thuật toán Hiểu cấu trúc lặp với số lần biết trước Nắm được thí dụ trong SGK B) Chuẩn bị Học sinh cần nghiên cứu trước SGK phần 1 và 2(phần lý thuyết) C) Tổ chức các hoạt động lên lớp Hoạt động 1: ổn định tổ chức, kiểm tra Hoạt động của học sinh Sự trợ giúp của giáo viên Báo cáo sỹ số Trả lời các câu hỏi đó Nhận xét,bổ xung +) Kiểm tra sỹ số: +) Cho 1 học sinh lên bảng làm BVN +) Cho điểm Hoạt động 2: Tìm hiểu thế nào là cấu trúc lặp Hoạt động của học sinh Sự trợ giúp của giáo viên Chép bài tập vào vở TL: Thí dụ 1: Có 101 số hạng,100 phép cộng Thí dụ 2 : Chưa xác định,phép cộng chỉ dừng khi thoả mãn điều kiện 1/(a+N) <0,0001 Ghi vở Nêu nội dung của bài toán tính tổng: Với a nguyên và a>2 Bài 1: Bài 2 đến khi Hỏi: Số phép cộng ở 2 thí dụ trên là bao nhiêu? Nêu: Máy tính có khả năng thực hiện được số lần lặp nhiều với hiệu quả cao Cấu trúc lặp mô tả cấu trúc lặp và được phân biệt làm 2 loại là lặp với số lần biết trước và lặp với số lần chưa biết trước. Hoạt động 3: Tìm hiểu về lặp với số lần biết trước và câu lệnh for-do Hoạt động của học sinh Sự trợ giúp của giáo viên Học sinh đọc SGK Nghe GV phân tích từng câu lệnh Đọc SGK Dạng lặp tiến: for:= to do ; Dạng lặp lùi: for:= downto do Phân tích rõ 2 thuật toán để tính tổng trong bài toán 1 Thuật toán 1: +) Khai báo các biến a là biến nguyên; biến S là biến thực +) Nhập giá trị của a từ bàn phím +) Gán S=1/a; N=0 +) Gán N:=N+1; {lúc này N=1} +) Nếu N>100 thì đưa S ra màn hình +) Gán S:= S + 1/ (a+N) {lúc này S=1/ a + 1/ a+1 } +) Sau đó quay trở lại phép gán N=N+1 Thuật toán 2: Dạng lùi Hỏi: Nêu cấu trúc của câu lệnh For-do ? Lưu ý: +) Biến đếm : là biến đơn (thường là biến nguyên) +) Giá trị đầu phải lớn hơn giá trị cuối +) Giá trị của biến đếm được điều chỉnh tự độngà câu lệnh sau do không được thay đổi giá trị biến đếm Hoạt động 4: Vận dụng, củng cố Viết thuật toán tính tổng S=1+2+3+4+5+n với n=100 Hoạt động 5 : Hướng dẫn về nhà Đọc trước ví dụ 1 và ví dụ 2 ở SGK Tiết 14 Cấu trúc lặp (T2) A) Mục tiêu cần đạt Học sinh nghiên cứu và tự lập trình lại được 2 thí dụ về tính tổng (trong tiết 13) B) Chuẩn bị Giáo viên chuẩn bị thêm các thí dụ ngoài SGK Học sinh xem trước các thí dụ trong SGK C) Tổ chức các hoạt động lên lớp Hoạt động 1: ổn định tổ chức, kiểm tra Hoạt động của học sinh Sự trợ giúp của giáo viên Báo cáo sỹ số Trả lời các câu hỏi đó Nhận xét,bổ xung +) Kiểm tra sỹ số: +) Cho 1 học sinh lên bảng : Nêu cấu trúc lặp (2 dạng tiến và lùi) với số lần lặp biết trước. Nêu 1 bài toán thí dụ +) Cho điểm Hoạt động 2: Xét các thí dụ ở SGK Hoạt động của học sinh Sự trợ giúp của giáo viên HS đọc trước SGK Lên bảng Học sinh 1 Var S: real; a,n:integer; begin write(‘nhap giá trị của a,n’); readln(a,n); {nhập từ bàn phím} S:=1/a; for n:=1 to 100 do s:=s+ 1/ (a+n); write(‘tong là:’,s:8:4); readln end. Học sinh 2 Khai báo như trên Begin {nhập giá trị a,n vào từ bàn phím} s:=1/a; for n:=100 downto 1 do s:=s+ 1/(a+n); write(‘ tong là’,s:4:2); readln end. Học sinh lên bảng chữa Ví dụ 1: Tính tổng với a nguyên và a>2 Yêu cầu HS đọc trước SGK Gọi 2 HS lên bảng lập trình Gọi HS ở dưới nhận xét Sửa chữa lỗi Cho HS nhận xét Chỉ ra các lỗi của HS Ví dụ 2: Nhập từ bàn phím 2 số nguyên hai số m,n (m<n). Tính và đưa ra màn hình tổng các số chia hết cho 3 hoặc 5 trong phạm vi từ m đến n Hướng dẫn HS về thuật toán +) Khai báo i,m,n,S là biến nguyên (i là biến đếm) +) Nhập các số m,n từ bàn phím +) Gán s=0 +) Cho biến đếm i chạy từ m đến n +) Dùng câu lệnh rẽ nhánh dạng thiếu Nếu (i mod 3) =0 or (i mod 5)=0 thì s:=s+i; +) Đưa ra màn hình kết quả Cho 1 HS lên bảng chữa Gọi 1 HS nhận xét Hoạt động 3 Vận dụng, củng cố Bài tập ngoài SGK Nhập vào từ bàn phím 2 số nguyên m,n (m<n). Tính tổng của các số trong khoảng m,n sao cho các số này không chia hết cho 7 và phải chia hết cho 2 Hướng dẫn: S:=0; for i:=m to n do if i mod 7 0 and (i mod 2)=0 then S:=S+i Hoạt động 4: Hướng dẫn về nhà: BVN: Tính tổng của dãy số sau: S=1+1/2+1/4+1/8+1/16++1/220 Tiết 17 Kiểm tra học kỳ 1 A) Mục tiêu cần đạt Đánh giá được quá trình phấn đấu của học sinh trong học kỳ 1 B) Chuẩn bị Giáo viên : Đề kiểm tra Học sinh: Ôn tập kỹ C) Tổ chức các hoạt động lên lớp I) ổn định tổ chức Sỹ số: 11A1 11A2 II) Đề kiểm tra và đáp án Câu 1 Hãy chỉ ra các lỗi trong khai báo sau: VAR k,m,i,j: world , c, d : char; I,M: interger; PI=3.1416; Đáp án: Dòng đầu thiếu dấu chấm phảy và tên kiểu dữ liệu sai Dòng 3 sai tên kiểu dữ liệu Biến i khai báo 2 lần vì pascal không phân biệt chữ hoa ,chữ thường Khai báo hằng cho PI ( const PI=3.1416) Câu 2 Chương trình dịch Pascal sẽ cấp phát bao nhiêu byte bộ nhớ cho các biến trong khai báo sau: Var m,n,i,j : integer; a,b,c,d: real; k: extended; L: word; Đáp án: 44 byte ( 2x4+6x4+10+2) Câu 3 Hãy chuyển biểu thức sau từ dạng biểu diễn trong Pascal sang dạng biểu diễn toán học ABS(X-Y)/(X*X + SQR(Y)+1+ SQRT(Z)+exp(2)) Đáp án: Câu 4 Lập trình nhập từ bàn phím 3 số thực a,b,c. Đưa ra màn hình giá trị lớn nhất,nhỏ nhất của các số đó Đáp án: Dùng cấu trúc rẽ nhánh Câu 5 Lập trình tính tổng các số lẻ từ 1 đến 100 Đáp án: Dùng cấu trúc lặp với số lần biết trước
Tài liệu đính kèm: