Moïi ngöôøi haøng xoùm, cuøng baïn beø cuûa Hieáu cuøng nhau gaùnh luùa, coù anh gaùnh nhieàu, coù chò gaùnh ít, nhöng cuoái cuøng thì luùa ngoaøi ñoàng cuõng ñöôïc mang veà?. Ñeå [r]
(1)Kiểm tra cũ HS1:
1./ Biểu thức thiết phải có câu lệnh rẽ nhánh?
2./ Viết cú pháp câu lệnh rẽ nhánh dạng đủ. HS2:
(2)Nhà Hiếu gặt lúa xong, việc gánh lúa về nhà Mọi người hàng xóm, bạn bè Hiếu gánh lúa, có anh gánh nhiều, có chị gánh ít, cuối lúa đồng cũng mang Trước người bắt đầu cơng việc ta có biết trước người gánh lúa lần khơng ?
Giả sử, bình nước lọc có dung tích 20 lít, mỗi lần đổ lít vào bình Để cho nước đầy bình ta phải thực lần ?
Laëp 20 lần
(3)§10 CẤU TRÚC LẶP
§10 CẤU TRÚC LẶP
1 Lặp :
1 Lặp :
Xét tốn sau:
(4)N S 1 2 3
S := ;
Laëp S := S+ i ;
( i = 1, 2, 3,…….,n )
Khi i > n kết thúc vịng lặp Ý tưởng
(5)Bài toán 2
Bài toán 2::
Tính tổng Tính tổng Sao cho
Sao cho S 100S 1 2 3 N S :=0 ;
i := ;
(6)2.Lặp với số lần biết trước câu lệnh for – do:
Thuật toán để giải toán 1:Thuật toán để giải toán 1: Thuật toán tong1 :
Bước 1: Nhập n
Bước 2: S ; i1 ;
Bước 3: Nếu i > n chuyển đến bước 5
(7) Thuật toán tong2 : Bước 1: Nhập n
Bước 2: S ; in ;
Bước 3: Nếu i < chuyển đến bước 5
(8)Trong Pascal, câu lệnh lặp for – có dạng: dạng tiến dạng lùi.
a./ Dạng tiến Cú pháp :Cú pháp :
Trong đó:
For , to, : từ khóa
Biến đếm biến đơn thuộc kiểu nguyên.
Giá trị đầu giá trị cuối phải cùng kiểu
với biến đếm.
Giá trị đầu <= giá trị cuối
(9)Số lần lặp = ( giá trị cuối - giá trị đầu ) +1 Bước 1: Gán giá trị đầu cho biến đếm
Bước 2: kiểm tra xem biến đếm <= giá trị cuối? Nếu thực bước 3, ngược lại
kết thúc vòng lặp.
Bước 3: Thực câu lệnh, tăng biến đếm lên đơn vị quay lại bước 2.
(10)Cách thực hiện:
Bước 1: Gán giá trị cuối cho biến đếm Bước 2:
Kiểm tra xem biến đếm >= giá trị đầu ?
Nếu thực bước 3, ngược lại kết
thúc vòng lặp.
Bước 3: Thực câu lệnh, giảm biến đếm xuống1 đơn vị quay lại bước 2.
for <biến đếm> := <gt cuối> downto < gt đầu> < câu
lệnh > ;
b./ Dạng lùi: Cú pháp :
(11) Ví dụ 1:
Viết chương trình tính đưa hình tổng :
( N số nguyên nhập từ bàn phím) N
S 1 2 3
Chương trình dùng câu lệnh lặp For –
(12)Program tong1 ; Uses crt;
Var S,i,n : integer; Begin
Clrscr;
Write(‘nhap n’); readln(n);
S:= 0;
For i := to n do S:= S + i ;
Writeln(‘ tong S la ‘ , S ); Readln
End.
(13)Program tong2 ; Uses crt;
Var S,i,n : integer; Begin
Clrscr;
Write(‘nhap n’); readln(n);
S:= 0;
For i := n downto do S:= S + i ;
Chương trình dùng câu lệnh lặp For –
(14)Ví dụ 2:
Viết chương trình nhập từ bàn phím số
nguyên dương M, N ( M < N), tính đưa hình tổng số chia hết cho phạm vi từ M đến N
Nhaäp M , N
S := ;
Xét i từ m đến n
i m ;
Nếu i mod = i mod =
Lặp S := S+ i ; i tăng lên ;
Khi i > n kết thúc vòng lặp.
(15)Program vidu2 ; Uses crt;
Var S,i,n,m : integer; Begin
Clrscr;
Write(‘nhap M, N’); readln(m,n);
S:= 0;
For i := m to n do
(16)2.Lặp với số lần chưa biết trước câu lệnh while – do
2.Lặp với số lần chưa biết trước câu lệnh while – do
Cú pháp :
Cú pháp :
While
While < điều kiện> dodo < câu lệnh> ; ;
(17)Sai Điều kiện
Đúng
Lưu đồ:
While
(18)Nếu điều kiện đúng thực câu lệnh, sau quay lại kiểm tra điều kiện, như đến điều kiện sai thì kết thúc vòng lặp.
(19) Thuật toán để giải toán 2:Thuật toán để giải toán 2:
Bước 1: S ; i1 ;
Bước 2: Nếu S > 100 chuyển đến bước 4
Bước 3: S S+ i ; i i +1 ; quay lại bước 2.
(20) N
S 1 2 3
100
S
Ví dụ 1
Ví dụ 1::
Viết chương trình tính tổng:Viết chương trình tính tổng: Sao cho
(21)Program tong2 ; Uses crt ;
var i, n, s : integer; Begin
Clrscr ;
s:= 0; i:= ;
while ( s <= 100 ) do begin
(22)Ví dụ
Ví dụ 2: 2:
Viết chương trình tìm ước số chung lớn
nhất (ƯCLN) hai số nguyên dương M N.
ThuËt to¸n : B1: NhËp M, N;
B2: Nếu M = N ưCLN = M (hoặc N), chuyển đến
B5
B3: NÕu M >N th× M M - N råi quay lại B2; B4: ng ợc lại N N – M råi quay B2;
(23)Program UCLN ;
Uses crt ;
var M, N : integer;
Begin
Clrscr ;
Write(‘ nhap M va N ‘); Readln( M,N );
while ( M <> N ) do
begin
if M > N then M := M – N
(24)§óng §óng Sai Sai 5 10 10 10 5 5 15 25 3 2 1 LỈp
M =N ?
M > N ?
M= 25, N = 10
25 = 10 ?
25 >10 M 25 - 10 15 = 10 ?
15 >10 M 15 - 10 5 = 10 ?
5 > 10 ?
N = 10 - 5
5 = ? ¦SLN (25,10) = 5
(25) Về làm taäp 5, 6, trang 51.
Xem trước tập thực hành 2.
(26)Nhớ học cho tốt !
Hẹn gặp lại buổi thực hành.
Tạm biệt