Bài 10. Cấu trúc lặp
Chia sẻ bởi Trần Thị Kim Loan |
Ngày 10/05/2019 |
53
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
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
Dạng lùi:
For
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
Dạng lùi:
For
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
For
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ẻ: Trần Thị Kim Loan
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)