Tải bản đầy đủ (.docx) (93 trang)

Giao an tin hoc 110977350692

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (430.16 KB, 93 trang )

<span class='text_page_counter'>(1)</span>Ngày soạn: 22 tháng 08 năm 2016. Tiết theo PPCT: 01. Bài 1: KHÁI NIỆM LẬP TRÌNH VÀ NGÔN NGỮ LẬP TRÌNH I. MỤC TIÊU 1. Kiến thức: Giúp học sinh biết được khái niệm lập trình và ngôn ngữ lập trình. Biết có 3 lớp ngôn ngữ lập trình: Ngôn ngữ máy, hợp ngữ và ngôn ngữ bậc cao(đã học ở lớp 10). Hiểu được ý nghia 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: Chưa yêu cầu kỹ năng. II. CHUẨN BỊ * Giáo viên: - Soạn giáo án trước khi lên lớp, sgk. - Chuẩn bị các hình minh họa, các bài toán quản lí mẫu ở một đơn vị nào đó. - Máy chiếu đa năng, màn chiếu, máy vi tính, các thiết bị hỗ trợ khác (nếu có) * Học sinh: - Đọc trước sách giáo khoa ở nhà. - Sách giáo khoa, vở ghi chép bài và đồ dùng học tập. III. TỔ CHỨC CÁC HOẠT ĐỘNG HỌC TẬP 1. ổn định lớp: - Sĩ số: ............ - Số học sinh vắng mặt: ........... 2. Tiến trình bài học. 1.Hoạt động 1: Tìm hiểu khái niệm lập trình và ngôn ngữ lập trình (20 phút). PP dạy học: Sử dụng PP thuyết trình, vấn đáp. Lấy các ví dụ về việc nhân viên lập trình cho HS tưởng tượng việc lập trình trên máy tính. Hình thức tổ chức dạy học: Dạy học trên lớp. Hoạt động của Giáo viên 1. viết 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 các yếu tố Input và Output của bài toán?. Hoạt động của Học sinh. Nội dung. + Lập trình là việc sử dụng 1. Quat sát nội dung bài cấu trúc dữ liệu và các lệnh toán và theo dõi yêu cầu của ngôn ngữ lập trình cụ thể của giáo viên. để mô tả dữ liệu và diễn đạt - Input: a, b. các thao tác của thuật toán. - Output: x= -b/a, vô số - Ta được một chương trình. nghiệm hoặc vô nghiệm. + Bước 1: Nhập a, b. - Hãy xác định các bước + Bước 2: Nếu a <> 0 kết để tìm Output? luận có nghiệm x = -b/a..

<span class='text_page_counter'>(2)</span> + Bước 3: Nếu a = 0 và b <> 0 thì kết luận vô nghiệm. + Bước 4: Nếu a =0 và b = 0 thì kết luận vô số - Diễn giải: Hệ thống các nghiệm. bước này được gọi là thuật toán. + Nếu trình bày thuật toán + Ngôn ngữ tiếng Anh. với một người nước ngoài, em sẽ dùng ngôn ngữ 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ôn ngữ lập dùng ngôn ngữ nào? trình. - Diễn giải: Hoạt động để diễn đạt một thuật toán thông qua một ngôn ngữ lập trình được gọi là lập trình. + Yêu cầu học sinh đọc + Lập trình là việc sử sách giáo khoa và cho dụng cấu trúc dữ liệu và biết khái niệm lập trình. các 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 - Hỏi: Kết quả của hoạt tác của thuật toán. động lập trình? - Ta được một chương 2. Phát phiếu học tập. trình. Yêu cầu các em ghi các 2. Tham khảo sách giáo Các loại ngôn ngữ lập trình loại ngôn ngữ lập trình khoa và lựa chọn ý để ghi phổ biến: mà em biết? vào phiếu học tập. - NN máy. + Ngôn ngữ máy. - NN lập trình Hợp ngữ. + Đọc nội dung một số + Hợp ngữ (ngôn ngữ lập - NN lập trình bậc cao: phiếu học tập cho cả lớp trình bậc thấp). C, C++, C#, Pascal, cùng nghe. + Ngôn ngữ lập trình bậc Visual Basic... - Hỏi: Em hiểu như thế cao. nào về ngôn ngữ máy, - Ngôn ngữ máy: Các ngôn ngữ lập trình bậc lệnh được mã hoá bằng cao? các kí hiệu 0, 1. Chương trình được viết trên ngôn ngữ máy có thể được nạp vào bộ nhớ và thực hiện - Lập trình bằng ngôn ngữ.

<span class='text_page_counter'>(3)</span> ngay. - Ngôn ngữ lập trình bậc cao: Các lệnh được mã hoá bằng một ngôn ngữ gần với ngôn ngữ tiếng Anh. Chương trình viết trên ngôn ngữ bậc cao phải được chuyển đổi thành chương trình trên ngôn ngữ máy mới có thể thực hiện được. - Hỏi: Làm thế nào để - Phải sử dụng một chuyển một chương trình chương trình dịch để viết từ ngôn bậc cao sang chuyển đổi. ngôn ngữ ngữ máy? - Hỏi: Vì sao không lập - Lập trình bằng ngôn ngữ trình trên ngôn ngữ máy bậc cao dễ viết hơn vì các để khỏi phải mất công lệnh được mã hoá gần với chuyển đổi mà người ta ngôn ngữ tự nhiên. Lập thường lập trìnhbăng trình trên ngôn ngữ máy ngôn ngữ bậc cao? rất khó, thường chỉ các chuyên gia lập trình mới làm được.. bậc cao dễ viết hơn vì các lệnh được mã hoá gần với ngôn ngữ tự nhiên. Lập trình trên ngôn ngữ máy rất khó, thường chỉ các chuyên gia lập trình mới làm được.. - Phải sử dụng một chương trình dịch để chuyển đổi.. 2.Hoạt động 2: Hai loại chương trình dịch (20 phút). PP dạy học: vấn đáp. Hình thức tổ chức dạy học: Dạy học trên lớp. Hoạt động của Giáo viên Hoạt động của Học sinh 1. Nêu vấn đề: Giả sử thầy hiệu trưởng muốn giới thiệu về trường ta cho một người khách nước ngoài (người 1. Chú ý lắng nghe ví vụ của Anh) thì thầy sẽ có 2 cách để giáo viên và thảo luận để tìm thực hiện: ra ví dụ tương tự. Cách 1: Thầy cần một giáo viên trong tổ ngoại ngữ, dịch từng câu nói của Thầy sang tiếng Anh để vị khách đó có thể hiểu được. Cách 2: Thầy soạn nội dung cần giới thiệu ra giấy và. Nội dung - Biên dịch: + Bước 1: Duyệt, phát hiện lỗi, kiểm tra tính đúng đắn của lệnh trong chương trình nguồn. + Bước 2: Dịch toàn bộ chương trình nguồn thành một chương trình trên ngôn ngữ máy. (thuận tiện cho các chương trình ổn định và thực hiện nhiều lần). - Thông dịch:.

<span class='text_page_counter'>(4)</span> người phiên dịch đó viết lại một văn bản khác cùng nội dung nhưng bằng tiếng Anh và họ chỉ việc đọc lên cho vị khách đó nghe và hiểu. - Hỏi: các em hãy lấy ví dụ tương tự trong thực tế về - Khi thủ tướng chính phủ trả việc biên dịch và thông dịch lời phỏng vấn trước các nhà từ tiếng Anh sang tiếng việt. báo nước ngoài (cụ thể là ngươi nước Anh) thì các nhà báo này cần có người thông dịch để dịch các câu hỏi của họ sang tiếng việt cho thủ tướng hiểu và trả lời, trong một số trường hợp khác họ có thể soạn thảo nội dung các 2. Yêu cầu học sinh nghiên câu hỏi ra giấy sau đó đưa cứu sách giáo khoa và sử cho người phiên dịch để họ dụng các ví dụ trên để cho dịch ra văn bản bằng tiếng biết các bước trong tiến trình việt và gửi cho thủ tướng thông dịch và biên dịch. (cần giải trình bằng văn bản). 2. Nghiên cứu sách giáo khoa và suy nghĩ trả lời. - Biên dịch: + Bước 1: Duyệt, phát hiện lỗi, kiểm tra tính đúng đắn của lệnh trong chương trình nguồn. + Bước 2: Dịch toàn bộ chương trình nguồn thành một chương trình trên ngôn ngữ máy. (thuận tiện cho các chương trình ổn định và thực hiện nhiều lần). - Thông dịch: + Bước 1: Kiểm tra tính đúng đắn của câu lệnh tiếp theo trong chương trình nguồn. + Bước 2: Chuyển lệnh đó thành ngôn ngữ máy.. + Bước 1: Kiểm tra tính đúng đắn của câu lệnh tiếp theo trong chương trình nguồn. + Bước 2: Chuyển lệnh đó thành ngôn ngữ máy. + Bước 3: Thực hiện các câu lệnh vừa chuyển đổi. (phù hợp cho môi trường đối thoại giữa người và máy)..

<span class='text_page_counter'>(5)</span> + Bước 3: Thực hiện các câu lệnh vừa chuyển đổi. (phù hợp cho môi trường đối thoại giữa người và máy). IV. TỔNG KẾT VÀ HƯỚNG DẪN HỌC TẬP a) Củng cố bài học: - Khái niệm lập trình và ngôn ngữ lập trình. - Có 3 loại ngôn ngữ lập trình: ngôn ngữ máy, hợp ngữ và ngôn ngữ lập trình bậc cao. - Khái niệm chương trình dịch. - Có hai loại chương trình dịch: Thông dịch và biên dịch. b) Bài tập về nhà: Bài 1: Mỗi loại ngôn ngữ lập trình phù hợp với những người lập trình nào? Bài 2: Trả lời các câu hỏi 1, 2, 3 trong SGK trang 13. Rút kinh nghiệm sau tiết dạy: ...................................................................................................................................................................... .......................................................................................................................................................................... .......................................................................................................................................................................... ...........................................................................................................................................................................

<span class='text_page_counter'>(6)</span> Ngày soạn: 26 tháng 08 năm 2016 Tiết theo PPCT: 02. Bài 2: CÁC THÀNH PHẦN CỦA NGÔN NGỮ LẬP TRÌNH I. MỤC TIÊU *Kiến thức: - Nắm được các thành phần của ngôn ngữ lập trình nói chung. - Biết một số khái niệm như: tên, tên chuẩn, tên dành riêng, tên do người dùng khai báo,…. - Giúp học sinh biết cách đặt tên đúng, nắm được các quy định về tên, biến và hằng. *Kỹ năng: - Có thể đặt tên đúng theo quy tắc đặt tên của pascal, nắm được các quy định về tên, biến và hằng. II. CHUẨN BỊ * Giáo viên: - Soạn giáo án trước khi lên lớp. - Chuẩn bị một số bài toán trong toán học nhưng gần gũi để biểu diễn trong tin học như bài toán tính diện tích hình chữ nhật. - Máy chiếu đa năng, màn chiếu, máy vi tính, các thiết bị hỗ trợ khác (nếu có) * Học sinh: - Học kỹ bài cũ. - Đọc trước sách giáo khoa ở nhà. - Sách giáo khoa, vở ghi chép bài và đồ dùng học tập. III. TỔ CHỨC CÁC HOẠT ĐỘNG DẠY- HỌC A. Ổn định lớp và câu hỏi bài cũ: Câu hỏi: Có mấy loại ngôn ngữ lập trình? Loại ngôn ngữ lập trình nào phù hợp với đối tượng nào? B. Nội dung bài học: 1.Hoạt động 1: Tìm hiểu các thành phần của ngôn ngữ lập trình (15 phút). PP dạy học: Dạy học vấn đáp, thuyết trình, phiếu trả lời kết quả. Hình thức dạy học: dạy học trên lớp.. Hoạt động của Giáo viên Hoạt động của Học sinh 1. Đặt vấn đề: Có những yếu 1. Độc lập suy nghĩ và trả tố nào dùng để xây dựng nên lời. ngôn ngữ tiếng việt? - Bảng chữ cái tiếng việt, số, dấu. - Cách ghép các kí tự thành từ, ghép thành câu. 2. Diễn giảng: Trong ngôn - Ngữ nghĩa của từ và câu. ngữ lập trình cũng tương tự 2. Lắng nghe và ghi nhớ. như vậy, nó bao gồm có các. Nội dung Trong ngôn ngữ lập trình cũng tương tự như vậy, nó bao gồm có các thành phần: Bảng chữ cái, cú phap và ngữ nghĩa. + Bảng chữ cái A, B, C...Z A, b, c, ..., z + Hệ đếm: 0, 1, 2, 3, 4, 5,.

<span class='text_page_counter'>(7)</span> thành phần: Bảng chữ cái, cú pháp và ngữ nghĩa. 3. Chia lớp làm 3 nhóm, phát bìa trong và bút cho mỗi nhóm và yêu cầu mỗi nhóm 3. Nghiên cứu sách giáo thực hiện một nhiệm vụ: khoa, thảo luận theo nhóm + Hãy nêu các chữ cái của và điền phiếu học tập: bảng chữ cái tiếng Anh? + Bảng chữ cái: Z, X, C, V, B, N, M, A, S, D, F, G, H, J, K, L, Q, W, E, R, T, Y, U, I, + Nêu các kí số trong hệ đếm O, P. thập phân? Z, x, c, v, b, n, m, a, s, d, + Nêu một số kí hiệu đặc biệt f, g, h, j, k, l, q, w, e, r, t, y, khác? u, i, o, p. + Hệ đếm: 0, 1, 2, 3, 4, 5, 6, - Thu phiếu trả lời, chiếu kết 7, 8, 9. quả lên bảng, gọi đại diện + Kí tự đặc biệt: +, -, *, =, <, nhóm khác nhận xét, bổ >, [, ], ., ,, #, ^, $, &, (, ), sung. {, }, :, ’. - Treo tranh giáo viên đã - Theo dõi kết quả của các chuẩn bị để thông báo các nhóm khác và bổ sung những nội dung chính (nếu có). thiếu sót. - Tập trung xem tranh và lựa ghi ý chính vào vở.. 6, 7, 8, 9. + Kí tự đặc biệt: +, -, *, =, <, >, [, ], ., ,, #, ^, $, &, (, ), {, }, :, ’. + Cú pháp: Là bộ quy tắc để viết chương trình. + Ngữ nghĩa: Xác định ý nghĩa của thao tác cần thực hiện.. 2.Hoạt động 2: Một số khái niệm (10 phút) - Tên dành riêng. - Tên chuẩn. - Tên do người lập trình đặt. PP dạy học: Sử dụng các PP thuyết trình, thảo luận theo nhóm, kiểm tra. Kỹ thuật dạy học: Dạy học trên lớp, tranh ảnh, chia HS theo nhóm. Hoạt động của Giáo viên 1. Đặt vấn đề: Mọi đối tượng trong chương trình đều phải được đặt tên. - Hãy nghiên cứu sách giáo khoa trang 10, để nêu quy cách đặt tên trong Turbo Pascal? 2. Treo tranh chứa các tên. Hoạt động của Học sinh Nội dung 1. Nghiên cứu sách giáo khoa Tên: Mọi đối tượng trong và trả lời: NNLT đều được đặt tên theo quy tắc đặt tên. - Gồm chữ số, chữ cái, dấu VD: tên trong PASCAL: gạch dưới. - Gồm chữ số, chữ cái, - Bắt đầu bằng chữ cái hoặc dấu gạch dưới. dấu gạch dưới. - Bắt đầu bằng chữ cái - Độ dài không quá 127 kí tự. hoặc dấu gạch dưới..

<span class='text_page_counter'>(8)</span> đúng – sai, yêu cầu học sinh chọn tên đúng. A; A BC; 6pq; R12; X#y; _45; - Kết luận cho vấn đề này bằng việc đưa ra chân lí đúng. 3. Yêu cầu học sinh nghiên cứu sách giáo khoa (trang 10 – 11) để biết các khái niệm về tên dành riêng, tên chuẩn và tên do người lập trình đặt. - Chia lớp thành 3 nhóm, mỗi nhóm trình bày hiểu biết của mình về một loại tên và cho ví dụ.. 2. Quan sát tranh và trả lời. Tên đúng: A; R12; _45.. - Độ dài không quá 127 kí tự. Trong đó có: + Tên dành riêng: Là những tên được ngôn ngữ 3. Nghiên cứu sách giáo khoa lập trình quy định dùng để trả lời: với ý nghĩa xác định, người lập trình không được dùng với ý nghĩa khác. - Thảo luận theo nhóm và Program; Type. điền vào phiếu học tập: + Tên dành riêng: Là những + Tên chuẩn: Là những tên được ngôn ngữ lập trình tên được ngôn ngữ lập quy định dùng với ý nghĩa trình quy định dùng với xác định, người lập trình một ý nghĩa nào đó, người không được dùng với ý nghĩa lập trình có thể định nghĩa khác. lại để sử dụng nó với ý + Tên chuẩn: Là những tên nghĩa khác. được ngôn ngữ lập trình quy Abs; Integer; Byte. định dùng với một ý nghĩa nào đó, người lập trình có thể + Tên do người lập trình định nghĩa lại để sử dụng nó đặt: Là tên được dùng với ý nghĩa khác. theo ý nghĩa riêng của + Tên do người lập trình đặt: người lập trình, tên này Là tên được dùng theo ý được khai báo trước khi nghĩa riêng của người lập sử dụng. Các tên không trình, tên này được khai báo được trùng với tên dành - Treo tranh chứa một số tên trước khi sử dụng. Các tên riêng. trong ngôn ngữ lập trình không được trùng với tên Xyx; Tong Pascal đã được chuẩn bị sẵn: dành riêng. Program; Abs; Integer; Type; Xyx; Byte; Tong. - Phát bìa trong và bút cho mỗi nhóm và yêu cầu học sinh mỗi nhóm thực hiện: - Quán sát tranh và điền vào + Xác định tên dành riêng. phiếu học tập. + Xác định tên chuẩn. + Xác định tên tự đặt. - Thu phiếu học tập của các nhóm, chiếu kết quả lên bảng và gọi học sinh nhóm khác.

<span class='text_page_counter'>(9)</span> lên nhận xét và bổ sung. - Bổ sung ý vào câu trả lời của học sinh để học sinh tìm ra chân lí đúng.. + Tên dành riêng: Program; Type. + Tên chuẩn: Abs; Integer; Byte. + Tên tự đặt: Xyx; Tong. - Quan sát kết quả của nhóm khác và nhận xét, đánh giá và bổ sung. - Theo dõi bổ sung của giáo viên và hoàn thiện kiến thức.. 3.Hoạt động 3: Tìm hiểu hằng, biến và chú thích (10 phút). PP dạy học: Thuyết trình, vấn đáp. Kỹ thuật/ hình thức dạy học: Dạy học trên lớp. Hoạt động của Giáo viên Hoạt động của Học sinh Nội dung 1. Yêu cầu học sinh cho một 1. Độc lập suy nghĩ và trả số ví dụ về hằng số, hằng lời. xâu và hằng logic. - Hằng số: 50; 60.5; ... - Hằng xâu: ’Anh Tung’; ’A’; ... - Trình bày khái niệm về - Hằng logic: True, False. hằng số, hằng xâu và hằng - Hằng số học là các số logic. nguyên và số thực, có dấu hoặc không dấu. Hằng số là đại lượng được - Hằng xâu là chuỗi kí tự đặt tên và có giá trị không trong bộ mã ASCII, được đặt đổi trong chương trình: trong cặp dấu nháy ’ ’. Pi=3.14; g=9.8. 2. Ghi bảng: Xác định hằng - Hằng logic là giá trị đúng số và hằng xâu trong các (true) hay sai (false). hằng sau: 2. Quan sát bảng và trả lời. -32767; ’QB’; ’50’; 1.5E+2. - Hằng số: -32767; 1.5E+2. 3. Yêu cầu học sinh nghiên - Hằng xâu: ’QB’; ’50’. cứu sách giáo khoa, cho biết 3. Nghiên cứu sách giáo Biến số là đại lượng được khái niệm biến. khoa và trả lời câu hỏi. đặt tên và có giá trị có thể - Biến là đại lượng được đặt thay đổi trong chương tên dùng để lưu trữ giá trị. trình. Giá trị này có thể được thay Vd: X1, X2... đổi trong quá trình thực hiện chương trình. Các biến dùng - Cho ví dụ một số biến. trong chương trình đều phải được khai báo..

