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âu trả lời của bạn
Câu trả lời của bạn
bạn có 1000 đồng đem gửi ngân hàng với lãi suất 8%/tháng. sau mỗi tháng tiền lãi được nhập vào để tính tiền lãi của tháng sau.bạn muốn để dành tiền cho đến khi số tiền tăng lên là x(nhập từ bàn phím) viết chương trình để xem cần bao lâu
Câu trả lời của bạn
Câu trả lời của bạn
tùy thuộc vào giá trị đầu và cuối
ví dụ for i:=1 to n do thì số lần thực hiện là n lần
Viết chương trình nhập điểm kiểm tra học kì 1 môn lý cho N học sinh và in ra màn hình vói N là điểm thấp nhất được nhập từ bàn phím
Câu trả lời của bạn
Biểu thức x+x2y-xy2+y
Câu trả lời của bạn
viết chương trình nhập vào số học sinh và số môn học của 1 học sinh tính và hiển thị điểm trung bình của từng học sinh
Câu trả lời của bạn
Viết chương trình nhập vào 1 dãy n số. Sau đó hiểu thị ra màn hình các số âm của dãy. Mình cảm ơn!
Câu trả lời của bạn
Một số có tổng các ước nhỏ hơn nó bằng chính nó được gọi là số hoàn chỉnh.
Ví dụ: 6 có các ước nhỏ hơn nó là 1, 2, 3. Tổng là 1 + 2 + 3 = 6.
Viết chương trình bằng vòng lặp While xét xem một số n được nhập từ bàn phím có phải là số hoàn chỉnh không.
Câu trả lời của bạn
var i,n,s:integer;
begin
readln(n);
s:=0;
for i:=1 to n div 2 do
if n mod i = 0 then
s:=s+i;
if n= s then
Writeln(n,' la so hoan hao'); else write(n,'khong la so hoan hao');
readln
end.
program so_hoan_chinh;
uses crt;
var a,i,s : integer;
BEGIN
clrscr;
write('Nhap so tu nhien can kiem tra: '); readln(a);
s:=0;
i:=1;
while i<a do
begin
if a mod i = 0 then s:=s+i;
i:=i+1
end;
if s=a then writeln(a,' la so hoan chinh') else write(a,' khong phai so hoan chinh');
readln;
END.
Bạn có thể lấy những Ví Dụ trong sách, từ đó suy ra cách viết nha. Câu này cũng dễ, nhưng bạn cần phải suy nghĩ!
Câu trả lời của bạn
Câu trả lời của bạn
Kim giờ đang chỉ số 12. Nhập vào 1 số nguyên N. Cho biết kim giờ chỉ số mấy với điều kiện nếu N>0 thì quay theo chiều kim đồng hồ, ngược lại nếu N<0 thì quay ngược chiều kim đồng hồ.
Các bạn giúp mình nha mai mình phải nộp thầy rồi! Cảm ơn các bạn.
Câu trả lời của bạn
program gio;
uses crt;
var n,gio:longint;
begin
clrscr;
write('Nhap n: '); readln(n);
if n>0 then gio:=gio+n;
if n<0 then gio:=12+n;
write('KIM GIO HIEN DANG CHI: ',gio);
readln
end.
Câu trả lời của bạn
Program bai1;
uses crt;
var dem,n,i: integer;
begin
clrscr;
write('nhap n ='); readln(n);
dem:=0;
for i:= 1 to n do
if i mod 2 = 1 then
begin
write(i:3,',');
dem:= dem+1 ;
if dem mod 15 = 0 then writeln;
end;
readln;
end.
Program nguyento;
uses crt;
var i,n,j,d:longint;
begin
clrscr;
write('Nhap so n '); readln(n);
for i:=1 to n do
begin
for j:=1 to i do if i mod j=0 then d:=d+1;
if d=2 then write(i:5);
d:=0;
end;
readln
end.
Câu trả lời của bạn
a)
*Xác định bài toán
-input: số n
-output: tính tổng của 1+12+13+14+...+1n
*Mô tả thuật toán:
-Bước 1: nhập n
-Bước 2: s:=0; i:=1;
-Bước 3: s:=s+1/i;
-Bước 4: inc(i);
-Bước 5: nếu i<=n thì quay lại bước 3
-Bước 6: Xuất s
-Bước 7: Kết thúc
*Viết chương trình:
uses crt;
var n,i:integer;
s:real;
begin
clrscr;
write('n='); readln(n);
s:=0;
for i:=1 to n do
s:=s+1/i;
writeln('tong la: ',s:4:2);
readln;
end.
b)
*Xác định bài toán
-input: số n
-output: tính tổng 11⋅3+12⋅4+13⋅5+...+1n⋅(n+2)
*Mô tả thuật toán
-Bước 1: nhập n
-Bước 2: s:=0; i:=1;
-Bước 3: s:=s+1/(i*(i+2));
-Bước 4: i:=i+1;
-Bước 5: nếu i<=n thì quay lại bước 3
-Bước 6: Xuất s
-Bước 7: Kết thúc
*Viết chương trình:
uses crt;
var n,i:integer;
s:real;
begin
clrscr;
write('n='); readln(n);
s:=0;
for i:=1 to n do
s:=s+1/(i*(i+2));
writeln('tong la: ',s:4:2);
readln;
end.
1 Tính tổng các số nguyên từ n đến m
2 Tính tổng
A= 1+(1/2)+(1/3)+....+1/N
3 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 )
A=(1/1*3)+(1/2*4)+(1/3*5)+...+(1/n*(n+2)
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
Program Tong;
Uses Crt;
var i,s:integer;
Begin
for i:=1 to 15 do
if (i>5) and ((i mod 2)=0) then s:=s+i;
writeln('Tong cac so chan lon hon 5 trong day so tu 1 toi 15 la ',s);
End.
Câu trả lời của bạn
Program In_1_toi_10;
Uses Crt;
Var i:integer;
Begin
Clrscr;
for i:=1 to 10 do
begin
writeln(i);
GotoXY(WhereX+i+i,1);
end;
Readln
End.
uses crt;
var i:integer;
begin
clrscr;
for i:=1 to 10 do
write(i:4);
readln;
end.
Câu trả lời của bạn
Program In_lan_lap;
Uses Crt;
var i:integer;
Begin
For i:=1 to 10 do write('Day la lan lap thu',i);
End.
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 *