Phương án chuyển: đầu tiên ta cho biến đếm có giá trị bằng giá trị đầu, điều kiện là biến đếm <= giá trị cuối ở vòng lặp while, và trong câu lệnh ở vòng lặp while có câu lệnh cuối là biến đếm:=biến đếm+1.
Cấu trúc for:
for <biến đếm>:=<giá trị đầu> to <giá trị cuối> do câu lệnh>;
Cấu trúc while:
while <điều kiện> do <câu lệnh>;
Chuyển:
<biến đếm>:=<giá trị đầu>;
while <biến đếm> <= <giá trị cuối> do
begin
<câu lệnh>;
<biến đếm>:=<biến đếm>+1;
end;
1/ Cách chuyển đổi từ For – do sang While – do:
- Câu lệnh For – do:
+ Dạng tiến:
For <biến điếm>:= <giá trị đầu> to <giá trị cuối> do <câu lệnh>;
+ Dạng lùi:
For <biến điếm>:= <giá trị cuối> downto <giá trị cuối> do <câu lệnh>;
- Câu lệnh While – do:
While <điều kiện> do <câu lệnh>;
- Chuyển For – do thành While – do:
+ Cách 1:
<Biến đếm> := <giá trị đầu>;
While (<Biến đếm> <= <giá trị cuối>) do
Begin
<câu lệnh>;
<tăng biến đếm 1 đơn vị>;
End;
+ Cách 2:
<Biến đếm> := <giá trị cuối>;
While (<Biến đếm> >= <giá trị đầu>) do
Begin
<câu lệnh>;
<giảm biến đếm 1 đơn vị>;
End;
2/ Ví dụ minh họa:
a/ Ví dụ 1: Tính và đưa ra tổng các số từ 1 đến n? (n là số nguyên dương được nhập vào từ bàn phím)
Sử dụng For – do:
Var i, n: integer;
s: word;
Begin
Readln(n);
For i:=1 to n do s:= s+i;
Write(s);
End.
Chuyển thành While – do:
+ Dạng 1:
Var i, n: integer;
s: word;
Begin
Readln(n);
i:=1;
While (i <= n) do
Begin
s:= s+i;
i:=i+1;
end;
Write(s);
End.
+ Dạng 2:
Var i, n: integer;
s: word;
Begin
Readln(n);
i:=n;
While (i >= 1) do
Begin
s:= s+i;
i:=i-1;
end;
Write(s);
End.
b/ Ví dụ 2: Lập trình để giải bài toán cổ sau:
“Vừa gà vừa chó.
Bó lại cho tròn.
Ba mươi sáu con,
Một trăm chân chẵn.
Hỏi có bao nhiêu con mỗi loại?”
Sử dụng For – do:
Var ga: byte;
Begin
For ga:=1 to 24 do
If (2*ga + (100-ga)*4 = 100) then
Write(‘so ga la:’,ga,’ so cho la:’, 36-ga);
End.
Chuyển thành While – do:
+ Dạng 1:
Var ga: byte;
Begin
ga:=1;
While (i<= 24) do
Begin
If (2*ga + (100-ga)*4 = 100) then
Write(‘so ga la:’,ga,’ so cho la:’, 36-ga);
ga:=ga+1;
End;
End.
+ Dạng 2:
Var ga: byte;
Begin
ga:=24;
While (i>=1) do
Begin
If (2*ga + (100-ga)*4 = 100) then
Write(‘so ga la:’,ga,’ so cho la:’, 36-ga);
ga:=ga-1;
End;
End.
hơi lâu nhóa
Tin học, tiếng Anh: informatics, tiếng Pháp: informatique, là một ngành khoa học chuyên nghiên cứu quá trình tự động hóa việc tổ chức, lưu trữ, xử lý và truyền dẫn thông tin của một hệ thống máy tính cụ thể hoặc trừu tượng (ảo). Với cách hiểu hiện nay, tin học bao hàm tất cả các nghiên cứu và kỹ thuật có liên quan đến việc mô phỏng, biến đổi và tái tạo thông tin.
Nguồn : Wikipedia - Bách khoa toàn thưLớp 8 - Năm thứ ba ở cấp trung học cơ sở, học tập bắt đầu nặng dần, sang năm lại là năm cuối cấp áp lực lớn dần nhưng các em vẫn phải chú ý sức khỏe nhé!
Nguồn : ADMIN :))Xem thêm tại https://loigiaisgk.com/cau-hoi or https://giaibtsgk.com/cau-hoi
Copyright © 2021 HOCTAPSGK