Bài 1: Cho một vài ví dụ về hoạt động được thực hiện lặp đi lặp lại nhiều lần trong cuộc sống hàng ngày. Lời giải :[r]
Trang 1HƯỚNG DẪN HỌC SINH ÔN TẬP KIẾN THỨC TRỌNG TÂM MÔN TIN HỌC 8
TỪ TUẦN 20 - TUẤN 23 I/ MỤC TIÊU:
1 Kiến thức
- Củng cố kiến thức vòng lặp với số lần biết trước for do
2 Kỹ năng:
Vận dụng vòng lặp for … to do giải quyết các bài toán đơn giản
3 Thái độ
Thái độ học tập tự giác, tích cực làm các dạng bài tập
II/ CHUẨN BỊ:
1 Giáo viên: soạn tài liệu hướng dẫn học sinh
2 Học sinh: sách vở, kiến thức đã học
III NỘI DỤNG
A kiến thức cần nhớ.
* Cấu trúc lặp với lệnh FOR DO:
- Tác dụng: Dùng để xây dựng chu trình với số lần lặp xác định
- Cú pháp:
For <Biến đếm > := <giá trị đầu> to <giá trị cuối> do <Câu lệnh> ; Trong đó:
+ for, to, do là các từ khóa.
+ Biến đếm có kiểu nguyên.
+ Giá trị đầu ≤ giá trị cuối là các số nguyên.
+ Câu lệnh có thể là câu lệnh đơn giản hay câu lệnh ghép
+ Số lần lặp = giá trị cuối – giá trị đầu +1
+ Hoạt động của vòng lặp:
- B1: biến đếm nhận giá trị đầu
- B2: Chương trình kiểm tra các điều kiện, nếu các điều kiện đúng thì thực hiện câu lệnh sau do, ngược lại kết thúc vòng lặp
- B3: Biến đếm tự động tăng lên 1 đơn vị và quay lại B2
B Hệ thống các câu hỏi bài tập
I/ Trắc nghiệm: chọn phương án em cho là đúng nhất:
Câu 1: Cú pháp câu lệnh lặp nào sau đây là đúng?
A For <biến đếm>= <giá trị đầu> to <giá trị cuối> 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 <biến đếm>:= <giá trị cuối> to <giá trị đầu> do <câu lệnh>;
Trang 2D For <biến đếm>: <giá trị đầu> to <câu lệnh> do <giá trị cuối>;
Câu 2: Câu lệnh nào sau đây là đúng?
A For i:= 100 to 1 do writeln(‘A’);
B For i:= 1.5 to 10.5 do writeln(‘A’);
C Var i: integer ; For i:= 1 to 10 do writeln(‘A’);
D Var i: real; For i:= 1 to 10 do writeln(‘A’);
Câu 3: Khi thực hiện xong đoạn chương trình sau:
s:=1;
for i:=1 to 5 do s := s+i;
Giá trị của biến S bằng bao nhiêu?
Câu 4: Câu lệnh pascal nào sau đây là hợp lệ?
A For i:=100 to 1 do writeln(‘A’); B For i:=1.5 to 10.5 do writeln(‘A’);
C For i= 1 to 10 do writeln(‘A’); D For i:= 1 to 10 do writeln(‘A’);
Câu 5: Trong lệnh lặp for…do của Pascal, trong mỗi vòng lặp, biến đếm thay đổi như thế nào?
C Một giá trị bất kì D Một giá trị khác 0
Câu 6: Vòng lặp trong đoạn chương trình sau thực hiện bao nhiêu lần lặp:
S:=0; For i:=10 to 50 do S:=S+i;
A 10 lần B 50 lần C 40 lần D 41lần
Câu 7: Khi thực hiện xong đoạn chương trình sau:
S:=0; For i:=1 to 5 do S:=S+i;
Giá trị của biến S bằng bao nhiêu?:
A 20 B 15 C 10 D 0
Câu 8: Cho các câu lệnh sau hay chỉ ra câu lệnh đúng:
A for i:=1 to 10; do x:=x+1 B for i:=1 to 10 do x:=x+1
C for i:=10 to 1 do x:=x+1 D for i:= 1 to 10 for j:=1 to 10 do x:=x+1
Câu 9: Cho S và i là biến nguyên Khi chạy đoạn chương trình :
s:=1;
for i:=1 to 5 do s := s *i;
writeln(s);
Kết quả in lên màn hình là :
Câu 10: Khi thực hiện xong đoạn chương trình sau:
Trang 3for i:=1 to 2 do s:= (2 + s) * i;
Giá trị của biến S bằng bao nhiêu?
Câu 11: Khi thực hiện xong đoạn chương trình sau:
s:=1;
for i:=1 to 3 do s:= s * i;
Giá trị của biến S bằng bao nhiêu?
Câu 12: Khi thực hiện xong đoạn chương trình sau:
s:=1;
for i:=0 to 2 do s:= s +3 * i;
Giá trị của biến S bằng bao nhiêu?
Câu 13: Khi thực hiện xong đoạn chương trình sau:
s:=0;
for i:=3 to 5 do s:= s + i;
Giá trị của biến S bằng bao nhiêu?
Câu 14: Khi thực hiện xong đoạn chương trình sau:
s:=3;
for i:=0 to 2 do s:= i + (2 * s - 1);
Giá trị của biến S bằng bao nhiêu?
Câu 15: Khi thực hiện xong đoạn chương trình sau:
s:=4;
for i:=1 to 2 do s:= 2*s + 1;
Giá trị của biến S bằng bao nhiêu?
II Điền đúng sai (Đ/S) trong các phát biểu sau:
A) Trong câu lệnh lăp For do ; biến đếm phải là số nguyên
B) Trong câu lệnh lăp For do; không nên thay đổi giá trị của biến
đếm:
VD: For i:=1 to n do i:=i+2;
Trang 4C) Câu lệnh lặp rất thuận tiện trong việc tránh phải viết lặp đi lặp
lại nhiều lần một lệnh nào đó Ví dụ để in ra các số thực hơn kém
nhau 0,1 đơn vị từ 0 đến 1.5 ta chỉ việc viết một câu lệnh như sau:
For i:=0 to 1.5 do writeln(i:3:1);
D) Thật khó để tính tổng của các số chẵn trong khoảng (2;3900) chỉ
trong thời gian ngắn trong khi đó ta chỉ cần cho Pascal thực hiện 2
lệnh sau đây trong một vài phần triệu giây:
s:=0;
for i:=2 to 3900 do if i mod 2 = 0 then s:=s+i ;
III Tự luận
Bài 1: Cho một vài ví dụ về hoạt động được thực hiện lặp đi lặp lại nhiều lần trong cuộc sống hàng ngày
Bài 2 : Áp dụng vòng lặp for do viết chương trình
Tính tổng S = 10 +11+12+ n (n là số nguyên)
Cho biết vòng lặp đã thực hiện bao nhiêu lần lặp
C Hướng dẫn làm bài.
I Tr c nghi mắc nghiệm ệm
II Điền đúng sai
III Tự luận
Bài 1: Cho một vài ví dụ về hoạt động được thực hiện lặp đi lặp lại nhiều lần trong cuộc sống hàng ngày.
Lời giải :
- Các ngày trong tuần các em đều lặp đi lặp lại hoạt động buổi
sáng đến trường và buổi trưa trở về nhà
- Các em học bài thì phải đọc đi đọc lại nhiều lần cho đến khi
thuộc bài
- Mặt trời luôn mọc đằng đông lặn đằng tây
Trang 5Bài 2:
Chương trình:
Var i, n : Integer; S:longint;
Begin
Write('Hay nhap vao so nguyen n='); Readln(n);
S:=0;
For i:=10 to n do
S:= S + i;
Writeln( ' Tong S =', S );
Writeln( ' so lan lap =', n-10+1 );
Readln;
End