<span class='text_page_counter'>(10)</span> - x, y, s 4. Yêu cầu học sinh nghiên cứu sách giáo khoa và cho biết chức năng của chú thích trong chương trình.. - Ví dụ: x, y, delta, S... - ? Trong bài toán tính diện tích HCN ta phải khai báo những biến số nào? 4. Độc lập tham khảo sách giáo khoa để trả lời. - Chú thích được đặt giữa cặp dấu { } hoặc (* *) dùng để giải thích cho chươn trình rõ ràng dễ hiểu. - {than chuong trinh} - Là tên do người lập trình đặt.. - Cho một ví dụ về một dòng chú thích. - Hỏi: Tên biến và tên tên hằng là tên dành riêng hay tên chuẩn hay tên do người lập trình đặt? - Không. Vì đó là dòng chú - Hỏi: Các lệnh được viết thích. trong cặp dấu { } có được Turbo Pascal thực hiện không. Vì sao? IV. TỔNG KẾT VÀ HƯỚNG DẪN HỌC TẬP Nhắc lại các khái niệm - Thành phần của ngôn ngữ lập trình: Bảng chữ, cú pháp, ngữ nghĩa. - Khái niệm: tên chuẩn, tên dành riêng, tên do người lập trình đặt, hằng, biến và chú thích. - Làm bài tập 4, 5, 6 trang 13 sách giáo khoa. Rút kinh nghiệm sau tiết dạy: ..................................................................................................................................................... ......................................................................................................................................................... ......................................................................................................................................................... ..........................................................................................................................................................

<span class='text_page_counter'>(11)</span> Ngày soạn: 1 tháng 09 năm 2016. Tiết theo PPCT: 03.. Câu hỏi và bài tập chương I I. MỤC TIÊU * Kiến thức: - Giúp học sinh hệ thống lại kiến thức cơ bản của bài 1 và bài 2. * Kỹ năng: - Hiểu các khái niệm thế nào là lập trình, chương trình,… - Phân biệt được hai loại chương trình dịch là thông dịch và biên dịch. II. CHUẨN BỊ * Giáo viên: - Soạn giáo án trước khi lên lớp. Bài tập cụ thể bám sát nội dung bài 1 và 2. - Lấy thêm một số bài toán trong thực tế và y/c học sinh xác định các đặc trưng của bài toán. * Học sinh: - Đọc trước sách giáo khoa và làm bài tập ở nhà. - Sách giáo khoa, vở ghi chép, đồ dùng học tập. III. TỔ CHỨC CÁC HOẠT ĐỘNG HỌC TẬP. A. ổn định lớp và câu hỏi bài cũ. Câu hỏi 1: Nêu khái niệm và các thành phần của ngôn ngữ lập trình. Câu hỏi 2: Khái niệm và lấy ví dụ về ngôn ngữ lập trình. B. Nội dung bài học: 1.Hoạt động 1: Ôn lại nội dung kiến thức bài 1 + bài tập: Phân biệt ngôn ngữ lập trình bậc cao với ngôn ngữ lập trình bậc thấp, hợp ngữ. Phân biệt biên dịch và thông dịch. PP dạy học: Ôn tập, kiểm tra đánh giá. Kỹ thuật/ hình thức dạy học: dạy học ôn tập trên lớp. Hoạt động của Giáo viên Hoạt động của Học sinh Nội dung 1. Thông báo lại nội dung lí 1. Chú ý lắng nghe, ghi lại Bài 1: Tại sao phải xây thuyết của bài 1 và các vấn những ý quan trọng. dựng các ngôn ngữ lập đề liên quan. 2. Các thành viên tiến hành trình bậc cao? 2. Chia lớp thành các nhóm làm việc. và ra bài tập cho các nhóm để các thành viên thảo luận, nghiên cứu, giải quyết vấn 3. Trả lời và nhận xét bài Bài 2: Chương trình dịch đề. làm của nhóm bạn. dùng để làm gì? Tại sao 3. Gọi ngẫu nhiên một người cần phải có chương trình trong nhóm làm đại diện cho dịch. nhóm lên báo cáo kết quả, Bài 3: Biên dịch và thông yêu cầu các bạn nhóm khác dịch khác nhau như thế nhận xét. nào? 2.Hoạt động 2: Ôn lại nội dung tri thức của bài 2 + bài tập:.

<span class='text_page_counter'>(12)</span> - Lấy ví dụ về tên dành riêng, tên chuẩn và tên do người lập trình tự đặt. - Chọn đáp án đúng, giải thích đáp án sai vì sao về các tên hằng số, biến số: A. -67 B. ‘-AB’ C. 35.5 D. ‘D3 E. ‘False’ F. 9E-2 G. 32+15. Hoạt động của Giáo viên 1. Thông báo lại nội dung lí thuyết của bài 1 và các vấn đề liên quan. 2. Chia lớp thành các nhóm và ra bài tập cho các nhóm để các thành viên thảo luận, nghiên cứu, giải quyết vấn đề. 3. Gọi ngẫu nhiên một người trong nhóm làm đại diện cho nhóm lên báo cáo kết quả, yêu cầu các bạn nhóm khác nhận xét.. Hoạt động của Học sinh 1. Chú ý lắng nghe, ghi lại những ý quan trọng. 2. Các thành viên tiến hành làm việc.. Nội dung Bài 4: Hãy cho biết điểm khác nhau giữa tên dành riêng và tên chuẩn. Bài 5: Hãy viết ba tên đúng và ba tên sai theo quy tắc của Pascal. 3. Trả lời và nhận xét bài Bài 6: Hãy cho cho biết làm của nhóm bạn. các biểu diễn nào dưới đây không phải là biểu diễn hằng trong Pascal và chỉ rõ lỗi trong từng biểu diễn. A. 150.0 B. -22 C. 6,23 D. ‘43’ E. A20 F. 1.06E-15 G. 4+6 H. ‘C IV. TỔNG KẾT VÀ HƯỚNG DẪN HỌC TẬP - Nhận xét chất lượng của các bài thu hoạch, chỉ ra các lỗi mà học sinh còn gặp và đưa ra biện pháp giúp các em sớm nhận ra chân lí. - Nhận xét lớp: + thái độ học tập. + Sự tích cực trong giờ học, … - Thông báo nội dung của buổi học tiếp theo,… Rút kinh nghiệm sau tiết dạy: ……………………………………………………………………………………………………………… ……………………………………………………………………………………………………………… ……………………………………………………………………………………………………………… ……………………………………………………………………………………………………………….

<span class='text_page_counter'>(13)</span> Ngày soạn: 2 tháng 09 năm 2016 Tiết theo PPCT: 04. Chương II. Chương trình đơn giản --oOo— Bài 3: Cấu. trúc chương trình. I. MỤC TIÊU: 1. Kiến thức: - Hiểu chương trình là sự mô tả của thuật toán bằng một ngôn ngữ lập trình. - Biết cấu trúc của một chương trình Pascal: cấu trúc chung và các thành phần. - Nhận biết được các thành phần của một chương trình đơn giản 2. Kỹ năng: - Có thể viết được các chương trình đơn giản chưa cần dùng các phép tính toán. II. CHUẨN BỊ * Giáo viên: - Soạn giáo án trước khi lên lớp. - Một số bài tập và cấu trúc đơn giản của một chương trình Pascal. - Máy chiếu đa năng, màn chiếu, máy vi tính, các thiết bị hỗ trợ khác (nếu có) * Học sinh: - Đọc trước sách giáo khoa ở nhà. III. TỔ CHỨC CÁC HOẠT ĐỘNG HỌC TẬP A. ổn định lớp và câu hỏi bài cũ: Câu hỏi 1: Em hãy đặt 3 tên do người lập trình tự đặt theo quy tắc đặt tên trong Pascal? Câu hỏi 2: Đâu là hằng số, đâu là biến số: A. -6,9 B. ‘AB C. ‘3+6’ D. 3.2 E. ‘xym’ F. 9+8 G. -136 H. True I. ‘False’. B. Tiến trình bài học. 1.Hoạt động 1: Cấu trúc chung và các thành phần của chương trình- chương trình đơn giản (25 phút). PP dạy học: Vấn đáp, thuyết trình. Kỹ thuật/ hình thức dạy học: Dạy học trên lớp, có ví dụ được chuẩn bị sẵn trên giấy khổ lớn..

<span class='text_page_counter'>(14)</span> Hoạt động của Giáo viên 1. Gợi ý: Một bài tập làm văn em thường viết có mấy phần? Các phần có thứ tự không? Vì sao phải chia ra như vậy? 2. Yêu cầu học sinh nghiên cứu sách giáo khoa để trả lời các câu hỏi sau: - Một chương trình có cấu trúc mấy phần? - Trong phần khai báo, có những khai báo nào? - Yêu cầu học sinh lấy ví dụ khai báo tên chương trình trong ngôn ngữ Pascal. - Yêu cầu học sinh lấy ví dụ khai báo thư viện chương trình trong ngôn ngữ Pascal. - Yêu cầu học sinh lấy ví dụ khai báo hằng trong ngôn ngữ Pascal. - Yêu cầu học sinh lấy ví dụ khai báo biến trong ngôn ngữ Pascal. - Yêu cầu học sinh cho biết cấu trúc chung của phần thân chương trình trong ngôn ngữ Pascal.. Hoạt động của Học sinh 1. Lắng nghe và suy nghĩ trả lời: - Có 3 phần. - Có thứ tự: Mở bài, thân bài và kết luận. - Để dễ viết, dễ đọc, dễ hiểu nội dung. 2. Nghiên cứu sách giáo khoa, thảo luận và trả lời. - Hai phần: [<phần khai báo>] <phần thân chương trình> - Khai báo tên chương trình, khai báo thư viện chương trình con, khai báo hằng, khai báo biến và khai báo chương trình con. - Cấu trúc: Program <tên chương trình>; Ví dụ: Program Tinh_Tong; - Cấu trúc: Uses <tên thư viện>; - Ví dụ: Uses crt; - Cấu trúc: Const <tên hằng = giá trị>; - Ví dụ: const max= 100; - Cấu trúc: Var <danh sách biến>: <kiểu dữ liệu>; - Ví dụ: Var a, b, c : integer; - Cấu trúc chung của phần thân: Begin Dãy các lệnh; End.. 3. Tìm hiểu một chương trình đơn giản. 3. Quan sát và trả lời. - Chiếu lên bảng một chương trình đơn giản trong ngôn ngữ C++:. Nội dung Một chương trình thường gồm 2 phần: [Phần khai báo] <phần thân> - Khai báo tên chương trình, khai báo thư viện chương trình con, khai báo hằng, khai báo biến và khai báo chương trình con. - Cấu trúc chung của phần thân: Begin Dãy các lệnh; End..

<span class='text_page_counter'>(15)</span> #include<stdio.h> Void main() { Printf(“Xin chao cac ban”); } - Hỏi: Phần khai báo của chương trình trên? - Hỏi: Phần thân chương trình, lệnh Printf có chức năng gì?. - Phần khai báo chỉ có một khai báo thư viện stdio.h - Phần thân { }. - Lệnh Printf dùng để đưa thông báo ra màn hình.. - Chiếu lên bảng một chương trình đơn giản trong ngôn ngữ Pascal. Program VD1; Var x, y: byte; t: Word; BEGIN t:= x+y; writeln(t); readln; END. - Hỏi: Phần khai báo của - Khai báo tên chương trình: chương trình? Program VD1; - Khai báo biến: Var x, y: byte; t: Word; Var x, y: byte; - Hỏi: Phần thân chương t: word; trình? Có lệnh nào trong thân - Còn lại là phần thân. chương trình? - Lệnh gán, lệnh đưa thông báo ra màn hình. 4. Yêu cầu học sinh lấy ví dụ 4. Thảo luận và trả lời. về một chương trình Pascal Begin không có phần tên và phần Writeln(’tin hoc lop 11’); khai báo. Readln; End.. IV. TỔNG KẾT VÀ HƯỚNG DẪN HỌC TẬP - Cấu trúc chung của chương trình: Phần khai báo và phần thân chương trình..

<span class='text_page_counter'>(16)</span> - Phần khai báo: Tên chương trình, thư viện, biến, hằng. - Phần thân chương trình: Bắt đầu từ khoá “Bắt đầu” đầu tiên và kết thúc tại từ khoá “kết thúc” cuối cùng. E. Bài tập về nhà: Các em đọc, học lại bài và trong ví dụ 1 trang 41 sách giáo khoa tin học 11, em hãy cho biết chương trình này có phần khai báo không? Nếu có thì chương trình này khai báo những gì? Rút kinh nghiệm sau tiết dạy: ............................................................................................................................................................ ......................................................................................................................................................................... ......................................................................................................................................................................... ......................................................................................................................................................................... ..........................................................................................................................................................................

<span class='text_page_counter'>(17)</span> Ngày soạn: 8 tháng 09 năm 2016. Tiết theo PPCT: 05. Bài 4 MỘT SỐ KIỂU DỮ LIỆU CHUẨN Bài 5: KHAI BÁO BIẾN I. MỤC TIÊU: 3. Kiến thức: - - Biết được một số kiểu dữ liệu chuẩn: nguyên, thực, kí tự, logic. - Biết được cấu trúc chung của phần khai báo biến. 4. Kỹ năng: - Có thể biết cách sử dụng các kiểu dữ liệu hợp lý cho các biến và hằng. - Khai báo đúng cấu trúc , đúng kiểu dữ liệu. II. CHUẨN BỊ:  Giáo viên: - Soạn giáo án trước khi lên lớp. - Một số biến và hằng số trong các bài toán và kiểu dữ liệu của chúng. - Máy chiếu đa năng, màn chiếu, máy vi tính, các thiết bị hỗ trợ khác (nếu có)  Học sinh: - Nắm vững cấu trúc của một chương trình. - Đọc trước sách giáo khoa ở nhà. - Sách giáo khoa, vở ghi chép bài và đồ dùng học tập. III. TỔ CHỨC CÁC HOẠT ĐỘNG HỌC TẬP A. Ổn định lớp và kiểm tra sĩ số. B. Tiến trình bài học: 1.Hoạt động 1: Tìm hiểu một số kiểu dữ liệu chuẩn (20 phút). Pp dạy học: Dạy học thuyết trình, vấn đáp. Kỹ thuật/ hình thức dạy học: Dạy học trên lớp. Hoạt động của Giáo viên 1. Đặt vấn đề: Trong toán học, để thực hiện được tính toán ta cần phải có các tập số. Đó là các tập số nào? - Diễn giải: Cũng tương tự như vậy, trong ngôn ngữ lập trình Pascal, để lập trình giải quyết các bài toán, cần có các tập hợp, mỗi tập hợp có một giới hạn nhất định. - Các em có thể hiểu nôm na: Kiểu dữ liệu chuẩn là một tập hữu hạn các giá trị, mỗi kiểu. Hoạt động của Học sinh Nội dung 1. Chú ý, lắng nghe và suy nghĩ trả lời: - Dữ liệu Có 4 kiểu: kiểu - Số tự nhiên, số nguyên, số nguyên, kiểu thực, kiểu kí hữu tỉ, số thực. tự và kiểu logic. - Kiểu nguyên Có 4 loại: - Chú ý, lắng nghe. Byte, word, integer và longint. - Liên tưởng các tập số trong toán học với một kiểu dữ liệu - Kiểu thực Có 2 loại: trong Pascal. Real, Extended..

<span class='text_page_counter'>(18)</span> dữ liệu cần một dung lượng bộ nhớ cần thiết để lưu trữ và xác định các phép toán có thể tác động lên dữ liệu. 2. Yêu cầu học sinh nghiên cứu sách giáo khoa và trả lời các câu hỏi sau: - Có bao nhiêu kiểu dữ liệu chuẩn trong ngôn ngữ Pascal? - Trong ngôn ngữ Pascal, có những kiểu số nguyên nào thường dùng, phạm vi biểu diễn của mỗi loại? - Trong ngôn ngữ Pascal, có những kiểu số thực nào thường dùng, phạm vi biểu diễn của mỗi loại? - Trong ngôn ngữ Pascal, có bao nhiêu kiểu kí tự? - Trong ngôn ngữ Pascal, có bao nhiêu kiểu logic, gồm các giá trị nào? 3. Giải thích một số vấn đề cho học sinh: + Vì sao phạm vi biểu diễn của các loại kiểu nguyên lại khác nhau. + Miền giá trị của các loại kiểu thực, số chữ số có nghĩa? 4. Phát vấn: Muốn tính toán trên các giá trị: 467.5 ta phải sử dụng kiểu dữ liệu gì?. - Kiểu kí tự Có 1 loại: 2. Nghiên cứu sách giáo khoa Char. và trả lời. - Kiểu Logic Có 1 loại: - Có 4 kiểu: kiểu nguyên, kiểu Boolean, gồm 2 phần tử: thực, kiểu kí tự và kiểu logic. True và False. - Có 4 loại: Byte, word, integer và longint. - Có 2 loại: Real, Extended. - Có 1 loại: Char. - Có 1 loại: Boolean, gồm 2 phần tử: True và False. 3. Chú ý lắng nghe và ghi chép bài. 4. Suy nghĩ và trả lời: Kiểu Real.. 2.Hoạt động 2: Tìm hiểu cách khai báo biến (20 phút). PP dạy học: dạy học thuyết trình, vấn đáp. Kỹ thuật/ hình thức dạy học: Dạy học trên lớp kết hợp tranh ảnh.. Hoạt động của Giáo viên 1. Yêu cầu học sinh nghiên cứu sách giáo khoa và cho biết vì sao phải khai báo biến? - Cấu trúc chung của khai báo biến trong ngôn ngữ Pascal.. Hoạt động của Học sinh Nội dung 1. Nghiên cứu sách giáo khoa Cấu trúc khai báo và trả lời: Var <danh sách biến>:<kiểu dữ liệu>; - Mọi biến dùng trong chương Ví dụ trình đều phải khai báo tên Var x: word;.

<span class='text_page_counter'>(19)</span> - Cho ví dụ để khai báo một biến nguyên và một kiểu kí tự. 2. Treo tranh có chứa một số khai báo và yêu cầu học sinh chọn khai báo đúng trong NNLT Pascal? Var x, y, z: word; n 1: real; h: in tegr; i: byte; 3. Treo tranh có chứa một số khai báo biến trong Pascal. - Hỏi: Có bao nhiêu biến tất cả, bộ nhớ phải cấp phát là bao nhiêu? Var x, y: word; z: longint; h: integer; i: byte;. biến và kiểu dữ liệu của biến. Tên biến dùng để xác lập quan hệ giữa biến với địa chỉ bộ nhớ nơi lưu trữ giá trị của biến. - Var <danh sách biến>:<kiểu dữ liệu>; Var x: word; y: char; 2.Quan sát tranh và chọn khai báo đúng.. y: char;. Var x, y, z: word; i: byte; 3. Quan sát tranh và trả lời.. - Có 5 biến. - Tổng bộ nhớ cần cấp phát: x (2byte), y (2byte), z (4byte), h (2byte), i (1byte). => tổng = 2 + 2 + 4 + 2 + 1 = 11byte. IV. TỔNG KẾT VÀ HƯỚNG DẪN HỌC TẬP - Các kiểu dữ liệu chuẩn: Kiểu nguyên, kiểu số thực, kiểu kí tự và kiểu logic. - Mọi biến trong chương trình phải được khai báo. Trong NNLT Pascal có cú pháp Var <danh sách biến>: <kiểu dữ liệu>; E. Bài tập về nhà: - Làm bài tập 1, 2, 3, 4, 5 trang 35 sách giáo khoa tin 11. Rút kinh nghiệm sau tiết dạy: ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… ………………………………………………………………………………………… …………………………………………………………………………………..

<span class='text_page_counter'>(20)</span> Ngày soạn: 10 tháng 09 năm 2016. Tiết theo PPCT: 06. Bài 6: PHÉP TOÁN, BIỂU THỨC, CÂU LỆNH GÁN. I. MỤC TIÊU: * Kiến thức: - Giúp học sinh biết được các phép toán thông dụng trong ngôn ngữ lập trình. - Biết diễn đạt một biểu thức trong ngôn ngữ lập trình. - Biết được chức năng của lệnh gán. - Biết được cấu trúc của lệnh gán và một số hàm chuẩn thông dụng trong ngôn ngữ lập trình Pascal. * Kỹ năng: - Hiểu và lấy ví dụ được về các loại biểu thức. - Có thể chuyễn đổi biểu thức toán học sang biểu thức dạng pascal và ngược lại. - Có thể sử dụng lệnh gán vào chương trình cụ thể. II. CHUẨN BỊ:  Giáo viên - Giáo án, sgk tin học 11. - Một số bài toán mẫu để giới thiệu cho hs: các công thức toán học để chuyển sang tin học, bài toán nhập một số và in số đó ra màn hình. - Chuẩn bị máy chiếu nếu có.  Học sinh: - Đọc trước sách giáo khoa ở nhà, làm bài tập ở nhà, nắm kỹ phần khai báo, câu lệnh gán. - Sách giáo khoa, vở ghi chép bài và đồ dùng học tập. III.TIẾN TRÌNH BÀI HỌC: A. ổn định lớp: - Sĩ số: ...........- Số học sinh vắng mặt: ........... Câu hỏi bài cũ 1: Một số X trong Pascal nhận giá trị 0.1 0.5 10.05 20 … và số y nhận giá trị nguyên: -10 -3 20 32 105 thì X và Y có thể được khai báo như thế nào. Câu hỏi bài cũ 2: Một số a nhận các giá trị nguyên trong khoảng 100 đến 355 thì số a khai báo ntn là tiết kiệm bộ nhớ nhất: A. Var a: byte; B.Var a: Integer; C. Var a: Word; D. var a: Real; B. Nội dung bài học: 1.Hoạt động 1: Tìm hiểu một số phép toán với kiểu dữ liệu chuẩn (10 phút): PP dạy học: Sử dụng PP vấn đáp với các câu hỏi gợi mở do các phép toán và kiểu dữ liệu thực chất HS đã được làm quen bên toán học. Kỹ thuật/ hình thức dạy học: Dạy học trên lớp. Hoạt động của Giáo viên. Hoạt động của Học sinh. Nội dung.

