Tải bản đầy đủ (.pdf) (6 trang)

Giáo án Tin Học 11Cấu Trúc Lặp (tiết 2) pdf

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 (143.38 KB, 6 trang )

Giáo án Tin Học 11
Phương Thị Chang – CNTT - ĐHSPHN 1
Cấu Trúc Lặp (tiết 2)

I. MỤC ĐÍCH, YÊU CẦU:
Sau kết thúc bài:
- Hiểu được nhu cầu của cấu trúc lặp trong biểu diễn thuật toán;
- Hiểu được cấu trúc lặp với số lần cho trước, cấu trúc lặp kiểm tra điều
kiện trước;
- Biết cách vận dụng đúng đắn cấu trúc lặp trước vào tình huống cụ thể;
- 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 với số lần lặp cho trước;
- Viết đúng các lệnh lặp với số lần biết trước;
- Viết được thuật toán của bài toán đơn giản sử dụng cấu trúc lặp trên.
II. PHƯƠNG PHÁP, PHƯƠNG TIỆN:
1. Phương pháp:
- Kết hợp kiến thức trong sgk và các kiến thức trong các sách tham
khảo và các tư liệu khác (nếu có). Nếu nhà trường có máy chiếu, có thể
chuẩn bị các slide để trình chiếu hoặc chạy thử đoạn chương trình để cả lớp
cùng theo dõi.
-Hình thức giảng dậy: thuyết trình, vấn đáp, phân tích và giải thích (nếu
cần)
2. Phương tiện:
- Sách giáo khoa tin học lớp 11;
- Vở ghi lý thuyết và bài tập lớp 11;
- Giáo án
- Sách tham khảo và các trang thiết bị tin học như máy tính, máy chiếu
(nếu có).
III. Tiến trình lên lớp
1. ổn định lớp: (1 phút)
Yêu cầu lớp trưởng ổn định lớp và báo cáo sĩ số.


2. Kiểm tra bài cũ: (3 phút)
Câu hỏi:
Tại sao lại sử dụng cấu trúc lặp ?
Có mấy dạng cấu trúc lặp và nêu trường hợp áp dụng cho mỗi
dạng ?
3. Gợi động cơ: (2 phút)
Cấu trúc lặp trước có ý nghĩa rất quan trọng trong lập trình trong ngôn
ngữ lập trình pascal cũng vậy. Muốn cho việc viết chương trình thực thi
được dễ dàng thì ta phải xây dựng thuật toán. Tiết trước chúng ta đã xem xét
hai thuật toán của hai dạng lặp với số lần biết trước, tiết này chúng ta dựa
trên hai thuật toán đó để xây dựng chương trình sử dụng cú pháp lặp với số
lần cho trước.



Giáo án Tin Học 11
Phương Thị Chang – CNTT - ĐHSPHN 2




4. Nội dung bài giảng:

Số
thứ
tự
Nội dung Hoạt động của thầy và trò Thời
gian
1 Chương trình xây dựng dựa
trên thuật toán tong_1a:

Program tong_1a;
Uses crt;
Var s: real;
N, a: integer;
Begin
Clrscr;
Write (‘ nhap vao gia tri cua
a’);
Readln(a);
S:=1.0/a; {bước1 }
For N:= 1 to 100 do
S:= S + 1/(a+N);
{ bước 2, 3, 4 }
Write (‘ tong s la:’, s:8:4); {
bước 5 }
Readln
End.

















Yêu cầu học sinh:
Đọc và tìm hiểu thuật toán
trong thời gian giáo viên viết
thuật toán lên bảng.
Thuyết trình:
Phân tích và giải thích các
lệnh trong chương trình:
Chương trình này xây dựng
dựa trên thuật toán tong_1a
(dạng lặp tiến của cấu trúc lặp)
với số lần biết trước trong đó
biến điều khiển là N, N cho
biết số lần lặp. Khi
1<= N <=100 thì thực hiện lặp,
sau lần lặp thứ 100 thì kết thúc
lặp.
Bước 1 của thuật toán:
S := 1.0/a;
For N:= 1 to 100 do
S:= S + 1/(a+N);
Câu lệnh lặp này đã bao
gồm cả ba bước 2, 3, 4 của
thuật toán. Đầu tiên N nhận
giá trị là 1, sau đó thực hiện
lệnh trong vòng for, cộng vào
tổng s một số hạng 1/(a+N).
Sau khi tính toán hoàn tất thì

biến đếm được tự động tăng
lên giá trị tiếp theo và mỗi lần
tăng giá trị biến đếm là một
lần thực hiện lệnh trong vòng
lặp. Còn với s, ban đầu được
gán giá trị là 1.0/a. Khi vào
vòng lặp for thì lần lượt được
cộng thêm vào các số hạng
12
phút
Giáo án Tin Học 11
Phương Thị Chang – CNTT - ĐHSPHN 3




Chương trình này được viết
trong Pascal như sau:



Màn hình kết quả như sau:

dạng 1/(a+N)
(N=1, 2, 3 100) và nó sẽ giữ
giá trị thay đổi khi ra khỏi
vòng for.
Write (‘ tong s la:’, s:8:4);
Đây là bước thứ 5 của thuật
toán, ta đưa ra màn hình giá trị

của s và sau đó kết thúc
chương trình với từ end.





