Bài mới: T/g Hoạt động của thầy Hoạt động của trò 15p + Hoạt động 1: Ví dụ về cầu lệnh lặp GV: dùng bảng phụ dán ct ví dụ 2 lên bảng yêu cầu hs quan sát đọc hiểu ý - HS: quan sát đọc hiể[r]
Trang 1Ngày soạn: 24/12/2011
Tiết 37: CÂU LỆNH LẶP
I Mục tiêu:
1 Kiến thức:
- Trình bày được nhu cầu cần có cấu trúc lặp trong ngôn ngữ lập trình
- Trình bày được ngôn ngữ lập trình dùng cấu trúc lặp để chỉ dẫn máy tính thực hiện lặp đi lặp lại công việc nào đó một số lần
- Giải thích được hoạt động của câu lệnh lặp với số lần biết trước For do trong Pascal
2 Kĩ năng:
- Rèn luyện kỹ năng vận dụng câu lệnh lặp
3 Thái độ:
- Thái độ học tập nghiêm túc, yêu thích môn học
II Chuẩn bị:
Sách giáo khoa, máy tính điện tử
III Tiến trình bài dạy:
1 Tổ chức ổn định lớp (1’)
2 Bài mới
10p + Hoạt động 1: Tìm
hiểu các công việc phải
thực hiện nhiều lần
trong cuộc sống.
Trong cuộc sống hằng
ngày, nhiều hoạt động
được thực hiện lặp đi lặp
lại nhiều lần ví dụ:
- 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.? Em hãy
cho 1 vài vì dụ trong
cuộc sống mà ta phải
thực hiện lặp đi lặp lại
nhiều lần với số lần có
thể biết trước và
không biết trước.
+ Hoạt động 2: Tìm
+ Học sinh chú ý lắng nghe =>
ghi nhớ kiến thức
+ Số lần lặp biết trước:
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à
+ Số lần lặp không biết trước:
Trong một trận cầu lông các
em lặp đi lặp lại công việc đánh cầu cho đến khi kết thúc trận cầu
1 Các công việc phải thực hiện
Khi viết chương trình máy tính, trong nhiều trường hợp ta cũng phải viết lặp lại nhiều câu lệnh chỉ để thực hiện 1 phép tính nhất định
Trang 215p hiểu câu lệnh lặp - một lệnh thay cho nhiều
lệnh.
Ví dụ 1: Giả sử cần vẽ 3
hình vuông có cạnh 1
đơn vị Mỗi hình vuông
là ảnh dịch chuyển của
hình bên trái nó một
khoảng cách 2 đơn vị
? Việc vẽ hình có thể
thực hiện theo thuật toán
nào
Ví dụ 2: Thuật toán tính
S= 1+2+3+ … + 100
Bước 1: S ← 0; i ← 0
Bước 2: i← i + 1
Bước 3: nếu i ≤ 100, thì
S ← S + i và quay lại
bước 2; ngược lại kết
thúc
- Mọi ngôn ngữ lập trình
đều có cách để chỉ thị
cho máy tính thực hiện
cấu trúc lặp với một câu
lệnh đó là “câu lệnh lặp”
+ Học sinh chú ý lắng nghe
Việc vẽ hình có thể thực hiện theo thuật toán sau:
- Bước 1: vẽ hình vuông(vẽ liên tiếp 4 cạnh và trở về đỉnh ban đầu)
- Bước 2: Nếu số hình vuông
đã được vẽ ít hơn 3 , di chuyển bút vẽ về bên phải 2 đơn vị và trở lại bước 1;
ngược lại thì kết thúc thuật toán
Học sinh chú ý lắng nghe, ghi nhớ kiến thức
Học sinh chú ý lắng nghe
2 Câu lệnh lặp - một lệnh thay cho nhiều lệnh:
Cách mô tả các hoạt động trong thuật toán như các ví dụ được gọi
là cấu trúc lặp
- Mọi ngôn ngữ lập trình đều có cách để chỉ thị cho máy tính thực hiện cấu trúc lặp với một câu lệnh đó là
“câu lệnh lặp”
15p Hoạt động 3: tìm hiểu
cú pháp của câu lệnh
lặp
GV: Câu lệnh lặp
thường gặp trong Pascal
có dạng ntn?
Gv: khẳng định lại ghi
bảng
GV: Trong đó For, to,
do là những từ gì?
GV: Biến đếm có kiểu
dữ liệu gì?
- HS: for<biến đếm>:= <giá trị đầu> to <giá trị cuối> do
<câu lệnh>;
- HS: từ khóa
- HS: Biến đếm là biến đơn có kiểu nguyên;
3/ Ví dụ về câu lệnh lặp
Cú Pháp câu lệnh lặp với số lần biết trước trong Pascal
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 là biến có
kiểu nguyên;
-Giá trị đầu và giá trị
Trang 3T/g Hoạt động của thầy Hoạt động của trò Nội dung
GV: Giá trị đầu và giá
trị cuối có kiểu ntn?
GV: giá trị cuối ntn với
giá trị đầu?
GV: câu lệnh lặp này
thực hiện ntn?
GV: khi thực hiện ban
đầu biến đếm sẽ nhận
giá trị là bào nhiêu?
GV: Sau mỗi vòng lặp
biến đếm sẽ ntn?
GV viết bảng
- HS: có cùng kiểu với biến đếm (kiểu nguyên)
- HS: giá trị cuối lớn hơn giá trị đầu
-HS: Câu lệnh lặp sẽ thực
hiện câu lệnh nhiều lần, mỗi
lần, là một vòng lặp Số lần
lặp là biết trước và bằng: giá trị cuối – giá trị đầu + 1
-HS: nhận giá trị bằng giá trị đầu
-HS: sau mỗi vòng lặp, biến đếm được tự động tăng thêm một đơn vị cho đến khi bằng
giá trị cuối.
HS: Lắng nghe ghi chép
cuối là các giá trị nguyên, giá trị cuối phải lớn hơn giá trị đầu;
- Câu lệnh lặp sẽ thực
hiện câu lệnh nhiều
lần, mỗi lần, là một vòng lặp Số lần lặp là
biết trước và bằng: giá trị cuối – giá trị đầu + 1
- Khi thực hiện, ban đầu biến sẽ nhận giá trị
là giá trị đầu, sau mỗi
vòng lặp, biến đếm được tự động tăng thêm một đơn vị cho
đến khi bằng giá trị cuối.
-Câu lệnh có thể là câu
lệnh đơn giản hay câu lệnh ghép
IV Củng cố: (5phút)
? Cho một vài ví dụ về hoạt động được thực hiện lặp lại trong cuộc sống hằng ngày
V Dặn dò: (2phút)
- Về nhà học bài kết hợp sách giáo khoa.
RÚT KINH NGHIỆM SAU TIẾT DẠY
Ngày soạn:24/12/2011
Tiết 38: CÂU LỆNH LẶP (tt)
I Mục tiêu:
1 Kiến thức:
Trang 4- Viết đúng được lệnh For do trong một tình huống đơn giản
- Giải thích được lệnh ghép trong Pascal
2 Kĩ năng:
- Rèn luyện kỹ năng sử dụng vòng lặp để làm bài tập
3 Thái độ:
- Thái độ học tập nghiêm túc, yêu thích môn học
II Chuẩn bị:
Sách giáo khoa, máy tính điện tử
III Tiến trình bài dạy:
1 Ổn định lớp (1’)
2 Kiểm tra bài cũ: (5’)
? Cho một vài ví dụ về hoạt động được thực hiện lặp lại trong cuộc sống hằng ngày
? Viết Cp của câu lệnh lặp, giải thích các thành phần có trong đó, câu lệnh thực hiện ntn?
3 Bài mới:
15p + Hoạt động 1: Ví dụ về
cầu lệnh lặp
GV: dùng bảng phụ dán
ct ví dụ 2 lên bảng yêu
cầu hs quan sát đọc hiểu ý
nghĩa của ct
GV: gọi hs giải thích
GV: Giải thích thêm
chương trình của ví dụ 1
cho hs
GV: dùng bảng phụ dán
ct ví dụ 2 lên bảng yêu
cầu hs quan sát đọc hiểu ý
nghĩa của ct
GV: gọi hs giải thích
GV: Giải thích thêm
chương trình của ví dụ 2
cho hs
Cho hs nhận xét và so
sánh sự khác nhau ở câu
lệnh lặp trong hai vd trên?
- HS: quan sát đọc hiểu
- HS giải thích HS: Lắng nghe ghi chép
- HS: quan sát đọc hiểu
- HS giải thích HS: Lắng nghe ghi chép
3 Ví dụ về câu lệnh lặp:
Vd 1: Chương trình in ra màn hình thứ tự lần lặp
var i:integer;
begin for i:= 1 to 20 do writeln(‘Day la lan lap thu’,i);
readln;
end.
Vd2: chương trình ghi nhận vị trí 10 chữ O rơi
từ trên xuống
ues crt;
var i:integer;
begin clrscr;
for i:= 1 to 20 do begin
writeln(‘O’); delay(200); end;
readln;
end.
Trang 5T/g Hoạt động của thầy Hoạt động của trò Nội dung
Gv: Giải thích cho học
sinh tại sao vd2 trong câu
lệnh lặp có begin … end
*Lưu ý: Câu lệnh có sử dụng câu lệnh ghép thì phải đặt trong hai từ khóa begin … end
20p + Hoạt động 2: Tìm hiểu
tính tổng và tích bằng
câu lệnh lặp.
Ví dụ 5: Chương trình sau
đây sẽ tính tổng N số tự
nhiên đầu tiên với N nhập
từ bàn phím
GV: dùng bảng phụ dán
ct ví dụ 2 lên bảng yêu
cầu hs quan sát đọc hiểu ý
nghĩa của ct
GV: gọi hs giải thích
GV: Giải thích thêm
chương trình của ví dụ 1
cho hs
- Ví dụ 6: Ta kí hiệu N! là
tích N số tự nhiên đầu
tiên:
N! = 1.2.3…N
Yêu cầu học sinh viết
chương trình theo sự
hướng dẫn của giáo viên
- GV: gọi hs lên bảng
trình bày
- GV theo dõi
- GV giải thích thêm ct
cho hs
- HS: quan sát đọc hiểu
- HS giải thích HS: Lắng nghe ghi chép
- HS viết chương trình:
Program tinh_giai_thua;
Var N,i: Integer;
P: Longint;
Begin Write(‘N =’); readln(N);
P:=1;
For i:=1 to N do P:=P*i;
Wirteln(N,’!=’,P);
Readln;
End
- HS theo dõi nhận xét sửa sai nếu có
- HS lắng nghe theo dõi ghi bài
2 Tính tổng và tích bằng câu lệnh lặp:
Ví dụ 5: Chương trình sau đây sẽ tính tổng N số
tự nhiên đầu tiên với N nhập từ bàn phím
Program tinh_tong; Var N,i: Integer;
S: longint;
Begin Writeln(‘nhap so N =’); Readln(N);
S:=0;
For i:=1 to N do S:=S+i Witeln(‘tong la:’,S); Readln;
End
- Ví dụ 6: Ta kí hiệu N!
là tích N số tự nhiên đầu tiên:
N! = 1.2.3…N
program Tinh_Giai_Thua;
var N,i:integer;
P:longint;
begin write(‘Nhap so N = ‘); readln(N);
P:= 1;
for i:= 1 to N do
P:= P*i;
Trang 6writeln( N, ‘! = ‘, P);
readln;
end.
IV Củng cố: (3phút)
- Gọi hs giải thích lại chương trình tính tổng N số tự nhiên đầu tiên
V Dặn dò: (1phút)
- Về nhà học bài kết hợp sách giáo khoa
RÚT KINH NGHIỆM SAU TIẾT DẠY
Tiết 41: Ngày soạn: 08/01/2012 Bài thực hành số 5 LÀM QUEN VỚI TURBO PASCAL
I Mục tiêu:
1 Kiến thức:
- Biết viết chương trình Pascal có câu lệnh lặp For do
2 Kĩ năng:
- Rèn luyện kĩ năng đọc hiểu chương trình
3 Thái độ:
- Thái độ học tập nghiêm túc, yêu thích viết chương trình để thực hiện một số công việc
II Chuẩn bị:
Trang 7Nội dung bài thực hành, máy tính điện tử.
III Tiến trình thực hành:
10p
28p
+ Hoạt động 1: Ôn lại câu
lệnh lặp For do.
? Hãy nêu cú pháp và chức
năng của câu lệnh lặp
For do
+ Hoạt động 2: Viết
chương trình in ra màn
hình bảng nhân của một
số từ 1 đến 9, số nhập
được từ bàn phím và dừng
màn hình để có thể quan
sát kết quả
- Gõ chương trình sau đây:
uses crt;
var N,i:integer;
begin
clrscr;
write('Nhap so N=');
readln(N);
writeln;
writeln('Bang nhan ',N);
writeln;
for i:=1 to 10 do
writeln(N,' x ',i:2,' =
',N*i:3);
readln
end.
- Tìm hiểu ý nghĩa của các
câu lệnh trong chương
trình, dịch chương trình và
sửa lỗi
- Chạy chương trình với
- Cú pháp: For <biến đếm>:= <giá trị đầu> to
<giá trị cuối> do <câu lệnh>;
+ 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 biểu thức điều kiện, nếu biểu thức điều kiện đúng thì thực hiện câu lệnh
- B3: Biến đếm tự động tăng lên 1 đơn vị và quay lại B2
- B4: Nếu biểu thức điều kiện nhận giá trị sai thì thoát ra khỏi vòng lặp
+ Học sinh đọc kĩ đề và phân tích yêu cầu của bài toán
+ Gõ chương trình vào máy theo yêu cầu của giáo viên
+ Tìm hiểu ý nghĩa của các câu lệnh theo sự hướng dẫn của giáo viên
+ Nhấn phím F9 để sửa
1 Ôn lại câu lệnh lặp For do:
+ Cú pháp:
+ Hoạt động
2 Viết chương trình in
ra màn hình bảng nhân của một số từ 1 đến 9, số nhập được từ bàn phím
và dừng màn hình để có thể quan sát kết quả
Trang 8lược là 1, 2,…10 Quan sát
kết quả nhận được trên
màn hình
+ Nhấn Ctrl + F9 để chạy chương trình và nhập các giá trị vào, quan sát kết quả trên màn hình theo sự hướng dẫn của giáo viên
IV Nhận xét (5 phút)
Giáo viên nhận xét và đánh giá tiết thực hành
V Dặn dò: (2 phút)
- Tiết sau thực hành: “ Bài thực hành số 5 (tt)
-
-Tiết 42: Bài thực hành số 5 (tt)
LÀM QUEN VỚI TURBO PASCAL
I Mục tiêu:
1 Kiến thức:
- Biết viết chương trình Pascal có câu lệnh lặp For do
2 Kĩ năng:
- Rèn luyện kĩ năng đọc hiểu chương trình
3 Thái độ:
- Thái độ học tập nghiêm túc, yêu thích viết chương trình để thực hiện một số công việc
II Chuẩn bị:
Nội dung bài thực hành, máy tính điện tử
III Tiến trình thực hành:
15p + Hoạt động 1: Bài tập 2
- Chỉnh sửa chương trình để
làm đẹp kết quả trên màn
hình
? Kết quả chủ chương trình
nhận được trong bài 1 có + Có hai nhược điểm sauđây:
1 Chỉnh sửa chương trình để làm đẹp kết quả trên màn hình.
Trang 9những nhược điểm nào
? Nên sửa lại bằng cách
nào
- Chỉnh sửa câu lệnh lặp của
chương trình sau:
for i:=1 to 10 do
begin
GotoXY(5,WhereY);
writeln(N,' x ',i:2,' = ',N*i:3);
writeln ;
end;
- Dịch và chạy chương trình
với các giá trị gõ vào từ bàn
phím Quan sát kết quả
nhận được trên màn hình
+ Hoạt động 2: Tìm hiểu
chương trình sau:
Program tao_bang;
Uses crt;
Var
i,j: byte;
Begin
Clrscr;
For i:= 0 to 9 do
Begin
For j:= 0 to 9 do
Write(10*i + j:4);
Writeln;
End;
Readln;
End
- Gõ và chạy chương trình,
quan sát kết quả trên màn
hình
- Các hàng kết quả quá sát nhau nên khó đọc
- Các hàng kết quả không được cân đối với hàng tiêu đề
+ Nên sửa lại bằng cách chèn thêm một hàng trống giữa các hàng kết quả và đẩy các hàng này sang phải một khoảng cách nào đó
+ Học sinh chỉnh sửa theo sự hướng dẫn của giáo viên
+ Học sinh thực hiện theo yêu cầu của giáo viên
+ Tìm hiểu chương trinh theo sự hướng dẫn của giáo viên
+ Học sinh độc lập gõ chương trình
+ Nhấn F9 để dịch và sửa lỗi chương trình + Nhấn Ctrl + F9 để chạy chương trình và kiểm tra kết quả
2 Tìm hiểu chương trình sau:
Program tao_bang;
Uses crt;
Var i,j: byte;
Begin Clrscr;
For i:= 0 to 9 do Begin
For j:= 0 to 9 do Write(10*i + j:4);
Writeln;
End;
Readln;
End
Trang 10Giáo viên nhận xét và đánh giá tiết thực hành.
V Dặn dò: (2 phút)
- Tiết sau thực hành: “ Bài thực hành số 5 (tt)