<span class='text_page_counter'>(21)</span> 1. Đặt vấn đề: Để mô tả các thao tác trong thuật toán, mỗi ngôn ngữ lập trình đều sử dụng một số khái niệm cơ bản: phép toán, biểu thức, gán giá trị. 2. Vấn đáp: Hãy kể các phép toán em đã được học trong toán học. - Diễn giải: Trong ngôn ngữ lập trình Pascal cũng có các phép toán đó nhưng được diễn đạt bằng một cách khác. - Yêu cầu học sinh nghiên cứu sách giáo khoa và cho biết các nhóm phép toán.. 1. Chú ý lắng nghe.. - Các Phép toán trên kiểu số nguyên: cộng, trừ, nhân, chia, lấy số dư(div), chia lấy nguyên(mod) +, -, *, /, div, mod. Các phép toán tre4en - Chú ý lắng nghe, quan sát. kiểu thực: +, - *, / - Các phép toán quan hệ: <, <=, >, >=, =, <>. - Suy nghĩ, trả lời. - Các phép toán logic: - Phép: cộng, trừ, nhân, chia, And, Or, Not. lấy số dư, chia lấy nguyên, so sánh. - Các phép toán số học: +, -, *, /, div, mod. - Các phép toán quan hệ: <, <=, >, >=, =, <>. - Các phép toán logic: And, Or, Not.. - Hỏi: Phép DIV, MOD được sử dụng cho những kiểu dữ liệu nào? - Chỉ sử dụng được cho kiểu - Giáo viên lấy ví dụ về DIV nguyên. và MOD vì đây là 2 phép toán mới. - Hỏi: Kết quả của phép toán quan hệ thuộc kiểu dữ liệu nào? - Thuộc kiểu logic.. 2Hoạt động 2: Tìm hiểu biểu thức (20 phút). PP dạy học: Sử dụng PP nêu vấn đề, HS tự làm việc; Sử dụng tranh ảnh chửa bị sẵn về các phép toán.. Kỹ thuật/ hình thức dạy học: Dạy học trên lớp. Hoạt động của Giáo viên Hoạt động của Học sinh Nội dung 1. Nêu vấn đề: Trong toán 1. Suy nghĩ và trả lời. Các biểu thức trong học, ta đã làm quen với khái - Gồm hai phần: toán hạng và Pascal giống như biểu.

