*Mô tả được thuật toán của một số bài toán dơn giản.. Nội dung[r]
(1)SV:PHẠM THỊ MAI
SV:PHẠM THỊ MAI
LỚP:K59A
LỚP:K59A
KHOA:CÔNG NGHỆ THÔNG TIN
(2)Bµi 10
(3)* Câu 1
.
Trình bày cấu trúc rẽ nhánh?
* Câu Giải thích ý nghĩa câu lệnh sau:
IF n mod = Then Write( n,’ Chia het 5’)
Else Write(n,’ khong chia het 5’);
Kiểm tra cũ
Trả lời: Câu 1:
*Dạng thiếu:
if <điều kiện> then <câu lệnh>; *Dạng đủ:
if <điều kiện> then <câu lệnh 1> else <câu lệnh 2>;
Câu 2:
(4)MỤC ĐÍCH VÀ YÊU CẦU
* Hiểu cấu trúc lặp.
* Phân biệt hai loại lặp.
(5)Nội dung
1.Các boán đặt vấn đề
2.Câu lệnh lặp với số lần biết trước
3.Củng cố kin thc
(6)Bài toán 1:
Bài toán 2:
100
1
2
1
1
1
1
a
a
a
a
S
1
2
1
1
1
1
N
a
a
a
a
S
Các toán đặt vấn đề
cho đến
1
0
.
0001
N
a
(7)Xu t phátấ
a
S
1
1
1
a
L n 1ầ
2
1
a
L n2ầ
+…
L n nầ
Cách tính tổng s
L n 1ầ
N
a
1
Mỗi lần thực giá trị tổng S tăng thêm bao nhiêu?
Sau lần thực giá trị tổng S tăng thêm
a + i
( víi i =1; 2; ; ;N)
(8)Phân tích toán với N = 100
Nhận xÐt:
S1 = 1S2 = S1 + 1/2
S3 = S2 + 1/3
S4 = S3 + 1/4
S100 = S99 + 1/100
1
S
Bắt đầu từ S2 việc tính S đ ợc lặp đi lặp lại 99 lần theo quy luật
Ssau = Str íc+ 1/i
víi i ch¹y tõ 100
2
1
3
1
4
1
.
1
100
(9)Bài toán 1:
Bài toán 2:
100 1 1 a a a aS
2 1 1 N a a a a S
Cho đến khi 0 0001
1
N
a
Số lần lặp biết tr ớc.
ã Việc tăng giá trị cho tổng S
c lp lặp lại khi
0.0001 N a
ã
Việc tăng giá trị cho
tổng S đ ợc lặp lặp
lại 100 lần.
tìm khác biệt
(10)(11)Xét toán:
- D÷ liƯu (Output) : Tỉng S
LËp ch ¬ng tr×nh tÝnh tỉng sau:
- Dữ liệu vào (Input) : Nhập NHãy xác định
Input Output
toán trên!
I Lặp với số lần lặp biết tr ớc
N
1
4
1
3
1
2
1
1
(12)§
S NhËp N
S:= ; i:= 2
i > N ?
S:= S + 1/i
§ a S råi kÕt thóc
B1: NhËp N; B2: S:=1; i:=2;
B3: NÕu i > N đ a giá trị S => KÕt thóc;
B4 : S:= S + 1/i;
B5: i := i +1 quay l¹i B3.
Xây dựng thuật toán
i:= i+1
S:= ; i:= 2
(13)FOR
<biến đếm> := <giá trị đầu>
TO
<giá trị cuối>
DO
< câu lệnh>;
VÝ dô: S:=1;
for i:=2 to 100 S:=S+1/i;
b D¹ng ( d¹ng lïi)
FOR
<biến đếm> := <giá trị cuối>
DOWNTO
<giá trị
đầu>
DO
<câu lệnh >;
VÝ dô: S:=1;
for i:=100 downto S:=S+1/i; a D¹ng (d¹ng tiÕn)
(14) Giá trị đầu, giá trị cuối biểu thức kiểu với biến đếm, giá trị đầu phải nhỏ giá trị cuối (dạng tiến) ngược lại (dạng lựi)
For i:= 100 to 200 write(i);
For i:=200 donwto 100 write(i);
Giá trị biến đếm đ ợc điều chỉnh tự động, câu lệnh sau DO khơng đ ợc thay đổi giá trị biến đếm.
Trong đó
Biến đếm biến kiểu đếm được.
(15)* Lập chương trình tính s với n số tự
nhiên nhập từ bàn phím n>0
s
5
10 5
n
(16)S:=1;
FOR i:=2 to N S := S+1/i;
Hãy áp dụng câu lệnh lặp dạng tiến để
viết ch ơng trình giải toán đặt vấn
đề
LËp ch ¬ng tr×nh tÝnh tỉng sau:
N
1
4
1
3
1
2
1
1
S
(17)S := ; i := 2;
i >N KT
S := S +1/ i ; i := i +1;
2.08 1.83 1.5 1 4 3 2 L ỵt i S 2.28 5 NhËp N
S := ; i := 2;
2>5 ?
S
S
S := +1/2 ; i := +1;
3>5 ?
S := 1.5+1/3 ; i := +1;
4>5 ?
S := 1.83+1/4 ; i := +1;
5>5 ?
S := 2.08+1/5; i := +1;
6
S S S
6>5 ? Tỉng S=2.28In Tỉng S
Víi N =
2.28
§
§
(18)H·y
nhí!
For … to …