H·y ®a c¸c c©u lÖnh sau ®©y vµo vÞ trí cần thiết nhằm sửa chương trình trong câu a để có được chương trình đưa ra các số dương và số các số âm trong m¶ng... Chỉnh sửa chương trình để đư[r]
(1) Gi¸o ¸n gi¶ng d¹y Bé m«n: Tin häc 11 Bµi tËp thùc hµnh (TiÕt PPCT: 23, 24) Ngµy so¹n: ………………………… Ngµy §K gi¸o ¸n: Người duyệt giáo án (TTCM duyệt, BGH duyệt): I Môc tiªu: Kiến thức: Biết giải số bài toán tính toán, tìm kiếm đơn giản trên máy tính Kỹ năng: N©ng cao kÜ n¨ng sö dông mét sè c©u lÖnh vµ mét sè kiÓu d÷ liÖu th«ng qua việc tìm kiếm, chạy thử các chương trình có sẵn II ChuÈn bÞ: Gi¸o viªn: Gi¸o ¸n gi¶ng d¹y, m¸y chiÕu ®a n¨ng Häc sinh: Sách giáo khoa, sách bài tập Tin học 10, ghi III hoạt động dạy và học Hoạt động 1: Tổ chức lớp: - KiÓm tra sÜ sè - Chia lớp thành nhóm không đủ máy, 2HS/1máy Hoạt động 2: Nội dung bài thực hành: Hoạt động GV Hoạt động HS §a néi dung bµi thùc hµnh: Chó ý theo dâi néi dung bµi thùc hµnh Hoạt động 2.1: Bµi 1: T¹o m¶ng A gåm n (n<=100) sè nguyên, số có trị tuyệt đối không vượt quá 300 Tính tổng các phần tử mảng là bội số số nguyên dương k cho trước a Hãy tìm hiểu và chạy thử chương tình sau ®©y: Program sum1; uses crt; const nmax=100; type myarray= array[1 max] of integer; Var a:myarray; S, n, i, k: integer; Begin Clrscr; randomize; writeln(‘nhËp n=:’); readln(n); for i:=1 to n a[i]:=random(300)- GV: §ç ThÞ Thu HiÒn Lop11.com (2) Gi¸o ¸n gi¶ng d¹y Bé m«n: Tin häc 11 random(300); for i:=1 to n write(a[i]:5); writeln; write(‘nhËp k=’);readln(k); s:=0; For i:=1 to n if a[i] mod k =0 then s:=s+a[i]; Writeln(‘tæng cÇn tÝnh lµ:’, s); Readln End b H·y ®a c¸c c©u lÖnh sau ®©y vµo vÞ trí cần thiết nhằm sửa chương trình câu a) để có chương trình đưa các số dương và số các số âm m¶ng posi, neg: integer posi:= 0; neg:=0; if a[i] >0 then posi:=posi+1 else if a[i]<0 then neg:=neg+1; writeln(posi:4, neg:4); - Yªu cÇu mét HS tr¶ lêi yªu cÇu cña bµi to¸n - NhËn xÐt vµ yªu cÇu HS thùc hµnh söa chương trình câu a)và chạy chương tr×nh võa söa Hoạt động 2.2 Bài 2: Viết chương trình tìm phần tử lớn - Suy nghÜ vµ tr¶ lêi Program sum1; uses crt; const nmax=100; type myarray= array[1 max] of integer; Var a:myarray; S, n, i, k, posi, neg: integer; Begin Clrscr; randomize; writeln(‘nhËp n=:’); readln(n); for i:=1 to n a[i]:=random(300)random(300); for i:=1 to n write(a[i]:5); writeln; write(‘nhËp k=’);readln(k); posi:= 0; neg:=0; if a[i] >0 then posi:=posi+1 else if a[i]<0 then neg:=neg+1; writeln(posi:4, neg:4); Readln End GV: §ç ThÞ Thu HiÒn Lop11.com (3) Gi¸o ¸n gi¶ng d¹y Bé m«n: Tin häc 11 nhÊt cña m¶ng vµ ®a mµn h×nh chØ sè vµ gi¸ trÞ cña phÇn tö t×m ®îc NÕu cã nhiÒu phÇn t cã cïng gi¸ trÞ lín nhÊt th× ®a phÇn tö cã chØ sè nhá nhÊt a Hãy tìm hiểu chương trình sau đây: program maxelment; const nmax=100; type myarray=array[1 nmax] of integer; var a:myarray; n, i, j: integer; begin writeln(‘nhập số lượng phần tử d·y sè, n=’); readln(n); for i:=1 to n begin write(‘phÇn tö thø’,i,’=’); readln(a[i]); end; j:=1; for i:=2 to n if a[i]>a[j] then j:=i; b Ta söa nhu sau: write(‘chi so:’,j,’gia trÞ:’, a[j]:4); for i:=2 to n readln; if a[i]>=a[j] then j:=i; end b Chỉnh sửa chương trình để đưa - CÇn gi÷ l¹i; sè lín nhÊt cña c¸c phÇn tö cã cïng gi¸ trÞ lín nhÊt - CÇn duyÖt l¹i tÊt c¶ c¸c phÇn tö cña Hướng dẫn HS thực hành và làm bài mảng để làm việc đó tËp Bài 2: câu b:?Chương trình có cần giữ lại ®o¹n t×m phÇn tö cã gi¸ trÞ lín nhÊt kh«ng? ? §Ó ®a tÊt c¶ c¸c chØ sè cña các phần tử đạt giá trị lớn đó có cần duyÖt l¹i tÊt c¶ c¸c phÇn tö m¶ng kh«ng? IV Cñng cè: Cho HS dừng thực hành để kiểm tra 5phút Đánh giá kết làm và cha lµm ®îc cña HS BTVN: Viết chương trình để đưa số các phần tử có cùng giá trị lớn GV: §ç ThÞ Thu HiÒn Lop11.com (4)