Chương trình xây dựng dựa
trên thuật toán tong_1b
Program tong_1b;
Uses crt;
Var s: real;
N, a: integer;
Begin
Clrscr;
Write( ‘ dua vao gia tri a’);
Readln(a);
S:= 1.0/a; { bước 1}
For N:= 100 downto 1 do
{bước 2 và bước 3}
Yêu cầu:
Giới thiệu chương trình của
thuật toán tong_1b bằng cách
gợi ý so sánh với chương trình
của thuật toán tong_1a.
Với học sinh:
Yêu cầu lên viết chương
trình của thuật toán tong_1b và
giải thích một số câu lệnh theo
ý hiểu.

Thuyết trình:
Chương trình này chỉ khác
chương trình trên ở trình tự
8
Giáo án Tin Học 11
Phương Thị Chang – CNTT - ĐHSPHN 4
S:= S + 1/(a + N);
{bước 4}
Write(‘ tong la:’, s: 8:4);
{bước 5}
Readln
End.
thực hiện vòng lặp. Ở trên thì
biến điều khiển được tự động
tăng, còn ở dưới thì biến điều
khiển được tự động giảm từ
100 xuống 1 và cũng tương tự
như trên thì mỗi lần biến điều
khiển giảm thì là một lần câu
lệnh trong vòng for được thực
hiện. và nó kết thúc khi biến
đếm I nhận giá trị bằng 1
2 Ví dụ khác:
Viết chương trình thực
hiện nhập từ bàn phím hai số
nguyên dương M và N (M <
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 N.

Chương trình :
Program vi_du_2;
Uses crt;
Var M, N, I: integer;
T: longint;
Begin
Clrscr;
Writeln (‘nhap vao so M nho
hon so N’);
{ Bước 1}
Write (‘M = ‘);
Readln (M);
Write (‘N = ‘);
Readln (N);
T := 0; {Bước 2}
For I := M to N do
{Bước 3, Bước 4}
If (I mod 3 = 0) or
(I mod 5 = 0) then
T := T + I; {Bước 5}
Writeln (‘ket qua: ‘, T) {Bước
6}
Readln
End.


Yêu cầu học sinh:
Viết thuật toán cho ví dụ
này.
Thuật toán như sau:

Bước 1: nhập M và N
(M < N)
Bước 2: T 0 ;
I M-1;
Bước 3: I I+1;
Bước 4: nếu I > N thì chuyển
đến bước 6;
Bước 5: nếu I mod 3= 0 hoặc
I mod 5= 0 thì
T= T + I; quay lại bước 3;
Bước 6: đưa ra màn hình T,
rồi kết thúc.
Thuyết trình:
Ở ví dụ này số lần lặp
cũng là biết trước.Giá trị đầu
tiên mà biến đếm (biến điều
khiển) nhận là M, sau đó tự
động tăng cho đến khi nhận
giá trị N thì kết thúc.
Bước 1 của thuật toán:
T := 0;
Gán giá trị ban đầu của T là
0
For I := 1 to 100 do
S:= S + I;
Câu lệnh lặp này đã bao
gồm cả ba bước 3, 4,5 của
thuật toán. Đầu tiên I nhận giá
trị là M, sau đó thực hiện lệnh
trong vòng for, cộng vào tổng

10
Giáo án Tin Học 11
Phương Thị Chang – CNTT - ĐHSPHN 5
s giá trị I thoả mãn điều kiện
chia hết cho 3 hoặc chia hết
cho 5. Sau khi tính toán hoàn
tất thì biến đếm được tự động
tăng lên giá trị tiếp theo và
mỗi lần tăng giá trị biến đếm
là một lần thực hiện lệnh trong
vòng lặp. Còn với s, ban đầu
được gán giá trị là 0. Khi vào
vòng lặp for thì lần lượt được
cộng thêm vào các số hạng
dạng I ( thoả điều kiện)
(I= M, , N) và nó sẽ giữ giá
trị thay đổi khi ra khỏi vòng
for.
Write (‘ tong s la:’, T);
Đây là bước thứ 6 của thuật
toán, ta đưa ra màn hình giá trị
của s và sau đó kết thúc
chương trình với từ end.
Có một điểm khác giữa
chương trình này với hai
chương trình trên là kiểm tra
điều kiện của I thoả chia hết
cho 3 hoặc chia hết cho 5 thì
mới tính tổng của T.



IV. Củng cố bài học (4 phút)
Giáo viên củng cố kiến thức của bài học:
- Nhấn mạnh ý nghĩa của cấu trúc lặp với số lần lặp biết trước.
- Nhắc lại hai chương trình được xây dựng trong tiết học. So sánh sự
giống và khác nhau giữa hai thuật toán để học sinh dễ dàng nắm
được bài. Nhận thấy sự khác nhau căn bản nhất giữa hai chương
trình tính tổng là ở chương trình thứ nhất biến đếm sẽ được tăng giá
trị từ 1 đến 100, còn ở chương trình thứ hai thì biến đếm sẽ giảm từ
100 xuống 1. Tuy có sự khác nhau về biến nhưng số lần lặp đều là
100 cho nên cho ra chung một kết quả s. Như vậy hai chương trình
này bản chất là như nhau chỉ khác cách thức tính s.
V. Bài tập về nhà (3 phút)
- Xem lại các ví dụ trên lớp
- Các bài tập trong sách bài tập
Làm bài tập sau:
Giáo án Tin Học 11
Phương Thị Chang – CNTT - ĐHSPHN 6
Viết chương trình giải bài toán 100 trâu 100 cỏ, 1 trâu đứng ăn 5
bó, trâu nằm ăn 3 bó. Hỏi mỗi loại có mấy con ?
VI. Nhận xét của giáo viên về tiết học (2 phút)
- Ý thức học tập của lớp
- Hiệu quả học tập
- Rút kinh nghiệm sau tiết học

×