Mục tiêu : *Biết nhu cầu cần có cấu trúc lặp trtong ngôn ngữ lập trình; *Biết ngôn nhữ 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ố
Trang 1NS: 12 / 01 / 09 ND: 15 / 01 / 09.
Tiết 37, 38: Câu lệnh lặp
I Mục tiêu :
*Biết nhu cầu cần có cấu trúc lặp trtong ngôn ngữ lập trình;
*Biết ngôn nhữ 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
* Hiểu hoạt động của câu lệnh lặp với số lần biết trớc For…do trong pascal.
*Viết đúng lệnh For….do trong một số tình huống đơn giản.
* Biết lệnh ghép trong pascal.
II Chuẩn bị:
GV: Máy chiếu, Máy tính
HS: SGK, đọc qua bài mới
III Tiến trình lên lớp:
1 Bài cũ: Hãy cho biết cấu trúc, dạng đủ và dạng thiếu của câu lệnh điều kiện ?
2 Bài mới:
GV giới thiệu: 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
HS: Lắng nghe
GV: Hãy nêu thao tác vẽ liên tiếp ba
hình vuông?
GV: mô tả thuật toán cho HS rõ
GV: gọi 1 hs nêu thuật toán mô tả của
ví dụ 2
GV: Giới thiệu cú pháp thờng gặp
trong Pascal
Hãy cho biết các từ khóa trong câu
lệnh?
HS: Đọc ví dụ 3 ở sgk
GVLu ý cho hs rõ:
HS theo dõi cách viết một chơng trình
hoàn chỉnh của một bài toán đơn giản
GV: Kiểu longint cũng là kiếu số
nguyên, nhng có thể lu các số nguyên
1 Các công tác phảI thực hiện nhiều lần.
Ví dụ: (Sgk)
2.Câu lệnh lặp - một lệnh thay cho nhiều lệnh
Ví dụ1: Vẽ 3 hình vuông có cạnh1 đơn vị Thuật toán mô tả nh sau:
B1 k 0( k là số đ thẳng vẽ đợc) B2 k k+1 Vẽ đ thẳng 1đơn vị dài B3 Nếu k<4 thì trở lại bớc 2; ngợc lai, kết thúc
Ví dụ 2: tính S = 1+2+3+…….+100
* 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ác lệnh lặp
3 Ví dụ về câu lệnh lặp For<biến đếm>: = < giá trị đầu> to < giá
trị cuối > do < câu lệnh> ;
Vi dụ 3: (Sgk)
Ví dụ 4: Viết chơng trình ghi nhận các vị trí của quả trứng rơI từ trên cao xuống , ta
có thể lặp lại nhiều lần( 20 lần)
Uses crt ; Var I : integer ; Begin
Clrscr ;
For i : = to 20 do Begin writeln(‘o’); delay(100) end ;
Readln
End.
4.Tính tổng và tích bằng câu lệnh lặp
Ví dụ 5: tính tổng của N số tự nhiên đầu tiên
Program tinh_tong ; Var N, i: Integer ;
S: longint;
Begin
Write( ‘ nhap so N = ‘) ; readln (N) ; S: = 0 ;
Trang 2trong phạm vi từ -231đến 231-1
Lớn hơn nhiều so với kiểu Integer
( chỉ từ -215 đến 215 - 1)
Tơng tự GV có thể cho 1 HS lên bảng
viết chơng trình tính tích số tự nhiên
đầu tiên
Lu ý: N! là số rất lớn so với N
IV Hoạt động cũng cố:
Hãy cho biết cú pháp của câu lệnh
lặp?
GV: tổ chức cho HS làm bài tập 1,2,3
ở SGK
Đọc thuộc phần ghi nhớ ở sgk
Làm bài tập 4,5,6(SGK) , làm hết ở
sách BT
For i : = 1 to N do S: = S + i ;
Writeln(‘ Tong cua ‘ ,N,’ío tu nhien dau tien
S = ‘,S ) ; Readln
End.
Ví dụ 6: Tính tích số tự nhiên đầu tiên( N!) N! = 1.2.3… N
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 ;
Writeln ( N , ‘ ! = ‘ , P ) ; Readln
End.