CÁCH CHUYỂN ĐỔI TỪ FOR – DO SANG WHILE

Chuyển đến nội dung

CÁCH CHUYỂN ĐỔI TỪ FOR – DO SANG WHILE – DO

(Nguyễn Văn Ninh – Giáo viên Tin học)

Ở bài 9 sách giáo khoa Tin học 11, học sinh đã được tìm hiểu câu lệnh lặp với số lần biết trước (For – do) và lặp với số lần chưa biết trước (While – do). Bài viết xin chia sẻ với các em cách chuyển đổi từ câu lệnh For – do sang While – do (cách chuyển đổi ngược lại không phải lúc nào cũng thực hiện được)

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.

Bộ Giáo dục và Đào tạo công bố đề thi tham khảo tốt nghiệp THPT 2020 Thông báo về việc học tập cả ngày khối Tiểu học, THCS từ ngày 11/5/2020
  • TRANG CHỦ
  • GIỚI THIỆU
    • TỔNG QUAN
      • Lịch sử tên trường
      • Vì sao chọn Hồng Đức?
      • Thư ngỏ
      • Tầm nhìn – sử mệnh
      • Giá trị cốt lõi
      • Cở sở vật chất
      • Quá trình hình thành và phát triển
      • Thành tựu đạt được
      • Văn hóa hồng đức
      • Virtual 360 Hồng Đức
    • CƠ CẤU TỔ CHỨC
      • Hội đồng giáo dục
      • Đội ngũ giáo viên
      • Văn phòng và Ban chức năng
      • Tổ chuyên môn
      • Đoàn thanh niên
      • Đội thiếu niên
  • TIN TỨC
    • Thành tích của tiêu biểu học sinh năm 2023 – 2024
    • Sự Kiện & Hoạt Động
    • Tin tức & Thông Báo
    • Kế hoạch công tác tháng
    • Bản tin đoàn – đội
    • Lịch công tác tuần
  • TIỂU HỌC
    • Giới thiệu
    • Đội ngũ giáo viên giảng dạy
    • Tài nguyên học tập
    • Chương trình đào tạo
    • Thời khóa biểu
  • THCS
    • Giới thiệu
    • Đội ngũ giáo viên giảng dạy
    • Chương trình đào tạo
    • Thời khóa biểu
    • Tài nguyên học tập
  • THPT
    • Giới thiệu
    • Đội ngũ giáo viên giảng dạy
    • Chương trình đào tạo
    • Tài nguyên học tập
    • Công tác giáo viên chủ nhiệm
    • Thời khóa biểu
    • ÔN THI TN THPT 2024
  • TUYỂN SINH
    • Thông báo tuyển sinh
    • Hướng dẫn tuyển sinh
    • Hồ sơ tuyển sinh
    • Câu hỏi thường gặp
    • CLB HÀNH TRANG LỚP 1
  • BÁN TRÚ
    • Hoạt động bán trú
    • Thực đơn tuần
    • Cơ sở vật chất bán trú
  • LIÊN HỆ
    • Liên hệ nhà trường
    • Câu hỏi thường gặp
    • Fanpage Hồng Đức
  • TUYỂN DỤNG
  • WooCommerce not Found

Từ khóa » Bài Tập Vòng Lặp While Trong Pascal