Skip to main content

Giáo án tin học 11, HK1 phát triển năng lực 5 hoạt động (Mục tiêu, Nội dung, Cách thức, Sản phẩm)

Page 1

GIÁO ÁN TIN THEO PHÁT TRIỂN NĂNG LỰC

vectorstock.com/10212105

Ths Nguyễn Thanh Tú eBook Collection

Giáo án (Kế hoạch bài dạy) tin học 11, HK1 phát triển năng lực 5 hoạt động (Mục tiêu, Nội dung, Cách thức thực hiện, Sản phẩm) Năm học 2020-2021 WORD VERSION | 2021 EDITION ORDER NOW / CHUYỂN GIAO QUA EMAIL TAILIEUCHUANTHAMKHAO@GMAIL.COM

Tài liệu chuẩn tham khảo Phát triển kênh bởi Ths Nguyễn Thanh Tú Đơn vị tài trợ / phát hành / chia sẻ học thuật : Nguyen Thanh Tu Group Hỗ trợ trực tuyến Fb www.facebook.com/DayKemQuyNhon Mobi/Zalo 0905779594


Năm học: 2020 - 2021

KẾ HOẠCH BÀI DẠY TIN HỌC 11

Tiết PPCT: 01

CHƯƠNG I: MỘT SỐ KHÁI NIỆM VỀ LẬP TRÌNH VÀ NGÔN NGỮ LẬP TRÌNH BÀI 1: KHÁI NIỆM LẬP TRÌNH VÀ NGÔN NGỮ LẬP TRÌNH I. MỤC TIÊU BÀI HỌC 1. Kiến thức, kĩ năng, thái độ: a. Về kiến thức - Biết và phân biệt được có 3 lớp ngôn ngữ lập trình là ngôn ngữ máy, hợp ngữ và ngôn ngữ bậc cao. - Biết vai trò của chương trình dịch. Biết khái niệm biên dịch và thông dịch. - Biết một trong những nhiệm vụ quan trọng của chương trình dịch là phát hiện lỗi cú pháp của chương trình nguồn. b. Về kĩ năng - Nắm được khái niệm lập trình và ngôn ngữ lập trình. - Nắm được vai trò của chương trình dịch, phân biệt được biên dịch và thông dịch. c. Về thái độ - Nhận thức quá trình phát triển của ngôn ngữ lập trình gắn liền với quá trình phát triển của tin học nhằm giải các bài toán thực tiễn ngày càng phức tạp. - Hứng thú trong học tập, tìm hiểu khoa học. 2. Năng lực định hướng hình thành và phát triển cho học sinh - Năng lực giải quyết vấn đề thông qua trao đổi, thảo luận. - Năng lực tự hoc. - Năng lực hợp tác. - Năng lực giao tiếp, sử dụng ngôn ngữ. II. CHUẨN BỊ: 1. Giáo viên - Bài giảng, máy chiếu. - Yêu cầu học sinh tập hợp kiến thức bài 4, bài 5 và bài 6 của SGK Tin học lớp 10. - Chuẩn bị các bài toán đơn giản, ngôn ngữ lập trình cụ thể VD như NNLT Pascal. 2. Học sinh - Sách giáo khoa, vở ghi - Kiến thức đã học ở lớp 10 III. TIẾN TRÌNH CÁC HOẠT ĐỘNG HỌC A. KHỞI ĐỘNG a. Mục tiêu - Để giải bài toán trên máy tính cần phải có ngôn ngữ lập trình. - Phân biệt được các loại ngôn ngữ lập trình - Hiểu ý nghĩa và nhiệm vụ của chương trình dịch. b. Nội dung: Học sinh liên hệ được kiến thức đã học ở lớp 10; phân biệt được các ngôn ngữ 1 NHÓM TIN HỌC


Năm học: 2020 - 2021

KẾ HOẠCH BÀI DẠY TIN HỌC 11

lập trình; Tại sao cần phải xây dựng ngôn ngữ lập trình; Để chuyển từ chương trình nguồn sang chương trình đích cần phải có chương trình dịch. c. Cách thức thực hiện: Cá nhân, thảo luận nhóm. Tại lớp. d. Sản phẩm: Giải quyết được bài tập GV yêu cầu. Chuyển giao nhiệm vụ

Tiếp nhận nhiệm vụ

Chiếu bài toán: Kết luận nghiệm của phương trình : ax + b=0. + Hãy xác định Input, Output của bài toán trên? + Hãy xác định các bước để giải bài toán trên? - Hệ thống các bước này chúng ta gọi là thuật toán. + Các bước giải bài toán trên máy tính? Làm sao để máy tính có thể hiểu và thực hiện các thuật toán đã lựa chọn để giải bài toán? - Như vậy hoạt động để diễn đạt một thuật toán trên máy tính thông qua một ngôn ngữ lập trình được gọi là lập trình. Và để máy tính hiểu và thực hiện được câu lệnh đó thì NNLTBC cần phải được chuyển đổi về NN của máy để máy tính hiểu và thực hiện được. + Dự kiến tình huống: Có thể HS không xác định được chương trình trung gian.

- Xác định bài toán: +Input: a, b +Output: x=-b/a, VN, VSN. Các bước để giải bài toán: B1: Nhập a, b. B2: Nếu a<> 0 kết luận có nghiệm x=-b/a. B3: Nếu a=0 và b<>0, kết luận vô nghiệm. B4: Nếu a = 0 và b = 0, kết luận vô số nghiệm. + Các bước giải bài toán trên máy tính: Bước 1: Xác định bài toán. Bước 2: Lựa chọn hoặc thiết kế thuật toán. Bước 3: Viết Chương Trình. Bước 4: Hiệu Chỉnh. Bước 5: Viết tài liệu + Dùng ngôn ngữ lập trình

B. HÌNH THÀNH KIẾN THỨC 2.1. Khái niệm lập trình – các ngôn ngữ lập trình a. Mục tiêu: Giúp HS hiểu được khái niệm lập trình, phân biệt được các ngôn ngữ lập trình. b. Nội dung: Khai thác mối quan hệ giữa giải bài toán trên giấy và giải bài toán trên máy tính. c. Cách thức thực hiện: Làm việc cá nhân, thảo luận nhóm. d. Sản phẩm: học sinh hiểu được khái niệm lập trình, phân biệt được các loại NNLT. Chuyển giao nhiệm vụ

Tiếp nhận nhiệm vụ

1. Khái niệm lập trình + Nghiên cứu SGK và nêu khái niệm lập trình Giải thích: Chiếu một chương trình đơn giản để giải thích kĩ hơn về khái niệm (Câu lệnh diễn tả các thao tác trong các bước của thuật toán; câu lệnh đơn thực hiện bước có một thao tác; câu lệnh cấu trúc thực hiện bước gồm dãy các thao tác) Program ptbn;

1. Khái niệm lập trình + Khái niệm: Lập trình là việc sử dụng cấu trúc dữ liệu và 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 tác của thuật toán.

Quan sát chương trình và ghi. 2

NHÓM TIN HỌC


Năm học: 2020 - 2021

KẾ HOẠCH BÀI DẠY TIN HỌC 11

Uses crt; Var a,b: integerl x: real; begin clrscr; write(‘Nhap a,b:’); readln(a,b); if (a=0) and (b=0) then writeln(‘ PTVSN’) else if (a=0) and (b<>0) then writeln(‘PTVN’) else writeln(‘PT co nghiem x=’,-b/a); readln; end. + Kết quả của hoạt động lập trình là gi? Lưu ý: - Thuật toán và cấu trúc dữ liệu luôn đi liền với nhau. - Lập trình là giai đoạn tìm tòi, phát minh thuật toán hoặc tìm cách tổ chức cấu trúc + Được một chương trình dữ liệu mới. + Có những loại ngôn ngữ lập trình nào? 2. Các loại ngôn ngữ lập trình a. Ngôn ngữ máy: - Chương trình viết bằng ngôn ngữ máy có thể nạp trực tiếp vào bộ nhớ và thực hiện ngay - Là ngôn ngữ duy nhất máy tính có thể trực tiếp hiểu và thực hiện. - Mỗi loại máy tính có một ngôn ngữ riêng của mình. b. Hợp ngữ: - Phát triển từ ngôn ngữ máy. - Ít phụ thuộc vào máy và dễ viết chương trình hơn ngôn ngữ máy. Rất gần với ngôn ngữ máy. c. Ngôn ngữ bậc cao: - Khá gần với ngôn ngữ tự nhiên. - Không phụ thuộc vào loại máy. Có thể thực hiện trên nhiều loại máy tính khác nhau. ? Phân biệt ngôn ngữ lập trình bậc cao với các ngôn ngữ khác ở những nội dung nào?

+ Có nhiều loại ngôn ngữ lập trình, được chia làm ba loại chính: NN máy, hợp ngữ và NNLT bậc cao. 2. Các loại ngôn ngữ lập trình HS ghi chép nội dung để thực hiện các công việc được giao.

+ Ngôn ngữ gần gũi với ngôn ngữ tự nhiên. + Có tính độc lập cao + Ít phụ thuộc vào các loại máy cụ thể +Vì: NN gần gũi vời NN tự nhiên, dễ đọc, dễ hiểu. NNLTBC nói chung không phụ thuộc các loại máy. Một số NNLTBC: pascal, C++, Java,…

? Tại sao người ta phải xây dựng ngôn ngữ lập 3 NHÓM TIN HỌC


Năm học: 2020 - 2021

KẾ HOẠCH BÀI DẠY TIN HỌC 11

trình bậc cao? ? Kể tên một số ngôn ngữ lập trình bậc cao mà em biêt? 2.2 Chương trình dịch a. Mục tiêu: Biết vai trò của chương trình dịch, hiểu được các giai đoạn của chương trình dịch; Phâm biệt được chương trình thông dịch và chương trình biên dịch. b. Nội dung: Tìm hiểu chương trình dịch, có ví dụ cụ thể. c. Cách thức thực hiện: Làm việc cá nhân hoặc thảo luận nhóm tại lớp. d. Sản phẩm: HS hiểu được vai trò của chương trình dịch, phân biệt được các loại chương trình dịch. Chuyển giao nhiệm vụ

Tiếp nhận nhiệm vụ

? Theo các em chương trình được viết bằng + Chương trình viết bằng ngôn ngữ máy có ngôn ngữ bậc cao và chương trình được viết thể nạp trực tiếp vào bộ nhớ và thực hiện bằng ngôn ngữ máy khác nhau như thế nào ? ngay. + Chương trình viết bằng ngôn ngữ lập trình bậc cao phải được chuyển đổi thành chương trình trên ngôn ngữ lập máy thì mới thực hiện ? Khi chương trình được đưa vào máy tính thì được. + Chưa. máy tính đã hiểu và thực hiện được chưa? ? Làm thế nào để chuyển một chương trình -Phải sử dụng một chương trình dịch để viết bằng ngôn ngữ bậc cao sang ngôn ngữ chuyển đổi. máy ? ? Nghiên cứu SGK cho biết khái niệm về Chương trình dịch chương trình dịch. CTD là chương trình đặc biệt có chức năng chuyển đổi chương trình được viết bằng ngôn Nhận xét chuẩn hóa kiến thức. ngữ lập trình bậc cao thành chương trình có Chiếu sơ đồ của CTD SGK-trang 4 thể thực hiện được trên máy tính. ? Vì sao không lập trình trên ngôn ngữ máy để + Ngôn ngữ bậc cao dễ viết, dễ hiểu. Ngôn khỏi mất công chuyển đổi khi lập trình với ngữ máy khó viết. Có thể xem sách hoặc nhìn lên máy chiếu ngôn ngữ bậc cao. ? Theo các em đối với chương trình dịch: - Quan sát kết hợp SGK để trả lời câu hỏi chương trình nào là chương trình nguồn và + Chương trình nguồn là chương trình viết bằng ngôn ngữ lập trình bậc cao. chương trình đích. + Chương trình đích là chương trình thực hiện chuyển đổi sang ngôn ngữ máy. C. LUYỆN TẬP a. Mục tiêu - Sử dụng kiến thức lý thuyết ở các phần trên để giải quyết và hiểu được ví dụ của bài. b. Nội dung: Ví dụ phân biệt 2 loại chương trình dịch. c. Cách thức thực hiện: Cá nhân, thảo luận nhóm. Tại lớp. 4 NHÓM TIN HỌC


Năm học: 2020 - 2021

KẾ HOẠCH BÀI DẠY TIN HỌC 11

d. Sản phẩm: Trình bày sự khác nhau giữa thông dịch và biên dịch Chuyển giao nhiệm vụ

Tiếp nhận nhiệm vụ

Chiếu hai ví dụ SGK – trang 4 ? Cho nhận xét về tiến trình của hai ví dụ trên

? Vậy với mỗi cách dịch như vậy người ta gọi là gì?

? Hai cách dịch này có gì khác nhau.

Kết luận: Như vậy chương trình dịch có hai loại: Thông dịch và biên dịch. ? Nghiên cứu SGK và nêu tiến trình của thông dịch và biên dịch. Nhận xét chuẩn hóa kiến thức. + Dự kiến tình huống: Có thể HS trình bày rõ được tiến trình của hai loại chương trình dịch (thông qua ví dụ và SGK) tuy nhiên có thể chưa hiểu kĩ vấn đề. + Trong quá trình HS tìm hiểu, GV theo dõi quá trình và hỗ trợ kịp thời

Tiến trình của hai ví dụ: + VD1: Bạn nói bằng tiếng việt -> người phiên dịch nghe sau đó dịch từ mỗi câu hoặc một vài câu giới thiệu trọn một ý, người phiên dịch dịch sang tiếng ánh,... việc giới thiệu và phiên dịch là luân phiên cho đến khi kết thúc nội dung + VD2: Bạn soạn nội dung ra giấy -> người phiên dich dịch toàn bộ nội dung đó sang tiếng anh. Việc dịch được thực hiện khi nội dung giới thiệu đã hoàn tất. Hai công việc được hoàn thiện trong hai khoảng thời gian độc lập. Hai cách dịch: + VD1: Thông dịch + VD2: Biên dịch Khác nhau: + VD1: Không có văn bản nào lưu lại + VD2: Có văn bản để lưu lại Tiến trình của thông dịch và biên dịch: +Thông dịch: B1: Kiểm tra tính đúng đắn của câu lệnh tiếp theo trong chương trình nguồn; B2: Chuyển lệnh đó thành ngôn ngữ máy B3: Thực hiện các câu lệnh vừa được chuyển đổi. +Biên dịch: B1: Duyệt, phát hiện lỗi, kiểm tra tính đúng đắn của các câu lệnh trong chương trình nguồn. B2: Dịch toàn bộ chương trình nguồn thành một chương trình đích có thể thực hiện trên máy và có thể lưu trữ để sử dụng lại khi cần thiết.

D. VẬN DỤNG a. Mục tiêu - Vận dụng các kiến thức về NNLT, lập trình và chương trình dịch để luyện tập củng cố kiến thức. b. Nội dung: Rèn luyện tư duy phân tích tổng hợp. Nhận biết một số loại NNLT phổ biến mà 5 NHÓM TIN HỌC


Năm học: 2020 - 2021

KẾ HOẠCH BÀI DẠY TIN HỌC 11

HS biết. c. Cách thức thực hiện: Cá nhân, thảo luận nhóm. Tại lớp. d. Sản phẩm: HS trả lời được phiếu câu hỏi về vận dụng NNLT, lập trình và chương trình dịch để giải quyết vấn đề (vận dụng thấp và cao). Phiếu câu hỏi: A. Phần cơ bản 1.1. Lập trình là: A. Sử dụng giải thuật để giải các bài toán. B. Dùng máy tính để giải các bài toán. C. Sử dụng cấu trúc dữ liệu và các câu lệnh của ngôn ngữ lập trình cụ thể để giải các bài toán trên máy tính. D. Sử dụng NN pascal. 1.2. Đối với một ngôn ngữ lâp trình có mấy kĩ thuật dịch? A. 1 loại (biên dịch) B. 2 loại (Thông dịch và biên dịch C. 2 loại (Thông dịch và hợp dịch) D. 2 loại (Hợp dịch và biên dịch) B. Phần nâng cao 1.1 Trong một NNLT có các chức năng sau: A. Biên soạn. B. Lưu trữ. C. Tìm kiếm D. Có tất cả các chức năng trên 1.2 Chương trình viết bằng hợp ngữ có đặc điểm: A. Máy tính có thể hiểu được trực tiếp chương trình này. B. Kiểu dữ liệu và cách tổ chức dữ liệu đa dạng, thuận tiện cho việc nhập mô tả thuật toán. C. Diễn đạt gần với ngôn ngữ tự nhiên. D. Tốc độ thực hiện nhanh hơn so với chương trình được viết bằng NNBC E. MỞ RỘNG a. Mục tiêu - HS tìm tòi được mối liên hệ giữa lập thuật toán và cấu trúc dữ liệu. Các khía cạnh khác của lập trình. b. Nội dung: Giao nhiệm vụ về nhà. Tìm hiểu được các giai đoạn của chương trình dịch. c. Cách thức thực hiện: Thực hiện ở nhà. d. Sản phẩm: HS trả lời được câu hỏi thảo luận GV giao nhiệm vụ về vận dụng NNLT, lập trình và chương trình dịch để giải quyết vấn đề (vận dụng thấp và cao). Trả lời các câu hỏi sau. 1.1. Mối liên hệ giữa thuật toán và cấu trúc dữ liệu? Ví dụ minh họa (có thể sử dụng ví dụ có sẵn) 1.2. Việc tìm tòi, phát minh thuật toán thuộc giai đoạn nào? 1.3. Hãy cho biết đặc điểm của ngôn ngữ lập trình bậc cao IV. TỔNG KẾT, ĐÁNH GIÁ - Chuẩn bị trước cho tiết sau: Bài 2 “các thành phần của ngôn ngữ lập trình”. ———» «——— 6 NHÓM TIN HỌC


Năm học: 2020 - 2021

KẾ HOẠCH BÀI DẠY TIN HỌC 11

Tiết 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 BÀI HỌC 1. Kiến thức, kĩ năng, thái độ: a. Về kiến thức - Biết ngôn ngữ lập trình có ba thành phần cơ bản là: Bảng chữ cái, cú pháp và ngữ nghĩa. hiểu được ba thành phần này. - Biết một số khái niệm: Tên, tên chuẩn, tên dành riêng (từ khoá), hằng và biến. b. Về kĩ năng - Phân biệt được ba thành phần:bảng chữ cái, cú pháp và ngữ nghĩa. - Phân biệt được tên, hằng và biến, biết đặt tên đúng. c. Về thái độ - Tư duy logic. - Thái độ cẩn thận, chính xác. 2. Năng lực định hướng hình thành và phát triển cho học sinh - Năng lực giải quyết vấn đề thông qua trao đổi, thảo luận. - Năng lực tự học. - Năng lực hợp tác. - Năng lực giao tiếp, sử dụng ngôn ngữ. II. CHUẨN BỊ: 1. Giáo viên - Bài giảng, máy chiếu. - Chuẩn bị một số bài toán đơn giản, ngôn ngữ lập trình cụ thể VD như ngôn ngữ lập trình Pascal. 2. Học sinh - Sách giáo khoa, vở ghi - Kiến thức đã học ở lớp 10 III. TIẾN TRÌNH CÁC HOẠT ĐỘNG HỌC A. KHỞI ĐỘNG 1. Kiểm tra bài cũ a. Mục tiêu Kiểm tra kiến thức của bài học trước về lập trình và NNLT b. Nội dung: Giao nhiệm vụ thông qua câu hỏi kiểm tra kiến thức. c. Cách thức thực hiện: Cá nhân, thảo luận nhóm. Tại lớp. d. Sản phẩm: Trả lời được câu hỏi GV đưa ra Chuyển giao nhiệm vụ

Tiếp nhận nhiệm vụ

(?) Hãy nêu khái niệm lập trình? Có mấy loại - Học sinh suy nghĩ, trao đổi thực hiện theo 7 NHÓM TIN HỌC


Năm học: 2020 - 2021

KẾ HOẠCH BÀI DẠY TIN HỌC 11

NN lập trình? yêu cầu. (?) Chương trình dịch là gì? Có mấy loại chương trình dịch? - Trong quá trình HS làm việc, GV chú ý đến hoạt động của HS -Giáo viên nhận xét cho điểm. 2. Quan sát chương trình viết bằng NNLT bậc cao a. Mục tiêu: HS hiểu được NNLT bậc cao có những thành phần nào. b. Nội dung: HS nắm kiến thức ban đầu về các thành phần của NNLT thông qua việc quan sát chương trình viết bằng NNLT bậc cao. c. Cách thức thực hiện: Cá nhân, thảo luận nhóm. Tại lớp. d. Sản phẩm: Nắm bắt được vấn đề dẫn dắt vào bài Chuyển giao nhiệm vụ

Tiếp nhận nhiệm vụ

(?) Để diễn tả một ngôn ngữ tự nhiên ta cần phải biết những gì? lấy ví dụ. (?) Quan sát chương trình viết bằng ngôn ngữ lập trình bậc cao so sánh với ngôn ngữ tự nhiên. Program VD1; Uses crt; Var a,b: byte; Begin Clrscr; a :=12; b :=16 writeln(‘Tong cua a va b la: ’, a+b); readln End. - Trong quá trình HS làm việc, GV chú ý để nhận xét phần thực hiện của HS.

- Học sinh suy nghĩ, trao đổi thực hiện theo yêu cầu. * Gợi ý sản phẩm: - Ngôn ngữ tự nhiên gồm các thành phần: bảng chữ cái, cú pháp và ý nghĩa của câu (từ) mình cần diễn tả - Các ngôn ngữ lập trình nói chung thường có chung một số thành phần như: Dùng những kí hiệu nào trong bảng chữ cái để viết chương trình? viết theo quy tắc nào? viết như vậy có ý nghĩa là gì? Bài học hôm nay sẽ trả lời câu hỏi đó.

B. HÌNH THÀNH KIẾN THỨC 1. Tìm hiểu các thành phần cơ bản của NNLT a. Mục tiêu: Hiểu được các thành phần của NNLT: bảng chữ cái, cú pháp và ngữ nghĩa. b. Nội dung: - GV giao nhiệm vụ cho học sinh: Quan sát hai chương trình viết bằng ngôn ngữ lập trình bậc cao: pascal, C++ và kết hợp nội dung SGK trang 9 phần 1 c. Cách thức thực hiện: Làm việc cá nhân, thảo luận nhóm. d. Sản phẩm: HS đưa ra được kết luận về các thành phần cơ bản của NNLT. Chuyển giao nhiệm vụ

Tiếp nhận nhiệm vụ

? Quan sát hai chương trình viết bằng ngôn ngữ lập trình bậc cao: pascal, C++ và kết hợp

- Học sinh suy nghĩ, nghiên cứu, trao đổi 8

NHÓM TIN HỌC


Năm học: 2020 - 2021

KẾ HOẠCH BÀI DẠY TIN HỌC 11

nội dung SGK trang 9 phần 1, cho nhận xét về thực hiện theo yêu cầu. hai chương trình: - Trong quá trình HS làm việc, GV chú ý đến (?) So sánh quy cách viết của hai ngôn ngữ các các HS để có thể gợi ý hoặc trợ giúp HS này. khi các em gặp khó khăn. * Gợi ý sản phẩm: (?) Ngôn ngữ lập trình gồm mấy thành phần. - Ngôn ngữ LT thường có ba thành phần: bảng chữ cái, cú pháp và ngữ nghĩa. (?) Quan sát chương trình viết bằng NNLT - Bảng chữ cái: là tập các kí tự dùng để viết chương trình: pascal cho biết thành phần của bảng chữ cái? + Chữ cái thường và các chữ cái in hoa của (?) Khái niệm về bảng chữ cái. bảng chữ cái tiếng anh. + 10 chữ số thập phân Ả Rập. + Các kí tự đặc biệt. (?) Khái niệm về cú pháp, tác dụng của cú - Cú pháp: Là bộ quy tắc để viết chương trình. pháp. (?) cho hai số a và b có hai trường hợp sau: Tác dụng: Mô tả chính xác thuật toán Nếu a và b là hai số nguyên thì biểu thức a+b - Ngữ nghĩa: xác định ý nghĩa thao tác cần có nghĩa là gì? Nếu a và b là hai số thực thi phải thực hiện, ứng với tổ hợp kí tự dựa vào ngữ cảnh của nó. a+b có nghĩa là gì? VD:- Nếu cho a và b là 2 số nguyên thì dấu + (?) Khái niệm ngữ nghĩa. trong biểu thức a+b là phép cộng hai số nguyên. - Nếu cho a và b là 2 số thực thì dấu + trong biểu thức a+b là phép cộng hai số thực. Vậy trong ngữ cảnh khác nhau thì ý nghĩa của các tổ hợp kí tự cũng khác nhau. 2. Tìm hiểu một số khái niệm a. Mục tiêu: học sinh hiểu một số khái niệm về tên, hằng và biến khi viết một chương trình nhận biết được tổ hợp kí tự dùng để viết chú thích. b. Nội dung: GV chiếu lại hai chương trình viết bằng NNLT pascal và NNLT C, học sinh quan sát và trả lời câu hỏi. c. Cách thức thực hiện: Làm việc cá nhân, thảo luận nhóm. d. Sản phẩm: Nêu ra được các khái niệm GV yêu cầu. Chuyển giao nhiệm vụ

Tiếp nhận nhiệm vụ

- Trong hoạt động này GV có thể tổ chức cho HS hoạt động cá nhân sau đó trao đổi đàm thoại ở các cặp đôi hoặc nhóm để tìm hiểu. (?) Để phân biệt các đối tượng sử dụng trong hai chương trình này thì các đối tượng đó có cần đặt tên không. (?) Khi đặt tên cho các đối tượngcủa chương

- Học sinh suy nghĩ, trao đổi thực hiện theo yêu cầu. * Gợi ý sản phẩm: a. Tên: Khái niệm: Trong ngôn ngữ turbo pascal tên là một dãy liên tiếp không quá 127 kí tự bao gồm: chữ số, chữ cái hoặc dấu gạch dưới và 9

NHÓM TIN HỌC


Năm học: 2020 - 2021

KẾ HOẠCH BÀI DẠY TIN HỌC 11

trình có cần theo quy tắc nào không. (?) Em thấy cách đặt tên chương trình của hai ngôn ngữ này thế nào. (?) Đọc SGK – T10 cho biết quy tắc đặt tên trong ngôn ngữ lập trình pascal. (?) Hãy chỉ ra các tên sai trong cách đặt tên sau đây: A, R23, _65, A GH, P34_c, 8Jh, F#j, GJ, F@j ? (?) NNLT pascal phân biệt thành mấy loại tên để dùng trong trương trình và kể tên các loại tên đó. (?) Nêu khái niệm về ba loại tên này. (?) Trong toán học em hiểu thê nào là hằng, lấy VD. (?) NNLT thường có loại hằng nào. (?) Em hiểu thế nào là biến, cho VD. (?) Quan sát đoạn chương trình này em thấy phần nội dung đặt trong cặp dấu {và} hoặc (*và*) có ý nghĩa gì? - Trong quá trình HS làm việc, GV chú ý đến các các HS để có thể gợi ý hoặc trợ giúp HS khi các em gặp khó khăn.

bắt đầu bằng chữ cái hoặc gạch dưới Ví dụ : A Bre1 _Tong - Ngôn ngữ lập trình có 3 loại tên: tên dành riêng, tên chuẩn, tên do người lập trình đặt. * Tên dành riêng: Là những tên được ngôn ngữ lập trình quy định với ý nghĩa riêng xác định mà người lập trình không được dùng với ý nghĩa khác Tên dành riêng còn được gọi là từ khoá. Ví dụ: Trong pascal : program, uses, var, const, .... Trong c++: main, include, if,... * Tên chuẩn: là nhữnh tên được ngôn ngữ lập trình dùng với ý nghĩa nhất định nào đó. Trong các thư viện của ngôn ngữ lập trình. Ví dụ : Trong pascal: real, integer, char, ... Trong c++: cin, count,... * Tên do người lập trình đặt: Được dùng với ý nghĩa riêng, xác định bằng cách khai báo trước khi sử dụng. VD: Bài1 Tính_Tong b. Hằng và biến * Hằng: Là đại lượng có giá trị không đổi trong quá trình thực hiện chương trình - Các ngôn ngữ lập trình thường có: + Hằng số học: số nguyên hoặc số thực Ví dụ: 24; -74; 12.3; 1.0E-4 + Hăng logic: Là cácgiá trị đúng hoặc sai Ví dụ: False, True. + Hằng xâu: Là chuỗi kí tự trong bộ mã ASCII, được đặt trong cặp dấu nháy. Ví dụ: ‘ Day la hang xau ‘, ‘tour’. * Biến: Là đại lượng được đặt tên, dùng để lưu trữ gí trị và giá trị có thể được thay đổi trong quá trình thực hiện chương trình Biến phải khai báo trước khi sử dụng. 10

NHÓM TIN HỌC


Năm học: 2020 - 2021

KẾ HOẠCH BÀI DẠY TIN HỌC 11

Ví dụ: Tong, Tam, x, y,.. c. Chú thích - Chú thích giúp cho người đọc và người lập trình nhận biết ý nghĩa của chương trình đó dễ hơn. Trong Pascal, chú thích được đặt giữa cặp dấu {} hay (* *) Ví dụ: Var x,y: integer ; (* khai báo biến x, y thuộc kiểu số nguyên *) Const Min = 10; { Khai báo hằng }. C. LUYỆN TẬP a. Mục tiêu: Nhằm củng cố, hệ thống hóa, hoàn thiện kiến thức mới mà HS đã được lĩnh hội ở hoạt động hình thành kiến thức: Các thành phần cơ bản và các khái niệm của NNLT. b. Nội dung: Phân biệt được các loại tên và viết các tên theo đúng quy tắc. c. Cách thức thực hiện: Thực hiện tại lớp. d. Sản phẩm: Trả lời được các câu hỏi. Chuyển giao nhiệm vụ

Tiếp nhận nhiệm vụ

- GV giao nhiệm vụ cho HS: * Dự kiến sản phẩm 1. Hãy cho biết điểm khác nhau giữa tên dành 1. Tên danh riêng không được dùng khác với riêng và tên chuẩn? ý nghĩa đã xác định, tên chuẩn có thể dùng với ý nghĩa khác. 2. Hãy viết ba tên đúng theo quy tắc pascal? 3. Hãy cho ví dụ về các hằng và biến sử dụng 2. A_1; Baitap1; _bai1 trong viết chương trình? 3. Hằng: 123; -12; 6.23; ‘abc’; biến: a, b, x D. VẬN DỤNG a. Mục tiêu : Đặt được tên đúng cho các thành phần của NNLT. b. Nội dung: vận dụng kiến thức mới mà HS đã được lĩnh hội để giải quyết những vấn đề mới trong học tập và thực tiễn về cách sử dụng các thành phần của NNLT, cách đặt tên, xác định ý nghĩa của các loại tên, hằng và biến. c. Cách thức thực hiện: học sinh có thể làm bài tập ở nhà d. Sản phẩm: Giải quyết được bài tập theo yêu cầu của GV. Chuyển giao nhiệm vụ

Tiếp nhận nhiệm vụ

1. Cú pháp và ngữ nghĩa khác nhau như thế nào? 2. Hãy cho biết những 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 trường hợp. (bài 6-T13) 3. Cho VD sau: viết chương trình giải PTBH: + + = 0 với a, b, c là ba số nguyên. Cho biết: - Chương trình này sẽ sử dụng những tên

Gợi ý sản phẩm: 1. - cú pháp cho biết cách viết một chương trình hợp lệ, còn ngữ nghĩa xác định ý nghĩa của các tổ hợp kí tự trong chương trình. - Các lỗi cú pháp được chương trình dịch phát hiện và thông báo cho người lập trình biết. chương trình không còn lỗi cú pháp thì mới có thể dịch sang ngôn ngữ máy. - Lỗi ngữ nghĩa được phát hiện khi chạy 11

NHÓM TIN HỌC


Năm học: 2020 - 2021

KẾ HOẠCH BÀI DẠY TIN HỌC 11

nào?

chương trình. 2. - c- thay dấu , thành . - e- là tên chưa rõ giá trị - h – sai quy định về hằng xâu: thiếu dấu nháy đơn ở cuối. 3. Để viết một chương trình giải phương trình bậc hai ta cần khai báo những tên sau: a,b,c là ba tên dùng để lưu ba hệ số của phương trình. - x1,x2 là hai tên dùng để lưu nghiệm ( nếu có). - Delta là tên dùng để lưu giá trị của delta.

E. MỞ RỘNG a. Mục tiêu : Học sinh có nhu cầu mở rộng thêm kiến thức của mình, có thể áp dụng vào các bài toán trong thực tiễn. b. Nội dung: Học sinh biết cách mở rộng các kiến thức của mình thông qua một chủ đề trong thực tế. c. Cách thức thực hiện: Tại lớp d. Sản phẩm: Thực hiện tốt yêu cầu bài tập Chuyển giao nhiệm vụ

Tiếp nhận nhiệm vụ

Giao nhiệm vụ: Cho các bài toán sau: - Giải phương trình bậc hai ax2 + bx + c = 0 - Tìm ước chung lớn nhất của 2 số M, N.

HS đặt tên các biến sẽ sử dụng phù hợp cho mỗi bài tập ở bên. Chú ý tên biến phải phù hợp với nội dung bài. 2HS/nhóm.

- Quản lí điểm của học sinh ở trường THPT. GV thu sản phẩm của HS, nhận xét và cho điểm. IV. TỔNG KẾT, ĐÁNH GIÁ - Ôn tập kĩ kiến thức bài 1 và bài 2 để chuẩn bị cho tiết bài tập. ———» «———

12 NHÓM TIN HỌC


Năm học: 2020 - 2021

KẾ HOẠCH BÀI DẠY TIN HỌC 11

Tiết PPCT: 03

BÀI TẬP

I. MỤC TIÊU BÀI HỌC 1. Kiến thức, kĩ năng, thái độ: a. Về kiến thức - Biết có 3 lớp ngôn ngữ lập trình và các mức của ngôn ngữ lập trình: ngôn ngữ máy, hợp ngữ và ngôn ngữ bậc cao. - Biết vai trò của chương trình dịch. - Biết khái niệm biên dịch và thông dịch. - Biết các thành phần cơ bản của ngôn ngữ lập trình: bảng chữ cái, cú pháp và ngữ nghĩa. - Biết các thành phần cơ sở của Pascal: bảng chữ cái, tên, tên chuẩn, tên riêng (từ khóa), hằng và biến. b. Về kĩ năng - Biết viết hằng và tên đúng trong một ngôn ngữ lập trình cụ thể. c. Về thái độ - Nhận thức được quá trình phát triển của ngôn ngữ lập trình gắn liền với quá trình phát triển của tin học nhằm giải các bài toán thực tiễn ngày càng phức tạp. - Ham muốn học một ngôn ngữ lập trình cụ thể để có khả năng giải các bài toán bằng máy tính điện tử. 2. Năng lực định hướng hình thành và phát triển cho học sinh - Năng lực tự giải quyết vấn đề - Năng lực cộng tác - Năng lực phối hợp II. CHUẨN BỊ: 1. Giáo viên - Dạy học theo quan điểm hoạt động. - Sử dụng máy chiếu, máy tính, SGK, sách bài tập và hệ thống các câu hỏi trắc nghiệm. 2. Học sinh - Kiến thức đã học ở các bài trước. - SGK, sách bài tập. III. TIẾN TRÌNH CÁC HOẠT ĐỘNG HỌC A. KHỞI ĐỘNG a. Mục tiêu : Kiểm tra lại một phần kiến thức trong bài học trước. b. Nội dung: Kiểm tra kiến thức về khái niệm và các thành phần của NNLT. c. Cách thức thực hiện: Làm việc cá nhân, tại lớp. d. Sản phẩm: Thực hiện yêu cầu câu hỏi GV đưa ra. 13 NHÓM TIN HỌC


Năm học: 2020 - 2021

KẾ HOẠCH BÀI DẠY TIN HỌC 11

Chuyển giao nhiệm vụ

Tiếp nhận nhiệm vụ

- Chuyển giao nhiệm vụ: - Tiếp nhận và thực hiện nhiệm vụ: HS trả lời. GV: Câu hỏi: Em hãy phân biệt 3 loại tên trong pascal? GV: Nhận xét cho điểm GV: Các em cần thêm một tiết bài tập để củng cố kiến thức đã học trong 2 bài học trước. B. HÌNH THÀNH KIẾN THỨC a. Mục tiêu: củng cố kiến thức cơ bản về khái niệm Lập trình và NNLT b. Nội dung: Phân biệt thông dịch và biên dịch. c. Cách thức thực hiện: Làm việc cá nhân, thảo luận nhóm. d. Sản phẩm: Trả lời được các câu hỏi GV đưa ra. Chuyển giao nhiệm vụ

Tiếp nhận nhiệm vụ

GV đưa ra các câu hỏi sau: Dự kiến sản phẩm: Câu hỏi số 1: Tại sao người ta phải xây dựng Câu 1: Ngôn ngữ bậc cao gần với ngôn các ngôn ngữ lập trình bậc cao? ngữ tự nhiên hơn, thuận tiện cho đông đảo người lập trình. - Chương trình viết bằng ngôn ngữ bậc cao nói chung không phụ thuộc vào phần cứng máy tính và một chương trình có thể thực hiện trên nhiều máy tính khác nhau. - Chương trình viết bằng ngôn ngữ bậc cao dễ hiểu, dễ hiệu chỉnh và dễ nâng cấp. - Ngôn ngữ bậc cao cho phép làm việc với nhiều kiêu dữ liệu và cách tổ chức dữ liệu đa dạng, thuận tiện cho mô tả thuộc toán. Câu 2: Câu hỏi 2: Chương trình dịch là gì? Tại sao - Chương trình dịch là chương trình đặc cần phải có chương trình dịch? biệt, có chức năng chuyển đổi chương trình được viết trên ngôn ngữ lập trình bậc cao thành chương trình thực hiện được trên máy tính cụ thể. Chương trình nguồn -> Chương trình dịch -> Chương trình đích Câu 3: Câu hỏi 3: Biên dịch và thông dịch khác nhau - Trình biên dịch: duyệt, kiểm tra, phát hiện lỗi, xác định chương trình nguồn có dịch như thế nào? được không? dịch toàn bộ chương trình Quan sát HS thảo luận và định hướng trả lời. nguồn thành một chương trình đích có thể thực hiện trên máy và có thể lưu trữ lại để sử dụng về sau khi cần thiết. 14 NHÓM TIN HỌC


Năm học: 2020 - 2021

KẾ HOẠCH BÀI DẠY TIN HỌC 11

-

Trình thông dịch lần lượt dịch từng câu lệnh ra ngôn ngữ máy rồi thực hiện ngay câu lệnh vừa dịch được hoặc báo lỗi nếu không dịch được.

C. LUYỆN TẬP a. Mục tiêu: củng cố lại kiến thức về quy tắc đặt tên trong Pascal. b. Nội dung: Ôn tập lại kiến thức về các thành phần của NNLT c. Cách thức thực hiện: Cá nhân, thảo luận nhóm. Tại lớp. d. Sản phẩm: Trả lời được câu hỏi yêu cầu của GV. Chuyển giao nhiệm vụ

Tiếp nhận nhiệm vụ

? Hãy viết ra ba tên đúng quy tắc của Pascal. ? Hãy cho biết những 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õ trong từng trường hợp: a) 150.0 b) –22 c) 6,23 d) ‘43’ e) A20 f) 1.06E-15 g) 4+6 h) ‘C i) ‘TRUE’ GV nhận xét và giải thích.

