Gi¸o ¸n ®iÖn tö tin häc líp 8 Em đánh răng 2 lần một ngày Kim giây quay 60 vòng trong 1 giờ Bài toán: Viết ch ơng trình in ra mh các số từ 1 đến 10 Hãy kể tên những hoạt động đ ợc thực hiện lặp đi lặp lại với số lần nhất định và biết tr ớc? 10 lệnh in 1. Các công việc phải thực hiện nhiều lần O O O O O VÝ dô1: In ra mh mét ch÷ O VÝ dô2: In ra mh bèn ch÷ O Program in1; Uses crt; Begin Writeln('O'); End. Program in4; Uses crt; Begin Writeln('O'); Writeln('O'); Writeln('O'); Writeln('O'); End. KÕt qu¶ 2. C©u lÖnh lÆp - mét lÖnh thay cho nhiÒu lÖnh O O Mọi ngôn ngữ lập trình đều có câu lệnh giúp thực hiện nhiều câu lệnh lặp đi lặp lại bằng một câu lệnh. Đó là các câu lệnh lặp. Nếu viết ch ơng trình in ra màn hình 100 chữ O thì sao nhỉ? ch ơng trình quá dài, và viết mất nhiều thời gian ! Câu lệnh lặp với số lần lặp biết tr ớc trong Pascal: FOR <biến đếm> := <giá trị đầu> TO <giá trị cuối> DO < câu lệnh>; 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) hoặc lệnh ghép (nhiều lệnh) Trong đó Biến đếm th ờng có kiểu số nguyên For i:=1 to 100 do writeln(O); 3. câu lệnh lặp Program in4; Uses crt; Begin Writeln('O'); Writeln('O'); Writeln('O'); Writeln('O'); End. Program in4; Uses crt; Begin For i:=1 to 4 do Writeln('O'); End. Ban đầu biến đếm (i=1<4) lệnh in đ ợc thực hiện In ra mh chữ O đầu tiên Biến đếm i tăng 1 đơn vị (i=2<4) lệnh in đ ợc thực hiện in ra mh chữ O thứ hai T ơng tự nh vậy cho đến khi biến đếm i bằng 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ó 4 chữ O. O O O O Hoạt động của lệnh For to do ví dụ 1: In ra màn hình 4 chữ O Program in4; Uses crt; Begin For i:=1 to 10 do begin Writeln('O'); delay(100); end; End. Với mỗi giá trị của biến đếm + Hai câu lệnh Writeln(o ) và delay(100) đ ợc thực hiện + Hai lệnh trên đ ợc đặt giữa hai từ khoá begin, end Câu lệnh ghép O O O O O O O O O O ví dụ 2: Mô phỏng quả trứng rơi từ trên cao xuống Ví dụ 1: Tính tổng của 100 số tự nhiên đầu tiên liên tiếp S = 1 + 2 + 3 + 4 + + 100 Nhận xét: S = 0 S = S + 1 S = S + 2 S = S + 3 S = S + 100 1=S Việc tính S đ ợc lặp đi lặp lại 100 lần theo quy luật S sau = S tr ớc + i với i tăng lần l ợt từ 1 đến100 2+ 3+ 4+ 100 ++ . . . . . . . . . . . . . . . . . . . . 4. Tính tổng và tích bằng câu lệnh lặp 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. Program tinhtong; Uses crt; Var S,i : Integer; Begin S:=0; For i:=1 to 100 do S:=S +i; Writeln('Tong S=',S); Readln; End. Ch ơng trình Uses crt; Var i,N : Integer; S : real; BEGIN Readln; END. S:=0; FOR i:=1 to N do S := S+1/i; Writeln( Tong S =,S:8:3); Write( Nhap vao gia tri cua N :);readln(N); Program Tinh_tong2; Dựa vào đề bài hãy xác định: - Giá trị khởi tạo của S - Giá trị đầu, cuối của biến đếm i - Câu lệnh sẽ đ ợc lặp N S 1 4 1 3 1 2 1 1 +++++= S:=0; For i:=1 to N do S:= S + 1/i; Lập ch ơng trình tính tổng sau: Ví dụ 2: . Gi¸o ¸n ®iÖn tö tin häc líp 8 Em đánh răng 2 lần một ngày Kim giây quay 60 vòng trong 1 giờ Bài toán: Viết ch. Readln; END. S:=0; FOR i:=1 to N do S := S+1/i; Writeln( Tong S =,S :8: 3); Write( Nhap vao gia tri cua N :);readln(N); Program Tinh_tong2; Dựa vào đề bài hãy xác định: - Giá trị khởi tạo của S - . 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. Program tinhtong; Uses crt; Var S,i : Integer; Begin S:=0; For i:=1 to 100 do S:=S +i; Writeln('Tong