Câu lệnh lặp với số lần chưa biết trước trong pascal

4/5 - (1 bình chọn)

Câu lệnh lặp trong pascal là kiến thức bộ môn Tin học 8. Chúng ta đã quen thuộc với kiểu câu lệnh lặp có số lần lặp đã được xác định và chỉ thị trước. Thực tế, có nhiều hoạt động lặp đi lặp lại chưa xác định được số lần gọi là câu lệnh lặp với số lần chưa biết trước. Cùng Hoc365 tìm hiểu chính xác và chi tiết về vấn đề này và tham khảo thêm một số kiến thức mở rộng với câu lệnh lặp nhé.

Câu lệnh lặp với số lần chưa biết trước là gì?

Câu lệnh lặp với số lần chưa biết trước là việc lặp đi lặp lại một nhóm hoạt động với số lần chưa được xác định trước. Số lần lặp phụ thuộc vào một điều kiện cụ thể mà chúng ta khai báo. Vòng lặp cứ tiếp tục khi chưa đạt được điều kiện và ngược lại sẽ dừng khi điều kiện được thỏa mãn.

Câu lệnh lặp với số lần chưa biết trước:

  • Chỉ thị máy tính thực hiện 1 lệnh hoặc 1 nhóm lệnh với số lần lặp chưa biết trước.
  • Điều kiện tổng quát, có thể là kiểm tra của một giá trị có thực.

Cú pháp câu lệnh lặp với số lần chưa biết trước

Để chỉ thị máy tính thực hiện hoạt động lặp như trên, ta có thể sử dụng câu lệnh lặp với số lần chưa biết trước với cú pháp như sau:

While <Điều kiện> do <Câu lệnh>

Trong đó:

  • While, do: Là các từ khóa
  • Điều kiện: Thường là một phép so sánh. Ví dụ: a<=10000
  • Câu lệnh: Có thể là câu lệnh đơn giản hoặc câu lệnh ghép. Ví dụ: a:=a+2

Cú pháp câu lệnh lặp với số lần chưa biết trước

Trong ví dụ trên, chương trình sẽ yêu cầu người dùng nhập số liên tục cho đến khi người dùng nhập số “0”. Sau đó, chương trình sẽ tính tổng các số đã nhập và hiển thị kết quả.

Ví dụ về câu lệnh lặp với số lần chưa biết trước

Ví dụ 1

Lập trình tính tổng S=1+1/2+…+1/N đến khi tổng nhỏ nhất lớn hơn 500.

Ví dụ về câu lệnh lặp với số lần chưa biết trước

Trong đó:

  • sum là biến tổng, ban đầu được gán bằng 0
  • i là biến đếm, ban đầu được gán bằng 1
  • Vòng lặp while sẽ chạy cho đến khi sum lớn hơn hoặc bằng 500
  • Trong vòng lặp, mỗi lần chạy ta cộng sum vào 1/i
  • Sau mỗi lần chạy, ta tăng i lên 1 đơn vị
  • Cuối cùng, ta in ra sum để xem kết quả.

Vòng lặp hoạt động như sau:

  • Bước 1: S:=0, i:=1
  • Bước 2: Nếu S<=500, S:=S+1/i, i:=i+1, ngược lại chuyển xuống bước 4
  • Bước 3: S:=S+1/i và quay lại bước 2
  • Bước 4: In kết quả và kết thúc vòng lặp

Ví dụ 2

Lập trình tính tổng S=1/a+(1/a+1)+(1/a+2)+…+(1/a+i) với a là số nguyên nhập từ bàn phím đến khi S <=0,0001

Ví dụ về câu lệnh lặp với số lần chưa biết trước

