Cấu trúc lặp đợc sử dụng để chỉ thị cho m¸y tÝnh thùc hiÖn lÆp l¹i mét hoạt động nào đó, thờng là vớic ác dữ liệu khác nhau, cho đên skhi một điều kiện nào đó đợc thỏa mãn Mọi ngôn n[r]
(1)Gi¸o ¸n ®iÖn tö tin häc líp (2) C¸c c«ng viÖc ph¶i thùc hiÖn nhiÒu lÇn H·y kÓ tªn nh÷ng ho¹t động đợc thực lặp ®i lÆp l¹i víi sè lÇn định và biết trớc? Em đánh lần ngày Kim gi©y quay 60 vßng giê Bµi to¸n: ViÕt ch¬ng tr×nh in mh các số từ đến 10 10 lệnh in (3) C©u lÖnh lÆp - mét lÖnh thay cho nhiÒu lÖnh VÝ dô1: In mh mét ch÷ O Program in1; Uses crt; Begin Writeln('O'); End KÕt qu¶ O VÝ dô2: In mh bèn ch÷ O Program in4; Uses crt; Begin Writeln('O'); Writeln('O'); Writeln('O'); Writeln('O'); End O O O O (4) O NÕu viÕt ch¬ng tr×nh in mµn h×nh 100 ch÷ Mäi ng÷ ‘O’ng«n th× nhØ? lập trình có câu lệnh giúp thùc hiÖn nhiÒu c©u lÖnh lÆp ®i lÆptr×nh l¹iqu¸b»ng ch¬ng dµi, vµ viÕt mÊt mét c©u lÖnh §ã lµ c¸c c©u lÖnh lÆp nhiÒu thêi gian ! O (5) c©u lÖnh lÆp C©u lÖnh lÆp víi sè lÇn lÆp biÕt tríc Pascal: FOR <biến đếm> := <giá trị đầu> TO <giá trị cuối> DO < câu lệnh>; Trong đó Biến đếm thờng có kiểu số nguyên For i:=1 to 100 writeln(‘O’); Gi¸ trÞ cuèi ph¶i lín h¬n gi¸ trÞ ®Çu Câu lệnh có thể là câu lệnh đơn giản(một lệnh) lÖnh ghÐp (nhiÒu lÖnh) (6) vÝ dô 1: In mµn h×nh ch÷ O Program in4; Uses O crt; Begin O Writeln('O'); O Writeln('O'); Writeln('O'); O Writeln('O'); End Program in4; Uses crt; Begin For i:=1 to Writeln('O'); End Hoạt động lệnh For to Ban đầu biến đếm (i=1<4) lệnh in đợc thực In mh chữ O đầu tiên Biến đếm i tăng đơn vị (i=2<4) lệnh in đợc thực in mh chữ O thứ hai Tơng tự nh biến đếm i giá trị cuối (i=4) thì lệnh đợc thực hiÖn lÇn cuèi vµ kÕt thóc trªn mµn h×nh cã ch÷ O (7) vÝ dô 2: M« pháng qu¶ trøng r¬i tõ trªn cao xuèng Program in4; Uses crt; Begin For i:=1 to 10 begin Writeln('O'); delay(100); end; End O O O O O O O O O O Với giá trị biến đếm + Hai câu lệnh Writeln(‘o’) và delay(100) đợc thực + Hai lệnh trên đợc đặt hai từ khoá begin, end Câu lệnh ghép (8) TÝnh tæng vµ tÝch b»ng c©u lÖnh lÆp VÝ dô 1: TÝnh tæng cña 100 sè tù nhiªn ®Çu tiªn liªn tiÕp S = + + + + + 100 S 1 100 S=0 S=S+1 S=S+2 S=S+3 S = S + 100 NhËn xÐt: Việc tính S đợc lặp lặp lại 100 lÇn theo quy luËt Ssau = Stríc+ i với i tăng lần lợt từ đến100 (9) DiÔn t¶ thuËt to¸n B1: B¾t ®Çu B2: S:=0; i:=1; B3: NÕu i > 100 th× kÕt thóc B4 : S:= S + i i := i +1 quay l¹i B3 Ch¬ng tr×nh Program tinhtong; Uses crt; Var S,i : Integer; Begin S:=0; For i:=1 to 100 S:=S +i; Writeln('Tong S=',S); Readln; End (10) VÝ dô 2: LËp ch¬ng tr×nh tÝnh tæng sau: 1 1 S 1 N Program Tinh_tong2; Uses crt; Dùa vµo đề bài hãy x¸c: Integer; định: S : real; Var i,N - Gi¸ trÞ khëi t¹o cña SBEGIN - Gi¸ trÞS:=0; ®Çu, cuèi cña biến đếm i Write(‘ -C©u lÖnh đợcNhap lÆp S:=0; For i:=1 to N vao gia tri cua N :’);readln(N); S:= S + 1/i; FOR i:=1 to N S := S+1/i; Writeln(‘ Tong S =’,S:8:3); Readln; END (11) VÝ dô 3: TÝnh N! (TÝch N sè tù nhiªn ®Çu tiªn) N! = 1.2.3.4 N 1! = 2! = 3! = 4! = GT = GT = GT GT = GT GT = GT Hãy xác định: - Gi¸ trÞ khëi t¹o cña GT - Gi¸ trÞ ®Çu, cuèi cña biÕn đếm i GT:=1; -Câu lệnh đợc lặp For i:=1 to N GT:= GT*i; (12) Em b¸o biÕn cho bµi to¸n In rah·y kÕtkhai viÕt qu¶? c©u vµo N?trÞtrªn? Khëi H·y viÕt t¹o GT c©u b»ng lÖnhlÖnh bao lÆp nhËp víi nhiªu? c¸c gi¸ cña biến đếm và câu lệnh đợc lặp N:integer; GT:longint; Begin Clrscr; Write('Nhap N= '); Readln(N); GT:=1; For i:=1 to N GT:=GT*i; Writeln('Tich cua N so tu nhien =',GT); Readln; End (13) Ghi nhí! Cấu trúc lặp đợc sử dụng để thị cho m¸y tÝnh thùc hiÖn lÆp l¹i mét hoạt động nào đó, thờng là vớic ác liệu khác nhau, cho đên skhi điều kiện nào đó đợc thỏa mãn Mọi ngôn ngữ lập trình có các câu lệnh lặp để thể cấu trúc lặp Ng«n ng÷ Pascal thÓ hiÖn cÊu tróc lÆp víi sè lÇn cho tríc b»ng c©u lÖnh for (14)