HS lên bảng thực hiện HS: thảo luận theo 4 nhóm và báo cáo kết quả trên bảng phụ. *Gợi ý sản phẩm Những biểu diễn sau đây không phải là hằng trong Pascal: 6,23 dấu phẩy phải thay bằng dấu chấm; A20 là tên chưa rõ giá trị; 4+6 là biểu thức hằng trong Pascal chuẩn cũng được coi là hằng trong Turbo Pascal; ‘TRUE’ là hằng xâu nhưng không là hằng lôgic.

D. VẬN DỤNG a. Mục tiêu: củng cố kiến thức thông qua hệ thống câu hỏi. b. Nội dung: tự vận dụng kiến thức đã học và ôn tập . c. Cách thức thực hiện: Cá nhân. Trả lời tại lớp. d. Sản phẩm: Trả lời đúng các câu hỏi. Câu 1: Em hãy chỉ ra đâu là tên đặt đúng, đâu là tên sai a) Begin b) crt c) x1 d)2x e)x-1 d) cosnt f)x\1; g)Use s Câu 2: Hãy cho biết những biểu diễn nào dưới đây là hằng và những biểu diễn nào không phải là hằng trong Pascal. Phân loại hằng đúng và chỉ rõ lỗi đối với hằng sai? a)1,00E b)’5+7 c) false d) 2.5 e)2017 f) x1 g) ‘dung’ h) ‘false’ IV. TỔNG KẾT, ĐÁNH GIÁ - Đánh giá hiệu quả hoạt động của mỗi nhóm. - Giao nhiệm vụ: xem trước bài 3 chuẩn bị cho tiết sau. ———» «——— 15 NHÓM TIN HỌC


Năm học: 2020 - 2021

KẾ HOẠCH BÀI DẠY TIN HỌC 11

Tiết PPCT: 04

BÀI 3: CẤU TRÚC CHƯƠNG TRÌNH

I. MỤC TIÊU BÀI HỌC 1. Kiến thức, kĩ năng, thái độ: a. Về 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 đơn giản: cấu trúc chung và các thành phần. b. Về kĩ năng - Nhận biết được các thành phần của một chương trình đơn giản. c. Về thái độ - Xác định thái độ nghiêm túc trong học tập khi làm quen với nhiều qui định nghiêm ngặt trong lập trình. - Mong muốn nhanh chóng tạo ra được một chương trình chạy trên máy tính. 2. Năng lực định hướng hình thành và phát triển cho học sinh - Năng lực tự giải quyết vấn đề - Năng lực cộng tác, phối hợp II. CHUẨN BỊ: 1. Giáo viên - Dạy học theo quan điểm hoạt động. - Sử dụng máy chiếu, Slide bài giảng, bài tập mẫu, máy tính. 2. Học sinh - SGK, vở viết. - Nhiệm vụ đã chuẩn bị từ tiết trước. III. TIẾN TRÌNH CÁC HOẠT ĐỘNG HỌC A. KHỞI ĐỘNG a. Mục tiêu: Kiểm tra kiến thức cũ và tạo tiền đề hình thành kiến thức mới. b. Nội dung: Rèn tư duy phân tích và so sánh tương tự, làm việc nhóm. c. Cách thức thực hiện: Làm việc nhóm, tại lớp. d. Sản phẩm: Phân tích được chương trình mẫu GV đưa ra. - Chuyển giao nhiệm vụ: Quan sát 2 chương trình đơn giản (CT1: cộng 2 số a, b; CT2: hiển thị một thông báo) trên máy chiếu và thảo luận trả lời các câu hỏi sau: Chương trình 1: Program cong2_so; Uses crt; Var a,b,tong:longint; BEGIN

Chương trình 2: Uses crt; BEGIN 16

NHÓM TIN HỌC


Năm học: 2020 - 2021

KẾ HOẠCH BÀI DẠY TIN HỌC 11

Write(‘nhap 2 so a,b’); Readln(a,b); Tong:=a+b; Write(‘a+b = ’,tong); readln END.

Write(‘chao mung cac ban den với NNLT Pascal ’); readln END.

Câu 1: Các chương trình trên sử dụng những từ khóa nào? Nêu ý nghĩa? Câu 2: Em hãy tìm hiểu và đưa ra những điểm chung giữa 2 chương trình? Câu 3: Đoán nhận ý nghĩa mỗi chương trình làm gì? - HS tiếp nhận và thực hiện nhiệm vụ: 4 nhóm cùng thảo luận - Báo cáo kết quả: Các nhóm đưa ra câu trả lời trên bảng phụ - GV: Đánh giá, nhận xét. B. HÌNH THÀNH KIẾN THỨC 1. Tìm hiểu cấu trúc chung của một chương trình a. Mục tiêu: Học sinh hiểu được một chương trình thường có 2 phần và phần thân chương trình bắt buộc phải có. b. Nội dung: Thuyết trình trước GV, lớp và rèn luyện khả năng quan sát. c. Cách thức thực hiện: cá nhân và thảo luận nhóm. d. Sản phẩm: Báo cáo nhiệm vụ. Học sinh hiểu được cấu trúc chương trình chung. Chuyển giao nhiệm vụ

Tiếp nhận nhiệm vụ

GV: Từ 2 chương trình ở hoạt động khởi động, nêu tên gọi các phần giống nhau về cấu trúc. - GV chạy thử chương trình thứ nhất: + lần 1: với một bộ dữ liệu a= 5; b=7 + lần 2: Cũng với a= 5; b=7 nhưng bỏ đi dòng program + lần 3: bỏ đi đoạn phần thân chương trình - Yêu cầu học sinh quan sát và trả lời câu hỏi: 1) lần 1, lần 2 kết quả có thay đổi hay không? 2) Lần 3 có gì khác so với lần 1, lần 2 GV: Nhận xét câu trả lời và kết luận phần khai báo không bắt buộc phải có kí hiệu, phần thân chương trình bắt buộc phải có Đưa kí hiệu tương ứng vào phần cấu trúc trên.

→ Cấu trúc chương trình gồm 2 phần: Phần 1: [<Khai báo>] Phần 2: <Thân chương trình> Quan sát kết quả thay đổi với 3 bộ dữ liệu khác nhau.

2. Tìm hiểu cách các thành phần và cách viết trong phần khai báo a. Mục tiêu: học sinh biết cách khai báo và sử dụng các thành phần của phần khai báo. b. Nội dung: Khai báo tên và cấu trúc chương trình. c. Cách thức thực hiện: cá nhân và thảo luận nhóm. d. Sản phẩm: Học sinh viết được các ví dụ khai báo 17 NHÓM TIN HỌC


Năm học: 2020 - 2021

KẾ HOẠCH BÀI DẠY TIN HỌC 11

Chuyển giao nhiệm vụ

Tiếp nhận nhiệm vụ

GV: cho học sinh nghiên cứu SGK thảo luận nhóm phân tích trên chương trình 1: Câu hỏi 1: đâu là khai báo tên chương trình và đưa ra cấu trúc? Câu hỏi 2: đâu là khai báo thư viện đưa ra cấu trúc GV: Giới thiệu thêm các thành phần khai báo khác: hằng, biến và chương trình con * Khai báo hằng: - Trong Pascal: Const MaxN = 1000; PI = 3.1416; Chú ý: Nói sơ qua về khai báo biến và chương trình con

* Khai báo tên chương trình. Trong Pascal: Program <tên chương trình>; Ví dụ: Program cong2_so;; Program vi_du; * Khai báo thư viện. trong Pascal: Uses crt; {Thư viện crt chứa các hàm vào/ra chuẩn làm việc với màn hình và bàn phím} Uses graph; {Thư viện graph chứa các hàm đồ hoạ} - Để xoá những gì trên màn hình sau khi khai báo crt thì dùng lệnh clrscr.

3. Tìm hiểu về phần thân chương trình. a. Mục tiêu: học sinh biết cách viết thân chương trình và ý nghĩa của nó. b. Nội dung: HS thuyết trình và vấn đáp với GV. c. Cách thức thực hiện: thảo luận nhóm tại lớp. d. Sản phẩm: Học sinh hiểu cấu trúc và phân biệt được trên ví dụ phần thân chương trình. Chuyển giao nhiệm vụ

Tiếp nhận nhiệm vụ

GV: yêu cầu HS quan sát kĩ điểm chung giữa 2 HS: Quan sát và đưa ra cấu trúc phần thân chương trình trên ví dụ và rút ra cấu Thân chương trình: BEGIN trúc chung. <các câu lệnh> GV: Theo em phần thân thực hiện nhiệm vụ END. chính tính tổng a, b hay phần khai báo? HS thảo luận và trả lời: phần thân. GV: NX và rút ra ý nghĩa thân chương trình. C. LUYỆN TẬP a. Mục tiêu: Nhằm củng cố, hệ thống hóa, hoàn thiện kiến thức về cấu trúc chương trình. b. Nội dung: Thực hiện trả lời các câu hỏi trên chương trình mẫu. c. Cách thức thực hiện: làm việc cá nhân. d. Sản phẩm: Trả lời các câu hỏi GV đưa ra. Chuyển giao nhiệm vụ Cho một chương trình còn lỗi sau: Progam vi du; Const pi:=3.14; Uses; Var C,S,r: real;

Tiếp nhận nhiệm vụ Theo dõi chương trình mẫu.

18 NHÓM TIN HỌC


Năm học: 2020 - 2021

KẾ HOẠCH BÀI DẠY TIN HỌC 11

BEGIN Write(‘nhap ban kinh r’); Readln(r); C:= 2*pi*r; S:= pi*r*r; Writeln(‘C= ’, C); Write(‘S= ’, S); readln Các câu hỏi: 1) Em hãy cho biết các lỗi trong chương trình Gợi ý sản phẩm: trên Câu 1: lỗi: vi du //thừa dấu cách 2) Sau khi sửa lỗi hãy cho biết chương trình Pi:=3.14 //bỏ dấu : trên khai báo những gì? Uses // chưa có tên thư viện 3) Đoán nhận kết quả của chương trình Thiếu END Kết thúc chương trình. D. VẬN DỤNG a. Mục tiêu: Vận dụng lý thuyết đã học để trả lời các câu hỏi trắc nghiệm. b. Nội dung: Phiếu học tập. c. Cách thức thực hiện: Cá nhân, làm việc tại lớp. d. Sản phẩm: Trả lời được các câu hỏi. Câu 1: Phát biểu nào sau đây là đúng? A. Phần tên chương trình nhất thiết phải có B. Phần khai báo bắt buộc phải có C. Phần thân chương trình nhất thiết phải có D. Phần thân chương trình có thể có hoặc không Câu 2: Từ khóa USES dùng để: A. Khai báo tên chương trình B. Khai báo hằng C. Khai báo biến D. Khai báo thư viện Câu 3: Khai báo hằng nào là đúng trong các khai báo sau: A. Const A : 50; B. CONst A=100; C. Const : A=100; D. Tất cả đều sai Câu 4: Chọn câu đúng trong các câu sau: A. Trong phần khai báo, nhất thiết phải khai báo tên chương trình để tiện ghi nhớ nội dung chương trình B. Dòng khai báo tên chương trình cũng là một dòng lệnh C. Để sử dụng các chương trình lập sẵn trong các thư viện do ngôn ngữ lập trình cung cấp, cần khai báo các thư viện này trong phần khai báo D. Ngôn ngữ lập trình nào có hệ thống thư viện càng lớn thì càng dễ viết chương trình E. MỞ RỘNG a. Mục tiêu: Học sinh tìm tòi thêm kiến thức xoay quanh nội dung bài. 19 NHÓM TIN HỌC


Năm học: 2020 - 2021

KẾ HOẠCH BÀI DẠY TIN HỌC 11

b. Nội dung: Trả lời các câu hỏi dựa vào ví dụ về chương trình Pascal cụ thể. c. Cách thức thực hiện: Cá nhân, giao nhiệm vụ về nhà. d. Sản phẩm: Báo cáo nhiệm vụ. Ví dụ 1: Chương trình sau thực hiện việc đưa ra màn hình thông báo “Xin chao cac ban!!” Trong Pascal

Trong C++

program Vi_du; begin

#include <stdio.h> void main() { printf(‘Xin chao cac ban!’); }

writeln(‘Xin chao cac ban!’); end.

Ví dụ 2: Chương trình Pascal đưa ra thông báo “Xin chao cac ban!” và “Moi cac ban lam quen voi Pascal!” begin writeln(‘Xin chao cac ban!’); writeln(‘Moi cac ban lam quen voi Pascal’); end. ? Giải thích các thành phần, ý nghĩa các lệnh trong hai ví dụ trên và chỉ ra sự khác nhau giữa hai chương trình trong hai ngôn ngữ khác nhau này. ? Hãy chỉ ra phần khai báo và phần thân của 2 chương trình tương ứng trong hai ngôn ngữ trên. IV. TỔNG KẾT, ĐÁNH GIÁ - Nhận xét, đánh giá hiệu quả của các nhiệm vụ học tập. - Yêu cầu học sinh viết một chương trình bất kì giải một bài toán bất kì nào đó. ———» «———

20 NHÓM TIN HỌC


Năm học: 2020 - 2021

KẾ HOẠCH BÀI DẠY TIN HỌC 11

Tiết 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 BÀI HỌC 1. Kiến thức, kĩ năng, thái độ: a. Về kiến thức - Biết một số kiểu dữ liệu chuẩn: kiểu nguyên, kiểu thực, kí tự, logic. - Biết cấu trúc khai báo biến. b. Về kĩ năng - Xác định được kiểu khai báo của dữ liệu - Khai báo biến đúng cấu trúc. c. Về thái độ - Học sinh hứng thú học tập, có tác phong làm việc khoa học 2. Năng lực định hướng hình thành và phát triển cho học sinh - Năng lực giải quyết vấn đề thông qua trao đổi, thảo luận. - Năng lực tự hoc. - Năng lực hợp tác. - Năng lực giao tiếp, sử dụng ngôn ngữ. II. CHUẨN BỊ: 1. Giáo viên - Máy tính, máy chiếu, một số ví dụ minh hoạ, SGK. 2. Học sinh - Sách giáo khoa, vở ghi III. TIẾN TRÌNH CÁC HOẠT ĐỘNG HỌC A. KHỞI ĐỘNG a. Mục tiêu: học sinh nắm được một số kiểu dữ liệu trong thực tiễn b. Nội dung: quan sát bảng số liệu và trả lời câu hỏi c. Cách thức thực hiện: làm việc cá nhân tại lớp. d. Sản phẩm: dựa vào bảng số liệu trả lời được câu hỏi GV đưa ra. - GV giao nhiệm vụ cho HS: Hãy quan sát bảng số liệu và trả lời câu hỏi dưới đây: 1

2003

4

9987

9

-7

-6

-23

1.3

3.14

2.34

1.002

10.33

1.333

2.345

99.99

A

B

D

Q

R

W

V

X

TRUE

FALSE FALSE

TRUE FALSE TRUE

FALSE TRUE

1. Bảng số liệu chứa những kiểu thông tin gì? 21 NHÓM TIN HỌC


Năm học: 2020 - 2021

KẾ HOẠCH BÀI DẠY TIN HỌC 11

2. Lấy ví dụ (tình huống) sử dụng kiểu thông tin trên? - Học sinh suy nghĩ, nghiên cứu, trao đổi thực hiện theo yêu cầu. - Trong quá trình HS làm việc, GV chú ý đến các HS để có thể gợi ý hoặc trợ giúp HS khi các em gặp khó khăn. 3. Gợi ý sản phẩm: HS Phân biệt được các kiểu dữ liệu + Bảng số liệu trên: Dòng 1: là kiểu số nguyên: Sĩ số HS trong một lớp Dòng 2: là kiểu số thực: nghiệm của một PTB2 Dòng 3: là kiểu kí tự: Đánh dấu chỉ mục Dòng 4: là kiểu logic: kết quả của các phép so sánh B. HÌNH THÀNH KIẾN THỨC 1. Tìm hiểu một số kiểu dữ liệu chuẩn a. Mục tiêu: Biết được một số kiểu dữ liệu chuẩn b. Nội dung: 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. c. Cách thức thực hiện: Làm việc cá nhân, thảo luận nhóm. d. Sản phẩm: Trả lời được các câu hỏi GV yêu cầu. Chuyển giao nhiệm vụ

Tiếp nhận nhiệm vụ

- GV giao nhiệm vụ cho HS: Yêu cầu học sinh nghiên cứu sách giao khoa. Trả lời các câu hỏi sau: - Có bao nhiêu dữ liệu chuẩn trong ngôn ngữ Pascal ? - GV Treo 4 bảng vẽ lên bảng - Trong ngôn ngữ Pascal, có những kiểu nguyên nào, phạm vi biểu diễn của mỗi loại? - Trong ngôn ngữ Pascal, có những kiểu thực nào, phạm vi biểu diễn của mỗi loại? - Trong hoạt động này GV có thể tổ chức cho HS hoạt động nhóm để tìm hiểu. - Học sinh suy nghĩ, nghiên cứu, trao đổi thực hiện theo yêu cầu. - Trong quá trình HS làm việc, GV chú ý đến các HS để có thể gợi ý hoặc trợ giúp HS khi các em gặp khó khăn. Lưu ý: - Ngôn ngữ lập trình nào cũng đưa ra một số kiểu dữ liệu chuẩn đơn giản, từ những kiểu đơn giản này ta có thể xây dựng thành những kiểu dữ liệu phức tạp hơn.

* Gợi ý sản phẩm: Biết 4 kiểu dữ liệu chuẩn trong NNLT Pascal - Trong pascal có 4 kiểu dữ liệu chuẩn : kiểu nguyên, thực, kí tự, lôgic. 1. Kiểu nguyên Kiểu

Bộ nhớ lưu trữ một giá trị

Phạm vi giá trị

Byte

1 Byte

0 → 255

Integer

2 Byte

-215 → 215 – 1

Word

2 Byte

0 → 216-1

Longint

4 Byte

-231 → 231-1

2. Kiểu thực Bộ nhớ lưu trữ một giá trị

Phạm vi giá trị

Real

6 Byte

0 hoặc giá trị tuyệt đối nằm trong phạm vi 10-38 Đến 1038

Extended

10 Byte

0 hoặc giá trị tuyệt đối nằm

Kiểu

22 NHÓM TIN HỌC


Năm học: 2020 - 2021

KẾ HOẠCH BÀI DẠY TIN HỌC 11

-

Kiểu dữ liệu nào cũng có miền giới hạn của nó, máy tính không thể lưu trữ tất cả các số trên trục số nhưng nó có 3. Kiểu kí tự thể lưu trữ với độ chính xác cực cao. Kiểu Char

trong phạm vi 10-4932 đến 104932 Bộ nhớ Phạm vi giá trị lưu trữ một giá trị 1 Byte

256 Ktự trong mã ASCII

4. Kiểu lôgic Kiểu

Bộ nhớ lưu trữ một giá trị

Phạm vi giá trị

Boolean

1 Byte

True hoặc False

2. Tìm hiểu về khai báo biến a. Mục tiêu: Biết cách khai báo biến b. Nội dung: Nghiên cứu ví dụ thực tế. Trả lời các câu hỏi. c. Cách thức thực hiện: Làm việc cá nhân, thảo luận nhóm. d. Sản phẩm: Trả lời được các câu hỏi GV yêu cầu. Chuyển giao nhiệm vụ

Tiếp nhận nhiệm vụ

- GV giao nhiệm vụ cho HS: Hãy quan sát ví dụ, nghiên cứu SGK và trả lời câu hỏi: Khai báo biến là chương trình báo cho máy biết phải dùng những tên nào trong chương trình. Ví dụ : - Để giải phương trình bậc hai ax2 + bx + c = 0 cần khai báo các biến như sau: Var a, b, c, x1, x2, delta : real;

- Học sinh suy nghĩ, nghiên cứu, trao đổi thực hiện theo yêu cầu.

Gợi ý sản phẩm: Biết cách khai báo biến - Trong ngôn ngữ Pascal, biến đơn được khai báo như sau : Var <danh sách biến> : <kiểu số liệu> - Để tính chu vi và diện tích tam giác Trong đó: cần khai báo các biến sau: + Var : là từ khóa dùng để khai báo biến Var a, b, c: integer; + Danh sách biến : tên các biến cách nhau bởi p, s, cv: Real; dấu phẩy - Cấu trúc khai báo biến trong ngôn ngữ + Kiểu dữ liệu : là một kiểu dữ liệu nào đó của Lập trình Pascal? ngôn ngữ Pascal - Khi khai báo biến cần chú ý những điều gì ? - Trong quá trình HS làm việc, GV chú ý 23 NHÓM TIN HỌC


Năm học: 2020 - 2021

KẾ HOẠCH BÀI DẠY TIN HỌC 11

đến các HS để có thể gợi ý hoặc trợ giúp khi các em gặp khó khăn trong giải quyết nhiệm vụ. - Chú ý: + Cần đặt tên biến sao cho gợi nhớ đến ý nghĩa của nó. + Không nên đặt tên quá ngắn hay quá dài, dễ dẫn tới mắc lỗi hoặc hiểu nhầm. + Khai báo biến cần quan tâm đến kiểu biến và phạm vi giá trị của nó . C. LUYỆN TẬP a. Mục tiêu: Nhằm củng cố, hệ thống hóa, hoàn thiện kiến thức về kiểu dữ liệu và khai báo biến. b. Nội dung: Luyện tập về sử dụng kiểu dữ liệu và khai báo biến. c. Cách thức thực hiện: Hoạt động nhóm, tại lớp. d. Sản phẩm: Giải quyết được bài tập. Chuyển giao nhiệm vụ

Tiếp nhận nhiệm vụ

- GV giao nhiệm vụ cho HS: Đọc câu hỏi trả lời Câu 1. Cho ví dụ để khai báo một biến nguyên và một biến kiểu kí tự? Câu 2. Yêu cầu học sinh chọn khai báo đúng trong ngôn ngữ lập trình Pascal? Var x, y, z: word; n l: real; X: longint; h: in tegr; i: byte; Câu 3. Trong đoạn khai báo sau: Có bao nhiêu biến tất cả, bộ nhớ phảo cấp phát là bao nhiêu? Var x, y: word; z: Longint; h: integer; i: byte;

Gợi ý sản phẩm: Câu1: Để khai báo một biến nguyên và một biến kiểu kí tự: Var x: word; y: char; Câu2: Khai báo đúng: Var x, y, z: word; i: byte; Câu 3: - Có 5 biến; - Tổng bộ nhớ cần cấp phát là: x (2 byte); y (2 byte); z (4 byte); h (2 byte); i (1 byte); Tổng cộng 11 Byte.

D. VẬN DỤNG VÀ MỞ RỘNG a. Mục tiêu: Nhằm vận dụng Kiểu dữ liệu và khai báo biến mà HS đã được lĩnh hội để giải quyết những vấn đề mới trong học tập và thực tiễn về.....(bám vào nd của bài) b. Nội dung: Thực hiện trên phiếu học tập. 24 NHÓM TIN HỌC


Năm học: 2020 - 2021

KẾ HOẠCH BÀI DẠY TIN HỌC 11

c. Cách thức thực hiện: Làm việc cá nhân tại lớp, và giao nhiệm vụ thực hiện ở nhà. d. Sản phẩm: Hoàn thành phiếu học tập. Phiếu học tập: Câu 1. Chương trình dịch Pascal sẽ cấp phát bao nhiêu byte bộ nhớ cho các biến trong khai báo sau? VAR M, N, P : Integer; A, B: Real; C: Longint; A. 20 byte. B. 24 byte. C. 22 byte. D. 18 byte. Câu 2. Biến x nhận giá trị nguyên trong đoạn [-300 ; 300], kiểu dữ liệu nào sau đây là phù hợp nhất để khai báo biến x ? A. Byte B. Integer C. Word D. Real Câu 3. Kiểu nào sau đây có miền giá trị lớn nhất? A.Byte B. Word C. Longint D.Integer Câu 4. Trong 1 chương trình, biến M có thể nhận các giá trị: 10, 15, 20, 30, 40, và biến N có thể nhận các giá trị: 1.0 , 1.5, 2.0, 2.5 , 3.0, khai báo nào trong các khai báo sau là đúng? A. Var M,N :Byte; B. Var M: Real; N: Word; C. Var M, N: Longint; D. Var M: Word; N: Real; Câu 5. Khai báo 3 biến A,B,C nào sau đây đúng cú pháp trong Pascal? A. VAR A; B; C: Byte; B. VAR A; B; C Byte C. VAR A, B, C: Byte; D. VAR A B C : Byte; * Gợi ý sản phẩm: Phần hướng dẫn hs trả lời các câu hỏi (Đáp án và các tình huống trả lời câu hỏi phần vận dụng của hs) Câu 1: C. 22 byte. Câu 2: B. Integer Câu 3: C. Longint Câu 4: D. Var M: Word; N: Real; Câu 5: C. VAR A, B, C: Byte; IV. TỔNG KẾT, ĐÁNH GIÁ - Nhận xét, đánh giá hiệu quả của các nhiệm vụ học tập. ———» «———

25 NHÓM TIN HỌC


Năm học: 2020 - 2021

KẾ HOẠCH BÀI DẠY TIN HỌC 11

Tiết PPCT: 06 + 07

BÀI 6: PHÉP TOÁN, BIỂU THỨC, CÂU LỆNH GÁN

I. MỤC TIÊU BÀI HỌC 1. Kiến thức, kĩ năng, thái độ: a. Về kiến thức - Biết các khái niệm: phép toán, biểu thức số học, hàm số học chuẩn, biểu thức quan hệ. - Hiểu lệnh gán và viết được lệnh gán. b. Về kĩ năng - Viết được một số biểu thức số học và logic đơn giản với các phép toán thông dụng. - Viết được tất cả các câu lệnh gán. c. Về thái độ - Tích cực trong các hoạt động học. - Thái độ nghiêm túc, xây dựng trong hoạt động nhóm. 2. Năng lực định hướng hình thành và phát triển cho học sinh - Năng lực giải quyết vấn đề thông qua trao đổi, thảo luận. - Năng lực tự học. - Năng lực hợp tác. - Năng lực sử dụng CNTT: Thành thạo kĩ năng vận dụng câu lệnh gán. II. CHUẨN BỊ: 1. Giáo viên - Dạy học theo quan điểm hoạt động. - Sử dụng máy chiếu, máy tính, SGK, sách bài tập và hệ thống các câu hỏi trắc nghiệm. 2. Học sinh - Kiến thức đã học ở các bài trước. - SGK, sách bài tập. III. TIẾN TRÌNH CÁC HOẠT ĐỘNG HỌC A. KHỞI ĐỘNG a. Mục tiêu: Giúp học sinh hệ thống lại kiến thức của bài 3, 4, 5 và có nhu cầu tìm hiểu các nội dung trong sơ đồ tư duy của bài 6 mà các nhóm đã chuẩn bị trước ở nhà. b. Nội dung: Hệ thống kiến thức thông qua sơ đồ tư duy. c. Cách thức thực hiện: Cá nhân, thực hiện tại lớp. d. Sản phẩm: Học sinh trả lời được các câu hỏi và mong muốn tìm hiểu các nội dung trong sơ đồ tư duy mà các nhóm đã chuẩn bị trước ở nhà. Chuyển giao nhiệm vụ Cho bài toán sau:

