Tin học 8 Bài 7: Câu lệnh lặp
Mời quý thầy cô cùng các em học sinh lớp 8 theo dõi nội dung bài học số 7 bên được eLib biên soạn và tổng hợp bên dưới đây để có cái nhìn khái quát hơn về lệnh lặp và câu lệnh lặp trong một số chương trình cơ bản. Hy vọng đây sẽ là tài liệu tham khảo hữu ích cho các em học sinh và quý thầy cô trong quá trình học tập và giảng dạy.
Mục lục nội dung
1. Tóm tắt lý thuyết
1.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:
- Bước 1: SUM ← 0; I ← 0.
- Bước 2: SUM ←SUM + I; I← I + 1.
- Bước 3: 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.
1.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.
1.3. Tính tổng và tích bằng câu lệnh lặp
Ví dụ: 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.
Program tinh_tong;
Var N,i: Integer;
S: longint;
Begin
Write(‘Nhap so N =’); readln(N);
S:=0;
For i:=1 to N do S:=S+i;
Witeln(‘tong = ’,S);
Readln;
End.
2. Bài tập minh họa
Bài 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ướng dẫn giải
Thuật toán:
- Bước 1. Vẽ hình vuông (vẽ liên tiếp bốn cạnh và trở về đỉnh ban đầu)
- Bước 2. Nếu số hình vuông đã vẽ được ít hơn 3, di chuyển bút vẽ về bên phải 2 đơn vị và trở lại bước 1, ngược lại kết thúc thuật toán
Bài toán vẽ một hình vuông:
Thuật toán mô tả các bước để vẽ hình vuông:
- Bước 1. k 0 (k là số đoạn thẳng đã vẽ được)
- Bước 2. k k+1. Vẽ đoạn thẳng 1 đơn vị độ dài và quay thước 900 sang phải
- Bước 3. Nếu k < 4 thì trở lại Bước 2; Ngược lại, kết thúc thuật toán
Trong đó, biến k được sử dụng như là biến đếm để ghi lại số cạnh đã vẽ được.
Bài 2: In một chữ "O" trên màn hình.
Hướng dẫn giải
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.
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.
3. Luyện tập
3.1. Bài tập tự luận
Câu 1: Cú pháp câu lệnh lặp là gì?
Câu 2: Với ngôn ngữ lập trình Passcal câu lệnh lặp for i:=1 to 10 do x:=x+1; thì biến đếm i phải được khai báo là kiểu dữ liệu nào?
Câu 3: Đoạn chương trình sau giải bài toán nào?
For I:=1 to M do
If (I mod 3 = 0) and (I mod 5 = 0) then
T := T + I;
Câu 4: Xác định số vòng lặp cho bài toán: tính tổng các số nguyên từ 1 đến 100?
Câu 5: Sau khi thực hiện đoạn chương trình sau:
S:=10;
For i:=1 to 4 do S:=S+i;
Giá trị của biến S bằng bao nhiêu?
3.2. Bài tập trắc nghiệm
Câu 1: Kiểu dữ liệu của biến đếm trong lệnh lặp For – do:
A. Cùng kiểu với giá trị đầu và giá trị cuối
B. Chỉ cần khác kiểu với giá trị đầu
C. Cùng kiểu với các biến trong câu lệnh
D. Không cần phải xác định kiểu dữ liệu
Câu 2: Hoạt động nào sau đây lặp với số lần lặp biết trước?
A. Giặt tới khi sạch
B. Học bài cho tới khi thuộc bài
C. Gọi điện tới khi có người nghe máy
D. Ngày đánh răng 2 lần
Câu 3: Câu lệnh For..to..do kết thúc :
A. Khi biến đếm nhỏ hơn giá trị cuối
B. Khi biến đếm lớn hơn giá trị cuối
C. Khi biến đếm nhỏ hơn giá trị đầu
D. Khi biến đếm lớn hơn giá trị đầu
Câu 4: Trong lệnh lặp For – do:
A. Giá trị đầu phải nhỏ hơn giá trị cuối
B. Giá trị đầu phải nhỏ hơn hoặc bằng giá trị cuối
C. Giá trị đầu phải lớn hơn giá trị cuối
D. Giá trị đầu phải bằng giá trị cuối
Câu 5: Cho các câu lệnh sau hãy chỉ ra câu lệnh đúng :
A. for i:=1 to 10; do x:=x+1;
B. for i:=1 to 10 do x:=x+1;
C. for i:=10 to 1 do x:=x+1;
D. for i =10 to 1 do x:=x+1;
4. Kết luận
Sau khi học xong bài 7 môn Tin học 8 các em học sinh cần nắm được những nội dung cơ bản sau:
- Biết nhu cầu cần có cấu trúc lặp trong ngôn ngữ lập trình.
- Biết ngôn ngữ lập trình dựng cấu trúc lặp để chỉ dẫn máy tính thực hiện lặp đi lặp lại công việc nào đó một số lần.
- Hiểu hoạt động của câu lệnh với số lần biết trước for.do trong Pascal.
- Viết đúng được lệnh lặp với số lần biết trước trong một số tình huống đơn giản.
- Hiểu lệnh ghép trong Pascal.
- Thái độ nghiêm túc cẩn thận.
Tham khảo thêm
- doc Tin học 8 Bài thực hành 3: Khai báo và sử dụng biến
- doc Tin học 8 Bài 5: Từ bài toán đến chương trình
- doc Tin học 8 Bài 6: Câu lệnh điều kiện
- doc Tin học 8 Bài thực hành 4: Sử dụng câu lệnh điều kiện If…Then
- doc Tin học 8 Bài thực hành 5: Sử dụng lệnh lặp For…Do
- doc Tin học 8 Bài 8: Lặp với số lần chưa biết trước
- doc Tin học 8 Bài thực hành 6: Sử dụng lệnh lặp While…Do
- doc Tin học 8 Bài 9: Làm việc với dãy số
- doc Tin học 8 Bài thực hành 7: Xử lý dãy số trong chương trình
- doc Tin học 8 Bài 1: Máy tính và chương trình máy tính
- doc Tin học 8 Bài 2: Làm quen với chương trình và ngôn ngữ lập trình
- doc Tin học 8 Bài thực hành 1: Làm quen với Turbo Pascal
- doc Tin học 8 Bài 3: Chương trình máy tính và dữ liệu
- doc Tin học 8 Bài thực hành 2: Viết chương trình để tính toán
- doc Tin học 8 Bài 4: Sử dụng biến trong chương trình