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

Chia sẻ bởi Vương Quốc Tân | Ngày 10/05/2019 | 134

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:

IF (ngay=20) and (thang=11) THEN
Begin
Writeln(`chao mung ngay nha giao viet nam`);
End;
Hãy quan sát và cho biết :
Mỗi tình huống mô tả điều gì được lặp lại ? Và lặp bao nhiêu lần ?
Tớ phải bị phạt đi tới đi lui như thế này cho tới bao giờ ?
Còn tớ phải bị phạt tập thể dục như thế này cho tới bao giờ ?
Cậu phải làm 100 lần như thế.
Cấu trúc lặp mô tả điều gì?
Có mấy loại lặp?
Cậu phải đi cho đến khi trời mưa.
Tình
huống 1
Tình
huống 2
Bài toán 1:
Bài toán 2:
1. Lặp:
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
Xuất phát
Lần 1
Lần 2

+…

Lần N




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

Cùng tìm thuật toán
Mỗi lần thực hiện giá trị tổng S tăng thêm bao nhiêu?
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.
tìm sự khác biệt
? Số lần lặp chưa biết trước.
các em hãy cho biết
sự khác biệt giữa hai
bài toán?
*. Bài toán đặt vấn đề
- Dữ liệu ra (Output) : Tổng S
Lập chương trình tính tổng sau:


- Dữ liệu vào (Input) : Nhập a
Hãy xác định INPUT và OUTPUT của bài toán trên!
2. Lặp với số lần biết trước và câu lệnh for - do

Phân tích bài toán (ý tưởng)

Nhận xét:
Ban đầu: S = 1/a
Cộng lần 1: S = S + 1/(a+1)
Cộng lần 2: S = S + 1/(a+2)
Cộng lần 3: S = S + 1/(a+3)


.....
Cộng lần 100: S = S + 1/(a+100)
Bắt đầu từ lần cộng 1 việc tính S được lặp đi lặp lại 100 lần theo quy luật
Ssau = Strước+ 1/(a+n)
với n chạy từ 1 ? 100
. . . . . . . . . . . . . . . . . . . .
Từ ý tưởng trên em hãy viết thuật toán cho bài toán
B1: S?1/a; N?0;
B3: Nếu N >100 thì sang B5;
B4 : S? S + 1/(a+N) rồi quay lại bước 2;
B2: N ? N +1;
Xây dựng thuật toán
Thuật toán Tong_1a
B1: S?1/a; N ?101;
B3: Nếu N<1 thì chuyển đến b5;
B4 : S? S + 1/(a+N) rồi quay lại bước 2;
B2: N ?N -1;
Thuật toán Tong_1b
Nhận xét:
B5. Đưa S ra màn hình rồi kết thúc.
B5: Đưa ra S ra màn hình rồi kết thúc.
Thuật toán Tong_1a, giá trị N bắt đầu tham gia vòng lặp là 1 sau mỗi lần lặp N tăng lên 1 cho đến khi N > 100 (N = 101) thì kết thúc lặp (thực hiện 100 lần).
Thuật toán Tong_1b, giá trị N bắt đầu tham gia vòng lặp là 100 sau mỗi lần lặp N giảm đi 1 cho đến khi N < 1 (i = 0) thì kết thúc lặp (thực hiện100 lần).

Ta nói cách lặp trong thuật toán Tong_1a là dạng tiến và trong thuật toán Tong_1b là dạng lùi.
S := 1 ; N := 2;
i >N
KT
S := S +1/ i ;
i := i +1;
2.08
1.83
1.5
1
4
3
2
Lượt
N
S
2.28
5
Nhập N
S := 1 ; N := 2;
2>5 ?
S
S
S := 1 +1/2 ;
i := 2 +1;
3>5 ?
S := 1.5+1/3 ;
i := 3 +1;
4>5 ?
S := 1.83+1/4 ;
i := 4 +1;
5>5 ?
S := 2.08+1/5;
N := 5 +1;
6
S
S
S
6>5 ?
In Tổng S
Tổng S=2.28
Với N = 5
2.28
Đ
Đ
Mô phỏng thuật toán

FOR := TO DO < câu lệnh>;
VD1: S:=1/a;
FOR N := 1 TO 100 DO S:=S+1/(a+i);
b. Dạng 2 (dạng lùi)
FOR := DOWNTO DO ;

VD1: S:=1/a;
FOR i:=100 DOWNTO 1 DO S:=S+1/(a+i);
a. Dạng 1 (dạng tiến)
2. Lặp với số lần lặp biết trước và cấu trúc 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 giá trị cuố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.

Trong đó
? Biến đếm là biến kiểu số nguyên hoặc kí tự.

Uses crt;
Var
BEGIN
Readln;
END.
FOR N := 1 to 100 do
S := S+1.0/(a+N);
Writeln(` Tong S =`,S:8:3);
Write(` Nhap vao gia tri cua N :`);readln(N);
Program Tinh_tong1a;
S:=1.0 /a;
a,N : Integer;
S : real;
CLRSCR;

Uses crt;
Var
BEGIN
Readln;
END.
FOR N := 101 downto 1 do
S := S+1.0/(a+N);
Writeln(` Tong S =`,S:8:3);
Write(` Nhap vao gia tri cua N :`);readln(N);
Program Tinh_tong1b;
S:=1.0 /a;
a,N : Integer;
S : real;
CLRSCR;

Ví dụ 2:
Chương trình thực hiện việc nhập từ bàn phím hai số nguyên dương M và N (MHãy nhớ!
Lặp
FOR ... TO ... DO ....
FOR ... Downto ... DO ...
Lặp với số lần lặp biết trước.
Lặp với số lần lặp không biết trước.
* 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ẻ: Vương Quốc Tân
Dung lượng: | Lượt tài: 3
Loại file:
Nguồn : Chưa rõ
(Tài liệu chưa được thẩm định)