Tiếp nhận nhiệm vụ Các nhóm treo sơ đồ tư duy GV giao nhiệm vụ từ tiết trước. 26 NHÓM TIN HỌC


Năm học: 2020 - 2021

KẾ HOẠCH BÀI DẠY TIN HỌC 11

Tính diện tích của một hình chữ nhật. Hãy khai báo biến cho bài toán trên. Dựa vào bài toán vừa cho, viết công thức tính diện tích hình chữ nhật. Vậy trong Pascal, khi lập trình, chúng ta viết các biểu thức như thế nào để chương trình hợp lệ?

Gợi ý sản phẩm: Var cd, cr, S: integer; HS giải thích các thành phần trong khai báo trên. HS viết vào bảng phụ. S = cd x cr.

B. HÌNH THÀNH KIẾN THỨC 1. Phép toán và biểu thức số học a. Mục tiêu: Học sinh biết được các phép toán, nhất là những phép toán mới như div, mod, not, and, or. Viết được biểu thức số học. b. Nội dung: 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. c. Cách thức thực hiện: Làm việc cá nhân, thảo luận nhóm. d. Sản phẩm: Phân biệt được các phép toán vào trường hợp cụ thể. Các biểu thức số học viết theo yêu cầu bài tập. Chuyển giao nhiệm vụ

Tiếp nhận nhiệm vụ

- Hãy kể những phép toán em đã được học - Các phép toán trong toán học mà em đã học trong toán học. là: cộng, trừ, nhân, chia, so sánh, lấy số dư, lấy số nguyên. - Trong ngôn ngữ lập trình Pascal cũng có Gợi ý sản phẩm: những phép toán như toán học nhưng được Trong ngôn ngữ Pascal có những phép toán diễn giải một cách khác. sau: - Dựa vào SGK, HS thảo luận theo nhóm, trình - Các phép toán số học: + - * / div mod bày các phép toán và nội dung phép toán? - Các phép toán quan hệ: <, <=, >, >=, =, <>, Các nhóm báo cáo trên bảng phụ. dùng để so sánh hai đại lượng, kết quả của phép toán này là True hoặc False. - Các phép toán Logic: NOT, OR, AND, thường dùng để tạo các biểu thức logic từ các biểu thức quan hệ đơn giản. - Các phép toán div, mod được sử dụng cho - Các phép toán div, mod chỉ sử dụng cho những kiểu dữ liệu nguyên. những kiểu dữ liệu nào? - Kết quả của phép toán quan hệ thuộc kiểu dữ - Kết quả của những phép toán quan hệ thuộc kiểu dữ liệu Logic. liệu nào? - Trong toán học ta đã làm quen với khái niệm - HS: Yếu tố cơ bản xây dựng nên biểu thức biểu thức, hãy cho biết những yếu tố cơ bản là: toán hạng và toán tử. - Biểu thức đó có tên gọi là: biểu thức số học. xây dựng nên biểu thức? - Nếu một bài toán mà toán hạng là biến số, - Biểu thức số học là biểu thức nhận được từ hằng số hoặc hàm số và toán tử là các phép các hằng số, biến số và hàm số liên kết với nhau bằng phép toán số học. toán số học thì biểu thức có tên gọi là gì? - Sử dụng phép toán số học, hãy biểu diễn - Thứ tự thực hiện biểu thức số học: trong biểu thức toán học sau thành biểu thức trong ngoặc trước, ngoài ngoặc sau. Trong dãy các 27 NHÓM TIN HỌC


Năm học: 2020 - 2021

KẾ HOẠCH BÀI DẠY TIN HỌC 11

ngôn ngữ lập trình. 2a + 5b + c