<span class='text_page_counter'>(22)</span> niệm biểu thức. Hãy cho biết yếu tố cơ bản xây dựng nên biểu thức. - Nếu trong một bài toán mà toán hạng là biến số, hằng số hoặc hàm số và toán tử là các phép toán số học thì biểu thức có tên gọi là gì? 2. Treo tranh có chứa các biểu thức toán học lên bảng, yêu cầu: Sử dụng các phép toán số học, hãy biểu diễn biểu thức toán học sau thành biểu thức trong ngôn ngữ lập trình 2a + 5b + c xy 2z. toán tử. - Biểu thức số học.. 2. Quan sát tranh và trả lời:. thức trong toán học, trong biểu thức có thể chứa: dấu ngoặc, các phép toán, các phép quan hệ… Vd: ((x + y) / (1 - (2/z)) Thứ tự thực hiện trong biểu thức : trong cặp ngoặc nhân, chia, Div, Modcộng trừ.. 2*a + 5*b + c. x*y/(2*z).. x  y x2  2 2z 1 z. ((x + y) / (1 - (2/z))) + (x * x / (2 * z)).. - Nghiên cứu sách giáo khoa và từ việc xây dựng các biểu thức trên, hãy nêu thứ tự thực hiện các phép toán. 3. Nêu vấn đề: Trong toán học ta đã làm quen với một số hàm số học, hãy kể tên một số hàm đó? - Trong ngôn ngữ lập trình ta cũng có một số hàm như vậy nhưng diễn đạt bằng một cách khác. - Treo tranh chứa bằng một số hàm chuẩn, yêu cầu học sinh điền thêm các thông tin như chức năng của hàm, kiểu của đối số và kiểu của hàm số. Cho biểu thức:. - Thực hiện trong ngoặc trước, ngoài ngoặc sau. Nhân Một số hàm số học chia trước, cộng trừ sau. chuẩn có sẵn trong Pascal : 3. Suy nghĩ và trả lời. Sin(x) Cos(x) Sqr(x) : X2. - Hàm trị tuyệt đối, hàm căn Sqrt(x) : Căn X. bậc hai, hàm sin, hàm cos, Abs(x) : |x| …. - Quan sát tranh vẽ, nghiên cứu sách giáo khoa và lên bảng điền vào tranh.. - Suy nghĩ và trả lời: (-b + sqrt(b*b – 4*a*c))/.

<span class='text_page_counter'>(23)</span>  b  b 2  4ac 2a , hãy biểu diễn biểu thức trên sang biểu thức trong ngôn ngữ lập trình. 4. Nêu vấn đề: Khi hai biểu thức số học liên kết với nhau bằng phép toán quan hệ ta được một biểu thức mới, biểu thức đó gọi là biểu thức gì? - Hãy lấy một số ví dụ về biểu thức quan hệ? - Yêu cầu học sinh nghiên cứu sách giáo khoa và cho biết cấu trúc chung của biểu thức quan hệ? - Thứ tự thực hiện của biểu thức quan hệ? - Cho biết kết quả của phép toán quan hệ thuộc kiểu dữ liệu nào đã học? 5. Nêu vấn đề: Các biểu thức quan hệ được liên kết với nhau bởi phép toán logic được gọi là biểu thức logic. - Hãy cho một số ví dụ về biểu thức logic. - Trong toán học ta có biểu thức 5 <= x <= 11, hãy biểu diễn biểu thức này trong ngôn ngữ lập trình. - Thứ tự thực hiện biểu thức logic. - Kết quả của biểu thức logic có kiểu dữ liệu là gì? - Treo tranh có chứa bảng chân trị của A và B, yêu cầu học sinh điền giá trị cho A and B, A or b, not A.. (2*a).. 4. Suy nghĩ và trả lời - Gọi là biểu thức quan hệ. - Ví dụ: 2*x < y.. Biểu thức quan hệ: chứa các phép toán quan hệ >; >=; <; <=; =; <>.. - Cấu trúc chung: <BT1> <phép toán quan hệ > <BT2>. + Tính giá trị biểu thức. + Thực hiện phép toán quan hệ. - Kiểu logic. 5. Chú ý theo dõi dẫn dắt của Biểu thức Logic chứa giáo viên và suy nghĩ trả lời. các phép toán logic: And, or, not. - Ví dụ: (A>B) or ((X+1<Y) và (5>2) and ((3+2)<7). - Biểu diễn trong ngôn ngữ lập trình: (5 <= x) and (x <= 11). - Thực hiện biểu thức logic. - Thực hiện phép toán logic. - Học sinh suy nghĩ và trả lời bằng cách điền vào bảng..

<span class='text_page_counter'>(24)</span> 3.Hoạt động 3: Tìm hiểu lệnh gán (10 phút). PP dạy học: Sử dụng PP nêu vấn đề, HS tự làm việc. Kỹ thuật/ hình thức dạy học: Dạy học trên lớp. Hoạt động của Giáo viên Hoạt động của Học sinh Nội dung 1. Giới thiệu một ví dụ về Cấu trúc của lệnh gán: lệnh gán trong Pascal như: 1. Quan sát ví dụ và suy nghĩ <tên_biến>:= x:= 4 + 8; trả lời. <biểu_thức>; - Giải thích: Lấy 4 cộng với 8, vd: x:=a+10; đem kết quả đó đặt vào x. Ta được x= 12. - Hỏi: Hãy cho biết chức năng - Tính giá trị của biểu thức. của lệnh gán? - Gán giá trị được vào tên một - Yêu cầu học sinh nghiên biến. cứu sách giáo khoa và cho <tên_biến>:= <biểu_thức>; biết cấu trúc chung của lệnh gán trong NNLT Pascal. - Hãy cho một ví dụ để tính nghiệm của phương trình bậc 2. x:= (-b + sqrt(b*b - 4*a*c))/  b  b 2  4ac (2*a); 2a - Giới thiệu thêm ví dụ: cho chương trình sau: Var i, z: integer; Begin z:= 4; i:= 6; z:= z-1; i:= i+1; Writeln(’ i= ’, i); Write(’z= ’, z); Readln; End. - Hỏi: Chương trình in ra màn - In ra màn hình: z = 3 và i = hình giá trị bằng bao nhiêu? 7. - Thực hiện chương trình để - Quan sát kết quả của chươn học sinh kiểm nghiệm kết quả trình. tự suy luận. IV. TỔNG KẾT VÀ HƯỚNG DẪN HỌC TẬP - Các phép toán trong Turbo Pascal: Số học, quan hệ và logic. - Các biểu thức trong Turbo Pascal: Số học, quan hệ và logic..

<span class='text_page_counter'>(25)</span> - Cấu trúc lệnh gán trong Turbo Pascal: <tên_biến>:= <biểu_thức>; Bài tập về nhà: - Làm các bài tập 5, 6, 7 và 8 trang 35 – 36 sách giáo khoa tin học 11. - Xem phụ lục A, sách giáo khoa trang 121: một số phép toán thường dùng và giá trị phép toán logic. sin x  | x |. - Biểu diễn trong toán học công thức: y= x  2 y Rút kinh nghiệm sau tiết dạy: .................................................................................................................... .................. .......................................................................................................................................... .......................................................................................................................................... .......................................................................................................................................... ......................................................................................................................

<span class='text_page_counter'>(26)</span> Ngày soạn: 15 tháng 09 năm 2016 Tiết theo PPCT: 07. Bài 7: CÁC THỦ TỤC CHUẨN VÀO/RA ĐƠN GIẢN; Bài 8: SOẠN THẢO, DỊCH, THỰC HIỆN VÀ HIỆU CHỈNH CHƯƠNG TRÌNH . I. Mục tiêu: 5. Kiến thức: - Biết được ý nghĩa của các thủ tục vào/ra chuẩn đối với lập trình: - Biết được cấu trúc chung của thủ tục vào/ra trong ngôn ngữ lập trình Pascal: Read() và write(); - Biết viết đúng lệnh vào/ra dữ liệu. - Biết nhập đúng dữ liệu vào/ra khi thực hiện chương trình. - Biết được các bước để hoàn thành một chương trình. - Biết các file trong chương trình cơ bản của Turbo Pascal 7.0. - Biết khởi động và thoát khỏi hệ soạn thảo của Turbo Pascal. 6. Kỹ năng: - Có thể khởi động Pascal, soạn thảo và chạy được chương trình đơn giản. - Chạy chương trình và kết thúc làm việc ở môi trường Pascal. II. Chuẩn bị:  Giáo viên: - Soạn giáo án trước khi lên lớp, sgk tin học 11. - Trong giáo án chuẩn bị các bài toán dùng lệnh Read và Write - Máy chiếu đa năng, màn chiếu, máy vi tính, các thiết bị hỗ trợ khác (nếu có)  Học sinh: - Nắm rõ các lệnh và cấu trúc chương trình. - Đọc trước sách giáo khoa ở nhà, làm bài tập. - Sách giáo khoa, vở ghi chép bài và đồ dùng học tập. I. Tiến trình bài học: A. ổn định lớp: - Sĩ số: ............ - Số học sinh vắng mặt: ........... Câu hỏi bài cũ: Chuyển các công thức sau sang Pascal:  b  dt X= 2a ;. sin y  cos x yx Y=. B. Nội dung bài học: 1.Hoạt động 1: Tìm hiểu thủ tục nhập dữ liệu vào từ bàn phím(10 phút). Phương pháp dạy học: Sử dụng PP thuyết trình kết hợp máy chiếu; Hình thức/ Kỹ thuật dạy học: Dạy học trên lớp có máy chiếu để HS kiểm nghiệm lý thuyết;.

<span class='text_page_counter'>(27)</span> Hoạt động của Giáo viên 1. Nêu vấn đề: Khi giải quyết một bài toán, ta phải đưa dữ liệu vào máy tính xử lí. Việc đưa dữ liệu vào máy bằng lệnh sẽ làm cho chương trình chỉ có tác dụng với một dữ liệu cố định. Để chương trình giải quyết được nhiều bài toán hơn, ta phải sử dụng thủ tục nhập dữ liệu. - Yêu cầu học sinh nghiên cứu sách giáo khoa và cho biết cấu trúc chung của thủ tục nhập dữ liệu trong NNLT Pascal.. Hoạt động của Học sinh Nội dung 1. Chú ý lắng nghe dẫn Cấu trúc lệnh nhập: dắt của giáo viên. Read(danh sách biến); hoặc: Readln(danh sách kết quả); vd: Read(a,b,c);. - Nghiên cứu sách giáo khoa và suy nghĩ để trả lời. Read(<tên_biến_1>,..., <tên_biến_n>); Readln(<tên_biến_1>,..., - Nêu ví dụ: Khi viết chương trình <tên_biến_n>); giải phương trình ax + b = 0, ta - Phải nhập giá trị cho 2 phải nhập vào các đại lượng nào? biến a và b. Viết lệnh nhập? + Lệnh nhập: read(a,b). 2. Chiếu một chương trình Pascal đơn giản có lệnh nhập giá trị cho 2. Quan sát chương trình hai biến. ví dụ của giáo viên. - Thực hiện chương trình và nhập dữ liệu. - Những giá trị này phải - Hỏi: Khi nhập giá trị cho nhiều được gõ cách nhau ít nhất biến, ta phải thực hiện như thế một dấu cách hoặc kí tự nào? xuống dòng. - Lên bảng thực hiện nhập - Yêu cầu học sinh thực hiện nhập theo yêu cầu của giáo dữ liệu cho chương trình. viên. 2.Hoạt động 2: Tìm hiểu thủ tục đưa dữ liệu ra màn hình(8 phút): Phương pháp dạy học: Sử dụng PP thuyết trình kết hợp máy chiếu; Hình thức/ Kỹ thuật dạy học: Dạy học trên lớp có máy chiếu để HS kiểm nghiệm. Hoạt động của Giáo viên Hoạt động của Học sinh 1. Dẫn dắt: Sau khi xử lí xong, kết 1. Chú ý lắng nghe dẫn dắt quả tìm được đang được lưu trữ của giáo viên. trong bộ nhớ. Để thấy được kết quả trên màn hình ta sử dụng thủ tục xuất dữ liệu. - Yêu cầu học sinh nghiên cứu - Nghiên cứu sách giáo. Nội dung Cấu trúc lệnh ghi dữ liệu ra màn hình: Write(danh sách kết quả); Hoặc Writeln(danh sách kết.

<span class='text_page_counter'>(28)</span> sách giáo khoa và cho biết cấu trúc chung của thủ tục xuất dữ liệu trong ngôn ngữ lập trình Pascal: - Nêu ví dụ: Khi viết chương trình giải phương trình ax + b = 0, ta phải đưa ra màn hình giá trị của nghiệm –b/a, ta phải viết nó như thế nào? 2. Chiếu một chương trình Pascal đơn giản Program VD; Var x, y, z: integer; Begin Writeln(’nhap vao hai so:’); readln(x,y); z:= x+y; write(x:6, y:6, z:6); readln; End. - Thực hiện chương trình và thực hiện nhập dữ liệu để học sinh thấy kết quả trên nền màn hình. - Hỏi: Chức năng của lệnh Writeln(); - Hỏi: ý nghĩa của “:6” trong lệnh write(…).. khoa và trả lời. Write(<tên_biến_1>, ..., <tên_biến_n>); Writeln(<tên_biến_1>,.., <tên_biến_n>);. quả); Vd: Writeln(‘Gia tri cua a la’,a);. - Viết lệnh: Writeln(-b/a);. 2. Quan sát chương trình ví dụ của giáo viên.. - Viết ra màn hình dòng chữ và đưa con trỏ xuống dòng. - Dành 6 vị trí trên màn hình để viết số x, 6 vị trí tiếp theo để viết số y và 6 vị trí tiếp theo để viết số z. - Hỏi: Khi các tham số trong lệnh - Khi các tham số có kiểu write() thuộc kiểu char hoặc real kí tự, việc quy định vị trí giống kiểu nguyên. thì quy định vị trí như thế nào? - Khi các tham số có kiểu thực thì ta phải quy định 2 - Cho ví dụ cụ thể với 2 biến c loại vị trí: vị trí cho toàn bộ số thực và vị trí cho kiểu char và r kiểu real. phần thập phân. - Ví dụ: write(c:8); Writeln(r:8:3); 3.Hoạt động 3: Làm quen với Turbo Pascal 7.0 (5 phút): Phương pháp dạy học: Sử dụng PP thuyết trình kết hợp máy chiếu;.

<span class='text_page_counter'>(29)</span> Hình thức/ Kỹ thuật dạy học: Dạy học trên lớp có máy chiếu để HS kiểm nghiệm. Hoạt động của Giáo Hoạt động của Học sinh Nội dung viên 1. Đặt vấn đề: Để sử 1. Tham khảo sách giáo Khởi động Pascal dụng được Turbo pascal, khoa và trả lời. và thao tác: trên máy vi tính thì phải Turbo.exe có các file chương trình Turbo.tpl cần thiết của nó. Tham Graph.tpu khảo sách giáo khoa và Egavga.bgi và các file cho biết tên các file *.chr chương trình đó? 2. Quan sát và ghi nhớ 2. Trình diễn cách khởi vào vở. động Turbo Pascal thông qua máy Prọector. - Giới thiệu màn hình soạn thảo chương trình: bảng chọn, con trỏ, vùng soạn thảo. 4.Hoạt động 4: Tập soạn thảo chương trình và dịch lỗi cú pháp (5 phút). Phương pháp dạy học: Sử dụng PP thuyết trình kết hợp máy chiếu; Hình thức/ Kỹ thuật dạy học: Dạy học trên lớp có máy chiếu để HS kiểm nghiệm. Hoạt động của Giáo viên Hoạt động của Học sinh Nội dung 1. Soạn thảo chương trình làm 1. Quan sát và ghi nhớ. HS thực hiện biên dịch: ví dụ, lưu chương trình, dịch - Soạn thảo; lỗi. - Lưu: F2 - Kiểm tra lỗi cú pháp; - Dùng máy chiếu đa năng để - Dịch lỗi: Alt + F9 - Dịch chương trình. minh họa thao tác lưu file 2. Quan sát và phát hiện lỗi để F2 (Lưu); chương trình và biên dịch. sửa lỗi cho chương trình. Ctrl+ F9: Dịch lỗi và 2. Soạn thảo chương trình, hỏi Program VD1; thực hiện. các lỗi cú pháp trong chương Var x: integer; trình, gọi học sinh dịch lỗi và y: real; sửa. Begin Program VD1; write(’ nhap mot so nguyen Var x: integer; duong ’); Begin readln(x); write(’ nhap mot so nguyen write(y); duong ); End. readln(x); y:= sqrt(x); write(y);.

<span class='text_page_counter'>(30)</span> End. IV. TỔNG KẾT VÀ HƯỚNG DẪN HỌC TẬP - Nhập dữ liệu: read/readln(<tên_biến_1>, ..., <tên_biến_n>); - Xuất dữ liệu: write/writeln(<tham_số_1>, …, <tham_số_n>); - Khởi động Turbo, soạn thảo chương trình, dịch lỗi cú pháp, thực hiện chương trình. Tìm lỗi thuật toán và hiệu chỉnh. E. Bài tập về nhà: Các em hãy về thực hành và cho biết sự giống nhau và khác nhau của read và readln. Tương tự với write và writeln. Làm bài tập 9, 10 trang 36 sách giáo khoa tin hoc 11. Rút kinh nghiệm sau tiết dạy: .................................................................................................................... …………. .................................................................................................................... …………. …………………………………………………………………………………………..

<span class='text_page_counter'>(31)</span> Ngày soạn: 17 tháng 9 năm 2016. Tiết theo PPCT: 08. BÀI THỰC HÀNH SỐ 1 I. MỤC TIÊU a. Kiến thức: - Biết được một chương trình Pascal hoàn chỉnh. - Làm quen với các dịch vụ chủ yếu của Turbo Pascal trong việc soạn thảo, lưu chương trình, dịch chương trình và thực hiện chương trình. b. Kỹ năng: - Soạn được chương trình, lưu lên đĩa, dịch lỗi cú pháp, thực hiện và tìm lỗi thuật toán và hiệu chỉnh. - Bước đầu biết phân tích và hoàn thành một chương trình đơn giản II. CHUẨN BỊ  Giáo viên: - Soạn giáo án trước khi lên lớp. - Chuẩn bị trước một số chương trình đơn giản để thực hành, phòng máy, máy chiếu.  Học sinh: - Đọc trước các nội dung bài thực hành cùng thao tác với PASCAL. - Sách giáo khoa, vở ghi chép bài và đồ dùng học tập. III. TIẾN TRÌNH BÀI HỌC A. Ôn định phòng máy: - Sĩ số: ............ - Số học sinh vắng mặt: ........... B. Nội dung bài học: 1.Hoạt động 1: Tìm hiểu một chương trình hoàn chỉnh: PP dạy học: Học sinh quan sát, thực hành. Hình thức dạy học: Phòng máy kết hợp trình chiếu. Hoạt động của Giáo viên 1. Chiếu chương trình lên bảng (giải pt bậc 2). Yêu cầu học sinh các nhiệm vụ: - Soạn thảo chương trình vào máy. - Lưu chương trình lại. - Dịch lỗi cú pháp. - Thực hiện chương trình. - Nhập dữ liệu 1 -3 2 thông báo kết quả. - Trở lại màn hình soạn thảo. - Thực hiện chương trình. - Nhập dữ liệu 1 0 2 thông. Hoạt động của Học sinh Nội dung 1. Quan sát trên bảng, độc lập - Theo dõi và soạn thảo soạn chương trình vào máy. chương trình trong SGK. - Nhấn phím F2. - Lưu chương trình: F2; - Nhấn tổ hợp phím Alt + F9. - Dịch và sửa lỗi: Crtl+ - Nhấn tổ hợp phím Ctrl + F9. F9 - Nhập bộ số a, b, c và - Nhấn phím Enter. quan sát kết quả. - Nhấn tổ hợp phím Ctrl + F9. - Thông báo lỗi. - Do căn bậc hai của một số âm. readln(a,b,c);.

<span class='text_page_counter'>(32)</span> báo kết quả. - Hỏi: Vì sao lỗi lại xuất hiện? Sửa lại chương trình không dùng biến d.. x1:= -b - sqrt(b*b - 4*a*c)/ (2*a); x2:= -b + sqrt(b*b - 4*a*c)/ (2*a); writeln(’x1= ’, x1:6:2, ’ va x2= ’,x2:6:2); IV. TỔNG KẾT VÀ HƯỚNG DẪN HỌC TẬP Củng cố bài học: Các bước để hoàn thành một chương trình: + Phân tích bài toán để xác định dữ liệu vào và dữ liệu ra. + Xác định thuật toán. + Soạn chương trình vào máy. + Lưu chương trình. + Biên dịch chương trình. + Thực hiện và hiệu chỉnh chương trình. E. Bài tập về nhà: Viết chương trình nhập từ bàn phím vào độ dài của 3 cạnh của tam giác (nhập hợp lệ). Tính chu vi và diện tích của tam giác trên. Rút kinh nghiệm sau tiết dạy: ………………………………………………………………………............................................................................... ........................................................................................................................................................................................... ...............................................................................................................................................................................

<span class='text_page_counter'>(33)</span> Ngày soạn: 22 tháng 9 năm 2016. Tiết theo PPCT: 09.. BÀI THỰC HÀNH SỐ 1 (TIẾP) I. MỤC TIÊU a. Kiến thức: - Biết được một chương trình Pascal hoàn chỉnh. - Làm quen với các dịch vụ chủ yếu của Turbo Pascal trong việc soạn thảo, lưu chương trình, dịch chương trình và thực hiện chương trình. b. Kỹ năng: - Soạn được chương trình, lưu lên đĩa, dịch lỗi cú pháp, thực hiện và tìm lỗi thuật toán và hiệu chỉnh. - Bước đầu biết phân tích và hoàn thành một chương trình đơn giản II. CHUẨN BỊ  Giáo viên: - Soạn giáo án trước khi lên lớp. - Chuẩn bị trước một số chương trình đơn giản để thực hành, phòng máy, máy chiếu.  Học sinh: - Đọc trước các nội dung bài thực hành cùng thao tác với PASCAL. - Sách giáo khoa, vở ghi chép bài và đồ dùng học tập. III. TIẾN TRÌNH BÀI HỌC A. Ôn định phòng máy: - Sĩ số: ............ - Số học sinh vắng mặt: ........... B. Nội dung bài học: Hoạt động 1: Rèn luyện kĩ năng lập trình: pp dạy học: Dạy học ôn tập và thực hành, HS tự làm việc theo sự giám sát và gợi ý của giáo viên. Hình thức dạy học: Dạy học trên lớp;Kết hợp máy chiếu (nếu có). Hoạt động của Học sinh Hoạt động của Giáo viên Nội dung 1. Phân tích theo yêu cầu của 1. Định hướng để học sinh Bài tập 9 Sgk: giáo viên. phân tích bài toán. - dữ liệu vào. - dữ liệu vào: a. - dữ liệu ra. - dữ liệu ra: s. - cách tính. - Tính diện tích hình tròn có bán kính a(s1). - Tính diện tích hình vuông 2. Yêu cầu học sinh soạn cạnh a 2 (s2) chương trình và lưu trên đĩa. S:= s1 – s2. - Quan sát hướng dẫn từng 2. Thực hiện các yêu cầu của học sinh trong lúc thực hành. giáo viên..

<span class='text_page_counter'>(34)</span> - Soạn chương trình. - Bấm phím F2, gõ tên file để lưu. - Bấm tổ hợp phím Alt + F9 để dịch lỗi cú pháp. - Bấm tổ hợp phím Ctrl +F9 để thực hiện chương trình. - Thông báo kết quả cho giáo viên. 3. Nhập dữ liệu theo yêu cầu:. 3. Yêu cầu học sinh nhập dữ liệu và thông báo kết quả. a= 3. a= -3.. - Với a= 3, ta được s= 9 (pi2)=10.26. - Với a= -3, kết quả không đúng vì độ dài cạnh phải là số dương. IV. CỦNG CỐ, ĐÁNH GIÁ VÀ HƯỚNG DẪN HỌC TẬP Thao tác lại cho HS các thao tác làm việc trong môi trường Pascal. Nêu một số lỗi mà các em thường mắc phải. Nêu một số kỹ năng cần thiết trong quá trình làm một bài toán pascal như: phân tích bài toán để khai báo, viết đoạn chương trình chính nếu cần… Rút kinh nghiệm sau tiết dạy: ……………………………………………………………………………………………… ……………………………………………………………………………………………… ……………………………………………………………………………………………… ……………………………………………………………………………….

<span class='text_page_counter'>(35)</span> Ngày soạn: 24 tháng 9 năm 2016. Tiết theo PPCT: 10. BÀI TẬP I. MỤC TIÊU A. Kiến thức: Học sinh củng cố các kiến thức đã học như: kiểu dữ liệu, khai báo biến, chương trình đơn giản… Vận dụng kiến thức đã học để giải quyết các bài tập qua đó nâng cao kỹ năng và nhớ sâu hơn. Giáo viên điều chỉnh PP dạy kịp thời. B. Kỹ năng: Nâng cao kỹ nâng sử dụng các câu lệnh trong Pascal thong qua một số bài tập: Kỹ năng khai báo, viết chương trình, phân tích bài toán. II. CHUẨN BỊ Chuẩn bị của giáo viên: Nội dung các bài tập, đáp án, máy chiếu (nếu có). Chuẩn bị của HS: Xem và làm trước các bài tập ở nhà. III. TIẾN TRÌNH BÀI HỌC 1. Nhắc lại kiến thức cũ: - Kiểu dữ liệu. - Khai báo biến. - Cấu trúc một chương trình Pascal. - Lệnh gán, lệnh Read, Write. - Thao tác với Pascal. 2. Các bài tập PP giảng dạy: Dạy học kiểm tra, đánh giá; HS lên bảng làm các bài tập. Hình thức dạy học: dạy học trên lớp. Hđ của học sinh HĐ của Giáo Viên Nội dung Thông báo nội dung các câu hỏi như trong sgk, đề nghị các em lên bảng làm từ bài 110; Hs: Lên bảng làm các bài tập. Làm bài và theo dõi kết quả để nhận xét.. Giáo viên cùng HS theo dõi kết quả, nhận xét và cho điểm. Theo dõi kết quả làm bài của các em không lên bảng.. Bài 1: Hãy cho biết sự khác nhau giữa hằng có đặt tên và biến. Giải thích, bổ sung và gợi ý nếu HS gặp khó khăn trong quá trình làm bài.. Bài 1: Hãy cho biết sự khác nhau giữa hằng có đặt tên và biến Sự khác nhau cơ bản giữa hằng và biến ở chỗ hằng số có giá trị không thay đổi trong cả chương trình còn biến số thì giá trị có thể thay.

<span class='text_page_counter'>(36)</span> Bài 2:Tại sao lại phải khai báo biến.. Bài 3: Trong Pascal, nếu một biến chỉ nhận giá trị nguyên trong phạm vi 10 đến 25532 thì biến đó có thể được khai báo bằng các kiểu dữ liệu nào?. Bài 4: Biến P có thể nhận các giá trị 5; 10; 15; 20; 30; 60; 90; Biến X có thể nhận các giá trị: 0,1; 0,2; 0,3; 0,4; 0,5. Khai báo nào trong các khai báo xau là đúng? A. Var X, P: Byte; B. Var X, P: real; C. Var P:Real; X:bye; D. Var X:Real; P:Byte;. đổi. Bài 2:Tại sao lại phải khai báo biến. Cần khai báo biến để chương trình biết và lưu trữ, cấp phát bộ nhớ.. Bài 3: Trong Pascal, nếu một biến chỉ nhận giá trị nguyên trong phạm vi 10 đến 25532 thì biến đó có thể được khai báo bằng các kiểu dữ liệu nào? Các kiểu dữ liệu mà biến đó có thể nhận: Integer; Word; Longint; Real. Bài 4: Biến P có thể nhận các giá trị 5; 10; 15; 20; 30; 60; 90; Biến X có thể nhận các giá trị: 0,1; 0,2; 0,3; 0,4; 0,5. Khai báo nào trong các khai báo xau là đúng? A. Var X, P: Byte; B. Var X, P: real; C. Var P:Real; X:bye; D. Var X:Real; P:Byte; Bài 6: Để tính diện tích S của hình vuông cạnh a với giá trị nguyên nằm trong phạm vi từ 100 đến 200. Cách khai báo nào dưới đây là đúng và tiết kiệm nhất: a. Var S:Integer; b. Var S:real; c. Var S:Word; d. Var S:Longint; e. Var S:Boonlean; .... Bài 10: Lập trình tính và đưa ra màn hình vận tốc v của một vật rơi từ độ cao h.

<span class='text_page_counter'>(37)</span> Với v= √ 2gh G=9.8m/s2. IV. NHẬN XÉT, ĐÁNH GIÁ VÀ HƯỚNG DẪN HỌC TẬP - Giáo viên ra thêm một số bài tập nếu học sinh làm xong mà vẫn còn thời gian. - Nhận xét tiết học và cho điểm giờ học. RÚT KINH NGHIỆM SAU TIẾT DẠY ................................................................................................................................................ ................................................................................................................................................ ................................................................................................................................................ ................................................................................................................................................ ................................................................................................................................................ ................................................................................................................................................

<span class='text_page_counter'>(38)</span> Ngày soạn: 04 tháng 10 năm 2016. Tiết theo PPCT: 11 Chương III: Cấu trúc rẽ nhánh và lặp ----oOo---Bài 9: CẤU TRÚC RẼ NHÁNH I. MỤC TIÊU: 1. Kiến thức: - Giúp học sinh biết được ý nghĩa của cấu trúc câu lệnh rẽ nhánh trong việc giải quyết các bài toán. - Hiểu được câu lệnh ghép - Học sinh biết được cấu trúc chung của cấu trúc rẽ nhánh dạng thiếu và nđủ. - Học sinh biết cách sử dụng đúng hai dạng rẽ nhánh trong lập trình. 2. Kỹ năng: - Nhận biết được các bài toán đơn giản có sử dụng cấu trúc rẽ nhánh. - Có thể sử dụng cấu trúc rẽ nhánh để giải các bài toán cụ thể. II. CHUẨN BỊ:  Giáo viên: - Soạn giáo án trước khi lên lớp. - Một số bài toán minh họa - Máy chiếu đa năng, màn chiếu, máy vi tính, các thiết bị hỗ trợ khác (nếu có)  Học sinh: - Đọc trước sách giáo khoa ở nhà. - Sách giáo khoa, vở ghi chép bài và đồ dùng học tập. III CÁC HOẠT ĐỘNG HỌC TẬP: A. ổn định lớp: - Sĩ số: ............ - Số học sinh vắng mặt: ........... - Trả bài kt và nhận xét cho hs. B. Nội dung bài học: 1.Hoạt động 1: Tìm hiểu ý nghĩa của tổ chức rẽ nhánh Pp dạy học: PP nêu vấn đề, vấn đáp, thuyết trình. Hình thức dạy học: trên lớp có máy chiếu. Giáo viên giới thiệu về chương mới: Cấu trúc rẽ nhánh trong lập trình, gồm các nội dung chính: 1. Cấu trúc rẽ nhánh và lặp trong lập trình. 2. Các câu lệnh rẽ nhánh và lặp trong lập trình. Hoạt động của Học sinh. Hoạt động của Giáo viên. Nội dung.

<span class='text_page_counter'>(39)</span> 1. Chú ý theo dõi các dẫn dắt 1. Nêu ví dụ thực tiễn minh và ví dụ của giáo viên để suy họa cho tổ chức rẽ nhánh: nghĩ tìm ví dụ tương đương. - Chiều mai nếu trời không mưa An sẽ đi xem bóng đá, nếu trời mưa thì An sẽ ở nhà xem ti vi. - Yêu cầu học sinh tìm thêm - Nếu đội bóng đá Việt Nam một số ví dụ tương tự. thắng đội Indonesia thì sẽ được - Yêu cầu học sinh đưa ra đá tiếp tranh huy chương vàng cấu trúc chung của cách với Thái Lan, nếu không Việt diễn đạt đó. Nam sẽ tranh huy chương đồng - Yêu cầu học sinh lấy một với Mianmar. số ví dụ có cấu trúc chung - Nếu … thì … nếu không … dạng khuyết và đưa ra cấu trúc chung đó. thì …. - Nếu làm xong bài tập sớm An sẽ sang nhà Ngọc chơi. Nếu … thì…. 2. Theo dõi và thực hiện yêu 2. Nêu các bước để kết luận nghiệm của phương trình cầu của giáo viên. bậc hai: + Tính delta. + Nếu delta < 0 thì kết luận ax2 + bx + c = 0. phương trình vô nghiệm. + Nếu delta >= 0 thì kết luận phương trình có nghiệm: 3. Tiểu kết cho hoạt động x1:= (-b + sqrt(delta))/(2a); này bằng cách bổ sung và x2:= (-b + sqrt(delta))/(2a); - Thực hiện vẽ sơ đồ (giống chính xác bài tập của học sinh. như ở phần nội dung). - Nhận xét, đánh giá và bổ sung những thiếu sót của nhóm khác. 3. Quan sát hình vẽ của các nhóm khác và giáo viên để ghi nhớ.. Hoạt động 2: Cấu trúc rẽ nhánh IF – THEN – ELSE: Pp dạy học: PP nêu vấn đề, vấn đáp, thuyết trình.. Học sinh làm quen với các câu dạng rẽ nhánh: Nếu.....Thì......; Nếu.....Thì......Ngược lại thì........

<span class='text_page_counter'>(40)</span> Hình thức dạy học: trên lớp có máy chiếu hoặc tranh vẽ thì tốt. Hoạt động của Học sinh 1. Nghiên cứu SGK và trả lời. IF <điều kiện> THEN <lệnh 1> ELSE <lệnh 2>;. Hoạt động của Giáo viên 1. Yêu cầu học sinh nghiên cứu SGK và dựa vào các ví dụ của tổ chức rẽ nhánh để đưa ra các cấu trúc chung của câu lệnh rẽ 2. Học sinh chú ý lắng nghe nhánh. và trả lời: 2. Nêu vấn đề trong trường - Khi đó ta có câu lệnh hợp khuyết: Khi không đề khuyết. cập đến việc gì xảy ra nếu IF <điều kiện> THEN điều kiện không thoả mãn, <lệnh>; ta có cấu trúc như thế nào?. Nội dung Cấu trúc dạng thiếu. IF <điều kiện>THEN <lệnh>; IF <điều kiện> THEN <lệnh 1> ELSE <lệnh 2>;. 3. Vẽ sơ đồ thực hiện như đã 3. Yêu cầu học sinh vẽ sơ được trình bày trong phần đồ thực hiện của lệnh rẽ nội dung. nhánh dạng khuyết và dạng đủ lên bảng. 4. Theo dõi dẫn dắt của giáo 4. Gợi ý sự cần thiết của viên để trả lời. lệnh ghép, đưa cấu trúc - Ta phải nhóm nhiều lệnh của lệnh ghép. thành một lệnh. - Khi giải thích về lệnh, lệnh 1, lệnh 2, giáo viên nói: Sau THEN và ELSE - Cấu trúc của lệnh ghép: các em thấy chỉ được phép Begin đặt một câu lệnh. Trong <các lệnh cần ghép>; thực tế, thường lại là nhiều End; lệnh. - Yêu cầu học sinh nghiên cứu SGK và cho biết cấu trúc để ghép các câu lệnh thành 1 lệnh.. Hoạt động 3: Vận dụng câu lệnh IF - THEN: Pp dạy học: PP nêu vấn đề, vấn đáp, thuyết trình. Hình thức dạy học: trên lớp.. - Cấu trúc của lệnh ghép: Begin <các lệnh cần ghép>; End;.

<span class='text_page_counter'>(41)</span> Hoạt động của Học sinh 1. Chú ý theo sự dẫn dắt của giáo viên.. - Khi nhập độ dài âm thì dẫn đến chương trình trả lời chu vi, diện tích âm. Điều này không có trong thực tế. - Dùng lệnh rẽ nhánh để kiểm tra giá trị của độ dài cạnh nhập vào. - Nếu độ dài dương thì tính diện tích, ngược lại thông báo độ dài sai.. Hoạt động của Giáo viên 1. Nêu nội dung, mục đích yêu cầu của ví dụ 1. Viết chương trình nhập vào độ dài hai cạnh của một hình chữ nhật và tính chu vi, diện tích của hình chữ nhật đó. - Chương trình này các em đã viết, hãy cho biết có hạn chế nào trong chương trình của các em? - Hướng giải quyết của các em như nào?. 2. Ghi đề bài, chú ý mục đích - Yêu cầu học sinh về yêu cầu của bài tập. nhà tiếp tục hoàn thiện chương trình. + Tính delta. 2. Nêu nội dung của bài + Nếu delta < 0 thì kết luận tập, mục đích yêu cầu phương trình vô nghiệm. của bài tập. + Nếu delta >= 0 thì kết luận Tìm nghiệm của phương phương trình có nghiệm: trình bậc hai. x1:= (-b+sqrt(delta))/(2*a); - Hãy nêu các bước x2:= (-b-sqrt(delta))/(2*a); chính để trả lời nghiệm - Có thể sử dụng hai lệnh rẽ của phương trình bậc nhánh dạng khuyết, cũng có thể hai. sử dụng một lệnh dạng đủ. - Thảo luận và viết chương trình lên bìa trong - Thông báo kết quả viết được. - Nhận xét, đánh giá và bổ sung những thiếu sót của các nhóm - Trong bài toán này, ta khác. cần bao nhiêu lệnh rẽ - Ghi chép nội dung chương nhánh. Dạng nào? trình đúng mà giáo viên đã kết luận. - Tổ chức lớp thành 3 nhóm, yêu cầu học sinh. Nội dung Var x, y, s:real; Begin Write(‘nhap x, y=’); readln(x, y); if (x<=0) or (y<=0 ) then writeln(‘do dai am’) else begin S:=x*y; Writeln(‘Dientich=’,S:6:3 ); end; readln; End..

<span class='text_page_counter'>(42)</span> viết chương trình hoàn thiện lên bìa trong. - Thu phiếu trả lời, chiếu lên bảng, gọi học sinh nhóm khác nhận xét và đánh giá. - Chuẩn hoá lại chương trình cho cả lớp bằng chương trình mẫu. IV. CỦNG CỐ VÀ BÀI TẬP - Cấu trúc chung của cấu trúc rẽ nhánh: IF <ĐK> THEN <KQ>; IF <ĐK> THEN <KQ1 > ELSE <KQ2>; - Câu lệnh ghép và khi nào thì cần dùng câu lệnh ghép - Sự thực hiện của máy khi gặp cấu trúc rẽ nhánh IF. - Sơ đồ thực hiện của câu lệnh IF- THEN VÀ IF- THEN- ELSE. Giao bài tập về nhà: Viết chương trình nhập vào một số nguyên bất kì, kiểm tra và đưa ra thông báo số đó có chia hết cho 5 hay không. Rút kinh nghiệm sau tiết dạy: ................................................................................................................................................................... ................................................................................................................................................................................ ................................................................................................................................................................................ ................................................................................................................................................................

<span class='text_page_counter'>(43)</span> Ngày soạn: 06 tháng 10 năm 2016. Tiết theo PPCT: 12 Bài 10: CẤU TRÚC LẶP I. MỤC TIÊU 1. Kiến thức: - Giúp học sinh biết được ý nghĩa của cấu trúc lặp. - Biết được cấu trúc chung của lệnh lặp FOR trong ngôn ngữ lập trình Pascal. - Biết sử dụng hai dạng lặp FOR trong ngôn ngữ lập trình Pascal. 2. Kỹ năng: - Nhận biết được các bài toán đơn giản có sử dụng cấu lặp. - Có thể sử dụng cấu trúc lặp để giải các bài toán cụ thể. II. CHUẨN BỊ  Giáo viên: - Soạn giáo án trước khi lên lớp. - Chuẩn bị các hình minh họa, các bài toán quản lí mẫu ở một đơn vị nào đó - Máy chiếu đa năng, màn chiếu, máy vi tính, các thiết bị hỗ trợ khác (nếu có)  Học sinh: - Đọc trước sách giáo khoa ở nhà. - Sách giáo khoa, vở ghi chép bài và đồ dùng học tập. III. TIẾN HÀNH CÁC HOẠT ĐỘNG HỌC TẬP A. Ôn định lớp: - Sĩ số: ............ - Số học sinh vắng mặt: ........... B. Nội dung bài học: 1.Hoạt động 1: Tìm hiểu ý nghĩa của cấu trúc lặp: pp dạy học: Sử dụng PP thuyết trình; Hình thức dạy học: dạy học trên lớp; Hoạt động của Học sinh Hoạt động của Giáo Nội dung viên 1. Chú ý quan sát bài toán đặt 1. Nêu bài toán đặt vấn đề Bài toán 1: vấn đề. như bài toán 1. Tính S=1+ 2+ 3+4+...+50; - Rất khó xác định được công - Hãy xác định công thức Bài toán 2: Tính thức. toán học để tính tổng? S=1/1+ 1/2 + 1/3+...+1/N. - Gợi ý phương pháp: ta Cho tới khi 1/N<=0.0001; - Theo dõi gợi ý. xem S như là một cái thùng, các số hạng như là những cái ca có dung tích khác nhau, khi đó việc tính tổng trên tương tự - Phải thực hiện 100 lần đổ việc đổ các ca nước vào nước. trong thùng S..

<span class='text_page_counter'>(44)</span> 1 - Mỗi lần đổ a  i . - Phải viết 100 lệnh. 2. Chú ý, quan sát và trả lời các câu hỏi. - Với số tiền S, sau mỗi tháng sẽ có tiền lãi là 0.015*S. - Số tiền này được cộng vào trong số tiền ban đầu để tính lãi cho tháng tiếp theo. - S:= S +1.015*S;. - Có bao nhiêu lần đổ nước vào trong thùng - Mỗi lần đổ một lượng là bao nhiêu? lần thứ i đổ bao nhiêu? - Phải viết bao nhiêu lệnh? 2. Nêu bài toán đặt vấn đề như bài toán 2. - Em hiểu như thế nào về cách tính tiền gửi tiết kiệm trong bài toán 2.. - Từ đó, hãy lập công thức - Phải thực hiện tính 12 lần tính tiền thu được sau như vậy. tháng thứ nhất. - Tập trung theo dõi giáo viên - Ta phải thực hiện tính trình bày. bao nhiêu lần như vậy? - Dẫn dắt: Chương trình được viết như vậy sẽ rất dài, khó đọc và dễ sai sót. Cần có một cấu trúc điều khiển việc lặp lại thực hiện các công việc trên. 3. Thảo luận theo nhóm để - Trong tất cả các ngôn ngữ lập trình đều có một viết thuật toán: cấu trúc điều khiển việc Bước 1: N  0; S  1/a; thực hiện lặp lại với số lần Bước 2: N  N+1; Bước 3: Nếu N>100 thì đã định trước. 3. Chia lớp làm 4 nhóm, 2 chuyển đến bước 5. Bước 4: S  S + 1/(a+N), nhóm viết thuật toán giải quyết bài toán 1, 2 nhóm quay lại bước 2. Bước 5: Đưa S ra màn hình viết thuật toán giải quyết bài toán 2 lên bìa trong. rồi kết thúc. - Thông báo kết quả viết - Thu kết quả, chiếu kết được. - Nhận xét, đánh giá kết quả quả lên bảng. Gọi học sinh nhóm khác nhận xét của nhóm khác. và đánh giá. - Theo dõi và ghi nhớ. - Chuẩn hoá lại thuật toán cho học sinh lần cuối..

<span class='text_page_counter'>(45)</span> 2,Hoạt động 2: Tìm hiểu lệnh lặp FOR – Do của ngôn ngữ lập trình Pascal: pp dạy học: Sử dụng PP thuyết trình; Hình thức dạy học: dạy học trên lớp; Hoạt động của Học sinh Hoạt động của Giáo Nội dung viên 1. Đọc sách giáo khoa và trả 1. Yêu cầu học sinh Cấu trúc: lời. nghiên cứu SGK và cho For <biến đếm>:= <giá trị For <biến đếm>:= <giá trị biết cấu trúc chung của đầu> To <giá trị cuối> Do đầu> To <giá trị cuối> Do câu lệnh FOR? <lệnh cần lặp>; <lệnh cần lặp>; - Giải thích: <biến đếm>: For <biến đếm>:= <giá trị - Dùng để làm giới hạn cho là biến kiểu nguyên, kí tự. cuối> Downto <giá trị biến đếm. - Hỏi: ý nghĩa của <giá trị đầu> Do <lệnh lặp>; - Cùng kiểu với <biến đếm> đầu>, <giá trị cuối>, kiểu <giá trị đầu> là 1; <giá trị dữ liệu của chúng. cuối> là 12. - Hỏi: Trong bài toán gửi <giá trị đầu> là 1; <giá trị tiền tiết kiệm, <giá trị cuối> là 100. đầu> <giá trị cuối> là bao nhiêu? - Hỏi: Trong bài toán tính tổng <giá trị đầu> <giá trị cuối> là bao nhiêu? - Dẫn dắt: Những lệnh nào - Phải sử dụng cấu trúc lệnh cần lặp lại ta đặt sau Do. ghép. - Hỏi: Khi nhiều lệnh khác nhau cần lặp lại ta viết S:= S + 0.015*S; như thế nào? - Hỏi: Trong bài toán gửi 1 tiết kiệm, lệnh nào cần lặp S:= S + a  i ; lại? <giá trị đầu> < <giá trị - Hỏi: Trong bài toán tính cuối>. tổng, lệnh nào cần lặp lại? - Hỏi: Em có nhận xét gì về giá trị của <giá trị đầu> và <giá trị cuối>? - Dẫn dắt: Khi đó lệnh For được gọi là For tiến. Ngôn 2. Nghiên cứu sách giáo ngữ lập trình Pascal còn khoa, suy nghĩ, so sánh với có một dạng khác là For cấu trúc của For tiến để trả lùi. lời. 2. Yêu cầu: Hãy trình bày For <biến đếm>:= <giá trị cấu trúc chung của For lùi. cuối> Downto <giá trị đầu> - Hỏi: so sánh <giá trị.

<span class='text_page_counter'>(46)</span> Do <lệnh lặp>; đầu> và <giá trị cuối>? <giá trị đầu> > <giá trị cuối>; - Hỏi: Trong hai bài toán - Sử dụng dạng For tiến là trên, dạng For nào là phù phù hợp. hợp? 3.Hoạt động 3: Vận dụng câu lệnh lặp For – Do: pp dạy học: Sử dụng PP thuyết trình; Hình thức dạy học: dạy học trên lớp; Hoạt động của Học sinh Hoạt động của Giáo viên 1. Chú ý lắng nghe và trả lời 1. Nêu nội dung bài toán 1. các yêu cầu của giáo viên. Mục tiêu là xác định được - Giá trị đầu là 1, giá trị cuối những việc chính cần làm. là 100. + Xác định giá trị đầu, giá trị cuối. + Xác định lệnh cần lặp 1 lại. S:= S + a  i ; - Yêu cầu học sinh tiếp tục 2. Chú ý lắng nghe nội dung hoàn thành chương trình ở và yêu cầu. nhà. 2. Nêu nội dung bài toán 2, mục tiêu là viết được - Cùng thảo luận và viết chương trình hoàn thiện. chương trình theo nhóm. - Định hướng những vấn đề chính. - Chia lớp thành 3 nhóm. Yêu cầu học sinh viết - Quan sát chương trình giáo chương trình lên giấy bìa viên hướng dẫn và ghi nhớ. trong. - Thu phiếu học tập, chiếu lên bảng, gọi học sinh nhóm khác lên nhận xét và đánh giá. - Chính xác hoá bài toán của học sinh bằng chương trình mẫu.. IV CỦNG CỐ, ĐÁNH GIÁ VÀ BÀI TẬP Củng cố bài học:. Nội dung.

<span class='text_page_counter'>(47)</span> - Cấu trúc chung của lệnh For. - Sơ đồ thực hiện của lệnh lặp For. Bài tập về nhà: - Giải bài tập 5.a và 6 trang 51 sách giáo khoa. - Xen trước phần nội dung của cấu trúc lặp có số lần chưa xác định 5.Rút kinh nghiệm sau tiết dạy: ……………………………………………………………………………………………………………… ……………………………………………………………………………………………………………… ……………………………………………………………………………………………………………… …………………………………………………………………………………………………………….

<span class='text_page_counter'>(48)</span> Ngày soạn: 10 tháng 10 năm 2016. Tiết theo PPCT: 13 Bài 10: CẤU TRÚC LẶP I.. MỤC TIÊU 1. Kiến thức: - Biết sử dụng hai dạng lặp For trong ngôn ngữ lập trình Pascal. 2. Kỹ năng: - Nhận biết được các bài toán đơn giản có sử dụng cấu lặp. - Có thể sử dụng cấu trúc lặp để giải các bài toán cụ thể. II. CHUẨN BỊ  Giáo viên: - Soạn giáo án trước khi lên lớp. - Chuẩn bị các hình minh họa, các bài toán quản lí mẫu ở một đơn vị nào đó - Máy chiếu đa năng, màn chiếu, máy vi tính, các thiết bị hỗ trợ khác (nếu có)  Học sinh: - Đọc trước sách giáo khoa ở nhà. - Sách giáo khoa, vở ghi chép bài và đồ dùng học tập. III. TIẾN HÀNH CÁC HOẠT ĐỘNG HỌC TẬP A. Ôn định lớp: - Sĩ số: ............ - Số học sinh vắng mặt: ........... Câu hỏi bài cũ: Em hãy nêu cấu trúc lặp For- do và lấy ví dụ minh họa. Câu 2: Em hãy viết lệnh tính S= 1+ 2 + 3+…+100; B. Nội dung bài học: 1.Hoạt động 1: Tìm hiểu ý nghĩa của cấu trúc lặp: pp dạy học: Sử dụng PP thuyết trình; Hình thức dạy học: dạy học trên lớp; A. Ôn định lớp: - Sĩ số: ............ - Số học sinh vắng mặt: ........... B. Nội dung bài học: 1.Hoạt động 1: Rèn luyện kĩ năng vận dụng lệnh lặp For: pp dạy học: Sử dụng PP dạy học nêu vấn đề; Hình thức dạy học: dạy học trên lớp kết hợp máy chiếu; Hoạt động của Học sinh 1. Chú ý lắng nghe và trả lời các yêu cầu của giáo viên. - Giá trị đầu là 1, giá trị cuối là 100.. Hoạt động của Giáo viên Nội dung 1. Nêu nội dung bài toán 1. Giải bài toán Mục tiêu là xác định được 1 những việc chính cần làm. S= a  i + Xác định giá trị đầu, giá.

<span class='text_page_counter'>(49)</span> trị cuối. + Xác định lệnh cần lặp 1 lại. S:= S + a  i ; - Yêu cầu học sinh tiếp tục 2. Chú ý lắng nghe nội dung hoàn thành chương trình ở và yêu cầu. nhà. 2. Nêu nội dung bài toán 2, mục tiêu là viết được - Cùng thảo luận và viết chương trình hoàn thiện. chương trình theo nhóm. - Định hướng những vấn đề chính. - Chia lớp thành 3 nhóm. Yêu cầu học sinh viết - Quan sát chương trình giáo chương trình lên giấy bìa viên hướng dẫn và ghi nhớ. trong. - Thu phiếu học tập, chiếu lên bảng, gọi học sinh nhóm khác lên nhận xét và đánh giá. - Chính xác hoá bài toán của học sinh bằng chương trình mẫu. 2.Hoạt động 2: Tập viết chương trình với câu lệnh For pp dạy học: Sử dụng PP dạy học nêu vấn đề; Hình thức dạy học: dạy học trên lớp kết hợp máy chiếu; Hoạt động của Học sinh 1. Chú ý lắng nghe và trả lời các yêu cầu của giáo viên. - Giá trị đầu là nhập vào M và N (M < N). - Giá trị cuối: Tổng của tất cả các số từ M tới N chia hết cho 3 hoặc 5. + Ban đầu ta gán S:= 0 (vì chưa chắc đã có số nào chia hết cho 3 hoặc 5). + Duyệt từ M tới N, gặp số nào chia hết cho 3 hoặc 5 thì cộng vào tổng S, ví dụ số i chia hết cho 3 hoặc 5 thì khi đó: S:= S + i. - Tiếp tục hoàn thiện chương trình.. Hoạt động của Giáo viên 1. Nêu nội dung bài toán ví dụ 1. Mục tiêu là xác định được những việc chính cần làm. + Xác định giá trị đầu, giá trị cuối. + Xác định lệnh cần lặp lại.. - Yêu cầu học sinh tiếp tục hoàn thành chương trình ở nhà..

<span class='text_page_counter'>(50)</span> IV. NHẬN XÉT, ĐÁNH GIÁ VÀ BÀI TẬP 3.Hoạt động 3: Củng cố bài học: - Ôn lại về cấu trúc chung của câu lệnh FOR – DO. - Làm các ví dụ cụ thể để hiểu rõ hơn về câu lệnh FOR – DO. Bài tập về nhà: Làm các bài tập trong sách bài tập phần câu lệnh FOR – DO ở sách bài tập tin học 11. Rút kinh nghiệm sau tiết dạy: ................................................................................................................................................ ................................................................................................................................................ ................................................................................................................................................ .................................................................................................................................................

<span class='text_page_counter'>(51)</span> Ngày soạn: 13 tháng 10 năm 2016 Tiết theo PPCT: 14 Bài 10: CẤU TRÚC LẶP I. MỤC TIÊU 1. Kiến thức: - Giúp học sinh nắm vững được ý nghĩa của cấu trúc lặp với số lần chưa biết trước. - Giúp học sinh biết được ý nghĩa của cấu trúc lặp có số lần chưa xác định. - Biết được cấu trúc chung của lệnh lặp While trong ngôn ngữ lập trình Pascal 2. Kỹ năng: - Rèn luyện cách sử dụng hai dạng cấu trúc lặp để giải các bài toán cụ thể. II. CHUẨN BỊ Chuẩn bị của Giáo viên: - Soạn giáo án trước khi lên lớp. - Chuẩn bị các hình minh họa, các bài toán mẫu. - Máy chiếu đa năng, màn chiếu, máy vi tính, các thiết bị hỗ trợ khác (nếu có) Chuẩn bị của Học sinh: - Đọc trước sách giáo khoa ở nhà. - Sách giáo khoa, vở ghi chép bài và đồ dùng học tập. III. TIẾN HÀNH CÁC HOẠT ĐỘNG DẠY- HỌC A. Ôn định lớp: - Sĩ số: ............ - Số học sinh vắng mặt: ........... Câu hỏi bài cũ: Em hãy nêu cấu trúc lặp với số lần biết trước và lấy ví dụ minh họa. B. Nội dung bài học: 1.Hoạt động 1:Tìm hiểu ý nghĩa của cấu trúc lặp có số lần chưa xác định (10 phút). PP dạy học: Dạy học vấn đáp, thuyết trình. Hình thức dạy học: Dạy học trên lớp. Hoạt động của Học sinh Hoạt động của Giáo Nội dung viên 1. Chiếu nội dung bài Cho bài toán: (sgk) toán 1 lên bảng. Tính tổng: 1. Chú ý lắng nghe, quan sát và 1 suy nghĩ để trả lời. - Hỏi: Hãy nêu sự khác S= 1 + + a+1 a+2 - ở bài trước: cho giới hạn N. nhau của bài toán này với 1 - Bài này: Cho giới hạn S. bài toán đã viết ở tiết +... a+3 - Chưa xác định ngay được. trước? - Đến khi điều kiện - Hỏi: Lặp bao nhiêu lần?.

<span class='text_page_counter'>(52)</span> 1  0.0001 aN mãn.. - Hỏi: Lặp đến khi nào?. 1. + a+n cho đến khi được thoả 1  0.0001 2. Chiếu nội dung của bài a  N toán 2 lên bảng. - Hỏi: Nêu sự khác nhau trong bài toán này với bài 2. Chú ý lắng nghe, quan sát và toán đã giải trong tiết suy nghĩ trả lời. trước? - Bài trước: Biết số tháng, hỏi số tiền. - Hỏi: Lặp đến khi nào? - Bài này: Biết số tiền, hỏi số tháng. - Chưa biết trước, đó chính là 3. Tiểu kết vấn đề: Qua số tháng cần tìm. hai ví dụ ta thấy có một - Đến khi số tiền thu được > S1 dạng bài toán có sự lặp đồng. lại của một số câu lệnh 3. Theo dõi và ghi nhớ kết luận nhưng không biết trước của giáo viên vào vở. được số lần lặp. Cần có một cấu trúc điều khiển lặp lại một công việc nhất định khi thoả mãn một điều kiện nào đó. Hoạt động 2: Tìm hiểu cấu trúc lệnh While – Do trong ngôn ngữ lập trình Pascal (15ph) PP dạy học: Dạy học vấn đáp, thuyết trình. Hình thức dạy học: Dạy học trên lớp. Hoạt động của Học sinh. Hoạt động của Giáo Nội dung viên 1. Yêu cầu học sinh nghiên cứu sách giáo khoa và cho biết cấu trúc 1. Tham khảo sách giáo khoa chung của câu lệnh lặp và trả lời. While. - Cấu trúc chung: - Cấu trúc chung: - Giải thích: While <điều kiện> Do While <điều kiện> Do <lệnh + <điều kiện>: là biểu <lệnh cần lặp>; cần lặp>; thức quan hệ hoặc biểu thức logic, là điều kiện để lặp lại. - Hỏi: Trong bài toán 1: điều kiện để lặp lại là gì?.

<span class='text_page_counter'>(53)</span> - Hỏi: Trong bài toán 2: điều kiện để lặp lại là gì? + <lệnh cần lặp>: là các lệnh cần phải lặp lại. S < S1 - Hỏi: Trong hai bài toán trên lệnh cần lặp là gì? S:= S + 0.015*S để tính số - Hỏi: Một sự khác nhau tiền. t:= t + 1: để tính số tháng. trong lệnh cần lặp của For và While là gì? S:= S + 1/(a+i) để tính tổng. - Dựa vào cấu trúc chung, i:= i + 1: để tăng chỉ số. - While phải có lệnh tăng theo hãy cho biết máy sẽ thực hiện tính <điều kiện> biến chỉ số. - Quan sát, suy nghĩ và trả lời: trước hay thực hiện <lệnh + Tính biểu thức điều kiện cần lặp> trước? trước. 2. Yêu cầu học sinh vẽ sơ + Thực hiện lệnh cần lặp sau. 2. Lên bảng vẽ sơ đồ cấu trúc đồ cấu trúc lên bảng. - Gọi học sinh đánh giá của lệnh While. - Nhận xét đúng sai và bổ sung. nhận xét. - Tiểu kết cho vấn đề bằng cách treo sơ đồ mẫu và giải thích.. 1  0.0001 aN. 3.Hoạt động 3: Rèn luyện kĩ năng vận dụng lệnh lặp While-Do (15 phút). PP dạy học: Dạy học vấn đáp. Hình thức dạy học: Dạy học trên lớp, chia hs theo nhóm. Hoạt động của Học sinh Hoạt động của Giáo viên Nội dung 1. Nêu nội dung bài toán Một người gửi ngân hàng 1. Mục tiêu là viết chương số tiền ban đầu là S (đồng) 1. Chú ý lắng nghe và suy trình hoàn thiện. với lãi xuất 1.5% tháng. nghĩ trả lời các câu hỏi định - Định hướng các vấn đề Hỏi sau bao nhiêu tháng hướng của giáo viên. chính. người đó có số tiền + Xác định điều kiện để S1>=S. - Điều kiện: S < S1. tiếp tục lặp. Điều kiện: S < S1. S:= S + 0.015*S để tính số + Xác định các lệnh cần S:= S + 0.015*S để tính số tiền. lặp. tiền. t:= t + 1: để tính số tháng. t:= t + 1: để tính số tháng. - Tập trung làm việc theo - Chia lớp làm 3 nhóm: nhóm để viết được chương Yêu cầu học sinh viết trình hoàn thiện. chương trình hoàn thiện  lên bìa trong. While S<S1 do - Thu phiếu trả lời, chiếu Begin.

<span class='text_page_counter'>(54)</span> - Đánh giá đúng sai và bổ kết quả bằng máy sung. overhead. - Gọi học sinh nhóm khác - Ghi nhớ những phần giáo nhận xét và đánh giá. viên sửa chữa. - Chính xác hoá chương trình cho cả lớp. 2. Nêu nội dung của bài 2. Tập trung theo dõi để thấy toán 2, mục tiêu là phân được những công việc cần tích để xác định <điều thực hiện. kiện> và <lệnh cần lặp>. - Lấy một ví dụ cụ thể khi tìm ước số chung của hai số 15 và 25. m n 15 25 15 15 5 10 5 5 Trả lời: 5 là ước chung lớn - Điều kiện: m < > n. nhất. - Lệnh cần lặp: m:= m - n; - Hỏi: Điều kiện để tiếp hoặc n:= n - m; tục lặp là gì? - Thuật toán: - Hỏi: Các lệnh cần lặp lại B1: Nếu m = n thì UCLN = là gì? m, dừng. - Yêu cầu học sinh: Nêu B2: Nếu m > n thì m:= m - n thuật toán để tìm ước số ngược lại chung của hai số đó. n:= n - m; quay lại B1. - Yêu cầu học sinh viết - Suy nghĩ và trả lời: chương trình hoàn thiện + Điều kiện nào để lặp lại. bài toán ở nhà. + Những lệnh nào cần lặp - Yêu cầu học sinh chỉ ra lại. hai câu hỏi cần đặt ra khi gặp bài toán dạng này.. S:=S+0.015*S; T:=t+1; End;. While M<>N do If M>N then M:=M-N else N:=N-M;. IV. CỦNG CỐ, ĐÁNH GIÁ, BÀI TẬP - ý nghĩa của cấu trúc lặp có số lần chưa xác định. - Cấu trúc chung của lệnh While trong ngôn ngữ Pascal. - Sơ đồ thực hiện của lệnh While. - Sự thực hiện của máy khi gặp lệnh While. E. Bài tập về nhà: - Giải bài tập 4, 5b, 7 và 8 trang 51, trong sách giáo khoa. - Viết chương trình tính tổng:.

<span class='text_page_counter'>(55)</span> 1 1 1 1 1    ...   ...  0.0001 aN S = a a 1 a  2 cho đến khi a  N . Rút kinh nghiệm sau tiết dạy: .......................................................................................................................................... .......................................................................................................................................... .......................................................................................................................................... .......................................................................................................................................... .......................................................................................................................................... ...........................................................................................................................................

<span class='text_page_counter'>(56)</span> Ngày soạn: 18 tháng 10 năm 2016 Tiết theo PPCT: 15. BÀI TẬP VÀ THỰC HÀNH SỐ 2 (T1) I. MỤC TIÊU * Kiến thức: Sử dụng và vận dụng kiến thức đã học của chương để viết các chương trình, bài toán. * Kỹ năng: - XD chương trình có sử dụng cấu trúc rẽ nhánh - Làm quan với việc hiệu chỉnh chương trình. II CHUẨN BỊ Giáo viên: - Soạn giáo án trước khi lên lớp. - Chuẩn bị trước một số chương trình đơn giản để thực hành. (các chương trình trong sgk)  Học sinh: - Đọc trước các nội dung bài thực hành cùng thao tác với PASCAL. - Sách giáo khoa, vở ghi chép bài và đồ dùng học tập. III. TIẾN TRÌNH CÁC HOẠT ĐỘNG DẠY- HỌC A. Ôn định phòng máy: - Sĩ số: ............ - Số học sinh vắng mặt: ........... B. Nội dung bài học: Bài toán 1: Bộ số Pi-ta-go (40 phút). PP dạy học: Dạy học thực hành, HS tự làm việc. Hình thức dạy học: Dạy học trên phòng máy. Kiểm tra ba số nguyên dương a, b, c có phải là bộ số Pi-ta-go hay không. HĐ của HS HĐ của GV Nội dung Y/C hs đọc nội dung Program pitago; trong sgk, chia nhóm hs Var a,b,c: integer; để các em thảo luận và Begin Hs : Chia nhóm và thảo luận làm bài Writeln(‘Nhap a,b,c:=’); Readln(a,b,c); Đưa ra ý tưởng để giải bài toán ? Một em đưa ra ý tưởng If (a*a=b*b+c*c) or - Nhập ba số a, b, c bài toán (b*b=a*a+c*c) or - KT ba số nếu thỏa mãn 1 (c*c= a*a+b*b) then trong 3 đk Writeln(‘ba so da nhap la a2=b2+c2; bo pi-ta-go’).

<span class='text_page_counter'>(57)</span> b2= a2+c2; c2=a2+b2 thì thông báo a,b,c là bộ số Pi-ta-go.. else writeln(‘ Ba so vua nhap ko fai bo pitago’); Readln; End.. Tổng hợp các ý kiến và đưa ra gợi ý cho hs làm Lưu lại chương trình với tên bài Pi- ta- go Cuối cùng y/c hs lưu lại bài với tên Pitago HS : Gõ chương trình: Program pitago; Var a,b,c: integer; Begin Writeln(‘Nhap a,b,c:=’); Readln(a,b,c); If (a*a=b*b+c*c) or (b*b=a*a+c*c) or (c*c= a*a+b*b) then Writeln(‘ba so da nhap la bo pi-ta-go’) else writeln(‘ Ba so vua nhap ko fai bo pitago’); Readln; End. IV. CỦNG CỐ, ĐÁNH GIÁ VÀ BÀI TẬP VỀ NHÀ - Giáo viên trình chiếu lại bài toán và nêu một số lỗi HS thường mắc phải trong bài thực hành. - Nhận xét, đánh giá và cho điểm một số HS tích cực. -Y/c: Về nhà chậy thử chương trình và nhập vào một số bộ a, b, c. Rút kinh nghiệm sau tiết dạy: .......................................................................................................................................... .......................................................................................................................................... .......................................................................................................................................... .......................................................................................................................................... .......................................................................................................................................... .......................................................................................................................................... .............................................................. Ngày soạn: 22 tháng 10 năm 2016.

<span class='text_page_counter'>(58)</span> Tiết theo PPCT: 16. BÀI THỰC HÀNH SỐ 2 (T2) MỤC TIÊU - XD chương trình có sử dụng cấu trúc rẽ nhánh - Làm quan với việc hiệu chỉnh chương trình. - Sử dụng các lệnh biên tập liên quan đến bài toansPi-ta-go II CHUẨN BỊ Giáo viên: - Soạn giáo án trước khi lên lớp. - Chuẩn bị trước một số chương trình đơn giản để thực hành. (các chương trình trong sgk)  Học sinh: - Đọc trước các nội dung bài thực hành số 2 cùng thao tác với PASCAL thong qua bài toán pi- ta- go đã soạn tiết thực hành trước. - Sách giáo khoa, vở ghi chép bài và đồ dùng học tập. III. TIẾN TRÌNH CÁC HOẠT ĐỘNG DẠY- HỌC II.. 1. Hđ 1: ổn định lớp và nhắc lại bài cũ: - Kiểm tra sĩ số lớp, ổn định trật tự. - Nhắc lại nội dung bài cũ: bài toán pitago - Y/c học sinh bật lại bài toán lưu với tên Pitago 2. HĐ 2: Nội dung bài thực hành. HĐ của HS Mở chương trình Pi- ta- go. Một số chương trình đang còn lỗi thì thực hiệu hiệu chỉnh theo thông báo lỗi. Lần lượt thay nhau thực hành các nội dung. HĐ của GV y/c: Một số chương trình chưa chạy được thì hiệu chỉnh. ấn F9 hoặc Ctrl + F9.. y/c: Thao tác như trong nội dung thực hành của sgk - ấn F7 để thực hiện từng câu lệnh chương trình, nhập các giá trị a=3, b=4, c=5. - Vào bảng chọn Debug để mở cửa sổ xem các giá. Nội dung c) Nhấn phím F7 để thực hiện từng câu lệnh. d) Vào bảng chọn Debug mở cửa sổ hiệu chỉnh để xem giá trị a2, b2, c2. e) Nhấn phím F7 để thực hiện các câu lệnh. f) Quan sát quá trình rẽ nhánh. g) Lặp lại các bước trên với bộ dữ liệu a=700; b=1000; c=800..

