Trong Bài 7: Câu lệnh lặp chúng ta đã làm quen với các hoạt động lặp và cách chỉ thị cho máy tính thực hiện các hoạt động lặp với số lần đã được xác định trước. Trong thực tế có nhiều hoạt động được thực hiện lặp đi lặp lại với số lần lần chưa được biết trước. Vậy để hiểu rõ hơn về vấn đề này, mời các em cùng theo dõi Bài 8: Lặp với số lần chưa biết trước để tìm hiểu nội dung chi tiết.
Ví dụ 1: Một ngày chủ nhật Long gọi điện cho Trang. Không có ai nhấc máy. Long quyết định gọi lại thêm 1 lần nữa. Như vậy Long đã biết trước là mình sẽ lặp lại gọi điện thêm 2 lần. Một ngày khác, Long quyết định cứ 10 phút gọi điện một lần cho Trang cho đến khi có người bắt máy.
Điều kiện: Có người nhấc máy thì kết thúc hoạt động lặp.
Ví dụ 2: Nếu cộng lần lượt n số tự nhiên đầu tiên (n = 1, 2, 3,...), cần cộng bao nhiêu số tự nhiên đầu tiên để ta nhận được tổng Tn nhỏ nhất lớn hơn 1000?
Điều kiện: Khi tổng Tn nhỏ nhất lớn hơn 1000 thì kết thúc hoạt động lặp
Mô tả thuật toán bằng liệt kê:
Mô tả thuật toán bằng sơ đồ khối:
Hình 1. Mô tả thuật toán bằng sơ đồ khối
KẾT LUẬN:
Cú pháp:
While < Điều kiện > do < Câu lệnh >;
Trong đó:
Hoạt động:
Ví dụ 3:
While a<=b do a:=a+1;
Ví dụ 4:
While a>b do
Begin
write('a>b');
a:=a-1;
End;
Ví dụ 5: Viết câu lệnh in ra 5 số tự nhiên liên tiếp bắt đầu bằng số 1.
Gợi ý giải:
Sử dụng lệnh lặp với số lần lặp chưa biết trước while…do
Đoạn chương trình mẫu:
n:=1
while n<=5 do
begin
writeln(n);
n:=n+1;
end;
Khi viết chương trình sử dụng cấu trúc lặp cần chú ý tránh tạo nên vòng lặp không bao giờ kết thúc.
Chẳng hạn, chương trình dưới đây sẽ lặp lại vô tận:
var a:integer;
begin
a:=5;
while a<6 do
writeln('A');
end.
Sau khi học xong Bài 8: Lặp với số lần chưa biết trước, 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 8 cực hay có đáp án và lời giải chi tiết.
Việc đầu tiên mà câu lệnh While ... do cần thực hiện là gì?
< câu lệnh > sau từ khóa Do trong câu lệnh While ... do được thực hiện ít nhất mấy lần?
Cho biết câu lệnh sau Do thực hiện mấy lần trong đoạn chương trình sau:
i := 5;
While i>=1 do i := i – 1;
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 8để 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 71 SGK Tin học 8
Bài tập 2 trang 71 SGK Tin học 8
Bài tập 3 trang 71 SGK Tin học 8
Bài tập 4 trang 71 SGK Tin học 8
Bài tập 5 trang 71 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
Việc đầu tiên mà câu lệnh While ... do cần thực hiện là gì?
< câu lệnh > sau từ khóa Do trong câu lệnh While ... do được thực hiện ít nhất mấy lần?
Cho biết câu lệnh sau Do thực hiện mấy lần trong đoạn chương trình sau:
i := 5;
While i>=1 do i := i – 1;
Hãy cho biết kết quả của đoạn chương trình dưới đây?
a:=10;
While a < 11 do write (a);
Khi sử dụng lệnh lặp While ... do cần chú ý điều gì?
Hoạt động nào sau đây lặp với số lần lặp chưa biết trước?
Câu lệnh viết đúng cú pháp lệnh lặp với số lần chưa biết trước?
Câu lệnh lặp while…do có dạng đúng là:
Pascal sử dụng câu lệnh lặp nào sau đây để lặp với số lần chưa biết trước?
Hãy chỉ ra < câu lệnh > được lặp đi lặp lại trong đoạn lệnh: x:=1; While x<=5 do write(‘Hoa hau’);
Nêu một vài ví dụ về hoạt động lặp với số lần chưa biết trước.
Hãy phát biểu sự khác biệt giữa câu lệnh lặp với số lần lặp cho trước và câu lệnh lặp với số lần lặp chưa biết trước.
Hãy tìm hiểu các thuật toán sau đây và cho biết khi thực hiện thuật toán, máy tính sẽ bao nhiêu vòng lặp? Khi kết thúc, giá trị của S bằng bao nhiêu? Viết chương trình Pascal thể hiện các thuật toán đó:
a) Thuật toán 1
Bước 1. S \(\leftarrow\) 10, x \(\leftarrow\) 0.5
Bước 2. Nếu S \(\leq\) 5.2, chuyển tới bước 4.
Bước 3. S \(\leftarrow\) S - x và quay lại bước 2.
Bước 4. Thông báo S và kết thúc thuật toán.
b) Thuật toán 2
Bước 1. S \(\leftarrow\) 10, n \(\leftarrow\) 0.
Bước 2. Nếu S ≥ 10, chuyển tới bước 4.
Bước 3. n \(\leftarrow\) n + 3, S \(\leftarrow\) S - n quay lại bước 2.
Bước 4. Thông báo S và kết thúc thuật toán.
Hãy tìm hiểu các cụm câu lệnh sau đây và cho biết với các câu lệnh đó chương trình thực hiện bao nhiêu vòng lặp? Hãy rút ra nhận xét của em.
a)
S:=0; n:=0;
while S<=10 do
begin n:=n+1; S:=S+n end;
b)
S:=0; n:=0;
while S<=10 do
n:=n+1; S:=S+n;
Hãy chỉ ra lỗi trong các câu lệnh sau đây:
a) X:=10; while X:=10 do X:=X+5;
b) X:=10; while X=10 do X=X+5;
c) S:=0; n:=0; while S<=10 do n:=n+1; S:=S+n;
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
Câu trả lời của bạn
Câu trả lời của bạn
So sánh câu lệnh lặp với số lần biết trước( for..to..do) và câu lệnh lặp với số lần chưa biết trước(while...do)
Câu trả lời của bạn
Bổ sung thêm: "For..to..do.." hay "For..downto..do.." được hiểu như là cấu trúc lặp với số lần lặp được báo trước và thường sẽ có kết thúc (hay còn gọi là "thoát" khỏi vòng lặp).
Tuy nhiên, cấu trúc "While..do.." hay "Repeat..Until.." nói chung được hiểu như cấu trúc lặp với số lần lặp không biết trước (hoặc chưa biết trước) và có một số trường hợp sẽ "treo" máy vì cấu trúc lặp vô tận xãy ra do lỗi cài đặt hoặc xử lý câu lệnh của người viết chương trình
#from yahoo
viết chương trình tính tổng S=1+2+3+...+n.Trong đó n là số nguyên nhập từ bàn phím
Câu trả lời của bạn
program Tinh_tong;
Var n: integer;
s: longint;
BEGIN
repeat
write( 'Nhap n: '); readln(n);
until (n>=0);
s:=0;
for i:=1 to n do
s:=s+i;
write('Tong cac so tu 1 toi ', n,' =', s);
readln
END.
làm giúp mình đề này với. cảm ơn nhiều.<3
Câu trả lời của bạn
Tự luận:
Câu 1: Các câu lệnh của vòng lặp không có câu lệnh kết thúc điều kiện thì vòng lặp sẽ lặp vô hạn.
Câu 2: Máy thực hiện 5 vòng lặp:
Vòng lặp 1: M=2
Vòng lặp 2: M=4
Vòng lặp 3: M=6
Vòng lặp 5: M=8
Vòng lặp 5: M=10
Câu 3:
program tỉntong;
uses crt;
var s :real; i, n : integer;
begin
clrscr;
write('So thu n la: '); readln(n);
S:=0; i:=1;
while i<= n do begin
S:=S+1/i; i:= i+1; end;
writeln('Tong cac so do la: ',S:2:3);
readln
end.
Ko hiểu chỗ nào thì bạn hỏi nhé!
viết chương trình nhập một mảnh có độ dài n và in ra mảng đó
Câu trả lời của bạn
Program Nhap_mang;
Var n,i : integer;
A : array [1..100] of real ;
begin
write('Nhập số n'); readln(n);
For i:=1 to n do
begin readln (A[i]);
writeln(A[i]) end;
readln
end.
viết chương trình pascal in ra các số là ước dương của một số dương n (n nhập vào từ bàn phím)
Câu trả lời của bạn
Program Tim_uoc;
uses crt;
var i,n:integer;
begin
clrscr;
Write(' Nhap so n = '); readln(n);
For i:=1 to n do if n mod i = 0 then write ( i:3 , ' , ' );
readln
end.
Viết CT tìm n biết n là số lớn nhất sao cho s= 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 nhỏ nhất và s>0,001
Câu trả lời của bạn
program baitap;
uses crt;
var s: real;
n: integer;
const sai_so = 0.001;
BEGIN
clrscr;
s:= sai_so;
n:= 1 div s;
while s<=sai_so do
begin
n:= n-1;
s:= 1/n
end;
writeln('So n lon nhat de s = 1/n > ', sai_so, ' la: ',n);
readln;
END.
Viết chương trình nhập vào 1 số nguyên n,sau đó xuất ra màn hình từ n xuống 1
Câu trả lời của bạn
uses crt;
var i,n:longint;
begin
clrscr;
Write('n=');
readln(n);
i:=n;
while i>=1 do
begin
Writeln(i);
i:=i-1;
end;
readln;
end.
uses crt;
var
n:integer;
begin
clrscr;
write('Nhap vao so n: ');readln(n)
for i:=n downto 1 do
writeln(i);
readln;
end.
Viết chương trình nhập vào số nguyên n sau đó tính tổng và tích từ 1 đến n bằng hàm while
Câu trả lời của bạn
program tinhtong;
uses crt;
var i,n,s: integer;
begin
clrscr;
readln(n);
i:=0;
s:=0;
while i<= n do
begin
s:=s+i;
i:=i+1;
end;
Write('tong s la',s);
readln
end.
Viết chương trình tìm n để S= 1+2+3+...+n < hoặc = 100
Câu trả lời của bạn
Var n: integer;
s: longint;
BEGIN
repeat
write( 'Nhap n: '); readln(n);
until (n>=0);
s:=0;
for i:=1 to n do
s:=s+i;
write('Tong cac so tu 1 toi ', n,' =', s);
readln
END.
1/.Tìm số lớn nhất của hai chữ số a và b nhập từ bàn phím(sử dụng lệnh while,if).
2/.Nhập một số n kiểm tra từ 1 đến n có bao nhiêu số chia hết cho 2 và n nhỏ hơn 103 và n lớn hơn hoặc bằng 1.
3/.Viết chương trình in ra các số vừa chia hết cho 5 và chia hết cho 2 với n lớn hơn hoặc bằng 1.
Câu trả lời của bạn
1)
var a,b : integer;
begin
writeln('nhap a va b =');
readln(a,b);
if a>b then writeln('So lon hon la a') else writeln('so lon hon la b');
if a=b then writeln('a va b bang nhau');
readln
end.
Viêt chương trình bao gồm câu lện lặp for do và while do
Câu trả lời của bạn
Giải bằng cú pháp For…do:hãy viết chương trinh tính xn(với x,n nhập từ bàn phím )
mình viết chương trình tính tổng nha!
1. for...do
program tinhtong;
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 ',n,' so tu nhien dau tien s=',s);
readln
end.
2. while .... do
var i,n:integer;
s:longint;
begin
write('nhap so n='); readln(n);
i:=1;
s:=0;
while i<= n do
begin
s:=s+i; i:=i+1;
end;
write('tong cua ',n,' so tu nhien dau tien la',s);
readln
end.
1)viết chương trình tính tổng n số tự nhiên đầu tiên (với n được ngập từ bàn phím) bắng lệnh while...do
Câu trả lời của bạn
var i,n: integer;
s:longint;
begin
write('nhap so n=');readln(n);
s:=0;
i:=1;
while i<=n do
begin
s:=s+i; i:=i+1;
end;
write('tong cua',n,' so tu nhien dau tien la',s);
readln
end.
bạn có thể viêt chương trình xuất ra màn hình những số nguyên tố nhỏ hơn 100 không?
Câu trả lời của bạn
program So_nguyen_to;
uses crt;
var i,dem,j:Integer;
begin clrscr;
writeln('Cac so nguyen to tu 2 den 100 la:');
for j:=2 to 100 do
begin
dem:=0;
for i:= 1 to j do if j mod i=0 then dem:=dem+1;
if dem=2 then write(j,' ');
end;
readln;
end.
Cho 2 số x, y
Viết chương trình kiểm tra xem y có là ước chung của x hay không hoặc ngược lại
Câu trả lời của bạn
thuật toán:
nhập x,y
nếu y là ước của x thì BÀI BẠN ĐÃ XONG
nếu ước chung thì phải là "y có cùng ước chung" ? chứ sao "y có là ước chung của x" ?
Hãy phân biệt sự khác nhau giữa câu lệnh lặp với số lần biết trước và số lần chưa biết trước
Câu trả lời của bạn
Hãy phân biệt sự khác nhau giữa câu lệnh lặp với số lần biết trước và số lần chưa biết trước
⇒ Câu lệnh lặp với số lần 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 đã đượ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.
P/s : Câu này mới đúng nè bạn ! Câu vừa nãy mình trả lời sai . Sorry nhé . Bạn chép câu này ... nhớ đó .
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 *