phép toán không chứa ngoặc thì thực hiện từ trái sang phải theo thứ tự của các phép toán: nhân, chia, chia lấy nguyên, chia lấy dư thực hiện trước và các phép toán cộng trừ thực hiện sau. - Gợi ý trả lời: 2*a + 5*b + c ((x+y)/(1-(2/z))+ (x/(2*z)) (x*y)/(2*z)

x+ y x + 2 2z 1− z

2. Tìm hiểu một số hàm số học chuẩn và biểu thức quan hệ a. Mục tiêu: Học sinh biết được các hàm số học chuẩn và cấu trúc biểu thức quan hệ. b. Nội dung: Nghiên cứu ví dụ thực tế. Trả lời các câu hỏi. c. Cách thức thực hiện: Làm việc cá nhân, thảo luận nhóm. d. Sản phẩm: Sử dụng được hàm số học vào bài toán cụ thể, viết được biểu thức quan hệ theo yêu cầu bài tập. Chuyển giao nhiệm vụ

Tiếp nhận nhiệm vụ

- 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 số đó? Thực hiện cá nhân, GV gọi HS trả lời câu hỏi. - Để lập trình dễ dàng và thuận tiện, các ngôn ngữ lập trình đều có thư viện chứa một số chương trình tính giá trị những hàm toán học thường dùng. - GV chiếu Bảng một số hàm chuẩn thường dùng trong Pascal ( SGK) lên máy chiếu. - HS thảo luận nhóm ( 2 HS cùng bàn thành 1 nhóm). Cho một số ví dụ về sử dụng hàm số học chuẩn trong Pascal. - GV: 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 đó được gọi là biểu thức gì? - GV: Thảo luận theo nhóm, tham khảo SGG, nêu khái niệm biểu thức quan hệ, cấu trúc và đặc điểm của nó. Cho ví dụ.

- HS:các hàm số học là: trị tuyệt đối, sin, cos, căn bậc hai,…

- HS quan sát trên máy chiếu. - Gợi ý sản phẩm: X2 + 2 X Sqr(X) + 2*Sqrt(X) - Biểu thức đó gọi là biểu thức quan hệ. - Gợi ý sản phẩm: Hai biểu thức cùng kiểu liên kết với nhau bởi phép toán quan hệ cho ta một biểu thức quan hệ. Cấu trúc: <biểu thức 1> <phép toán quan hệ> <biểu thức 2> Thứ tự thực hiện + Tính giá trị các biểu thức, + Thực hiện các phép toán quan hệ Ví dụ: x > 1 A=5 28

NHÓM TIN HỌC


Năm học: 2020 - 2021

KẾ HOẠCH BÀI DẠY TIN HỌC 11

3. Biểu thức logic và câu lệnh gán a. Mục tiêu: Học sinh biết được cấu trúc biểu thức logic và cấu trúc câu lệnh gán. b. Nội dung: Tìm hiểu cấu trúc của biểu thức logic và viết câu lệnh gán. c. Cách thức thực hiện: Làm việc cá nhân, thảo luận nhóm. d. Sản phẩm: Viết được ví dụ biểu thức logic và viết được câu lệnh gán cụ thể theo nội dung bài tập. Chuyển giao nhiệm vụ

Tiếp nhận nhiệm vụ

- Các biểu thức quan hệ được liên kết với - HS lắng nghe. nhau bởi phép toán logic gọi là biểu thức logic. - Thảo luận nhóm: Đặc điểm và cấu trúc - Gợi ý sản phẩm: của biểu thức logic. Cho ví dụ. - Các phép toán: not, and, or: Phép not được viết trước biểu thức cần phủ định. Ví dụ Not (x>2) - Các phép toán and,or dùng để kết hợp nhiều biểu thức logic hoặc quan hệ thành một biểu thức, thường được dùng để diễn tả các điều kiện phức tạp. - Thứ tự thực hiện biểu thức logic: + Thực hiện các biểu thức quan hệ + Thực hiện phép toán logic. -Vd: (A>B); (X+1)<Y - Trong toán học ta có biểu thức 5 ≤ x ≤ 11, thì trong Pascal sẽ được viết như thế nào? - Em hãy cho biết kết quả của biểu thức logic có kiểu gì? - Thảo luận nhóm, nêu cấu trúc và cho ví dụ về câu lệnh gán. - Giới thiệu một ví dụ về lệnh gán trong Pascal: X:= 4+8; Giải thích: Lấy 4 + 8 =12. Đem kết quả đặt vào x., ta được x = 12 - Yêu cầu học sinh viết lệnh gán cho việc tính nghiệm của một phương trình bậc 2.

- HS: Trong Pascal sẽ được viết lại là: (5<=x)and(x<=11) - Kết quả của biểu thức logic có kiểu logic. - Gợi ý sản phẩm: - Lệnh gán dùng để tính giá trị một biểu thức và chuyển giá trị đó vào một biến. <Tên biến>:=<biểu thức>; Thứ tự thực hiện: +Tính giá trị của biểu thức + Đặt giá trị vào <tên biến>. X:=(-b-sqrt(delta))/(2*a);

C. LUYỆN TẬP a. Mục tiêu:Viết được biểu thức quan hệ, biểu thức logic và câu lệnh gán b. Nội dung: Thực hiện với ví dụ cụ thể. c. Cách thức thực hiện: Cá nhân, thảo luận nhóm. Tại lớp. 29 NHÓM TIN HỌC


Năm học: 2020 - 2021

KẾ HOẠCH BÀI DẠY TIN HỌC 11

d. Sản phẩm: Giải quyết được phiếu học tập. Chuyển giao nhiệm vụ

Tiếp nhận nhiệm vụ

1. Giả sử M và N là hai biến nguyên. Điều kiện xác định M và N cùng chia hết cho 3 hay cùng không chia hết cho 3 được thể hiện như thế nào? 2. Viết câu lệnh gán tính delta và nghiệm của phương trình bậc 2.

- Học sinh thảo luận, làm bài tập vào bảng phụ. - Các nhóm lên trình bày. GV nhận xét, kết luận.

D. VẬN DỤNG a. Mục tiêu: Vận dụng kiến thức đã học và trả lời câu hỏi. b. Nội dung: Trả lời câu hỏi trắc nghiệm. c. Cách thức thực hiện: Cá nhân, thực hiện tại lớp. d. Sản phẩm: Trả lời đúng các câu hỏi. Câu 1: Trong Pascal, biểu thức số học nào sau đây là đúng? A. 5a + 7b + 8c B. 5*a + 7*b + 8*c C. {a + b}*c D. X*y(x+y) Câu 2: Xét biểu thức sau: (2*x < 9) and (x <=4). Biểu thức cho kết quả True khi x=? A. 10 B. 11 C. 5 D. 4 Câu 3: Biểu thức 5 div 3 + 5-2*3 có giá trị là: A. 15.5 B. 33 C. 0 D. 7 Câu 4: Biểu thức sqr(b) – 4*a*c viết trong toán học sẽ là biểu thức nào? A. b2 – 4ac B. b – 4ac C. b2 + 4ac D. b2 / 4ac Câu 5: Trong Pascal. Cho a = 3, b = 2. Giá trị của biểu thức boolean a + b = 0 là: A. 1 B. True C. 0 D. False Câu 6: Trong Pascal, với x, y, z thuộc kiểu integer, lệnh gán nào sau đây sai? A. z:=x+2*y; B. z:= x/y; C. z:= x+2*y-5; D. x:=x*y; Câu 7: Cho khai báo biến sau đây trong Pascal. Hãy cho biết lệnh gán nào bên dưới là sai? Var m, n: integer; x,y: real; A. n:=3.5; B. x:=6; C. y: =10; D. m:=-4; E. MỞ RỘNG a. Mục tiêu: Tổng hợp kiến thức từ bài đã học để mở rộng vấn đề. b. Nội dung: Vẽ sơ đồ tư duy bao quát bài. c. Cách thức thực hiện: Thực hiện cá nhân, cho về nhà. d. Sản phẩm: Sơ đồ tư duy của bài. GV: Hãy vẽ sơ đồ tư duy nội dung bài 6. * Gợi ý sản phẩm:

30 NHÓM TIN HỌC


Năm học: 2020 - 2021

KẾ HOẠCH BÀI DẠY TIN HỌC 11

IV. TỔNG KẾT, ĐÁNH GIÁ - Ôn lại bài học hôm nay. - Xem lại các ví dụ và cho thêm một số ví dụ khác. - Đọc và xây dựng sơ đồ tư duy cho bài 7,8. ———» «———

31


Năm học: 2020 - 2021

KẾ HOẠCH BÀI DẠY TIN HỌC 11

Tiết PPCT: 08 + 09

CHỦ ĐỀ: LÀM VIỆC VỚI CHƯƠNG TRÌNH Nội dung chủ đề: Gồm 2 bài 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 BÀI HỌC 1. Kiến thức, kĩ năng, thái độ: a. Về kiến thức - Biết các lệnh vào/ra đơn giản để nhập dữ liệu từ bàn phím hoặc đưa dữ liệu ra màn hình - Biết các bước: soạn thảo, dịch, thực hiện và hiệu chỉnh chương trình. - Biết một số công cụ của Turbo Pascal hoặc Borland Pascal b. Về kĩ năng - Viết đúng được một số lệnh vào/ra đơn giản - Biết nhập đúng dữ liệu khi thực hiện chương trình - Biết khởi động và thoát khởi Turbo Pascal hoặc Borland Pascal - Bước đầu sử dụng được chương trình dịch để phát hiện lỗi. - Bước đầu chỉnh sửa được chương trình dựa vào thông báo lỗi của chương trình dịch và tính hợp lí của kết quả thu được. c. Về thái độ - Bước đầu hướng các em vào những bài toán đơn giản để các em làm được và có sự yêu thích lập trình. - Rèn luyện thái độ và kĩ năng làm việc một cách chính xác và khoa học. 2. Năng lực định hướng hình thành và phát triển cho học sinh - Năng lực giải quyết vấn đề thông qua trao đổi, thảo luận. - Năng lực tự học. - Năng lực hợp tác. - Năng lực thực hành và làm việc với máy tính. II. CHUẨN BỊ: 1. Giáo viên - Bài giảng, máy chiếu. - Yêu cầu học sinh tập hợp kiến thức đã học, bài 4, bài 5 và bài 6 của SGK lớp 11 - Chuẩn bị các bài toán đơn giản. 2. Học sinh - Sách giáo khoa, vở ghi. - Kiến thức đã học và nhiệm vụ đã giao ở bài trước. III. TIẾN TRÌNH CÁC HOẠT ĐỘNG HỌC A. KHỞI ĐỘNG a. Mục tiêu: Kiểm tra kiến thức của bài học trước phép toán biểu thức câu lệnh gán 32 NHÓM TIN HỌC


NÄ&#x192;m háť?c: 2020 - 2021

Káşž HOáş CH BĂ&#x20AC;I Dáş Y TIN Háť&#x152;C 11

b. Náť&#x2122;i dung: Giao nhiáť&#x2021;m v᝼ thĂ´ng qua bĂ i táş­p. c. CĂĄch thᝊc tháťąc hiáť&#x2021;n: CĂĄ nhân, tấi láť&#x203A;p. d. Sản phẊm: Tháťąc hiáť&#x2021;n bĂ i táş­p váť&#x203A;i káşżt quả Ä&#x2018;Ăşng.

Chuyáť&#x192;n giao nhiáť&#x2021;m v᝼

Tiáşżp nháş­n nhiáť&#x2021;m v᝼

- GV giao nhiáť&#x2021;m v᝼ cho háť?c sinh: - Háť?c sinh suy nghÄŠ, tháťąc hiáť&#x2021;n theo yĂŞu cáş§u. (?) Viáşżt biáť&#x192;u thᝊc tᝍ toĂĄn háť?c sang biáť&#x192;u thᝊc - Trong quĂĄ trĂŹnh HS lĂ m viáť&#x2021;c, GV chĂş Ă˝ Ä&#x2018;áşżn trong Pascal. hoất Ä&#x2018;áť&#x2122;ng cáť§a HS. a. Ax4 b.

+

| |

â&#x2C6;&#x161;

â&#x20AC;&#x201C;

lnx

â&#x2030;Ľ ex

(?) Viáşżt câu láť&#x2021;nh gĂĄn giĂĄ tráť&#x2039; cho biáşżn a, b Ä&#x2018;áť&#x192; - Háť?c sinh suy nghÄŠ, tháťąc hiáť&#x2021;n theo yĂŞu cáş§u. giải quyáşżt bĂ i toĂĄn giải phưƥng trĂŹnh báş­c nhẼt. Quan sĂĄt chưƥng trĂŹnh giải phưƥng trĂŹnh báş­c nhẼt HS 1 vᝍa tháťąc hiáť&#x2021;n, trả láť?i câu háť?i: (?). Khi gĂĄn giĂĄ tráť&#x2039; c᝼ tháť&#x192; báşąng phĂŠp gĂĄn máť&#x2014;i láş§n muáť&#x2018;n thay Ä&#x2018;áť&#x2022;i giĂĄ tráť&#x2039; cáť§a biáşżn lĂ m tháşż nĂ o? - GiĂĄo viĂŞn nháş­n xĂŠt cho Ä&#x2018;iáť&#x192;m. - GV nháş­n xĂŠt câu trả láť?i cáť§a háť?c sinh. GV Ä&#x2018;ưa ra câu háť?i: cĂł tháť&#x192; nháş­p vĂ o thay Ä&#x2018;áť&#x2022;i giĂĄ tráť&#x2039; cáť§a biáşżn a, b máť&#x2122;t cĂĄch nhanh chĂłng hĆĄn khĂ´ng ? Ä?áť&#x192; trả láť?i cho câu háť?i nĂ y chĂşng ta vĂ o bĂ i háť?c hĂ´m nay. B. HĂ&#x152;NH THĂ&#x20AC;NH KIáşžN THᝨC 1. CĂĄc tháť§ t᝼c chuẊn vĂ o a. M᝼c tiĂŞu: Hiáť&#x192;u Ä&#x2018;ưᝣc tháť§ t᝼c nháş­p dᝯ liáť&#x2021;u vĂ o tᝍ bĂ n phĂ­m. b. Náť&#x2122;i dung: VẼn Ä&#x2018;ĂĄp náť&#x2122;i dung khai thĂĄc vẼn Ä&#x2018;áť . c. CĂĄch thᝊc tháťąc hiáť&#x2021;n: LĂ m viáť&#x2021;c cĂĄ nhân, thảo luáş­n nhĂłm. d. Sản phẊm: HS trả láť?i Ä&#x2018;ưᝣc cĂĄc câu háť?i cáť§a GV. Chuyáť&#x192;n giao nhiáť&#x2021;m v᝼

Tiáşżp nháş­n nhiáť&#x2021;m v᝼

- GV giao nhiáť&#x2021;m v᝼ cho háť?c sinh: (?) Khi giải máť&#x2122;t bĂ i toĂĄn, nhᝯng Ä&#x2018;ấi lưᝣng Ä&#x2018;ĂŁ biáşżt phải nháş­p thĂ´ng tin vĂ o, như váş­y khi láş­p trĂŹnh ta nháş­p báşąng cĂĄch nĂ o? (?) LĂ m tháşż nĂ o nháş­p giĂĄ tráť&#x2039; cho bĂ n phĂ­m? (?) Tháť§ t᝼c READLN khĂ´ng cĂł tham sáť&#x2018; cĂł chᝊc nÄ&#x192;ng lĂ m gĂŹ?. - ChĂş Ă˝: + Khi nháş­p dᝯ liáť&#x2021;u tᝍ bĂ n phĂ­m READ, READLN, cĂł Ă˝ nghÄŠa như nhau, Tháť§ t᝼c READ sau khi Ä&#x2018;áť?c xong giĂĄ tráť&#x2039; con tráť? khĂ´ng

- Háť?c sinh suy nghÄŠ, nghiĂŞn cᝊu, trao Ä&#x2018;áť&#x2022;i tháťąc hiáť&#x2021;n theo yĂŞu cáş§u. - Trong quĂĄ trĂŹnh HS lĂ m viáť&#x2021;c, GV chĂş Ă˝ Ä&#x2018;áşżn cĂĄc cĂĄc HS Ä&#x2018;áť&#x192; cĂł tháť&#x192; gᝣi Ă˝ hoạc trᝣ giĂşp HS khi cĂĄc em gạp khĂł khÄ&#x192;n. * Gᝣi Ă˝ sản phẊm: - Trong pascal ta dĂšng tháť§ t᝼c chuẊn sau: Read(danh sĂĄch biáşżn vĂ o); hoạc Readln(danh sĂĄch biáşżn vĂ o); - VĂ­ d᝼: Read(N); Readln(a,b,c); Tháť§ t᝼c READLN khĂ´ng cĂł tham sáť&#x2018; dᝍng 33

NHĂ&#x201C;M TIN Háť&#x152;C


Năm học: 2020 - 2021

KẾ HOẠCH BÀI DẠY TIN HỌC 11

xuống dòng còn READLN là xuống dòng. Ta chương trình. thường hay dùng READLN hơn. + Khi nhập giá trị cho các biến thủ tục, những giá trị này được gõ cách nhau một dấu cách hoặc phím Enter. GV: Giao nhiệm vụ cho học sinh nhập dữ liệu HS: Viết nhập dữ liệu theo yêu cầu của giáo cho 1 số bài toán đơn giản. viên. 2. Các thủ tục chuẩn ra a. Mục tiêu: Hiểu được cấu trúc và cách sử dụng thủ tục đưa dữ liệu ra màn hình. b. Nội dung: Thuyết trình gợi mở vấn đề, thảo luận thủ tục write và writeln. c. Cách thức thực hiện: Làm việc cá nhân, thảo luận nhóm. d. Sản phẩm: Báo cáo nhiệm vụ GV chuyển giao.

Chuyển giao nhiệm vụ

Tiếp nhận nhiệm vụ

- GV giao nhiệm vụ cho học sinh, đàm thoại, thảo luận nhóm trả lời các câu hỏi sau, báo cáo trước lớp. Trong quá trình HS làm việc, GV chú ý đến các các HS để có thể gợi ý hoặc trợ giúp HS khi các em gặp khó khăn. (?) Trong bài toán giải phương trình, khi tính được nghiệm của phương trình thì in ra màn hình kết quả như thế nào? (?) Dữ liệu kết quả nghiệm cần in ra thì làm thế nào? (?) Trường hợp thủ tục WRITELN; không có tham số thì thì thủ tục có tác dụng để làm gì? (?) Trường hợp thủ tục WRITELN; không có tham số thì thì thủ tục có tác dụng đưa con trỏ xuống dòng tiếp theo. (?) Lệnh WRITE và WRITELN khác nhau như thế nào? (?) Độ rộng, số chữ số thập phân là các hằng nguyên dương.

- Học sinh suy nghĩ, trao đổi thực hiện theo yêu cầu. * Gợi ý sản phẩm: - write(<Danh sách kết quả ra>); hoặc writeln(<Danh sách kết quả ra>); trong đó <Danh sách kết quả ra>có thể tên biến đơn, biểu thức, hằng. Ví dụ: write(‘Nap so N:’); Readln(N); * Chú ý: - writeln sau khi đưa kết quả ra con trỏ xuống dòng mới. - Ngoài ra trong TPcó quy cách đưa thông tin ra nàm hình sau: + Kết quả thực: :<Độ rộng>:<số chữ số thập phân> + Kết quả nguyên: :<Độ rộng> Ví dụ: Write (N:3); Writeln(‘X=’, x:8:2);

3. Tìm hiểu cách soạn thảo, dịch, thực hiện, hiệu chỉnh chương trình. a. Mục tiêu: Hiểu được một số thao tác thường dùng trong khi làm việc với chương trình viết bằng ngôn ngữ lập trình Pascal. b. Nội dung: Thao tác trên phần mềm Turbo Pascal. c. Cách thức thực hiện: Làm việc cá nhân, tại lớp. d. Sản phẩm: Trả lời được các câu hỏi, thực hiện được nhiệm vụ trên máy tính.

Chuyển giao nhiệm vụ

Tiếp nhận nhiệm vụ 34 NHÓM TIN HỌC


Năm học: 2020 - 2021

KẾ HOẠCH BÀI DẠY TIN HỌC 11

- GV giao nhiệm vụ cho học sinh: Bài toán tính được nghiệm của phương trình thì in ra màn hình kết quả như thế nào? học sinh suy nghĩ và trả lời các câu hỏi sau: (?) Khi soạn thảo muốn xuống dòng làm thế nào? (nhấn Enter). (?) Ghi file vào đĩa như thế nào? ( F2) (?) Mở file đã có như thế nào? ( F2) (?) Biên dịch chương trình? ( Alt +F9) (?) Chạy chương trình? (Ctrl + F9) (?) Đóng cửa sổ chương trình? ( Alt + F3) (?) Chạy chương trình ntn? (F9) (?) Thoát khỏi phần mền: Alt + X GV: giao 1 số chương trình đơn giản (đã chuẩn bị file trước) cho học sinh soạn thảo thành 1 chương trình rồi thực hiện các thao tác cơ bản dịch, sửa lỗi, lưu…

* Gợi ý sản phẩm: - Để thực hành trong Turbo Pascal ta khởi động bằng cách: Nháy dúp vào biểu tượng Turbo Pascal trên màn hình. - Trên máy cần có tệp: Turbo.exe (file chạy) Turbo.tpl (file thư viện) Turbo.tph (file hướng dẫn)

Thực hiện lần lượt trên máy tính các thao tác làm việc với chương trình.

C. LUYỆN TẬP a. Mục tiêu: Nhằm củng cố, hệ thống hóa, hoàn thiện kiến thức mới mà HS đã được lĩnh hội ở hoạt động hình thành kiến thức. b. Nội dung: Sửa lỗi cho một chương trình cụ thể. c. Cách thức thực hiện: Cá nhân, thảo luận nhóm. Tại lớp. d. Sản phẩm: Chạy được chương trình trên máy với bộ Input, Output đúng. Chuyển giao nhiệm vụ

Tiếp nhận nhiệm vụ

- Sử dụng máy chiếu và để giới thiệu màn hình soạn thảo của chương trình Pascal như: bảng chọn, con trỏ, vùng soạn thảo,… - Soạn thảo một chương trình có lỗi cú pháp để cho học sinh nghiên cứu và sửa lỗi cú pháp ấy. Program Giai_PTB2; Uses crt Var a, b; real; c: real; D: real; x1, x2: real; begin clrscr; write (‘Nhap a, b,c’); redln(a, b, c); D:= b*b – 4x a*c; If D < 0 then write(‘’PT vo nghiem)

- Quan sát, theo dõi.

- HS: Sửa lại các lỗi sai Program Giai_PTB2; Uses crt; {Thiếu ;} Var a, b, c, D, x1, x2: real; begin clrscr; write (‘Nhap a, b,c’); readln(a, b, c); {viết sai chữ readln} D:= b*b – 4*a*c; {trong Pascal la dung dau * thay cho dấu x} If D < 0 then write(‘’PT vo nghiem) else if D = 0 then write(‘Nghiem kep x = ‘, -b/ 35

NHÓM TIN HỌC


Năm học: 2020 - 2021

KẾ HOẠCH BÀI DẠY TIN HỌC 11

Else if D = 0 then write(‘N.kep x = ‘, b/ (a*2); Else Begin X1= (-b-sqrt(D))/(2*a); X1= (-b-sqrt(D))/(2*a); Write(‘x1 = ’, x1:8:3, ‘x2 = ’, x2:8:3); Readln; End.

(a*2); Else Begin X1:= (-b-sqrt(D))/(2*a); X1:= (-b-sqrt(D))/(2*a); Write(‘x1 = ’, x1:8:3, ‘x2 x2:8:3); Readln; End.

=

’,

D. VẬN DỤNG a. Mục tiêu: Nhằm vận dụng kiến thức mới mà HS đã được lĩnh hội để giải quyết những vấn đề mới trong học tập và thực tiễn về cách sử dụng các thủ tục chuẩn vào ra để soạn thảo được chương trình cơ bản, dịch hiệu chỉnh được. b. Nội dung: Sử dụng các công cụ của môi trường lập trình. c. Cách thức thực hiện: Cá nhân, thảo luận nhóm. Tại lớp. d. Sản phẩm: Viết, hiệu chỉnh và chạy được một số chương trình bài toán đơn giản như: In dòng chữ ra màn hình, tính S hình chữ nhật, giải phương trình… Chuyển giao nhiệm vụ

Tiếp nhận nhiệm vụ

Cho 2 câu sau: Câu 1: Viết chương trình in ra màn hình dòng chữ ‘Lop 11’ ‘Truong THPT Nguyen Thi Minh Khai’ Câu 2: Viết chương trình nhập vào hai số nguyên a, b. Tính tổng và in ra màn hình tổng của a và b. (?) Xác định input và output (?) Xây dựng thuật toán bằng cách liệt kê. (?) Các nhóm khác nhận xét. - Dựa vào thuật toán và hướng dẫn HS cách chuyển sang chương trình Pascal. - GV nhận xét tổng quan, đánh giá hoạt động của các nhóm.

- Suy nghĩ, trả lời. - Nhận xét. - Dựa vào thuật toán và chuyển thành chương trình. Chạy trực tiếp trên máy tính để cả lớp cùng theo dõi.

E. MỞ RỘNG a. Mục tiêu: Trực quan các hoạt động trong bài để HS ghi nhớ kĩ hơn các nội dung lý thuyết. b. Nội dung: Thực hành lại các thao tác đã học trong bài c. Cách thức thực hiện: Cá nhân, tại lớp. d. Sản phẩm: Chạy được chương trình cụ thể trên Pascal. Chuyển giao nhiệm vụ

Tiếp nhận nhiệm vụ 36 NHÓM TIN HỌC


Năm học: 2020 - 2021

KẾ HOẠCH BÀI DẠY TIN HỌC 11

Giao nhiệm vụ:

Thực hiện theo yêu cầu của GV.

- Nắm rõ các thủ tục nhập/xuất dữ liệu trong Pascal. Thao tác trên máy tính. - Ghi nhớ các thao tác soạn thảo, biên dịch, thực hiện, đóng chương trình,… - Viết chương trình nhập vào chiều dài, chiều rộng của hình chữ nhật, tính và đưa lên màn hình diện tích của hình chữ nhật đó. IV. TỔNG KẾT, ĐÁNH GIÁ - Ôn lại bài học hôm nay. - Đánh giá hiệu quả hoạt động của các nhóm. - Về nhà vẽ sơ đồ tư duy của bài 7 và bài 8 trên cùng một sơ đồ. ———» «———

37 NHÓM TIN HỌC


Năm học: 2020 - 2021

KẾ HOẠCH BÀI DẠY TIN HỌC 11

Tiết PPCT: 10 + 11 + 12

CHỦ ĐỀ: BÀI TẬP VÀ THỰC HÀNH I. MỤC TIÊU BÀI HỌC 1. Kiến thức, kĩ năng, thái độ: a. Về kiến thức - Trình bày một số chương trình cụ thể để chuẩn bị cho tiết thực hành. - Ôn lại những kiến thức đã học về khái niệm lập trình và các thành phần cơ bản của ngôn ngữ lập trình. - Biết sử dụng chương trình Turbo Pascal nhuần nhuyễn. b. Về kĩ năng - Sử dụng các kiến thức đã học để trả lời các câu hỏi trong sách giáo khoa, sách bài tập và phiếu bài tập từ GV. - Thực hành trên máy tính. c. Về thái độ. - Bước đầu hướng các em vào những bài toán đơn giản để các em làm được và có sự yêu thích lập trình. - Rèn luyện tính tỉ mỉ, cận thận cho học sinh khi học lập trình để viết chương trình. - Xác định thái độ nghiêm túc trong học tập khi làm quen với nhiều quy định nghiêm ngặt trong lập trình. - Có ý thức cố gắng học tập vượt qua những khó khăn ở giai đoạn bắt đầu học lập trình. - Tạo sự ham muốn giải các bài tập bằng lập trình, trước mắt thấy được ích lợi của việc lập trình trong việc phục vụ tính toán và giải được một số bài toán đã nêu trong nội dung chương II. 2. Năng lực định hướng hình thành và phát triển cho học sinh - Năng lực giải quyết vấn đề thông qua trao đổi, thảo luận. - Năng lực tự học - Năng lực sử dụng máy tính II. CHUẨN BỊ: 1. Giáo viên - Thuyết trình kết hợp gợi mở vấn đề dẫn dắt để HS phát triển bài học. - Một số ví dụ đơn giản để các em viết được trên ngôn ngữ Pascal. - Phòng máy tính đã cài sẵn chương trình Turbo Pascal hoặc Free Pascal, các chương trình làm ví dụ. 2. Học sinh - Sách giáo khoa, vở soạn - Bài mới trước khi đến lớp. - Xem trước nội dung bài bài tập trang 35-36 SGK. III. TIẾN TRÌNH CÁC HOẠT ĐỘNG HỌC 38 NHÓM TIN HỌC


Năm học: 2020 - 2021

KẾ HOẠCH BÀI DẠY TIN HỌC 11

A. KHỞI ĐỘNG a. Mục tiêu: Kiểm tra kiến thức cũ qua các nội dung - Nắm chắc các khái niệm cơ bản - Hiểu được tại sao cần khai báo biến cho chương trình. - Biết các kiểu dữ liệu chuẩn b. Nội dung: Vấn đáp nội dung câu hỏi. c. Cách thức thực hiện: Cá nhân, thực hiện tại lớp. d. Sản phẩm: Trả lời được các câu hỏi GV đưa ra. Chuyển giao nhiệm vụ

Tiếp nhận nhiệm vụ

GV chuyển giao nhiệm vụ cho HS: Câu 1: Hãy cho biết sự khác nhau giữa hằng có đặt tên và biến. Câu 2: Tại sao phải khai báo biến. Câu 3: Trong Pascal, nếu một biến chỉ nhân giá trị nguyên trong phạm vi từ 10 đến 25532 thì biến đó có thể được khai báo bằng các kiểu dữ liệu nào. Câu 4: Để tính diện tích S của hình vuông có cạnh A với giá trị nguyên nằm trong phạm vi từ 100 đến 200, cách khai báo S nào dưới đây là đúng và tốn ít bộ nhớ nhất a. Var S:integer; b. Var S:real; c. Var S:word; d. Var S:longint; GV gọi từng HS lên vấn đáp, nhận xét, cho điểm.

* Gợi ý sản phẩm: Câu 1: Sự khác nhau giữa hằng có đặt tên và biến là: Xét về mặt lưu giá trị của hằng và biến trong RAM thì gí trị trong ô nhớ của hằng có đặt tên là không thay đổi, còn giá trị trong ô nhớ của biến thig có thể thay đổi được tại từng thời điểm thực hiện chương trình. Câu 2: Khai báo biến nhằm các mục đích sau: + Xác định kiểu của biến. Trình dịch sẽ biết cách tổ chức ô nhớ chứa giá trị của biến. + Đưa tên biến vào danh sách các đối tượng được chương trình quản lí. + Trình dịch biết cạc truy cập giá trị của biến và áp dung thao tác thích hợp cho biến. Câu 3: Khai báo đúng là: + Var P, X: real; + Var X: real; P: byte; Câu 4: - Vì cạnh A chỉ nhận giá trị nguyên trong phạm vi từ 100 đến 200 nên các khai báo b, c, d đều đúng. - Cách khai báo c là tốt nhất vì tiết kiệm ô nhớ cần lưu chữ.

B. HÌNH THÀNH KIẾN THỨC 1. Luyện tập viết biểu thức a. Mục tiêu: Nhận biết cách viết biểu thức, phân biệt được cách viết các công thức trong toán học với trong Pascal. b. Nội dung: GV chuyển giao bài tập, HS thực hiện trên ví dụ cụ thể. c. Cách thức thực hiện: Làm việc cá nhân, thảo luận nhóm. d. Sản phẩm: Viết được biểu thức theo Pascal. Chuyển giao nhiệm vụ

Tiếp nhận nhiệm vụ 39 NHÓM TIN HỌC


Năm học: 2020 - 2021

KẾ HOẠCH BÀI DẠY TIN HỌC 11

GV Chuyển giao nhiệm vụ cho HS: Bài 1: Quan sát biểu thức, hãy viết biểu thức toán dưới đây trong pascal: (Biểu thức SGK-T35) Bài 2: Hãy chuyển các biểu thức trong pascal dưới đây sang biểu thức toán học tương ứng: a. a/b*2; b. A*b*c/2; c. 1/a*b/c; d. b/sqrt(a*a+b) Bài 3: Bài 8 (SGK-T36) - Cho biết đặc điểm của tọa độ (x, y)? - Viết biểu thức logic cho kết quả true khi tọa độ (x, y) là điểm nằm trong vùng gạch chéo kể cả biên của các hình 2.a và 2.b HS thảo luận theo nhóm, suy nghĩ, trao đổi thực hiện theo yêu cầu. Trong quá trình HS làm việc, GV chú ý đến hoạt động của HS Giáo viên nhận xét hoạt động, tổng kết hoạt động.

Gợi ý sản phẩm: Bài 1: (1+z)*((x+y/z)/(a-1/(1+x*x*x));

Bài 2:

a.

a 2a 2= b b

b.

( ab ) c abc = 2 2

c.

b ac

d.

b a 2 +b

(3). H.a. (y>=abs(x)) and (y<=1) H.b. (abs(x)<=1) and (abs(y)<=1)

2. Luyện tập viết chương trình a. Mục tiêu: Nhận biết cách viết chương trình đơn giản, sử dụng kiểu dữ liệu hợp lý cho biến. b. Nội dung: GV chuyển giao bài tập, HS thực hiện trên ví dụ cụ thể. c. Cách thức thực hiện: Làm việc cá nhân, thảo luận nhóm. d. Sản phẩm: Viết được chương trình Pascal đơn giản.

Chuyển giao nhiệm vụ

Tiếp nhận nhiệm vụ

GV Chuyển giao nhiệm vụ cho HS: Gợi ý sản phẩm: Câu 1: Đọc bài tập 9 – SGK – Trang36, trả lời Câu 1: câu hỏi sau: Input: a (a>0); - Hãy xác định bài toán? Output: diện tích S phần gạch chéo. - Nhận xét đặc điểm diện tích vùng gạch chéo? - Nhận xét: Diện tích phần gạch chéo bằng ½ - Viết chương trình? diện tích hình tròn tâm O(0,0) bán kính R =a. - Nếu cho a =2, kết quả sẽ là bao nhiêu? - Chương trình: - sửa chương trình bằng việc khai báo thêm program Dientich; biến S, cho nhận xét? uses crt; Câu 2: Đọc bài 10 SGK-Trang 36, trả lời câu const pi=3.14; hỏi sau: var a:real; - Xác định bài toán? begin - Hãy sửa lỗi chương trình sau: clrscr; program 10_vantoc; write('Nhap gia tri a= '); 40 NHÓM TIN HỌC


Năm học: 2020 - 2021

KẾ HOẠCH BÀI DẠY TIN HỌC 11

uses crt; readln(a); 2 const g=9.8 m/s ; writeln('dien tich phan gach la: ',a*a*pi/2:10:4); var v, h: real; readln begin end. clrscr; - Nếu cho a = 2 thì kết quả sẽ là: 6.82 write('Nhap do cao h(m)= ') Câu 2: - XĐBT readln(h(m)); Input: h; v = sqrt(2*g*h) writeln(van toc khi g cham dat la v= ',v Output: vận tốc v khi chạm đất của vật roi tự do. (m/s)); - Chương trình: readln program vantoc_10; end Học sinh suy nghĩ, trao đổi thực hiện hoạt uses crt; động nhóm theo yêu cầu. const g=9.8; Trong quá trình HS làm việc, GV chú ý đến var v, h: real; hoạt động của HS, giúp đỡ HS (nhóm) gặp khó begin khăn. clrscr; Giáo viên nhận xét hoạt động, đánh giá. write('Nhap do cao h(m)= ') readln(h); v := sqrt(2*g*h); writeln(van toc khi g cham dat la v= ',v ‘m/s’); readln end. C. LUYỆN TẬP a. Mục tiêu: Nhằm củng cố, hệ thống hóa, hoàn thiện kiến thức mà HS đã được lĩnh hội. b. Nội dung: Lựa chọn kiểu dữ liệu phù hợp với biến. c. Cách thức thực hiện: Làm việc cá nhân, tại lớp. d. Sản phẩm: Trả lời đúng các câu hỏi. Chuyển giao nhiệm vụ

Tiếp nhận nhiệm vụ

GV giao nhiệm vụ cho HS: Hãy quan sát các câu hỏi và trả lời: Câu 1: Nếu khai báo m, n, k là các biến kiểu byte , biết rằng m=100, n=200, hãy cho biết giá trị của k trong các trường hợp sau: - k= m div 2 +n; (div là phép chia nguyên) - k = 3*m +2*n; - k= 1.5*m +n Câu 2: Cho đoạn chương trình sau:

Gợi ý sản phẩm: Câu 1: Giá trị của k trong các trường hợp: - k = 250 - k= 500 - k=350 * Xác nhận về kiểu dữ liệu của k (k kiểu byte): không thỏa mãn. Câu 2: Kết quả của chương trình trên in lên màn hình:

41 NHÓM TIN HỌC


Năm học: 2020 - 2021

KẾ HOẠCH BÀI DẠY TIN HỌC 11

program vd; 50 25 uses crt; 75 var a,b: byte; chuc thanh cong begin clrscr; a:=50; b:=25; write(a,b); writeln; writeln(a+b); writeln(‘chuc thanh cong’) readln end. Kết quả của đoạn chương trình trên là gì? D. VẬN DỤNG VÀ MỞ RỘNG a. Mục tiêu: Nhằm vận dụng kiến thức mới mà HS đã được lĩnh hội để giải quyết những vấn đề mới trong học tập và thực tiễn khi khai báo biến. b. Nội dung: viết chương trình và sử dụng phần mềm Pascal. c. Cách thức thực hiện: Làm việc cá nhân, có thể thực hiện ở nhà. d. Sản phẩm: Thực hiện được các bài tập. Chuyển giao nhiệm vụ

Tiếp nhận nhiệm vụ

Câu 1. Cho biết kết quả và kiểu dữ liệu của các biểu thức sau: a. 3 + 5.0 b. 6/3 + 2 div 3 c. (10*((45 mod 3 + 12)/6 d. (5 <= 3) and (not true and (12 div 3 <=1)) Câu 2. Một người có số tiền là A đồng , lãi suất tiết kiệm là s% một tháng, hỏi sau t tháng người đó có cả vốn và lãi là bao nhiêu? Lập chương trình với số tiền A là 20 triệu, s = 0.7%, t = 30 tháng, các giá trị này nhập từ bàn phím. - GV đánh giá sản phẩm của HS: nhận xét, tuyên dương, khen gợi…

Hướng dẫn: Câu 1. - Tính giá trị của biểu thức. - Dựa vào kết quả để xác định kiểu dữ liệu. Câu 2. - Khai báo kiểu dữ liệu. - Nhập các giá trị vào. - Tính tiền theo công thức. - Hiển thị kết quả ra màn hình - HS có thể viết thuật toán hoặc chương trình. - HS chia sẻ với bạn bằng việc thông qua trao đổi sản phẩm cho bạn, gửi thư điện tử…

IV. TỔNG KẾT, ĐÁNH GIÁ - GV nhận xét, đánh giá hiệu quả của các nhóm hoạt động. - Xem trước bài 9. ———» «——— 42 NHÓM TIN HỌC


Năm học: 2020 - 2021

KẾ HOẠCH BÀI DẠY TIN HỌC 11

Tiết PPCT: 13

KIỂM TRA GIỮA KÌ I. MỤC TIÊU BÀI HỌC 1. Kiến thức, kĩ năng, thái độ: a. Về kiến thức - Sử dụng kiến thức lựa chọn kiểu dữ liệu phù hợp với bài, khai báo biến, viết được các biểu thức và câu lệnh gán, lệnh vào/ra dữ liệu. b. Về kĩ năng - Trả lời câu hỏi trắc nghiệm. c. Về thái độ - Nghiêm túc, trung thực khi làm bài kiểm tra. 2. Năng lực định hướng hình thành và phát triển cho học sinh - Năng lực giải quyết vấn đề. II. CHUẨN BỊ: 1. Giáo viên - Đề thi, ma trận đề. 2. Học sinh - Kiến thức từ các bài đã học. III. MA TRẬN ĐỀ KIỂM TRA MA TRẬN ĐỀ KIỂM TRA GIỮA KÌ I TIN HỌC 11 Năm học: 2020 – 2021 Nội Dung Kiến Thức

Nhận Biết

Thông Hiểu

Tin Học: Chương I_Một số khái niệm 4 câu 1.6 điểm 3 câu 1.2 điểm về lập trình - Ngôn (16%) (16%) (12%) (12%) ngữ lập trình Trắc Nghiệm Một Lựa Chọn

4

1.6

3

6

11 câu (44%) 4.4 điểm (44%)

4

1.6

11 câu

2 câu (8%) 2 3 câu (12%) 1.2 điểm (12%)

Lớp 11

1.6 điểm (16%)

2.4

10 câu (40%) 4 điểm (40%)

Vận Dụng Cao

4 câu (16%)

1.2

Tin Học: Chương 6 câu 2.4 điểm II_Chương trình đơn (24%) (24%) giản Trắc Nghiệm Một Lựa Chọn

Vận Dụng

2.4 14 câu (56%) 0.8 điểm 6 câu điểm 5.6 điểm (8%) (24%) (24%) (56%) 0.8

6 câu (24%) 2.4 điểm (24%)

6

2.4

6 câu (24%) 2.4 điểm (24%)

14 câu 25 câu (100%) 10 điểm (100%)

43 NHÓM TIN HỌC


Năm học: 2020 - 2021

KẾ HOẠCH BÀI DẠY TIN HỌC 11

IV. NỘI DUNG ĐỀ Câu 1: Trong ngôn ngữ lập trình PASCAL, cho khai báo biến sau đây: Var m,n: integer; x, y: real; Lệnh gán nào sau đây là sai? A. y:=10.5; B. n:=3.5; C. x:=6; D. m:=-4; Câu 2: Trong ngôn ngữ lập trình Pascal, giá trị của biểu thức (20 div 3) div (20 mod 3) là: A. 2 B. 3 C. 1 D. 0 Câu 3: Trong ngôn ngữ lập trình PASCAL, kiểu dữ liệu CHAR có phạm vị giá trị là: A. 1024 kí tự trong bộ mã ASCII; B. 127 kí tự trong bộ mã ASCII; C. 255 kí tự trong bộ mã ASCII; D. 256 kí tự trong bộ mã ASCII; Câu 4: Trong các ngôn ngữ lập trình, kết quả của biểu thức quan hệ thuộc kiểu dữ liệu: A. logic; B. số nguyên; C. kí tự; D. số thực; Câu 5: Trong ngôn ngữ lập trình PASCAL, bộ nhớ lưu trữ một giá trị thuộc kiểu INTEGER là: A. 2 byte; B. 3 byte; C. 1 byte; D. 4 byte; Câu 6: Trong các ngôn ngữ lập trình, tên dành riêng là: A. những tên được ngôn ngữ lập trình dùng với ý nghĩa nhất định nào đó, người lập trìn hcos thể khai báo và dùng chúng với ý nghĩa và mục đích khác; B. những tên được ngôn ngữ lập trình quy định dùng với ý nghĩa xác định (còn được gọi là từ khóa), người lập trình không được dùng với ý nghĩa khác; C. một chuỗi kí tự bất kì, khi viết thì chuỗi kí tự này được đặt trong cặp dấu nháy đơn; D. những tên do người lập trình đặt được dùng với ý nghĩa riêng, xác định bằng cách khai báo trước khi sử dụng; Câu 7: Cú pháp khai báo biến trong ngôn ngữ lập trình PASCAL là: A. Var <danh sách biến>: <kiểu dữ liệu>; B. Var <kiểu dữ liệu>: <danh sách biến>; C. Var <danh sách biến>; D. Var <danh sách biến>= <kiểu dữ liệu>; Câu 8: Khi so sánh sự giống nhau và khác nhau giữa hai ngôn ngữ lập trình PASCAL và C++, khẳng định nào sau đây là đúng: A. Ngôn ngữ lập trình C++ phân biệt chữ hoa và chữ thường trong tên, còn ngôn ngữ lập trình PASCAL thì không; B. Cả hai ngôn ngữ lập trình C++ và PASCAL đều không phân biệt chữ hoa và chữ thường trong tên; C. Cả hai ngôn ngữ lập trình C++ và PASCAL đều phân biệt chữ hoa và chữ thường trong tên; D. Ngôn ngữ lập trình PASCAL phân biệt chữ hoa và chữ thường trong tên, còn ngôn ngữ lập trình C++ thì không; Câu 9: Trong các ngôn ngữ lập trình, hằng là: A. đại lượng có thể lưu trữ nhiều loại giá trị khác nhau; B. đại lượng có giá trị không thay đổi trong quá trình thực hiện chương trình; C. đại lượng được đặt tên, dùng để lưu trữ giá trị và giá trị có thể được thay đổi trong quá trình thực hiện chương trình; D. các số nguyên hay số thực; Câu 10: Trong các ngôn ngữ lập trình, cấu trúc chung của một chương trình bao gồm: A. hai thành phần: phần khai báo và phần thân, cả hai phần này có thể có hoặc không tùy theo chương trình cụ thể; 44 NHÓM TIN HỌC


Năm học: 2020 - 2021

KẾ HOẠCH BÀI DẠY TIN HỌC 11

B. hai thành phần: phần khai báo và phần thân, trong đó phần thân bắt buộc phải có, còn khai báo có thể có hoặc không tùy theo chương trình cụ thể; C. hai thành phần: phần khai báo và phần thân, trong đó phần khai báo bắt buộc phải có, còn phần thân có thể có hoặc không tùy theo chương trình cụ thể; D. hai thành phần: phần khai báo và phần thân, cả hai phần này đều bắt buộc phải có trong tất cả các chương trình; Câu 11: Cú pháp khai báo hằng trong ngôn ngữ lập trình PASCAL là: A. Const <tên hằng>:=<giá trị>; B. Const <tên hằng>; C. Const <tên hằng>=<giá trị>; D. Const <giá trị của hằng>; Câu 12: Trong các ngôn ngữ lập trình, thành phần cú pháp là: A. tập các kí tự dùng để viết chương trình; B. bộ quy tắc để viết chương trình, là thành phần cho biết cách viết một chương trình hợp lệ; C. bộ quy tắc để thực hiện chương trình; D. thành phần xác định ý nghĩa thao tác cần phải thực hiện, ứng với tổ hợp kí tự dựa vào ngữ cảnh của nó; Câu 13: Trong Free Pascal, tên là một dãy liên tiếp không quá bao nhiêu kí tự? A. 8 B. 255 C. 127 D. 128 Câu 14: Chuyển biểu diễn ABS(X-Y)/(X*X+SQR(Y)+1) trong Pascal sang biểu diễn toán học: A. |X-Y|/(X2+Y2+1) B. |X-Y|/(X2+(Y2+1) C. |X|-Y/(X2+Y2+1) D. |X-Y|/X2+(Y2+1) Câu 15: Cho các câu lệnh sau: Câu 16: Cho khai báo: Var x, y, z: integer. Câu lệnh nào sau đây sai: A. x:=x+1; B. x:=y/z; C. z:=x+y ; D. x:=y-z; Câu 17: Câu lệnh nào sau đây sai? A. Readln(a,b,c); B. Readln(a); C. Read(a,b); D. Read(“a,b”); Câu 18: Để khai báo hai biến A,B kiểu số nguyên, khai báo nào sau đây đúng? A. Var a;b : word B. Var A; B ; word C. Var a,b : = word D. Var A,B : word; Câu 19: Để màn hình hiện lên dòng thông báo: “XIN CHAO CAC BAN!” thì câu lệnh nào sau đây đúng? A. Write(‘XIN CHAO CAC BAN!’) B. Write(‘XIN CHAO CAC BAN!’); C. Write(‘XIN CHAO CAC BAN’); D. Write(“XIN CHAO CAC BAN!”); Câu 20: Để khai báo biến A kiểu số thực, ta chọn cách nào? A. Var A real ; B. Var : A : real; C. Var A: real; D. Var A: integer; Câu 21: Trong các kiểu số nguyên, kiểu nào có phạm vi giá trị lớn nhất? A. Byte B. longint C. word D. integer Câu 22: Cách khai báo nào sau đây đúng? A. Var a;b : real; Var c;d : integer; B. Var a,b,c : real C. Var a,b: real; c,d: integer; D. Var a,c,d : real : integer; Câu 23: Chọn phát biểu đúng A. Kết quả của phép toán số học với số nguyên cho giá trị logic B. Nếu biểu thức số học chứa hằng hay biến kiểu nguyên thì ta chắc chắn có biểu thức số học kiểu nguyên. 45 NHÓM TIN HỌC


Năm học: 2020 - 2021

KẾ HOẠCH BÀI DẠY TIN HỌC 11

C. Kết quả của các phép toán quan hệ cho giá trị logic D. Kết quả của biểu thức logic cho giá trị true. Câu 24: Biểu thức nào sau đây cho giá trị N là một số nguyên dương lẻ? A. (N > 0) and (N mod 2 <> 0) B. (N > 0) and (N div 2 <> 0) C. (N > 0) and (N div 2 = 0) D. (N > 0) and (N mod 2 = 0) Câu 25: Trong ngôn ngữ lập trình Pascal, giả sử x:= a/b; thì x phải khai báo kiểu dữ liệu nào? A. byte B. integer C. word D. real ———» «———

46 NHÓM TIN HỌC


Năm học: 2020 - 2021

KẾ HOẠCH BÀI DẠY TIN HỌC 11

Tiết PPCT: 14 + 15

BÀI 9: CẤU TRÚC RẼ NHÁNH I. MỤC TIÊU BÀI HỌC 1. Kiến thức, kĩ năng, thái độ: a. Về kiến thức - Học sinh biết được ý nghĩa của cấu trúc rẽ nhánh. - Học sinh biết được cấu trúc chung của cấu trúc rẽ nhánh. b. Về kĩ năng: - Sử dụng câu lệnh rẽ nhánh trong mô tả thuật toán của một số bài toán đơn giản. - Viết được các lệnh rẽ nhánh dạng thiếu, rẽ nhánh dạng đủ và áp dụng để thể hiện được thuật toán của một số bài toán đơn giản. c. Về thái độ - Rèn luyện phẩm chất của người lập trình như xem xét giải quyết vấn đề một cách cẩn thận chính xác, khoa học và sáng tạo. 2. Năng lực định hướng hình thành và phát triển cho học sinh - Năng lực giải quyết vấn đề thông qua trao đổi, thảo luận. - Mô hình hóa các tình huống thực tiễn xảy ra phụ thuộc vào điều kiện theo cấu trúc rẽ nhánh trong tin học. - Năng lực sử dụng máy tính II. CHUẨN BỊ: 1. Giáo viên - Bài giảng điện tử, máy chiếu. - Phiếu học tập. - Một số ví dụ về lệnh rẽ nhánh. 2. Học sinh - SGK, vở ghi. - Kiến thức vẽ sơ đồ tư duy. III. TIẾN TRÌNH CÁC HOẠT ĐỘNG HỌC A. KHỞI ĐỘNG a. Mục tiêu: Nhớ lại cấu trúc chương trình, kiểu dữ liệu, phép toán, câu lệnh gán, các tổ chức vào/ra chương trình và cách thực hiện chương trình trong ngôn ngữ lập trình Pascal. b. Nội dung: Xác định nhu cầu của cấu trúc điều khiển trong lập trình. c. Cách thức thực hiện: Cá nhân, thảo luận nhóm. Tại lớp. d. Sản phẩm: HS lựa chọn được thuật toán phù hợp với điều kiện tương ứng. Chuyển giao nhiệm vụ

Tiếp nhận nhiệm vụ

GV giao nhiệm vụ cho HS: Hãy quan sát - Tiếp nhận và thực hiện nhiệm vụ: HS quan chương trình giải phương trình bậc hai và thảo sát ghi nhớ, thảo luận nhóm và trả lời câu hỏi. 47 NHÓM TIN HỌC


Năm học: 2020 - 2021

KẾ HOẠCH BÀI DẠY TIN HỌC 11

luận để trả lời câu hỏi Program Giai_pt; Uses crt; Var a,b,c, D: real; x1,x2: real; Begin clrscr; Write(‘a,b,c=’); Readln(a,b,c); D:= b*b-4*a*c; x1:=(-b+sqrt(D))/(2*a); x2:=-b/a-x1; Write(‘x1=’,x1:4:1, ‘x2=’, x2:4:1); (?) Xác định output với input 1 -3 2? (?) Xác định output với input 1 2 1?

- Báo cáo kết quả: Các nhóm cử đại diện báo cáo kết quả của nhóm bằng cách chạy chương trình trên máy tính. - Đánh giá, nhận xét: GV quan sát, cho các nhóm nhận xét, bổ sung, sửa đổi nếu có và kết luận hoạt động. - Mỗi nhóm có thể trình bày sản phẩm với các kết quả khác nhau, GV lựa chọn 01 sản phẩm nào đó của nhóm để làm tình huống kết nối vào bài mới.

B. HÌNH THÀNH KIẾN THỨC 1. Tìm hiểu khái niệm rẽ nhánh a. Mục tiêu: Hiểu cấu trúc rẽ nhánh là thể hiện sự lựa chọn công việc phù hợp với điều kiện. Phân biệt được cấu trúc rẽ nhánh dạng thiếu và dạng đủ. b. Nội dung: Khai thác được vấn đề: Với bài toán nào thì sử dụng lệnh rẽ nhánh. c. Cách thức thực hiện: Làm việc cá nhân, thảo luận nhóm. d. Sản phẩm: HS trả lời đúng các câu hỏi. Chuyển giao nhiệm vụ

Tiếp nhận nhiệm vụ

Giáo viên giao nhiệm vụ cho học sinh: Câu hỏi 1: Cấu trúc rẽ nhánh là gì? Câu hỏi 2: Phân biệt cấu trúc rẽ nhánh dạng thiếu và cấu trúc rẽ nhánh dạng đủ? Câu hỏi 3: Lấy ví dụ về cấu trúc rẽ nhánh dạng thiếu và dạng đủ trong các hoạt động thường ngày? Câu hỏi 4: Lấy ví dụ về cấu trúc rẽ nhánh dạng thiếu và dạng đủ trong toán học?

- Tiếp nhận và thực hiện nhiệm vụ: Nghiên cứu SGK, thảo luận nhóm, ghi ra bảng phụ hoạt động của nhóm - Báo cáo kết quả: Các nhóm cử đại diện báo cáo kết quả của nhóm. - Các nhóm quan sát nhận xét đặt câu hỏi cho kết quả vừa báo cáo của các nhóm khác. * Gợi ý sản phẩm, nội dung mà HS nắm được: Cấu trúc rẽ nhánh là một điều khiển chọn - Gv tổ chức cho các nhóm đánh giá, nhận xét thực hiện hay không thực hiện công việc phù hợp một điều kiện đang xảy ra: lẫn nhau. Cấu trúc rẽ nhánh dạng thiếu: Nếu....thì.... Cấu trúc rẽ nhánh dạng đủ: Nếu....thì....Nếu không thì(ngược lại thì).... Trong Pascal câu lệnh để mô tả các cấu trúc trên được gọi là câu lệnh If-Then. 48 NHÓM TIN HỌC


Năm học: 2020 - 2021

KẾ HOẠCH BÀI DẠY TIN HỌC 11

2. Câu lệnh If - then a. Mục tiêu: Hiểu được cú pháp và hoạt động của câu lệnh if-then dạng thiếu và dạng đủ. b. Nội dung: Cú pháp, cấu trúc và cách hoạt động của câu lệnh If - then. c. Cách thức thực hiện: Làm việc cá nhân, thảo luận nhóm. d. Sản phẩm: HS trả lời đúng các câu hỏi và viết được câu lệnh If - then

Chuyển giao nhiệm vụ

Tiếp nhận nhiệm vụ

- Giáo viên giao nhiệm vụ cho học sinh: Câu hỏi 1: Nêu cú pháp và hoạt động của câu lệnh if-then dạng thiếu ?cho ví dụ? Câu hỏi 2: Nêu cú pháp và hoạt động của câu lệnh if-then dạng đủ? cho ví dụ? Câu hỏi 3: So sánh hoạt động của câu lệnh ifthen dạng thiếu và dạng đủ. - Giáo viên đánh giá nhận xét, đánh giá hoạt động của các nhóm.

- Tiếp nhận và thực hiện nhiệm vụ: Nghiên cứu SGK, thảo luận nhóm, ghi ra bảng phụ hoạt động của nhóm. - Báo cáo kết quả: Các nhóm cử đại diện báo cáo kết quả của nhóm. - Các nhóm quan sát nhận xét đặt câu hỏi cho kết quả vừa báo cáo của các nhóm khác * Gợi ý sản phẩm, HS nắm được nội dung kiến thức sau: - Câu lệnh if-then dạng thiếu If <điều kiện>then<câu lệnh>; Hoạt động: điều kiện sẽ được tính và kiểm tra nếu điều kiện đúng câu lệnh được thực hiện ngược lại thì câu lệnh sẽ bị bỏ qua. - Câu lệnh if-then dạng đủ If <điều kiện>then<câu lệnh1>else <câu lệnh 2>; Hoạt động: điều kiện sẽ được tính và kiểm tra nếu điều kiện đúng câu lệnh 1được thực hiện ngược lại thì câu lệnh 2 sẽ được thực hiện

3. Câu lệnh ghép a. Mục tiêu: Hiểu được cấu trúc và cú pháp của câu lệnh ghép. b. Nội dung: Trả lời câu hỏi liên quan đến câu lệnh ghép. c. Cách thức thực hiện: Làm việc cá nhân. d. Sản phẩm: HS biết được khi nào cần sử dụng câu lệnh ghép. Viết được ví dụ sử dụng câu lệnh ghép.

Chuyển giao nhiệm vụ

Tiếp nhận nhiệm vụ

- GV: Sau then và else các em thấy chỉ đặt một lệnh. Trong thực tế, thường lại là nhiều lệnh Yêu cầu HS nghiên cứu SGK và cho biết cấu trúc để ghép các lệnh thành một lệnh. - Theo sau các từ khóa then hoặc else thường là một câu lệnh nhưng có một số trường hợp theo sau nó là một tổ hợp các lệnh, vì thế

- Theo dõi dẫn dắt của GV để trả lời: Ta phải nhóm nhiều lệnh thành một lệnh. Cấu trúc câu lệnh ghép: Begin <Các câu lệnh>; End; - Lắng nghe, ghi chép. 49

NHÓM TIN HỌC


Năm học: 2020 - 2021

KẾ HOẠCH BÀI DẠY TIN HỌC 11

NNLT cho phép gộp các câu lệnh đó thành 1 câu lệnh và đó gọi là câu lệnh ghép. C. LUYỆN TẬP a. Mục tiêu: Luyện tập cách sử dụng cấu trúc rẽ nhánh. b. Nội dung: HS nắm kiến thức thông qua một chương trình cụ thể. c. Cách thức thực hiện: Cá nhân, thảo luận nhóm. Tại lớp. d. Sản phẩm: Chương trình có sử dụng cấu trúc rẽ nhánh. Chuyển giao nhiệm vụ

Tiếp nhận nhiệm vụ

- GV giao nhiệm vụ: Viết chương trình nhập vào 2 cạnh của một hình chữ nhật và tính chu vi, diện tích hình chữ nhật đó. Từ bài toán đã học ở các tiết trước, phát triển thêm với điều kiện là độ dài 2 cạnh phải > 0. - HS thảo luận, mỗi nhóm viết 1 chương trình. Đại diện lên trình bày trực tiếp trên máy chiếu. - GV nhận xét, góp ý, tổng kết hoạt động.

* Gợi ý sản phẩm: PROGRAM HINH CHU NHAT; VAR a,b:real; BEGIN Write('Nhap canh a: ');readln(a); Write('Nhap canh b: ');readln(b); Writeln; If (a>0) and (b>0)then begin Writeln('Chu vi P = ',2*(a+b):6:2); Writeln('Dien tich S = ',a*b:6:2); end Else writeln ('Khong thuc hien vi a <= 0 hoac b<=0'); Readln END.

D. VẬN DỤNG VÀ MỞ RỘNG a. Mục tiêu: Sử dụng câu lệnh rẽ nhánh dạng thiếu và dạng đủ để lập trình giải các bài toán trên máy tính. b. Nội dung: Thực hành trên máy tính. c. Cách thức thực hiện: Cá nhân, có thể thực hiện ở lớp hoặc về nhà. d. Sản phẩm: Chương trình hoàn thiện theo yêu cầu với bộ Output đúng. Chuyển giao nhiệm vụ

Tiếp nhận nhiệm vụ

Giao nhiệm vụ:

Thực hiện theo yêu cầu của GV.

Tính chu vi, diện tích hình tròn có bán kính R. Viết chương trình trên Pascal. Trong chương trình có sử dụng cấu trúc rẽ nhánh. IV. TỔNG KẾT, ĐÁNH GIÁ - Ôn lại bài học hôm nay. - Đánh giá hoạt động của các nhóm, rút kinh nghiệm. - Nắm vững kiến thức về lệnh rẽ nhánh để chuẩn bị cho tiết sau thực hành. ———» «——— 50 NHÓM TIN HỌC


Năm học: 2020 - 2021

KẾ HOẠCH BÀI DẠY TIN HỌC 11

Tiết PPCT: 16 + 17

BÀI TẬP I. MỤC TIÊU BÀI HỌC 1. Kiến thức, kĩ năng, thái độ: a. Về kiến thức - Củng cố thêm cách sử dụng cấu trúc rẽ nhánh trong lập trình. - Luyện tập chương trình có câu lệnh rẽ nhánh. b. Về kĩ năng - Vận dụng đúng, hợp lí câu lệnh rẽ nhánh dạng thiếu dạng đủ cho từng bài toán. - Sử dụng đúng câu lệnh ghép khi cần thiết. c. Về thái độ - Tiếp tục rèn luyện các phẩm chất cần thiết: xem xét giải quyết vấn đề một cách cẩn thận, chu đáo, có sáng tạo, không thỏa mãn với kết quả ban đầu đạt được,… - Rèn luyện tính khoa học khi: lập kế hoạch, làm theo kế hoạch. 2. Năng lực định hướng hình thành và phát triển cho học sinh - Năng lực giải quyết vấn đề thông qua trao đổi, thảo luận. - Năng lực tự học. - Năng lực hợp tác. - Năng lực sử dụng CNTT: Thành thạo kĩ năng lập trình với cấu trúc rẽ nhánh. II. CHUẨN BỊ: 1. Giáo viên - Dạy học theo quan điểm hoạt động. - Sử dụng máy chiếu, máy tính, SGK, sách bài tập và hệ thống các câu hỏi trắc nghiệm. 2. Học sinh - Kiến thức đã học ở các bài trước. - SGK, sách bài tập. III. TIẾN TRÌNH CÁC HOẠT ĐỘNG HỌC A. KHỞI ĐỘNG a. Mục tiêu: Nhớ lại cú pháp và hoạt động của câu lệnh rẽ nhánh dạng thiếu và dạng đủ b. Nội dung: Vấn đáp nội dung c. Cách thức thực hiện: Cá nhân, thực hiện tại lớp. d. Sản phẩm: Trả lời các câu hỏi của GV. Chuyển giao nhiệm vụ

Tiếp nhận nhiệm vụ

- Chuyển giao nhiệm vụ: Câu hỏi 1: Nêu cú pháp và hoạt động của câu lệnh rẽ nhánh dạng thiếu và dạng đủ? - Tiếp nhận và thực hiện nhiệm vụ: HS nghe,

- Báo cáo kết quả: HS trả lời câu hỏi * Gợi ý sản phẩm: Cú pháp và hoạt động của câu lệnh rẽ nhánh dạng thiếu 51

NHÓM TIN HỌC


Năm học: 2020 - 2021

KẾ HOẠCH BÀI DẠY TIN HỌC 11

ghi nhớ và thảo luận. - Đánh giá, nhận xét: GV quan sát, gọi HS khác nhận xét, bổ sung. GV kết luận hoạt động.

If <điều kiện>then<câu lệnh>; Hoạt động: điều kiện sẽ được tính và kiểm tra nếu điều kiện đúng câu lệnh được thực hiện ngược lại thì câu lệnh sẽ bị bỏ qua Cú pháp và hoạt động của câu lệnh rẽ nhánh dạng đủ Dựa vào kiến thức của bài 9 chúng ta áp dụng If <điều kiện>then<câu lệnh1>else <câu lệnh 2>; trả lời các câu hỏi và bài tập 1, 2, 4 trang 51 Hoạt động: điều kiện sẽ được tính và kiểm tra nếu điều kiện đúng câu lệnh 1được thực hiện ngược lại thì câu lệnh 2 sẽ được thực hiện. B. HÌNH THÀNH KIẾN THỨC 1. Bài tập 1,2 – trang 51 GSK a. Mục tiêu: Biết được khi nào thì cần dùng câu lệnh ghép, khi nào cần dùng lệnh rẽ nhánh lồng nhau. b. Nội dung: Làm bài tập trong SGK. c. Cách thức thực hiện: Làm việc cá nhân, thảo luận nhóm. d. Sản phẩm: Làm bài tập theo yêu cầu của GV. Chuyển giao nhiệm vụ

Tiếp nhận nhiệm vụ

- Chuyển giao nhiệm vụ Câu hỏi 1: So sánh hoạt động của câu lệnh rẽ nhánh dạng thiếu và câu lệnh rẽ nhánh dạng đủ? Câu hỏi 2: Khi nào thì sử dụng câu lệnh ghép, nêu cú pháp của câu lệnh ghép? Câu hỏi 3: Tìm hiểu câu lệnh rẽ nhánh lồng nhau? - Đánh giá, nhận xét: + Học sinh các nhóm nhận xét đánh giá chéo nhau. + Giáo viên tổng hợp nhận xét bổ sung.

- Tiếp nhận và thực hiện nhiệm vụ: HS nghe, ghi nhớ và thảo luận nhóm. - Báo cáo kết quả: Đại diện của các nhóm báo cáo kết quả làm việc của nhóm mình. * Gợi ý sản phẩm: - So sánh hoạt động của câu lệnh rẽ nhánh dạng thiếu và câu lệnh rẽ nhánh dạng đủ? Giống: điều kiện đều được tính và kiểm tra nếu điều kiện đúng thực hiện câu lệnh sau then Khác: Câu lệnh rẽ nhánh dạng thiếu: Nếu điều kiện sai câu lệnh sẽ bị bỏ qua Câu lệnh rẽ nhánh dạng đủ: Nếu điều kiện sai thực hiện câu lệnh sau else. - Câu lệnh ghép Begin <các câu lệnh>; End; Trong trường hợp câu lệnh, câu lệnh 1, câu lệnh 2 có thể là một câu lệnh rẽ nhánh khác khi đó gọi là rẽ nhánh lồng nhau. 52

NHÓM TIN HỌC


Năm học: 2020 - 2021

KẾ HOẠCH BÀI DẠY TIN HỌC 11

2. Bài tập 4 – trang 51 GSK a. Mục tiêu: Sử dụng câu lệnh rẽ nhánh dạng thiếu và dạng đủ để mô tả các cấu trúc rẽ nhánh tương ứng. b. Nội dung: Làm bài tập trong SGK. c. Cách thức thực hiện: Làm việc cá nhân, thảo luận nhóm. d. Sản phẩm: Làm bài tập theo yêu cầu của GV.

Chuyển giao nhiệm vụ

Tiếp nhận nhiệm vụ

- Chuyển giao nhiệm vụ Thực hiện bài tập 4 SGK trang 51. - Tiếp nhận và thực hiện nhiệm vụ: HS nghe, theo dõi SGK và thảo luận. - Báo cáo kết quả: Đại diện các nhóm HS trả lời câu hỏi - Đánh giá, nhận xét: GV quan sát, các nhóm khác nhận xét, bổ sung. GV kết luận hoạt động.

* Gợi ý sản phẩm: Câu a: If sqr(x)+sqr(y)<=1 then z:= sqr(x)+sqr(y); If (sqr(x)+sqr(y)>1)and(y>=x) then z:=x+y; If y<x then z:=0.5; Hoặc: if sqr(x)+sqr(y)<=1 then z:= sqr(x)+sqr(y) Else If (y>=x) then z:=x+y Else z:=0.5; Câu b: if sqrt(sqr(x-a)+sqr(y-b))<r then z:=abs(x)+abs(y); If sqrt(sqr(x-a)+sqr(y-b))>=r then zz:=x+y; Hoặc: if sqrt(sqr(x-a)+sqr(y-b))<r then z:=abs(x)+abs(y) Else z:= x+y;

C. LUYỆN TẬP a. Mục tiêu:Rèn luyện kĩ năng lập trình giải các bài toán đơn giản có sử dụng cấu trúc rẽ nhánh, câu lệnh ghép và rẽ nhánh lồng nhau. b. Nội dung: Thực hành viết chương trình chạy trên Pascal. c. Cách thức thực hiện: Cá nhân, tại lớp. d. Sản phẩm: Chương trình có sử dụng cấu trúc rẽ nhánh xuất ra bộ Output đúng với mọi Input. Chuyển giao nhiệm vụ

Tiếp nhận nhiệm vụ

Chuyển giao nhiệm vụ Câu hỏi: Viết chương trình in ra màn hình giá trị nhỏ nhất và giá trị lớn nhất của 2 số nguyên được nhập vào. - Đánh giá, nhận xét: GV quan sát, các nhóm khác nhận xét, bổ sung. GV kết luận hoạt động.

- Tiếp nhận và thực hiện nhiệm vụ: HS nghe, và thảo luận. - Báo cáo kết quả: Đại diện các nhóm HS gõ trên máy tính và chiếu lên màn chiếu. - Các nhóm theo dõi kết quả, nhận xét.

53 NHÓM TIN HỌC


Năm học: 2020 - 2021

KẾ HOẠCH BÀI DẠY TIN HỌC 11

D. VẬN DỤNG VÀ MỞ RỘNG a. Mục tiêu: vận dụng kiến thức đã học để làm bài tập cấu trúc rẽ nhánh. b. Nội dung: viết chương trình trên máy. c. Cách thức thực hiện: Cá nhân, có thể thực hiện tại nhà. d. Sản phẩm: chương trình hoàn thiện trên Pascal. Chuyển giao nhiệm vụ

Tiếp nhận nhiệm vụ

Giao nhiệm vụ: Thực hiện yêu cầu bài tập. Câu hỏi: Viết chương trình nhập vào 3 số nguyên, kiểm tra xem có tạo thành độ dài 3 cạnh của tam giac hay không? Nếu có tính và in ra màn hình chu vi và diện tích của tam giác đó IV. TỔNG KẾT, ĐÁNH GIÁ - GV đánh giá hoạt động học của các nhóm, nhận xét, cho điểm. - Xem trước bài 10: Cấu trúc lặp. ———» «———

54 NHÓM TIN HỌC


Năm học: 2020 - 2021

KẾ HOẠCH BÀI DẠY TIN HỌC 11

Tiết PPCT: 18 + 19 + 20

BÀI 10: CẤU TRÚC LẶP I. MỤC TIÊU BÀI HỌC 1. Kiến thức, kĩ năng, thái độ: a. Về kiến thức - Hiểu nhu cầu của cấu trúc lặp trong biểu diễn thuật toán. - Hiểu cấu trúc lặp với số lần biết trước, cấu trúc lặp kiểm tra điều kiện trước. b. Về kĩ năng - Biết cách vận dụng đúng đắn từng loại cấu trúc lặp vào tình huống cụ thể. - Mô tả được thuật toán của một số bài toán đơn giản có sử dụng lệnh lặp - Viết đúng các lệnh lặp với số lần biết trước, lệnh lặp kiểm tra điều kiện trước c. Về thái độ - Khơi gợi lòng ham thích giải bài toán bằng lập trình trên máy tính. - Tiếp tục rèn luyện các phẩm chất cần thiết của người lập trình như xem xét, giải quyết vấn đề một cách cẩn thận, chu đáo, có sáng tạo,… 2. Năng lực định hướng hình thành và phát triển cho học sinh - Năng lực giải quyết vấn đề thông qua trao đổi, thảo luận. - Mô hình hóa các tình huống thực tiễn xảy ra phụ thuộc vào điều kiện theo cấu trúc lặp trong tin học. - Năng lực sử dụng máy tính. II. CHUẨN BỊ: 1. Giáo viên - Soạn Kế hoạch bài dạy, nghiên cứu sách giáo khoa, sách bài tập, tài liệu tham khảo. - Máy tính cá nhân và máy chiếu. 2. Học sinh - Sách giáo khoa, vở, phần nội dung GV giao về nhà từ tiết trước. III. TIẾN TRÌNH CÁC HOẠT ĐỘNG HỌC A. KHỞI ĐỘNG a. Mục tiêu: HS hiểu thế nào là hành động “lặp”. Thực tế và áp dụng vào bài toán trong tin học như thế nào trên ngôn ngữ lập trình. b. Nội dung: Tìm hiểu ý nghĩa của việc “lặp”. c. Cách thức thực hiện: Cá nhân, thảo luận nhóm. Tại lớp. d. Sản phẩm: Đưa ra được phương án giải quyết cho tình huống đưa ra. Chuyển giao nhiệm vụ

Tiếp nhận nhiệm vụ

GV: Nêu 2 bài toán tính tổng, và yêu cầu HS HĐ cá nhân, trình bày quan điểm, trả lời câu nhận xét các bài toán này có đặc điểm gì tương hỏi. tự và nêu cách tính. 55 NHÓM TIN HỌC


Năm học: 2020 - 2021

KẾ HOẠCH BÀI DẠY TIN HỌC 11

Với a là số nguyên a>0: BT1: Tính tổng: 1 1 1 1 + ... + S1= + a a +1 a + 2 a +100 BT2: Tính tổng:

Là hai bài toán tính tổng: + Ban đầu S được gán giá trị 1/a; + Tiếp theo, mỗi lần cộng thêm vào S là 1 1 1 1 + + ... + + ... S2:= + 1/(a+N) với N =1,2,3,… a a +1 a + 2 a+N Ở bài toán 1, số lần lặp là 100. Còn bài toán 2 1 cho đến khi <0,0001 số lần lặp là chưa biết trước, quá trình lặp sẽ a+N Trong một số thuật toán có những thao tác phải dừng khi gặp điều kiện 1/(a+N)<0,0001. thực hiện lặp đi lặp lại một số lần, và chương trình sẽ phải viết đi, viết lại các câu lệnh thực hiện những thao tác trên thì rõ ràng là không thuận tiện dễ dẫn tới nhàm chán. Vì thế ngôn ngữ lập trình đưa ra cấu trúc điều khiển lặp. B. HÌNH THÀNH KIẾN THỨC 1. Lặp với số lần biết trước và câu lệnh for - do a. Mục tiêu: HS đưa ra được khái niệm và nhận biết lệnh lặp. b. Nội dung: Cấu trúc, cách sử dụng lệnh for – do. c. Cách thức thực hiện: Làm việc cá nhân, thảo luận nhóm. d. Sản phẩm:HS viết được câu lệnh lặp for - do, dạng tiến và dạng lùi. Biết cách sử dụng câu lệnh lặp vào tình huống thực tế của bài toán. Chuyển giao nhiệm vụ

Tiếp nhận nhiệm vụ

Trình chiếu 2 thuật tooán: Thuật toán Tong_1a: +B1: S←1/a; N←0; +B2: N←N+1; +B3: Nếu N > 100 thì chuyển đến B5. +B4: S←S+1/(a+N) rồi quay lại B2. +B5: Đưa ra màn hình rồi kết thúc. Thuật toán Tong_1b: +B1: S←1/a; N←101; +B2: N←N-1; +B3: Nếu N < 1 thì chuyển đến B5. +B4: S←S+1/(a+N) rồi quay lại B2. +B5: Đưa ra màn hình rồi kết thúc. Yêu cầu HS theo dõi và thảo luận nhóm về một số vấn đề: Thuật toán có lặp không? Lặp bao nhiêu lần? Có gì khác nhau giữa hai thuật toán?

HS: Số lần lặp trong hai thuật toán trên đều biết trước là 100 lần. - Trong thuật toán Tong_1a, giá trị N bắt đầu tham gia vòng lặp là 1 và sau mỗi lần lặp N tăng lên 1 cho đến khi N>100 (N=101) thì kết thúc lặp. Trong thuật toán Tong_1b, giá trị N bắt đầu tham gia vòng lặp là 100 và sau mỗi lần lặp N giảm đi 1 cho đến khi N<1(N=0) thì kết thúc lặp. HS thảo luận nhóm. Đại diện nhóm lên phát biểu, trả lời câu hỏi GV đưa ra. GV củng cố, nhận xét câu trả lời. Các nhóm khác bổ sung.

56 NHÓM TIN HỌC


Năm học: 2020 - 2021

KẾ HOẠCH BÀI DẠY TIN HỌC 11

GV: Chuẩn bị các chương trình ví dụ trong HS thực hiện yêu cầu. SGK: Ví dụ 1: Hai chương trình cài đặt các thuật toán Tong_1a và Tong_1b. GV chiếu chương trình đã chuẩn bị sẵn. Ví dụ 2: Chương trình tính và đưa ra màn hình tổng các số chia hết cho 3 hoặc 5 trong phạm vi từ M đến N. Yêu cầu HS hoạt động cá nhân giải thích thuật toán VD2 và việc cần thiết phải sử dụng câu lệnh For – do trong bài toán này. 2. Hoạt động của lệnh for – do trong chương trình a. Mục tiêu: HS hiểu được câu lệnh for – do thực hiện như thế nào khi chạy chương trình. b. Nội dung: Thực hành trực quan, vấn đáp c. Cách thức thực hiện: Làm việc cá nhân, thảo luận nhóm. d. Sản phẩm: Viết đúng cấu trúc lệnh for – do.

Chuyển giao nhiệm vụ

Tiếp nhận nhiệm vụ

GV: Gọi HS nhận xét trong thuật toán Tong_1a quá trình lặp được thực hiện như thế nào, giá trị biến đếm tham gia vòng lặp thay đổi như thế nào? GV: Gọi HS lên viết chương trình trên phần mềm Pascal. GV: Gọi HS ở dưới lớp nhận xét. GV: Nhận xét bài làm của HS nhóm 3, 4 và chữa bài. GV: Thuật toán Tong_1b khác như thế nào so với thuật toán Tong_1a? GV: Gọi HS lên viết chương trình. GV: Gọi HS ở dưới lớp nhận xét. Nhóm 5,6 trình bày GV: Nhận xét bài làm của HS và chữa bài. GV: Nêu ví dụ 2 và yêu cầu HS suy nghĩ . GV: Gọi HS trả lời các vấn đề: Trong bài toán trên, công việc nào lặp lại và quá trình lặp được xác định như thế nào? GV: Như vậy quá trình lặp là xác định và biết trước. Chúng ta dùng câu lệnh for-do. GV: Gọi HS lên bảng viết chương trình. GV: Nhận xét và chữa bài. GV: Gọi Hs trả lời nêu cách giải bài toán?

Các nhóm theo dõi trả lời các câu hỏi của Gv HS: Tổng S được khởi tạo bằng 1/a; giá trị biến N lần lượt tăng từ 1 đến 100. Tại mỗi giá trị của N tống S được cộng thêm vào một lượng 1/(a+N). Một HS lên bảng viết chương trình, HS dưới lớp viết vào nháp. HS: Nhận xét. HS: Tổng S được khởi tạo bằng 1/a; giá trị biến N lần lượt giảm từ 100 xuống 1. Tại mỗi giá trị của N tống S được cộng thêm vào một lượng 1/(a+N). Một HS lên bảng viết chương trình, HS dưới lớp viết vào nháp. HS: Nhận xét.

HS: Chú ý lắng nghe và suy nghĩ. HS: Trong bài toán trên công việc kiểm tra nếu một số trong phạm vi từ M đến N nếu chia hết cho 3 hoặc 5 thì được cộng giá trị, được lặp lại. Quá trình lặp bắt đầu từ giá trị M 57

NHÓM TIN HỌC


Năm học: 2020 - 2021

KẾ HOẠCH BÀI DẠY TIN HỌC 11

GV: Nhận xét và phân tích: đặt td là số trâu và kết thúc tại giá trị N. đứng, tn là số trâu nằm, tg là số trâu già thoả mãn bài toán. Thế thì td, tn, tg là các số HS: HS lên bảng làm bài. Các HS khác ở nguyên dương thảo mãn: dưới làm ra nháp.  td + tn + tg = 100   tg 5 td + 3tn + 3 = 100

Từ phương trình thứ hai ta có 5td≤100 và HS: Thực hiện lắng nghe và thực hiện yêu 3tn≤100, suy ra 1≤ td ≤ 20 và 1≤ tn ≤ 33. Số cầu. trâu già: tg=(100-td-tn) phải chia hết cho 3 (vì số bó cỏ bọn trâu già ăn là số nguyên, bằng tg div 3). Như vậy ta cần tìm các số td trong khoảng 1..20 và tn trong khoảng 1..33 sao cho: tg =(100 - td - tn) chia hết cho 3 và 5*td + 3*tn + tg div 3 = 100. GV: Yêu cầu HS viết chương trình. 3. Lặp với số lần chưa biết trước và câu lệnh while - do a. Mục tiêu: HS hiểu được cấu trúc và cách thực hiện của câu lệnh while - do. b. Nội dung: Tìm hiểu câu lệnh while – do, vấn đáp nội dung. c. Cách thức thực hiện: Làm việc cá nhân, thảo luận nhóm. d. Sản phẩm: Viết đúng cấu trúc lệnh while – do.

Chuyển giao nhiệm vụ

Tiếp nhận nhiệm vụ

GV chia nhóm HS thực hiện các yêu cầu. For lặp với số lần đã xác định trước trong khi While lặp với số lần chưa xác định. * Trong <lệnh cần lặp> phải có lệnh thay đổi biến chỉ số. (để thay đổi giá trị <điều kiện>) Bài tập: Ông An có số tiền là A đồng, ông gửi tiết kiệm ngân hàng với lãi suất 1,5%/tháng. Hỏi sau bao nhiêu tháng (không rút tiền lãi hàng tháng) ông ta được số tiền lớn hơn B đồng?

HS thực hiện theo nhóm. Nhóm 1,2 : nêu khái niệm, ý nghĩa và cấu trúc Nhóm 3,4: Nêu cách áp dụng trong những dạng bài toán cụ thể. Đại diện nhóm lên trình bày, GV nhận xét, các nhóm khác bổ sung, hoàn thiện kiến thức. Nhóm 5,6: thực hiện ví dụ và trình bày. * Gợi ý sản phẩm: Var A, B: extended; T: byte; Begin Write(‘So tien ban dau A: ’); Readln( A); Write(‘So tien can co B(B>A): ’); Readln(B); T := 0; While A< B Do begin 58

NHÓM TIN HỌC


Năm học: 2020 - 2021

KẾ HOẠCH BÀI DẠY TIN HỌC 11

A := A + 0.015*A; T := T + 1; end; Writeln(‘Phai cho ’,T,’ thang’); Readln End. C. LUYỆN TẬP a. Mục tiêu:HS nắm kiến thức thông qua một chương trình cụ thể có sử dụng câu lệnh lặp. b. Nội dung: Thực hiện trên phiếu học tập. c. Cách thức thực hiện: Cá nhân, thảo luận nhóm. Tại lớp. d. Sản phẩm: Viết được một chương trình đơn giản có sử dụng câu lệnh lặp theo yêu cầu của bài tóan. Chuyển giao nhiệm vụ

Tiếp nhận nhiệm vụ

GV hướng dẫn, theo dõi và giúp đỡ HS hoàn thiện sản phẩm. Bài tập 1: Viết chương trình tính tổng S:= 1+2+3+…+n. Bài tập 2: Dãy số Fibônaxi được định nghĩa như sau:

HS làm tại lớp các bài tập GV yêu cầu. Hoạt động theo nhóm và báo cáo sản phẩm. Nhóm 1, 2, 3 thực hiện.

Nhóm 4, 5, 6 thực hiện.

f1 = 1, f2 = 1  fn = fn-1 + fn-2 (∀n ≥ 3) Viết chương trình in ra các số Fibônaxi với từ 1 đến 20 D. VẬN DỤNG a. Mục tiêu: Giải quyết được bài toán sử dụng câu lệnh lặp. b. Nội dung: Giao nhiệm vụ về nhà. c. Cách thức thực hiện: Cá nhân, thực hiện ở nhà. d. Sản phẩm: Viết được chương trình chạy trên Pascal theo yêu cầu bài toán. Chuyển giao nhiệm vụ

Tiếp nhận nhiệm vụ

Giao nhiệm vụ:

Thực hiện theo yêu cầu của GV.

Tính an với a là số thực và n là số nguyên dương. Viết chương trình trên Pascal. Trong chương trình có sử dụng cấu trúc lặp. E. MỞ RỘNG a. Mục tiêu: Giúp học sinh mở rộng thêm kiến thức về câu lệnh lặp. b. Nội dung: Trả lời câu hỏi trắc nghiệm. c. Cách thức thực hiện: Cá nhân, thực hiện tại lớp. 59 NHÓM TIN HỌC


Năm học: 2020 - 2021

KẾ HOẠCH BÀI DẠY TIN HỌC 11

d. Sản phẩm: Trả lời đúng các câu hỏi.

Câu 1: Cho đoạn chương trình sau, Hãy cho biết S nhận giá trị nào? S:=3; For i:=1 To 5 do if i mod 2=0 Then S:=S+i; A. 8 B. 18 C. 9 D. 10 Câu 2: Muốn tính tích các số chia hết cho 5 trong khoảng từ 20 đến 100, câu lệnh nào sau đây đúng? A. for i:= 20 to 100 do if ( i mod 5 = 0) then tich:=tich * i; B. for i:= 20 to 100 do if ( i mod 5 &lt;&gt; 0) then tich:=tich * i; C. for i:= 20 to 100 do if ( i mod 5 = 0) then tich:=tich * 1; D. for i:= 20 to 100 do if ( i mod 5 &lt;&gt; 0) then tich:=tich * 1; Câu 3: Cho m, n, i là các biến nguyên. Khi chạy đoạn chương trình : m:=4; n:=5; i:=5; Repeat i:=i+1; Until (i Mod m = 0) and (i Mod n = 0); Giátrị sau cùng của i là : A. 20 B. 5 C. 4 D. 0 IV. TỔNG KẾT, ĐÁNH GIÁ - Ôn lại bài học hôm nay. - GV đánh giá các hoạt động học, nhận xét các nhóm. ———» «———

60 NHÓM TIN HỌC


Năm học: 2020 - 2021

KẾ HOẠCH BÀI DẠY TIN HỌC 11

Tiết PPCT: 21 + 24 + 25

CHỦ ĐỀ: BÀI TẬP CẤU TRÚC LẶP I. MỤC TIÊU BÀI HỌC 1. Kiến thức, kĩ năng, thái độ: a. Về kiến thức - Hiểu cấu trúc lặp với số lần biết trước, cấu trúc lặp kiểm tra điều kiện trước. - Mô tả được thuật toán của một số bài toán đơn giản có sử dụng lệnh lặp. b. Về kĩ năng - Vận dụng đúng đắn từng loại cấu trúc lặp vào tình huống cụ thể. - Viết đúng các lệnh lặp với số lần biết trước, lệnh lặp kiểm tra điều kiện trước. c. Về thái độ - Giúp hs nâng cao kiến thức về sử dụng NNLT, từ đó thêm yêu thích môn học. 2. Năng lực định hướng hình thành và phát triển cho học sinh - Năng lực giải quyết vấn đề thông qua trao đổi, thảo luận. - Năng lực hợp tác. - Năng lực sử dụng máy tính. II. CHUẨN BỊ: 1. Giáo viên - Kế hoạch bài dạy, phiếu học tập, bài tập. - Phòng máy tính. 2. Học sinh - Kiến thức đã học ở bài cấu trúc lặp. - SGK, vở bài tập. III. TIẾN TRÌNH CÁC HOẠT ĐỘNG HỌC A. KHỞI ĐỘNG a. Mục tiêu: Hs phân biệt được dạng bài sử dụng cấu trúc lặp biết trước số lần lặp và không biết trước số lần lặp. b. Nội dung: Phân biệt được bài toán sử dụng 2 dạng lặp khác nhau như thế nào. c. Cách thức thực hiện: Cá nhân, thảo luận nhóm. Tại lớp. d. Sản phẩm: : nêu được ý tưởng giải, viết được cấu trúc lặp giải 1 số bài toán đơn giản. Chuyển giao nhiệm vụ

Tiếp nhận nhiệm vụ

Gv yêu cầu hs viết chương trình hoàn chỉnh cho bài toán sau: - Viết câu lệnh in ra màn hình 100 số nguyên dương đầu tiên, mỗi số viết trên 1 dòng?

Hs làm việc nhóm (4 nhóm) dán các sản phẩm lên bảng theo danh mục phân loại trên khổi giấy a0. Hs làm việc nhóm, phân tích bài toán, lựa chọn và cài đặt thuật toán. Hs theo dõi và cùng chia sẻ kiên thức, phản biện,..

Gv quan sát giúp đỡ học sinh khi cần.

61 NHÓM TIN HỌC


Năm học: 2020 - 2021

KẾ HOẠCH BÀI DẠY TIN HỌC 11

Gv tổ chức cho học sinh báo cáo sản phẩm, Các nhóm dùng nam châm ghi sản phẩm lên đánh giá, hỗ trợ học sinh. bảng cử đại diện báo cáo, các nhóm còn lại trao đổi. B. HÌNH THÀNH KIẾN THỨC a. Mục tiêu: HS biết sử dụng câu lệnh lặp dạng nào cho phù hợp với yêu cầu bài toán. b. Nội dung: Viết chương trình trên máy. c. Cách thức thực hiện: Làm việc cá nhân, thảo luận nhóm. d. Sản phẩm: Chương trình chạy trên Pascal. Chuyển giao nhiệm vụ

Tiếp nhận nhiệm vụ

- GV chuyển giao nhiệm vụ: Viết chương trình tính tổng n số tự nhiên đầu tiên. - GV phân tích đề bài và gợi ý cho HS. - GV gọi các nhóm giải thích các câu lệnh sử dụng trong chương trình. - GV nhận xét và chiếu máy đưa ra đáp án đúng và giải thích các câu lệnh cho HS.

HS nhận nhiệm vụ: - HS hoạt động nhóm thảo luận nêu các biến cần khai báo cho chương trình. - HS thảo luận, viết chương trình ở bảng phụ. - HS cài đặt chương trình trên phần mềm Pascal. - HS đại diện các nhóm trả lời. - Các nhóm khác đối chiếu, nhận xét. * Gợi ý sản phẩm: Program Tong; Uses crt; Var n, i:integer; s:longint; Begin CLRSCR; Write(‘nhap so n:’); Readln(n); s:=0; For i:= 1 to n do s:= s + i; Writeln(‘Tong cua’, n, ‘so tu nhien dau tien la’, s); Readln; End.

C. LUYỆN TẬP a. Mục tiêu: HS biết cách kết hợp câu lệnh lặp và câu lệnh rẽ nhánh. b. Nội dung: Viết chương trình sử dụng cả cấu trúc rẽ nhánh và lặp. c. Cách thức thực hiện: Cá nhân, thảo luận nhóm. Tại lớp. d. Sản phẩm: Viết được chương trình theo yêu cầu. Chuyển giao nhiệm vụ

Tiếp nhận nhiệm vụ

GV chuyển giao nhiệm vụ: HS nhận nhiệm vụ: Viết chương trình in ra màn hình các số chia - HS hoạt động nhóm thảo luận nêu thuật 62 NHÓM TIN HỌC


Năm học: 2020 - 2021

KẾ HOẠCH BÀI DẠY TIN HỌC 11

hết cho 6 từ 1 đến 100. GV gọi HS nêu thuật toán. - GV gợi ý cho HS khai báo biến để đưa vào làm biến đếm cho vòng lặp For và để in ra kết quả và sử dụng câu lệnh If…then và phép chia lấy phần dư MOD để viết chương trình. - GV gọi các nhóm giải thích các câu lệnh sử dụng trong chương trình.

toán của bài tập trên. - HS các nhóm đại diện trả lời. - Các nhóm khác nhận xét. - HS viết chương trình ở bảng nhóm. * Gợi ý sản phẩm Chương trình: Program Chiahetcho6; Uses crt; Var i:integer; - GV nhận xét các nhóm và chiếu máy đưa ra đáp án đúng và giải thích các câu lệnh trong Begin CLRSCR; chương trình cho HS hiểu For i:= 1 to 100 do If i mod 6 = 0 Then Write (i:4); Readln; End. D. VẬN DỤNG VÀ MỞ RỘNG a. Mục tiêu: HS có nhu cầu mở rộng kiến thức về câu lệnh lặp. b. Nội dung: Trả lời câu hỏi trắc nghiệm. c. Cách thức thực hiện: Cá nhân, thực hiện tại lớp. d. Sản phẩm: Hoàn thành phiếu học tập. * Phiếu học tập Câu 1: Tính tống S = 1 + 2 + 3 + … + n + … cho đến khi S>108. Điều kiện nào sau đây cho vòng lặp while – do là đúng: A. While S>=108 do B. While S < 108 do C. While S < 1.0E8 do D. While S >= E8 do Câu 2: Đoạn chương trình sau giải bài toán nào? For I:=1 to M do If (I mod 3 = 0) and (I mod 5 = 0) then T := T + I; A. Tổng các số chia hết cho 3 hoặc 5 trong phạm vi từ 1 đến M B. Tổng các số chia hết cho 3 và 5 trong phạm vi từ 1 đến M C. Tổng các số chia hết cho 3 trong phạm vi từ 1 đến M D. Tổng các số chia hết cho 5 trong phạm vi từ 1 đến M Câu 3: Vòng lặp While – do kết thúc khi nào A. Khi một điều kiện cho trước được thỏa mãn B. Khi đủ số vòng lặp 63 NHÓM TIN HỌC


Năm học: 2020 - 2021

KẾ HOẠCH BÀI DẠY TIN HỌC 11

C. Khi tìm được Output D. Tất cả các phương án Câu 4: Chọn phát biểu sai trong các phát biểu sau đây: A. Để mô tả việc lặp đi lặp lại một số thao tác (hoặc câu lệnh) trong một thuật toán ta có thể dùng cấu trúc lặp B. Tùy từng trường hợp cụ thể (khi mô tả một thuật toán), khi thì ta biết trước số lần lặp, khi thì ta không cần hoặc không xác định được trước số lần lặp các thao tác nào đó. C. Có thể dùng cấu trúc lặp để thay cho cấu trúc rẽ nhánh trong mô tả thuật toán. (*) D. Không thể mô tả được mọi thuật toán bằng ngôn ngữ lập trình bậc cao nếu không dùng cấu trúc lặp Câu 5: Chương trình sau giải bài toán gì: Var M, N, I : integer; BEGIN clrscr; M := 0 ; N := 0 ; For I := 1 TO 10000 do Begin if ( (I mod 3) = 0 ) then M := M + 1 ; if ( (I mod 3) = 0 ) and ( (I mod 5) = 0 ) then N := N + 1 ; End; writeln( M,‘ ’, N ); readln END. A. Đây là chương trình đếm số các số nguyên trong khoảng từ 1 đến 10000 là bội số của 3 B. Đây là chương trình đếm và thông báo ra màn hình rằng trong khoảng từ 1 đến 10000 có bao nhiêu số nguyên là bội số của 3 và có bao nhiêu số là bội số chung của 3 và 5 C. Đây là chương trình đếm số các số nguyên nhỏ hơn 10000 và chia hết cho 3 D. Đây là chương trình đếm số các số nguyên trong khoảng từ 1 đến 10000 là bội số của 3 và 5. IV. TỔNG KẾT, ĐÁNH GIÁ - GV nhận xét, đánh giá hoạt động của các nhóm. ———» «———

64 NHÓM TIN HỌC


Năm học: 2020 - 2021

KẾ HOẠCH BÀI DẠY TIN HỌC 11

Tiết PPCT: 22 + 23

BÀI TẬP THỰC HÀNH 2 I. MỤC TIÊU BÀI HỌC 1. Kiến thức, kĩ năng, thái độ: a. Về kiến thức - Xây dựng chương trình có sử dụng cấu trúc rẽ nhánh và cấu trúc lặp. - Làm quen với việc hiệu chỉnh chương trình. - Hiểu cú pháp và sử dụng câu lệnh ghép trong viết chương trình. b. Về kĩ năng - Viết đúng các câu lệnh rẽ nhánh. - Thể hiện được thuật toán của một số bài toán đơn giản. c. Về thái độ - Nghiêm túc thực hiện nội quy phòng máy. - Yêu thích tìm tòi sáng tạo. 2. Năng lực định hướng hình thành và phát triển cho học sinh - Năng lực giải quyết vấn đề. - Năng lực sử dụng máy tính để giải quyết bài toán. - Năng lực cộng tác, giao tiếp. II. CHUẨN BỊ: 1. Giáo viên - Phòng máy tính, phiếu học tập, bài tập mẫu. 2. Học sinh - Kiến thức đã học ở bài 9 và 10. - SGK, vở bài tập. III. TIẾN TRÌNH CÁC HOẠT ĐỘNG HỌC A. KHỞI ĐỘNG a. Mục tiêu: HS thế nào là bộ số Pi-ta-go. Tìm ra được thuật toán xác định bộ số Pi-ta-go. b. Nội dung: Tìm hiểu bài toán về bộ số Pi-ta-go. c. Cách thức thực hiện: Cá nhân, tại lớp. d. Sản phẩm: HS giải quyết được bài toán theo yêu cầu. Chuyển giao nhiệm vụ

Tiếp nhận nhiệm vụ

GV giới thiệu nội dung thực hành: - HS: Trả lời các câu hỏi Bài thực hành này tập trung vào việc giải Gợi ý sản phẩm. quyết bài toán: Bộ số Pitago * Xác định bài toán: GV giao nhiệm vụ trả lời câu hỏi. + Input: Ba số nguyên a, b, c + Output: Thông báo ra màn hình bộ ba số a, b, c ?Xác định Input, Output của bài toán. là bộ số Pitago hay a, b, c Không phải là bộ ba số 65 NHÓM TIN HỌC


Năm học: 2020 - 2021

KẾ HOẠCH BÀI DẠY TIN HỌC 11

? Nêu ý tưởng để xây dựng bài toán này như thế nào?

Yêu cầu HS gõ chương trình vào Pascal để xem cách thức thuật toán thực hiện. Xác định mối quan hệ giữa Input và Output.

GV: Hướng dẫn: - Nhấn phím F2 - File / Save As… GV: Hướng dẫn Nhấn phím F7 để theo dõi quá trình thực hiện từng lệnh của CT. Đến lệnh Readln(a,b,c): Nhập liên tiếp 3 giá trị a=3, b=4, c=5. Các giá trị cách nhau bởi một dấu cách.

Pitago * ý tưởng: Kiểm tra xem có đẳng thức nào trong ba đẳng thức sau đây xảy ra hay không: a2= b2 + c2 b2= a2 + c2 c2= a2 + b2 a. HS: Thực hiện gõ CT Program Pi_ta_go; Var a, b, c: Integer; a2, b2, c2: longint; Begin Write(‘Nhap a, b, c:’);Readln(a,b,c); a2:=a; b2:=b; c2:=c; a2:=a2*a; b2:=b2*b; c2:=c2*c; If (a2=b2+c2)or(b2=a2+c2)or(c2=a2+b2) then write(‘Bo ba so Pitago’) Else write(‘Khong phai bo so pitago’); Readln; End. b. Lưu CT với tên Pitago lên đĩa File / Save As… Xuất hiện hộp thoại Save As + Name: Pitago + Nháy OK c. Nhấn phím F7 để thực hiện từng câu lệnh CT, nhập các gia trị a=3, b=4, c=5

B. HÌNH THÀNH KIẾN THỨC a. Mục tiêu: HS hiểu được cách sử dụng các câu lệnh rẽ nhánh lồng nhau. b. Nội dung: Làm bài tập 4, 7. c. Cách thức thực hiện: Làm việc cá nhân, thảo luận nhóm. d. Sản phẩm: Thực hiện đúng bài tập theo yêu cầu. Chuyển giao nhiệm vụ

Tiếp nhận nhiệm vụ

GV: Hướng dẫn bài 4: Bài này sử dụng HS: Thực hiện câu lệnh If-then dạng thiếu hoặc dạng đầy If (sqrt(x)+sqrt(y))<=1 then đủ. Nhưng nên sử dụng dạng đầy đủ. z:= sqr(x) + sqr(y) GV: Gọi HS lên bảng thực hiện Else If (y>=x) then z:=x+y 66 NHÓM TIN HỌC


Năm học: 2020 - 2021

KẾ HOẠCH BÀI DẠY TIN HỌC 11

Bài 7: GV hướng dẫn: Nhập tuổi cha và tuổi con nhưng phải thoả mạn điều kiện: Tch>2Tc và TchTc>=25 Để tính được sau bao nhiêu năm nữa Tch=2Tc thì chúng ta sử dụng câu lệnh While-do: While (Tch<>2*Tc) do Begin Tch:=Tch+1; Tc:=Tc+1; Nam:=Nam+1; End;

Else z:=0.5; If(sqr(x-a)+sqr(y-b)<=sqr(r)) then z:=abs(x)+abs(y) else z:=x+y; HS: Thực hiện Var Tch, Tc, Nam: word; Begin Write(‘Nhap tuoi ch:’);readln(Tch); Write(‘Nhap tuoi con:’);readln(Tc); If (Tch>2*Tc) and (Tch-Tc>=25) then Begin Nam:=0; While (Tch<>2*Tc) do Begin Tch:=Tch+1; Tc:=Tc+1; Nam:=Nam+1; End; End; Write(‘So nam Tch=2Tc’, Nam); Readln; End.

C. LUYỆN TẬP a. Mục tiêu: HS biết được cách thức xây dựng chương trình gồm các câu lệnh rẽ nhánh và rẽ nhánh lồng nhau. b. Nội dung: Thực hiện chạy chương trình trên máy. c. Cách thức thực hiện: Cá nhân, thảo luận nhóm. Tại lớp. d. Sản phẩm: Chạy được chương trình đúng trên Pascal. Chuyển giao nhiệm vụ

Tiếp nhận nhiệm vụ

- Chiếu lại thuật toán bài tập 1 đã làm ở lớp. - Khởi động Turbo Pascal , gõ chương trình (tốc độ chậm) cho HS quan sát. - Lưu, biên dịch, sửa lỗi, chạy chương trình. - Gõ chương trình, lưu, biên dịch, sửa lỗi, chạy chương trình. - Quan sát HS viết chương trình và giải đáp một số thắc mắc của HS. - Lưu ý HS một số lỗi thường gặp và cách

- Thực hiện các thao tác theo hướng dẫn của GV. - Viết chương trình và gửi những thắc mắc đến GV. - Lắng nghe, ghi chú, chạy chương trình trên máy với nhiều bộ Output khác nhau. - Gợi ý sản phẩm: BT1: Viết chương trình nhập vào 3 số nguyên a, b, c. Cho biết c có phải là tổng của a và b hay không? Var a, b, c: integer; begin 67

NHÓM TIN HỌC


Năm học: 2020 - 2021

KẾ HOẠCH BÀI DẠY TIN HỌC 11

khắc phục. - Cộng điểm cho các nhóm làm nhanh và có các câu hỏi hay. - Chiếu lại thuật toán bài tập 2 đã làm ở lớp. (?) Dựa vào thuật toán và viết thành chương trình hoàn chỉnh. - Quan sát HS viết chương trình và giải đáp một số thắc mắc của HS. - Lưu ý HS một số lỗi thường gặp và cách khắc phục. - Cộng điểm cho các nhóm làm nhanh và có các câu hỏi hay.

write(“nhap a, b, c: ’); readln(a, b, c); if c=a+b then write(c, ‘ la tong’) else write(c,‘ khong la tong’); readln; end. - BT2: Viết chương trình giải phương trình bậc 1: ax + b = 0 Var a, b, x: integer; begin write(“nhap a, b: ’); readln(a, b); if a=0 then if b=0 then write(‘ptvsn’) else write(‘ptvn’) else begin x:=-b/a; write(‘ptcn‘,x); end; readln; end.

D. VẬN DỤNG VÀ MỞ RỘNG a. Mục tiêu: Giúp học sinh có nhu cầu mở rộng thêm kiến thức của mình. b. Nội dung: Giao nhiệm vụ bài tập về nhà. c. Cách thức thực hiện: Cá nhân. d. Sản phẩm: Học sinh biết mở rộng các kiến thức của mình thông qua một dự án thực tế Chuyển giao nhiệm vụ

Tiếp nhận nhiệm vụ

GV giao nhiệm vụ: Viết chương trình nhập vào bán kính của hình tròn. Tính chu vi, diện tích của hình tròn đó và in ra màn hình (kiểm tra r>0).

Thực hiện theo yêu cầu: *Gợi ý sản phẩm: Program Chu_vi_Dien_tich_hinh_tron; Uses Crt; Var r,dt,cv:real; Begin Clrscr; Writeln(' Tinh dien tich va chu vi hinh tron:'); 68

NHÓM TIN HỌC


Năm học: 2020 - 2021

KẾ HOẠCH BÀI DẠY TIN HỌC 11

Readln('Tinh dien tich va chu vi hinh tron'); Write ('Nhap ban kinh r ='); Readln(r);<br /> dt:=pi*r*r;<br /> cv:=2*pi*r;<br /> Writeln('Dien tich hinh tron la:',dt:6:2); Writeln('Chu vi hinh tron la:',cv:6:2); Readln; End. IV. TỔNG KẾT, ĐÁNH GIÁ - GV đánh giá hoạt động học của các nhóm, nhận xét, rút kinh nghiệm. ———» «———

69 NHÓM TIN HỌC


Năm học: 2020 - 2021

KẾ HOẠCH BÀI DẠY TIN HỌC 11

Tiết PPCT: 26 + 27

BÀI 11: KIỂU MẢNG I. MỤC TIÊU BÀI HỌC 1. Kiến thức, kĩ năng, thái độ: a. Về kiến thức - Biết được một kiểu dữ liệu mới là kiểu mảng một chiều. - Biết được một loại biến có chỉ số; - Biết cấu trúc tạo mảng một chiều, cách khai báo biến kiểu mảng một chiều. - Khai báo kiểu, biến mảng một chiều, cách tham chiếu dến các p/tử trong mảng. b. Về kĩ năng - Biết được các thành phần trong khai báo kiểu mảng một chiều. - Biết được định danh của một phần tử kiểu mảng một chiều xuất hiện trong một chương trình; - Biết cách tham chiếu đến các phần tử của mảng một chiều. - HS sử dụng được biến kiểu mảng một chiều để giải quyết một bài toán đơn giản. - Khai báo được kiểu dữ liệu mảng, nhập dữ liệu mảng, đưa ra màn hình chỉ số và giá trị của các phần tử mảng. - Nâng cao kĩ năng sử dụng một số kiểu lệnh kiểu dữ liệu mảng một chiều trong lập trình. c. Về thái độ - Khơi gợi lòng ham thích giải bài toán bằng lập trình trên máy tính. - Góp phần rèn luyện tác phong, tư duy lập trình; từ giác, tích cực, chủ động và sáng tạo trong tìm kiếm kiến thức. 2. Năng lực định hướng hình thành và phát triển cho học sinh - Năng lực tự giải quyết vấn đề, cộng tác, phối hợp. - Năng lực tư duy logic. - Năng lực sử dụng máy tính giải các bài toán lập trình. II. CHUẨN BỊ: 1. Giáo viên - Soạn Kế hoạch bài dạy, nghiên cứu sách giáo khoa, sách bài tập, tài liệu tham khảo. - Máy tính cá nhân và máy chiếu ( nếu có). - Sơ đồ cấu trúc mảng một chiều. 2. Học sinh - Sách giáo khoa, vở, phần nội dung GV giao về nhà từ tiết trước. III. TIẾN TRÌNH CÁC HOẠT ĐỘNG HỌC A. KHỞI ĐỘNG a. Mục tiêu: Nêu một số bài toán có liên quan đến kiểu dữ liệu mảng thường gặp. b. Nội dung: Tìm hiểu về mảng thông qua bài toán đơn giản. 70 NHÓM TIN HỌC


KẾ HOẠCH BÀI DẠY TIN HỌC 11

Năm học: 2020 - 2021

c. Cách thức thực hiện: Cá nhân, thảo luận nhóm. Tại lớp. d. Sản phẩm: Đưa ra được phương án giải quyết cho bài toán GV yêu cầu. Chuyển giao nhiệm vụ

Tiếp nhận nhiệm vụ

* Nêu bài toán mở đầu. Y/cầu hs đọc, tìm hiểu chtrình giải quyết bài toán đó. Và trả lời các câu hỏi sau: - Các biến: t1, …,t7 thể hiện các giá trị nào? Kiểu của các biến đó thế nào? - Biến dem dùng làm gì? - 7 câu lệnh IF trong chương trình thực hiện việc gì? * Mở rộng bài toán từ phạm vi một tuần sang phạm vi N ngày (chẳng hạn một tháng hay một năm) thì chương trình trên có hạn chế như thế nào? * Để khắc phục hạn chế trên người ta thường ghép chung 7 biến trên thành một dãy và đặt cho nó chung 1 tên và đánh cho mỗi phần tử một chỉ số.

N/cứu bài toán và chtrình, suy nghĩ trả lời các câu hỏi: - Nhận giá trị nhiệt độ của 7 ngày trong tuần. Cùng kiểu thực (real) - dem: để đếm số ngày trong tuần có nhiệt độ lớn hơn nhiệt độ trung bình. - Để kiểm tra lần lượt các ngày, nhiệt độ ngày nào lớn hơn nhiệt độ trung bình.

Bản chất thuật toán không có gì thay đổi nhưng việc viết chương trình gặp khó khăn do cần dùng rất nhiều biến và đoạn các câu lệnh tính toán khá dài.

B. HÌNH THÀNH KIẾN THỨC 1. Khái niệm mảng một chiều. a. Mục tiêu: HS đưa ra được khái niệm và nhận biết mảng 1 chiều. b. Nội dung: Thực hành trực quan, vấn đáp. c. Cách thức thực hiện: Làm việc cá nhân. d. Sản phẩm: Nhận biết được kiểu dữ liệu mảng cần sử dụng trong bài toán, khai báo được mảng 1 chiều. Chuyển giao nhiệm vụ

Tiếp nhận nhiệm vụ

Y/cầu HS tham khảo SGK, hoạt động cá nhân Mảng một chiều là dãy hữu hạn các phần tử và trả lời 2 câu hỏi sau: cùng kiểu dữ liệu. Các ptử trong mảng cùngtên và phân biệt nhau bởi chỉ số. Em hiểu như thế nào về mảng một chiều? Để mô tả mảng một chiều, ta cần xác định + Kiểu của phần tử. những yếu tố nào? + Cách đánh số các phần tử. HS quan sát trên máy chiếu hình ảnh về kiểu mảng.

71


Năm học: 2020 - 2021

KẾ HOẠCH BÀI DẠY TIN HỌC 11

2. Tạo mảng một chiều và khai báo biến mảng a. Mục tiêu: HS biết được cách tạo mảng và cấu trúc khai báo biến mảng. b. Nội dung: Thực hiện trực tiếp với ví dụ. c. Cách thức thực hiện: Làm việc cá nhân, hoạt động nhóm d. Sản phẩm: Tạo mảng một chiều và viết được chương trình có khai báo biến mảng. Chuyển giao nhiệm vụ

Tiếp nhận nhiệm vụ

Chỉ ra phần khai báo mảng trong phần khi báo của chtrình? * Ghi lại phần khai báo lên bảng - Ý nghĩa của các khai báo trên là gì? GV kiểm tra kết quả, nhận xét. Giới thiệu cú pháp khai báo kiểu mảng một chiều. -Khái quát hoá, ta có cú pháp khai báo biến mảng một chiều * Lưu ý về cách chọn <Kiểu chỉ số> Cho ví dụ khai báo mảng? Gọi hs khác: Ý nghĩa của khai báo bạn vừa viết? * Lưu ý HS tránh nhầm lẫn giữa tên kiểu dữ liệu mảng và biến kiểu mảng. (Treo bảng phụ) Trong ba cách khai báo ở ví dụ 2, thì cách nào tốt hơn? Dựa vào ví dụ trang 55 SGK, cho biết: + Tên kiểu mảng? + Số phần tử của mảng? + Mỗi phần tử của mảng thuộc kiểu gì? Nêu cách tham chiếu đến từng phần tử của mảng. Lấy ví dụ.

Dòng 1: Khai báo kiểu mảng một chiều gồm Max số thực. Dòng 2 : Khai báo biến mảng Nhietdo qua kiểu mảng HS hoạt động cá nhân, trả lời câu hỏi. Var Dhs2: array [1..100] of real; - Kbáo trực tiếp mảng có tên Dhs2 gồm 100 p/tử có kiều thực. Hs hoạt động nhóm, đại diện nhóm trả lời, các nhóm khác phản biện. HS hoạt động cá nhân, GV nhận xét. .ArrayReal .301 phần tử .Real a[2] phần tử ở vị trí thứ 2 của mảng a a[i] phần tử ở vị trí i của mảng a.

* Tham chiếu tới phần tử cuả mảng Tên_biến[chỉ số]

C. LUYỆN TẬP a. Mục tiêu:HS nắm kiến thức thông qua một chương trình cụ thể có sử dụng kiểu mảng. Biết cách sử dụng và vận dụng kiểu dữ liệu mảng. b. Nội dung: Làm bài tập, vấn đáp, phiếu học tập. c. Cách thức thực hiện: Cá nhân, thảo luận nhóm. Tại lớp. d. Sản phẩm: Viết được một số chương trình có sử dụng kiểu dữ liệu mảng theo yêu cầu của bài toán. Chuyển giao nhiệm vụ

Tiếp nhận nhiệm vụ

* Bài tập 1: Chiếu lên đoạn chương trình: Type

HS hoạt động cá nhân trả lời câu hỏi. 72

NHÓM TIN HỌC


Năm học: 2020 - 2021

KẾ HOẠCH BÀI DẠY TIN HỌC 11

Arrayr = array[1..200] Of integer; Arrayr = array[byte] of real; Arrayb=array[-100..100] of boolean; Var a : arrayr; B : arrayb; + Những khai báo nào là đúng? + Biến a trong khai báo trên chiếm dung lượng bộ nhớ là bao nhiêu? (số phần tử của mảng a, kiểu phần tử)

Arrayr=array[1..200] of integer; Arrayb = array[-100..100] of boolean; + Trả lời: a chiếm 400 byte trong bộ nhớ. HS hoạt động nhóm. Đại diện nhóm lên máy tính viết chương trình trên phần mềm Pascal, lớp theo dõi, các nhóm khác nhận xét, phản biện, đưa ra câu hỏi. Var S, n, k, i : integer; A: array[1..100] of integer; * Bài tập 2: Tạo mảng A gồm N (N≤100) số nguyên. Tính tổng các phần tử của mảng là bội Begin của một số nguyên dương k cho trước. Write(‘Nhap n = ’); readln(n); {tao mang} - Xác định Input, Output. For i:=1 To n Do - Xây dựng thuật toán giải bài toán. begin - Những công việc chính cần thực hiện trong write(‘phan tu thu ’,i,’ =’); chương trình. readln(A[i]); - Các biến chính sử dụng trong chương trình. end; - Chạy thử chương trình với bộ giá trị: write(‘Nhap k = ’); readln(k); N = 8 A: 5, 6, -8, 13 và k =3 S := 0; {khoi tao S ban dau} A 5 6 - 8 13 {tinh tong} For i:=1 To n Do i 1 2 3 4 If A[i] mod k = 0 Then A[i] 2 0 -2 1 S := S + A[i]; mod 3 Writeln(‘Tong can tinh la ’, S); S 0 0 6 6 6 End. D. VẬN DỤNG a. Mục tiêu: HS vận dụng kiến thức đã học để phân tích bài toán về kiểu mảng. b. Nội dung: Thực hiện trên ví dụ với bộ dữ liệu cụ thể. c. Cách thức thực hiện: Cá nhân, thảo luận nhóm. Tại lớp. d. Sản phẩm: Giải quyết được yêu cầu bài toán. Chuyển giao nhiệm vụ

Tiếp nhận nhiệm vụ

GV giao nhiệm vụ: Bài toán: Số nguyên dương N (N≤250) và dãy A gồm N số nguyên dương, mỗi số đều không vượt quá 500. Hãy sắp xếp dãy A thành dãy không giảm.

Thực hiện theo yêu cầu của GV. Viết thuật toán và chạy chương trình trên phần mềm Pascal. Theo dõi kết quả, thử với các bộ test. * Gợi ý sản phẩm:

73 NHÓM TIN HỌC


Năm học: 2020 - 2021

KẾ HOẠCH BÀI DẠY TIN HỌC 11

E. MỞ RỘNG a. Mục tiêu: Giúp HS có nhu cầu mở rộng thêm kiến thức về kiểu mảng. b. Nội dung: Hướng dẫn HS tự học ở nhà. c. Cách thức thực hiện: Cá nhân, thực hiện ở nhà. d. Sản phẩm: Hoàn thành nhiệm vụ bài tập GV giao về nhà. - Sắp xếp dãy số nguyên bằng thuật toán tráo đổi với các giá trị khác nhau của n số. GV hướng dẫn: + Xác định bài toán: xác định dữ liệu vào/ra của bài toán? Minh họa bài toán A 5

7

2

8

6

4

1

2

3

4

5

6

A 2

4

5

6

7

8

1

2

3

4

5

6

Mảng A đã sắp xếp:

Xem lại thuật toán sắp xếp đã học ở lớp 10. + Vai trò của biến i, j trong CT? + Đoạn lệnh thực hiện tráo đổi giá trị 2 phần tử liền kề của mảng? tg := a[i]; a[i]:= a[i+1];

a[i+1]:= tg;

IV. TỔNG KẾT, ĐÁNH GIÁ - Ôn lại bài học hôm nay. - GV đánh giá hoạt động học của các nhóm, nhận xét, cho điểm. ———» «——— 74


Năm học: 2020 - 2021

KẾ HOẠCH BÀI DẠY TIN HỌC 11

Tiết PPCT: 28 + 29

CHỦ ĐỀ: BÀI TẬP THỰC HÀNH KIỂU MẢNG MỘT CHIỀU Nội dung chủ đề: Gồm 2 bài Bài tập thực hành 3 Bài tập thực hành 4 I. MỤC TIÊU BÀI HỌC 1. Kiến thức, kĩ năng, thái độ: a. Về kiến thức - Củng cố cho HS những hiểu biết về kiểu dữ liệu mảng. b. Về kĩ năng - Khai báo được kiểu dữ liệu mảng, nhập dữ liệu mảng, đưa ra màn hình chỉ số và giá trị của các phần tử mảng. - Viết được chương trình có sử dụng kiểu dữ liệu mảng. c. Về thái độ - Rèn luyện tư duy nhạy bén trong lập trình. 2. Năng lực định hướng hình thành và phát triển cho học sinh - Năng lực giải quyết vấn đề. - Năng lực sử dụng máy tính để giải quyết bài toán. - Năng lực cộng tác, giao tiếp. II. CHUẨN BỊ: 1. Giáo viên - Phòng máy tính, phiếu học tập, bài tập mẫu. - Chương trình ví dụ về kiểu mảng. 2. Học sinh - Kiến thức đã học ở bài 11. - SGK, vở bài tập. III. TIẾN TRÌNH CÁC HOẠT ĐỘNG HỌC A. KHỞI ĐỘNG a. Mục tiêu: Kiểm tra kiến thức khai báo mảng đã học ở tiết trước thông qua câu hỏi trắc nghiệm. b. Nội dung: Vấn đáp trực tiếp. c. Cách thức thực hiện: Cá nhân, tại lớp. d. Sản phẩm: HS trả lời được các câu hỏi trắc nghiệm. Chuyển giao nhiệm vụ

Tiếp nhận nhiệm vụ

GV giao nhiệm vụ, vấn đáp 5 câu hỏi trắc HS suy nghĩ trả lời các câu hỏi GV đưa ra. nghiệm sau: * Gợi ý đáp án: Câu 1: Cho mảng với chỉ số đầu n1 = -5; 75 NHÓM TIN HỌC


Năm học: 2020 - 2021

KẾ HOẠCH BÀI DẠY TIN HỌC 11

chỉ số sau n2 = 15. Vậy phần tử thứ 8 trong mảng có giá trị bằng bao nhiêu? A. 3 B. 8 C. 2 D. 12 Câu 2: Các phần tử trong mảng 1 chiều phải: A. Có cùng kiểu dữ liệu với nhau B. Giống nhau C. Là số thực D. Là số nguyên Câu 3: Mảng nào sau đây được khai báo hợp lệ? A. Var A : array[-10..200] of byte B. Var A : array[-10……200] of byte; C. Var A = array[-10..200] of byte; D. Var A : array[-10..200] of byte; Câu 4: Để truy cập đến phần tử của mảng một chiều, ta sử dụng cặp ngoặc nào? A. [ ] B. ( ) C. < > D. { } Câu 5: Muốn khai báo mảng một chiều gồm 50 số thực, khai báo nào sau đây là đúng? A. Var mangthuc : array[1..50] of real; B. Var mangthuc : array[1..50] of word; C. Var mangthuc = array[1..50] of real; D. Type mangthuc : array[1..50] of real;

Câu 1: C Câu 2: A Câu 3: D Câu 4: A Câu 5: A

B. HÌNH THÀNH KIẾN THỨC 1. Bài tập thực hành 3 a. Mục tiêu: HS hiểu được cách cài đặt chương trình kiểu mảng. b. Nội dung: Trực quan trên bài mẫu. c. Cách thức thực hiện: Làm việc cá nhân, thảo luận nhóm. d. Sản phẩm: HS dựa vào bài mẫu, thử với các bộ Input khác nhau, cho ra Output đúng. Chuyển giao nhiệm vụ

Tiếp nhận nhiệm vụ

GV: Cài đặt và trình chiếu CT mẫu bài HS: Xem bài mẫu được trình chiếu và trả lời câu 1a. hỏi. ?1: MyArray là tên kiểu dữ liệu hay tên HS: Tên kiểu dữ liệu. biến? 76 NHÓM TIN HỌC


Năm học: 2020 - 2021

KẾ HOẠCH BÀI DẠY TIN HỌC 11

GV: Nhận xét. ?2: Vai trò của nmax và n khác nhau như thế nào? ?3: Dòng lệnh nào dùng để tạo biến mảng A? GV: Nhận xét. GV: Cho chạy thử CT bài 1a ?4: Lệnh gán A[i]:= random(300) – random(300) có ý nghĩa gì? n là số lượng phần tử của mảng, nmax là là số GV: Nhận xét. lượng pt lớn nhất có thể có của mảng. ?5: Lệnh For i:=1 to n do Write(A[i]:5); có ý nghĩa gì? GV: Nhận xét. ?6: Lệnh For i:=1 to n do If A[i] mod k = 0 then s:=s + A[i]; thực hiện nhiệm vụ gì? GV: Nhận xét. ?7: Lệnh s:=s+A[i]; được thực hiện bao nhiêu lần?

VAR A: MyArray Tạo ngẫu nhiên giá trị kiểu số nguyên cho mảng A trong khoảng -300 đến 300 In ra các phần tử của mảng A mỗi phần tử cách nhau 5 kí tự trống. Tính tổng các phần tử chia hết cho k Không xác định được.

GV: Nhận xét. GV: Cho HS chạy thử chương trình để thấy kết quả. GV: Nhắc nhở HS lưu chương trình đã chạy tốt ở câu a. 2. Bài tập thực hành 4 a. Mục tiêu: Biết nhận xét, phân tích, đề xuất thuật toán giải bài toán sao cho chương trình chạy nhanh hơn. b. Nội dung: Thực hiện trên ví dụ mẫu. c. Cách thức thực hiện: Cá nhân, thảo luận nhóm. Tại lớp. d. Sản phẩm: Chạy được bài toán sắp xếp mảng một chiều với nhiều bộ Input khác nhau bằng cách nhập ngẫu nhiên các phần tử của mảng. Chuyển giao nhiệm vụ

Tiếp nhận nhiệm vụ

- Chiếu lại bài tập 1 và yêu cầu học sinh - Quan sát, gõ chương trình vào máy tính. gõ vào máy tính. - Gợi nhớ và trả lời. (?) Nhắc lại các bước giải bài toán trên 77 NHÓM TIN HỌC


Năm học: 2020 - 2021

KẾ HOẠCH BÀI DẠY TIN HỌC 11

máy tính. - Nhắc học sinh thực hiện đúng các bước (gõ, lưu, sửa, lưu, chạy). - Quan sát HS viết chương trình và giải đáp một số thắc mắc của HS. - Cộng điểm cho các nhóm làm nhanh và có các câu hỏi hay. - Chiếu lại bài tập 2 và yêu cầu học sinh gõ vào máy tính. - Quan sát HS viết chương trình và giải đáp một số thắc mắc của HS. - Cộng điểm cho các nhóm làm nhanh và có các câu hỏi hay.

- Lắng nghe và thực hiện thao tác. - Viết chương trình và gửi những thắc mắc đến GV. - Lắng nghe, ghi chú. - Quan sát, gõ chương trình vào máy tính. - Gợi nhớ và trả lời. - Lắng nghe và thực hiện thao tác. - Viết chương trình và gửi những thắc mắc đến GV. - Lắng nghe, ghi chú. - Trả lời.

C. LUYỆN TẬP a. Mục tiêu: Hiểu được cách thức thực hiện bài toán sắp xếp trên mảng. b. Nội dung: Thực hiện trên ví dụ mẫu. c. Cách thức thực hiện: Cá nhân, thảo luận nhóm. Tại lớp. d. Sản phẩm: Chạy được bài toán sắp xếp mảng một chiều với nhiều bộ Input khác nhau. Chuyển giao nhiệm vụ

Tiếp nhận nhiệm vụ

1. Lấy một ví dụ thực tiễn: Người mù tìm viên sỏi có kích thước lớn nhất trong một dãy viên sỏi để gợi ý cho học sinh thuật toán tìm giá trị lớn nhất. - Yêu cầu: Nêu thuật toán tìm phần tử có giá trị lớn nhất. 2. Tìm hiểu chương trình tìm chỉ số và giá trị lớn nhất. - Chiếu chương trình ví dụ sách giáo khoa trang 64. - Hỏi: vai trò của biến j trong chương trình. - Hỏi: Nếu muốn tìm phần tử nhỏ nhất, cần sửa ở chỗ nào? - Hỏi: Nếu muốn tìm phần tử lớn nhất ta sửa ở chỗ nào? 3. Đặt yêu cầu mới: Viết chương trình và đưa ra các chỉ số của các phần tử có gái trị lớn nhất. - Hỏi: Cần giữ lại đoạn chương trình tìm giá trị lớn nhất không?

1. Theo dõi ví dụ của giáo viên

- So sánh lần lượt từ trái sang phải giữ lại chỉ số của phần tử lớn nhất. 2. Quan sát chương trình, suy nghĩ và trả lời

- Giữ lại chỉ số của phần tử có giá trị lớn nhất. - Phép so sánh a[i] <a[j] - Chuyển thứ tự duyệt từ n-1 về 1 3. Theo dõi yêu cầu, suy nghĩ các câu hỏi định hướng để viết chương trình. - Có - Lệnh để in ra các chỉ số có giá trị bằng giá trị lớn 78

NHÓM TIN HỌC


Năm học: 2020 - 2021

KẾ HOẠCH BÀI DẠY TIN HỌC 11

- Hỏi: cần thêm lệnh nào nữa? - Hỏi: Vị trí thêm các lệnh đó? - Yêu cầu: Viết chương trình hoàn thiện - Học sinh nhập dữ liệu vào của giáo viên và báo cáo kết quả. - Đánh giá kết quả của học sinh

nhất tìm được. - Sau khi tìm được giá trị lớn nhất. - 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ập dữ liệu vào và thông báo cho giáo viên dữ liệu ra.

D. VẬN DỤNG VÀ MỞ RỘNG a. Mục tiêu: HS thao tác được thành thạo các thao tác với mảng một chiều. b. Nội dung: Thực hành trên máy. c. Cách thức thực hiện: Cá nhân. Tại lớp. d. Sản phẩm: Chạy chương trình theo yêu cầu GV trên Pascal. Chuyển giao nhiệm vụ

Tiếp nhận nhiệm vụ

- GV giao nhiệm vụ: * Gợi ý sản phẩm: Nhập vào một mảng gồm n số nguyên và var a:array[1..100] of integer; số nguyên k. Tìm và đưa ra màn hình n,dem,i,j,tong,max,vt:integer; đoạn dài nhất gồm các số 0 liên tiếp trong begin mảng. write('Nhap so phan tu cua mang:');readln(n); - HS thảo luận theo nhóm, thiết kế thuật for i:=1 to n do begin toán, nhập chương trình vào máy tính, sửa write('Nhap a[',i,']:');readln(a); lỗi. end; - GV quan sát quá trình thực hành và giúp dem:=0; đỡ HS (nhóm) gặp khó khăn. for i:=1 to n do - Các nhóm báo cáo kết quả. begin - GV đánh giá, nhận xét. if a =0 then dem:=dem+1 else dem:=0; if dem>max then max:=dem; end; write('Doan dai nhat gom cac so 0 lien tiep la ',max); readln; end. IV. TỔNG KẾT, ĐÁNH GIÁ - Ôn lại bài học hôm nay. - GV đánh giá hoạt động học của các nhóm, nhận xét, rút kinh nghiệm. - Xem trước bài 12. ———» «———

79 NHÓM TIN HỌC


Năm học: 2020 - 2021

KẾ HOẠCH BÀI DẠY TIN HỌC 11

Tiết PPCT: 30 + 31

BÀI 12: KIỂU XÂU I. MỤC TIÊU BÀI HỌC 1. Kiến thức, kĩ năng, thái độ: a. Về kiến thức - Biết được khái niệm kiểu xâu. - Phân biệt được sự giống và khác nhau giữa kiểu mảng kí tự với kiểu xâu kí tự - Biết cách khai báo biến xâu, nhập xuất dữ liệu, tham chiếu đến từng kí tự của xâu. - Biết được lợi ích của thủ tục và hàm liên quan đến xâu trong NNLT Pascal. - Nắm được cấu trúc chung và chức năng của một số hàm và thủ tục liên quan đến xâu trong NNLT Pascal. b. Về kĩ năng - Thực hiện được các thao tác liên quan đến xâu - Khai báo được biến xâu trong NNLT Pascal. Sử dụng biến xâu, các phép toán và các hàm thủ tục về xâu để giải quyết một số bài toán đơn giản. - Nhận biết và bước đầu sử dụng được một số hàm và thủ tục để giải quyết một số bài tập đơn giản liên quan c. Về thái độ - Góp phần rèn luyện tác phong, tư duy lập trình; từ giác, tích cực, chủ động và sáng tạo trong tìm kiếm kiến thức. 2. Năng lực định hướng hình thành và phát triển cho học sinh - Năng lực giải quyết vấn đề. - Năng lực sử dụng máy tính để giải quyết bài toán. - Năng lực cộng tác, giao tiếp. II. CHUẨN BỊ: 1. Giáo viên - Kế hoạch bài dạy, nghiên cứu sách giáo khoa, sách bài tập, tài liệu tham khảo. - Phiếu học tập các bài tập về xâu. 2. Học sinh - SGK, vở bài tập. III. TIẾN TRÌNH CÁC HOẠT ĐỘNG HỌC A. KHỞI ĐỘNG a. Mục tiêu: HS hiểu được ý nghĩa của xâu kí tự. b. Nội dung: Trực quan, ví dụ, bài tập thực tế. c. Cách thức thực hiện: Cá nhân, tại lớp. d. Sản phẩm: Nắm được ý nghĩa về xâu kí tự thông qua ví dụ thực tế. Chuyển giao nhiệm vụ

Tiếp nhận nhiệm vụ

ĐVĐ: Dữ liệu trong các bài toán không HS hoạt động cá nhân: dựa vào các ví dụ có trên 80 NHÓM TIN HỌC


Năm học: 2020 - 2021

KẾ HOẠCH BÀI DẠY TIN HỌC 11

chỉ thuộc kiểu số mà cả kiểu phi số dạng kí tự. Dãy các kí tự được dữ liệu kiểu xâu. VD: Gv treo bảng phụ đã có sẵn các ví dụ về xâu kí tự. Nêu vài ví dụ xâu: a) ‘HaNoi’ b) ‘lop 11A1’ c) ‘Nguyen Van An’ GV nghe câu trả lời của HS, nhận xét chốt ý đúng, đưa ra kết luận. Hỏi: Số lượng kí tự các xâu ở ví dụ trên là bao nhiêu? Hỏi: Xâu có một kí tự trống được viết như thế nào? số kí tự là bao nhiêu? Hỏi: Xâu rỗng được viết như thế nào?

bảng, nhận xét về kiểu xâu, đặc điểm kiểu xâu. Quan sát, nhận biết Tl: Xâu là dãy các kí tự trong bảng mã ASCII, mỗi kí tự là một ptử. Số lượng các kí tự trong xâu là độ dài của xâu. Độ dài xâu bằng 0 gọi là xâu rổng. -Xác định và trả lời: a) 5 kí tự b) 8 kí tự, dấu cách là 1 kí tự c) 13 kí tự - Tl: ‘ ’, có độ dài là 1 - Tl: ‘’, có độ dài là 0

B. HÌNH THÀNH KIẾN THỨC 1. Khai báo biến xâu a. Mục tiêu: HS khai báo được biến kiểu xâu. Thực hành được các thao tác xử lí xâu. b. Nội dung: Thực hành trực quan, vấn đáp. c. Cách thức thực hiện: Làm việc cá nhân, thảo luận nhóm. d. Sản phẩm: Hoàn thành được các câu hỏi của GV. Xử lí được các bài tập có sử dụng các thao tác xử lí xâu. Chuyển giao nhiệm vụ

Tiếp nhận nhiệm vụ

1. Cho biết cách khai báo biến xâu? Hỏi: ý nghĩa của từ khoá string? Và [<độ dài lớn nhất của xâu>] ?

1. Nghiên cứu SGK và trả lời Var <tên biến xâu>: string [<độ dài lớn nhất của xâu>] ; Tl: String là tên kiểu xâu - [n] giá trị qui định số lượng kí tự tối đa mà biến xâu có thể chứa. Hỏi: Nhập xâu hoten chỉ có 20 kí tự được Ví dụ: Var hoten: string[30]; không? Hỏi: Khi khai báo không có [n] thì số Var St: string; lượng kí tự là bao nhiêu? Tl:được (không) * Yêu cầu HS cho ví dụ - Số kí tự tối đa là 255 2. Tham chiếu đến từng kí tự của xâu Lấy thêm VD. Yêu cầu HS: Nhắc lại cách tham chiếu * Tham chiếu đến từng kí tự của xâu đến từng phần tử của mảng? Tên_biến_xâu[chỉ số] - Giới thiệu cấu trúc chung - Yêu cầu HS cho biết ý nghĩa của St[i] Tìm thêm ví dụ khác. 81 NHÓM TIN HỌC


Năm học: 2020 - 2021

KẾ HOẠCH BÀI DẠY TIN HỌC 11

2. Các thao tác xử lí xâu a. Mục tiêu: Biết và thực hiện được các thao tác xử lí xâu. b. Nội dung: Thực hiện trên ví dụ mẫu. c. Cách thức thực hiện: Cá nhân, thảo luận nhóm. Tại lớp. d. Sản phẩm: Xử lí được các xâu theo yêu cầu bài toán. Chuyển giao nhiệm vụ

Tiếp nhận nhiệm vụ

Chú ý theo dõi, suy nghĩ và trả lời: Gợi nhớ các phép toán đã học Yêu cầu HS nhắc lại các phép toán đã học Phép toán số học trên kiểu dữ liệu chuẩn. Phép toán quan hệ (so sánh) Phép toán logic Suy nghĩ cho ví dụ Phép ghép xâu: kí hiệu dấu cộng (+) Vd: ‘My Computer’ độ dài11 Yêu cầu HS cho biết kết quả các ví dụ? St = ‘pho co-Hoi An’ độ dài xâu nhận được? độ dài 11 * Nhớ lại và trả lời Vd1: * Các phép so sánh A:=’Xa hoi’; B:=’Xa hoi’; Y/cầu hs nêu lại các phép so sánh? A=B True Ở đây là chta so sánh các xâu với nhau Vd2: A:= ‘Anh’; B:= ‘Ba’ Y/cầu hs cho biết kết quả các phép so A>B False sánh Vd3: A=’hoa’; B=’hao’ A>B True Các phép so sánh được thực hiện theo thứ Tl: Delete(s,1,6) tự từ điển. Tl: Insert(‘THPT ’,s2,1) Các thủ tục Code =0, n=3.14 Delete(S,vt,N) Code =3, n ko xác định Insert(s1,s2,vt) st=’2008’ Trong đó vt, N là các số nguyên dương HS hoạt động nhóm, thực hiện bài tập. dương Tl: 9 Val (s,N,code) Tl: 0 Vd: Val(’3.14’,n,code) Tl: 8 Val(‘11A1’,n,code) Suy nghĩ và lên bảng điền kết quả và nội dung còn Str(N,st) thiếu vào bảng Vd: str(2008,st) * Gợi ý sản phẩm: + Nêu ý nghĩa hàm length() Bảng1: Length(st) = ?? Insert(s1,s2,8) Length(‘’) =?? Insert(‘CDE’,s2,3) +Nêu ý nghĩa hàm copy() bảng2: +Nêu ý nghĩa hàm pos() Delete(st,7,9) 82 NHÓM TIN HỌC


Năm học: 2020 - 2021

KẾ HOẠCH BÀI DẠY TIN HỌC 11

Pos(‘51’,s) = ?? + Nêu ý nghĩa hàm Upcase() Treo bảng * Yêu cầu HS nghiên cứu và điền vào chổ trống trong bảng

N= kxđ, e=5 d) các hàm Length(s) Vd: + length(‘11A2’)=4 + St:=’xuan xanh’ Length(st)=9 Copy(S, vt, N) Vd: Copy(st, 1, 4) = ‘xuan’ Pos(s1,s2) Vd: S=’Lop co 51 hs’ Pos(‘51’,s) = 8 Upcase(ch) , ch là 1 kí tự Vd: upcase(s[5]) s=’Lop Co 51 hs