Trong đó:

  • sum là biến tổng, ban đầu được gán bằng 0
  • i là biến đếm, ban đầu được gán bằng 0, a là số nguyên nhập từ bàn phím
  • Vòng lặp while sẽ chạy cho đến khi sum nhỏ hơn hoặc bằng 0,0001
  • Trong vòng lặp, mỗi lần chạy ta cộng sum vào 1/(a+i)
  • Sau mỗi lần chạy, ta tăng i lên 1 đơn vị
  • Cuối cùng, ta in ra sum để xem kết quả.

Quy trình lặp được tiến hành như sau:

  • Bước 1: Nhập a
  • Bước 2: S:=1/a, i:=0
  • Bước 3: Nếu S<=0.0001, S:=S+1/(1+i), i:=i+1, ngược lại chuyển tới bước 5
  • Bước 4: S:=S+1/(1+i) và quay lại bước 3
  • Bước 5: In kết quả S rồi kết thúc

Kiến thức mở rộng

Dưới đây là một số kiến thức mở rộng về câu lệnh lặp với số lần chưa biết trước.

Sơ đồ cấu trúc lặp với số lần chưa biết trước

Sơ đồ cầu trúc lặp với số lần chưa biết trước

Nhìn vào sơ đồ, có thể thấy hoạt động lặp được lập trình như sau:

  • Bước 1: Kiểm tra điều kiện
  • Bước 2: Nếu điều kiện sai thì bỏ qua và vòng lặp kết thúc. Nếu điều kiện đúng thì thực hiện câu lệnh và quay lại bước 1.

Số lần lặp chưa xác định và nó chỉ dừng lại khi điều kiện không được thỏa mãn.

Lỗi lập trình cần tránh: Lặp vô hạn

  • Khi viết chương trình cần tránh việc tạo nên những vòng lặp vô tận không bao giờ dừng. Điều này làm cho chương trình chạy mãi và không cho ra kết quả như mong muốn.
  • Có những trường hợp chúng ta cần sử dụng vòng lặp vô hạn để tính toán, nhưng nó sẽ khá tốn tài nguyên.

Ví dụ:

var a:integer

begin

a:=7;

while a<8 do

whileln(‘A’);

end.

Trong ví dụ trên giá trị biến a=7, mà điều kiện là a<8 nên nó sẽ luôn đúng, do đó vòng lặp không bao giờ kết thúc. Do đó, khi thực hiện câu lệnh với vòng lặp không xác định, điều kiện đặt ra phải làm thế nào để sớm hay muộn giá trị của nó được chuyển từ đúng thành sai. Như thế chương trình mới không rơi vào vòng lặp vô hạn.

Lặp vô hạn

Sự khác nhau giữa câu lệnh lặp với số lần chưa biết trước và câu lệnh lặp với số lần biết trước

Câu lệnh lặp với số lần chưa biết trước:

  • Chỉ dẫn máy tính thực hiện 1 lệnh hay 1 nhóm lệnh với số lần lặp chưa xác định trước.
  • Điều kiện tổng quát hơn, có thể là kiểm tra của 1 giá trị có thực.

Câu lệnh lặp với số lần biết trước:

  • Chỉ thị máy tính thực hiện 1 lệnh hoặc 1 nhóm lệnh với số lần lặp đã được xác định từ trước.
  • Điều kiện là 1 giá trị của 1 biến đếm có giá trị nguyên.

Trên đây là toàn bộ những kiến thức cơ bản về câu lệnh lặp với số lần chưa biết trước. Hy vọng với những ví dụ thực tế mà chúng tôi cung cấp sẽ giúp độc giả hiểu hơn về vấn đề này. Đừng quên theo dõi Hoc365 để tham khảo tất tần tật các kiến thức tin học hay nhé.

0 0 đánh giá
Đánh giá bài viết
Theo dõi
Thông báo của
guest
0 Góp ý
Phản hồi nội tuyến
Xem tất cả bình luận
0
Rất thích suy nghĩ của bạn, hãy bình luận.x
Tối ưu giao diện hiển thị, tốc độ tải trang website hoc365.edu.vn trên thiết bị của bạn.