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
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.
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
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
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.
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é.
Bài viết liên quan
Em cần biết thông tin gì của người mà em muốn gửi thư điện tử cho họ?
Tại sao khi lập mối quan hệ giữa hai trường của hai bảng nhưng Access lại không chấp nhận?
Trong một bài trình chiếu có thể có bao nhiêu trang chiếu?
Trong trang web liên kết hay siêu liên kết là gì? Có vai trò như thế nào?
Người nào có vai trò chịu trách nhiệm quản lý các tài nguyên?
Thiết bị nào xuất dữ liệu văn bản từ máy tính ra ngoài?
Trong khi nhập dữ liệu cho bảng muốn chèn thêm một bản ghi mới ta thực hiện?
Các thao tác thay đổi hình thức biểu mẫu gồm?
Để nâng cao hiệu quả của việc bảo mật ta cần phải?
Phát biểu nào dưới đây không phải là bảo mật thông tin trong hệ cơ sở dữ liệu?
Phát biểu nào dưới đây sai khi nói về mã hóa thông tin?
Thuật ngữ quan hệ dùng trong hệ cơ sở dữ liệu quan hệ là để chỉ đối tượng?
Đáp án chi tiết: Có mấy cách tạo biểu mẫu?
Đáp án: Chọn phát biểu đúng về khai thác cơ sở dữ liệu?
Tạo bảng trong cơ sở dữ liệu quan hệ nhằm mục đích nào dưới đây?
Chi tiết: Trong Access khi tạo liên kết giữa các bảng thì?