C. LUYỆN TẬP a. Mục tiêu: HS nắm kiến thức thông qua một chương trình cụ thể có sử dụng kiểu xâu. Biết cách sử dụng và vận dụng kiểu dữ liệu xâu. b. Nội dung: Làm bài tập, vấn đáp, phiếu học tập. c. Cách thức thực hiện: Cá nhân, thảo luận nhóm. Tại lớp. d. Sản phẩm: Viết và xử lí được được một số chương trình có sử dụng kiểu dữ liệu xâu theo yêu cầu của bài toán. Chuyển giao nhiệm vụ

Tiếp nhận nhiệm vụ

Nêu bài toán ví dụ 1 (Chiếu lên bảng) Vd1: Viết CT nhập vào họ tên đầy đủ của 2 người và đưa ra màn hình xâu họ tên lớn hơn. - Bài toán trên cần sử dụng kiểu dữ liệu gì để nhận giá trị là họ tên? - Cần sử dụng mấy biến xâu? Yêu cầu HS viết khai báo các xâu? Viết tiếp lệnh nhập giá trị cho xâu a, b. Chỉnh sửa lại phần nội dung HS đã viết được để có kết quả chính xác. - Làm thế nào để xác định xâu lớn hơn? Viết lệnh gì để đưa dữ liệu xâu ra màn hình? Tiểu kết: để nhập/xuất dữ liệu kiểu xâu vẫn sử dụng lệnh read/write như kiểu dữ liệu chuẩn. Nêu bài toán ví dụ 2

