1. Trang chủ
  2. » Giáo án - Bài giảng

chu de mang 2021new

12 46 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Bước 1. Lựa chọn chủ đề: Tên chủ đề: kiểu mảng. số tiết: 7Bước 2: Xác định KTKN và năng lực hướng tới của chủ đềI. MỤC TIÊU1. Kiến thức: Học sinh cần hiểu mảng là kiểu dữ liệu có cấu trúc, rất cần thiết và hữu ích trong nhiều chương trình. Học sinh biết ý nghĩa của dữ liệu kiểu mảng Học sinh hiểu mảng một chiều là dãy các phần tử cùng kiểu, cách khai báo mảng, truy nhập đến phần tử của mảng, 2. Kỹ năng: Nhận biết được thành phần trong khai báo mảng một chiều Nhận biết được định danh của mảng một phần tử kiểu mảng một chiều xuất hiện trong chương trình Biết cách khai báo mảng đơn giản3. Thái độ: Nhận thức được tầm quan trọng của dữ liệu có cấu trúc Rèn luyện ý thức học tập bộ môn, thích tìm hiểu và khám phá ngôn ngữ lập trình . Bước 3: Bảng mô tả các mức yêu cầu cần đạt cho mỗi loại câu hỏibài tập

1 Chủ đề: Chương IV Kiểu liệu có cấu trúc KIỂU MẢNG (Gồm tiết theo PPCT: 17,18,20,21,22,23,24) Ngày giảng: Từ ngày 12/11/2020 Bước Lựa chọn chủ đề: Tên chủ đề: kiểu mảng số tiết: Bước 2: Xác định KTKN lực hướng tới chủ đề I MỤC TIÊU Kiến thức: - Học sinh cần hiểu mảng kiểu liệu có cấu trúc, cần thiết hữu ích nhiều chương trình - Học sinh biết ý nghĩa liệu kiểu mảng - Học sinh hiểu mảng chiều dãy phần tử kiểu, cách khai báo mảng, truy nhập đến phần tử mảng, Kỹ năng: - Nhận biết thành phần khai báo mảng chiều - Nhận biết định danh mảng phần tử kiểu mảng chiều xuất chương trình - Biết cách khai báo mảng đơn giản Thái độ: - Nhận thức tầm quan trọng liệu có cấu trúc - Rèn luyện ý thức học tập mơn, thích tìm hiểu khám phá ngơn ngữ lập trình Bước 3: Bảng mơ tả mức yêu cầu cần đạt cho loại câu hỏi/bài tập Loại Nội câu Nhận biết Thông hiểu Vận dụng thấp Vận dụng cao dung hỏi/bài tập Kiểu mảng chiều Câu hỏi/bài tập Định tính Biết khái niệm kiểu mảng chiều, quy tắc xác định mảng chiều, Cách khai báo biến mảng kiểu mảng chiều Hiểu tốn tính nhiệt độ tuần Hiểu thành phần khai báo mảng chiều Nd1.DT.NB1 Biết cách tham chiếu đến phần tử mảng ND1.DT.NB2 ND1.DT.TH1 ND1.DT.NB3 ND1.DT.TH2 ND1.DT.TH3 Bài tập Định lượng Lấy ví dụ cách khai báo mảng chiều theo cách ND1.DL.TH1 Giáo viên: Phan Thị Thanh Hà Phân biệt khai báo khai báo sai khai báo kiểu mảng chiều ND1.DL.VDT1 Áp dụng kiểu mảng để giải toán nhiệt độ tuần, nhiệt độ năm Bài tập thực hành ND1.TH.VDT1 Câu hỏi/bài tập Định tính Một số ví dụ Bài tập Định lượng Học sinh hiểu cách khai báo, nhập liệu, xuất liệu cho mảng chiều qua ví dụ SGK ND2.ĐL.TH1 Bài tập thực hành Vết khai báo cho số chương trình sử dụng mảng chiều, biết nhập liệu cho kiểu mảng chiều Sử dụng mảng chiều để giải tập ND2.TH.VDC1 ND2.TH.VDT1 III HOẠT ĐỘNG DẠY HỌC HOẠT ĐỘNG CỦA GIÁO VIÊN HOẠT ĐỘNG CỦA HỌC SINH Hoạt động 1: Kiểu mảng chiều Mục đích: Cung cấp cho học sinh Ý tưởng để xây dựng liệu kiểu mảng Tên kiểu mảng chiều Số lượng phần tử, kiểu liệu phần tử Cách khai báo biến mảng, cách tham chiếu đến phần tử Đặt vấn đề: Ở học trước tìm hiểu tập Input : N, dãy số a1, a2, , aN, Output: Giá trị lớn (Max) dãy ?Nêu ý tưởng để thiết kế thuật toán - Khởi tạo giá trị Max = a1 - Lần lượt với i từ đến N, so sánh giá trị số hạng với giá trị Max, ai> Max Max nhận giá trị ? Nếu có thêm yêu cầu: Chỉ vị trí phần tử dãy đạt giá trị Max? Giáo viên: Phan Thị Thanh Hà Làm để truy cập trực tiếp đến ai? Giả sử có dãy: 1, 5, 9, 7, 8, 2, Ta mơ tả dãy sau: a1 a2 a3 a4 a5 a6 a7 Để giải yêu cầu tìm hiểu học hơm nay? Dữ liệu có cấu trúc Mảng Kiểu mảng chiều: Bài tốn: Input: Nhiệt độ trung bình ngày tuần Output: Nhiệt độ trung bình tuần số ngày có nhiệt độ cao nhiệt độ trung bình Chương trình: Program nhietdo_tuan; var t1, t2, t3, t4, t5, t6, t7, tb:real; dem:byte; BEGIN Writeln(‘Nhap nhiet cua ngay’); Readln(t1, t2, t3, t4, t5, t6, t7); tb:=(t1+t2+t3+t4+t5+t6+t7)/7; dem:=0; if t1>tb then dem:=dem + 1; if t2>tb then dem:=dem + 1; if t3>tb then dem:=dem + 1; if t4>tb then dem:=dem + 1; if t5>tb then dem:=dem + 1; if t6>tb then dem:=dem + 1; if t7>tb then dem:=dem + 1; writeln(‘Nhiet trung binh :’, tb:4:2); writeln(‘So co nhiet cao hon trung binh’, dem); readln end ? Nhận xét chương trình trên: - Viết chương trình khó khăn dùng nhiều biến - Đoạn câu lệnh tính tốn dài - Có câu lệnh hoàn toàn giống viết viết lại chương trình nhiều lần - Các biến để lưu giá trị nhiệt độ biến kiểu Đặt vấn đề: Khi mở rộng toán từ phạm vi tuần sang phạm vi N ngày (một năm) hạn chế lớn Để khắc phục hạn chế ta có chương trình sau: Program nhietdo_ngay; Const max=366; type kmang1=array [1 max] of real; var nhietdo: kmang1; Giáo viên: Phan Thị Thanh Hà dem, i, N : byte; tong, tb:real; BEGIN Write(‘Nhap so ngay:’); readln(N); tong:= 0; for i:= to N begin write(‘Nhap nhiet ‘,i,’ = ‘); readln(nhiedo[i]); Tong:= tong + nhietdo[i]; end; dem:=0; tb:=tong/N; For i:= to N If nhietdo[i] > tb then dem:= dem + 1; writeln(‘Nhiet trung binh :’, tb:4:2); writeln(‘So co nhiet cao hon trung binh’, dem); readln END Trong chương trình khai báo biến mảng chiều Type kmang1=array[1 max] of real; {Khai báo kiểu mảng chiều có tên kmang1 gồm Max số thực} var nhietdo: kmang1; {Khai báo biến mảng nhietdo qua kiểu mảng } Nhận xét: Khi xây dựng chương trình ta mở rộng số ngày lên tuỳ ý thuật tốn khơng thay đổi Khi xây dựng liệu kiểu mảng ta xác định yếu tố nào? Khái niệm: Mảng chiều dãy hữu hạn phần tử a Khai báo: + Trực tiếp: Var: array[kiểu số] of ; + Gián tiếp: Type= array[kiểu số] of; Var : :; Trong đó: - Kiểu số: Thường đoạn số nguyên liên tục có dạng n1 n2 n1, n2: Hằng biểu thức xác định số đầu số cuối (n1 Max Max:= 4.2 i:= i+1; quay lại B3 ? Yêu cầu học sinh thực khai báo mảng A Hs thực yêu cầu Gv tối đa 250 phần tử, phần tử nhận giá trị Var A : array[1 250] of integer; nguyên? ? Yêu cầu thực thủ tuc nhập số nguyên N từ // nhap N bàn phím? Write(‘Nhap so phan tu cua day N =‘); ? Yêu cầu thực thủ tuc nhập dãy số readln(N); nguyên? //nhap day A for i:= to N Begin Writeln(‘Nhap phan tu thu ‘,i,’=‘); Readln(a[i]); End; ? Yêu cầu thảo luận phút lên bảng viết Program timMax; chương trình var A:array[1 250] of integer; N, i, Max, csmax: integer; BEGIN Giáo viên: Phan Thị Thanh Hà Write(‘Nhap so phan tu cua day N =‘); readln(N); for i:= to N Begin Writeln(‘Nhap phan tu thu ‘,i,’=‘); Readln(a[i]); End; Max:=a[1]; csmax:=1; {B2} for i:= to N if a[i] > max then begin max:= a[i]; csmax:=i; end; writeln(‘Gia tri Max cua day la:’, max); writeln(‘Chi so cua phan tu max :’, csmax); Readln; END • • Hoạt động Viết chương trình đếm xem dãy A cho trước có phần tử có giá trị k cho trước đưa số cuối có giá trị k - Mục tiêu hoạt động: Giúp học sinh luyện tập kỹ khai báo sử dụng mảng chiều - Cách tiến hành: + GV đưa tập HS nghiên cứu để hoàn thành +Gọi HS lên bảng trình bày; HS,GV nhận xét HOẠT ĐỘNG CỦA GIÁO VIÊN HOẠT ĐỘNG CỦA HỌC SINH Bài 1:Cho dãy A gồm n phần tử (A 1, A2, , An) (Ai nguyên 30 then writeln('Chi so cuoi cung co gt = ',k,' HS la ',cs) else write('Khong co phan tu co chi so nhu vay! '); readln end Hoạt động Bài SGK Tr 63 HOẠT ĐỘNG CỦA GIÁO VIÊN HOẠT ĐỘNG CỦA HỌC SINH Phân nhóm số máy tương ứng cho Ngồi vào máy phân nhóm học sinh Đưa nội dung thực hành Nắm nội dung thực hành tiến hành thực hướng dẫn giáo viên - Khởi động Turbo pascal ? Thực khởi động máy TL Thực yêu cầu Quan sát nhóm khởi động khắc phục Kiểm tra máy cố Hướng dẫn nhóm thực nội dung thực Thực nội dung thực hành giúp đỡ hành giáo viên Giải đáp vướng mắc học sinh khắc phục cố máy tính Hãy tìm hiểu chạy thử chương trình Bài Tạo mảng A gồm n phần tử (n≤100) số sau : ngun, số có giá trị tuyệt đối khơng vượt Program Cau1a; 300 Tính tổng phần tử mảng Var A:Array[1 100] of integer; bội số nguyên dương k cho trước n,s,i,k:integer; Begin randomize; Giáo viên: Phan Thị Thanh Hà write(‘Nhap n= ‘); read(n); for i:=1 to n A[i]:=random(300)- random(300); for i:=1 to n write(a[i]:5); writeln; write(‘Nhap k = ‘); read(k); s:=0; for i:=1 to n if a[i] mod k=0 then s:=s+a[i]; writeln(‘Tong can tinh la: ‘,s); readln End •Hãy gõ đoạn chương trình • Hồn thành đoạn chương trình ? Nêu cách dịch chương trình TL Ấn tổ hợp phím Alt+F9 ? Nêu cách dịch chương trình TL Ấn tổ hợp phím Ctrl+F9 ? Những dịng lệnh nhằm tạo mảng A TL Randomize; write(‘Nhap n= ‘); read(n); for i:=1 to n A[i]:=random(300)- random(300); ? A[i]:=random(300) – random(300); có ý TL Tạo ngẫu nhiên giá trị phần tử mảng nghĩa ? Câu lệnh for i:=1 to n cuối TL Duyệt phần tử danh sách chương trình có ý nghĩa ?Câu lệnh s:=s+a[i]; thực TL Tùy theo mảng A có phần tử thỏa lần mãn, Hoạt động 5: Thoát máy HOẠT ĐỘNG CỦA GIÁO VIÊN HOẠT ĐỘNG CỦA HỌC SINH - Thoát máy Đánh giá trình thực hành HS theo Lắng nghe đánh giá giáo viên rút kinh tiêu chí: - Hồn thành chương trình cho theo mẫu với liệu khác nghiệm - Làm quen với việc hiệu chỉnh chương trình Hoạt động Bài trang 64 HOẠT ĐỘNG CỦA GIÁO VIÊN HOẠT ĐỘNG CỦA HỌC SINH Phân nhóm số máy tương ứng cho Ngồi vào máy phân nhóm học sinh Đưa nội dung thực hành Nắm nội dung thực hành tiến hành thực hướng dẫn giáo viên - Khởi động Turbo pascal ? Thực khởi động máy TL Thực yêu cầu Quan sát nhóm khởi động khắc phục Kiểm tra máy cố Hướng dẫn nhóm thực nội dung thực Thực nội dung thực hành giúp đỡ hành Giáo viên: Phan Thị Thanh Hà giáo viên 10 Giải đáp vướng mắc học sinh khắc phục cố máy tính Bài 2: Tìm Max mảng đưa số Hãy tìm hiểu chạy thử chương trình sau : giá trị tìm Nếu có nhiều phần tử đạt Program timMax; giá trị max đưa số nhỏ Const Nmax = 250; Type arrInt = array[1 Nmax] of integer; var N, i, Max, csmax: integer;a:arrInt; BEGIN Write(‘Nhap so phan tu cua day N =’); readln(N); for i:= to N Begin Writeln(‘Nhap phan tu thu ’,i,’=’); Readln(a[i]); End; j:=1; for i:=2 to n if a[i]>a[j] then j:=i; write(‘Chi so ’,j,’ gia tri:’,a[j]:4); Readln END •Hãy gõ đoạn chương trình • Hồn thành đoạn chương trình ? Nêu cách dịch chương trình TL Ấn tổ hợp phím Alt+F9 ? Nêu cách dịch chương trình TL Ấn tổ hợp phím Ctrl+F9 Hoạt động 7: Thoát máy HOẠT ĐỘNG CỦA GIÁO VIÊN HOẠT ĐỘNG CỦA HỌC SINH - Thoát máy Đánh giá trình thực hành HS theo Lắng nghe đánh giá giáo viên rút kinh tiêu chí: - Hồn thành chương trình cho theo mẫu với liệu khác nghiệm - Làm quen với việc hiệu chỉnh chương trình Hoạt động Bài tập trang 65 HOẠT ĐỘNG CỦA GIÁO VIÊN HOẠT ĐỘNG CỦA HỌC SINH Phân nhóm số máy tương ứng cho Ngồi vào máy phân nhóm học sinh Đưa nội dung thực hành Nắm nội dung thực hành tiến hành thực hướng dẫn giáo viên - Khởi động Turbo pascal ? Thực khởi động máy TL Thực yêu cầu Quan sát nhóm khởi động khắc phục Kiểm tra máy cố Hướng dẫn nhóm thực nội dung thực Thực nội dung thực hành giúp đỡ hành Giải đáp vướng mắc học sinh khắc Giáo viên: Phan Thị Thanh Hà giáo viên 11 phục cố máy tính Bài 1: a Chạy thử chương trình thực thuật toán xếp dãy số nguyên thuật toán tráo đổi Hs thực yêu cầu máy program trao_doi; uses crt; const Nmax=250; type mang:array[1 Nmax] of integer; var n, i, j, tg:integer; a:mang; Begin Randomize; Write(‘Nhap n=’);readln(n); for i:=1 to n a[i]:= random(300) - random(300); for i:=1 to n write(a[i]:3); writeln; for j:=1 n downto for i:=1 to j-1 if a[i]>a[i+1] then begin tg:= a[i]; a[i]:=a[i+1]; a[i+1]:=tg; end; writeln(‘Day vua sap xep’); for i:=1 to n write(a[i]:5); writeln; readln; end YC bạn lên bảng trình bày làm Giáo viên nhận xét cho điểm Hoạt động 9: Thoát máy HOẠT ĐỘNG CỦA GIÁO VIÊN HOẠT ĐỘNG CỦA HỌC SINH - Thoát máy Đánh giá trình thực hành HS theo Lắng nghe đánh giá giáo viên rút kinh tiêu chí: - Hồn thành chương trình cho theo mẫu với liệu khác nghiệm - Làm quen với việc hiệu chỉnh chương trình Bước 5: Hệ thống câu hỏi/bài tập đánh giá theo mức mô tả ND1.DT.NB1 Em nêu khái niệm mảng chiều.? ND1.DT.NB2 Em nêu quy tắc xác định mảng chiều? ND1.DT.NB3 Em viết cách khai báo tên biến mảng kiểu mảng chiều? ND1.DT.TH1 Em viết cách khai báo cho nhiệt độ tuần? ND1.DT.TH2 Em rõ thành phấn khai báo nhiệt độ tuần? ND1.DT.TH3 Cho mảng A, viết cách tham chiếu đên phần tử thứ mảng A? T H A N H S E N ND1.DL.TH1 Em lấy vài ví dụ cách khai báo mảng chiều theo cách? ND1.DL.VDT1 Em phân biệt cách khai báo khai báo sai cách sau: Giáo viên: Phan Thị Thanh Hà 12 A Var A=array[1 100] of longint; B Var A: array[1 30] of char; C Type A: : array[-5 30] of boolean; D Var A: array[0 30] of real; ND1.TH.VDT1 u cầu em viết chương trình tính nhiệt độ N ngày ND2.TH.VDT1.Cho dãy A gồm N phần tử (Ntb then dem:=dem + 1; if t7>tb then dem:=dem + 1; writeln(‘Nhiet trung binh :’,... t7, tb:real; dem:byte; BEGIN Writeln(‘Nhap nhiet cua ngay’); Readln(t1, t2, t3, t4, t5, t6, t7); tb:=(t1+t2+t3+t4+t5+t6+t7)/7; dem:=0; if t1>tb then dem:=dem + 1; if t2>tb then dem:=dem + 1; if... + nhietdo[i]; end; dem:=0; tb:=tong/N; For i:= to N If nhietdo[i] > tb then dem:= dem + 1; writeln(‘Nhiet trung binh :’, tb:4:2); writeln(‘So co nhiet cao hon trung binh’, dem); readln END Trong

Ngày đăng: 06/12/2020, 13:58

Xem thêm:

TỪ KHÓA LIÊN QUAN

w