Tải bản đầy đủ (.doc) (8 trang)

GA bai 10 tin hoc 11

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (216.13 KB, 8 trang )

Tuần : ....................
Tiết : 13+14+15
Ngày soạn:....................
Ngày giảng:..................
Bài 10. Cấu trúc lặp
I. mục tiêu của bài:
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 với số lần biết trớc, cấu trúc lặp kiểm tra điều kiện trớc.
2. Kĩ năng
- Biết vận dụng đúng đắn từng loại cấu trúc lặp vào tình huống cụ thể.
- Biết mô tả đợc thuật toán của một số bài toán đơn giản có sử dụng lệnh lặp.
- Viết đúng lệnh lặp với số lần biết trớc, lệnh lặp kiểm tra điều kiện trớc.
- Viết đợc thuật toán của một số bài toán đơn giản.
3. Thái độ
- Tiếp tục khơi gợi lòng ham thích giải toán bằng lập trình trên máy tính.
- Tiếp tục rèn luyện các phẩm chất cần thiết của ngời lập trình.
II. Chuẩn bị của Giáo viên và học sinh:
1. Giáo viên: SGK, giáo án, STK (máy chiếu nếu có).
2. Học sinh: SGK, chuẩn bị trớc bài ở nhà.
III. Phơng pháp giảng dạy
- Thuyết trình, đàm thoại.
IV. Tiến trình bài học và các hoạt động:
1. ổn định tổ chức: 1
2. Kiểm tra bài cũ:
Em hãy cho biết sự giống và khác nhau của hai dạng lệnh If Then.
3. Bài mới:
Tiết 13
* Hoạt động 1: Giới thiệu cho HS biết rẽ nhánh là gì?
Hoạt động của GV và HS Nội dung
- GVV: bi trc chỳng ta ó hc


v lnh r nhỏnh nhng khụng phi lỳc
no chỳng ta cng cú th s dng c
cu trỳc r nhỏnh. Nhiu bi toỏn cũn
phc tp hn m cu trỳc r nhỏnh khụng
đáp ứng được. Hôm nay chúng ta làm
quen với một dạng cấu trúc khác đó là
cấu trúc lặp.
- GV: Đưa ra hai bài toán, yêu cầu HS
tìm cách để giải bài toán này.
- HS: Đưa ra cách giải bài toán của mình,
có thể có nhiều cách giải khác nhau.
- GV: Trình bày cách giải bài toán từng
bước một.
S
1
:= 0;
S
1
:=S
1
+1/a;
S
1
:=S
1
+1/(a+1);
…….
S
1
:=S

1
+1/(a+N);
Sau đó gọi học sinh nhận xét về cách giải
bài toán này.
- HS: Nếu giải theo cách này thì ta phải
viết 100 lần câu lệnh nếu như N=100,
Nêu N>100 thì số lần phải viết chưa biết
trước. Nếu áp dụng cho cả hai bài toán thì
đều quá dài.
- GVDD: Vậy ta có thể giải bài toán này
theo cách nào ngắn nhất mà vẫn chính
xác.
- GV: Lấy 1 ví dụ thực tế về việc tính
toán lặp đi lặp lại nhiều lần để học sinh
hiểu được khái niệm lặp.
1. Lặp
- Xét 2 bài toán với a là số nguyên và a>2
Bài toán 1: Tính và đưa ra kết quả màn
hình tổng:
100
1
...
2
1
1
11
1
+
++
+

+
+
+=
aaaa
S
Bài toán 2: Tính và đưa ra kết quả màn
hình tổng:
Naaaa
S
+
++
+
+
+
+=
1
...
2
1
1
11
2
cho đến khi
0001,0
1
<
+
Na
Cách giải:
- B

1
: Khởi tạo S:=1/a;
- B
2
: Tiếp theo mỗi lần thì cộng thêm vào
S là 1/(a+N) với N=1,2,3,....
- Với bài toán 1 thì việc cộng thêm dừng
khi N=100 có nghĩa là đã biết được số lần
lặp biết trước.
- Với bài toán 2 thì việc cộng thêm dừng
khi 1/(1+N)<0,0001. Có nghĩa là số lần
lặp chưa biết trước.
Vậy: Trong lập trình có những thao tác
phải lặp đi lặp lại nhiều lần, khi đó gọi là
cấu trúc lặp.
Trong lập trình thường có hai loại cấu
trúc lặp:
+ Lặp vớí số lần biết trước.
+ Lặp với số lần không biết trước.
Ý nghĩa của cấu trúc lặp: Cấu trúc lặp là
điều khiển thực hiện công việc lặp đi lặp
lại khi chưa đủ số lần lặp hoặc một điều
kiện nào đó còn đúng.
* Hoạt động 2: Trình bày cho HS biết Lặp với số lần biết trước và cấu trúc lệnh lặp
For-do trong ngôn ngữ lập trình Pascal.
Ho¹t ®éng cña GV vµ HS Néi dung
GV dẫn dắt vào vấn đề: Trong lập trình
có hai loại cấu trúc lặp, đó là lặp với số
lần biết trước và lặp với số lần không biết
trước. Chúng ta đi tìm hiểu lần lượt từng