- Kiểu xâu - 2 biến Lên bảng viết khai báo Var a,b:string; Lên bảng Readln(a); Readln(b); Var a,b:string; Begin Write(‘nhap ten ng 1’); Readln(a); Write(‘nhap ten ng 2’); Readln(b); If a>b then write(a) Else write(b); End.

83 NHÓM TIN HỌC


Năm học: 2020 - 2021

KẾ HOẠCH BÀI DẠY TIN HỌC 11

Vd2: Viết CT nhập vào xâu S bất kì, cho biết trong xâu sử dụng bao nhiêu kí tự ‘A’? Yêu cầu HS khai báo xâu S. Yêu cầu HS viết lệnh nhậo giá trị cho xâu. Làm thế nào để biết số kí tự ‘A’ có trong xâu? Xâu S được nhập vào có bao nhiêu kí tự? Để duyệt qua tất cả các phần tử trong xâu ta vẫn dùng lệnh for.

VD2. Ghi lại đề bài toán Var S:string; Begin Write(‘nhap xau ’); readln(s); Tl: duyệt qua tất cả các kí tự trong xâu nếu kí tự nào =’A’ thì đếm được 1 kí tự Tl: Length(s) kí tự Var S:string; i,d:byte; Begin Write(‘nhap xau ’); readln(s);d:=0; For i:=1 to length(s) do If s[i]=’A’ then inc(d); Write(d:4); End.

