07/14/14 Nguyễn Thị Kim Sinh 2 Bµi cò Tr×nh bµy cÊu tróc lÖnh If … then? IF < iÒuđ kiện>Then <câu lệnh>; IF <điều kiện> Then <câu lệnh1> Else <Câu lệnh2>; 1. Các công việc phải thực hiện nhiều lần Em hãy liệt kê các hoạt động mà hằng ngày em phảI thực hiện lặp đI lặp lại nhiều lần? Khi viết ch ơng trỡnh cho máy tính, ta cũng phải viết lặp lại nhiều câu lệnh để thực hiện một phép tính nhất định. Lp vi s ln bit trc: ỏnh rng ngy hai ln, tm mt ln, n ba ba Lp vi s ln cha bit trc: Hc cho ti khi thuc bi, Nht rau cho ti khi xong 07/14/14 Nguyễn Thị Kim Sinh1 4 B1: B1: k k ← ← 0 ( là số đoạn thẳng vẽ được). 0 ( là số đoạn thẳng vẽ được). B2: B2: k k ← ← k k +1 (Vẽ đoạn thẳng một đơn vị độ dài và quay thước 90. +1 (Vẽ đoạn thẳng một đơn vị độ dài và quay thước 90. B3: B3: N N ếu K <4 quay lại B2. Ngược lại, kết thúc thuật toán. ếu K <4 quay lại B2. Ngược lại, kết thúc thuật toán. Vd1: Vẽ một hình vuông 0 2. C©u lÖnh lÆp – Mét lÖnh thay ®æi nhiÒu lÖnh 07/14/14 Nguyễn Thị Kim Sinh1 5 B1: Vẽ hình vuông (vẽ liên tiếp 4 cạnh ròi trở về đỉnh ban đầu. B2: Số hình vuông ít hơn 3 thì thì dịch nét vẽ về hai đơn vị và quay lại b1. Vd1: Vẽ 3 hình vuông 07/14/14 Nguyễn Thị Kim Sinh1 6 B1: S:=0; i:=0; B2: i:=i+1; B3: S:=s+i; B4: i<=100, quay lại B2 B4: Thông báo kết quả và kết thúc thuật toán Vd2: Tính tổng của 100 số tự nhiên đầu tiên S=1+2+3+4+ +100 Ta đã xét bài toán này ở bài 5: từ bài toán đến chương trình Cách mô tả các hoạt động lặp trong thuật toán trên được gọi là cấu trúc lặp. - NNLT chØ thị cho máy tính thực hiện cấu trúc lặp bằng một câu lệnh lặp. - Đó là các câu lệnh lặp. 07/14/14 Nguyn Th Kim Sinh 7 3. Ví dụ về câu lệnh lặp Câu lệnh lặp th ờng gặp trong Pascal có dạng For For <bin m> := <giỏ tr u> to to <giỏ tr cui> do do <cõu lnh>; For, to, do là các từ khóa. Biến đếm: kiểu số nguyên. Giá trị đầu, giá trị cuối: là các giá trị nguyên. - Biết tr ớc số lần lặp: giá trị cuối - giá trị đầu +1 - Giá trị cuối > giá trị đầu. 07/14/14 Nguyễn Thị Kim Sinh 8 Biến:=<GT đầu > Biến <= GT cuối Câu lệnh Biến tự động tăng 1 ĐVị True False Lưu đồ thuật toán cho cấu trúc lặp Lưu đồ thuật toán cho cấu trúc lặp For For To To Do Do Vd: Ch ¬ng tr×nh in ra mµn h×nh sè lÇn lÆp Program Lap; Uses crt; Var i: integer; Begin for i:=1 to 10 do writeln( Day la so lan lap thu ‘ ,i);‘ Readln; End. Biến:=<GT đầu > Biến <= GT cuối Câu lệnh Biến tự động tăng 1 ĐVị True False i:=1i:=2i:=3i:=4 i:=5 i:=7i:=8 i:=10 i:=9 2 <= 10 1 <= 10 3 <= 10 4 <= 10 i:=6 5 <= 10 6 <= 10 7 <= 10 8 <= 10 9 <= 10 10 <= 10 i:=11 11 <= 10 Day la so lan lap thu 1 Day la so lan lap thu 2 Day la so lan lap thu 3 Day la so lan lap thu 4 Day la so lan lap thu 5 Day la so lan lap thu 6 Day la so lan lap thu 7 Day la so lan lap thu 8 Day la so lan lap thu 9 Day la so lan lap thu 10 07/14/14 Nguyễn Thị Kim Sinh 10 Uses crt; Var i: integer; Begin clrscr; for i:=1 to 20 do Begin writeln( o );‘ ‘ delay(100); end; Readln; End. O o O O O O O O O O O O O O O O O O O O Em hãy dự đoán kết quả xuất ra trên màn hình Sau khi dịch và chạy chương trình? Vd: Ch ¬ng tr×nh in ch÷ 0 ra mµn h×nh. . 10 Day la so lan lap thu 1 Day la so lan lap thu 2 Day la so lan lap thu 3 Day la so lan lap thu 4 Day la so lan lap thu 5 Day la so lan lap thu 6 Day la so lan lap thu 7 Day la so lan lap thu 8 Day. Vd: Ch ¬ng tr×nh in ra mµn h×nh sè lÇn lÆp Program Lap; Uses crt; Var i: integer; Begin for i:=1 to 10 do writeln( Day la so lan lap thu ‘ ,i);‘ Readln; End. Biến:=<GT đầu > Biến. 5 Day la so lan lap thu 6 Day la so lan lap thu 7 Day la so lan lap thu 8 Day la so lan lap thu 9 Day la so lan lap thu 10 07/14/14 Nguyễn Thị Kim Sinh 10 Uses crt; Var i: integer; Begin clrscr;