Bµi gi¶ng Bµi gi¶ng Cấutrúclặpxácđịnh For … To … Do Giáo viên : Giáo viên : Th.s Đỗ Ngọc Điệp Khoa : Khoa : Công nghệ thông tin Trường : Trường : Cao Cao đẳng đẳng công nghiệp Việt Đức công nghiệp Việt Đức 5. Cấutrúclặpxácđịnh For to do 5. Cấutrúclặpxácđịnh For to do 5.1/ Cấutrúclặp tiến 5.1.1/ Cú pháp For BĐ := <Cận 1> To <Cận 2> Do Công việc; Trong đó: For , To , Do : Là các các từ khoá BĐ : Là một hằng số có kiểu dữ liệu đơn giản là một số nguyên ( không phải là kiểu số thực ) Công việc : Là lệnh được thực hiện sau từ khoá Do Cận1, Cận 2 : Có thể là hằng, biểu thức hoặc biến có kiểu dữ liệu đơn giản ( thuộc số nguyên ) dùng để xácđịnh giá trị cận đầu và cận cuối trong vòng lập 5.1.2/ 5.1.2/ Sự hoạt động Sự hoạt động : : Bước 1: Biến đếm sẽ được khởi đầu với giá trị của cận 1 Bước 2: Biến đếm sẽ so sánh giá trị của biến đếm với cận 2 Bước 3 : Thực hiện công việc sau từ khoá Do Sau đó BĐ sẽ tăng giá trị lên 1 đơn vị ( BĐ = BĐ + 1) rồi lại chuyển về Bước 2 Bước 4 : Thoát khỏi vòng lặp Nếu biến đếm lớn hơn giá trị của cận 2 thì sẽ chuyển đến Bước 4 Nếu biến đếm nhỏ hơn hoặc bằng giá trị của cận 2 thì sẽ chuyển đến Bước 3 5.1.3. Lu ®å thuËt to¸n : B¾t ®Çu B§ :=Can1 BĐ < Can2 Thực hiện việc Đ Đ BĐ : = BĐ + 1 S S KÕt thóc Thực hiện việc BĐ : = BĐ + 1 BĐ < Can2 5.1.4 VÝ dô ¸p dông 1: ViÕt ch¬ng tr×nh in c¸c sè nguyªn d¬ng tõ 1 ®Õn 10 lªn mµn h×nh vµ c¸c sè ®îc in trªn mét dßng Program In_so; Uses crt; Var i:byte; Begin Clrscr; writeln(‘ Day so nguyen tu 1 den 10 ‘); For i :=1 To 10 Do write(i:3); readln; End. Sù Ho¹t ®éng cña ch¬ng tr×nh Vong lap so Begin i = 1 1 < 10 S D In So 1 2 = 1 + 1 Ket thuc Ket qua in 1 2 1 2 < 10 In So 2 2 3 = 2 + 1 3 3 < 10 In So 3 3 4 = 3 + 1 4 4 < 10 In So 4 4 5 = 4 + 1 5 5 < 10 5 In So 5 6 = 5 + 1 6 6 < 10 In So 6 6 7 = 6 + 1 7 7 < 10 In So 7 7 8 = 7 + 1 8 8 < 10 In So 8 8 9 = 8 + 1 9 9 < 10 In So 9 9 10 = 9 + 1 10 10 < 10 In So 10 10 11 = 10 + 1 11 11 < 10 VÝ dô ¸p dông 2: ViÕt ch¬ng tr×nh in c¸c ký tù in thêng tõ ‘a’ ®Õn ‘z’ lªn mµn h×nh vµ c¸c ký tù ®îc in trªn mét dßng Program In_kytu; Uses crt; Var ch: char; Begin Clrscr; writeln(‘ Day ky tu thuong tu a den z ‘); For ch:= ‘a’ To ‘z’ Do write(ch:3); readln; End. * * Chú ý Chú ý : : Sau mỗi vòng lập giá trị của biến đếm sẽ tự Sau mỗi vòng lập giá trị của biến đếm sẽ tự động tăng lên 1 đơn vị động tăng lên 1 đơn vị Biến đếm phải là một số nguyên dương thuộc kiểu Biến đếm phải là một số nguyên dương thuộc kiểu dữ liệu đơn giản ( không phải là kiểu số thực) dữ liệu đơn giản ( không phải là kiểu số thực) Trong vòng lặp ta phải xácđịnh được giá trị của Trong vòng lặp ta phải xácđịnh được giá trị của cận1 và cận2 cận1 và cận2 Bµi tËp vÒ nhµ: ViÕt ch¬ng tr×nh in lªn mµn h×nh - C¸c ký tù in thêng tõ ‘a’ ®Õn ‘z’ - C¸c ký tù in hoa tõ ‘A’ ®Õn ‘Z’ - C¸c sè nguyªn tõ 10 ®Õn 30 Program In_so; Uses crt; Var i:byte; Begin Clrscr; writeln(‘ Day so nguyen tu 1 den 10 ‘); For i :=1 To 10 Do write(i:3); readln; End. Vong lap so 1 Ket qua in 1 2 3 4 5 6 7 8 9 10 11 . Việt Đức công nghiệp Việt Đức 5. Cấu trúc lặp xác định For to do 5. Cấu trúc lặp xác định For to do 5.1/ Cấu trúc lặp tiến 5.1.1/ Cú pháp For BĐ :=. giản ( không phải là kiểu số thực) Trong vòng lặp ta phải xác định được giá trị của Trong vòng lặp ta phải xác định được giá trị của cận1 và cận2 cận1 và