<span class='text_page_counter'>(59)</span> trị của các biến. - Nhấn F7 để thực hiện các câu lệnh tính những giá trị nói trên - Quan sát quá trình rẽ nhánh - Lặp lại các kết quả trên với bộ dữ liệu a=7000, b=1000, c=800; - Nếu khai báo thêm a1, b1, c1: longint và gán A1:=a*a; b1:=b*b; c1:=c*c thì ta phải thay đổi ct ntn? IV. NHẬN XÉT, DÁNH GIÁ VÀ BÀI TẬP - Nhận xét cá lỗi mà hs thường mắc phải và cách khắc phục, đánh giá tiết học cho điểm một số em được kiểm tra. - Mô tả các lệnh và giải thích; đặc biệt lệnh rẽ nhánh và chiếu cho HS thấy sự rẽ nhánh với các trường hợp của a, b, c nhận vào. Y/c: Về nhà làm các bài tập 1-8 sgkT51 để tiết sau làm bài tập. Rút kinh nghiệm sau tiết dạy. ................................................................................................................................................ ................................................................................................................................................ ................................................................................................................................................ .................................................................................................................................................

<span class='text_page_counter'>(60)</span> Ngày soạn: 26 tháng 10 năm 2016 Tiết theo PPCT: 17. BÀI TẬP I. MỤC TIÊU: *.Kiến thức: - Sử dụng và vận dụng kiến thức đã học của chương để giải bài toán. - Ôn luyện lại kiến thức về mặt lý thuyết của các bài IF- Then; For- To- DO; Wile- Do. *.Kỹ năng: Viết thuật toán trên giấy, có thời gian để phân tích các bài toán và viết thuật toán mà không cần trên máy II. CHUẨN BỊ  Giáo viên: - Soạn giáo án trước khi lên lớp. - Cách giải quyết một số bài toán 1-8 sgk; có thể đưa  Học sinh: - Một số kỹ năng viết thuật toán với các cấu túc if- then; cấu trúc lặp. - Đọc trước các bài tập. - Sách giáo khoa, vở ghi chép bài và đồ dùng học tập. III. CÁC HOẠT ĐỘNG DẠY – HỌC A. Ôn tập lại kiến thức chương III - Nhắc lại các nội dung kiến thức chính: Cấu trúc lặp, For- Do và While- Do - Một số câu hỏi vấn đáp- có gợi mở. B. Nội dung bài học:. HĐ của HS. HĐ của GV Nội dung Viết một số nội dung chủ Các bài tập trang 50- 51 yếu của chương lên bảng. trong Sgk. Viết các bài tập lên bảng cho hs quan sát và bắt đầu Làm các bài tập làm trong khoảng 7 phút 1. So sánh hai dạng câu lệnh sau đó hs lên làm bài If- then 2. Câu lệnh ghép là gì? Tại sao lại phải có câu lệnh ghép 3.Có thể dùng câu lệnh Theo dõi kết quả bài làm While- do thay cho câu lệnh của HS. For- To dc không 4. Viế câu lệnh rẽ nhánh Nhận xét, gợi ý khi cần thiết Z =x2+y2 nếu x2+y2<=1;.

