Bài 10. Cấu trúc lặp

Chia sẻ bởi Huỳnh Thị Thơ | Ngày 10/05/2019 | 47

Chia sẻ tài liệu: Bài 10. Cấu trúc lặp thuộc Tin học 11

Nội dung tài liệu:

CHÀO MỪNG QUÝ THẦY CÔ
VỀ DỰ GIỜ THAO GIẢNG
Lớp 11C2
GV thực hiện: Trần Thị Kim Loan
ĐẶT VẤN ĐỀ
Hồ nước
Xét công việc đổ nước vào bình 20lít từ hồ nước.
? Đổ vào bình bằng ca 1lít, ta phải đổ bao nhiêu lần thì bình đầy?
? Đổ vào bình bằng ca không biết dung tích ta phải đổ bao nhiêu
lần thì bình đầy?
CẤU TRÚC LẶP - T1
TIẾT 13
1. LẶP
Thao tác lặp đi lặp lại nhiều lần gọi là lặp.
Lặp gồm có 2 loại:
Lặp với số lần biết trước.
Lặp với số lần chưa biết ( Có điều kiện dừng).
1. LẶP
Chúng ta xét thêm hai bài toán nữa
Bài toán 1: Tính và đưa kết quả ra màn hình tổng
S = 1 + 2 + 3 + …+ 100
Bài toán 2: Tính và đưa kết quả ra màn hình tổng
S = 1 + 2 + 3 + …+ N + …
cho đến khi S > 150
Bài toán 1 thực hiện bao nhiêu lần?
Bài toán 1: Thực hiện 100 lần.
Bài toán 2 thực hiện bao nhiêu lần?
Bài toán 2: Thực hiện N lần cho
đến khi S> 150 thì dừng.
Lặp với số lần biết trước 
Lặp với số lần chưa biết 
2. LẶP VỚI SỐ LẦN BIẾT TRƯỚC VÀ CÂU LỆNH FOR - DO
Để mô tả cấu trúc lặp với số lần biết trước, Pascal dùng câu lệnh
For – do với 2 dạng:
Dạng tiến:
For := to do ;
Dạng lùi:
For := downto do ;
Trong đó:
Biến đếm, giá trị đầu, giá trị cuối là cùng kiểu dử liệu.
Giá trị đầu nhỏ hơn giá trị cuối.
Ở dạng tiến: Biến đếm tăng từ giá trị đầu đến giá trị cuối.
Ở dạng lùi: Biến đếm giảm từ giá trị cuối đến giá trị đầu.
2. LẶP VỚI SỐ LẦN BIẾT TRƯỚC VÀ CÂU LỆNH FOR - DO
Dạng tiến:
For := to do ;
Dạng lùi:
For := downto do ;
Ví dụ:
For i:=1 to 10 do writeln(‘Pascal’) ;
 in ra màn hình 10 lần xâu ‘Pascal’.
For i:= 20 downto 1 do writeln(‘Pascal’) ;
 in ra màn hình 20 lần xâu ‘Pascal’.
For i:=‘a’ to ‘z’ do write (i) ;
 in ra màn hình các kí tự từ a đến z.
For i:=100 downto 1 do write (i) ;
 in ra màn hình các số từ 100 xuống 1.
CÙNG ĐI TÌM THUẬT TOÁN
Bài toán: S = 1 + 2 + 3 + …. + 100
S = 0
, S = 1
 S = S + 1
, S = 1 + 2
 S = S + 2
, S = 1 + 2 + 3
 S = S + 3
S = 1 + 2 + 3 + … + 100
 S = S + 100
……………………
, N = 0
Lần đầu tiên
Lần 1
Lần 2
Lần 3
 S = S + N
N = 1
N = 2
N = 3
 S = S + N
 S = S + N
Lần 100
 S = S + N
N = 100
CÙNG ĐI TÌM THUẬT TOÁN
Thuật toán:

