Bài giảng Môn Tin học lớp 11 - Tiết 1 - Bài 1: Khái niệm về lập trình và ngôn ngữ lập trình - Bài 02: Các thành phần của ngôn ngữ lập trình
Xác định bài toán;
Input: N và dãy số A.
Output: Max và Imax
* Tổ chức dữ liệu:
N, csmax, max, i: Kiểu nguyên
A: Mảng một chiều có N phần tử kiểu nguyên.
* Ý tưởng thuật toán:
B1: Nhập N và dãy A
B2: Max A1 ; csMax 1;
B3: Cho i lần lượt nhận giá trị từ 1 đến N: Nếu A[i] > Max thì
B4: Thông báo Max, csmax và kết thúc.
* Chương trình.
đến N. * Xác định bài toán: Input: M, N Output: T * Tổ chức dữ liệu: M, N, T, i: Kiểu nguyên. * Ý tưởng thuật toán: B1: Nhập M, N. B2: T:=0; B3: Cho i lần lượt chạy từ M đến N: Nếu i chia hết 3 hoặc 5 thì T:=T+i; B4: Thông báo T và kết thúc * Chương trình: SGK Hoạt động 2: Học sinh rèn luyện cách viết câu lệnh For GV: Đưa yêu cầu nội dung HS: Hoạt động nhóm 2: Với mỗi câu làm rõ các yêu cầu sau: Lặp lại mấy lần? Từ lần … đến lần … ? Công việc lặp lại là gì? HS: Thảo luận và lên bảng trình bày. * Ví dụ 2: Viết lệnh lặp tính S trong các trường hợp sau: a) S = 12 + 22 + 32 … + N2 b) S là tổng các số chẵn trong phạm vi từ X đến Y. Hoạt động 2: Sử dụng được cấu trúc rẽ nhánh để mô tả thuật toán của một số bài toán đơn giản GV: Hướng dẫn học sinh, chia lớp thành các nhóm nhỏ 4 người – Nhóm 4. HS: Các nhóm tiến hành thảo luận Xác định bài toán Tổ chức dữ liệu Ý tưởng thuật toán Viết chương trình. HS: Đại diện một số nhóm lên bảng trình bày từng nội dung nhỏ. GV: Cho học sinh nhận xét đồng thời nhận xét chốt ý. * Ví dụ 3: Lập trình nhập vào hai số nguyên X, Y. Tính và thông báo ra màn hình số lượng các số lẻ trong phạm vi từ x đến y. * Xác định bài toán: Input: x, y Output: Dem * Tổ chức dữ liệu: M, N, Dem, i: Kiểu nguyên. * Ý tưởng thuật toán: B1: Nhập M, N. B2: Dem:=0; B3: Cho i lần lượt chạy từ M đến N: Nếu i mod 2 0 thì Dem := dem + 1 B4: Thông báo Dem và kết thúc * Chương trình: HS tự viết. 3. Củng cố: Học sinh nhắc lại cú pháp, hoạt động của câu lệnh lặp For Trả lời một số câu trắc nghiệm trên Slide. 4. Dặn dò, hướng dẫn học sinh học tập ở nhà: Học bài cũ và xem trước nội dung mục 3 SGK. Làm các bài tập: 89, 90, 91, 92, 93 – Vở bài tập V. RÚT KINH NGHIỆM TIẾT DẠY Ngày soạn: 05/01/2014 Tiết 23 Tên bài dạy CẤU TRÚC LẶP (T3) I. MỤC TIÊU 1. 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 kiểm tra điều kiện trước, cấu trúc lặp với số lần định trước. 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ể. 2. Kĩ năng: Mô tả thuật toán của một số bài toán đơn giản có sử dụng cấu trúc lặp. Viết đúng các lệnh lặp kiểm tra điều kiện trước, lệnh lặp với số lần định trước. Viết được thuật toán của một số bài toán đơn giản. 3. Thái độ: Nghiêm túc, tập trung, tích cực chủ động. II. PHƯƠNG PHÁP VÀ KỸ THUẬT DẠY HỌC Phương pháp vấn đáp gợi mở, thảo luận. III. CHUẨN BỊ 1. Chuẩn bị của giáo viên: Sgk, Sbt, giáo án. 2. Chuẩn bị của học sinh: Học bài cũ, đọc trước Sgk. IV. TIẾN TRÌNH DẠY HỌC 1. Kiểm tra bài cũ: Câu hỏi: Nêu cú pháp, giải thích và hoạt động của lệnh lặp For - do? 2. Đặt vấn đề bài mới: Nhắc lại bài toán Chặt chuối (100 cây và chặt mệt nghĩ) à Gợi đến việc lặp với số lần chưa biết trước – hay lặp kiểm tra điều kiện trước. 2. Nội dung bài học: Hoạt động của giáo viên và học sinh Nội dung kiến thức Hoạt động 1: Tìm hiểu lệnh lặp với số lần chưa biết trước. GV: Giới thiệu lại lặp với số lần chưa biết trước. GV: Phân chia nhóm học sinh, cho HS tự tìm hiểu và trình bày. HS: Thảo luận nhóm 4 các nội dung Cú pháp câu lệnh while Giải thích cú pháp Hoạt động HS: Đại diện trình bày. à Mục tiêu là học sinh tự tìm hiểu và trình bày kiến thức về câu lệnh While GV: Nhận xét chốt ý và lưu ý về lệnh While. 2. Lặp với số lần chưa biết trước và câu lệnh While – do: - Lặp với số lần chưa biết trước: Công việc được lặp lại với số lần chưa biết trước và lệnh lặp kết thúc khi điều kiện không còn thỏa mãn. - Trong Pascal: Dùng câu lệnh While- do để mô tả cấu trúc lặp này. * Cú pháp: While do ; * Giải thích: Điều kiện: Là biểu thức Logic Câu lệnh: là một lệnh đơn hoặc ghép. * Hoạt động: * Lưu ý: Trong câu lệnh lặp cần có thao tác làm thay đổi biểu thức điều kiện để lệnh lặp KT Hoạt động 2: Viết được lệnh lặp với số lần không biết trước. GV: Đưa yêu cầu nội dung HS: Thảo luận làm rõ các nội dung Lặp lại mấy lần Điều kiện lặp là gì? Công việc gì lặp lại? HS: Lên bảng trình bày đoạn lệnh tính S GV: Nhận xét. * Ví dụ 1: Viết câu lệnh lặp tính S Đoạn lệnh: S:=0; i:=1; While S <=10 do Begin S:=S+i; i:=i+1; End; Hoạt động 3: Vận dụng cấu trúc lặp vào cài đặt thuật toán một số bài toán đơn giản. GV: Hướng dẫn học sinh, chia lớp thành các nhóm nhỏ 4 người – Nhóm 4. HS: Các nhóm tiến hành thảo luận Xác định bài toán Tổ chức dữ liệu Ý tưởng thuật toán HS: Đại diện một số nhóm lên bảng trình bày từng nội dung nhỏ. GV: Cho học sinh nhận xét đồng thời nhận xét chốt ý. * Ví dụ 2: Lập trình tính E: * xác định bài toán: Input: Không Output: E * Tổ chức dữ liệu E: Kiểu thực i: Kiểu nguyên * Ý tưởng thuật toán: B1: Eß 0; iß 1; B2: Nếu E <=5 thì qua B3 còn không qua bước B4. B3: Sß S + 1/i*i; iß i+1 và quay lại B2. B4: Thông báo E và kết thúc. * Chương trình: Bài tập về nhà. 3. Củng cố: HS nhắc lại một số nội dung: Ý nghĩa của cấu trúc lặp với số lần chưa biết trước? Pascal cung cấp câu lệnh gì để mô tả cấu trúc lặp với số lần chưa biết trước? Khi nào thì vòng lặp kết thúc? 4. Dặn dò, hướng dẫn học sinh học tập ở nhà: Học bài cũ và xem trước nội dung của bài tập chương trong SGK. Làm các bài tập: 87, 88, 94, 95, 96 – Vở bài tập V. RÚT KINH NGHIỆM TIẾT DẠY Ngày soạn: 06/01/2014 Tiết 24 Tên bài dạy BÀI TẬP CHƯƠNG III (T1) I. MỤC TIÊU 1. Kiến thức: Củng cố thêm kiến thức về cấu trúc rẽ nhánh. Luyện tập cấu trúc lặp. 2. Kĩ năng: Rèn luyện viết câu lệnh rẽ nhánh Rèn luyện viết câu lệnh lặp. Sử dụng cấu trúc lặp, cấu trúc rẽ nhánh lập trình giải một số bài toán đơn giản. 3. Thái độ: Nghiêm túc, tập trung, tích cực chủ động. II. PHƯƠNG PHÁP VÀ KỸ THUẬT DẠY HỌC Phương pháp vấn đáp gợi mở, thảo luận. III. CHUẨN BỊ 1. Chuẩn bị của giáo viên: Sgk, Sbt, giáo án. 2. Chuẩn bị của học sinh: Học bài cũ, đọc trước Sgk. IV. TIẾN TRÌNH DẠY HỌC 1. Kiểm tra bài cũ: Câu hỏi 1: Nêu cú pháp, giải thích và hoạt động của câu lệnh For – Do? Câu hỏi 2: Nêu cú pháp, giải thích và hoạt động của câu lệnh While – do? 2. Đặt vấn đề bài mới: Tiết học hôm nay chúng ta sẽ cùng ôn lại kiến thức của chương. Rèn luyện kĩ năng sử dụng cấu trúc rẽ nhánh và cấu trúc lặp vào lập trình giải một số bài toán đơn giản. 2. Nội dung bài học: Hoạt động của giáo viên và học sinh Nội dung kiến thức Hoạt động 1: Ôn lại kiến thức lý thuyết GV: Đưa yêu cầu nội dung trên Slide HS: Thảo luận nhằm ôn lại kiến thức đã học. I. KIẾN THỨC Cấu trúc rẽ nhánh Câu lệnh ghép Lặp với số lần biết trước Lặp với số lần chưa biết trước. Hoạt động 2: Kiểm tra bài tập ở nhà và giải đáp thắc mắc GV: Kiểm tra tình hình làm bài tập của học sinh ở nhà. HS: Thảo luận trao đổi một số vướng mắc còn gặp khi làm bài tập. HS: Trả lời các câu hỏi 1, 2, 3 SGK Hoạt động 3: Làm bài tập Mục tiêu: Học sinh rèn luyện cách viết câu lệnh rẽ nhánh. GV: Hướng dẫn nội dung HS: Hoạt động Làm vào giấy nháp. Đại diện lên bảng làm. Nhận xét, trao đổi. GV: Nhận xét hoàn thiện. II. BÀI TẬP 1. Bài tập 4 SGK: Viết câu lệnh rẽ nhánh. a) if (x*x+y*y <=1) then z:=x*x+y*y else if (y>=x) then z:=x+1 else z:=0.5; b) if (x*x=y*y<=r*r) then z:=abs(x) + abs(y) else :=x+y; Mục tiêu: Học sinh rèn luyện kĩ năng vận dụng vòng lặp For vào mô tả thuật toán. GV: Đưa yêu cầu nội dung. HS: Thảo luận nhóm 2 trong 10 phút. Xác định bài toán. Tổ chức dữ liệu Ý tưởng thuật toán. GV: Cho đại diện học sinh hoàn thiện từng phần. HS: Thảo luận trao đổi về ý tưởng thuật toán HS: Lên bảng viết chương trình. GV: Kiểm tra việc làm bài của học sinh ở dưới lớp. GV: Nhận xét hoàn thiện chương trình. GV: Chạy thử chương trình trên máy chiếu. 2. Bài tập 5a: * Xác định bài toán: Input: Không. Output: Y * Tổ chức dữ liệu: n: kiểu nguyên. Y: Kiểu thực. * Ý tưởng thuật toán: B1: Y:=0; B2: Cho n lần lượt nhận giá trị từ 1 đến 50: Lặp lại Y ß Y + n/(n+1) B3: Thông báo Y và kết thúc. * Chương trình: 3. Củng cố: Nhấn mạnh kiến thức về cấu trúc rẽ nhánh, cấu trúc lặp, câu lệnh ghép. Học sinh cần nắm lại cách sử dụng cấu trúc rẽ nhánh. Cách vận dụng linh hoạt cấu trúc lặp vào từng bài toán cụ thể. 4. Dặn dò, hướng dẫn học sinh học tập ở nhà: Nhắc nhỡ học sinh nắm lại kiến thức lý thuyết về CT rẽ nhánh, CT lặp. Học sinh làm các bài tập: 5b SGK; 96 – Vở bài tập. V. RÚT KINH NGHIỆM TIẾT DẠY Ngày soạn: 07/01/2014 Tiết 25 Tên bài dạy BÀI TẬP CHƯƠNG III (T2) I. MỤC TIÊU 1. Kiến thức: Củng cố thêm kiến thức về cấu trúc rẽ nhánh. Luyện tập cấu trúc lặp. 2. Kĩ năng: Rèn luyện viết câu lệnh lặp. Sử dụng cấu trúc lặp, cấu trúc rẽ nhánh lập trình giải một số bài toán đơn giản. 3. Thái độ: Nghiêm túc, tập trung, tích cực chủ động. II. PHƯƠNG PHÁP VÀ KỸ THUẬT DẠY HỌC Phương pháp vấn đáp gợi mở, thảo luận. III. CHUẨN BỊ 1. Chuẩn bị của giáo viên: Sgk, Sbt, giáo án. 2. Chuẩn bị của học sinh: Học bài cũ, đọc trước Sgk. IV. TIẾN TRÌNH DẠY HỌC 1. Kiểm tra bài cũ: Câu hỏi 1: Nêu cú pháp, giải thích và hoạt động của câu lệnh While – do? 2. Đặt vấn đề bài mới: Tiết học hôm nay chúng ta tiếp tục củng cố thêm kiến thức về cách vận dụng cấu trúc lặp vào cài đặt thuật toán một số bài toán đơn giản 2. Nội dung bài học: Hoạt động của giáo viên và học sinh Nội dung kiến thức Hoạt động 1: Ôn tập kiến thức lý thuyết. - Nội dung này đã làm kĩ ở tiết 1 nên tiết này chỉ cần nhắc lại cơ bản. GV: Có thể hỏi đáp nhanh một số học sinh. Hoạt động 2: Rèn luyện cách viết câu lệnh While GV: Đưa yêu cầu nội dung GV: Minh họa về bài tập trên bảng. HS: Thảo luận nhóm 2 các nội dung Sử dụng cấu trúc lặp gì? Điều kiện lặp lại là gì? Công việc gì được lặp lại? HS: Trao đổi và viết lệnh lặp để tính T. GV: Nhận xét chốt. 3. Bài tập 3: Viết câu đoạn lệnh có sử dụng cấu trúc lặp để tính S: * Đoạn lệnh: T:=0; i:=1; While 1/(i*i*i) >= 0.005 do Begin T:=T+1/(i*i*i); i:=i+1; End; Hoạt động 3: Rèn luyện kĩ năng vận dụng cấu trúc lặp While vào cài đặt thuật toán. Mục tiêu: Học sinh rèn luyện kĩ năng vận dụng vòng lặp While vào mô tả thuật toán. GV: Đưa yêu cầu nội dung. HS: Thảo luận nhóm 2 trong 10 phút. Xác định bài toán. Tổ chức dữ liệu Ý tưởng thuật toán. GV: Cho đại diện học sinh hoàn thiện từng phần. HS: Thảo luận trao đổi về ý tưởng thuật toán HS: Lên bảng viết chương trình. GV: Kiểm tra việc làm bài của học sinh ở dưới lớp. GV: Nhận xét hoàn thiện chương trình. GV: Chạy thử chương trình trên máy chiếu. 4. Bài tập 5b: *Xác định bài toán: Input: Không Output: E * Tổ chức dữ liệu: n,GT: Kiểu nguyên. E: Kiểu thực. * Ý tưởng thuật toán: B1: E:=1; n:=1; GT:=1; B2: Khi 1/GT >0.000002 thì qua b3 còn không qua b4. B3: Tính Gt:=GT*n; N:=n+1; E:=E+1/GT; Quay lại B2 B4: Thông báo E và kết thúc. * Chương trình: 3. Củng cố: Học sinh nắm lại kiến thức về câu lệnh While GV: nhấn mạnh cách cài đặt thuật toán sử dụng vòng lặp While. 4. Dặn dò, hướng dẫn học sinh học tập ở nhà: Hướng dẫn sơ qua các nội dung bài tập: 6, 7, 8 SGk để các em làm ở nhà. HS hoàn thiện các bài tập 6, 7, 8 ở nhà. Nhắc nhỡ học sinh xem trước nội dung bài kiểu mảng. HS làm bài: Lập trình nhập vào nhiệt độ của 7 ngày trong tuần, tính và đưa ra màn hình nhiệt độ trung bình và số lượng ngày có nhiệt độ cao hơn nhiệt độ trung bình. V. RÚT KINH NGHIỆM TIẾT DẠY Ngày soạn: 01/02/2014 Tiết 26 Tên bài dạy KIỂU MẢNG (T1) I. MỤC TIÊU 1. Kiến thức: Hiểu khái niệm mảng một chiều. Hiểu cách khai báo và truy cập đến một phần tử của mảng. 2. Kĩ năng: Thực hiện khai báo mảng, truy cập các phần tử của mảng. 3. Thái độ: Nghiêm túc, tập trung, tích cực chủ động. II. PHƯƠNG PHÁP VÀ KỸ THUẬT DẠY HỌC Phương pháp vấn đáp gợi mở, thảo luận. III. CHUẨN BỊ 1. Chuẩn bị của giáo viên: Sgk, Sbt, giáo án. 2. Chuẩn bị của học sinh: Học bài cũ, đọc trước Sgk. IV. TIẾN TRÌNH DẠY HỌC 1. Kiểm tra bài cũ: Câu hỏi: Nêu cú pháp, giải thích và hoạt động của cấu trúc rẽ nhánh? Theo em trong thực tế có sử dụng cấu trúc rẽ nhánh hay không? Cho ví dụ? 2. Đặt vấn đề bài mới: Nhắc lại và bắt đầu với bài tập nhiệt độ mà học sinh đã làm trước ở nhà: 2. Nội dung bài học: Hoạt động của giáo viên và học sinh Nội dung kiến thức Hoạt động 1: Tìm hiểu về mảng một chiều. GV: Nhắc lại bài toán nhiệt độ. HS: Thảo luận Xác định bài toán Tổ chức dữ liệu: Các biến dùng trong CT. Thuật toán. GV: Minh họa chương trình trên Slide. GV: Mở rộng bài toán sang phạm vi một năm 365 ngày. HS: Nhận xét khai báo biến, viết chương trình. GV: Nhận xét những khó khăn mắc phải. à Các KDL chuẩn không đủ để biểu diễn dữ liệu của các bài toán trong thực tế. à Rút ra: NNLT cho phép xây dựng những KDL phức tạp từ những KDL đã có – KDL có cấu trúc. à Cụ thể bài toán nhiệt độ: Dùng kiểu mảng. GV: Minh họa Slide Hình ảnh mảng một chiều T: Gồm có 7 phần tử lưu nhiệt độ 7 ngày. Hình ảnh mảng một chiều T: 365 phần tử đánh số từ 1 đến 365. HS: Hiểu và tự rút ra kiến thức Khái niệm mảng một chiều Mô tả mảng một chiều. HS: Rút ra cách tham chiếu từ ví dụ minh họa của GV:. A 25 32 27 32 31 26 25 HS: Tham chiếu đến phần tử số 3, 6. GV: Minh họa lại CT nhiệt độ dùng biến mảng để HS thấy được sự cần thiết của mảng một chiều. 1. Kiểu mảng một chiều: a) Một số khái niệm. - MMC là một dãy hữu hạn các phần tử cùng kiểu. Mảng được đặt tên và mỗi phần tử có một chỉ số. - Để mô tả mảng một chiều: Cần xác định Kiểu phần tử và cách đánh số các phần tử. - Cách tham chiếu đến các phần tử của mảng một chiều: [Chỉ số] Hoạt động 2: Tìm hiểu cách khai báo mảng một chiều trong Pascal HS: Tự tìm hiểu, đại diện lên bảng trình bày cú pháp. Trực tiếp Gián tiếp. HS: Thảo luận giải thích cú pháp khai báo biến mảng này. à Mục đích học sinh tự đọc, hiểu. GV: Nhận xét. GV: Minh họa và làm ví dụ 1 cho học sinh hiểu được cách khai báo biến mảng. GV: Cho một ví dụ khai báo mảng hợp lệ HS: Thảo luận Tên của kiểu dữ liệu mới? Kiểu mảng đó có bao nhiêu phần tử? Mỗi phần tử của mảng thuộc kiểu gì? Qua khai báo này, cho biết tên của mảng sẽ dùng trong chương trình. GV: Nêu yêu cầu sử dụng mảng một chiều của một chương trình. Đề nghị học sinh viết khai báo. HS: Viết khai báo mảng bằng hai cách. GV: Cho khai báo trực tiếp. HS: Khai báo lại gián tiếp. b) Khai báo: Trong Pascal - Khai báo trực tiếp: Var :array[] of ; - Khai báo gián tiếp: Type :array[] of ; Var : ; * Giải thích: Kiểu chỉ số: Thường là một đoạn số nguyên liên tục (Đánh số phần tử từ … đến …) Kiểu phần tử: Là kiểu của các phần tử trong mảng. * Ví dụ 1: Khai báo mảng nhiệt độ 365 ngày. Var T:array[1..365] of Real; Type KieuT : array[1..365] of Real; Var T:KieuT; * Ví dụ 2: Một số ví dụ HS tự viết 3. Củng cố: Chốt lại kiến thức về mảng một chiều. HS nhắc lại cấu trúc dữ liệu mảng một chiều, cách tham chiếu đến một phần tử của mảng. HS nhắc lại cách khai báo mảng một chiều. Làm một số câu hỏi trắc nghiệm nhỏ về mảng một chiều. 4. Dặn dò, hướng dẫn học sinh học tập ở nhà: Về nhà học bài cũ, xem trước các ví dụ trong SGK trang 56. Làm các bài tập: 101 đến 107 – Vở bài tập. V. RÚT KINH NGHIỆM TIẾT DẠY Ngày soạn: 01/02/2014 Tiết 27 Tên bài dạy KIỂU MẢNG (T2) I. MỤC TIÊU 1. Kiến thức: Hiểu cách khai báo và truy cập đến một phần tử của mảng. 2. Kĩ năng: Cài đặt được thuật toán của một số bài toán đơn giản với dữ liệu mảng một chiều. Thực hiện khai báo mảng, truy cập, tính toán các phần tử của mảng. 3. Thái độ: Nghiêm túc, tập trung, tích cực chủ động. II. PHƯƠNG PHÁP VÀ KỸ THUẬT DẠY HỌC Phương pháp vấn đáp gợi mở, thảo luận. III. CHUẨN BỊ 1. Chuẩn bị của giáo viên: Sgk, Sbt, giáo án. 2. Chuẩn bị của học sinh: Học bài cũ, đọc trước Sgk. IV. TIẾN TRÌNH DẠY HỌC 1. Kiểm tra bài cũ: Câu hỏi: Em biết gì về mảng một chiều? Nêu cú pháp, giải thích và cho ví dụ về mảng một chiều? 2. Đặt vấn đề bài mới: Tiết học trước các em đã làm quen với kiểu dữ liệu có cấu trúc đó là kiểu mảng. Hôm nay chúng ta sẽ cùng tìm hiểu một số thao tác và ví dụ về mảng một chiều. 2. Nội dung bài học: Hoạt động của giáo viên và học sinh Nội dung kiến thức Hoạt động 1: Học sinh làm quen với một số thao tác cơ bản trên mảng một chiều GV: Dẫn dắt học sinh đến một số thao tác cơ bản trên mảng một chiều. HS: Có thể thảo luận và trình bày. à Mục tiêu: Đây là thao tác cơ bản nhất về mảng mà các em cần nắm để cài đặt thuật toán về mảng. c) Các thao tác cơ bản. * Nhập mảng một chiều: A gồm N phần tử số thực. Write(‘Nhap so phan tu N=’); Readln(N); For i:=1 to N do Begin Write(‘Nhap phan tu thu ‘,i,’=’ Readln(A[i]); End; * in mảng ra màn hình: For i:=1 to N do writeln(A[i]:5); * Duyệt mảng: Dùng trong nhiều thao tác tính toán các phần tử của mảng. For i:=1 to N do * Lưu ý: Tùy vào tên mảng và số lượng phần tử mà em điều chỉnh A và N cho phù hợp. Hoạt động 2: Tìm hiểu ví dụ 1 – SGK GV: Đưa yêu cầu nội dung. HS: Thảo luận nhóm 2 trong 10 phút. Xác định bài toán. Tổ chức dữ liệu Ý tưởng thuật toán. GV: Cho đại diện học sinh hoàn thiện từng phần. GV:+HS: Lưu ý kĩ về cách sử dụng mảng một chiều cho dãy số A. HS: Thảo luận trao đổi về ý tưởng thuật toán GV: Nhận xét chốt ý. GV: Nhắc lại các thao tác được dùng: Khai báo mảng, nhập mảng A, Duyệt mảng để tìm Max. HS: Lên bảng viết chương trình. GV: Kiểm tra việc làm bài của học sinh ở dưới lớp. GV: Nhận xét hoàn thiện chương trình. GV: Chạy thử chương trình trên máy chiếu. d) Ví dụ 1: Lập trình nhập vào một số nguyên dương N và dãy số nguyên A gồm N phần tử. Tìm phần tử lớn nhất của dãy số nguyên cùng vị trí của nó. * Xác định bài toán; Input: N và dãy số A. Output: Max và Imax * Tổ chức dữ liệu: N, csmax, max, i: Kiểu nguyên A: Mảng một chiều có N phần tử kiểu nguyên. * Ý tưởng thuật toán: B1: Nhập N và dãy A B2: Max ß A1 ; csMax ß 1; B3: Cho i lần lượt nhận giá trị từ 1 đến N: Nếu A[i] > Max thì B4: Thông báo Max, csmax và kết thúc. * Chương trình. 3. Củng cố: Nhắc lại kiểu mảng một chiều là KDL có cấu trúc được dùng nhiều trong lập trình. Những bài toán tìm Max, Tìm kiếm, sắp xếp là các bài toán thường gặp. HS nắm lại cấu trúc của mảng một chiều, cách khai báo, tham chiếu và tính toán các phần tử của mảng. 4. Dặn dò, hướng dẫn học sinh học tập ở nhà: Nhắc nhỡ các em nắm vững kiến thức lý thuyết về mảng một chiều. Làm các bài tập: 108, 109, 110 – Vở bài tập. V. RÚT KINH NGHIỆM TIẾT DẠY Ngày soạn: 02/02/2014 Tiết 28 Tên bài dạy KIỂU MẢNG (T3) I. MỤC TIÊU 1. Kiến thức: Hiểu khái niệm mảng một chiều. Hiểu cách khai báo và truy cập đến một phần tử của mảng. 2. Kĩ năng: Cài đặt được thuật toán của một số bài toán đơn giản với dữ liệu mảng một chiều. Thực hiện khai báo mảng, truy cập, tính toán các phần tử của mảng. 3. Thái độ: Nghiêm túc, tập trung, tích cực chủ động. II. PHƯƠNG PHÁP VÀ KỸ THUẬT DẠY HỌC Phương pháp vấn đáp gợi mở, thảo luận. III. CHUẨN BỊ 1. Chuẩn bị của giáo viên: Sgk, Sbt, giáo án. 2. Chuẩn bị của học sinh: Học bài cũ, đọc trước Sgk. IV. TIẾN TRÌNH DẠY HỌC 1. Kiểm tra bài cũ: Câu hỏi: Em hãy viết các đoạn lệnh nhập mảng một chiều, in mảng một chiều? 2. Đặt vấn đề bài mới: Tiết học trước các em đã vận dụng mảng một chiều trong bài toán tìm Max. Hôm nay chúng ta tiếp tục làm quen với một số ví dụ nữa về mảng một chiều. 2. Nội dung bài học: Hoạt động của giáo viên và học sinh Nội dung kiến thức Hoạt động 1: Ví dụ 2 Bài toán sắp xếp GV: Hướng dẫn nội dung của bài tập. HS: Thảo luận xác định bài toán. HS: Thảo luận các biến sẽ dùng trong chương trình. GV: Lưu ý về cách dùng mảng một chiều. GV: Chia nhóm cho học sinh thảo luận HS: Thảo luận nhóm 4 về ý tưởng thuật toán. GV: Minh họa về sắp xếp trên Slide. ? Làm thế nào để tráo đổi A[i] và A[i+1] cho nhau? HS: Các nhóm hoàn thiện thuật toán. HS: Đại diện 2 nhóm lên bảng trình bày. GV: Nhận xét bài làm. HS: Các nhóm tiến hành viết chương trình. Không sử dụng SGK. GV: Chiếu chương trình đã viết. HS: Các nhóm nhận xét bài làm của nhau. HS: Thảo luận trao đổi một số điểm trong chương trình. Các vòng lặp For trong CT dùng làm gì? Đoạn lệnh nào dùng tráo đổi hai số. * Ví dụ 2: Lập trình nhập vào số nguyên N và dãy số A1, …AN. Sắp xếp A thành dãy không giảm và th
File đính kèm:
- Giao an 11 2013 2014.docx