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
A.integer
B. byte
C. longint
D. real
Câu trả lời của bạn
D. real
Tìm số lần lần được lập va tính tổng các số tự nhiên liên tiếp sao cho tổng đó lớn hơn 100
Ai gips mk ikk. Đề KTH2 tIIN HỌC 8 Ý..sắp kt r..
Câu trả lời của bạn
Trường mình thi rồi nhưng đề dễ lắm, không khó như câu này đâu .
program tong;
var s,i : integer;
begin
i:=0; s:=0;
while S < 100 do
begin
S:=s+i;
i:=i+1;
end;
writeln('Tong nho nhat lon hon 100 la: ',s);
writeln('So lan lap la: ',i);
readln
end.
N được nhập từ bàn phím, viết chương trình tính:
\(\left(1+\frac{1}{1^2}\right)\left(1+\frac{1}{2^2}\right)\left(1+\frac{1}{3^2}\right)......\left(1+\frac{1}{n^2}\right)\)
\(1!+2!+3!+....+n!\)
Câu trả lời của bạn
1: yêu , thích tôi không nghĩ vậy , tôi ghét nó từ lớp 9 , tôi không công nhận cảm xúc tôi cho bạn là yêu hay thích tôi không nghĩ vậy ., tôi nghĩ ..........(chút nói sau)======================2:cậu biết hay chưa tôi sống và nhận ..........(cậu tự suy ra từ câu sau)từ bố mẹ , bạn bè , nên tôi gần như trầm cảm ghét mọi người ,mọi thứ , ghét thì đó nhưng tôi luôn muốn họ quan tâm , họ quý tôi , họ coi tôi tồn tại (cái này thì hơi quá thật thì tôi tồn tại nhưng những việc họ làm , họ trao đổi , với nhau dường như không liên quan , không nghĩ tới tôi [ít nhất cũng giao cho tôi một công việc nào đó ?, nghĩ tới tôi , cảm xúc của tôi chứ?] ),và cậu uk có quan tâm , nguồn X duy nhất (nó là sự thật ), và tôi luôn muốn khai thác từ đó . nên tôi gửi "nó " , để có thể nhận được X qua các câu nói (cậu sẻ chú ý đến nội dung of it , cho thấy cậu có quan tâm đến tôi ), và thật sự tôi nhận được nó , cậu chú ý đến "nó " ,------------------------------ 3: phải thừa nhận rằng trong tôi có ý nghĩ là cậu giả tạo ,nó tạo nên từ sự nghi ngờ về phong và kuru....(học 24) = cậu ,dối tar1 hình như có trong nội dung của nó ----------------------------4 : ráp ! cậu quá chút ý đến nó doạn hát không mang những thứ cậu chú ý , cậu quá tậm trung vào đoạn ráp ! , nó có hai mặt được thể hiện ở hai cách khác nhau ----------------------5: thật sự đoạn ráp là ý nghĩ của tôi về con gái từ năm lớp 9 , và tôi nghe nó từ lâu rồi , và ý nghĩ về con gái đó mờ dần khi tôi biết ngọc , cậu , linh , huyền .(olm) , chứ không phải cậu ban cho tôi suy nghĩ đó hiểu chứ ??! (mong) ,và một phần vấn đề là cậu , cậu quan tâm nó làm gì ? cậu ghép nó cho tôi với cậu chi ? , nó đâu phải của tôi tạo ra ? , tôi nói nó hợp suy nghĩ tôi sao ? cũng không thể trách cậu được một chút nào đó trong tôi muốn cậu quan tâm tới nội dung , khao khác X chăn , tôi nói rồi tôi nói gì đó ........ lần trước có giải thích , đại loại là không phải suy nghĩ đó , cậu vẫn khưng khưng cho tôi , cậu muốn ghét tôi ? ,tóm lại một phần tôi có nó (cậu giả tạo ) , một phần tôi cần X , và tôi không thoát được rắc rối này sao ? làm ơn đừng đi đâu tôi không muốn mất liên kết với cậu , cậu bận lắm ?, một tháng cậu on một lần cũng được , đâu cần phải bỏ luôn nó ? ! (hoc 24), làm ơn tôi không muốn mất .... đừng có nghĩ đây là tình yêu , đừng gán những khái niệm , cảm xúc của những con người ngoài kia cho tôi , họ tôi thấy cái đẹp của họ uk cái đẹp đó có sự góp xứng của cái xấu , chính những cái xấu đã tạo nên những cái đẹp đó vì chúng cùng được tạo nên từ 1 bộ não
xong rồi đó đọc kỉ vào và cho tôi câu trả lời "cậu lập trình lại kì ức hình ảnh về tôi chưa , cậu "
Viết chương trình tính n! với n! được định nghĩa như sau:
- n! = 1 với n=0
- n! = 1*2*3*...*n( tích của n số từ 1 đến n)
Câu trả lời của bạn
Var i,n,t,s:integer;
begin
readln(n);
s:=0;
for i:=1 to n do
for t:=2 to n do s:=i*t;
writeln(s);
readln;
end.
Viết câu lệnh in lên màn hình 10 chữ O ( sử dụng câu lệnh lặp For...do)
Câu trả lời của bạn
uses crt;
var i: integer;
begin
clrscr;
for i:= 1 to 10 do
begin writeln ( ' O ' ) end;
readln
end.
Trong câu lệnh lặp :
J:= 0 ; for i:= 1 to 10 do
begin
J:= J + 2
write (J);
câu lệnh write (J) ; được thực hiện bao nhiêu lần ?
Câu trả lời của bạn
10 lần.
Cho đoạn chương trình sau:
j:=0; For i:=2 to 7 do j:=j+3;
a. Câu lệnh trên lặp bao nhiêu lần
b. Kết thúc lặp j =?
Câu trả lời của bạn
b)
i:=2; j:= j+3 = 0+3 =3
i:=3; j:= j+3 = 3+3 =6
i:=4; j:=j+3 = 6+3 = 9
..
i:=7; j:=j+3 = 15+3 = 16
viết chương trình kiểm tra một số có phải là số nguyên tố không( sử dụng For to do)
Câu trả lời của bạn
uses crt;
var i,n,dem:integer;
begin
clrscr;
write('nhap so nguyen duong n ');readln(n);
dem:=0;
for i:=1 to n do if n mod i = 0 then dem:=dem+1;
if (n<2) or (dem< > 2) then writeln('n, khong phai la so nguyen to')
else if dem=2 then write(n,'la so nguyen to');
readln
end.
Em hãy viết chương trình tính tổng các số chẵn tự nhiên từ 1 đến 100 sử dụng lệnh for...do, while...do
Câu trả lời của bạn
program tinhtong_N; {tinh tong so chan N bang While .. do}
uses crt;
var i,n:integer;
S:Longint;
begin
clrscr;
write('Nhap N = ');
readln(n);
S:=0;
i:=0;
While i<n do
begin
i:=i+1;
if i mod 2 = 0 then S:= S + i;
end;
writeln('tong cac so chan tu 1 --> ',n,' là = ',S);
readln;
end.
Sử dụng For.. do:
Var i,S:integer;
Begin
For i:= 1 to 100 do If i mod 2 = 0 then S:= S+i;
Writeln(' tong cac so chan :',S);
Readln;
end.
Sử dụng While ..do:
Var i,S:integer;
Begin
i:=0;
While i<=100 do If i mod 2 = 0 then S:= S+i;
Writeln(' tong cac so chan :',S);
Readln;
end.
viết chương trình tính tổng các ước của một số tự nhiên. Bạn nào biết câu trả lời thì giúp nha
Câu trả lời của bạn
var n,i,d : longint;
begin
Write('nhap so N');
Readln(N);
d :=0;
For i:=1 to n do
If n mod i =0 then d:=d+i;
Writeln('Tong uoc so cua ',n,'la ',d );
Readln;
end.
Viết chương trình Pascal sử dụng câu lệnh while ... do và for ... do S : 1+ 1https:https://hoc247.net/image/faq/data2/216985_.https://hoc247.net/image/faq/data2/216985_.hoc247.nethttps://hoc247.net/image/faq/data2/216985_.imagehttps://hoc247.net/image/faq/data2/216985_.faqhttps://hoc247.net/image/faq/data2/216985_.data2https://hoc247.net/image/faq/data2/216985_.563596_.2+ 1https:https://hoc247.net/image/faq/data2/216985_.https://hoc247.net/image/faq/data2/216985_.hoc247.nethttps://hoc247.net/image/faq/data2/216985_.imagehttps://hoc247.net/image/faq/data2/216985_.faqhttps://hoc247.net/image/faq/data2/216985_.data2https://hoc247.net/image/faq/data2/216985_.563596_.3+....+1https:https://hoc247.net/image/faq/data2/216985_.https://hoc247.net/image/faq/data2/216985_.hoc247.nethttps://hoc247.net/image/faq/data2/216985_.imagehttps://hoc247.net/image/faq/data2/216985_.faqhttps://hoc247.net/image/faq/data2/216985_.data2https://hoc247.net/image/faq/data2/216985_.563596_.n Viết chương trình sử dụng câu lệnh while ... do để tính trung bình n số thực a1 Giúp mình với cảm ơn mng ạ !
Câu trả lời của bạn
mình làm while do nhé, cái kia để mình tìm hiểu thêm
var S:real;
i,n:longint;
begin
writeln('n=') ; readln(n);
S:=0;
i:=1;
while (i<=n) do
begins=
S:= 9S+1/i;
i:=i+1;
end;
writeln ('S=');
end.
Câu trả lời của bạn
Điều kiện của lệnh While do là gì
C1: Cấu trúc:
Cú pháp lệnh:
FOR := TO DO ;
Trong đó:
+ FOR, TO, DO: là từ khóa.
+ Biến đếm: thuộc kiểu dữ liệu số nguyên.
+ Giá trị đầu, giá trị cuối: là giá trị nguyên.
+ Câu lệnh: có thể là câu lệnh đơn hay câu lệnh ghép.
Hoạt động: Khi thực hiệ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 một đơn vị cho đến khi bằng giá trị cuối thì dừng lại.
C2: Cấu trúc:
Viết chương trình tính S=1.2.3+2.3.4+3.4.5+...+98.99.100
Câu trả lời của bạn
program tinh_tong ;
var i: integer; S: longint;
begin
S:= 0;
for i:= 1 to 98 do S:= S + i*(i+1)*(i+2);
writeln (' tong S la: ', S);
readln;
end.
Viết chương trình tính tổng N số tự nhiên chẵn đầu tiên,với N là số tự nhiên được nhập từ bàn phím.
Câu trả lời của bạn
program tong_chan;
uses crt;
var N,dem:integer;
Tong:longint;
BEGIN
Clrscr;
writeln('Nhap so nguyen N =');
readln(N);
Tong := 0;
dem := 0;
while dem < N do
begin
Tong := Tong + dem*2;
dem := dem + 1;
end;
write('Tong', N, 'so tu nhien chan dau tien la: ',Tong);
readln;
END.
Nêu cú pháp và hoạt động của vòng lặp với số lần biết trước vẽ sơ đồ khối kiểu lặp đó?
Câu trả lời của bạn
*Cú pháp: For <biến đếm>:= <giá trị đầu> to <giá trị cuối> do <câu lệnh>
Biến đếm, giá trị đầu, giá trị cuối là số nguyên
Giá trị đầu < giá trị cuối
Số vòng lặp = cuối - đầu + 1
*Hoạt động
Câu lệnh lặp thực hiện lặp lại vài hoạt động nào đó cho đến khi một điều kiện nào đó được thỏa mãn
*Còn sơ đồ thì mình kh pik =)) Thông cảm nha :D
Viết chương trình tính 1+1/2+1/3+1/t với t là một số nguyên bất kì được nhập vào từ bàn phím bằng cách sử dụng vòng lặp for...do hoặc vòng lặp while...do
Câu trả lời của bạn
Sử dụng For...do
Program tinhtong;
var n,t : integer;
s : real;
begin
write('Nhập số n');readln(n);
s:=0;
For t:=1 to n do s:=s+1/t;
writeln('Tổng s là',s);
readln
end.
Sử dụng While...do
Program tinhtong;
var n,t : integer;
s : real;
begin
write('Nhập số n');readln(n);
s:=0; t:=1;
While t <= n do
begin t:=t+1;
s:=s+1/t end ;
writeln('Tổng s là',s);
readln
end.
Viết chương trình in ra màn hình tất cả các ước của n. ( với n nhập từ bàn phím)
Bn nào bik thì chỉ cho mik với nha! mik cảm ơn mý bn nhìu... ( mik cần gấp lắm!)
Câu trả lời của bạn
program Hien_thi;
uses crt;
var n,i:longint;
begin
clrscr;
writeln('nhap so tu nhien n'); readln(n);
for i:=1 to n do
if n mod i=0 then writeln('Uoc cua n la',n/i:0:0);
readln
end.
Ai bít câu trả lời thì cho mình hỏi vs: Viết CT nhập vào 1 số tự nhiên , cho bt số đó có bao nhiêu ước, tính tổng của chúng và các ước của số đó. Ví dụ: ước của 6 là 1 2 3 6, có 4 ước và tổng là 12
Câu trả lời của bạn
program tong
uses crt;
var n,i,tong,dem:integer;
begin clrscr; write('nhap so tu nhien:');readln(n); dem:=0; tong:=0;
for i:=1 to n do if n mod i = 0 then begin dem:=dem+1; tong:=tong+i; writeln(i,' la uoc cua ',n); end; writeln(n,' co ',dem,' uoc so'); write('tong cua cac uoc so la:',tong);
readln;
end.
Viết chương trình tính S=\(\frac{1}{1.2}+\frac{1}{2.3}+\frac{1}{3.4}+....+\frac{1}{99.100}\)
Câu trả lời của bạn
program Tinh_tong;
uses crt;
var S,i,n:longint;
begin
clrscr;
writeln('hay nhap n',); Readln(n);
S:=0;
i:=1;
For i:=\(\frac{1}{1.3}\)to\(\frac{1}{99.100}\) do \(S:=S+\frac{1}{99.100}\);
i:=i+1;
IF i<=n THEN writeln('Tong cua S=',A);
Readln
End.
VIẾT CT pascal tính tổng S=1/3+1/5+1/7+...+1/2n+1 với n nhập từ bàn phím
Câu trả lời của bạn
Program tinhtong;
Var n,s,i: integer;
Begin
Write('Hay nhap gia tri cua n'); Readln(n);
s:=0;
For i:=1 to n do s:=1/(2*i+1);
Write('Vay gia tri cua S la: ',s);
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 *