Giáo án Tin học Lớp 8 - Tuần 25 - Năm học 2017-2018
I. MỤC TIÊU BÀI HỌC:
1. Kiến thức, kỹ năng, thái độ
a. Kiến thức:
- Đánh giá kiến thức của học sinh
Chương I. Lập trình đơn giản
I.1. Câu lệnh lặp
I.1.1 Câu lệnh lặp
I.1.2. Ví dụ về câu lệnh lặp
I.1.3. Tính tổng và tích bằng câu lệnh lặp
I.2. Lặp với số lần chưa biết trước
I.2.1. Các hoạt động với lặp số lần chưa biết trước
I.2.2. Ví dụ về lệnh lặp với số lần chưa biết trước
b. Kỹ năng:
2.1. Viết chương trình cĩ cu lệnh lặp For.to.do, while.do
2.2. Đọc hiểu chương trình
* Thái độ: Nghiêm túc trong thi cử.
2. Năng lực có thể hình thành và phát triển cho học sinh:
- Hình thành năng lực giải quyết vấn đề và sáng tạo: Tư duy những kiến thức đã học.
II. Chuẩn bị về tài liệu và phương tiện dạy học:
* GV: Ra đề và đáp án, đánh máy, in ấn, phôtô.
* HS: Ôn tập kỹ.
III. Tổ chức hoạt động học của học sinh:
1. Hoạt động dẫn dắt vào bài:
2. Hoạt động hình thành kiến thức:
Ngày soạn: 6/3/2018 Tuần: 25 Tiết: 49 BÀI TẬP (tt) I. Mục tiêu bài học: Kiến thức, kĩ năng, thái độ * Kiến thức: Viết được chương trình Pascal có sử dụng vòng lặp While ... do * Kỹ năng: Biết sử dụng câu lệnh ghép. - Rèn kỹ năng đọc hiểu chương trình có sử dụng vòng lặp while ... do * Thái độ: Thái độ học tập nghiêm túc, tích cực làm các dạng bài tập ứng dụng. 2. Năng lực có thể hình thành và phát triển cho học sinh: - Hình thành năng lực giải quyết vấn đề và sáng tạo, năng lực khoa học máy tính cơ bản: Phân tích được các bài toán. - Hình thành khả năng hoạt động nhóm trao đổi tìm ra kiến thức II. Chuẩn bị về tài liệu và phương tiện dạy học: - GV: Sách giáo khoa, giáo án, tài liệu tin học có liên quan. - HS: Đọc tài liệu ở nhà trước khi III. Tổ chức hoạt động học của học sinh: 1. Hoạt động dẫn dắt vào bài: 2. Kiểm tra bài cũ: Kiểm tra đan xen trong lúc làm bài tập 3. Hoạt động hình thành kiến thức: HOẠT ĐỘNG CỦA GV VÀ HS NỘI DUNG Bài 9: Lập trình tính tổng dùng lệnh lặp While ...do. Trong đó n là số tự nhiên đợc nhập từ bàn phím. Bài 10: Viết chương trình tìm ƯCLN(a,b). Biết a, b được nhập từ bàn phím. a,b Bài 11: Viết chương trình tìm BCNN(a,b). Biết a, b được nhập từ bàn phím. Bài 12: Xem ví dụ sau trong pascal: Uses crt; Var i:integer; Begin Clrscr; I:=1 while i<15 do begin Writeln(‘0’); i:=i+1 End; Readln; End. Ví dụ trên ghi ra màn hình bao nhiêu chữ số 0? (14) GIẢI Program tinhA; Uses CRT; Var i, n: integer; tong: real; BEGIN Clrscr; write('cho so tu nhien n: '); Readln(n); tong:=0; i:=1; while i<= n do Begin tong:= tong+ 1/i; i: = i+1; End; writeln(' Tong can tim la: ', tong:12:6); Readln; END. Giải Program timUCLN; Uses Crt; Var a,b,r,a1,b1: integer; BEGIN ClrScr; Write(‘Nhap so thu nhat, a= ‘); Readln(a); a1:= a; Write(‘Nhap so thu hai, = ‘); Readln(b); b1:= b; While a mod b 0 do Begin r:= a mod b; a: = b; b: = r; End; Write (‘ Vay UCLN(‘, a1, ‘;’,b1,’)=’,b:2); Readln END. Giải Program timBCNN; Uses Crt; Var a,b,n,min,max,max1: integer; BEGIN Write(‘Nhap so thu nhat, a= ‘); Readln(a); a1:= a; Write(‘Nhap so thu hai, = ‘); Readln(b); b1:= b; If a>b then Begin max: = a; min:=b; End Else Begin max:=b; min:= a; End; n:= 2; max1:=max; While max mod min 0 Do Begin max:= max1*n; inc(n); {n:=n+1} End; Write (‘ Vay BCNN(‘, a, ‘;’,b,’)=’,max:2); Readln END. 4. Hoạt động luyện tập Học bài, làm lại các bài tập. 5. Hoạt động vận dụng 6. Hoạt động tìm tòi, mở rộng Hướng dẫn các em về nhà xem lại phần lí thuyết đã học và thực hiện lại các bài tập đã làm IV. RÚT KINH NGHIỆM: .. Ngày soạn: 6/3/2018 Tuần: 25 Tiết: 30 KIỂM TRA MỘT TIẾT I. MỤC TIÊU BÀI HỌC: 1. Kiến thức, kỹ năng, thái độ a. Kiến thức: - Đánh giá kiến thức của học sinh Chương I. Lập trình đơn giản I.1. Câu lệnh lặp I.1.1 Câu lệnh lặp I.1.2. Ví dụ về câu lệnh lặp I.1.3. Tính tổng và tích bằng câu lệnh lặp I.2. Lặp với số lần chưa biết trước I.2.1. Các hoạt động với lặp số lần chưa biết trước I.2.2. Ví dụ về lệnh lặp với số lần chưa biết trước b. Kỹ năng: 2.1. Viết chương trình cĩ cu lệnh lặp For..to..do, while..do 2.2. Đọc hiểu chương trình * Thái độ: Nghiêm túc trong thi cử. 2. Năng lực có thể hình thành và phát triển cho học sinh: - Hình thành năng lực giải quyết vấn đề và sáng tạo: Tư duy những kiến thức đã học. II. Chuẩn bị về tài liệu và phương tiện dạy học: * GV: Ra đề và đáp án, đánh máy, in ấn, phôtô. * HS: Ôn tập kỹ. III. Tổ chức hoạt động học của học sinh: Hoạt động dẫn dắt vào bài: Hoạt động hình thành kiến thức: Cấp độ Nội dung Nhận biết Thông hiểu Vận dụng Cộng Cấp độ thấp Cấp độ cao TN TL TN TL TN TL TN TL Câu lệnh lặp Câu 1, 2, 4, 5, 6, 7,12,16,17 Câu 9, 10, 11, 13, 14 Câu 22a, 22c 2.5 1 1 4.5 Lặp với số lần chưa biết trước Câu 3,8,15,18,19,20 Câu 22b, 22d Câu 21 Câu 23 1.5 1 2 1 5.5 Tổng số điểm 4 3 2 1 10 40% 30% 20% 10% 100% ĐỀ Phần I: (5đ) TRẮC NGHIỆM Câu 1: Trong vòng lặp For := to do củaPascal, trong mỗi vòng lặp, biến đếm thay đổi như thế nào: +1 -1 +2 +3 Câu 2: Phát biểu nào sau đây là đúng: Cấu trúc lặp được sử dụng để chỉ thị cho máy tính thực hiện lặp lại một vài hoạt động nào đó cho đến khi một điều kiện nào đó được thoả mãn. Chỉ ngôn ngữ lập trình Pascal mới có các câu lệnh lặp để thể hiện cấu trúc lặp. Ngôn ngữ Pascal thể hiện cấu trúc lặp với số lần lặp cho trước bằng câu lệnh Whiledo. Ngôn ngữ Pascal thể hiện cấu trúc lặp với số lần lặp chưa biết trước bằng câu lệnh Fordo. Câu 3: Câu lệnh lặp whiledo có dạng đúng là: x:=10; While x:=10 do x:=x+5; x:=10; While x:=10 do x=x+5; x:=10; While x=10 do x=x+5; x:=10; While x=10 do x:=x+5; Câu 4: Câu lệnh pascal nào sau đây là hợp lệ? For i:=100 to 1 do writeln(‘A’); For i:= 1 to 10 do writeln(‘A’); For i:=1.5 to 10.5 do writeln(‘A’); For i= 1 to 10 do writeln(‘A’); Câu 5: Cho S và i là biến nguyên. Khi chạy đoạn chương trình : s:=0; for i:=1 to 5 do s := s+i; writeln(s); Kết quả in lên màn hình là của S là : 11 15 10 5 Câu 6: Lần lượt thực hiện câu lệnh for i:= 1 to 3.5 do writeln(i:3:1); sẽ viết ra màn hình: Thứ tự của biến đếm, chiếm 3 chỗ và lấy 1 chữ số sau phần thập phân. Viết số 1 rồi viết số 3.5. Chỉ viết số 3.5 mà thôi. Không thực hiện được vì giá trị của biến đếm có kiểu thứ tự là Real. Câu 7: Trong câu lệnh lặp For i:=1 to 10 do begin .. End Câu lệnh ghép được thực hiện bao nhiêu lần (bao nhiêu vòng lặp được thực hiện): không lần nào. 2 lần. 1 lần. 10 lần. Câu 8: Tìm hiểu đoạn lệnh sau và cho biết với đoạn lệnh đó chương trình thực hiện bao nhiêu vòng lặp: S:=0; n:=0; While S< =10 do Begin n:=n+1; s:=s+n; end; 4 lần 5 lần 6 lần 10 Câu 9: Câu lệnh nào sau đây lặp vô hạn lần: s:=5; i:=0; While i<=s do s:=s + 1; s:=5; i:=1; While i<=s do i:=i + 1; s:=5; i:=1; While i> s do i:=i + 1; s:=0; i:=0; While i<=n do if (i mod 2)=1 then S:=S + i else i:=i+1; Câu 10: Để tính tổng S=1 + 2 +3 +4 + n; em chọn đoạn lệnh: for i:=1 to n do if ( i mod 2)=0 then S:=S + i; for i:=1 to n do if ( i mod 2)=1 then S:=S + i; for i:=1 to n do S:= S + i ; for i:=1 to n do if ( i mod 2)0 then S:=S + i; Câu 11: Để tính tổng S=2 + 4 + 6 + n; em chọn đoạn lệnh: For i:=1 to n do if ( i mod 2)=0 then S:=S + i; For i:=1 to n do S:= S + i ; c. For i:=1 to n do if ( i mod 2)=1 then S:=S + i; for i:=1 to n do if ( i mod 2)0 then S:=S + i; Câu 12: Để tính tổng S=1/2+1/4 + 1/6 + +1/ n; em chọn đoạn lệnh: for i:=1 to n do if ( i mod 2)=0 then S:=S + 1/i; for i:=1 to n do if ( i mod 2) 0 then S:=S + i; for i:=1 to n do if ( i mod 2)=0 then S:=S – 1/i else S:= S + 1/i; for i:=1 to n do if ( i mod 2)=0 then S:=S +1/ i else S:=S-1/i; Câu 13: Để đếm có bao nhiêu số lẻ nhỏ hơn hay bằng n ; em chọn đoạn lệnh: for i:=1 to n do if ( I mod 2)0 then S:=S + 1; for i:=1 to n do if ( I mod 2) =0 then S:=S + 1; for i:=1 to n do if ( I mod 2)=0 then S:=S + I ; for i:=1 to n do if ( I mod 2)=0 then S:=S + I; Câu 14: Nhặt thóc ra khỏi gạo đến khi trong gạo không còn thóc là : A. Lặp với số lần biết trước B. Lặp vô số lần C. Lặp 10 lần D. Lặp với số lần chưa biết trước Câu 15: Để sửa lỗi chương trình Turbo Pascal ta sử dụng phím tắt nào trong các phím sau: A. F9 B. Shift + F9 C. Ctrl + F9 D. Alt + F9 Câu 16: Trong câu lệnh khai báo biến mảng, phát biểu nào sau đây đúng: A. Chỉ số đầu và chỉ số cuối là 2 số nguyên; B. Chỉ số đầu £chỉ số cuối; C. Kiểu dữ liệu có thể là integer hoặc real; D. Chỉ số đầu >chỉ số cuối; Câu 17 : Hãy cho biết số lần lặp của câu lệnh for sau đây: “for i:=0 to 10 do ..” A. 13 lần B. 12 lần C. 11 lần D. 10 lần Câu 18: Trong các câu lệnh lặp Pascal sau đây, câu nào đúng A. While i:= 1 do t:=10 B. While x<=y ; do Writeln (‘y khong nho hon x’) ; C. While 1 = 1; do Writeln (‘Dung’) ; D. While (n mod i 0) do i:= i+ 1 ; Câu 19: Thuật toán sau thực hiện bao nhiêu vòng lặp? Khi kết thúc, giá trị của S bằng bao nhiêu? - Bước 1: S ¬ 10, x ¬ 0.5. - Bước 2: Nếu S £ 5.2 chuyển tới bước 4. - Bước 3: S ¬ S –x và quay lại bước 2. - Bước 4: Thông báo S và kết thúc thuật toán. A. 9 vòng lặp, S=5.5 C. 11 vòng lặp, S=4.5 B. 10 vòng lặp, S=5 D. 12 vòng lặp, S=4 Câu 20: Trong các hoạt động dưới đây, hoạt động nào là hoạt động lặp với số lần chưa biết trước? A. Tính tổng các số tự nhiên từ 1 đến 20. B. Nhập các số nguyên từ bàn phím cho đến khi đủ 50 số. C. Mỗi ngày học bài 2 lần. D. Nhập vào 1 số cho đến khi số nhập vào là số chẵn thì dừng. Phần 2: (5đ) TỰ LUẬN Câu 21: Hãy sắp xếp lại đoạn chương trình sau cho đúng: (2đ) Var s, n: integer; S:=0; n:=1; While S<=100 do n:=n+1; S:=S+n; End; Writeln(‘so n nho nhat de tong>100 la’,n); Readln; End. Begin Begin Writeln(‘tong dau tien >100)la’,S); Câu 22: (2đ) Hãy xác định đúng sai cho những phát biểu dưới đây Nội dung Đúng Sai a. Trong câu lệnh sau do của câu lệnh lặp While do phải có lệnh làm thay đổi giá trị của điều kiện điều khiển vòng lặp, để sau một số lần hữu hạn lần lặp, điều kiện phải có giá trị “sai”, vòng lặp sẽ được kết thúc (không bị lặp vô hạn lần). b. Trong nhiều trường hợp, việc thực hiện câu lệnh lặp While do tốn ít thời gian hơn so với câu lệnh lặp for do. c. Câu lệnh sau do trong câu lệnh lặp while do có thể không được thực hiện lần nào nếu ngay từ đầu điều kiện điều khiển vòng lặp có giá trị “sai”. d. Mọi câu lệnh lặp Fordo đều có thể thay thế một cách thích hợp bởi câu lệnh While..do. Câu 23: (1đ) Viết chương trình tính tổng n số tự nhiên với S<=1000? A: TRẮC NGHIỆM( 5 điểm) Mỗi ý đúng 0.25đ Câu 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Đáp án A A D B B D D A A C A A A D D C C D B B B: TỰ LUẬN (5điểm) Câu 21: (2 điểm) Var s, n: integer; S:=0; n:=1; Begin While S<=100 do Begin n:=n+1; S:=S+n; End; Writeln(‘so n nho nhat de tong>100 la’,n); Writeln(‘tong dau tien >100)la’,S);Readln; End. Câu 22: (2 điểm) Mỗi ý đúng 0.5đ Đúng Sai Đúng Đúng Câu 23: (2 điểm) Program tinh_tong; Uses crt; Var S,n : integer; Begin Clrscr; S:=0; n:=0; While S<=1000 do Begin n:=n+1; S:=S+n; End; Writeln(‘so n nho nhat de tong>1000 la’,n); Writeln(‘tong dau tien >100)la’,S);Readln; Readln End. 4. Hoạt động luyện tập - Giải trước một số câu hỏi mà học sinh thắc mắc 5. Hoạt động vận dụng 6. Hoạt động tìm tòi, mở rộng: - Xem bài kế tiếp. IV. RÚT KINH NGHIỆM: .. Khánh Hưng, ngày 07/03/ 2018 Kí duyệt: Phạm Huy Bình
File đính kèm:
- giao_an_tin_hoc_lop_8_tuan_25_nam_hoc_2017_2018.doc