Bài 10. Cấu trúc lặp
Chia sẻ bởi Phan Hoàng Thảo |
Ngày 10/05/2019 |
56
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:
Bài 10
Cấu trúc lặp
(tiết 1)
SỞ GD – ĐT THÁI NGUYÊN
TRƯỜNG THPT LƯƠNG PHÚ
Giáo viên: PHAN HOÀNG THẢO
Edit by Phan Hoàng Thảo, 2013
Nội dung
Bài toán 1:
Bài toán 2:
Các bài toán đặt vấn đề : Tính tổng S, với a là số nguyên và a>2
cho đến khi
1. Lặp
Xuất phát
Lần 1
Lần 2
+…
Lần N
Mỗi lần thực hiện giá trị tổng S tăng thêm bao nhiêu?
1
Sau mỗi lần thực hiện giá trị tổng S tăng thêm ???? ( với N=1; 2; 3 ; ...)
a + N
TÌM HIỂU BÀI TOÁN
Bài toán 1:
Bài toán 2:
Cho đến khi
? Số lần lặp biết trước.
Việc tăng giá trị cho tổng S được lặp đi lặp lại cho đến khi
Việc tăng giá trị cho tổng S được lặp đi lặp lại 100 lần.
? Số lần lặp chưa biết trước.
Em hãy xác định việc tăng giá trị cho tổng S được lặp lại bao nhiêu lần?
THPT Nguyễn Văn Trỗi
Lặp là các công việc (thao tác) giống nhau được thực hiện nhiều lần trong chương trình.
Từ các ví dụ, em hãy cho biết khái niệm Lặp?
Thuật toán Tong_1a
Bước 1. S1/a; N 0;
Bước 2. N N+1;
Bước 3. Nếu N > 100 thì chuyển đến bước 5;
Bước 4. S S+1/(a+N) rồi quay lại bước 2;
Bước 5. Đưa S ra màn hình, rồi kết thúc.
Thuật toán Tong_1b
Bước 1. S1/a; N 101;
Bước 2. N N-1;
Bước 3. Nếu N < 1 thì chuyển đến bước 5;
Bước 4. S S+1/(a+N) rồi quay lại bước 2;
Bước 5. Đưa S ra màn hình, rồi kết thúc.
Có 2 thuật toán Tong_1a và Tong_1b để giải bài toán 1 như sau:
2. Lặp với số lần biết trước và câu lệnh For-do
2. Lặp với số lần biết trước và câu lệnh For-do
Dạng lặp tiến:
For:= to
do;
Dạng lặp lùi:
For:=< giá trị cuối> downto < giá trị đầu>
do;
a) Cấu trúc câu lệnh For - do
? Giá trị đầu, giá trị cuối là các biểu thức cùng kiểu với biến đếm, giá trị đầu phải nhỏ hơn hoặc bằng giá trị cuối.
For i:= 100 to 200 do write(i);
? Giá trị biến đếm được điều chỉnh tự động, vì vậy câu lệnh sau DO không được thay đổi giá trị biến đếm.
? Biến đếm là biến kiểu số nguyên hoặc kí tự.
For i:=1 to 10 do write(i);
For i:=`z` downto `a` do write(i);
2. Lặp với số lần biết trước và câu lệnh For-do
Trong đó
? For, to, downto, do là các từ khóa
Biến đếm
Câu lệnh sau Do
Thực hiện
Gt đầu
Gt đầu + 1
Gt đầu + 2
Gt cuối
…
Thực hiện lần 1
Thực hiện lần 2
Thực hiện lần 3
Thực hiện lần cuối
Dạng lặp Tiến: for ... to ... do
2. Lặp với số lần biết trước và câu lệnh For-do
b) Hoạt động của For - do
Dạng lặp tiến: for ... to ... do
Câu lệnh sau Do được thực hiện tuần tự, với biến đếm lần lượt nhận các giá trị liên tiếp tăng từ giá trị đầu đến giá trị cuối
b) Hoạt động của For - do
2. Lặp với số lần biết trước và câu lệnh For-do
Dạng lặp lùi: for ... downto ... do
Câu lệnh sau Do được thực hiện tuần tự, với biến đếm lần lượt nhận các giá trị liên tiếp giảm từ giá trị cuối đến giá trị đầu
b) Hoạt động của For - do
2. Lặp với số lần biết trước và câu lệnh For-do
c) Ví dụ áp dụng
Ví dụ 1: Hãy áp dụng câu lệnh lặp dạng tiến để viết chương trình giải bài toán 1.
2. Lặp với số lần biết trước và câu lệnh For-do
Viết chương trình cho thuật toán Tổng_1a(Lặp tiến)
Begin
Program Tong_1a ;
Uses crt ;
Var a, N : Integer ; S : real ;
Begin
Write(’Hay nhap vao gia tri a: ’) ;
Readln(a) ;
S := 1/a ;
Write(’Tong S la : ’, S : 8 : 3) ;
Readln
End.
For N := 1 to 100 do
S := S + 1/(a + N) ;
{ Bước 1 }
{ Bước 2 và Bước 3 }
{ Bước 4 }
{ Bước 5 }
{ Phần khai báo }
Ví dụ 2:
Viết chương trình nhập vào từ bàn phím 2 số nguyên dương M và N (M? Hãy xác định giá trị khởi đầu của Tổng (T), quy luật thay đổi giá trị của Tổng (T) và số lần lặp.
? Viết chương trình để giải bài toán trên.
T:= 0;
- T:= T + i;
- i chạy từ M đến N => Số lần lặp là N - M +1 lần.
c) Ví dụ áp dụng
2. Lặp với số lần biết trước và câu lệnh For-do
Program Vi_du_2 ;
Var M, N, i : Integer ; T : longint ;
Begin
Write(’Hay nhap vao gia tri M nho hơn N ’) ;
Write(’Nhap M = ’); Readln(M) ;
T := 0 ;
Write(’KET QUA: ’, T) ;
Readln
End.
For i := M to N do
Write(’Nhap N = ’); Readln(N) ;
If (i mod 3 = 0) or (i mod 5 = 0) then T := T + i ;
2. Lặp với số lần biết trước và câu lệnh For-do
Chương trình
Củng cố kiến thức
Câu lệnh lặp
trong pascal
FOR ... TO ... DO ....
FOR ... Downto ... DO ...
+ Ý nghĩa: Lặp với số lần biết trước.
+ Có 2 dạng:
- Lặp tiến: giá trị biến đếm tăng thêm 1
Công việc sau Do sẽ được thực hiện tuần tự từ giá trị đầu đến giá trị cuối
- Lặp lùi: giá trị biến đếm giảm đi 1
Công việc sau Do sẽ được thực hiện tuần tự từ giá trị cuối về giá trị đầu
BÀI TẬP VỀ NHÀ
Viết chương trình thực hiện giải các bài toán sau:
a)
b)
Thực hiện tháng 11 năm 2013
Bài học đã
KẾT THÚC
Thân ái chào các thầy cô và các em
Cấu trúc lặp
(tiết 1)
SỞ GD – ĐT THÁI NGUYÊN
TRƯỜNG THPT LƯƠNG PHÚ
Giáo viên: PHAN HOÀNG THẢO
Edit by Phan Hoàng Thảo, 2013
Nội dung
Bài toán 1:
Bài toán 2:
Các bài toán đặt vấn đề : Tính tổng S, với a là số nguyên và a>2
cho đến khi
1. Lặp
Xuất phát
Lần 1
Lần 2
+…
Lần N
Mỗi lần thực hiện giá trị tổng S tăng thêm bao nhiêu?
1
Sau mỗi lần thực hiện giá trị tổng S tăng thêm ???? ( với N=1; 2; 3 ; ...)
a + N
TÌM HIỂU BÀI TOÁN
Bài toán 1:
Bài toán 2:
Cho đến khi
? Số lần lặp biết trước.
Việc tăng giá trị cho tổng S được lặp đi lặp lại cho đến khi
Việc tăng giá trị cho tổng S được lặp đi lặp lại 100 lần.
? Số lần lặp chưa biết trước.
Em hãy xác định việc tăng giá trị cho tổng S được lặp lại bao nhiêu lần?
THPT Nguyễn Văn Trỗi
Lặp là các công việc (thao tác) giống nhau được thực hiện nhiều lần trong chương trình.
Từ các ví dụ, em hãy cho biết khái niệm Lặp?
Thuật toán Tong_1a
Bước 1. S1/a; N 0;
Bước 2. N N+1;
Bước 3. Nếu N > 100 thì chuyển đến bước 5;
Bước 4. S S+1/(a+N) rồi quay lại bước 2;
Bước 5. Đưa S ra màn hình, rồi kết thúc.
Thuật toán Tong_1b
Bước 1. S1/a; N 101;
Bước 2. N N-1;
Bước 3. Nếu N < 1 thì chuyển đến bước 5;
Bước 4. S S+1/(a+N) rồi quay lại bước 2;
Bước 5. Đưa S ra màn hình, rồi kết thúc.
Có 2 thuật toán Tong_1a và Tong_1b để giải bài toán 1 như sau:
2. Lặp với số lần biết trước và câu lệnh For-do
2. Lặp với số lần biết trước và câu lệnh For-do
Dạng lặp tiến:
For
do
Dạng lặp lùi:
For
do
a) Cấu trúc câu lệnh For - do
? Giá trị đầu, giá trị cuối là các biểu thức cùng kiểu với biến đếm, giá trị đầu phải nhỏ hơn hoặc bằng giá trị cuối.
For i:= 100 to 200 do write(i);
? Giá trị biến đếm được điều chỉnh tự động, vì vậy câu lệnh sau DO không được thay đổi giá trị biến đếm.
? Biến đếm là biến kiểu số nguyên hoặc kí tự.
For i:=1 to 10 do write(i);
For i:=`z` downto `a` do write(i);
2. Lặp với số lần biết trước và câu lệnh For-do
Trong đó
? For, to, downto, do là các từ khóa
Biến đếm
Câu lệnh sau Do
Thực hiện
Gt đầu
Gt đầu + 1
Gt đầu + 2
Gt cuối
…
Thực hiện lần 1
Thực hiện lần 2
Thực hiện lần 3
Thực hiện lần cuối
Dạng lặp Tiến: for ... to ... do
2. Lặp với số lần biết trước và câu lệnh For-do
b) Hoạt động của For - do
Dạng lặp tiến: for ... to ... do
Câu lệnh sau Do được thực hiện tuần tự, với biến đếm lần lượt nhận các giá trị liên tiếp tăng từ giá trị đầu đến giá trị cuối
b) Hoạt động của For - do
2. Lặp với số lần biết trước và câu lệnh For-do
Dạng lặp lùi: for ... downto ... do
Câu lệnh sau Do được thực hiện tuần tự, với biến đếm lần lượt nhận các giá trị liên tiếp giảm từ giá trị cuối đến giá trị đầu
b) Hoạt động của For - do
2. Lặp với số lần biết trước và câu lệnh For-do
c) Ví dụ áp dụng
Ví dụ 1: Hãy áp dụng câu lệnh lặp dạng tiến để viết chương trình giải bài toán 1.
2. Lặp với số lần biết trước và câu lệnh For-do
Viết chương trình cho thuật toán Tổng_1a(Lặp tiến)
Begin
Program Tong_1a ;
Uses crt ;
Var a, N : Integer ; S : real ;
Begin
Write(’Hay nhap vao gia tri a: ’) ;
Readln(a) ;
S := 1/a ;
Write(’Tong S la : ’, S : 8 : 3) ;
Readln
End.
For N := 1 to 100 do
S := S + 1/(a + N) ;
{ Bước 1 }
{ Bước 2 và Bước 3 }
{ Bước 4 }
{ Bước 5 }
{ Phần khai báo }
Ví dụ 2:
Viết chương trình nhập vào từ bàn phím 2 số nguyên dương M và N (M
? Viết chương trình để giải bài toán trên.
T:= 0;
- T:= T + i;
- i chạy từ M đến N => Số lần lặp là N - M +1 lần.
c) Ví dụ áp dụng
2. Lặp với số lần biết trước và câu lệnh For-do
Program Vi_du_2 ;
Var M, N, i : Integer ; T : longint ;
Begin
Write(’Hay nhap vao gia tri M nho hơn N ’) ;
Write(’Nhap M = ’); Readln(M) ;
T := 0 ;
Write(’KET QUA: ’, T) ;
Readln
End.
For i := M to N do
Write(’Nhap N = ’); Readln(N) ;
If (i mod 3 = 0) or (i mod 5 = 0) then T := T + i ;
2. Lặp với số lần biết trước và câu lệnh For-do
Chương trình
Củng cố kiến thức
Câu lệnh lặp
trong pascal
FOR ... TO ... DO ....
FOR ... Downto ... DO ...
+ Ý nghĩa: Lặp với số lần biết trước.
+ Có 2 dạng:
- Lặp tiến: giá trị biến đếm tăng thêm 1
Công việc sau Do sẽ được thực hiện tuần tự từ giá trị đầu đến giá trị cuối
- Lặp lùi: giá trị biến đếm giảm đi 1
Công việc sau Do sẽ được thực hiện tuần tự từ giá trị cuối về giá trị đầu
BÀI TẬP VỀ NHÀ
Viết chương trình thực hiện giải các bài toán sau:
a)
b)
Thực hiện tháng 11 năm 2013
Bài học đã
KẾT THÚC
Thân ái chào các thầy cô và các em
* 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ẻ: Phan Hoàng Thảo
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)