D. VẬN DỤNG a. Mục tiêu: Giải quyết được bài toán sử dụng kiểu xâu. b. Nội dung: Giao bài tập về nhà. c. Cách thức thực hiện: Cá nhân, thực hiện tại nhà. d. Sản phẩm: Bài tập về nhà theo yêu cầu. Chuyển giao nhiệm vụ

Tiếp nhận nhiệm vụ

Nêu yêu cầu bài toán: Viết CT nhập vào Thực hiện theo yêu cầu của GV. xâu S bất kì. thực hiện xoá bỏ tất cả các kí Viết thuật toán và chạy chương trình trên phần tự trắng thừa có trong xâu.(Xâu sau khi mềm Pascal. Theo dõi kết quả, thử với các bộ test. loại bỏ không còn 2 kí tự trắng liền kề nhau, đầu và cuối xâu không phải là kí tự trắng). E. MỞ RỘNG a. Mục tiêu: HS hiểu và củng cố kiến thức về kiểu xâu. b. Nội dung: Thực hiện phiếu học tập. c. Cách thức thực hiện: Cá nhân. Tại lớp. d. Sản phẩm: Hoàn thành phiếu học tập. * Phiếu học tập Câu 1. Để khai báo kiểu xâu trực tiếp ta sử dụng cú pháp nào? A. Var <tên biến> : <tên kiểu> ; B. Var <tên biến> : String[độ dài của lớn nhất của xâu] ; C. Var <tên biến> = <tên kiểu>; D. Var <tên biến> = String[độ dài lớn nhất của xâu]; Câu 2. Trong các khai báo sau, khai báo nào đúng? 84 NHÓM TIN HỌC


Năm học: 2020 - 2021

KẾ HOẠCH BÀI DẠY TIN HỌC 11

A. Var hoten : string[27]; B. Var diachi : string(100); C. Var ten = string[30]; D. Var ho = string(30); Câu 3. Cho sâu s1 = ‘123’; s2 = ‘abc’ sau khi thực hiện thủ tục Insert(s1,s2,2) thì: A. s1 = ‘123’; s2 = ‘a123bc’ B. s1 = ‘1abc23’; s2 = ‘abc’ C. s1 = ‘123’; s2 = ‘12abc’ D. s1 = ‘ab123; s2 = ‘abc’ Câu 4. Cho s = ‘500 ki tu’, hàm Length(s) cho giá trị bằng: A. 500; B. 9; C. ‘5’; D. ‘500’; Câu 5. Cho s1 = ‘010’; s2 = ‘1001010’ hàm pos(s1,s2) cho giá trị bằng: A. 3; B. 4; C. 5; D. 0; IV. TỔNG KẾT, ĐÁNH GIÁ - Ôn lại bài học hôm nay. - GV đánh giá hoạt động học của các nhóm, nhận xét, rút kinh nghiệm. - Xem bài thực hành. ———» «———

85 NHÓM TIN HỌC


Năm học: 2020 - 2021

KẾ HOẠCH BÀI DẠY TIN HỌC 11

Tiết PPCT: 32 + 33

BÀI TẬP VÀ THỰC HÀNH 5 I. MỤC TIÊU BÀI HỌC 1. Kiến thức, kĩ năng, thái độ: a. Về kiến thức - Khắc sâu thêm phần kiến thức về lý thuyết kiểu xâu kí tự, đặc biệt các hàm và thủ tục liên quan . - Nắm được một số thuật toán cơ bản: tạo xâu mới, đếm số lần xuất hiện một ký tự. b. Về kĩ năng - Khai báo biến kiểu xâu. - Nhập, xuất giá trị cho biến xâu. - Duyệt qua tất cả các ký tự của xâu. - Sử dụng được các hàm và thủ tục chuẩn. c. Về thái độ - Khơi gợi lòng ham thích giải bài toán bằng lập trình trên máy tính. - Tích cực chủ động trong tiết bài tập thực hành. 2. Năng lực định hướng hình thành và phát triển cho học sinh - Năng lực giải quyết vấn đề. - Năng lực sử dụng máy tính để giải quyết bài toán. - Năng lực cộng tác, giao tiếp. II. CHUẨN BỊ: 1. Giáo viên - Phòng máy tính, phiếu học tập, bài tập mẫu. - Chương trình ví dụ về kiểu xâu. 2. Học sinh - Kiến thức đã học ở bài 12. - SGK, vở bài tập. III. TIẾN TRÌNH CÁC HOẠT ĐỘNG HỌC A. KHỞI ĐỘNG a. Mục tiêu: Kiểm tra kiến thức đã học về các thao tác với xâu. b. Nội dung: Trực quan, ví dụ, bài tập thực tế. c. Cách thức thực hiện: Cá nhân, tại lớp. d. Sản phẩm: Nhớ lại các kiến thức đã học thông qua ví dụ thực tế. Chuyển giao nhiệm vụ

Tiếp nhận nhiệm vụ

ĐVĐ: Đưa bài toán lên máy chiếu như HS hoạt động cá nhân: thực hiện các phép tính trên sau và đưa ra kết quả. Hãy cho biết quả của một số hàm và thủ 86 NHÓM TIN HỌC


Năm học: 2020 - 2021

KẾ HOẠCH BÀI DẠY TIN HỌC 11

tục chuẩn sau đây: S=’THUC HANH TIN HOC’ S1=’BAI TAP’); Length(s) ? Insert(S1,S,0) ? COPY(S, 30,9) ? B. HÌNH THÀNH KIẾN THỨC a. Mục tiêu: kiểm tra một số thuật toán, một số thủ tục và hàm xử lý xâu. b. Nội dung: Thực hành trực quan, vấn đáp c. Cách thức thực hiện: Làm việc cá nhân, thảo luận nhóm. d. Sản phẩm: Hoàn thành được các câu hỏi của GV. Xử lí được các bài tập có sử dụng các thao tác xử lí xâu. Chuyển giao nhiệm vụ

Tiếp nhận nhiệm vụ

* Hoạt động nhóm với cả 3 ví dụ, thực hiện các công việc sau: - Thảo luận, viết chương trình và chạy thử trên máy. Nêu kết quả để GV nhận xét. - So sánh với chương trình của GV đưa ra trên máy chiếu, rút ra kết luận. Ví dụ 1 : Nhập 1 xâu, kiểm tra xem ký tự đầu tiên của xâu S1 có trùng với ký tự cuối cùng của xâu S2 hay không ?

Ví dụ 2 : Nhập 1 xâu, viết ra màn hình xâu đó theo thứ tự ngược lại của các ký tự trong xâu .

* Gợi ý sản phẩm: VD 1 : Var s1,s2 : String ; x : Byte ; Begin Write('Nhap xau thu 1 : '); Readln(s1) ; Write('Nhap xau thu 2 : '); Readln(s2) ; x := length(s2) ; If s1[1] = s2[x] then Write('Trung nha') else Write('Khac nhau'); Readln ; End . VD 2 : Var i,k : Byte ; a : String ; Begin Write('Nhap xau : ') ; Readln(a) ; k := length(a) ; For i := k downto 1 do Write(a[i]) ; Readln ; 87

NHÓM TIN HỌC


Năm học: 2020 - 2021

KẾ HOẠCH BÀI DẠY TIN HỌC 11

End . Ví dụ 3 : Nhập 1 xâu, viết ra màn hình VD 3 : xâu đó nhưng đã được bỏ tất cả các ký tự Var i,k : Byte ; là dấu cách . a,b : String ; Begin Write('Nhap xau : ') ; Readln(a) ; k := length(a) ; b :='' ; For i := 1 to k do if a[i] <> '' then b := b+a[i] ; Write(b) ; Readln ; End . Ví dụ 4 : Nhập 1 xâu, viết ra màn hình VD 4 : xâu gồm các ký tự số của xâu đó Var s1,s2 : String ; i : Byte ; Begin Write('Nhap xau s1 : ') ; Readln(s1) ; s2 := '' ; For i := 1 to length(s1) do If ('0'<s1[i]) and (s1[i]<='9') then s2 := s2 + s1[i] ; Write(s2); Readln ; End . C. LUYỆN TẬP a. Mục tiêu: Vận dụng được các câu lệnh, các hàm và thủ tục để viết chương trình chạy đúng kết quả với các bộ Input b. Nội dung: Làm bài tập, vấn đáp, phiếu học tập. c. Cách thức thực hiện: Cá nhân, thảo luận nhóm. Tại lớp. d. Sản phẩm: Viết và xử lí được được một số chương trình có sử dụng kiểu dữ liệu xâu theo yêu cầu của bài toán có vận dụng hàm và thủ tục. Chuyển giao nhiệm vụ

Tiếp nhận nhiệm vụ

Gv:Yêu cầu hs kiểm tra với một số bộ dữ Bài1: Hãy viết chương trình nhập vào một xâu S liệu được nhập vào từ bàn phím và giải bất kỳ và đưa ra màn hình xâu in hoa. thích từng câu lệnh ở trong 4 ví dụ. Var S : String ; 88 NHÓM TIN HỌC


Năm học: 2020 - 2021

KẾ HOẠCH BÀI DẠY TIN HỌC 11

