1. Trang chủ
  2. » Công Nghệ Thông Tin

Vòng lặp FOR

2 984 4
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Vòng for
Tác giả Nguyễn Hiếu Cường
Trường học Trường Đại Học
Thể loại bài viết
Định dạng
Số trang 2
Dung lượng 27,5 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Vòng lặp FOR

Trang 1

Vòng FOR

Nguyễn Hiếu Cường

Về sự hoạt động của cấu trúc lặp for

Pascal là ngôn ngữ lập trình được dạy và sử dụng rộng rãi trong các trường học hiện nay For là một trong ba cấu trúc lặp của ngôn ngữ Pascal , rất quen thuộc đối với những ai đã

và đang lập trình bằng ngôn ngữ này Tuy nó thật đơn giản nhưng qua kinh nghiệm giảng dạy tôi thấy không phải bạn học sinh nào cũng hiểu được rõ ràng cách thực hiện của cấu trúc đó Ta hãy xem một số ví dụ:

Ví dụ 1:

n:=10;

for i:= 1 to n do

begin

n:= 5;

write (i:4);

end;

Đoạn chương trình này sẽ in ra màn hình kết quả là:

1 2 3 4

5 6 7 8

9 10

Lý do là: Trình biên dịch chỉ xác định giá trị cuối (n) đúng một lần khi bắt đầu vào vòng lặp, vì thế trong quá trình lặp, việc thay đổi giá trị cuối không có ý nghĩa gì

Ví dụ 2a:

n:=10;

For i:=1 to 10 do

begin

write (i:4);

i:=i+1;

end;

Đoạn chương trình này sẽ in ra màn hình kết quả là:

1 3 5 7 9

Ví dụ 2b:

n:=10;

for i:=1 to 10 do

begin

write(i:4);

i:=i+2;

end;

Trang 2

Đoạn chương trình này sẽ lặp vô hạn.Hai đoạn chương trình 2a và 2b gần như giống nhau hoàn toàn, tại sao kết quả lại khác nhau nhiều như vậy?Rất nhiều bạn học sinh lý giải sự hoạt động của cấu trúc for thường cho rằng: for sẽ thực hiện chừng nào biến điều khiển (i) ≤ giá trị cuối (n)

Nhưng thực chất lại là: for sẽ hoạt động đến khi biến điều khiển = giá trị cuối + 1 (trong trường hợp kiểu của biến điều khiển là nguyên, các kiểu logic hay ký tự cũng lý luận tương tự) Sự khác nhau này xem ra không có gì là lớn, nhưng trong nhiều trường hợp lại làm chúng ta không thể lý giải được tai sao chương trình cho kết quả như vậy Trong hai

ví dụ trên, chúng ta có thể dễ dàng thấy được kết quả của đoạn chương trình 2a nhưng còn đoạn 2b thì sao lại lặp vô hạn? Lý do chính là giá trị của i không bao giờ bằng 11 được

Bạn hãy thử làm và tìm hiểu thêm nhiều điều "kỳ quái" khác nữa Và có lẽ những điều đó cũng làm cho việc học lập trình của chúng ta trở nên thú vị hơn Chúc các bạn thành công

và mong nhận được các ý kiến trao đổi

Ngày đăng: 11/09/2012, 15:49

Xem thêm

TỪ KHÓA LIÊN QUAN

w