Bài 7. Câu lệnh lặp
Chia sẻ bởi Phan Van Duong |
Ngày 24/10/2018 |
48
Chia sẻ tài liệu: Bài 7. Câu lệnh lặp thuộc Tin học 8
Nội dung tài liệu:
CÂU LỆNH LẶP
Thời gian 2 tiết
1. Các công việc phải thực hiện nhiều lần
Hãy quan sát các ảnh sau
Đánh răng mỗi ngày hai lần là công việc lặp lại với số lần nhất định và biết trước.
Mỗi ngày tắm một lần là công việc lặp lại với số lần nhất định và biết trước.
Đi học mỗi ngày một lần là công việc lặp lại với số lần nhất định và biết trước.
Học cho đến khi thuộc bài là công việc lặp lại với số lần không thể xác định được.
Trong cuộc sống hằng ngày, nhiều hoạt động được lặp đi lặp lại nhiều lần.
Có những hoạt động mà chúng ta thường thực hiện lặp lại với một số lần nhất định và biết trước, chẳng hạn đánh răng mỗi ngày hai lần, mỗi ngày tắm một lần,…Chúng ta còn lặp lại công việc với số lần không thể xác định được: học cho đến khi thuộc bài, nhặt từng cọng rau cho đến khi xong,…
Khi viết chương trình máy tính cũng vậy. Để chỉ dẫn cho máy thực hiện đúng công việc, trong nhiều trường hợp ta cũng cần phải viết lặp lại nhiều câu lệnh thực hiện một phép tính nhất định.
3. Câu lệnh lặp_một lệnh thay cho nhiều lệnh
Ví dụ 1. Giả sử ta cần vẽ ba hình vuông có cạnh 1 đơn vị như hình 33. 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ị. Do đó, ta chỉ cần lặp lại thao tác vẽ hình vuông ba lần.
Hình 33
Việc vẽ hình có thể thực hiện được bằng thuật toán sau đây:
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 hai đơn vị và trở lại bước 1; ngược lại kết thúc thuật toán.
1
2
2
Riêng bài toán vẽ một hình vuông (hình 34), thao tác chính là vẽ bốn cạnh bằng nhau, hãy lập lại bốn lần thao tác vẽ một đoạn thẳng. Sau mỗi lần vẽ đoạn thẳng, thước kẻ được quay một góc 900 sang phải tại vị trí của bút vẽ.
Hình 34
Thuật toán sau đây sẽ mô tả các bước để vẽ hình vuông:
Ví dụ 2. Giả sử cần tính tổng của 100 số tự nhiên đầu tiên, tức là tính:
S= 1+2+3+…+100.
Thuật toán sau đây sẽ mô tả việc thực hiện lặp lại phép cộng 100 lần:
Bước1. SUM ← 0; i ← 0.
Bước2. i ← i+1.
Bước3. Nếu i ≤ 100, thì SUM ← SUM + i và quay lại bước 2.
Bước4. Thông báo kết quả và kết thúc thuật toán.
3. CẤU TRÚC DẠNG LẶP
Trong đó for, to, do là các từ khoá
bi?n d?m: bi?n ki?u nguyn. Gi tr? d?u, gi tr? cu?i là các giá trị nguyên. Gi tr? d?u ph?i nh? hon ho?c b?ng gi tr? cu?i.
For:= to do ;
VÍ Dụ S:=0;
for i:=2 to 100 do s:=s+1;
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;
Câu lệnh lặp sẽ thực hiện nhiều lần, mỗi lần là một vòng lặp. Số vòng lặp là biết trước và bằng: gi tr? cu?i - Gi tr? d?u + 1
3. Ví dụ về câu lệnh lặp
b. Sự hoạt động của lệnh:
Sơ đồ khối
Biến đếm : = Giá trị đầu
Giá trị đầu <=Giá trị cuối
Câu lệnh trong vòng lặp
Biến đếm :=Biến đếm + 1;
False
True
Bước1: Đầu tiên Biến đếm sẽ nhận giá trị
là
Bước2: Máy kiểm tra điều kiện ≤
Bước3: Nếu điều kiện trên là sai thì ra khỏi vòng lặp FOR. Nếu điều kiện trên là đúng thì được thực hiện, sau đó biến được tăng lên một đơn vị (Biến:=Biến+1) và quay trở lại bước(2).
Ví dụ 1: Viết câu lệnh để in ra màn hình 10 chữ “ Mau sac “
For i : = 1 to 10 do writeln( ‘Mau sac’);
- Hãy chỉ ra các thành phần trong câu lệnh trên ?
3. Ví dụ về câu lệnh lặp
Trả lời:
i là biến đếm
1 là giá trị đầu
10 là giá trị cuối
writeln( ‘Mau sac’); là câu lệnh
Ví dụ 2:
For i : = 1 to 10 do writeln( ‘Mau sac’);
Hãy sử dụng câu lệnh trên để viết chương trình đầy đủ in ra màn hình 10 chữ “ Mau sac “
Trả lời:
Program mau_sac;
Uses crt;
Var i: byte;
Begin
For i:= 1 to 10 do Write (‘mau sac’,i);
Readln
end.
Chương trình sau sẽ in ra màn hình số 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.
Để in một chữ “O” trên màn hình, ta có thể sử dụng lệnh
Program lap;
Uses crt;
Var i: integer;
Begin
For i:= 1 to 20 do
begin
Writeln (‘O’);
delay(100)
end;
Readln
end.
TÍNH TỔNG BẰNG CÂU LỆNH LẶP
Viết chương trình tính tổng
S=1+2+3+4+5
Program Tinh_tong;
Uses crt;
Var i: integer;
S: longint;
Begin
S:=0;
For i:= 1 to 5 do S:= S + 1;
Writeln (‘Tong cua S = ’,s);
Readln
end.
TÍNH TỔNG BẰNG CÂU LỆNH LẶP
Viết chương trình 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
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 cua S = ’,N,’ So tu nhien dau tien S = ‘,S);
Readln
end.
TÍNH TÍCH BẰNG CÂU LỆNH LẶP
Ta kí hiệu N! là tích N số tự nhiên đầu tiên:
N! = 1.2.3…N
- Viết chương trình tính N! với N là số tự nhiên được nhập vào từ bàn
phím.
Program Tính_Giai_thua;
Uses crt;
Var i, N: integer;
P: longint;
Begin
write (‘Nhap N = ‘); readln (N);
P:= 1;
For i:= 1 to N do P:= P*i;
Writeln (N,’! = ’,P);
Readln
end.
Em hãy viết chương trình tính tổng các số nguyên liên tiếp từ n đến m với n,m là các số nguyên dương nhập vào từ bàn phím
Program tinh_tong;
Uses crt;
Var m, n, i: integer;
S: longint;
Begin
write (‘Nhap n = ‘); readln ( n);
write (‘Nhap m=‘); readln ( m);
S:=0;
For i:= n to m do S:= S + n;
Writeln (‘Tong cua S = ’,s); Readln
end.
MEMORIZE
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.
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.
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
Bài học đã
KẾT THÚC
Thân ái chào các em
Thời gian 2 tiết
1. Các công việc phải thực hiện nhiều lần
Hãy quan sát các ảnh sau
Đánh răng mỗi ngày hai lần là công việc lặp lại với số lần nhất định và biết trước.
Mỗi ngày tắm một lần là công việc lặp lại với số lần nhất định và biết trước.
Đi học mỗi ngày một lần là công việc lặp lại với số lần nhất định và biết trước.
Học cho đến khi thuộc bài là công việc lặp lại với số lần không thể xác định được.
Trong cuộc sống hằng ngày, nhiều hoạt động được lặp đi lặp lại nhiều lần.
Có những hoạt động mà chúng ta thường thực hiện lặp lại với một số lần nhất định và biết trước, chẳng hạn đánh răng mỗi ngày hai lần, mỗi ngày tắm một lần,…Chúng ta còn lặp lại công việc với số lần không thể xác định được: học cho đến khi thuộc bài, nhặt từng cọng rau cho đến khi xong,…
Khi viết chương trình máy tính cũng vậy. Để chỉ dẫn cho máy thực hiện đúng công việc, trong nhiều trường hợp ta cũng cần phải viết lặp lại nhiều câu lệnh thực hiện một phép tính nhất định.
3. Câu lệnh lặp_một lệnh thay cho nhiều lệnh
Ví dụ 1. Giả sử ta cần vẽ ba hình vuông có cạnh 1 đơn vị như hình 33. 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ị. Do đó, ta chỉ cần lặp lại thao tác vẽ hình vuông ba lần.
Hình 33
Việc vẽ hình có thể thực hiện được bằng thuật toán sau đây:
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 hai đơn vị và trở lại bước 1; ngược lại kết thúc thuật toán.
1
2
2
Riêng bài toán vẽ một hình vuông (hình 34), thao tác chính là vẽ bốn cạnh bằng nhau, hãy lập lại bốn lần thao tác vẽ một đoạn thẳng. Sau mỗi lần vẽ đoạn thẳng, thước kẻ được quay một góc 900 sang phải tại vị trí của bút vẽ.
Hình 34
Thuật toán sau đây sẽ mô tả các bước để vẽ hình vuông:
Ví dụ 2. Giả sử cần tính tổng của 100 số tự nhiên đầu tiên, tức là tính:
S= 1+2+3+…+100.
Thuật toán sau đây sẽ mô tả việc thực hiện lặp lại phép cộng 100 lần:
Bước1. SUM ← 0; i ← 0.
Bước2. i ← i+1.
Bước3. Nếu i ≤ 100, thì SUM ← SUM + i và quay lại bước 2.
Bước4. Thông báo kết quả và kết thúc thuật toán.
3. CẤU TRÚC DẠNG LẶP
Trong đó for, to, do là các từ khoá
bi?n d?m: bi?n ki?u nguyn. Gi tr? d?u, gi tr? cu?i là các giá trị nguyên. Gi tr? d?u ph?i nh? hon ho?c b?ng gi tr? cu?i.
For
VÍ Dụ S:=0;
for i:=2 to 100 do s:=s+1;
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;
Câu lệnh lặp sẽ thực hiện nhiều lần, mỗi lần là một vòng lặp. Số vòng lặp là biết trước và bằng: gi tr? cu?i - Gi tr? d?u + 1
3. Ví dụ về câu lệnh lặp
b. Sự hoạt động của lệnh:
Sơ đồ khối
Biến đếm : = Giá trị đầu
Giá trị đầu <=Giá trị cuối
Câu lệnh trong vòng lặp
Biến đếm :=Biến đếm + 1;
False
True
Bước1: Đầu tiên Biến đếm sẽ nhận giá trị
là
Bước2: Máy kiểm tra điều kiện
Bước3: Nếu điều kiện trên là sai thì ra khỏi vòng lặp FOR. Nếu điều kiện trên là đúng thì
Ví dụ 1: Viết câu lệnh để in ra màn hình 10 chữ “ Mau sac “
For i : = 1 to 10 do writeln( ‘Mau sac’);
- Hãy chỉ ra các thành phần trong câu lệnh trên ?
3. Ví dụ về câu lệnh lặp
Trả lời:
i là biến đếm
1 là giá trị đầu
10 là giá trị cuối
writeln( ‘Mau sac’); là câu lệnh
Ví dụ 2:
For i : = 1 to 10 do writeln( ‘Mau sac’);
Hãy sử dụng câu lệnh trên để viết chương trình đầy đủ in ra màn hình 10 chữ “ Mau sac “
Trả lời:
Program mau_sac;
Uses crt;
Var i: byte;
Begin
For i:= 1 to 10 do Write (‘mau sac’,i);
Readln
end.
Chương trình sau sẽ in ra màn hình số 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.
Để in một chữ “O” trên màn hình, ta có thể sử dụng lệnh
Program lap;
Uses crt;
Var i: integer;
Begin
For i:= 1 to 20 do
begin
Writeln (‘O’);
delay(100)
end;
Readln
end.
TÍNH TỔNG BẰNG CÂU LỆNH LẶP
Viết chương trình tính tổng
S=1+2+3+4+5
Program Tinh_tong;
Uses crt;
Var i: integer;
S: longint;
Begin
S:=0;
For i:= 1 to 5 do S:= S + 1;
Writeln (‘Tong cua S = ’,s);
Readln
end.
TÍNH TỔNG BẰNG CÂU LỆNH LẶP
Viết chương trình 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
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 cua S = ’,N,’ So tu nhien dau tien S = ‘,S);
Readln
end.
TÍNH TÍCH BẰNG CÂU LỆNH LẶP
Ta kí hiệu N! là tích N số tự nhiên đầu tiên:
N! = 1.2.3…N
- Viết chương trình tính N! với N là số tự nhiên được nhập vào từ bàn
phím.
Program Tính_Giai_thua;
Uses crt;
Var i, N: integer;
P: longint;
Begin
write (‘Nhap N = ‘); readln (N);
P:= 1;
For i:= 1 to N do P:= P*i;
Writeln (N,’! = ’,P);
Readln
end.
Em hãy viết chương trình tính tổng các số nguyên liên tiếp từ n đến m với n,m là các số nguyên dương nhập vào từ bàn phím
Program tinh_tong;
Uses crt;
Var m, n, i: integer;
S: longint;
Begin
write (‘Nhap n = ‘); readln ( n);
write (‘Nhap m=‘); readln ( m);
S:=0;
For i:= n to m do S:= S + n;
Writeln (‘Tong cua S = ’,s); Readln
end.
MEMORIZE
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.
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.
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
Bài học đã
KẾT THÚC
Thân ái chào các em
* Một số tài liệu cũ có thể bị lỗi font khi hiển thị do dùng bộ mã không phải Unikey ...
Người chia sẻ: Phan Van Duong
Dung lượng: |
Lượt tài: 1
Loại file:
Nguồn : Chưa rõ
(Tài liệu chưa được thẩm định)