- Luyện tập cho HS về cấu trúc lặp, vận dung giải các bài toán về tìm tổng của dãy số.. Bài mới: GV: Hãy cho biết sự giống nhau và khác nhau của hai dạng câu lệnh if-then?. Tại sao phải
Trang 1Ngày soạn: 10/1/2009
Tiết 19
BÀI TẬP
I - Mục tiêu cần đạt:
+ Kiến thức:
- Củng cố thêm cho HS về cấu trúc rẽ nhánh
- Luyện tập cho HS về cấu trúc lặp, vận dung giải các bài toán về tìm tổng của dãy số
+ Kỹ năng:
- Tổ chức, xây dựng chương trình
- Kiểm soát, hiệu chỉnh chương trình
+ Thái độ:
- Tích cực, tự giác hoàn thành nhiệm vụ học tập
- Lòng yêu thích bộ môn
II – Phương pháp, phương tiện dạy học:
*Phương tiện:
+ GV: - SGK, sách bài tập, sách giáo viên tin 11
- Giáo án, phòng máy tính, máy chiếu (Projector) + HS: - SGK tin học 11
- Học và làm bài tập ở nhà
* Phương pháp:
- Các PP nhằm tích cực hóa hoạt động học tập của HS
- Thực hành trên máy tính
III - Tiến trình dạy học:
1 Ổn định tổ chức:
Ngày dạy
Sĩ số
2 Kiểm tra bài cũ: Kiểm tra sự chuẩn bị bài ở nhà của HS.
3 Bài mới:
GV: Hãy cho biết sự giống nhau và khác nhau
của hai dạng câu lệnh if-then?
HS: Đứng tại chỗ trả lời
GV: Câu lệnh ghép là gì? Tại sao phải có câu
lệnh ghép?
HS: Đứng tại chỗ trả lời
Câu 1:
Giống nhau: Cùng là câu lệnh cấu trúc rẽ nhánh, khi gặp một điều kiện nào đó thì chọn thực hiện thao tác thích hợp
Khác nhau: Trong câu lệnh if-then dạng thiếu,
nếu điều kiện không đúng thì thoát khỏi cấu trúc rẽ nhánh, thực hiện câu lệnh tiếp theo của
chương trình, còn trong câu lệnh if-then dạng
đủ, nếu điều kiện không đúng thì thực hiện
công việc 2, sau đó mới thoát khỏi cấu trúc rẽ
nhánh, thực hiện câu lệnh tiếp theo của chương trình
Câu 2:
Câu lệnh ghép là một câu lệnh được hợp thành
từ nhiều câu lệnh thành phần (đơn hoặc ghép) Câu lệnh ghép nhằm thực hiện thao tác gồm nhiều thao tác thành phần Mỗi thao tác thành phần ứng với một câu lệnh đơn hoặc câu lênh
Trang 2GV: Có thể thay câu lệnh while-do để thay
cho câu lệnh for-do được không? Cách làm
ntn?
HS: Đứng tại chỗ trả lời
GV: yêu cầu HS giải theo cách khác
GV: Yêu cầu HS cả lớp giải bài tập (viết
chương trình trên máy tính) Tính:
Xác định dữ liệu vào, ra Viết giải thuật?
HS: Thực hiện
GV: hãy viết chương trình theo giải thuật vừa
nêu?
HS: Viết chương trình
GV: Hướng dẫn, sửa sai cho HS
Yêu cầu HS thực hiện chương trình với n =50
GV: Có thể sử dụng câu lệnh While – do để
giải bài tập trên không? Hãy thực hiện?
S:=0; i:=1;
While i<=n do
Begin
S:= s+i/(i+1);
I:=i+1;
End;
ghép khác Về mặt ngôn ngữ lập trình, câu lệnh ghép là một trong các yếu tố cần thiết để xây dựng chương trình có cấu trúc
Câu 3:
Có thể thay thế đoạn chương trình chứa câu
lệnh for-do (dạng tiến) bằng đoạn chương trình chứa câu lệnh while-do như sau:
i := <giá trị đầu>;
while <i<= giá trị cuối> do
begin
<câu lệnh>;
<tăng i một đơn vị>;
end;
Bài tập 5a (SGK – Tr51):
Dữ liệu vào (Input): Nhập n
Dữ liệu ra (Output): Tổng S Giải thuật:
B1: Nhập n;
B2: S:=0; i:=1;
B3: Nếu i > n thì đưa ra giá trị S
kết thúc
B4: S:= S + i/(i+1);
B5: i := i + 1;
quay lại bước 3;
Chương trình:
Program bai5a;
uses crt;
var s: real;
n: byte;
begin
clrscr;
write(‘Nhap n: ‘); readln(n);
s:=0;
for i:=1 to n do
s:=s+i/(i+1);
writeln(‘Tong S = ‘, s:14:6);
readln
end.
1
4
3 3
2 2
1
n n
S
Trang 34 Củng cố:
- Phân biệt rõ cách dùng câu lệnh for – do, while – do.
- Chú ý kiểu của biến đếm phải là kiểu đếm được (byte, inetger, word, longint,…)
- Khi các lệnh cần thực hiện sau do nhiều hơn 1 thì phải đặt chúng vào trong cặp từ begin
… end (tạo thành 1 câu lệnh ghép).
5 Hướng dẫn về nhà:
Bài 5b:
uses crt;
var n: longint;
e, sh: real;
begin
clrscr; sh :=1/2; n := 2; e := 2+sh;
while sh>= 2*1E-6 do
begin
inc(n); sh := sh*(1/n); e := e +sh;
end;
writeln(‘ Gia tri e(n) la: ‘, e:10:6);
readln
end.
TỔ TRƯỞNG KÝ DUYỆT