i : Byte ; Begin Write('Nhap xau S : ') ; Readln(S) ; For i:=1 To Length(S) Do Write(Upcase(S[i]); Readln; End. Bài2:Hãy viết chương trình nhập vào một xâu bất kỳ (có cả ký tự và ký tự số) và đưa ra màn hình có bao nhiêu ký tự là số? Ví dụ: S=’08bC156546CD’ =>Dem=8 Var S:String; Gv:Đưa câu hỏi bài 2 lên máy chiếu i, Dem:Byte; Hãy nêu ý tưởng thuật toán đếm trong xâu S có bao nhiêu ký tự là số? Begin Hs:Thực hành trên máy->Trả lời câu hỏi Write(‘Nhap xau S=’);Readln(S); Dem:=0; Dem:=0; For i:=1 To length(S) Do For i:=1 To length(S) Do If (S[i]>=’0’) and (S[i] <=’9’) Then If (S[i]>=’0’) and (S[i] <=’9’) Then Dem:=Dem+1; Dem:=Dem+1; Gv:Quan sát thực hành của hs và đưa ra Write(‘Tong so ky tu la so’,Dem); câu hỏi tiếp theo Readln; Ngoài cách viết thuật toán như trê ta còn End. có cách viết nào khác nửa? * Làm bài tập 10,11/80 trong SGK Hs: Tách dãy từ xâu S thành một xâu con chỉ có số (Ví dụ 4). Sử dụng hàm Length(S1) Gv:Yêu cầu Hs thử sử dụng cách 2 để kiểm chứng Hoạt động 2(17’) (Rèn luyện kỷ năng lập trình) Gv:Đưa câu hỏi lên máy chiếu Hãy cho biết hàm đổi ký tự thường thành chữ in hoa? Hs:Hàm Upcase(ch) Gv: Hãy viết đoạn chương trình đổi chữ thường thành chữ in hoa? Hs:Thực hành trên máy rồi trả lời câu hỏi For i:=1 To Length(S) Do Write(Upcase(S[i]);

D. VẬN DỤNG VÀ MỞ RỘNG a. Mục tiêu: HS mong muốn mở rộng kiến thức và các dạng bài tập về kiểu xâu. b. Nội dung: Giao bài tập về nhà cho HS. c. Cách thức thực hiện: Cá nhân. Thực hiện tại nhà. d. Sản phẩm: Hoàn thành bài tập theo yêu cầu. Giao nhiệm vụ: - Hãy viết chương trình nhập vào từ bàn phím xâu S và đếm xâu S có bao nhiêu dấu cách? - Hãy viết chương trình nhập từ bàn phím xâu S và tách một xâu con từ xâu S bắt đầu từ vị trí 5 và lấy 7 ký tự? 89 NHÓM TIN HỌC


Năm học: 2020 - 2021

KẾ HOẠCH BÀI DẠY TIN HỌC 11

- Nhập một xâu, kiểm tra xem xâu đó có phải là một Palidrom hay không? * GV hướng dẫn: + Xác định bài toán: xâu Palidrom là xâu khi đọc từ trái sang phải giống xâu đọc từ phải sang trái. VD: “abccba”, “12344321” là những xâu Palidrom. + Thuật toán: Giả sử cho xâu ban đầu là S. Tạo xâu S1: Cho vòng lặp chạy từ length(S) tới 1 rồi cộng vào xâu S1 từng kí tự S[i]. Đọc ngược lại xâu S và lưu vào S1. Kiểm tra xem S và S1 có giống nhau không? Nếu S và S1 giống nhau thì đưa ra kết luận: S là xâu Palidrom. Ngược lại S không phải xâu Palidrom. IV. TỔNG KẾT, ĐÁNH GIÁ - Ôn lại bài học hôm nay. - GV đánh giá hoạt động học của các nhóm, nhận xét, rút kinh nghiệm. ———» «———

90 NHÓM TIN HỌC


Năm học: 2020 - 2021

KẾ HOẠCH BÀI DẠY TIN HỌC 11

Tiết PPCT: 34

ÔN TẬP HỌC KÌ I I. MỤC TIÊU BÀI HỌC 1. Kiến thức, kĩ năng, thái độ: a. Về kiến thức - Học sinh nắm được toàn bộ kiến thức đã học từ đầu năm học đến nay. - Nội dung ôn tập: Viết chương trình đơn giản, khai báo biến, cấu trúc rẽ nhánh, cấu trúc lặp, kiểu mảng, kiểu xâu. b. Về kĩ năng - Rèn luyện kĩ năng nhận xét, phân tích một bài toán. - Viết chương trình chạy trên Pascal. c. Về thái độ - Khơi gợi lòng ham thích giải bài toán bằng lập trình trên máy tính. - Tích cực chủ động trong tiết ôn tập. 2. Năng lực định hướng hình thành và phát triển cho học sinh - Năng lực giải quyết vấn đề. - Năng lực sử dụng máy tính để giải quyết bài toán. - Năng lực cộng tác, giao tiếp. II. CHUẨN BỊ: 1. Giáo viên - Phòng máy tính, phiếu học tập, bài tập mẫu. 2. Học sinh - Kiến thức đã học ở các bài trước. - SGK, vở bài tập. III. TIẾN TRÌNH CÁC HOẠT ĐỘNG HỌC A. KHỞI ĐỘNG a. Mục tiêu: Học sinh nhớ lại được danh mục kiến thức lí thuyết đã học. b. Nội dung: GV nhắc lại các kiến thức đã học ở học kì I c. Cách thức thực hiện: Cá nhân. d. Sản phẩm: Liệt kê được kiến thức đã học. GV chiếu nội dung kiến thức học kì I lên máy chiếu. HS theo dõi. - Khái niệm về lập trình và ngôn ngữ lập trình. - Có hai loại chương trình dịch: Biên dịch và thông dịch. - Các thành phần của ngôn ngữ lập trình: Bảng chữ cái, cú pháp và ngữ nghĩa. - Các khái niệm: Tên, hằng và biến, chú thích. - Cấu trúc của chương trình Pascal: Phần khai báo và phần thân. - Các kiểu dữ liệu chuẩn: Số nguyên, số thực, kí tự, logic. 91 NHÓM TIN HỌC


Năm học: 2020 - 2021

KẾ HOẠCH BÀI DẠY TIN HỌC 11

- Phép toán, biểu thức, lệnh gán. - Tổ chức vào/ra. - Cấu trúc rẽ nhánh. - Cấu trúc lặp. - Kiểu mảng, kiểu xâu B. HÌNH THÀNH KIẾN THỨC 1. Vấn đáp kiến thức a. Mục tiêu: HS gợi nhớ những kiến thức đã học. b. Nội dung: Vấn đáp trực tiếp. c. Cách thức thực hiện: Làm việc cá nhân, tại lớp. d. Sản phẩm: HS trả lời đúng các câu hỏi của GV đưa ra. Chuyển giao nhiệm vụ

Tiếp nhận nhiệm vụ

Đặt câu hỏi gợi ý để học sinh tự nhắc lại kiến thức đã học. HS Chú ý, theo dõi trả lời các câu hỏi. - Em hiểu như thế nào về lập trình và ngôn ngữ lập trình? - Các loại chương trình dịch? - Các thành phần cơ bản của ngôn ngữ lập trình? - Các khái niệm trong ngôn ngữ lập trình? - Cấu trúc chung của chương trình TP? - Nêu tên các kiểu dữ liệu chuẩn? - Nêu các nhóm phép toán đã học? - Các loại biểu thức? - Chức năng và sự thực hiện của lệnh gán? - Nêu tên và chức năng của một số hàm số học? - Tổ chức vào/ra. - Tổ chức rẽ nhánh. - Tổ chức lặp.

- Lập trình là quá trình diễn đạt thuật toán bằng một ngôn ngữ lập trình. - Biên dịch và thông dịch. - Bảng chữ cái, cú pháp và ngữ nghĩa. - Khái niệm tên, hằng và biến, chú thích. - Gồm hai phần: Phần khai báo và phần thân. - Số nguyên, số thực, kí tự, logic. - Phép toán số học, phép toán quan hệ, phép toán logic. - Biểu thức số học, biểu thức quan hệ và biểu thức logic. - Dùng để tính toán một biểu thức và gán giá trị cho một biến. - Hàm bình phương, hàm căn bậc hai, hàm giá trị tuyệt đối, hàm sin, hàm cos. - Lệnh Read()/readln(); - Lệnh write()/writeln(); - If <BTĐK> then <lệnh 1> else <lệnh 2>; While <> do. - Array ...

2. Rèn luyện kĩ năng viết chương trình. a. Mục tiêu: Học sinh biết nhận xét, phân tích và giải quyết hoàn chỉnh một bài toán. b. Nội dung: Làm bài tập trên máy. c. Cách thức thực hiện: Cá nhân, thảo luận nhóm. Tại lớp. d. Sản phẩm: Chương trình hoàn chỉnh được viết theo yêu cầu sử dụng các kiểu dữ liệu đã học. 92 NHÓM TIN HỌC


Năm học: 2020 - 2021

KẾ HOẠCH BÀI DẠY TIN HỌC 11

Chuyển giao nhiệm vụ

Tiếp nhận nhiệm vụ

* GV giao nhiệm vụ: Viết chương tình 1. Quan sát, theo dõi đề bài và định hướng của nhập từ bàn phím một số nguyên dương giáo viên để xác định bài toán. N (1<=N<=100) và một dãy số A gồm N - Nhóm 1: số nguyên A1, A2, .....AN . Các số A1 có + Dữ liệu vào. giá trị tuyệt đối lớn hơn 1000. Hãy đưa ra + Dữ liệu ra. màn hình số lượng các số dương và số + Các nhiệm vụ chính phải thực hiện. lượng các số âm trong dãy. - Nhóm 2: 1. Xác định bài toán. + Số N và N số nguyên. - Chiếu nội dung đề bài lên bảng. + Số lượng số chẵn C và số lẻ L. - Chia lớp thành 2 nhóm. + 1 – Nhập dữ liệu. Nhóm 1: Nêu câu hỏi phân tích. 2 – Đếm số lượng số chẵn, số lẻ. Nhóm 2: Trả lời câu hỏi phân tích của 3 – Đưa kết quả ra màn hình. nhóm 1. 2. Làm việc theo nhóm. - Giáo viên góp ý bổ sung cho cả hai nhóm. - Thảo luận theo nhóm để viết chương trình. 2. rèn luyện kĩ năng lập trình. - Báo cáo kết quả. - Chia lớp thành hai nhóm. - Nhận xét, đánh giá và bổ sung những thiếu sót - Yêu cầu: Viết chương trình hoàn thiện của nhóm khác. lên bìa trong. - Thu phiếu học tập, chiếu kết quả lên 3. Theo dõi và ghi nhớ. bảng. Gọi học sinh của nhóm khác nhận xét đánh giá và bổ sung. 3. Chuẩn hóa kiến thức bằng chương trình mẫu của giáo viên. Thực hiện chương trình, nhập dữ liệu để học sinh thấy kết quả của chương trình. C. LUYỆN TẬP a. Mục tiêu: HS vẽ được sơ đồ tư duy một cách thành thạo để hệ thống kiến thức. b. Nội dung: Thực hiện vẽ sơ đồ tư duy. c. Cách thức thực hiện: Cá nhân, thảo luận nhóm. Tại lớp. d. Sản phẩm: Sơ đồ tư duy của một số bài trong học kì 1. Chuyển giao nhiệm vụ

Tiếp nhận nhiệm vụ

* Giao nhiệm vụ cho 6 nhóm, vẽ sơ đồ tư * Gợi ý một vài sản phẩm: duy các bài sau: - Nhóm 1: Cấu trúc rẽ nhánh - Nhóm 2: Cấu trúc lặp - Nhóm 3: Kiểu xâu - Nhóm 4: Kiểu mảng HS thảo luận và thực hiện theo nhóm, GV 93 NHÓM TIN HỌC


KẾ HOẠCH BÀI DẠY TIN HỌC 11

Năm học: 2020 - 2021

chọn một vài sơ đồ tư duy đẹp, đúng để đưa lên bảng, cả lớp theo dõi.

D. VẬN DỤNG VÀ MỞ RỘNG a. Mục tiêu: HS khai thác được những kiến thức chưa được đề cập trong bài học. b. Nội dung: Vận dụng kiến thức đã học để ôn tập và mở rộng kiến thức. c. Cách thức thực hiện: Cá nhân, thực hiện tại lớp hoặc làm thêm ở nhà. d. Sản phẩm: Trả lời đúng các câu hỏi trên phiếu học tập. * Phiếu học tập: Câu 1: Phát biểu nào không đúng trong các phát biểu dưới đây? A. Chương trình dịch cho phép chuyển chương trình viết bằng một ngôn ngữ lập trình nào đó sang chương trình trên ngôn ngữ máy để máy có thể thực hiện được mà vẫn bảo toàn được ngữ nghĩa của chương trình nguồn B. Chương trình dịch giúp người lập trình có thể lập trình trên một ngôn ngữ lập trình gần với ngôn ngữ tự nhiên hơn, do đó giảm nhẹ được nỗ lực lập trình, tăng cường hiệu suất lập trình C. Chương trình dịch giúp tìm ra tất cả các lỗi của chương trình D. Một ngôn ngữ lập trình có thể có cả chương trình thông dịch và chương trình biên dịch Câu 2: Khai báo nào sau đây đúng? A. Var x, y: Integer; B. Var x, y=Integer; C. Var x, y Of Integer; D. Var x, y := Integer; Câu 3: Trong Pascal, cú pháp để khai báo biến là: A. Var < Danh sách biến > = < Kiểu dữ liệu >; B. Var < Danh sách biến > : < Kiểu dữ liệu >; C. < Danh sách biến > : < Kiểu dữ liệu >; D. Var < Danh sách biến >; Câu 4: Những biểu thức nào sau đây có giá trị TRUE ? A. ( 20 > 19 ) and ( ‘B’ < ‘A’ ); 94


Năm học: 2020 - 2021

KẾ HOẠCH BÀI DẠY TIN HỌC 11

B. ( 4 > 2 ) and not( 4 + 2 < 5 ) or ( 2 >= 4 div 2 ); C. ( 3 < 5 ) or ( 4 + 2 < 5 ) and ( 2 < 4 div 2 ); D. 4 + 2 * ( 3 + 5 ) < 18 div 4 * 4 ; Câu 5. Hãy chọn phương án ghép đúng . Với cấu trúc rẽ nhánh IF <điều kiện> THEN <câu lệnh 1> ELSE <câu lệnh 2>, câu lệnh 2 được thực hiện khi A. biểu thức điều kiện đúng và câu lệnh 1 thực hiện xong; B. câu lệnh 1 được thực hiện; C. biểu thức điều kiện sai; D. biểu thức điều kiện đúng; Câu 6: Câu lệnh sau giải bài toán nào: While M <> N do If M > N then M:=M-N else N:=N-M; A. Tìm UCLN của M và N B. Tìm BCNN của M và N C. Tìm hiệu nhỏ nhất của M và N D. Tìm hiệu lớn nhất của M và N Câu 7: Phát biểu nào sau đây về mảng là không chính xác? A. Chỉ số của mảng không nhất thiết bắt đầu từ 1 B. Có thể xây dựng mảng nhiều chiều C. Xâu kí tự cũng có thể xem như là một loại mảng D. Độ dài tối đa của mảng là 255 Câu 8: Phương án nào dưới đây là khai báo mảng hợp lệ? A. Var mang : ARRAY[0..10] OF INTEGER; B. Var mang : ARRAY[0..10] : INTEGER; C. Var mang : INTEGER OF ARRAY[0..10]; D. Var mang : ARRAY(0..10) : INTEGER; Câu 9: Cho khai báo sau: Var hoten : String; Phát biểu nào dưới đây là đúng ? A. Câu lệnh sai vì thiếu độ dài tối đa của xâu B. Xâu có độ dài lớn nhất là 0 C. Xâu có độ dài lớn nhất là 255 D. Cần phải khai báo kích thước của xâu sau đó Câu 10: Cho str là một xâu kí tự, đoạn chương trình sau thực hiện công việc gì ? for i := length(str) downto 1 do write(str[i]) ; A. In xâu ra màn hình; B. In từng kí tự xâu ra màn hình; C. In từng kí tự ra màn hình theo thứ tự ngược, trừ kí tự đầu tiên; D. In từng kí tự ra màn hình theo thứ tự ngược; (*) IV. TỔNG KẾT, ĐÁNH GIÁ - GV đánh giá hoạt động học của các nhóm, nhận xét, rút kinh nghiệm. ———» «——— 95 NHÓM TIN HỌC


Năm học: 2020 - 2021

KẾ HOẠCH BÀI DẠY TIN HỌC 11

Tiết PPCT: 35

KIỂM TRA CUỐI KÌ I I. MỤC TIÊU BÀI HỌC 1. Kiến thức, kĩ năng, thái độ: a. Về kiến thức - Đánh giá mức độ tiếp thu của HS về các khái niệm đã học trong chương I, II, III. - Làm căn cứ để điều chỉnh quá trình dạy học trong thời gian tiếp theo. b. Về kĩ năng - Thực hiện trả lời câu hỏi trắc nghiệm. - Thực hiện kĩ năng viết chương trình trên giấy. c. Về thái độ - Nghiêm túc, trung thực khi làm bài kiểm tra. 2. Năng lực định hướng hình thành và phát triển cho học sinh - Năng lực giải quyết vấn đề. - Năng lực tập trung trong học tập. II. CHUẨN BỊ: 1. Giáo viên - Đề thi, ma trận đề. 2. Học sinh - Kiến thức từ các bài đã học. III. MA TRẬN ĐỀ KIỂM TRA Ma trận kiến thức dành cho khối THPT – SỞ GD&ĐT ĐẮK LẮK KIỂM TRA HỌC KÌ I - Tin Học – Lớp 11 Năm học: 2020 - 2021 Nội Dung Kiến Thức

Nhận Biết

Thông Hiểu Vận Dụng

Vận Dụng Cao

TỔNG

Tin Học: Chương II_Chương trình đơn giản Trắc Nghiệm Một Lựa 2 câu 0.7 điểm Chọn

2 câu (0.7 điểm)

Tin Học: Chương III_Cấu trúc rẽ nhánh và lặp Trắc Nghiệm Một Lựa 0.7 1.75 1 câu 0.35 điểm 2 câu 5 câu Chọn điểm điểm

8 câu (2.8 điểm) 96

NHÓM TIN HỌC


Năm học: 2020 - 2021

KẾ HOẠCH BÀI DẠY TIN HỌC 11

2 3 câu điểm

Tự luận

2 câu (3 điểm)

Tin Học: Chương IV_Kiểu dữ liệu có cấu trúc Trắc Nghiệm Một Lựa 1.75 0.7 1 0.35 2 câu 2 câu 0.7 điểm 5 câu Chọn điểm điểm câu điểm

10 câu (3.5 điểm)

2.45 2.45 3 3.35 7 câu điểm điểm câu điểm

22 câu ( 10 điểm)

TỔNG

5 câu 1.75 điểm 7 câu

IV. NỘI DUNG ĐỀ Phần trắc nghiệm ( 7 điểm) Câu 1: Câu lệnh nào sau đây để mô tả ý tưởng: Tính tổng các số nguyên từ 1 đến 10. A. S:=0; For i : = 1 to 10 do S:=S+1; B. S:=1; For i : = 1 to 10 do S:=S+i; C. S:=0; For i : = 1 to 10 do S:=1+i; D. S:=0; For i : = 1 to 10 do S:=S+i; Câu 2: Cho đoạn lệnh sau: If a mod 5 = 0 then write(a); Với giá trị nào của a thì a được in lên màn hình? A. 94 B. 28 C. 101 D. 40 Câu 3: Khai báo gián tiếp biến mảng qua kiểu mảng một chiều: A. type<tên kiểu mảng> = array[kiểu chỉ số] of <kiểu phần tử>; Var <tên kiểu mảng > : <tên biến mảng>; B. type<tên kiểu mảng> = array[kiểu chỉ số] of <kiểu phần tử>; Var <tên biến mảng> := <tên kiểu mảng>; C. type<tên kiểu mảng> = array[kiểu chỉ số] of <kiểu phần tử>; Var <tên biến mảng> : <tên kiểu mảng>; D. type<tên kiểu mảng> : array[kiểu chỉ số] of <kiểu phần tử>; Var <tên biến mảng> : <tên kiểu mảng>; Câu 4: Cách khai báo nào sau đây đúng? A. Var a;b : real; Var c;d : integer; B. Var a,b,c : real C. Var a,b: real; 97 NHÓM TIN HỌC


Năm học: 2020 - 2021

KẾ HOẠCH BÀI DẠY TIN HỌC 11

c,d: integer; D. Var a,c,d : real : integer; Câu 5: Cú pháp khai báo biến là: A. Var <danh sách biến>:=<kiểu dữ liệu>; B. Var <danh sách biến>:<kiểu dữ liệu>; C. Var <tên biến>:<kiểu dữ liệu>; D. Var <danh sách biến>:<kiểu dữ liệu> Câu 6: Cho mảng sau Var mang : array[1..5] of real; Muốn tham chiếu đến phần tử thứ 4 của mảng thì thực hiện như thế nào? A. mang(4) B. mang[4] C. mang(3) D. mang[3] Câu 7: Các phần tử trong mảng 1 chiều phải: A. Có cùng kiểu dữ liệu với nhau B. Giống nhau C. Là số thực D. Là số nguyên Câu 8: Ví dụ nào sau đây đúng về xâu? A. “Nam hoc 2017 – 2018” B. Viet Nam muon nam C. (Tin hoc 11) D. ‘THPT Nguyen Thi Minh Khai’ Câu 9: Cho xâu A:= ‘Candy’. Để xóa đi kí tự cuối cùng trong xâu, Ta cần viết thủ tục nào cho đúng? A. delete (y); B. delete (A,1,5); C. delete (A,5,1); D. delete (A,y); Câu 10: Hãy cho biết t sẽ nhận giá trị nào khi kết thúc đoạn chương trình sau: a:=1; b:=1; If a=b then t:=a+b+1 else t:=a+b-1; A. đoạn chương trình báo lỗi B. 1 C. 5 D. 3 Câu 11: Cho đoạn chương trình sau, Hãy cho biết S nhận giá trị nào? S:=3; For i:=1 To 5 do if i mod 2=0 Then S:=S+i; A. 8 B. 18 C. 9 D. 10 Câu 12: Xâu có độ dài bằng 0 gọi là: A. Xâu rỗng B. Xâu trống C. Xâu nhỏ nhất D. Xâu 0 Câu 13: Cho xâu A := ‘Tin hoc’; xâu B := ‘Tin hoc 11’. So sánh nào sau đây đúng? A. xâu B < xâu A B. xâu B = xâu A C. xâu B > xâu A D. xâu B >= xâu A Câu 14: Cho xâu A := ‘ptp’. Hàm upcase(A) sẽ cho kết quả là: A. Ptp B. ptp C. PTP D. PTp Câu 15: Muốn khai báo một biến kiểu xâu Hoten có độ dài tối đa 50 kí tự thì khai báo nào sau đây đúng? A. Var Ht : string[50]; B. Var Hoten = string[50]; C. Var Hoten : string[5]; D. Var Hoten : string[50]; Câu 16: Khai báo mảng nào sau đây là đúng? A. Var diemtb : array[1…….100] of integer; B. Var dtb : array[1..100] : integer; C. Var diemtb : type[1..100] of integer; D. Var dtb : array[1..100] of integer; 98 NHÓM TIN HỌC


Năm học: 2020 - 2021

KẾ HOẠCH BÀI DẠY TIN HỌC 11

Câu 17: Trong cấu trúc lặp với số lần biết trước, nếu giá trị đầu lớn hơn giá trị cuối thì: A. Vòng lặp kết thúc tại giá trị cuối B. vòng lặp trở thành lặp với số lần chưa biết trước C. vòng lặp không thực hiện được D. Vòng lặp không giới hạn Câu 18: Cấu trúc của câu lệnh rẽ nhánh dạng thiếu nào sau đây đúng? A. If < câu lệnh> then <điều kiện>; B. If < điều kiện> else <câu lệnh>; C. If < điều kiện> then <câu lệnh> D. If < điều kiện> then <câu lệnh>; Câu 19: Cấu trúc đúng của dạng lặp tiến với số lần biết trước trong Pascal là: A. for <biến đếm>:=<giá trị cuối> downto <giá trị đầu> do <câu lệnh>; B. for <biến đếm>=<giá trị đầu> to <giá trị cuối> do <câu lệnh>; C. for <điều kiện>:=<giá trị đầu> to <giá trị cuối> do <câu lệnh>; D. for <biến đếm>:=<giá trị đầu> to <giá trị cuối> do <câu lệnh>; Câu 20: Với cấu trúc rẽ nhánh dạng đủ, câu lệnh 2 được thực hiện khi: A. biểu thức điều kiện sai; B. biểu thức điều kiện đúng và câu lệnh 1 thực hiện xong; C. biểu thức điều kiện đúng; D. câu lệnh 1 đã thực hiện xong; Phần tự luận ( 3 điểm) Câu 1: Viết chương trình nhập 1 số nguyên A nhỏ hơn 100 từ bàn phím. Nếu A là số chẵn thì đưa lên màn hình dòng chữ: “ A la so chan”. Nếu A là số lẻ thì đưa lên màn hình dòng chữ: “A la so le”. Câu 2 : Viết chương trình tính tổng các số từ 1 đến 10 và đưa tổng lên màn hình (Dùng cấu trúc lặp) ———» «——— Tiết PPCT: 36 TRẢ BÀI KIỂM TRA CUỐI KÌ ———» «———

99 NHÓM TIN HỌC


Năm học: 2020 - 2021

KẾ HOẠCH BÀI DẠY TIN HỌC 11

Tiết PPCT: 37 + 38 + 39

CHỦ ĐỀ: KIỂU DỮ LIỆU TỆP Nội dung chủ đề: Gồm 3 bài Bài 14 : Kiểu dữ liệu tệp Bài 15: Thao tác với tệp Bài 16: Ví dụ làm việc với tệp I. MỤC TIÊU BÀI HỌC 1. Kiến thức, kĩ năng, thái độ: a. Về kiến thức - Biết đặc điểm,vai trò của kiểu dữ liệu tệp - Biết cách phân loại tệp: theo cách tổ chức dữ liệu và theo cách truy cập. - Biết khái niệm về tệp văn bản. - Biết các thao tác cơ bản đối với tệp: gắn tên cho biến tệp, mở tệp, đọc/ghi tệp, đóng tệp, biết sử dụng một số hàm và thủ tục chuẩn làm việc với tệp. - Biết khai báo biến tệp và các thao tác cơ bản với tệp văn bản. b. Về kĩ năng - Khai báo đúng biến kiểu tệp. - Thực hiện được thao tác xử lí tệp: Gán tên tệp, mở/đóng tệp, đọc/ghi tệp. - Sử dụng các thủ tục liên quan để đọc/ghi dữ liệu của tệp. c. Về thái độ - Học sinh hiểu bài và hứng thú hơn trong học tập. - Thấy được sự cần thiết và tiện lợi của kiểu dữ liệu tệp. - Có ý thức lưu trữ dữ liệu một cách khoa học. 2. Năng lực định hướng hình thành và phát triển cho học sinh - Năng lực giải quyết vấn đề. - Năng lực sử dụng máy tính để giải quyết bài toán. - Năng lực cộng tác, giao tiếp. II. CHUẨN BỊ: 1. Giáo viên - Phòng máy tính, phiếu học tập, bài tập mẫu. - Chương trình ví dụ về kiểu dữ liệu tệp. 2. Học sinh - SGK, vở ghi, vở bài tập. III. TIẾN TRÌNH CÁC HOẠT ĐỘNG HỌC A. KHỞI ĐỘNG a. Mục tiêu: Tạo động cơ để học sinh có nhu cầu sử dụng kiểu dữ liệu tệp, thao tác với tệp. 100 NHÓM TIN HỌC


Năm học: 2020 - 2021

KẾ HOẠCH BÀI DẠY TIN HỌC 11

b. Nội dung: Tìm hiểu kiểu dữ liệu tệp thông qua vấn đáp và bài tập nhóm. c. Cách thức thực hiện: Cá nhân, hoạt động nhóm, tại lớp. d. Sản phẩm: Học sinh vận dụng kiến thức đã học để giải quyết các bài toán mà lưu trữ dữ liệu lâu dài (lưu trữ ở bộ nhớ ngoài) thường gặp trong thực tế. Chuyển giao nhiệm vụ

Tiếp nhận nhiệm vụ

GV đưa ra các câu hỏi và yêu cầu học sinh làm việc cá nhân và theo nhóm: Vận dụng kiến thức đã học , hãy giải quyết các vấn đề sau: + Em hãy cho biết các kiểu dữ liệu đã được tổ chức và lưu trữ ở đâu khi thực hiện chương trình? + Để lưu trữ lâu dài một bộ dữ liệu, các kiểu dữ liệu đã được học có đáp ứng được không? Tại sao? + Các loại tệp mà học sinh đã được biết - Giáo viên nhận xét: Ở một số chương trình, cần thiết phải lưu trữ dữ liệu lại để sử dụng cho lần sau,vì vậy cần phải có cách để lưu trữ dữ liệu và do đó người ta dùng đến tệp (file). Có hai cách phân loại tệp

- Được tổ chức và lưu trữ ở bộ nhớ trong ( khi tắt điện hay tắt máy thì dữ liệu mất đi) - Để lưu trữ dữ liệu,phải lưu trữ ở bộ nhớ ngoài, để làm được điều đó phải sử dụng một kiểu dữ liệu khác vì cac kiểu dữ liệu đã học chỉ lưu trũ ở BNT. - Word, excel,mp3…

B. HÌNH THÀNH KIẾN THỨC 1. Tìm hiểu vai trò và phân loại tệp a. Mục tiêu: HS hiểu được đặc điểm, vai trò và phân loại kiểu tệp. b. Nội dung: Vấn đáp nội dung. c. Cách thức thực hiện: Làm việc cá nhân, thảo luận nhóm. d. Sản phẩm: Học sinh xử lí và phân loại được tệp. Chuyển giao nhiệm vụ

Tiếp nhận nhiệm vụ

-Yêu cầu học sinh tìm hiểu vai trò kiểu tệp - Ghi vai trò của kiểu tệp: trong sgk. + Dữ liệu kiểu tệp được lưu trữ lâu dài ở bộ - Phân loại tệp . nhớ ngoài và không bị mất khi tắt nguồn điện. + Lượng dữ liệu lưu trữ trên tệp có thể rất lớn và chỉ phụ thuộc vào dung lượng đĩa. - phân loại tệp và thao tác vơí tệp: * Xét theo tổ chức dữ liệu có 2 loại: - Tệp văn bản: là tệp mà dữ liệu được ghi dưới dạng các kí tự theo mã ASCII. - Tệp có cấu trúc: là tệp mà thành phần của nó được tổ chức theo một cấu trúc nhất định. 101 NHÓM TIN HỌC


Năm học: 2020 - 2021

KẾ HOẠCH BÀI DẠY TIN HỌC 11

* Xét theo cách thức truy cập, có 2 loại: Qua các thao tác với các tệp lưu trữ trên máy tính từ trước đến nay,theo em để làm việc - Tệp truy cập tuần tự với dữ liệu kiểu tệp cần có những thao tác - Tệp truy cập trực tiếp nào? - Lưu ý cho học sinh thấy vì giới hạn của - Các thao tác cơ bản với tệp: Khai báo biến chương trình phổ thông, nên chúng ta chỉ tập tệp,Mở tệp, Đọc/ghi dữ liệu, đóng tệp. trung vào loại tệp văn bản và cách truy cập tuần tự. 2. Khai báo biến tệp a. Mục tiêu: Giúp học sinh biết cách khai báo biến tệp văn bản. b. Nội dung: Thực hiện trên ví dụ mẫu. c. Cách thức thực hiện: Cá nhân, thảo luận nhóm. Tại lớp. d. Sản phẩm: Học sinh nhận biết và khai báo được biến tệp. Chuyển giao nhiệm vụ

Tiếp nhận nhiệm vụ

Gv: cho đoạn lệnh chương trình sau: PROGRAM vidu; VAR f: text; (1) x,y:integer; BEGIN Writeln('nhap2 so nguyen'); (2) Readln(x,y); Writeln('2 so nguyen vua nhap la: ',x,' ', y); Assign(f,'SONGUYEN.TXT'); (3) (4) Rewrite(f); (5) Write(f,x,' ', y); (6) Close(f); Readln; END. ? Các đoạn lệnh trên thực hiện công việc gì? + Để hiểu rõ hơn về các thao tác với tệp chúng ta sẽ đi lần lượt các đoạn lệnh này. - Đoạn lệnh thứ nhất.(1). + Cũng giống như mọi kiểu dữ liệu khác muốn sử dụng một biến thì trước hết phải khai báo. Tìm hiểu sách giáo khoa và cho biết cú pháp khai báo biến tệp?

+ Trả lời: (1) VAR f: text; x,y:integer; là phần khai báo biến. Khai báo 2 biến x,y kiểu nguyên và biến dữ liệu kiểu text. * Cú pháp khai báo biến tệp: var <tên biến tệp>: text; + Ví dụ: var f, tep1, tep2: text;

3. Các thao tác với tệp a. Mục tiêu: Giúp học sinh biết được các thao tác với kiểu dữ liệu tệp. b. Nội dung: Thuyết trình, vấn đáp nội dung. c. Cách thức thực hiện: Cá nhân, thảo luận nhóm. Tại lớp. 102 NHÓM TIN HỌC


Năm học: 2020 - 2021

KẾ HOẠCH BÀI DẠY TIN HỌC 11

d. Sản phẩm: Thực hiện được thao tác xử lí tệp: gắn tên tệp, mở/ đóng tệp, đọc/ghi tệp, biết sử dụng một số hàm va thủ tục chuẩn. Chuyển giao nhiệm vụ

Tiếp nhận nhiệm vụ

+ Đoạn chương trình (2) tiếp theo làm việc + Đoạn gì? (writeln('nhap vao 2 so nguyen'); readln(x,y); writeln('2 so nguyen vua nhap la: ',x,' ', y); ) Nhập 2 số nguyên x, y và in ra màn hình + Đoạn ? Đoạn chương trình(3) tiếp theo làm việc assign(f,'SONGUYEN.TXT'); gì? dùng để gắn tên tệp vào biến f; ? Cho biết cú pháp gắn biến tệp? Vì chúng ta * Cú pháp gắn tên tệp đang thao tác trên ngôn ngữ lập trình chứ assign(<biến tệp>, <tên tệp>); không phải là thao tác trực tiếp với tệp trên + Ví dụ: đĩa nên cần phải gắn tên tệp. assign(f,‘SONGUYEN.TXT’); + Cho ví dụ - Đọc/ ghi. - Khi các em đặt mở vở đặt trên bàn thì múc đích của các em mở ra để làm gì? Diễn giải: Vậy khi ta mở cuốn vở ra thì mục + Đoạn(4) rewrite(f); đích của chúng ta mở ra để đọc hoặc ghi. Mở tệp để ghi dữ liệu. Vậy khi sử dụng tệp ta muốn mở 1 tệp thì các em phải xác định mục đích của mình mở + Mở tệp mới (để ghi dữ liệu): tệp để ghi hay để đọc? Chúng ta cùng tìm rewrite(<biến tệp>); Ví dụ: rewrite(f); hiểu đoạn chương trình (4)làm việc gì? -Hãy đọc sách và cho biết cú pháp mở tệp để -Mở để đọc/ ghi. đọc và ghi như thế nào ?Cho ví dụ? Reset(f); + Nếu xác định trước là mở tệp để đọc dữ liệu thì dùng thủ tục Reset(<biến tệp>); Ví dụ? + Đoạn write(f,x,' ', y); -Với tệp SONGUYEN.TXT đã được tạo ra Ghi dữ liệu vào tệp. bây giờ chúng ta sẽ mở tệp đó ra đọc các * Cú pháp Ghi dữ liệu vào tệp thông tin đã nhập vào xem có đúng hay write(<biến tệp>, <danh sách kết quả>); không. hoặc: + Đoạn chương trình(5) tiếp theo làm việc writeln(<biến tệp>, <danh sách kết quả>); gì? - Ví dụ: write(f,x,' ', y); Tìm hiểu phần 3.2.c Ghi/Đọc tệp văn bản. write( tep1, ‘A= ‘, A, ‘B=’, B, ‘C=’, C); Ghi dữ liệu vào tệp hoặc: + Cú pháp là gì? writeln( tep2, ‘X1=’, (-B – SQRT(B*B+ ví dụ? 4*A*C)) Chú ý: dữ liệu trong tệp văn bản được chia 103 NHÓM TIN HỌC


Năm học: 2020 - 2021

KẾ HOẠCH BÀI DẠY TIN HỌC 11

thành các dòng và khi đọc giống như nhập từ / (2*A) :8:3) ; bàn phím và khi ghi giống như ghi ra màn + Writeln(); sau khi ghi xong thì con trỏ xuống hình. đầu dòng tiếp theo ghi tiếp + Write(); ghi liên tiếp dữ liệu + Sự khác nhau giữa write(); và writeln(); * Đọc tệp Việc đọc dữ liệu từ tệp thì như thế nào? Cú read(<biến tệp>, <danh sách biến>); pháp? hoặc: So sánh giống và khác nhau của Readln(); readln(<biến tệp>, <danh sách biến>); và Read(); + Readln(); sau khi đọc xong thì con trỏ xuống - Ví dụ? đầu dòng tiếp theo đọc tiếp + Một số hàm chuẩn thường dùng trong khi + Read(); đọc liên tiếp dữ liệu đọc/ghi tệp văn bản: Hs ghi chép và lắng nghe. +Hàm eof(<biến tệp>): Trả về giá trị true ví dụ: read(f, x, y); readln(f, x, y); nếu con trỏ tệp đang chỉ tới cuối tệp. + Hàm eoln(<biến tệp>); Trả về giá trị true nếu con trỏ tệp đang chỉ tới cuối dòng. - Đọc sách và trả lời. + Đoạn chương trình (6) tiếp theo làm việc gì? - Sau ghi làm việc xong với tệp thì cần phải đóng tệp. Đặc biệt là sau khi ghi dữ liệu, vì + Đoạn: Close(f); * Cú pháp Đóng tệp. khi đó hệ thống mới thực sự hoàn tất việc Close(<biến tệp>); ghi dữ liệu. - Ghi bảng cấu trúc. + Chạy chương trình đọc dữ liệu từ tệp SONGUYEN.TXT + Hs theo dõi. - Để học sinh thấy được vai trò của đóng tệp như thế nào? PROGRAM vidu; VAR f: text; x,y:integer; BEGIN assign(f,'SONGUYEN.TXT'); reset(f); read(f, x, y); write(‘du lieu la: ’,x,’ ’, y); readln; close(f); END. C. LUYỆN TẬP a. Mục tiêu: Học sinh biết khai baó tệp, thao tác với tệp. Rèn luyện tư duy phân tích, tổng hợp, vận dụng kiến thức lý thuyết vừa học vào một bài toán cụ thể. b. Nội dung: khai thác mối quan hệ giữa thực tiễn với tin học thông qua câu hỏi trắc nghiệm. 104 NHÓM TIN HỌC


Năm học: 2020 - 2021

KẾ HOẠCH BÀI DẠY TIN HỌC 11

c. Cách thức thực hiện: Cá nhân, thảo luận nhóm. Tại lớp. d. Sản phẩm: Học sinh biết vận dụng kiến thức khai báo và thao tác vơí tệp đã học để hoàn chỉnh các mức bài tập theo yêu cầu. Chuyển giao nhiệm vụ

Tiếp nhận nhiệm vụ

GV: Yêu cầu 1 học sinh đọc nội dung ví dụ 1. GV giải thích: bài toán yêu cầu tính khoảng cách từ trại của thầy hiệu trưởng tọa độ (0,0) đến trại của từng giáo viên chủ nhiệm tọa độ (x,y) được lưu liên tiếp trong tệp TRAI.TXT. GV: Yêu cầu HS xác định cho input và output của bài toán. GV: Vẽ minh họa về bài toán lên bảng và yêu cầu HS nêu công thức tính khoảng cách d.

HS: Đọc ví dụ 1 1. Ví dụ 1 - Xác định bài toán: * Input: + Tọa độ trại Hiệu trưởng O(0,0) + Tệp TRAI.TXT chứa các cặp số nguyên (x,y) liên tiếp. * Output: Khoảng cách giữa trại mỗi lớp và trại thầy hiệu trưởng. HS lắng nghe. HS suy nghĩ và trả lời HS: Suy nghĩ và trả lời. d=

(x2 - x1) 2 + (y2 - y1) 2

GV:Vậy thì GV: Tức là trong bài toán này ta sẽ đọc từng cặp tọa độ (x, y) từ tệp TRAI.TXT sau đó tính và in khoảng cách ra màn hình. Trong tệp TRAI.TXT sẽ chứa tất cả các tọa độ của các trại (đặt cách nhau bởi dấu khoảng cách). Vậy tệp TRAI.TXT sẽ có dạng như sau: 11346789 Công việc của ta là lặp lại việc đọc từng cặp tọa độ và tính khoảng cách của chúng tới tọa độ (0,0) cho đến khi hết tệp. GV: Gợi ý cho HS thấy được trình tự các công việc cần thực hiện trong chương trình: HS: Eof(f) có giá trị True. - Khai báo biến tệp f để đọc dữ liệu từ tệp. - Khai báo biên d, x, y. - Gắn biến tệp f với tệp ‘TRAI.TXT’ - Lặp lại nếu chưa hết tệp: HS: Chưa biết trước số lần lặp. 1. Đọc giá trị x, y từ biến tệp f 2. Tính d 3. In d ra màn hình - Đóng tệp. 105 NHÓM TIN HỌC


Năm học: 2020 - 2021

KẾ HOẠCH BÀI DẠY TIN HỌC 11

GV: Gợi ý và yêu cầu HS tự hoàn thành chương trình và viết chương trình lên bảng: - Làm sao để biết là đã đọc hết tệp hay chưa? - Chúng ta có biết trước có bao nhiêu cặp tọa đô hay không? Vậy chúng ta có biết là sẽ lặp lại bao nhiêu lần hay không? Vậy vòng lặp trong bài toán này là biết trước hay chưa biết trước số lần lặp? D. VẬN DỤNG VÀ MỞ RỘNG a. Mục tiêu: Vận dụng các bước làm việc với tệp: gán tên cho biến tệp, mở tệp, đọc/ghi tệp, đóng tệp vào các bài toán cụ thể. b. Nội dung: Chạy chương trình trên máy tính. c. Cách thức thực hiện: Cá nhân. Tại lớp. d. Sản phẩm: Học sinh bước đầu tìm hiểu viết một chương trình kiểu tệp văn bản. Chuyển giao nhiệm vụ

Tiếp nhận nhiệm vụ

GV: Yêu cầu 1 học sinh đọc nội dung ví dụ 2. GV giải thích: Trong tệp văn bản RESIST.DAT chứa nhiều bộ 3 số R1, R2, R3, chúng ta dựa vào sơ đồ hình mắc điện trở ở hình 17 để tính và ghi lần lượt 5 điện trở tương đương xuống tệp RESIST.EQU. GV: Vậy theo các em ta cần Input những giá trị nào? Và Output những giá trị nào? * Giao nhiệm vụ: Trả lời những câu hỏi trắc nghiệm sau: Câu 1: Để gắn tệp KQ.TXT cho biến tệp f1 ta sử dụng câu lệnh? a) f1:= ‘KQ.TXT’; b) Assign (‘KQ.TXT’, f1); c) Assign (f1, KQ.TXT); d) Assign (f1, ‘KQ.TXT’); Câu 2: f là biến tệp, x và y là biến kiểu nguyên. Cú pháp nào sau đây đúng? a) Read (x, y, f); b) Readln (f, x+y); c) Read (f, x, y); d) Readln (f); Câu 3: f là biến tệp, x là biến kiểu nguyên. Cú pháp nào sau đây đúng? a) Writeln (f);

- Xác định bài toán: * Input: Tệp văn bản RESIST.DAT gồm nhiều dòng, mỗi dòng chứa ba R1, R2, R3 * Output: Tệp văn bản RESIST.EQU mỗi dòng ghi năm điện trở tương đương của R1, R2, R3. - HS trả lời câu hỏi.

106 NHÓM TIN HỌC


Năm học: 2020 - 2021

KẾ HOẠCH BÀI DẠY TIN HỌC 11

b) Write (f, x); c) Rewrite (f, x); d) Reset (x, f); IV. TỔNG KẾT, ĐÁNH GIÁ - Ôn lại bài học hôm nay. - GV đánh giá hoạt động học của các nhóm, nhận xét, rút kinh nghiệm. ———» «———

107 NHÓM TIN HỌC


Turn static files into dynamic content formats.

Create a flipbook