Bài giảng Tin học Lớp 8 - Tiết 41, 42, Bài 7: Câu lệnh lặp
Các câu lệnh Pascal sau đây có hợp lệ hay không,
vì sao?
a/ For i:=100 to 1 do writeln(‘A’);
b/ For i:=1.5 to 10.5 do writeln(‘A’);
c/ For i=1 to 10 do writeln(‘A’);
d/ For i:=1 to 10 do; writeln(‘A’);
e/ Var x:Real;
Begin
For x:=1 to 10 do writeln(‘A’);
1 Hãy nêu ví dụ về các hoạt động lặp trong cuộc sống hàng ngày. • Đánh răng ngày 2 lần • Ăn ngày 3 bữa chính • Đi học ngày 1 buổi • Học bài đến khi thuộc • 31. Câu lệnh lặp. Một lệnh thay cho nhiều lệnh Ví dụ 1: vẽ 3 hình vuông có cạnh 1 đơn vị (các em nghiên cứu trong sgk) BÀI 7: CÂU LỆNH LẶPTiết 41-42 41. Câu lệnh lặp. Một lệnh thay cho nhiều lệnh Ví dụ 2: tính tổng của 100 số tự nhiên đầu tiên BÀI 7: CÂU LỆNH LẶPTiết 41-42 Thuật toán; Bước 1:S0;i0 Bước 2: ii+1 Bước 3; nếu i<=100 thì,SS+1, quay lại bước 2 Bước 4; in kết quả, kết thúc thuật toán 52. Câu lệnh lặp fordo: a/ Cú pháp: b/ Trong đó: • For, to, do: là từ khóa •Biến đếm: biến kiểu nguyên •Giá trị đầu, giá trị cuối: là biểu thức cùng kiểu với biến đếm (giá trị đầu phải nhỏ hơn hoặc bằng giá trị cuối) •Câu lệnh: Không được làm thay đổi giá trị biến đếm, nếu có nhiều hơn một lệnh thì phải đặt trong cặp từ khoá Begin ... end; BÀI 7: CÂU LỆNH LẶPTiết 41-42 For : to do ; 2. Câu lệnh lặp fordo SƠ ĐỒ KHỐI Biến đếm:=giá trị đầu Biến đếm<=giá trị cuối Thực hiện câu lệnh, biến đếm tăng 1 Đúng Sai c/ Hoạt động của câu lệnh: Quan sát sơ đồ khối, hãy cho biết sự thực hiện của máy? • Bước 1: tính giá trị đầu, gán cho biến đếm. • Bước 2: Nếu biến đếm <= giá trị cuối thì: - thực hiện lệnh cần lặp. - tăng biến đếm 1 đơn vị, quay lại bước 2 7d. Ví dụ về câu lệnh lặp: Ví dụ 3: Chương trình sau sẽ in ra màn hình thứ tự lần lặp: Program lap; Uses crt; Var i: integer; Begin For i:= 1 to 10 do Writeln (‘day la lan lap thu ’, i ); Readln; end. BÀI 7: CÂU LỆNH LẶPTiết 41-42 day la lan lap thu 1 day la lan lap thu 2 day la lan lap thu 3 day la lan lap thu 4 day la lan lap thu 5 day la lan lap thu 6 day la lan lap thu 7 day la lan lap thu 8 day la lan lap thu 9 day la lan lap thu 10 Theo em dự đoán thì trên màn hình sẽ hiển thị lên kết quả như thế nào sau khi chạy chương trình? Lần lặp thứ i Kết quả viết ra màn hình 1 1 Day la lan lap thu 1 2 2 Day la lan lap thu 2 3 3 Day la lan lap thu 3 4 4 Day la lan lap thu 4 5 5 Day la lan lap thu 5 6 6 Day la lan lap thu 6 7 7 Day la lan lap thu 7 8 8 Day la lan lap thu 8 9 9 Day la lan lap thu 9 10 10 Day la lan lap thu 10 Số lần lặp= 10-1+1=10(lầ )? í : trì s s ̃ i r ̀ ì t t l l : 82. Câu lệnh lặp fordo : Áp dụng: Hãy viết chương trình in ra màn hình các số từ 1 đến 10 BÀI 7: CÂU LỆNH LẶPTiết 41-42 Program lap; Uses crt; Var i: integer; Begin For i:= 1 to 10 do Writeln (‘day la lan lap thu ’, i ); Readln; end. day la lan lap thu 1 day la lan lap thu 2 day la lan lap thu 3 day la lan lap thu 4 day la lan lap thu 5 day la lan lap thu 6 day la lan lap thu 7 day la lan lap thu 8 day la lan lap thu 9 day la lan lap thu 10 1 2 3 4 5 6 7 8 9 10 92. Câu lệnh lặp fordo : Áp dụng: Hãy viết chương trình in ra màn hình các số từ 1 đến 10 BÀI 7: CÂU LỆNH LẶPTiết 41-42 Program lap; Uses crt; Var i: integer; Begin For i:= 1 to 10 do Writeln ( i ); Readln; end. 1 2 3 4 5 6 7 8 9 10 10 2. Câu lệnh lặp fordo : BÀI 7: CÂU LỆNH LẶPTiết 41-42 Để in một chữ “O” trên màn hình ta sử dụng lệnh nào? Để in nhiều chữ “O” trên màn hình ta làm như thế nào? For i:= 1 to 20 do Writeln (‘O’); 11 2. Câu lệnh lặp fordo : BÀI 7: CÂU LỆNH LẶPTiết 41-42 Ví dụ 4: Hiệu ứng trứng rơi For i:= 1 to 20 do begin Writeln (‘O’); delay(100) end; O O O O O O O O O O O O O O O O O O O O Uses crt; Var i: integer; Begin For i:= 1 to 20 do begin Writeln (‘O’); delay(100) end; Readln end. 12 Bài 4 (SGK-61) Sau khi thực hiện đoạn chương trình sau, giá trị j bằng bao nhiêu? j:=0; For i:=0 to 5 do j:=j+2; Số lần lặp = 5 – 0 + 1 = 6 (Lần) Sau mỗi vòng lặp giá trị j tăng thêm 2 Sau 6 vòng lặp giá trị j = 12 13 Nhận biết câu lệnh lặp Các câu lệnh Pascal sau đây có hợp lệ hay không, vì sao? a/ For i:=100 to 1 do writeln(‘A’); b/ For i:=1.5 to 10.5 do writeln(‘A’); c/ For i=1 to 10 do writeln(‘A’); d/ For i:=1 to 10 do; writeln(‘A’); e/ Var x:Real; Begin For x:=1 to 10 do writeln(‘A’); End. 14 3. Tính tổng và tích bằng câu lệnh lặp: BÀI 7: CÂU LỆNH LẶPTiết 41-42 Ví dụ 5: Tính tổng S = 1+2+3++N Uses crt; Var N, i: integer; S: longint; Begin Write(‘nhap so N=‘); readln(N); S:=0; For i:= 1 to N do S:= S + i; Writeln (‘Tong S= ‘, S); Readln end. 15 3. Tính tổng và tích bằng câu lệnh lặp: BÀI 7: CÂU LỆNH LẶPTiết 41-42 Ví dụ 6: Tính Tích N! = 1*2*3**N Uses crt; Var N, i: integer; P: longint; Begin Write(‘nhap so N=‘); readln(N); P:=1; For i:= 1 to N do p:=p*i; Writeln (N ,’ != ’, p); Readln end. Ví dụ 5: Tính tổng S = 1+2+3++N Uses crt; Var N, i: integer; S: longint; Begin Write(‘nhap so N=‘); readln(N); S:=0; For i:= 1 to N do S:= S + i; Writeln (‘Tong S= ‘, S); Readln end. 16 3. Tính tổng và tích bằng câu lệnh lặp: BÀI 7: CÂU LỆNH LẶP Ví dụ 6: Tính Tích N! = 1*2*3**N Program Tinh_Giai_thua; Uses crt; Var N, i: integer; P: longint; Begin Write(‘nhap so N=‘); readln(N); P:=1; For i:= 1 to N do p:=p*i; Writeln (N ,’ != ’, p); Readln end. Ví dụ 5: Tính tổng S = 1+2+3++N Program Tinh_tong; Uses crt; Var N, i: integer; S: longint; Begin Write(“nhap so N=‘); readln(N); S:=0; For i:= 1 to N do S:= S + i; Writeln (‘Tong S= ‘, S); Readln end. Tiết 41-42 17 Ghi nhớ 1. 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 vài hoạt động nào đó cho đến khi một điều kiện nào đó được thoả mãn. 2. Mọi ngôn ngữ lập trình đều có các câu lệnh lặp để thể hiện cấu trúc lặp. 3. Ngôn ngữ Pascal thể hiện cấu trúc lặp với số lần lặp cho trước bằng câu lệnh For do 18 Củng cố
File đính kèm:
- bai_giang_tin_hoc_lop_8_tiet_41_42_bai_7_cau_lenh_lap.pdf