Bước 1: S = 0, N=0
Bước 2: N = N+1
Bước 3: Nếu N > 100 thì đưa S ra màn hình và kết thúc.
Bước 4: S = S + N rồi quay lại bước 2.
Bài toán: S = 1 + 2 + 3 + …. + 100
2. LẶP VỚI SỐ LẦN BIẾT TRƯỚC VÀ CÂU LỆNH FOR - DO
Bước 1: S = 0, N=0
Bước 2: N= N +1
Bước 3: Nếu N > 100 thì đưa S ra và kết thúc.
Bước 4: S = S + N rồi quay lại bước 2.
DẠNG TIẾN:
Program tong_tien;
Uses crt;
Var N, S : integer;
Begin
clrscr;
S:=0;
for N:=1 to 100 do S:=S + N ;
write(‘Tong la:’ , S);
readln;
End.
Bài toán: S = 1 + 2 + 3 + …. + 100
2. LẶP VỚI SỐ LẦN BIẾT TRƯỚC VÀ CÂU LỆNH FOR - DO
Program tong_tien;
Uses crt;
Var N, S : integer;
Begin
clrscr;
S:=0;
for N:=1 to 100 do S:=S + N ;
write(‘Tong la:’ , S);
readln;
End.
2. LẶP VỚI SỐ LẦN BIẾT TRƯỚC VÀ CÂU LỆNH FOR - DO
DẠNG LÙI:
Program tong_lui;
Uses crt;
Var N, S : integer;
Begin
clrscr;
S:=0;
for N:=100 downto 1 do S:=S + N ;
write(‘Tong la:’ , S);
readln;
End.
Bài toán: S = 1 + 2 + 3 + …. + 100
2. LẶP VỚI SỐ LẦN BIẾT TRƯỚC VÀ CÂU LỆNH FOR - DO
Program tong_lui;
Uses crt;
Var N, S : integer;
Begin
clrscr;
S:=0;
for N:=100 downto 1 do S:=S + N ;
write(‘Tong la:’ , S);
readln;
End.
2. LẶP VỚI SỐ LẦN BIẾT TRƯỚC VÀ CÂU LỆNH FOR - DO
Em hãy tìm thuật toán và viết chương trình?
Bài toán 2:
Bài toán 2:
CÙNG ĐI TÌM THUẬT TOÁN
S = ?
, S = ?
, S = ?
, S = ?
S = ?
……………………
, N = ?
Lần đầu tiên
Lần 1
Lần 2
Lần 3
 S = ….. + …..
N = ?
N = ?
N = ?
 S = ……+ …..
Lần 50
 S = ….. + ……
N = ?
Bài toán 2:
 S = ….. + ……
2. LẶP VỚI SỐ LẦN BIẾT TRƯỚC VÀ CÂU LỆNH FOR - DO
Thuật toán:

Bước 1: S = 0, N = 0
Bước 2: N = N + 1
Bước 3: Nếu N > 50 thì đưa S ra màn hình và kết thúc
Bước 4: S = S + 1 / N rồi quay lại bước 2
Bài toán 2:
2. LẶP VỚI SỐ LẦN BIẾT TRƯỚC VÀ CÂU LỆNH FOR - DO
Program Bai2_tien;
Uses crt;
Var N: byte; S: real;
Begin
clrscr;
S:=0;
for N:=1 to 50 do S:=S + 1/N ;
write(‘Tong la:’ , S);
readln;
End.
Chương trình:
Bài toán 2:
2. LẶP VỚI SỐ LẦN BIẾT TRƯỚC VÀ CÂU LỆNH FOR - DO
Chương trình:
Bài toán 2:
Program Bai2_lui;
Uses crt;
Var N : byte; S: real;
Begin
clrscr;
S:=0;
for N:=50 downto 1 do S:=S + 1/N ;
write(‘Tong la:’ , S);
readln;
End.
Chương trình:
GHI NHỚ
CẤU TRÚC
LẶP
Biết trước
số lần
Không biết số lần
For := to do ;
For := downto do ;
DẶN DÒ
VỀ NHÀ XEM TIẾP NỘI DUNG CỦA BÀI CẤU TRÚC LẶP

LÀM BÀI TẬP 5a, 6 /51 SGK
* Một số tài liệu cũ có thể bị lỗi font khi hiển thị do dùng bộ mã không phải Unikey ...

Người chia sẻ: Huỳnh Thị Thơ
Dung lượng: | Lượt tài: 0
Loại file:
Nguồn : Chưa rõ
(Tài liệu chưa được thẩm định)