cấu trúc lặp.
GV: Dùng bảng phụ để đặt câu hỏi cho
HS.
GV: Gọi 2 HS lên bảng biểu diễn 2 thuật
toán trên bảng phụ bằng phương pháp vẽ
sơ đồ khối.
HS: Lên bảng biểu diễn sơ đồ khối của
hai thuật toán trên.
GV: Thuật toán trên có lặp không?
HSTL: Thuật toán trên lặp.
GV: Hai thuật toán trên giống và khác
nhau như thế nào?
HS: Trả lời theo sự hiểu biết của mình.
GV: Nhận xét tổng họp những ý kiến của
HS và dẫn dắt đưa HS biết dạng lặp với
số lần biết trước và sau đó đưa ra hai
dạng cấu trúc lặp với số lần biết trước
trong Pascal.
GV: Nói rõ cho HS biết khi nào dùng
dạng lặp tiến và khi nào dùng dạng lặp
lùi.
2. Lặp với số lần biết trước và
câu lệnh for-do
- Dạng lặp với số lần biết trước dùng để
thực hiện câu lệnh một số lần xác định.
Dạng này dùng biến điều khiển để điều
khiển vòng lặp.
- Để mô tả cấu trúc lặp với số lần biết
trước, Pascal dùng câu lệnh lặp for-do với
hai dạng tiến lùi.

+ Dạng lặp tiến:
For <biến đếm>:=<giá trị đầu> to <giá trị
cuối> do <câu lệnh>;
+ Dạng lặp lùi:
For <biến đếm>:=<giá trị cuối> to <giá trị
đầu> do <câu lệnh>;
- Trong đó:
+ Biến đếm thường là kiểu số nguyên.
+ Giá trị đầu, giá trị cuối là các biểu thức
cùng kiểu với biến đếm. Giá trị đầu nhỏ
hn giỏ tr cui.
+ Dng lp tin: Bin m t tng dn t
giỏ tr u n giỏ tr cui.
+ Dng lp lựi: Bin m t gim dn t
giỏ tr cui n giỏ tr u.
* Chỳ ý: Trong vũng lp khụng c
cha lnh lm thay i giỏ tr ca bin
iu khin.
Tiết 14
* Hoạt động 3: Rèn luyện kỹ năng vận dụng lệnh For - do
Hoạt động của GV và HS Nội dung
- ổn định lớp:
- Kiểm tra bài cũ:
HĐ 1: Kiểm tra kiến thức cũ
MT: Nhắc lại cú pháp, hoạt động của câu
lệnh For.... Do..
- GV: Hãy nêu cú pháp của hai câu lệnh
lặp với số lần lặp biết trớc và hoạt động
của chúng?
- HS:

1/ Lặp dạng tiến:
for<biếnđếm>:=<gtđ>to<gtc>do<câu
lệnh>;
2/ Lặp dạng lùi:
for<biếnđếm>:=<gtc> downto <gtđ>do
<câu lệnh>;
Hoạt động của lệnh:
- Lặp dạng tiến: câu lệnh sau DO đc
thực hiện tuần tự, với biến đếm lần
lợt nhận các giá trị tăng dần từ
GTĐ đến GTC.
- Lặp dang lùi: Câu lệnh sau DO đc
thực hiện tuần tự với biến đếm lần
lợt nhận các giá trị giảm dần từ
GTC đến GTĐ
HS: Trả lời câu hỏi
GV: Nhận xét.
HĐ 2: Vận dụng kiến thức .
* Các ví dụ về câu lệnh lặp:
MT: Vận dụng câu lệnh For do vào
biểu diễn thuật toán Tong_1a.
GV: Ví dụ cài đặt thuật toán Tong_1a.
HS: Nghe giảng, ghi bài
HS: Nghiên cứu 2 ví dụ
GV: Hãy so sánh hai thuật toán trên.
HS: Nhắc lại kiến thức cũ về thuật toán
GV: Củng cố thêm trả lời của học sinh
GV: áp dụng vào thuật toán Tong_1a hãy
trình bày thuật toán của Tong_1b.
HS: Lên trình bày thuật toán Tong_1b.

GV: Nhận xét cách làm của học sinh
HĐ 3: Vận dụng câu lệnh vào bài toán
cụ thể:
MT: Viết đợc chơng trình theo yêu cầu
của VD 2.
GV: Giới thiệu ví dụ 2
HS: Quan sát ví vụ
HS: Nghe giảng, ghi bài
VD1: Thuật toán Tong_1a.
Program Tong_1a;
Uses crt;
Var s: real;
a, N:Integer;
Begin
Clrscr;
Write(Nhap gia tri a vao: );
Readln(a);
S:=1/a;
For N:=1 to 100 do
S:=S+1/(a+N);
Writeln(Tong s la: ,S:8:4);
Readln
End.
VD2: Nhập vào từ bàn phím 2 số nguyên
dơng M và N, tính và đa ra màn hình
tổng các số chia hết cho 3 hoặc 5 trong
phạm vi từ M->N.
Program VD2;
Uses crt;
Var M,N,i: Integer;

T: longint;
Begin
Clrscr;
Write(Nhap so M nho hon N: );
Write(Nhap M: ); readln(M);
Write(Nhap N: ); readln(N);
T:=0;
For i:=M to N do
If (i mod 3 =0) or (I mod 5 =0) then
T:=T+i;
Writeln(Ket qua: , T);
Readln
End.
Tiết 15

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×