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
nêu cú pháp khai báo biến mảng trong pascal?lấy ví dụ
Câu trả lời của bạn
Có 2 cách khai báo mảng:
C1: Khai báo trực tiếp
VAR <Tên biến>:array[<chỉ số đầu>,<chỉ số cuối>] of <kiểu dữ liệu>;
VD:a:array[1..50] of string;
C2:Khai báo gián tiếp
Type <Tên biến>=array[<chỉ số đầu>,<chỉ số cuối>] of <kiểu dữ liệu>;
Var <Tên mảng>:<Tên biến>;
VD:
Type mang=[1..100] of integer;
Var A:mang;
Viết chương trình kiểm tra một số có phải số nguyên tố hay không? Dùng câu lệnh lặp với số lần chưa biết trc
Câu trả lời của bạn
program kiem_tra_nguyen_to;
uses crt;
var n,i:integer; bl:boolean;
begin
clrscr;
bl:=true;
write('nhap vao so can kiem tra tinh nguyen to: '); readln(n);
if n<=1 then bl:=false;
for i:=2 to trunc(sqrt(n)) then
if n mod i=0 then bl:=false;
if bl=true then write('so vua nhap nguyen to.')
else write('so vua nhap khong nguyen to.');
readln;
end.
Nêu vài VD về hoạt động lặp với số lần biết trước và chưa biết trước.
Câu trả lời của bạn
*Hoạt động lặp với số lần biết trước:
+Một ngày ăn 3 bữa cơm
+Một tuần có 7 ngày
+Mỗi ngày tắm một lần
+......
*Hoạt động lặp với số lần chưa biết trước
+Tìm lại quyển vở bị mất
+ Mỗi ngày nói chuyện trong lớp bao nhiêu lần
+ gọi điện thoại cho mẹ lặp đi lặp lại cho đến khi mẹ bắt máy
+mỗi ngày đi bao nhiêu bước
+.....
viết chương trình tính tổng S=1+1/2+1/3+......+1/n (Sử dụng lênh lặp while...do)
Câu trả lời của bạn
CT đây nhé!:
program tinhtong;
uses crt;
var i, n : integer; S : real;
begin
clrscr;
writeln('Nhap so thu n: '); readln(n);
S:=0; i:=1;
while i<=n do begin
S:=S+1/i; i:=i+1;
end;
writeln('Tong la: ',S:2:3);
readln
end.
1. Viết chương trình tính tổng
T = 1 + 1/2 + 1/3 +... + 1/100
2. Viết chương trình tính tích
P = 1 × 1/2 × 1/3... 1/3
Câu trả lời của bạn
bài 1 thì chắc thế này là đúng vì lâu rồi mình làm lại dạng này :)
var i,T:real;
begin
T:=0;
for i:=1 to 100 do
T:=T+1/i;
writeln('T=',T);
readln
end.
chúc may mắn, à, có j thử lại xem mình làm có đúng hem hộ mình nhé, cám ơn :)
S=2+4+6+8+.....+2n(n số tự nhiên nhập từ bàn phím)
Câu trả lời của bạn
program tinh_tong;
uses crt;
var j,k,i,n:integer;
s:real;
begin
clrscr;
repeat
write('Nhap n=');readln(n);
if n>=1 then break;
writeln('Hay nhap n>=1');
until false;
s:=0;
for i:=1 to n do
s:=s+2*i;
writeln('Tong: ',s:4:2);
readln
end.
viết chương trình tính và in ra màn hình tổng sau (với n là số lẻ được nhập từ bàn phím):
T= 1+1/3+1/5+...+1/n
Câu trả lời của bạn
var
T:real;
n,i:integer;
begin
T:=0;
i:=i+1;
Writeln('nhap n =');
readln(n);
if (n mod 2)=1 then
begin
for 1:=1 to n do begin
if (i mod 2)=1 then T:=T+1/i ;
writeln('tong la',T);
readln;
end;
end;
end.
Viết chương trình Pascal tính tổng N số tự nhiên đầu tiên sử dụng câu lệnh lặp với số lần chưa biết trước.
Mọi người giúp mình với nha, mình cảm ơn !!!
- Mình dốt tin lắm
Câu trả lời của bạn
Program Tong;
uses crt;
var i,s:integer;
const n=100;
Begin
s:=0;
i:=1;
while i<=n do
Begin
s:=s+i;
i:=i+1
End;
writeln('Tong cac so la:',s)
End.
program tinhtong;
uses crt;
var i, n, s: integer;
begin
clrscr;
Write('N so tu nhien dau tien la: '); readln(n);
s:=0; i:=1;
while i<=n do begin
s:=s+i; i:=i+1;
end;
writeln('Tong cac so la: ',s);
readln
end.
Câu1: Viết cú pháp câu lệnh lặp với số lần chưa biết. Nêu hoạt động của câu lệnh
Câu 2: Viết chương trình nhập số N và cho biết số N có phải là số nguyên tố hay ko?
Câu trả lời của bạn
Câu 1:
Cú pháp: While điều kiện do hệ lệnh;
Hoạt động:
(1) Kiểm tra điều kiện:
(2) Nếu điều kiện SAI, câu lệnh sẽ bị bỏ qua và chuyển sang câu lệnh tiếp theo trong chương trình. Nếu điều kiệnĐÚNG, thực hiện câu lệnh và quay lại bước 1.
Các bạn giúp mình nhá , mình đang học free pascal câu hỏi là
VCT sử dụng vòng lặp while...do để tính lũy thừa bậc n của x (n,x là sỗ nhập từ bàn phím )
giúp đỡ mình nhá
Câu trả lời của bạn
program bai1;
var n,x,i,k:longint;
begin
wirte('So mu N= ');readln(n);
write('X= ');readln(x);
i:=0;k:=1;
while i<=n do
begin
k:=k*x;
i:=i+1;
end;
write(k,' ');
readln
end.
Viết chương trình pascal nhập số tự nhiên N sau đó in ra màn hìn số N viết theo thứ tự ngược lại
Mong mọi người giúp mình với. Mình cảm ơn nhiều
Câu trả lời của bạn
var n, i: integer;
M: array[1..100] of real;
Begin
write('Nhap so n: ');readln(n);
for i:=1 to n do
Begin
write('M[',i,']='); readln(M[i]);
end;
for i:= n downto 1 do write(m[i],’ ,’);
readln
end.
tính tổng S=1+3+5+7+...+99 theo lệnh while...do
giải bài này giùm mình
Câu trả lời của bạn
Program tong;
Uses crt;
Var
S,x:Integer;
Begin
Clrscr;
x:=1;S:=0;
While (x<100) do
Begin
S:=S+x;
x:=x+2;
End;
Writeln('Tong S la ',S);
Readln;
End.
Viết chương trình tính tổng các số tự nhiên từ 1 đến 100.
Câu trả lời của bạn
var i,a:integer;
begin
a:=0;
for i:=1 to 100 do a:a+i;
writeln(a);
readln;
end.
Program tong;
Uses crt;
Var
x,dem:Integer;
Begin
Clrscr;
dem:=1;x:=0;
While (dem<=100) do
Begin
x:=x+dem;
dem:=dem+1;
End;
Writeln('Tong cua 100 so do la ',x);
Readln;
End.
1) viết chương trình Kiểm tra tam giác là cân hay đều
2) viết chương trình tính tiền điện; tiền lương
3)Viết chương trình vẽ tam giác;hình vuông
4)viết chương trình tính tổng; tích của n số
Câu trả lời của bạn
pascal đúng ko bạn
Câu 1: Thực hiện đoạn chương trình sau, giá trị S là bao nhiêu
S:=0;
For i:=1 to 4 do S:=S+i;
Câu 2: Thực hiện đoạn chương trình sau, chữ xin chao được in ra màn hình mấy lần
n:=1;
while n<4 do
begin n:=n+1; writeln('xin chao')end;
Câu 3: So sánh cấu trúc lệnh lặp for...to..do và cấu trúc lệnh lặp while...do
Câu trả lời của bạn
c1:10
c2:3 lần
c3:while là lệnh ko điểm dừng, khi sơ sẩy có thể rơi vào lặp vô hạn
for là lệnh lặp có điểm dừng
Câu 1: S = 10
Câu 2: Chữ "xin chao" được in ra màn hình 3 lần
Câu 3:
- For...to...do:
+ Là câu lệnh lặp với số lần lặp biết trước.
+ Điều kiện kết thúc vòng lặp là một số xác định.
- While...do:
+ Là câu lệnh lặp với số lần lặp chưa biết trước.
+ Điều kiện để kết thúc vòng lặp thường là một phép so sánh.
Hãy viết chương trình sử dụng lệnh lặp While-Do để tính tổng các số lẻ từ 1 đến 50.
Câu trả lời của bạn
Program tinhtong;
var: i,s:=longint;
Begin
i:=-1;
While i<50 do
Begin
i:=i+2;
S:=S+i;
End;
readln;
End.
viết chương trình nhập N số nguyên ( gồm số nguyên dương và số nguyên âm) từ bàn phím và in ra màn hình số các số lớn hơn 0.
gợi ý: sử dụng biến mảng để nhập N số thực, sử dụng câu lệnh for...do và if...then để tìm số các số lớn hơn0. Tham khảo thêm ở ví dụ3 trang75 SGK lớp8 về cách sử dụng biến mảng.
Câu trả lời của bạn
đang cần gấp , giúp với ạ
Viết chương trình nhập vào số tự nhiên N sau đó in ra màn hình N số nguyên tố đầu tiên
(sử dụng While... do)
Câu trả lời của bạn
var n,j,dem:integer;
function ktsnt(a:integer):boolean;
var i,d:integer;
begin
d:=0;
if i=1 then d:=1;
for i:=2 to a div 2 do
if a mod i=0 then d:=d+1;
if d=0 then ktsnt:=true
else ktsnt:=false;
end;
begin
write('n=');readln(n);
j:=0;
dem:=0;
repeat
j:=j+1;
if ktsnt (j) then dem:=dem+1;
until dem=n;
write(' cac so nguyen to dau tien la ',);
readln;
end.
Viết chương trình in ra màn hình ƯỚC CHUNG LỚN NHẤT của N số
Câu trả lời của bạn
Var n, i : integer ;
NT : Real;
Begin
write ( ' n = ' ) ; read (n);
NT := TRUE ;
If n<2 then NT := FALSE ;
For i:= 2 to n div 2 do
If n mod i=0 then NT:= FALSE ;
Readln;
End.
Viết cú pháp giải thích và nêu nguyên tắc hoạt động của : - Câu lệnh điều kiện.
- Câu lệnh lặp số lần biết trước.
- Câu lệnh lặp số lần chưa biết trước trong Pascal.
Câu trả lời của bạn
Có ở trong SGK hết bạn 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 *