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
Dùng Turbo Pascal viết chương trình nhập vào hai số nguyên a và b:
a) Tìm các số nguyên tố từ a đến b.
b) Tìm UCLN (ước chung lớn nhất) của a và b.
Câu trả lời của bạn
Mình cũng quên cách viết rồi xin lỗi bạn
Xin lo ko giúp đc
Xin chào, mình là thành viên của team@1qqz hôm nay mình sẽ trả lời câu hỏi của bạn nha!!
Bạn tham khảo link này hộ mình nha: http://www.hocpascal.online/2017/12/viet-chuong-trinh-nhap-vao-2-so-va-b.html
~~Cảm ơn đã xem, chúc bạn học tốt nhé!!^^blink blink!!!~~
Câu trả lời của bạn
mình thử theo cách này xem sao đã
Bạn cần làm toàn bài hay là theo đoạn
Cho trước hai số nguyên dương A và B. Hãy tính tổng của chúng.
-Dữ liệu: file văn bản sum.inp chứa hai số nguyên dương A và B, mỗi số nằm trên 01 dong2(A,B<=10^250).
-Dữ liệu ra: file văn bản sum.out chứa kết quả là giá trị tổng cần tìm.
Câu trả lời của bạn
đề chưa rõ ràng bạn ơi
đề bị sao á
A+B=vô hạn
em không hỉu ah
Mik xin 1 khoảng trống để nói về việc này. Mik ko thể chấp nhận được sự ko công bằng của web mình là khi bạn NGUYỄN THÀNH ĐẠT spam và hack điểm rất nhiều nhưng bạn ý vẫn được giải rất bình thường, trong khi nó nick chính mik ko hề spam hay hack điểm đúng 1 câu nào nhưng vẫn nằm trong top 5 nhưng lại ko được giải tại sao vậy ạ???? Mik ko thể chấp nhận được, web mình thì admin ko có, ý mik là ko có trên diễn đàn để trao đồi với TV, mà gmail của web thì gửi ko rep lại? Gì mà kì thế? Web phải có 1 sự công bằng cho TV chứ, e ko chấp nhận việc ko cho e giải mà lại cho bạn NGUYỄN THÀNH ĐẠT giải nhì được.
K hỉu đề
Tìm số lẻ lớn nhất trong dãy số từ 1-100 và in ra kết quả. Sau đó lấy số lẽ lớn nhất cộng 9
Câu trả lời của bạn
108
Câu trả lời của bạn
1) viết chương trình tính tổng các sốc tự nhiên từ 1 đến a bằng câu lệnh while ... do
2) viết có hương trình nhập các dãy số nguyên gồm n số
A) In ra dãy số nguyên đó
B) in ra số lớn nhất, nhỏ nhất
C) tính tổng dãy số
D) sắp xếp dãy tăng dần giảm dần
Câu trả lời của bạn
Viết chương trình nhận biết một số tự nhiên N đc nhập vào từ bàn phím có phải là số nguyên tố hay không?
Câu trả lời của bạn
Câu trả lời của bạn
thực hiện nhập vào các số nguyên và tính tổng của các số nguyên đó, nếu nhập số không thì sẽ dừng lại. in ra tổng tính được
Câu trả lời của bạn
Nêu thuật toán tính BCNN của 3 số.
Câu trả lời của bạn
program BCNN;
uses crt;
var x, y, i, n, ucln, bcnn: longint;
a: array[1..100] of integer;
function h_ucln(x,y:integer):integer;
begin
while x<>y do
if x>y then
x:=x-y
else
y:=y-x;
h_ucln:=x;
end;
begin
clrscr;
repeat
write('Nhap N (N>=2): ');
readln(n);
until(n>=2);
for i:=1 to n do
begin
write('Phan tu thu ',i,' = ');
readln(a[i]);
end;
ucln:=h_ucln(a[1],a[2]);
bcnn:=(a[1]*a[2]) div ucln;
for i:=3 to n do
begin
ucln:=h_ucln(bcnn,a[i]);
bcnn:=(bcnn*a[i]) div ucln;
end;
writeln('bcnn la: ',bcnn);
readln;
end.
viết chương trình nhập vào 1 số nguyên dương từ bàn phím và xuất ra màn hình số chữ số của số vừa nhập bằng 2 cách:
a) sử dụng câu lệnh while...do
b) sử dụng câu lệnh repeat...until
giúp mình với tối nay mình nộp bài rồi
please!!!
Câu trả lời của bạn
| |
---|---|
| |
1 #include <iostream> 2 using namespace std; 3 4 int main() 5 { 6 int n , s = 0; 7 cin>>n; 8 for(int i = 1; i <= n; i++) 9 { 10 s = s+i; 11 } 12 13 cout << s; 14 return 0; 15 }
Sử dụng vòng lặp While..do viết chương trình in ra các số từ 1 đến 20
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.
Câu trả lời của bạn
Thuật toán :
Bước 1. Nhập N (bạn nhập N = 50)
Bước 2.
Bước 3.
Bước 4. 4.1 Nếu
4.2
Viết chương trình tính tổng các số tự nhiên lớn hơn 0 đến khi tổng không vượt quá 90.
Yêu cầu: Xây dựng thuật toán.
Viết chương trình.
Câu trả lời của bạn
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.
Câu trả lời của bạn
giống nhau: đều là lệnh dùng để lặp một lệnh nào đó mà không muốn viết nhiều lần, đều có thể dừng giữa chừng với lệnh break;(trong Pascal)
Khác nhau: Lệnh lặp với số lần biết trước thì sẽ biết số lần lặp truocs khi thực hiện lệnh đó là lấy chỉ số cuối trừ chỉ số đầu +1;
còn lệnh lặp với số lần không biết trước có thể lặp với số lần hữu hạn hoặc vô hạn hoặc không lặp lần nào cả tùy lệnh:
Ví dụ:
While (a>0) do a-1; {Lúc đầu ta gán 1 giá trị dương cho biến a thì lệnh này sẽ thực hiện đến khi a 'không lớn hơn' 0 mà là vì lệnh cần lặp là a-1 nên a sẽ nhỏ dần đến khi a=0 sẽ dừng lại suy ra số lần lặp là hữu hạn(có điểm dừng) nếu lúc đầu gán 1 số âm cho biến a thì lệnh sẽ không thực hiện vì nó yêu cầu a dương}
Một ví dụ khác :
a:=5;
While (a>0) do a:=5;
lệnh này sẽ lặp vô hạn lần do biến a luôn dương vì a=5;
đây chính là điểm khác mà vòng lặp với số lần biết trước không có
viết chương trình in ra màn hình 5 chữ số tự nhiên đầu tiên
Câu trả lời của bạn
uses crt;
begin
clrscr;
write('0 1 2 3 4 5');
readln
end.
Hoạt động nào sau đây không phải là lặp với số lần chưa biết trước?
a. Tính diện tích 10 ngôi nhà.
b. Nhập các số nguyên từ bàn phím cho đến khi đủ 50 số.
c. Nhặt từng ngọn lá sân trường.
d. Tính tổng các số tự nhiên từ 1 đến 20
Mục khác:
Câu trả lời của bạn
Câu trả lời của bạn
1
Tính diện tích 10 ngôi nhà.
Nhập các số nguyên từ bàn phím cho đến khi đủ 50 số.
Nhặt từng ngọn lá ngoài sân.
Tính tổng các số tự nhiên từ 1 đến 20
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 *