Nội dung của Bài 7: Câu lệnh lặp dưới đây sẽ giúp các em biết được nhu cầu cần có cấu trúc lặp trong ngôn ngữ lập trình, hiểu hoạt động của câu lệnh lặp với số lần biết trước for...do trong Pascal, viết đúng lệnh for...do trong một số tình huống đơn giản, hiểu lệnh ghép trong Pascal,... Mời các em cùng theo dõi bài học để tìm hiểu chi tiết.
Trong 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.
Ví 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:
Cú 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.
Ví 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.
Sau khi học xong Bài 7: Câu lệnh lặp, các em cần ghi nhớ:
Các em có thể hệ thống lại nội dung kiến thức đã học được thông qua bài kiểm tra Trắc nghiệm Tin học 8 Bài 7 cực hay có đáp án và lời giải chi tiết.
Chọn cú pháp đúng nhất về câu lệnh lặp:
Hoạt động nào sau đây lặp với số lần lặp biết trước?
Em hiểu lệnh lặp theo nghĩa nào dưới đây?
Câu 4- 10: Mời các em đăng nhập xem tiếp nội dung và thi thử Online để củng cố kiến thức về bài học này nhé!
Các em có thể xem thêm phần hướng dẫn Giải bài tập Tin học 8 Bài 7để giúp các em nắm vững bài học và các phương pháp giải bài tập.
Bài tập 1 trang 60 SGK Tin học 8
Bài tập 2 trang 60 SGK Tin học 8
Bài tập 3 trang 60 SGK Tin học 8
Bài tập 4 trang 61 SGK Tin học 8
Bài tập 5 trang 61 SGK Tin học 8
Bài tập 6 trang 61 SGK Tin học 8
Trong quá trình học tập nếu có thắc mắc hay cần trợ giúp gì thì các em hãy comment ở mục Hỏi đáp, Cộng đồng Tin học DapAnHay sẽ hỗ trợ cho các em một cách nhanh chóng!
Chúc các em học tập tốt và luôn đạt thành tích cao trong học tập!
-- Mod Tin Học 8 DapAnHay
Chọn cú pháp đúng nhất về câu lệnh lặp:
Hoạt động nào sau đây lặp với số lần lặp biết trước?
Em hiểu lệnh lặp theo nghĩa nào dưới đây?
Khi nào thì câu lệnh For..to..do kết thúc?
Cho các câu lệnh sau hãy chỉ ra câu lệnh đúng?
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?
Trong câu lệnh lặp với số lần biết trước (For – do), được thực hiện mấy lần?
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
Kết quả của < điều kiện > trong câu lệnh sẽ có giá trị là gì?
Sau khi thực hiện đoạn chương trình sau:
S:=0; For i:=1 to 5 do S:=S+i;
Giá trị của biến S bằng bao nhiêu?
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.
Hãy cho biết tác dụng của câu lệnh lặp với số lần biết trước.
Khi thực hiện các hoạt động lặp, chương trình kiểm tra một điều kiện. Với lệnh lặp:
for < biến đếm > := < giá trị đầu > to < giá trị cuối > do < câu lệnh >;
của Pascal, điều kiện cần phải kiểm tra là gì?
Sau khi thực hiện đoạn chương trình sau, giá trị của biến j bằng bao nhiêu?
j:=0;
for i:=0 to 5 do j:=j+2
Các câu lệnh Pascal có hợp lệ 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; for x:=1 to 10 do writeln('A');
Hãy mô tả thuật toán để tính tổng sau đây:
\(A=\frac{1}{1.3}+\frac{1}{2.4}+\frac{1}{3.5}+...+\frac{1}{n.(n+2)}\)
Họ và tên
Tiêu đề câu hỏi
Nội dung câu hỏi
Câu trả lời của bạn
– 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à
– Các em học bài thì phải đọc đi đọc lại nhiều lần cho đến khi thuộc bài.
– Mặt trời luôn mọc đằng đông lặn đằng tây.
Câu trả lời của bạn
Biết trước số lần lặp
Vòng lặp for ..do là vòng lặp: Biết trước số lần lặp
Câu trả lời của bạn
program tinhtong;
uses crt;
var i, s, n : integer;
a : array [1..100] of integer;
begin
clrscr;
write('So thu n la: '); readln(n);
s:=0
for i:=1 to n do begin
write('Nhap so thu ',i); readln(a[i]);
s:=s+a[i]; end;
writeln('Tong cac so do la: ',s);
readln
end.
uses crt;
var n,i,S,a,b:longint;
begin
clrscr;
write('So la nhap so vao:');readln(n);
for i:=1 to n do
begin
S:=S+1;
write('Nhap so thu ',S,':');readln(a);
b:=b+a;
end;
writeln('Tong cac so la: ',b);
readln
end.
Câu trả lời của bạn
program Bai_1;
uses crt;
var n,i:integer; s:real;
begin
clrscr;
write('Nhap n: '); readln(n);
for i:=1 to n do s:=s+1/(2*i);
write('S=',s);
readln;
end.
program Bai_2;
uses crt;
var n,i:integer; gt:longint; s:real;
begin
clrscr;
write('n='); readln(n);
gt:=1;
for i:=1 to n do
begin
gt:=gt*i;
s:=s+1/gt;
end;
write('S=',s);
readln;
Sử dụng ngôn ngữ lập trình Pascal để viết các chương trình nhằm giải quyết các bài toán sau:
Câu trả lời của bạn
mìn chịu bạn thông cảm nhé
S= 1/2 + 1/4 +1/6 +…..+1/n (với n là số chẵn theo thứ tự tăng dần)
Câu trả lời của bạn
Câu trả lời của bạn
Câu trả lời của bạn
Câu trả lời của bạn
D. tổng các số chia hết cho 5 trong phạm vi từ 1 đến M
Đáp án đúng là: B.Tổng các số chia hết cho 3 và 5 trong phạm vi từ 1 đến M.
B
a
Câu trả lời của bạn
– Chỉ thị cho máy tính thực hiện 1 lệnh hay 1 nhóm lệnh với số lần đã được xác định từ trước.
– Điều kiện là 1 giá trị của 1 biến đếm có giá trị nguyên
Câu lệnh lặp với số lần chưa biết trước :
– Chỉ thị cho máy tính thực hiện 1 lệnh hay 1 nhóm lệnh với số lần lặp chưa biết trước.
– Điều kiện tổng quát hơn, có thể là kiểm tra của 1 giá trị có thực, cũng có thể là 1 điều kiện tổng quát khác.
Câu trả lời của bạn
program p03;
uses crt;
var
i : byte;
begin
clrscr;
for i := 1 to 10 do
writeln('pascal');
readln;
end.
program p04;
uses crt;
var
i : byte;
begin
clrscr;
for i := 10 downto 1 do
writeln('pascal');
readln;
end.
Kết quả chạy 2 chương trình trên:
Câu trả lời của bạn
Câu trả lời của bạn
mình viết bằng pascal nha!
bạn akira Nguyễn viết bằng C đó Thúy Nguyễn
program ...(tự đặt nha!);
uses crt;
var i,n,s: longint;
begin
s:=0;
readln(n);
for i:=1 to n-1 do (Do số cuối của dãy các số lẻ nhỏ hơn n nên biến đếm phải nhỏ hơn hoặc bằng n-1 là phải dừng lặp)
if (i mod 2=1) then s:=s+i;
writeln(s);
readln
end.
int a intb
{ long (a+b);
count<<" tinh tong a+b="<< ;
cint<<"nhap a="<<" nhap b="<<
endl
khó quá
Câu trả lời của bạn
Program UCLN;
uses crt;
var a,b : integer;
begin
write ('nhap so a la ');readln (a);
write ('nhap so b la ');readln (b);
while a < > b do
if a >b then a := a - b else b := b - a ;
write ( ' UCLN la :' , a );
readln
end.
Câu trả lời của bạn
Câu trả lời của bạn
Khi bạn muốn biến đếm sẽ nhận giá trị là giá trị đầu ,sau mỗi vòng lặp,biến đếm sẽ tự động tăng thêm 1 đơn vị cho đến khi bằng giá trị cuối thì dừng lại.
Học tốt nhé!!!!
đáp án A đúng rồi bạn
For...do...
vì có biến đếm nên luôn biết số lần biết trước mới thực hiện được nha bạn
Viết chương trình nhập vào sốn. In ra màn hình tổng các số chẵn của n.
Câu trả lời của bạn
uses crt;
var n,i,s:longint;
begin
readln(n);
s:=0;
for i:=1 to n do
if i mod 2=0 then s:=s+i;
write('Tong la: ',s) ;
readln
end.
Câu trả lời của bạn
Viết chương trình nhập vào 1 số N nguyên dương và in ra màn hình các số chẵn từ 0 đến N? (N là số tự nhiên được nhập vào từ bàn phím)
Gợi ý: Các số chẵn là các số chia 2 dư 0, ta có thể sử dụng mod để chia lấy phần dư.
Câu trả lời của bạn
Câu trả lời của bạn
0 Bình luận
Để lại bình luận
Địa chỉ email của hạn sẽ không được công bố. Các trường bắt buộc được đánh dấu *