12. S := 1 ; 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 := 1 ; i := 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; i := 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
13.
14. 1. Bµi to¸n D÷ liÖu ra (Output) : Tæng S D÷ liÖu vµo (Input) : NhËp a H·y x¸c ®Þnh INPUT, OUTPUT vµ nªu thuËt to¸n gi¶i bµi to¸n trªn? Cho ®Õn khi TÝnh gi¸ trÞ tæng S, víi a lµ sè nguyªn vµ a>2. th× dõng l¹i. II. LÆp víi sè lÇn lÆp kh«ng biÕt tríc
15. Bíc 2 : S:=1/a; N:=1; {Khëi t¹o S vµ N} Bíc 3 : NÕu 1/(a+N) < 0.0001 => Bíc 5 Bíc 4 : S:=S+1/(a+N); N:=N+1; => quay l¹i bíc 3 thuËt to¸n Bíc 1: NhËp a. §a ra S => KÕt thóc Vßng lÆp chØ dõng khi 1/(a+N)<0.0001 S § Bíc 5: In S => KÕt thóc. S:=1/a ; N:=1 S:= S+1/(a+N); N:= N+1; NhËp a 1/(a+N) >= 0.0001
17. WHILE 1/(a+N) >= 0.0001 DO Begin S:=S+1/(a+N); N:=N+1; END; 3. Mét sè vÝ dô a Bµi to¸n ®Æt vÊn ®Ò: NhËn xÐt: Chõng nµo 1/(a+N)>=0.0001 th× cßn thùc hiÖn: + T¨ng gi¸ trÞ cña tæng S thªm 1/(a+N). + T¨ng N thªm 1 ®¬n vÞ. TÝnh gi¸ trÞ tæng S, víi a lµ sè nguyªn vµ a>2 th× dõng l¹i. Cho ®Õn khi
18. Ch¬ng tr×nh Program Bai_toan; Uses Crt; Var a,N:Integer; S:Real; BEGIN Clrscr; Write(‘Nhap gia tri cua a= ‘);Readln(a); S:=1/a;N:=1; WHILE 1/(a+N)>=0.0001 DO BEGIN S:=S+1/(a+N); N:=N+1; END; Writeln(‘Gia tri cua tong S = ‘,S:8:3); Readln; END.
19. b LËp ch¬ng tr×nh nhËp vµo hai sè nguyªn d¬ng M,N. T×m ¦CLN cña hai sè ®ã. B1: NhËp M,N; B2 : Chõng nµo M N nÕu M>N th× M:=M-N, ngîc l¹i th× N:=N-M; B3: §Õn khi M=N th× => §a ra ¦CLN(M,N)=M; => KÕt thóc. B1: NhËp M,N B2 : While M<>N DO Begin IF M>N then M:=M-N else N:=N-M; end; B3: In ¦CLN(M,N) ThuËt to¸n c¸c bíc viÕt ch¬ng tr×nh
21. Bµi to¸n ®Æt vÊn ®Ò: Program Bai_toan; Uses Crt; Var a,N:Integer; S:Real; BEGIN Clrscr; Write(‘Nhap gia tri cua a= ‘);Readln(a); S:=1/a;N:=1; REPEAT {Bat dau lap} S:=S+1/(a+N); N:=N+1 UNTIL 1/(a+N)< 0.0001; {Ket thuc lap} Writeln(‘Gia tri cua tong S = ‘,S:8:3); Readln; END.