Nội dung của Bài thực hành 6: Sử dụng lệnh lặp While…Do dưới đây sẽ giúp các em hiểu câu lệnh lặp while...do trong chương trình Turbo Pascal có sẵn; rèn luyện kĩ năng về khai báo, sử dụng biến; biết về vai trò của việc kết hợp các cấu trúc điều khiển;... Mời các em cùng theo dõi nội dung chi tiết của bài thực hành.
Câu lệnh lặp với số lần chưa biết trước While…Do:
Cú pháp: While <điều kiện>Do ;
Trong đó:
Các bước thực hiện của câu lệnh lặp While…Do:
Gợi ý làm bài:
Ý tưởng:
Ta sử dụng biến Dem và câu lệnh lặp While…Do để nhập và cộng dần các số vào một biến kiểu số thực Tong cho đến khi nhập đủ n số.
Xác định bài toán:
Thuật toán:
Hình 1. Sơ đồ khối mô tả thuật toán tính trung bình N số thực
Chương trình:
Program tinh_trung_binh;
Var N, Dem: integer;
X, TB: real;
Begin
Clrscr;
Dem:=0;
TB:=0;
Writeln(‘Nhap cac so can tinh N =’);
Readln(N);
While Dem < N do
Begin
Dem:= Dem + 1;
Writeln(‘Nhap so thu’, Dem,’=’);
Readln(x);
Tb:= TB + x;
End;
TB:=TB/n;
Witeln(‘Trung binh của’,N,’so là =’, TB:10:3);
Readln;
End.
Gợi ý làm bài:
Ý tưởng: Kiểm tra lần lượt N có chia hết cho các số tự nhiên \(2 \leq i \leq N-1\) hay không. Kiểm tra tính chia hết bằng phép chia lấy phần dư (mod).
Xác định bài toán:
Xây dựng thuật toán:
Chương trình:
Uses Crt;
Var N, i:integer;
Begin
clrscr;
write('Nhap vao mot so nguyen: ');
readln(N);
If N<=1 then
writeln('N khong la so nguyen to')
else
begin
i:=2;
while (N mod i<>0) do
i:=i+1;
if i=N then
writeln(N,' la so nguyen to!')
else
writeln(N,' khong phai la so nguyen to!');
end;
readln;
end.
Sau khi học xong Bài thực hành 6: Sử dụng lệnh lặp While…Do, các em cần ghi nhớ về các nội dung:
1. Các hoạt động lặp với số lần chưa biết trước phụ thuộc vào một điều kiện cụ thể và chỉ dừng lại khi điều kiện đó sai.
2. Câu lệnh lặp với số lần lặp chưa biết trước:
a) Trường hợp câu lênh đơn:
WHILE < điều kiện > DO < câu lệnh >;
b) Trường hợp câu lệnh ghép:
WHILE <điều kiện> DO
Begin
câu lệnh 1;
câu lệnh 2; …
End;
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 thực hành 6 cực hay có đáp án và lời giải chi tiết.
Vòng lặp while ..do là vòng lặp:
Đoạn lệnh sau, mỗi lần lặp giá trị của biến i trong câu lệnh sau thay đổi như thế nào?
While i<=10 do i:=i+3;
Câu 3- 5: 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é!
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
Vòng lặp while ..do là vòng lặp:
Đoạn lệnh sau, mỗi lần lặp giá trị của biến i trong câu lệnh sau thay đổi như thế nào?
While i<=10 do i:=i+3;
Câu lệnh lặp while…do có dạng đúng là:
Đoạn lệnh sau đúng, sai như thế nào?
While n<=0 do;
Write(‘Nhap lai n:’);
Readn (n);
Tìm hiểu đoạn lệnh sau và cho biết với đoạn lệnh đó chương trình thực hiện bao nhiêu vòng lặp?
Var a:integer;
Begin
a:=5;
While a< 6 do writeln(‘A’);
End.
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
dùng lệnh while... do... tìm số lớn nhất sao cho S = 1 + 1/2 + 1/3 + ... +1/n < 4
Câu trả lời của bạn
Lập trình tính tổng S= 2+4+6+8+...+50 (sử dụng lệnh while do)?
Câu trả lời của bạn
cho s=1+3+5+...+n. tìm s,n sao cho tổng s đầu tiên lớn hơn 100
Câu trả lời của bạn
1 người gửi tiết kiệm số tiềm là a triệu đồng, lãi suất là k/tháng( cứ sau mỗi tháng, tiền lại được cộng vào tiền gốc để tính lãi cho tháng sau). viết chương trình tính số tháng phải giữ để người đó nhận đuócos tiền không ít hơn b triêu đồng. với a,b,k được nhập từ bàn phím tin 8
Câu trả lời của bạn
Câu trả lời của bạn
Nêu cú pháp và hoạt động của câu lệnh lặp với số lần không biết trước? kết thúc đoạn chương trình sau, máy tính thực hiện bao nhiêu vòng lặp và giá trị của K bằng bao nhiêu?
K:=0;
While K<5 do K:= K+1;
giúp mik vs xin mọi ng
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 chuso;
uses crt;
var d,n,i,k,dle,dchan,s:longint;
begin clrscr;
write('Nhap n: '); readln(n); i:=n;
while n<>0 do
begin
k:=n mod 10;
d:=d+1;
if k mod 2=0 then dchan:=dchan+1;
if k mod 2<>0 then dle:=dle+1;
s:=s+k;
n:=n div 10;
end;
writeln;
writeln('SO ',i,' CO TAT CA ',d,' CHU SO');
writeln('SO ',i,' CO TAT CA ',dchan,' CHU SO CHAN ');
writeln('SO ',i,' CO TAT CA ',dle.' CHU SO LE ');
write('TONG CAC CHU SO LA: ',s);
readln
end.
Câu trả lời của bạn
Viết chương trình máy tính diện tích S của hình tam giác với độ dài cạnh a và chiều cạnh tương ứng h (a và h các số tự nhiên được nhập từ bàn phím)
__________________________________
Program Lam_phong; ^^
Var
a,h,S: real;
begin
Write('nhap vao canh tam giac'); readln(a);
Write('nhap vao chieu cao'); readln(h)
S: = (a*h)/2;
Write(' dien tich hinh tam giac la:',h);
readln
end.
-cho mk 5sao nhé-
-mơn-
Tính tổng các chữ số của số nguyên dương n được nhập vào từ bàn phím
Câu trả lời của bạn
Câu trả lời của bạn
i vẫn bằng 1 thôi
Đoạn chương trình trên có 6 vòng lặp mà mỗi vòng S: = S +i
Lần 1: i = 0 => S = 0;
Lần 2: i = 1 => S = 0 + 1 = 1;
Lần 3: i = 2 => S = 1+ 2 = 3;
Lần 4: i = 3 => S = 3 + 3 = 6;
Lần 5: i = 4 => S = 6 + 4 = 10;
Lần 6: i = 5 => S = 10 + 5 = 15;
a := 1; b: = 7;While a<b do a:=a+2
Câu trả lời của bạn
VTC
- Nhập số nguyên N
- Tính tổng các số chẵn nhỏ hơn N và xuất kết quả ra màn hình ( WHILE DO )
GẤP LẮM MỌI NGƯỜI ƠI
Câu trả lời của bạn
Tình tổng các số chẵn nhỏ hơn n cho trước
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;
Câu trả lời của bạn
Câu trả lời của bạn
Viết chươn trình nhập 3 số nguyên dương a, ,b ,c .Nếu lặp sai thì yêu cầu lặp đúng thì thôi.Hãy in ra phần dư của tích 2 số a, b, khi chia cho phấn dư của phép chia tích .a ,b
Câu trả lời của bạn
Câu trả lời của bạn
Tính:
S= 1+3+5+7+.....+101
Sử dụng While..do
Câu trả lời của bạn
i:=1;
S:=0;
while i<=101 do
begin
i:=i+2;
s:=s+i;
end;
write ('s =', s);
program bai1;
var s,i:longint;
begin
i:=2;s:=0;
while i<=101 do
begin
if i mod 2=0 then s:=s+(i-1);
i:=i+1;
end;
write('S= ',s);
readln
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 *