Haylamdo biên soạn và sưu tầm tóm tắt lý thuyết Tin học lớp 8 Bài 7: Câu lệnh lặp hay, chi tiết nhất sẽ tóm tắt kiến thức trọng tâm về bài học từ đó giúp học sinh ôn tập để nắm vững kiến thức môn Tin học 8. Show
• Nội dung chính - Cấu trúc lặp - Câu lệnh for…do thể hiện cấu trúc lặp với số lần lặp cho trước 1. Câu lệnh lặp – một lệnh hay nhiều lệnh - Xét ví dụ: tính tổng 100 số tự nhiên đầu tiên, tức là tính: S = 1 + 2 + 3 + … + 100 Hoạt động chính khi giải bài toán này là thực hiện phép cộng. INPUT: Dãy 100 số tự nhiên đầu tiên: 1, 2, …, 100. OUTPUT: Giá trị tổng 1 + 2 + … + 100. Thuật toán: - B1: SUM ← 0; I ← 0. - B2: SUM ←SUM + I; I← I + 1. - B3: nếu I ≤ 100, thì quay lại bước 2. Ngược lại, thông báo giá trị SUM và kết thúc thuật toán. Kết luận: - Cách mô tả hoạt động lặp trong thuật toán như ví dụ trên gọi là cấu trúc lặp. - Để chỉ thị cho máy tính thực hiện cấu trúc lặp với 1 câu lệnh, gọi là câu lệnh lặp. 2. Câu lệnh lặp for…do - Câu lệnh lặp sẽ thực hiện câu lệnh nhiều lần, mỗi lần là 1 vòng lặp. số vòng lặp là biết trước và bằng giá trị cuối – giá trị đầu + 1 - Cú pháp: For<biến đếm > := <giá trị đầu> to <giá trị cuối> do <câu lệnh> - Biến đếm phải là kiểu nguyên. Ban đầu sẽ có giá trị đầu, sau mỗi vòng lặp biến đếm tự động tăng cho đến khi băng giá trị cuối. Ví dụ 1: chương trình in ra thứ tự lần lặp Ví dụ 2: để in 1 chữ ″O″ trên màn hình, nếu in chữ ″O″ nhiều lần ta sẽ thu được hình ảnh quả trứng rơi từ trên xuống. - Trong ví dụ trên có sử dụng câu lệnh ghép, là nhiều lệnh đặt trong cặp từ khóa begin và end; 3. Tính tổng và tích bằng câu lệnh lặp Ví dụ 1: chương tình sau đây sẽ tính tổng của N số tự nhiên đầu tiên, với N là số tự nhiên được nhập vào từ bàn phím. Ví dụ 2: ta kí hiệu N! là tích N số tự nhiên đầu tiên, đọc là N giai thừa. N! = 1.2.3…N Xem toàn bộ tài liệu Lớp 8: tại đâyGiải Bài Tập Tin Học 8 – Bài 7: Câu lệnh lặp giúp HS giải bài tập, giúp cho các em hình thành và phát triển năng lực sử dụng công nghệ thông tin và truyền thông:
Bài 1 (trang 59 sgk Tin học lớp 8):Cho một vài ví dụ về hoạt động được thực hiện lặp lại trong cuộc sống hàng ngày.Trả lời: – Hàng ngày ta đi học từ thứ 2 đến 7. – Hàng ngày ta ăn một ngày ba bữa cơm. – Hàng ngày đêm đến ta đều đi ngủ. Bài 2 (trang 59 sgk Tin học lớp 8): Chương trình Pascal sau đây thực hiện hoạt động nào?var i: integer; begin for i:=1 to 1000 do; end.Trả lời: – Chương trình chạy biến i từ 1 đến 1000 rồi không làm gì cả. Bài 3 (trang 59 sgk Tin học lớp 8): Hãy mô tả thuât toán để tính tổng A sau đây (n là số tự nhiên được nhập vào từ bàn phím):Trả lời: – Bước 1: Nhập n. Gán i=1, A:=0; – Bước 2: A=1/i(i+2). – Bước 3: i:= i+1; – Bước 3: Nếu i > n thì đến bước 5, ngược lại quay về bước 2. – Bước 4: In ra A. – Bước 5 kết thúc vòng lặp. Tìm hiểu mở rộng (trang 59 sgk Tin học lớp 8): Ngoài lệnh lặp đã biết, Pascal còn có câu lệnh lặp tương tự:For <biến đếm> := <giá trị đầu> downto <giá tri cuối> do <câu lệnh>Trong câu lệnh này, ban đầu biến đếm nhận giá trị đầu. Sau mỗi lần thực hiện câu lệnh, biến đếm bị giảm đi một đơn vị và câu lệnh được lặp lại tới khi biến đếm bằng giá trị cuối. Ví dụ. Đoạn chương trình sau sẽ ghi trên màn hình các số từ 100 đến 1 theo thứ tự giảm dần: Writeln (‘Dem nguoc’); For i:=100 downto 1 do writeln(i);Nếu sử dụng lệnh for … to em phải làm thế nào? Hãy tìm hiểu cách thức sử dụng câu lệnh for … downto và thể hiện trong một chương trình. Trả lời: – Nếu sử dụng lệnh for.. to thì chương trình đếm ngược sẽ là: – Ví dụ với downto cho thuật toán ở câu 3:
1.1. Các công việc phải thực hiệnTrong cuộc sống hằng ngày, nhiều hoạt động được thực hiện lặp đi lặp lại nhiều lần. Ví dụ:
Ví dụ số lần lặp biết trước: Các ngày trong tuần các em đều lặp đi lặp lại hoạt động buổi sáng đến trường và buổi trưa trở về nhà. Ví dụ số lần lặp không biết trước: Trong một trận cầu lông các em lặp đi lặp lại công việc đánh cầu cho đến khi kết thúc trận cầu. Tóm lại: Khi viết chương trình máy tính, trong nhiều trường hợp ta cũng phải viết lặp lại nhiều câu lệnh chỉ để thực hiện 1 phép tính nhất định. 1.2. Câu lệnh lặp - một lệnh thay cho nhiều lệnhVí dụ 1: Giả sử cần vẽ 3 hình vuông có cạnh 1 đơn vị. Mỗi hình vuông là ảnh dịch chuyển của hình bên trái nó một khoảng cách 2 đơn vị. Hình 1. Ba hình vuông Thuật toán:
Bài toán vẽ một hình vuông: Hình 2. Các bước vẽ hình vuông Thuật toán mô tả các bước để vẽ hình vuông:
Trong đó, biến k được sử dụng như là biến đếm để ghi lại số cạnh đã vẽ được. Ví dụ 2: Tính tổng 100 số tự nhiên đầu tiên S=1+2+…+100 Thuật toán:
KẾT LUẬN:
1.3. Ví dụ về câu lệnh lặpCú pháp: For < Biến đếm > := < Giá trị đầu > to < Giá trị cuối > do < Câu lệnh >; Trong đó:
Lưu ý:
Hoạt động của vòng lặp:
Ví dụ 3: Chương trình sau sẽ in ra màn hình thứ tự lần lặp. Chương trình mẫu: Program ViDu3; Var i: Integer; Begin For i:=1 to 10 do Writeln ('Day la lan lap thu ',i); Readln; End. Ví dụ 4: In một chữ "O" trên màn hình. Chương trình mẫu: Program ViDu4; Uses crt; Var i:Integer; Begin Clrscr; For i:=1 to 20 do Begin Writeln('O'); Delay(100); End; Readln; End. Hình 3. Câu lệnh đơn và câu lệnh ghép Câu lệnh đơn giản writeln('O') và delay(100) được đặt trong hai từ khóa begin và end để tạo thành một câu lệnh ghép trong Pascal. 1.4. Tính tổng và tích bằng câu lệnh lặpVí dụ 5: Chương trình sau đây sẽ tính tổng N số tự nhiên đầu tiên với N nhập từ bàn phím. Chương trình mẫu: Program tinh_tong; Var N,i: Integer; S: longint; Begin Clrscr; Writeln(‘Nhap N =’); Readln(N); S:=0; For i:=1 to N do S:=S+i; Witeln(‘tong la:’,S); Readln; End. Ví dụ 6: Ta kí hiệu N! là tích N số tự nhiên đầu tiên: N! = 1.2.3…N. Chương trình mẫu: Program tinh_giai_thua; Var N,i: Integer; P: Longint; Begin Clrscr; Write(‘Nhap N =’); readln(N); P:=1; For i:=1 to N do P:=P*i; Wirteln(N,’!=’,P); Readln; End. |