kiến thức - Biết được nhu cầu cần có cấu trúc lặp được sử dụng để hướng dẫn cho máy tính thực hiện lặp lại một công việc nào đó một số lần trong ngôn ngữ lập trình.. Gv: Khi viết chương
Trang 1Dạy Lớp: 8B; 8C; 8D Ngày soạn: 11/01/2009 Tiết PPCT: 37 Ngày dạy: 13/01/2009
Bài 7 CÂU LỆNH LẶP (T1).
I. Mục đích :
1. kiến thức
- Biết được nhu cầu cần có cấu trúc lặp được sử dụng để hướng dẫn cho máy tính thực hiện lặp lại một công việc nào đó một số lần trong ngôn ngữ lập trình
- Nắm được cú pháp và cách sử dụng vòng lặp FOR… DO
2. kỹ năng
- Đọc và tìm hiểu chương trình trong các ví dụ
- Viết được câu lệnh lặp ở những bài toán đơn giản
II. Phương tiện dạy học :
- Phương pháp: thuyết trình, nêu vấn đề và vấn đáp
- Phương tiên: sgk, sgv, ví dụ minh hoạ
- Tiến trình bài giảng
1 ổn định sĩ số:
2 kiểm tra bài cũ:
? viết lại cú pháp của câu lệnh IF… THEN
3. Giới thiệu bài mới: trong cuộc sống chúng ta thường gặp những công việc lặp đi lặp lại nhiều lần (Ví dụ những ví dụ sgk.).Trong máy tính ví dụ để viết các số từ 1 đến 100 ta phải dùng lệnh write 100 lần1 thay vì việc này ta sử dụng câu lệnh lặp
4 Nội dung bài mới:
Hoạt động 1:
1 Các cơng việc phải thực hiện nhiều lần.
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
Hãy cho thêm một vài ví dụ trong thực tế
trong đời sống hằng ngày mà ta phải thực
Hs lắng nghe
Trang 2hiện các thao tác được lặp đi lặp nhiều
lần?
Gv: Khi viết chương trình máy tính cũng
vậy, 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
Hs cho ví dụ
Hoạt động 2:
2 Câu lệnh lặp – một lệnh thay cho nhiều lệnh.
Gv: Gọi 1 hs lên bảng vẽ một hình
vuông cạnh 1 đơn vị độ dài (20cm) và
yêu cầu cả lớp theo dõi bạn thực hiện
các thao tác trên bảng
Yêu cầu 1 hs mô tả các bước bạn vẽ
trên bảng
Vậy khi bạn vẽ 1 hình vuông đã thực
hiện bao nhiêu thao tác? (hs có thể chỉ
trả lời 4 thao tác là vẽ 4 đoạn thẳng)
GV: Gợi ý thêm thao tác quay thước
Các thao tác đó như thế nào?
Gv: Như vậy khi vẽ hình vuông có
những thao tác lặp đi lặp lại Thuật
toán sau sẽ mô tả các bước để vẽ hình
vuông
Gv: Mô tả thuật toán trên bảng
Gv: Mô tả thuật toán tính tổng các số
tự nhiên từ 1→ 100
Cấu trúc mô tả thuật toán như trên gọi
là cấu trúc lặp
1hs lên bảng vẽ, cả lớp theo dõi
4 thao tác
Các thao tác giống nhau
Vd1: Thuật toán mô tả các bước để vẽ hình vuông
Bước 1: k ← 0 (k là số đoạn thẳng đã
vẽ được)
Bước 2: k ← k+1 Vẽ đoạn thẳng 1 đơn vị độ dài và quay thước 900 sang phải
Bước 3: Nếu k<4 thì quay lại bước 2;
ngược lại kết thúc
•k là biến đếm
Vd2: 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
•i là biến đếm
Mô tả thuật toán trên 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 chỉ với 1 câu lệnh Đó là câu lệnh lặp
Trang 3Dạy Lớp: 8B; 8C; 8D Ngày soạn: 11/01/2009 Tiết PPCT: 38 Ngày dạy: 13/01/2009
Bài 7 CÂU LỆNH LẶP (T2).
I Mục tiờu: •Hiểu hoạt động của cõu lệnh với số lần biết trước for do trong Pascal
•Viết đỳng được lệnh for do trong một số tỡnh huống đơn giản
•Hiểu lệnh ghộp trong Pascal
•Thỏi độ nghiờm tỳc cẩn thận
II Chuẩn bị: •GV: Soạn bài, đọc tài liệu tham khảo, dụng cụ dạy học
•HS: Xem dài trớc ở nhà, dụng cụ học tập
III Tiến trỡnh bài dạy:
Hoạt động 1:
3 Vớ dụ về cõu lệnh lặp.
Gv: minh họa bẳng ngụn ngữ Pascal cỳ
phỏp cõu lệnh for … to … do
•Lưu ý cho hs:
- biến đếm là biến đơn cú kiểu
nguyờn;
- giỏ trị đầu và giỏ trị cuối là
cỏc biểu thức cú cựng kiểu với
biến đếm và giỏ trị cuối phải
lớn hơn giỏ trị đầu;
- cõu lệnh cú thể là cõu lệnh
đơn giản hay cõu lệnh ghộp
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?
Gv: Giải thớch cho học tại sao vd2
trong cõu lệnh lặp cú begin … end
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
Vd 1: Chuong 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.
*Lưu ý: Cõu lệnh cú sử dụng cõu lệnh
Trang 4ghép thì phải đặt trong hai từ khóa begin … end
Hoạt động 2:
4.Tính tổng và tích bằng câu lệnh lặp.
Gv: trình bày đoạn chương trình tính
tổng N số tự nhiên, với N là số tự
nhiên được nhập từ bàn phím (Pascal)
Theo công thức tính tổng ta cần khai
bao nhieu biến? kiểu biến?
Trong 2 biến thì biến nào có giá trị
được nhập từ bàn phím?
Trong trường hợp dữ liệu có kiểu
nguyên rất lớn ta dùng longint
Vd 1: chương trình tính tổng N số tự nhiên đầu tiên, với N là số tự nhiên được nhập từ bàn phím
S = 1+2+3+ … + N
program Tinh_tong;
var N,i:integer;
S:longint;
begin
write(‘Nhap so N = ‘);
readln(N);
S:= 0;
for i:= 1 to N do
S:= S+i;
writeln(‘Tong cua’, N, ‘so tư
nhien dau tien S = ‘, S);
readln;
end.
*Kiểu longint có phạm vi từ -231 đến
231 – 1
Vd 2: chương trình tính tích N số tự nhiên, với N là số tự nhiên được nhập
từ bàn phím
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;
writeln( N, ‘! = ‘, P);
readln;
end.
Củng cố: 1 Cấu trúc lặp trong chương trình dùng để làm gì?
2 Trong ngôn ngữ lập trình Pascal cấu trúc lặp với số lần lặp cho trước được thể hiện với câu lệnh nào?
Trang 5+) Hướng dẫn về nhà: Học bài xem lại cỏc vớ dụ, chuẩn bị thực hành.
Dạy Lớp: 8B; 8C; 8D Ngày soạn: 18/01/2009.
Tiết PPCT: 39 Ngày dạy: 20/01/2009
Bài thực hành 5 (T1)
sử dụng lệnh lặp for do
I Mục tiêu:
1 Kiến thức: Vận dụng kiến thức của vòng lặp for… do, câu lệnh ghép để viết chơng
trình.
2 Kỹ năng:
Viết đợc chơng trình có sử dụng vòng lặp for … do;
Sử dụng đợc câu lệnh ghép;
Rèn luyện kỹ năng đọc hiểu chơng trình có sử dụng vòng lặp for … do.
3 Thái độ: Thái độ học tập nghiêm túc, tích cực làm các bài tập thực hành.
II Chuẩn bị:
- Sách giáo khoa, giáo án, tài liệu tin học có liên quan Phòng máy.
- Đọc tài liệu ở nhà trớc khi lên lớp
III Tiến trình lên lớp:
Chúng ta đã nghiên cứu lý thuyết về vòng lặp for … do để biết vòng lặp chạy nh thế nào thì hôm nay chúng ta cùng nhau đi vào tiết thực hành Giáo viên ghi tên bài học lên bảng.
Hoạt động 1: Viết chơng trình cho các bài tập đã cho về nhà
- GV: yêu cầu mỗi dãy gõ một bài vào
máy.
- HS: gõ chơng trình, chạy thử chơng trình,
và báo cáo kết quả.
- GV: hỗ trợ học sinh trong quá trình thực
hành.
- Sau khi kết quả chạy chơng trình đã
đúng, gv yêu cầu học sinh chữa bài của
Bài 1: Tính tổng của n số tự nhiên đầu tiên Program tinh_tong;
Uses crt;
Var i, n: integer ; tong: longin ; Begin
Clrscr;
Tong:=0;
Writeln(‘Nhap vao so n’); readln(n);
For i:=1 to n do Tong: = Tong+i;
Writeln(‘Tong của’, n,’so tu nhien dautien la’,tong);
Readln;
End.
2 Viết chơng trình tìm xem có bao nhiêu số dơng trong n số nhập vào từ bàn phím
Program tinh_so_cac_so_duong;
Uses crt;
Var i,A, dem, n: integer ; Begin
Clrscr;
Dem:=0;
Trang 6mình đã làm ở nhà cho đúng theo chơng
trình đã chạy.
Writeln(‘Nhap vao so n’); readln(n);
For i:=1 to n do begin
writeln(‘nhap vao so thu’,i); readln(A);
if A>0 then dem:=dem+1;
end;
Writeln(‘So cac so duong la’,dem);
Readln;
End.
Hoạt động 2: Bảng cửu chơng.
- GV: Đa ra nội dung của bài toán.
- HS: Nghiên cứu bài toán, tìm input và
output.
- GV: Đa nội dung chơng trình lên màn
hình, yêu cầu học sinh đọc hiểu chơng
trình.
- HS: đọc, phân tích câu lệnh tìm hiểu
hoạt động của chơng trình.
- GV: yêu cầu một học sinh đứng tại vị trí
trình bày hoạt động của chơng trình, các
nhóm khác cùng tham gia phân tích.
- HS: tham gia hoạt động của giáo viên
- GV: yêu cầu học sinh lập bảng hoạt
động của chơng trình theo mẫu:
Giả sử N =2:
Bớc i i<=10 Writeln( n,’.’,i,’=’,n*i )
- HS: các nhóm lập bảng và đại diện
nhóm báo cáo kết quả.
- GV: nhận xét.
- GV: cho chơng trình chạy trên máy, yêu
cầu học sinh quan sát kết quả.
Bài 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, và dừng màn hình để có thể quan sát kết quả.
Program Bang_cuu_chuong;
Uses crt;
Var i, n: integer ; Begin
Clrscr;
Writeln(‘Nhap vao so n’); readln(n);
Writeln(‘Bang nha’,n);
Writeln;
For i:=1 to 10 do Writeln(n,’x’,i:2,’=’,n*i:3);
Readln;
End.
Nhận xét, rút kinh nghiệm tiết thực hành
bài thực hành 2 SGK (T63) viết chơng trình in
ra màn hình bảng cửu chơng từ 2 đến 9.
1. Củng cố :
- Giáo viên hệ thống lại toàn bộ nội dung bài học.
- Nhận xét, rút kinh nghiệm tiết thực hành
2. H ớng dẫn về nhà :
- Học bài theo sách giáo khoa và vở ghi, Ôn lại các kiến thức chính đã học và luyện viết, làm đi làm lại nhiều lần.
- Học kĩ lí thuyết, viết chơng trình tính tông 100 số tự nhiên, N số tự nhiên đầu tiên.
- về nhà xem trớc bài thực hành 2 SGK (T63) viết chơng trình in ra màn hình bảng cửu chơng từ 2 đến 9.
- Đọc bài mới để giờ sau học.
Trang 7Dạy Lớp: 8B; 8C; 8D Ngày soạn: 18/01/2009.
Tiết PPCT: 40 Ngày dạy: 20/01/2009
Bài thực hành 5 (T2)
sử dụng lệnh lặp for do
I Mục tiêu:
Vận dụng kiến thức của vòng lặp for… do, câu lệnh ghép để viết chơng trình, tìm hiểu câu lệnh gotoxy(), where<>, lệnh for lồng trong for
Viết chơng trình có sử dụng vòng lặp for … do;
Sử dụng câu lệnh ghép trong chơng trình;
Rèn luyện kỹ năng đọc hiểu chơng trình có sử dụng vòng lặp for … do.
II Chuẩn bị: - Sách giáo khoa, giáo án, tài liệu tin học có liên quan Phòng máy
- Đọc tài liệu ở nhà trớc khi
III Tiến trình lên lớp:
Hoạt động 1: Làm đẹp màn hình kết quả bằng lệnh gotoxy, where
- Giáo viên cho chạy kết quả của bài thực
hành Bang_cuu_chuong Yêu cầu học sinh
quan sát kết quả và nhận xét khoảng cách
giữa các hàng, cột.
-HS: quan sát và đa ra nhận xét.
- ? Có cách nào để khoảng cách giữa các hàng
và các cột tăng lên?
- GV: Giới thiệu câu lệnh gotoxy và where.
-GV: yêu cầu học sinh mở chơng trình
Bang_cuu_chơng và sửa lại chơng trình theo
bài trên màn hình của giáo viên.
- HS: gõ chơng trình vào máy, sửa lỗi chính
tả, chạy chơng trình, quan sát kết quả.
- GV: yêu cầu học sinh quan sát kết quả và so
sánh với kết quả của chơng trinh khi cha dùng
lệnh gotoxy(5, wherey)
- HS: quan sát và nhận xét.
Bài 2 sgk (T63) a) Giới thiệu lệnh gotoxy(), wherex
- Gotoxy(a,b) Trong đó: a là chỉ số cột, b là chỉ số hàng
- ý nghĩa của câu lệnh là đa con trỏ về cột a hàng b.
- Wherex: cho biết số thứ tự của cột, wherey cho biết số thứ tự của hàng.
* Lu ý: Phải khai báo th viện crt trớc khi sử dụng hai lệnh trên
a) Chỉnh sửa chơng trình nh sau:
Program Bang_cuu_chuong;
Uses crt;
Var i, n: integer ; Begin
Clrscr;
Writeln(‘Nhap vao so n’); readln(n);
Writeln(‘Bang nha’,n);
Trang 8For i:=1 to 10 do begin
gotoxy(5, wherey);
Writeln(n,’x’,i:2,’=’,n*i:3);
Readln;
End.
Hoạt động 2: sử dụng lệnh For lồng trong for.
- GV: giới thiệu cấu trúc lệnh for lồng, hớng
dẫn học sinh cách sử dụng lệnh.
- HS: ghi chép cấu trúc và lĩnh hội
- GV: đa nội dung chơng trình bài thực hành 3
lên màn hình, yêu cầu học sinh đọc chơng
trình, tìm hiểu hoạt động của chơng trình.
- HS: hoạt động theo nhóm, tìm hiểu hoạt
động của chơng trinh, đại diện của nhóm báo
cáo kết quả thảo luận.
- GV: cho chạy chơng trình.
- HS : quan sát kết quả trên màn hình.
Bài 3 SGK (T64).
a) Câu lệnh for lồng trong for
- For <biến đếm1:= giá trị đầu> to <giá
trị cuối> do
For <biến đếm 2:=giá trị đầu> to <giá
trị cuố> do
< câu lệnh>;
Program Tao_bang;
Uses crt;
Var i,j: byte ; Begin
Clrscr;
For i:=1 to 9 do
Begin
For j:=0 to 9 do Writeln(10*i+j:4);
Writeln;
End;
Readln;
End.
Hoạt động 3: kết thúc.
HS: tắt chơng trình ứng dụng, tắt máy, tắt
nguồn
1. Củng cố : - Giáo viên hệ thống lại toàn bộ nội dung bài học.
- Nhận xét rút kinh nghiệm giờ thực hành.
2. H ớng dẫn về nhà : Học bài theo sách giáo khoa và vở ghi, Ôn lại các kiến thức chính đã
học và luyện viết, làm đi làm lại nhiều lần.
Trang 9- học sinh về nhà sử dụng lệnh gotoxy để chỉnh sửa lại bài thực hành số 3 cho kết quả in
ra màn hình đẹp.
- Đọc bài mới để giờ sau học.