vaø vieäc thöïc hieän leänh laëp keát thuùc.Neáu ñieàu kieän ñuùng, thöïc hieän caâu leänh vaø quay laïi böôùc 1... Baøi taäp :[r]
Trang 1
Chào mừng quí thầy cô
đến dự giờ
Đặng Hữu Hoàng
TRƯỜNG THCS THỊ TRẤN VĨNH HƯNG
Trang 3 Học cho đến khi thuộc bài
Nhặt từng cọng rau cho đến khi hết rau
Bài toán: Viết ch ơng trình nhập vào một dãy số cho đến khi gặp 0 thì dừng lại, tính tổng các số vừa nhập
Hãy kể tên những hoạt động đ ợc thực hiện lặp đi lặp lại với
số lần lặp không thể xác định tr ớc?
1 Các hoạt động lặp với số lần ch a biết tr ớc
Trang 4Bài toán 1:
Bài toán 2:
N
N
Cho đến khi S>1000 Cho biết N
Tính tổng
Tính tổng
1 Các hoạt động lặp với số lần ch a biết tr ớc
vớ duù :
Trang 5Xuất phát
0
Lần 1
2
Lần 2
+…
Lần N
N
Mỗi lần thực hiện giá trị tổng S tăng thêm bao nhiêu?
Sau mỗi lần thực hiện giá trị tổng S tăng thêm ? i đơn vị với i = 1;2;3;.N
Cùng tìm thuật toán
Trang 6Bài toán 1: Bài toán 2:
N
Cho đến khi S>1000
Việc tăng giá trị cho
tổng S đ ợc lặp đi lặp
S>1000
Việc tăng giá trị cho
tổng S đ ợc lặp đi
lặp lại N lần
Số lần lặp ch a xác định
tìm sự khác biệt
Trang 7B1: Khởi tạo S=0; N:=0;
B2: Nếu S<= 1000 thì thực hiện
tăng N thêm 1 đơn vị,
ng ợc lại chuyển tới B4
B3 : Cộng N vào S => sang B2
B4: In kết quả: N là số tự nhiên
nhỏ nhất sao cho S>1000,
Tổng S và kết thúc
S:=0; N:=0;
WHILE S<=1000 DO
Begin N:=N+1;
S:=S+N;
END;
Writeln( Số N nhỏ nhất để S>1000 , N)‘Số N nhỏ nhất để S>1000’, N) ’, N) Writeln( Tổng đầu tiên >1000 ,S);‘Số N nhỏ nhất để S>1000’, N) ’, N)
N
S 1 2 3 4
Ví dụ 1 : Tính tổng cho đến khi S>1000 Cho biết N
Trang 8WHILE <Điều kiện> DO <Câu lệnh> ;
Điều kiện: th ờng là một phép so sánh
Trong đó:
Câu lệnh lặp với số lần lặp ch a xác định trong Pascal:
Câu lệnh : là câu lệnh đơn hay
câu lệnh ghép
Ví dụ: While S<100 do S:= S+1;
2 Ví dụ về lệnh lặp với số lần ch a xác định
Ví dụ : i:= 1;
While S<100 do
begin S:= S+1;
i:= i+1;
end;
Trang 9Dựa vào lưu đồ hãy cho biết cách thực hiện của câu lệnh?
§iỊu kiƯn
§ĩng
C©u lƯnh
Sai
Trang 10 Câu lệnh lặp sẽ được thực hiện như sau :
Bước 1: Kiểm tra điều kiện
Bước 2: Nếu điều kiện sai, câu lệnh sẽ bị bỏ qua
và việc thực hiện lệnh lặp kết thúc.Nếu điều kiện đúng, thực hiện câu lệnh và quay lại bước 1.
Trang 11H·y hoµn thiÖn
ch ¬ng tr×nh gi¶i bµi to¸n sau ?
Trang 12B1: Khởi tạo S=0; N:=0;
B2: Nếu S<= 1000 thì thực hiện
tăng N thêm 1 đơn vị,
ng ợc lại chuyển tới B4
B3 : Cộng N vào S => sang B2
B4: In kết quả: N là số tự nhiên
S:=0; N:=0;
WHILE S<=1000 DO
Begin N:=N+1;
S:=S+N;
END;
Writeln( Số N nhỏ nhất để S>1000 , N)‘Số N nhỏ nhất để S>1000’, N) ’, N)
N
S 1 2 3 4
Ví dụ 1 : Tính tổng cho đến khi S>1000 Cho biết N
Trang 13Program Bai_toan;
Var N:Integer;
S:Real;
BEGIN
S:=0;N:=0;
WHILE s< = 1000 DO
BEGIN
N:=N+1;
S:=S+N;
END;
Writeln(‘So N nho nhat de tong >1000 la’,N);
Writeln(‘Gia tri cua tong S =',S);
Readln;
END.
Trang 141 4
1 3
1 2
1
1
S
S:=0;
Writeln( S = , S); ‘Số N nhỏ nhất để S>1000’, N) ’, N)
S:=0; i:=1;
While i<=100 do
begin
S:=S + 1/i;
i:=i+1;
end;
Có thể sử dụng lệnh While do
Ví dụ 2 : Tính tổng
Trang 15H·y hoµn thiÖn
ch ¬ng tr×nh gi¶i bµi to¸n ?
Trang 16Program Bai_toan;
Var i:Integer;
S:Real;
BEGIN
S:=0; i:=1;
WHILE i < = 100 DO
BEGIN
S:=S+1/i;
i:=i+1;
END;
Writeln(‘Gia tri cua tong S =',S); Readln;
END.
Trang 17Bài tập :
Hãy tìm ra lỗi và sửa thành câu hoàn chỉnh trong các câu lệnh sau :
a X:= 10; While X:=10 do X:= X+ 5;
X:= 10; While X = 10 do X:= X+5;
b X:= 10; While X = 10 do x = x +5 ;
X:= 10; While X = 10 do x := x +5 ;
c S:= 0; n:=0 ; While s<= 10 do n:= n+1; S:= S +n;
S:= 0; n:=0 ; While s<= 10 do
begin
n:= n+1; S:= S +n;
end ;
Trang 18Ghi nhớ!
Ngoài cấu trúc lặp với số lần lặp xác
định tr ớc, các ngôn ngữ lập trình còn
có các câu lệnh lặp với số lần ch a biết
tr ớc.
While do là câu lệnh lặp với số lần
ch a biết tr ớc trong Pascal
Trang 19Kết thúc!