<span class='text_page_counter'>(61)</span> =x+y nếu X2+Y2>1 và Y>x =0.5 nếu x2+y2>1 và y<x Bài 5. Viết ct tính 50. n.  n 1. Y= n 1 E(n)= 1+1/2! + 1/3!...+1/n! Cho đến khi 1/n!< 2.10-6. Bài 6: Lập chương trình tính Gợi ý dùng 2 vòng lặp nếu Trăm trâu tră cỏ HS không phát hiện ra vấn Trâu đứng ăn năm đề. Trâu nằm ăn ba Lụ khụ trâu già Ba con một mớ. Bài 7. Một người gởi tiết kiệm không kì hạn với số tiền Gợi ý công thức A đồng với lãi xuất 0.3% hỏi T:=A sau bao nhiêu tháng người đó While A<B do rút hết toàn bộ tiền thì sẽ Begin A:=T+ 0.03T; nhận được số tiền ít nhất là B n:=n+1; đồng. Biết rằng lãi không end; được cộng vào vốn. IV. CỦNG CỐ, ĐÁNH GIÁ VÀ BÀI TẬP 1. Củng cố- đánh giá- yêu cầu: - Nhận xét- đánh giá buổi học - Cho điểm một số hs. Y/C: đọc trước bài kiểu dữ liệu mảng Rút kinh nghiệm sau tiết dạy. ................................................................................................................................................................................ ................................................................................................................................................................................ ................................................................................................................................................................................ .................................................................................................................................................................................

<span class='text_page_counter'>(62)</span> Ngày soạn: 29 tháng 10 năm 2016. Tiết theo PPCT: 18. KIỂM TRA 1 TIẾT I. MỤC TIÊU Kiến thức: Hs nắm vững kiến thức đã học trong chương II và chương III như: cấu trúc chương trình, khai báo, kiểu dữ liệu, các thủ tục chuẩn vào/ ra, cấu trúc lặp... Kỹ năng: Vận dụng kiến thức để giải một số bài toán cơ bản. II. MA TRẬN ĐỀ.

<span class='text_page_counter'>(63)</span> Cấp độ. Vận Dụng Nhận Biết. Tên chủ đề. TN Cấu trúc chương trình, Khai báo biến.. Đặc tinh vai trò của MTĐT. Số câu Số điểm Tỉ lệ % Phép toán, biểu thức câu lệnh gán, các thủ tục chuẩn. 1 0.5(5%) Các dạng thông tin trong máy tính.. Số câu Số điểm Tỉ lệ % Cấu trúc lặp For- Do. 2 1(10%). Số câu Số điểm Tỉ lệ % Cấu trúc lặp While - Do Hiểu khái niệm bài toán, thuật toán. Số câu Số điểm Tỉ lệ %. 1. Thông Hiểu TL. TN. TL. CĐ Thấp. CĐ cao. TN. TL. Cộng. 1 0.5(5%) Đơn vị đo lượng thông tin và bội của Bit. Mã hóa thông tin thành dãy bit 3 1.5(15%). 3 1.5(15%) Biết chức năng các thiết bị chính của MT. 3 1.5(15%). 8 4(40%). 3 1.5(15% Cách biểu diễn thuật toán bằng SĐK hoặc liệt kê 1. Xây dựng được thuật giải một số bài toán thông dụng 1 3 4(40%).

<span class='text_page_counter'>(64)</span> Ngày soạn: 01 tháng 11 năm 2016. Tiết theo PPCT: 19. Bài 11: KIỂU MẢNG I. MỤC TIÊU 1. Kiến thức: - Giúp học sinh biết được một kiểu dữ liệu mới là mảng. - Hiểu khái niệm mảng một chiều và hai chiều. - Hiểu cách khai báo và truy cập đến các phần tử của mảng. 2. Kỹ năng: - Biết được cách tạo kiểu mảng hai chiều, cách khai báo biến, tham chiếu đến từng phần tử của mảng và một vài bài toán đơn giản liên quan đến mảng thông qua tiết học. II. CHUẨN BỊ  Giáo viên: - Soạn giáo án trước khi lên lớp. - Một số ví dụ gần gũi với hs liên quan đến mảng. - Máy chiếu đa năng, màn chiếu, máy vi tính, các thiết bị hỗ trợ khác (nếu có)  Học sinh: - Đọc trước sách giáo khoa ở nhà. - Sách giáo khoa, vở ghi chép bài và đồ dùng học tập. III. TIẾN HÀNH CÁC HOẠT ĐỘNG DẠY- HỌC A. ổn định lớp: - Sĩ số: ............ - Số học sinh vắng mặt: ........... B. Nội dung bài học: 1.Hoạt động 1: Mảng một chiều. PP giảng dạy: Sử dụng PP dạy học thuyết trình, vấn đáp. Hình thức dạy học: Dạy học trên lớp, kết hợp giấy khổ lớn hoặc máy chiếu. HĐ của HS HĐ Của GV Nội dung . Chiếu đề bài và chương Tìm hiểu chương trình đếm trình ví dụ lên bảng. số ngày có nhiệt độ cao hơn - Hỏi: Khi N lớn hơn nhiệt độ trung bình trong chương trình trên cú những tuần. Sgk 1. Quan sát trên màn hình, suy hạn chế như thế nào? nghĩ và trả lời. - Dẫn dắt: Để khắc phục - Phải khai báo quá nhiều biến. những hạn chế trên, người ta Chương trình phải viết rất dài. thường ghép chung 7 biến.

<span class='text_page_counter'>(65)</span> trên thành một dóy và đặt cho nó chung một tên và đánh cho một phần tử một chỉ số. 2. Yêu cầu học sinh tham 2. Nghiên cứu sách giáo khoa khảo sách giáo khoa và hỏi: để trả lời. Em hiểu như thế nào về - Mảng một chiều là dãy hữu mảng một chiều? hạn các phần tử có cùng kiểu dữ liệu. Các phần tử trong mảng có cùng chung một tên và phân biệt nhau bởi chỉ số. Hỏi: Để mô tả mảng một chiều, ta cần xác định những - Để mô tả mảng một chiều cần yếu tố nào? xác định được kiểu của các phần tử và cách đánh số các phần tử của nó.. - Mảng một chiều là dãy hữu hạn các phần tử có cùng kiểu dữ liệu. Các phần tử trong mảng có cùng chung một tên và phân biệt nhau bởi chỉ số. A[1 A[2 A[3 A[4 A[5 ] ] ] ] ] 6. -4. 20. 10. -5. Khai báo: Tên_biến_mảng: . Yêu cầu học sinh nghiên Var cứu sách giáo khoa và cho Array[kiểu chỉ số] of kiểu dữ Tham khảo sách giáo khoa và biết cách tạo kiểu dữ liệu liệu; trả lời mảng một chiều trong ngôn hoặc khai báo gián tiếp qua TYPE tên_km= ngữ lập trình Pascal. Array[kiểu_cs] Of - Tỡm một ví dụ để minh từ khóa Type kiểu_thành_phần; họa. Ví dụ: Type mmc=array[1..100] of integer; - Tạo một kiểu dữ liệu mới có tên mmc, gồm 100 phần tử, có kiểu nguyên. - Quan sát bảng và chọn khai báo đúng.. - Gọi học sinh khác, hỏi: ý nghĩa của lệnh bạn vừa viết?. - Chiếu lên bảng một số khai báo kiểu mảng một chiều Type Arrayr=array[1..200] of Arrayr=array[1..200] of real; real; Arrayb=array[-100..0] of Arrayr=array[byte] of real; boolean; Arrayb=array[-100..0] of boolean;.

<span class='text_page_counter'>(66)</span> 2. Tham khảo sách giáo khoa và trả lời - VAR tên_biến:tên_km; - Ví dụ: Var a:mmc; - Khai báo một biến mảng một chiều. - a đó chiếm 200 byte trong bộ nhớ.. 3. Theo dõi hướng giáo viên và độc lập để trả lời. a[1] là phần tử ở vị mảng a. a[i] là phần tử ở vị mảng a.. dẫn của suy nghĩ trí 1 của trí i của. - Hỏi: Những khai báo nào đúng? 2. Yêu cầu học sinh cho biết cách khai báo biến và một ví dụ khai báo một biến mảng ứng với kiểu dữ liệu vừa tạo. - Gọi học sinh khác, hỏi: ý nghĩa của lệnh bạn vừa viết? - Dung lượng bộ nhớ của biến a đó chiếm là bao nhiêu? - Chú ý cho học sinh về cách đặt tên kiểu dữ liệu và tên biến, tránh nhầm lẫn. 3. Giới thiệu cách tham chiếu đến từng phần tử của mảng một chiều. Yêu cầu học sinh lấy một ví dụ..

<span class='text_page_counter'>(67)</span> Một số ví dụ. Hđ của HS. HĐ của Giáo Viên Y/C: Một em phát biểu bài toán tìm GTLN của dãy số nguyên. 2. Chú ý theo dõi yêu cầu và dẫn dắt của giáo viên. GV: Em hãy xác định bài - Sử dụng 9 mảng một toán chiều, một mảng lưu một hàng của bảng. - Khai báo 9 biến mảng một chiều. - Khai báo nhiều biến, viết chương trình nhập xuất dữ liệu dài. GV: Em hãy nhớ lại và diễn tả thuật toán hoặc ý tưởngmà ta học ở lớp 10. - Nếu xem mỗi hàng của mảng hai chiều là một phần tử thì ta có thể nói mảng hai chiều là mảng một chiều mà mỗi phần tử là mảng một chiều. 2. Các yếu tố để xây dựng mảng hai chiều: - Tên kiểu mảng. - Số phần tử trên một dòng, số phần tử trên một cột. - Kiểu dữ liệu chung của mọi phần tử.. GV: Bỏ xung hoặc gợi ý, cuối cùng đưa ra ý thưởng đúng cho cả lớp: ? Theo các em ta cần khai báo những đối tượng nào cho bài toán Cụ thể ntn? GV: Củng cố và đưa ra ý đúng nhất ? các em viết chương trình chính GV: Dùng các câu hỏi gợi ý và kt kết quả của HS. Y/c 2 học sinh lên thực hiện (viết bảng hoặc máy chiếu),. Nội dung Chương trình tìm giá trị lớn nhất Max trong dãy số nguyên (Sgk)..

<span class='text_page_counter'>(68)</span> các hs khác tiếp tục làm bài sau đó gv chữa bài và nhận xét trước lớp. III. CỦNG CỐ, ĐÁNH GIÁ VÀ YÊU CẦU - Nhắc lại nội dung bài học: Mảng một chiều, ý nghĩa, cách khai báo, ví dụ, cách tham chiếu đến các phần tử trong mảng. - Nhận xét và cho điểm - y/c: Các em về nhà làm bài tập và đọc trước phần 2..

<span class='text_page_counter'>(69)</span> Ngày soạn: 06 tháng 10 năm 2016. Tiết theo PPCT: 20 Bài 11: KIỂU MẢNG (tiết 2) I. MỤC TIÊU 1. Kiến thức: - Hiểu khái niệm mảng hai chiều. - Hiểu cách khai báo và truy cập đến các phần tử của mảng. 2. Kỹ năng: - Biết được cách tạo kiểu mảng hai chiều, cách khai báo biến, tham chiếu đến từng phần tử của mảng và một vài bài toán đơn giản liên quan đến mảng thông qua tiết học. II. CHUẨN BỊ + Giáo viên: - Soạn giáo án trước khi lên lớp. - Một số ví dụ gần gũi với hs liên quan đến mảng. - Máy chiếu đa năng, màn chiếu, máy vi tính, các thiết bị hỗ trợ khác (nếu có) + Học sinh: - Đọc trước sách giáo khoa ở nhà. - Sách giáo khoa, vở ghi chép bài và đồ dùng học tập. III. TIẾN HÀNH CÁC HOẠT ĐỘNG DẠY- HỌC. 1. Hoạt động 1: ổn định lớp và câu hỏi bài cũ: Câu hỏi: Em hãy khai báo một mảng một chiều có 30 phần tử và các phần tử là các số thực. 2. HĐ2: Mảng hai chiều. Hoạt động của Học sinh. Hoạt động của Nội dung Giáo viên 2. Giới thiệu ví dụ trong Tìm hiểu bài toán đưa ra màn Theo dõi sách giáo khoa. Tính và hình bảng tính nhân để HS đưa ra màn hình bảng cửu nhận biết mảng 2 chiều. chương. - Hỏi: sử dụng kiến thức HS: suy nghĩ và trả lời. về mảng một chiều, hãy đưa ra cách sử dụng kiểu mảng đó để lưu trữ bảng cửu chương. - Với cách lưu trữ như vậy Trả lời: 9 biến mảng ta phải khai báo bao nhiêu biến mảng? TL: Khai báo nhiều mảng - Có những khó khăn gì?.

<span class='text_page_counter'>(70)</span> một chiều.... Nhận xét mảng 2 chiều. TL: Tên biến mảng, số phần tử, kiểu dữ liệu.. Tham khảo sách giáo khoa và trả lời. - TYPE <tên_kmhc> = Array[csd,csc] of <kiểu_thành_phần>; - Ví dụ: Type mhc = array[1..10,1..5] of integer; - Lệnh trên dùng để tạo một kiểu mảng hai chiều có tên là mhc gồm 10 dòng và 5 cột, các phần tử có kiểu dữ liệu là integer. 2. Tham khảo sách giáo khoa và trả lời. - VAR <tên_biến> : <tên_kmhc>; - Ví dụ: Var a: mhc; 3. Quan sát cấu trúc chung và suy nghĩ tìm ví dụ. A[1,2] là phần tử ở dòng số 1, cột số 2 của mảng A. A[i,j] là phần tử ở dòng số i, cột số j của mảng A.. - Để khắc phục các khó khăn này, ta xem một mảng một chiều là một phần tử, ta ghép 9 mảng một chiều thành một mảng hai chiều. - Yêu cầu học sinh nhận xét về mảng hai chiều. 2. Các yếu tố xác định mảng hai chiều. - Hỏi: Để mô tả kiểu mảng hai chiều, ta cần xác định những yếu tố chính nào? Khai báo mảng 2 chiều *) Yêu cầu học sinh nghiên cứu sách giáo khoa và cho biết cách tạo kiểu dữ liệu mảng hai chiều. Khai báo trực tiếp: - Yêu cầu học sinh tìm ví Var Tên_biến_mảng: dụ minh họa. Array[kiểu chỉ số hảng, kiểu chỉ số cột] of kiểu dữ liệu; - Gọi một học sinh khác, Ví dụ: hỏi: ý nghĩa của lệnh mà Var A:Array[1..3,1..5] of bạn vừa viết? Integer; 2. Yêu cầu học sinh cho biết cách khai báo biến và một ví dụ khai báo một biến mảng hai chiều ứng với kiểu dữ liệu vừa tạo. 3. Giới thiệu cách tham chiếu đến từng phần tử của mảng một chiều. Yêu cầu học sinh lấy một ví dụ.. Một số ví dụ. 1 1. 2. 3. 4. 5. 6. 7. 8. 9.

<span class='text_page_counter'>(71)</span> 2 3 4 5 6 7 8 9 HĐ của HS. HĐ của GV Nội dung Y/C Các em tìm hiểu ví dụ Program BT; Theo dõi cách viết và sử 1 trong Sgk: Tính và đưa ra B: array[1..9,1..10] of dụng mảng 2 chiều qua ví màn hình bảng nhân. integer; dụ trong Sgk. i,j:integer; Begin For i:=1 to 9 do Hỏi: Ý nghĩa các lệnh trong For j:=1 to 10 do Trả lời ý nghĩa của các lệnh chương trình. B[i,j]:=i*j; trong chương trình For i:=1 to 9 do Begin For j:=1 to 10 do Write(B[i,j]:4); Writeln; end; readln; Tìm hiểu ví dụ 2: Nhập các End. Theo dõi ví dụ 2. phần tử của mảng 2 chiều, in ra các phần tử vừa nhập. III. CỦNG CỐ, ĐÁNH GIÁ, BÀI TẬP 3. HĐ 3: Củng cố, đánh giá, yêu cầu: -Nhắc lại nội dung chính của mảng 2 chiều, cách khai báo - nhận xét tiết học. - y/c: Viết chương trình nhập vào một mảng 2 chiều từ bàn phím sau đó đưa mảng vừa nhập ra màn hình. 4. HĐ 4: Rút kinh nghiệm sau tiết dạy: ……………………………………………………………………………………………… ……………………………………………………………………………………………… ……………………………………………………………………………………………… ………………………………..

<span class='text_page_counter'>(72)</span>

<span class='text_page_counter'>(73)</span> Ngày soạn: 25 tháng 10 năm 2016. Tiết theo PPCT: 21 BÀI TẬP I. MỤC TIÊU a. Kiến thức: - Ôn tập lại kiến thức về mảng, cách khai báo… - Hiểu rõ thêm các nội dung kiến thức thông qua bài tập. b. kỹ năng: - Sử dụng kiến thức về kiểu mảng và kiến thức lien quan để giải một số bài tập hoặc nhận biết vấn đề thong qua các bài tập có sẵn hoặc trắc nghiệm. II. CHUẨN BỊ a. Chuẩn bị của Giáo viên: - Một số bài tập tự luận và trắc nghiệm giúp HS củng cố kiến thức và nâng cao kỹ năng. - Giáo án, Sgk… b. Chuẩn bị của HS: - Học kỹ nội dung trước khi đến lớp: Kiểu mảng, các ví dụ. - Vở ghi, Sgk… III. TIẾN TRÌNH BÀI HỌC Câu hỏi bài cũ:Em hãy nêu cấu trúc khai báo mảng 2 chiều, lấy ví dụ. HĐ 1: Ôn tập lại kiến thức Kiểu mảng. PP giảng dạy: Sử dụng PP vấn đáp.Kiểm tra đánh giá để HS ôn tập. Hình thức dạy học: Dạy học trên lớp. HĐ của HS HĐ của GV Nội dung - GV nhắc lại hoặc yêu cầu Mảng một chiều là một dãy HS nhắc lại kiến thức về hữu hạn các phần tử cùng mảng về các khía cạnh: kiểu. +Khái niệm Mảng một chiều: HS: +Các thông tin liên quan - Tên kiểu mảng. Mảng một chiều là một dãy đến mảng một chiều. - Số lượng phần tử. hữu hạn các phần tử cùng +Khai báo mảng một chiều. - Cách khai báo. kiểu. +Cách tham chiếu đến các - Cách tham chiếu đến các Mảng một chiều: phần tử mảng một chiều. phần tử mảng một chiều. - Tên kiểu mảng. - Số lượng phần tử. - Cách khai báo. - Cách tham chiếu đến các phần tử mảng một chiều. Khai báo: Var Tên biến mảng: Array[chỉ số phần t] of kiểu.

<span class='text_page_counter'>(74)</span> dữ liệu; Cách tham chiếu: Tên biến mảng[chỉ số]; VD: A[6];. Câu hỏi tương tự cho mảng 2 chiều;. Tương tự với mảng 2 chiều ………… HĐ 2: Vận dụng qua một số bài tập Bài tập 1: const nmax=100; Type myarr=array[1..nmax] of myarr; Var A,B: myarr; n,i,j: integer; Begin Randomize; Writeln(‘Nhap n:’); Readln(n); For i:=1 to n do a[i]:= random(300)-random(300); For i:=1 to n do Write(A[i]:5); Writeln; {bat dau tao B} For i:= 1 to n do Begin B[i]:=0; For j:= 1 to i do B[i]:= B[i]+A[j]; End; {Ket thuc tao xau B}; For i:= 1 to n do Write(B[i]:6); Readln; End. HĐ của HS HĐ của GV Nội dung Đưa ra nội dung bài qua khổ giấy hoặc máy chiếu. ? -Nêu ý nghĩa các lệnh trong bài trên. Nêu ý nghĩa các lệnh. - Bài Pascal trên thực hiện HS trả lời. công việc gì? Bài tập 2: Mảng một chiều A gồm N phần tử là các số nguyên. Tính tổng các phần tử trong mảng A. A. Khai báo cho bài toán trên. B. Viết lệnh tính tổng các phần tử trong mảng..

<span class='text_page_counter'>(75)</span> C. Viết chương trình Pascal.. HĐ của HS Theo dõi và suy nghĩ làm bài. HĐ của GV - Viết bài toán (hoặc trình chiếu). - Nêu Y/c. Hỏi và gợi ý khi cần thiết. Nội dung a. Const N=20; Var A:Array[1..N] of Integer; i: Byte; S:Longint; b. For i:=1 to N do S:=S+A[i];. IV. NHẬN XÉT, ĐÁNH GIÁ VÀ YÊU CẦU - Nhắc lại nội dung tiết học. - Nhận xét kết quả buổi học. - Y/C: Viết chương trình nhập mảng A gồm N số nguyên. In mảng vừa tạo sau đó tính tổng các số có giá trị chẵn trong mảng. Rút kinh nghiệm sau tiết dạy ................................................................................................................................................ ................................................................................................................................................ ................................................................................................................................................ ................................................................................................................................................ ................................................................................................................................

<span class='text_page_counter'>(76)</span> Ngày soạn: 13 tháng 11 năm 2016. Tiết theo PPCT: 22 BÀI TẬP VÀ THỰC HÀNH 3 (tiết 1) I. MỤC TIÊU 1. Kiến thức: - Nhận biết cách khai báo mảng. 2. Kỹ năng: - Biết cách nhập dữ liệu cho mảng từ bàn phím. - Biết cách duyệt phần tử của mảng và truy cập phần tử của mảng. - Nâng cao kỹ năng sử dụng một số câu lệnh và một số kiểu dữ liệu thông qua việc tìm hiểu, chạy thử chương trình có sẵn. - Biết giải một số bài toán tính toán, tìm kiếm đơn giản trên máy tính. II. CHUẨN BỊ + Giáo viên: - Soạn giáo án trước khi lên lớp. - Chuẩn bị và xem trước nội dung bài 1 Sgk- T 63. - Máy chiếu đa năng, màn chiếu, phòng máy. + Học sinh: - Đọc trước sách giáo khoa ở nhà, kiến thức về kiểu mảng. - Sách giáo khoa, vở ghi chép bài và đồ dùng học tập. III. CÁC HOẠT ĐỘNG DẠY- HỌC 1. ổn định phòng máy: - Sĩ số: ............ - Số học sinh vắng mặt: ........... 2. Nội dung bài học: a. Tạo mảng A gồm N phần tử các số nguyên (N<=100). Mỗi số có giá trị tuyệt đối không qua 300. Tính tổng các phần tử của mảng là bội số của một số nguyên k cho trước.. HĐ của HS Đọc kỹ đề bài Mảng A các số nguyên... Số N Số K Tổng S Chỉ số i. HĐ của GV Nội dung GV: Y/C học sinh đọc kỹ Bài 1 trong nội dung thực đề bài. hành Sgk. Trang 63. ? Ta cần khai báo những đối tượng nào.

<span class='text_page_counter'>(77)</span> ? Các công việc chính 1. Nhập N, Mảng A, và trong chương trình của ta số K. là gì 2. Duyệt lần lượt các A[i] nếu thấy A[i] chia hết cho K thì đưa thêm vào tổng S... 3. Đưa kết quả ra màn hình Y/c: các em (2-4 HS/1 Máy) hãy gõ và chạy thử Soạn thảo nội dung. nội dung trong Sgk_T63. GV: Giải thích hoặc yêu Chạy thử chương trình cầu HS giải thích các câu Phát hiện và khắc phục lỗi lệnh trong bài. chương trình. a. Hãy đưa các câu lệnh sau vào những vị trí cần thiết để có chương trình đưa ra các số dương và các số âm trong mảng. Pos, neg: Integer; pos:=0; neg:=0; if A[i] >0 then Pos:=pos+1 else if A[i]< 0 then neg:=neg+1; Write(pos:4, nrg:4);. HS suy nghĩ và thảo luận để thêm các lệnh trên vào vị trí GV: hướng dẫn hoặc gợi ý thích hợp cho các em. Cụ thể: Pos, neg: Integer; Nằm ở phần khai báo pos:=0; neg:=0; Nằm sau khi đã tạo giá trị cho mảng A và bắt đầu duyệt Nằm trong quá trình duyệt. y/c các em thêm vào Sau khi duyệt xong ra in chương trình và chạy thử thông báo. chương trình. IV. CỦNG CỐ, ĐÁNH GIÁ VÀ BÀI TẬP - GV khẳng định lại bài toán đúng nhất. - Nêu một số lỗi và cách khắc phục mà các em thường mắc phải. - Giải thích ý nghĩa các câu lệnh trong chương trình..

<span class='text_page_counter'>(78)</span> - Y/C: Về nhà tìm hiểu chương trình tìm giá trị lớn nhất (bài 2_T64). Rút kinh nghiệm sau tiết dạy: ……………………………………………………………………………………………… ……………………………………………………………………………………………… ……………………………………………………………………………………………… ……………………………………………………………………………………………...

<span class='text_page_counter'>(79)</span> Ngày soạn: 17 tháng 11 năm 2016. Tiết theo PPCT: 23 BÀI TẬP VÀ THỰC HÀNH 3 (tiết 1) I. MỤC TIÊU 1. Kiến thức: - Nhận biết cách khai báo mảng. 2. Kỹ năng: - Biết cách nhập dữ liệu cho mảng từ bàn phím. - Biết cách duyệt phần tử của mảng và truy cập phần tử của mảng. - Nâng cao kỹ năng sử dụng một số câu lệnh và một số kiểu dữ liệu thông qua việc tìm hiểu, chạy thử chương trình có sẵn. - Biết giải một số bài toán tính toán, tìm kiếm đơn giản trên máy tính. II. CHUẨN BỊ + Giáo viên: - Soạn giáo án trước khi lên lớp. - Chuẩn bị và xem trước nội dung bài 2 Sgk- T 63. - Máy chiếu đa năng, màn chiếu, phòng máy. + Học sinh: - Đọc trước sách giáo khoa ở nhà, kiến thức về kiểu mảng. - Sách giáo khoa, vở ghi chép bài và đồ dùng học tập. III. CÁC HOẠT ĐỘNG DẠY- HỌC 1. HĐ 1: Nhắc lại nội dung bài cũ và thông báo nội dung bài thực hành mới. 2. Hoạt động 2_Bài 2: Viết chương trình tìm phần tử có giá trị lớn nhất của mảng và đưa ra màn hình chỉ số và giá trị của phần tử tìm được. Nếu có nhiều phần tử có cùng giá trị lớn nhất thì hãy đưa ra màn hình chỉ số đầu tiên. PP dạy học: Sử dụng PP đặc trưng: HS thực hành kết hợp vấn đáp,kiểm tra đánh giá. Hình thức dạy học: Dạy học trên phòng máy. a. Soạn thảo nội dung. HĐ của HS. HS: 1 Khai báo mảng A 2 N, i và cs( chỉ số) 3. Nhập giá trị cho mảng. 4. MAX= A[1]; I= 2. 5. Duyệt từ a[2]  a[n] nếu A[i] >max thì Max  a[i], chỉ số cs=i. HĐ của Viáo Viên - Các em nhớ lại nội dung bài tìm giá trị lớn nhất sau đó trình bày nội dung cho cả lớp.. Nội dung Chương trình tìm giá trị lớn nhất trongmangr và đưa ra màn hình chỉ số đầu tiên và giá trị tìm được..

<span class='text_page_counter'>(80)</span> 6. Đưa ra cs, max và kết thúc. HS: Soạn thảo nội dung theo sgk và chạy thử chương trình Nhập một số lần kq của mảng và N khác nhau. Theo dõi và hướng dẫn ? trong bài này thì bài toán y/c đưa ra chỉ số đầu tiên lớn nhất vậy nếu a[i]>=max thì max:=a[i] và cs:=i có được không? Các em thử thay MAX< a[i] bằng MAX<=a[i] xem kết quả ntn?. Trong chương trình thay đoạn if a[i]> a[j] then j:=i; bằng đoạn If a[i]>=a[j] then..... a. Chỉnh sửa chương trình trên để đưa ra chỉ số các phần tử có cùng giá trị lớn nhất. Từ kết quả mới làm đc ở Chỉnh sửa chương trình để câu a, các em trình bày ý đưa ra các giá trị có cùng tưởng làm câu b. GTLN. HS: Đầu tiên ta tim giá trị lớn nhất MAX của dãy mà chưa cần tìm chỉ số, lần duyệt thứ 2 ta tìm những chỉ số có cùng giá trị với Max. ? Vậy ta phải thêm bớt các câu lẹnhvào chương trình ở câu a ntn HS: trả lời GV: bổ xung và đưa ra ý kiến đúng nhất..

<span class='text_page_counter'>(81)</span> III. NHẬN XÉT, ĐÁNH GIÁ VÀ BÀI TẬP - Nhận xét buổi học và cho điểm một số em đc kiểm tra. - Khẳng định lại 2 bài toán a và b - y/c: Các em về nhà đọc kỹ kiến thức mảng 2 chiều chuẩn bị cho tiết học sau. 3. Rút kinh nghiệm sau tiết dạy. .......................................................................................................................................... .......................................................................................................................................... .......................................................................................................................................... ...........................................................................................................................................

<span class='text_page_counter'>(82)</span> Ngày soạn: 21 tháng 11 năm 2016. Tiết theo PPCT: 24 BÀI TẬP VÀ THỰC HÀNH SỐ 4 (tiết 1) I. MỤC TIÊU 1. Kiến thức: - Củng cố lại các kiến thức cơ bản khi lập trình với kiểu dữ liệu mảng. - Làm quen với thuật toán sắp xếp đơn giản 2. Kỹ năng: - Rèn luyện kĩ năng sử dụng kiểu dữ liệu có cấu trúc, kĩ năng diễn đạt thuật toán bằng chương trình sử dụng kiểu mảng. - Rèn luyện kĩ năng nhận xét, phân tích và đề xuất cách giải bài toán sao cho chương trình chạy nhanh hơn. - Rèn luyện thái độ tự giác, chủ động trong khi thực hành II. CHUẨN BỊ Giáo viên: - Soạn giáo án trước khi lên lớp. - Chuẩn bị các hình minh họa - Máy chiếu đa năng, màn chiếu, máy vi tính, các thiết bị hỗ trợ khác (nếu có)  Học sinh: - Đọc trước sách giáo khoa ở nhà. - Sách giáo khoa, vở ghi chép bài và đồ dùng học tập. III. TIẾN HÀNH CÁC HOẠT ĐỘNG DẠY – HỌC 1 ổn định lớp và câu hỏi bài cũ: - Sĩ số: ............ - Số học sinh vắng mặt: ........... Câu hỏi: Làm thế nào để người ta đổi nước ở 2 xô cho nhau từ đó hãy đề xuất cách đổi giá trị của 2 biến cho nhau. 2. Nội dung bài học: 1.Hoạt động 1: Tìm hiểu chương trình diễn đạt của thuật toán sắp xếp. PP giảng dạy: Chủ yếu sử dung PP vấn đáp bằng các câu hỏi gợi mở. PP học sinh tự làm việc (thực hành). Hình thức/Kỹ thuật dạy học: dạy học trên phòng máy. Hoạt động của Học sinh Hoạt động của Giáo Nội dung viên 1. Gợi ý cho học sinh Sắp xếp tăng dần trong 1. Chú ý theo dõi những dẫn thuật toán sắp xếp tăng mảng For j:= N downto 2 do dắt của giáo viên để trả lời dần. - Yêu cầu: Vạch ra các For i:=1 to N do câu hỏi. bước để sắp xếp các phần If A[i]>A[j] then.

<span class='text_page_counter'>(83)</span> - Lần lượt lấy từng phần tử tử của một mảng không từ trái qua phải. giảm. - Cứ mỗi phần tử ta đem ra so sánh lần lượt với các phần tử đứng bên phải của nó. - Nếu nhỏ hơn thì đổi chỗ. 2. Tìm hiểu chương trình 2. Quan sát chương trình, ví dụ, sách giáo khoa suy nghĩ câu hỏi và trả lời. trang 65. - Chiếu chương trình ví dụ - Biến i, j dùng làm chỉ số. lên bảng. - Mỗi vòng lặp for ứng với - Hỏi: vai trò của biến i, j mỗi phép duyệt lần lượt. trong chương trình? Mỗi - Dùng để tráo đổi giá trị của vòng lặp for trong đoạn hai phần tử a[i] với a[i+1]. chương trình có ý nghĩa gì? - Quan sát giáo viên thực - Hỏi: Ba lệnh tg:= a[i]; hiện chương trình. a[i]:= a[i+1]; - Chương trình sắp xếp dãy a[i+1]:= số theo thứ tự không giảm. tg; 3. Quan sát yêu cầu mới, chú có ý nghĩa gì? ý hướng giải quyết của giáo - Thực hiện chương trình, viên. nhập dữ liệu để học sinh thấy kết quả chương trình. - Hỏi: chương trình làm công việc gì? tg:= a[i]; 3. Sửa chương trình để a[i]:= a[i+1]; giải quyết bài toán ở câu a[i+1]:= tg; b). dem:= dem + 1; - Đặt yêu cầu mới: khai báo thêm biến nguyên - Ngay sau khi đoạn lệnh dem và bổ sung vào tráo đổi. chương trình đoạn lệnh cần thiết để biến dem tính - Soạn chương trình vào số lần thực hiện tráo đổi máy. Thực hiện chương trình trong thuật toán. In kết và thông báo kết quả. quả tìm được ra màn hình. - Nhập dữ liệu theo yêu cầu - Hỏi: Đoạn chương trình của giáo viên, thực hiện nào dùng để thực hiện tráo chương trình và thông báo đổi giá trị? kết quả sau khi thực hiện.. Begin t:=A[i]; A[i]:=A[j]; A[j]:=t; End;. For j:= N downto 2 do For i:=1 to N do If A[i]>A[j] then Begin tg:= a[i]; a[i]:= a[i+1]; a[i+1]:= tg; dem:= dem + 1; end;.

<span class='text_page_counter'>(84)</span> - Yêu cầu học sinh viết lệnh để đếm số lần tráo đổi. - Hỏi: Lệnh này được viết ở vị trí nào trong chương trình? - Yêu cầu học sinh soạn chương trình vào máy. - Yêu cầu học sinh nhập dữ liệu vào của giáo viên và thông báo kết quả. - Đánh giá kết quả học tập của học sinh. IV. NHẬN XÉT, ĐÁNH GIÁ VÀ BÀI TẬP - Thuật toán sắp xếp đơn giản. - Một bài toán có thể có nhiều cách viết thành một chương trình chọn cách có số phép tính ít nhất. Bài tập về nhà - Xem lại tất cả các kiến thức đã học, bao gồm: Lệnh cơ bản, lệnh điều khiển, kiểu dữ liệu cơ bản, kiểu dữ liệu có cấu trúc. Rút kinh nghiệm sau tiết dạy: ................................................................................................................................................ ................................................................................................................................................ ................................................................................................................................................ ................................................................................................................................................ ................................................................................................................................................ ...................

<span class='text_page_counter'>(85)</span> Ngày soạn: 24 tháng 11 năm 2016. Tiết theo PPCT: 25 BÀI TẬP VÀ THỰC HÀNH SỐ 4 (tiết 2) I. MỤC TIÊU 1. Kiến thức: - Củng cố lại các kiến thức cơ bản khi lập trình với kiểu dữ liệu mảng. - Làm quen với thuật toán sắp xếp đơn giản 2. Kỹ năng: - Rèn luyện kĩ năng sử dụng kiểu dữ liệu có cấu trúc, kĩ năng diễn đạt thuật toán bằng chương trình sử dụng kiểu mảng. - Rèn luyện kĩ năng nhận xét, phân tích và đề xuất cách giải bài toán sao cho chương trình chạy nhanh hơn. - Rèn luyện thái độ tự giác, chủ động trong khi thực hành II. CHUẨN BỊ Giáo viên: - Soạn giáo án trước khi lên lớp. - Chuẩn bị các hình minh họa - Máy chiếu đa năng, màn chiếu, máy vi tính, các thiết bị hỗ trợ khác (nếu có)  Học sinh: - Đọc trước sách giáo khoa ở nhà. - Sách giáo khoa, vở ghi chép bài và đồ dùng học tập. III. TIẾN HÀNH CÁC HOẠT ĐỘNG DẠY – HỌC 1. Hoạt động 1: ổn định lớp và phòng máy. 2. Hoạt động 2: Rèn luyện kĩ năng nhận xét, phân tích và đề xuất cách giải bài toán sao cho chương trình chạy nhanh hơn. PP dạy học: dạy học thực hành trên phòng máy, ngoài ra còn sử dụng các pp khác như vấn đáp, kiểm tra- đánh giá. Hoạt động của Học sinh Hoạt động của Giáo viên 1. Quan sát đề bài và trả lời 1. Xác định bài toán. câu hỏi. - Chiếu đề bài lên bảng. - Yêu cầu: xác định dữ - Vào: mảng A gồm n phần liệu vào, dữ liệu ra? tử. - Gợi ý để học sinh đề - Ra: mảng b gồm n phần tử. xuất thuật toán thô. - Tại vị trí i ta tính tổng giá 2. Giới thiệu chương trình trị các phần tử từ 1 tới i. chưa cải tiến. 2. Quan sát chương trình trên - Chiếu chương trình diễn. Nội dung Cho mảng A gồm N phần tử.Hãy viết chương trình tạo mảng B gồm N phần tử trong đó B[i] là tổng của I phần tử đầu tiên của mảng A..

<span class='text_page_counter'>(86)</span> bảng. đạt thuật toán. - Quan sát giáo viên thực hiện, nhận xét thời gian thực - Thực hiện chương trình hiện chương trình. để học sinh biết thời gian thực hiện chương trình và kết quả của chương trình. - Hỏi: Trong chương trình - Phải thực hiện n(n+1)/2 phải thực hiện bao nhiêu phép cộng. phép cộng? - Hỏi: Có cách nào cải - Để tính bước thứ i, ta sử tiến? dụng kết quả đã tính ở bước thứ i – 1. b[i]:= b[i-1] + a[i]; - Lệnh này được thay lệnh - Thay đoạn lệnh: nào trong chương trình? for j:= 1 to i do Viết ở vị trí nào? b[i]:= b[i] + a[j]; 3. Yêu cầu: viết chương trình hoàn thiện.. 3. Soạn chương trình vào máy, thực hiện chương trình và thông báo kết quả. - Nhận xét về thời gian thực hiện của chương trình này so với chương trình trước khi cải tiến.. 4. Tiểu kết: Cùng một bài toán, có nhiều cách giải quyết khác nhau. Người lập trình cần chọn cách sao cho máy thực hiện nhanh nhất.. Chương trình: const nmax=100; Type myarr=array[1..nmax] of myarr; Var A,B: myarr; n,i,j: integer; Begin Randomize; Writeln(‘Nhap n:’); Readln(n); For i:=1 to n do a[i]:= random(300)-random(300); For i:=1 to n do Write(A[i]:5); Writeln;.

<span class='text_page_counter'>(87)</span> {bat dau tao B} For i:= 1 to n do Begin B[i]:=0; For j:= 1 to i do B[i]:= B[i] +A[j]; End; {Ket thuc tao xau B}; For i:= 1 to n do Write(B[i]:6); Readln; End. 3. Củng cố, đánh giá và yêu cầu. - Để ý rằng ta có hệ thức sau: B[1]=A[1]; B[i]:= B[i-1]+A[i]; Do đó ta có thể thay chương trình khởi tạo xâu B bằng đoạn chương trình sau: B[1]:= A[1]; For i:=2 to n do B[i]:=B[i-1]+A[i]; - Với hai lệnh này thì máy chỉ thực hiện n-1 phép cộng trong khi với đoạn chương trình trên máy phải thực hiện n(n-1)/2 phép cộng. Vì vậy ta có thể tiết kiệm được phần lớn thời gian. 4. Rút kinh nghiệm sau tiết dạy. .......................................................................................................................................... .......................................................................................................................................... .......................................................................................................................................... .....................................................................................................................

<span class='text_page_counter'>(88)</span> Ngày soạn: 27 tháng 11 năm 2016. Tiết theo PPCT: 26 KIỂU XÂU I. MỤC TIÊU a. Kiến thức. - Biết xâu là một dãy kí tự ( có thể coi xâu là một mảng một chiều). - Biết cách khai báo xâu, truy cập phần tử của xâu. - Biết một số thủ tục, hàm thông dụng về xâu. b. Kỹ năng. Bước đầu sử dụng một số hàm, thủ tục liên quan đến xử lí xâu. II. CHUẨN BỊ a. Chuẩn bị của giáo viên: - Giáo án, sgk, một số ví về bài toán xử lí xâu. - Máy chiếu (nếu có) b. Chuẩn bị của HS: - Vở ghi, vở bt, sgk. - Đọc trước bài 12. III. TIẾN HÀNH CÁC HOẠT ĐỘNG DẠY- HỌC 1. Hoạt động 1:ổn định lớp. 2. Hoạt động 2:Tìm hiểu kiểu xâu- khai báo (20 phút). PP dạy học: Sử dụng PP day học thuyết trình, vấn đáp. Kỹ thuật/ hình thức dạy học: Dạy học trên lớp, kết hợp máy chiếu( nếu có). HĐ của HS HĐ của Giáo Viên Nội dung Dẫn dắt: Chúng ta đã Dữ liệu kiểu xâu là một dãy được biết kiểu dữ liệu các kí tự liên quan đến kí tự đó là Vd: ‘Hà Nội- Việt Nam” kiểu CHAR, tuy nhiên Các phần tử trong dữ liệu kiểu kiểu char chỉ biểu diễn xâu cũng giống như trong được 1 kí tự tại một mảng một chiều. điểm- Đôi khi ta phải xử H a N o i lí cả một chuỗi kí tự dài như họ tên của một người, lúc này khai báo như kiểu char không còn Lấy ví dụ. phù hợp. Giới thiệu kiểu dữ liệu mới -kiểu xâu. Em hãylấy một vài ví dụ HS: St[5]=’X’. về xâu. Giải thích các phần tử của kiểu xâu cũng giống.

<span class='text_page_counter'>(89)</span> như kiểu mảng một chiều và lấy ví dụ ? Cho xâu St:=’ABC XYZ PIV’ thì St[5]=? 3. Hoạt động 3: Khai báo xâu. PP dạy học: Sử dụng PP day học thuyết trình, vấn đáp. Kỹ thuật/ hình thức dạy học: Dạy học trên lớp, kết hợp máy chiếu( nếu có). HĐ của HS. HĐ của Giáo Viên Viết hoặc hỏi HS về cấu trúc khai báo. Hỏi: từ cấu trúc em hãy khai báo xâu chứa họ tên của một người.. Nội dung Viết cấu trúc khai báo Var Tên_biến_xâu: String; hoặc Var Tên_biến_xâu:String[độ dài tối đa]; y/c: lấy ví dụ. Vd: Var ht: String; hoặc Var ht: String[30]; 4.Hoạt động 4: Các thao tác xử lí xâu PP dạy học: Sử dụng PP day học thuyết trình, vấn đáp. Kỹ thuật/ hình thức dạy học: Dạy học trên lớp, kết hợp máy chiếu( nếu có). HĐ của HS. Theo dõi và lấy ví dụ về các thao tác: a.Cộng hai xâu: “Hà ‘+’Nội’=’Ha Nội’ b. So sánh 2 xâu: ‘ABC’<’AD’ ‘Computer’< ‘Mycomputer’ c. Thủ tục Xóa Delete(st,vt,n) Delete(‘Viet Nam’ 4, 4)= ‘Viet’.. HĐ của GV. Nội dung Dẫn dắt vấn đề: Nếu như các thao tác liên quan đến dữ liệu kiểu mảng là cộng, trừ, nhân chia dữ liệu trong mảng thì đối với xâu ta cũng có những thao tác xử lí đặc trưng của xâu. Viết bảng các thao tác từ A-H và y/c hs lấy vd. Gv: Giải thích và cùng lấy ví dụ với HS..

<span class='text_page_counter'>(90)</span> d. Thủ tục Insert (S1,S2, vt) Insert(‘AB’,’XYZT’,3)=’X YABZT’. e.Hàm Copy(S,vt,n). Copy(‘Ha Long’,4,4)=’Long’. f. Hàm Length(S): Trả về độ dài xâu S St:=’professional’ Length(st)=12; g. Hàm Pó(S1,S2) vị trí xuât hiện đầu tiên của xâu S1 trong xâu S2: S1:= ‘AB’; S2:= ‘CVBABmnABD’ Pos(S1,S2)=3. h. Hàm Upcase(ch): Cho chữ cái in thường thành in hoa. Ch:=’b’; Upcase(ch)=’B’. 1. Củng cố, đánh giá- Yêu cầu - Nhắc lại nội dung: Xâu, khai báo, Một số thao tác xử lí xâu. - Đánh giá và cho điểm. - Y/C: Các em học kĩ nội dung tiết sau chúng ta làm ví dụ áp dụng 2. Rút kinh nghiệm sau tiết dạy ..................................................................................................................................... ..................................................................................................................................... ..................................................................................................................................... .....................................................

<span class='text_page_counter'>(91)</span> Ngày soạn: 30 tháng 11 năm 2016. Tiết theo PPCT: 26 KIỂU XÂU (tiết 2) I. MỤC TIÊU a. Kiến thức. - Củng cố kiến thức về xâu thông qua một số ví dụ, bài tập. b. Kỹ năng. Bước đầu sử dụng một số hàm, thủ tục liên quan đến xử lí xâu để giải một số bài tập. II. CHUẨN BỊ a. Chuẩn bị của giáo viên: - Giáo án, sgk, một số ví về bài toán xử lí xâu. - Máy chiếu (nếu có) để trình chiếu các bài Pascal. b. Chuẩn bị của HS: - Vở ghi, vở bt, sgk. - Đọc trước bài 12. III. TIẾN HÀNH CÁC HOẠT ĐỘNG DẠY- HỌC 1. Hoạt động 1: ổn định lớp và kiểm tra bài cũ Câu hỏi 1: Hãy khai báo một xâu có tối đa 50 kí tự. Câu hỏi 2: Hãy nêu một thao tác xử lí xâu và lấy ví dụ. 2. Hoạt động 2: Một số ví dụ. PP dạy học: Sử dụng PP day học thuyết trình, vấn đáp nêu vấn đề. Kỹ thuật/ hình thức dạy học: Dạy học trên lớp, kết hợp máy chiếu( nếu có). ví dụ 1: Viết chương trình nhập vào họ tên 2 người vào 2 biến xâu sau đó đưa ra màn hình xâu dài hơn, nếu bằng nhau thì đưa ra xâu nhập sau.. HĐ của HS Khai báo 2 xâu chẳng hạn St1 và St2. Suy nghĩ và trả lời:Ta so sánh độ dài hai xâu Hàm Length(st);. HĐ của Giáo Viên ? Ta phải khai báo những gì. Nội dung Program bt; Var a,b:String; Begin Writeln(‘nhap HT nguoi Trong chương trình chính 1=’); Read(a); ta làm gì? Writeln(‘nhap HT nguoi 2=’); Read(b); ? Thủ tục hay hàm nào xử if length(a)>length(b) then lí xâu liên quan đến độ write(a) else write(b); dài readln; End.. Ví dụ 2: Chương trình nhập 2 xâu từ bàn phím và kiểm tra kí tự đầu tiên của xâu thứ nhất có trùng với kí tự cuối cùng của xâu thứ 2 hay không.. HĐ của HS. HĐ của Giáo Viên. Nội dung.

<span class='text_page_counter'>(92)</span> ? kí tự đầu tiên của xâu a viết ntn. Program bt2; Var a,b:String; A[1] Begin ? Làm sao để lấy được kí Writeln(‘nhap xau 1=’); X:=length(b); tự cuối cùng của xâu b. Read(a); b[x]; Writeln(‘nhap xau 2=’); Read(b); ? Câu lệnh kiểm tra kí tự x:=length(b); đầu tiên của xâu thứ nhất if a[1]=b[x] then if a[1]=b[x] then có trùng với kí tự cuối write(‘trung nhau’) else write(‘trung nhau’) else cùng của xâu thứ 2 hay write(‘khong trung’); write(‘khong trung’); không là ntn readln; End. Ví dụ 3: Chương trình nhập một xâu từ bàn phím sau đó in ra màn hình xâu nhưng theo thứ tự ngược lại. HĐ của HS K:=length(a); Write(a[k]); Write(a[k-1]); Write(a[2]); Write(a[1]);. HĐ của Giáo Viên ? Em hãy viết lệnh in ra kí tự cuối cùng.. Nội dung Program bt3; Var a:String; i,k:byte; ? Em hãy viết lệnh in ra Begin kí tự gần cuối cùng (trước Writeln(‘nhap xau =’); a[k]). Read(a); ... k:=length(a); ? Em hãy viết lệnh in ra for i:=k downto 1 do kí tự thứ 2, 1. write(a[i]); readln; Từ đó em hãy đề xuất End. cách in ra các kí tự từ cuối về đầu.. For i:=k downto 1 do Write(a[i]); Tương tự giáo viên cùng các em có thể tìm hiểu thêm ví dụ 4, 5 trong sgk nếu còn thời gian. IV. CỦNG CỐ, BÀI TẬP VÀ ĐÁNH GIÁ TIẾT HỌC - giáo viên ra thêm một số bài tập về nhà: Bài tập 1: Viết chương trình nhập vào một xâu, chuyển kí tự đầu tiên thành kí tự hoa. Bài tập 2: Viết chương trình nhập vào một xâu, kiểm tra xem xâu đó có phải là xâu đối xứng hay không, xâu đối xứng là xâu viết theo chiều thuận cũng giống viết theo chiều ngược. RÚT KINH NGHIỆM SAU TIẾT DẠY.

<span class='text_page_counter'>(93)</span> ................................................................................................................................................ ................................................................................................................................................ ................................................................................................................................................ ................................................................................................................................................ ........................................................................

<span class='text_page_counter'>(94)</span>

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×