Đề Xuất 6/2023 # Vòng Lặp While Trong Pascal # Top 12 Like | Sieuphampanorama.com

Đề Xuất 6/2023 # Vòng Lặp While Trong Pascal # Top 12 Like

Cập nhật nội dung chi tiết về Vòng Lặp While Trong Pascal mới nhất trên website Sieuphampanorama.com. Hy vọng thông tin trong bài viết sẽ đáp ứng được nhu cầu ngoài mong đợi của bạn, chúng tôi sẽ làm việc thường xuyên để cập nhật nội dung mới nhằm giúp bạn nhận được thông tin nhanh chóng và chính xác nhất.

Trong bài này chúng ta sẽ tìm hiểu vòng lặp while trong Pascal, đây là vòng lặp có công dụng giống như vòng lặp for, chỉ khác một điều là ta không cần biết trước tổng số lần lặp.

Vòng lặp while cũng đóng vai trò rất quan trọng, được sử dụng rất nhiều trong lập trình thực tế. Không chỉ ở Pascal mà các ngôn ngữ như C, C++, PHP đều xem trong while.

1. Vòng lặp while trong Pascal

Lệnh lặp while-do trong Pascal cho phép tính toán lặp đi lặp lại cho đến khi một số điều kiện kiểm tra được thỏa mãn. Nói cách khác, nó liên tục thực thi một câu lệnh đích, miễn điều kiện lặp đã cho là đúng.

Cú pháp như sau:

Trong đó:

condition là điều kiện lặp. Nếu condition true thì vòng lặp thực hiện, false thì dừng vòng lặp.

S là những lệnh sẽ thực hiện nếu condition true. Nếu nhiều lệnh thì phải đặt trong khối BEGIN .. END

Ví dụ: In ra các số từ 1 đến 5. Bài toán này đã được giải ở vòng lặp for, bây giờ mình sử dụng vòng lặp while để xử lý như sau.

program WhileLoopFreetuts; var number: integer; begin number : = 1; while number <= 5 do begin writeln(number); number : = number + 1; end; readln; end.

Như bạn thấy, trong thân vòng lặp mình đã có một đoạn code như sau:

2. Vòng lặp for lồng nhau trong Pascal

Tương tự như vòng lặp for, vòng lặp while trong Pascal cũng cho phép bạn đặt lồng nhau. Thực tế điều này được sử dụng rất thường xuyên khi xây dựng những ứng dụng thực tiễn.

Vòng lặp for lồng nhau tức là đặt vòng while A nằm trong B, cấu trúc như sau:

while (condition_A) begin while (condition_B) begin end; end;

Quay lại giải bài toán in ra bảng cửu chương, ta sẽ sử dụng vòng lặp while để thực hiện như sau:

program WhileLoopFreetuts; var a: integer; b: integer; begin a := 2; while (a <= 9) do begin b := 1; while (b <= 9) do begin writeln(a, ' x ', b, ' = ', (a * b)); b := b + 1; end; a := a + 1; end; readln; end.

Nếu bạn là người mới bắt đầu học lập trình thì khi giải bài toán này có vẻ rất khó hiểu phải không? Điểm khó nhất là dòng gán lại b = 1, đây là dòng quan trọng vì nó quyết định đến kết quả in ra của bảng cửu chương.

Không tin bạn hãy thử bỏ dòng này, sau đó chạy lên thì kết quả chỉ in ra bảng cửu chương 2. Lý do là sau lần lặp này thì b đã có giá trị là 10, nên các lần lặp sau vòng lặp con sẽ không được thực hiện.

Vòng Lặp While Trong C++

Các bạn thân mến! Ở bài học trước chúng ta đã tìm hiểu một loại vòng lặp trong C++ đó là vòng lặp for, trong bài hôm nay chúng ta sẽ tiếp tục tìm hiểu một loại vòng lặp khác nữa trong C++ đó là vòng lặp while.

1. Vòng lặp while trong C++

Cũng giống như vòng lặp for, vòng lặp while dùng để lặp lại đoạn code nào đó khi điều kiện đúng.

Cú pháp

Cú pháp của vòng lặp while trong C++ như sau:

while(condition) { statement(s); }

Trong đó:

condition: Là điều kiện để quyết định tiếp tục vòng lặp hay không. Nếu điều kiện đúng thì tiếp tục vòng lặp, ngược lại sẽ thoát khỏi vòng lặp

statement(s): Các câu lệnh sẽ được thực thi khi điều kiện đúng.

Vòng lặp while là một dạng của vòng lặp for khuyết tham số thứ nhất và tham số thứ 3 như sau:

for(;condition;) { statement(s); }

Lưu đồ hoạt động

Lưu ý: Một điểm các bạn cần lưu ý ở vòng lặp while cũng như vòng lặp for đó là các câu lệnh bên trong vòng lặp có thể sẽ không bao giờ được thực hiện nếu điều kiện không bao giờ đúng

2. Ví dụ vòng lặp while trong C++

Giả sử chúng ta có một bài toán đơn giản đó là in ra màn hình số chẳn hoặc số lẻ từ 1 đến 10. Sử dụng vòng lặp while trong C++ để giải quyết bài toán trên như sau:

using namespace std; int main () { int i = 1; while(i <= 10 ) { if (i%2 == 0) { cout << i << ": la so chan" << endl; } else { cout << i << ": la so le" << endl; } i++; } return 0; }

Và sau đây là kết quả sau khi thực thi đoạn code trên:

Mình xin được giải thích kết quả của đoạn code trên như sau:

Trước tiên gán biến i = 1, bắt đầu vô vòng lặp while, kiểm tra điều kiện 1 < 10 là đúng, thực thi đoạn code bên trong vòng lặp while

Trong vòng lặp while có sử dụng lệnh if else để in số chẳn lẻ ra màn hình, chúng ta dùng toán tử % dùng để chia lấy phần dư, nếu là số chẳn thì chia hết cho 2 và phần dư bằng 0, ngược lại số lẻ thì không chia hết cho 2 và phần dư sẽ khác 0.

Tiếp đến dòng code i++ sẽ tăng biến i lên 1 (trong đó i++ tương đương với i = i + 1), sau đó quay lại kiểm tra điều kiện, lúc này biến i = 2, điều kiện 2 < 10 vẫn đúng, tiếp tục thực thi đoạn code bên trong vòng lặp while, sau đó tăng biến i lên 1, kiểm tra điều đúng và thực thi đoạn code bên trong vòng lặp… cứ thế lặp lại vòng lặp (kiểm ta điều kiện đúng, thực thi đoạn code bên trong, tăng biến i, kiểm tra điều kiện…).

Đến khi biến i có giá trị là 11, bây giờ điều kiện 11 <= 10 là sai, kết thúc vòng lặp while.

3. Vòng lặp while lồng nhau

Cũng giống như vòng lặp for, vòng lặp while cũng có vòng lặp while lồng nhau.

Một vòng lặp while nằm trong một vòng lặp while khác ta gọi đó là vòng lặp while lồng nhau. Chúng ta cũng hạn chế sử dụng vòng lặp while lồng nhau vì nó sẽ làm cho chương trình của chúng ta chậm hơn.

Chúng ta cùng xem một ví dụ đơn giản về vòng lặp while lồng nhau như sau:

using namespace std; int main () { int i=1; while(i<=3) { int j = 1; cout << endl; while (j <= 3) { cout << "Gia tri i = " << i << ", j = " << j << endl; j++; } i++; } return 0; }

Và kết quả sau khi thực thi đoạn code trên:

4. Vòng lặp while vô tận

Khi điều kiện trong vòng lặp while luôn đúng thì vòng lặp while sẽ chạy vô tận. Vì vậy các bạn nên xem xét kỹ lưỡng điều kiện trong vòng lặp while, hãy chắc chắn rằng sau một số vòng lặp nhất định điều kiện trong vòng lặp while sẽ sai và kết thúc vòng lặp.

Các bạn nên tránh có vòng lặp while vô hạn trong chương trình của mình. Ví nó làm cho chương trình chúng ta chạy mãi mãi dẫn đến bị treo, rất là quy hiểm.

Chúng ta cùng xem một ví dụ đơn giản về vòng lặp while vô hạn trong C++ như sau:

using namespace std; int main () { int i; while(i=1) { cout << "Vong lap while vo han" << endl; } return 0; }

Và kết quả sau khi thực thi đoạn code trên là chương trình chúng ta sẽ chạy vô hạn.

Lý do vòng lặp while trên chạy vô hạn là vì chúng ta gán biến i = 1 và trong thân hàm không có thay đổi giá trị của biến i, nên biến i lúc nào cũng bằng 1. Trong C++, một số khác 0 là true.

5. So sánh vòng lặp for và vòng lặp while

Vòng lặp for và vòng lặp while có những điểm giống và khác nhau như sau:

Giống nhau

Cả 2 vòng lặp đều sử dụng để lặp lại môđoạn code nào đó khi điều kiện đúng. Nếu điều kiện sai sẽ không có đoạn code nào bên trong thân vòng lặp được thực hiện

Khác nhau

Một số điểm khác nhau giữa vòng lặp for và vòng lặp while trong C++ như sau:

Cú pháp

for ( init; condition; increment ) { statement(s); }

while(condition) { statement(s); }

Nên sử dụng

Vòng lặp for chỉ nên được sử dụng khi chúng ta đã biết trước số lần lặp.

Vòng lặp while chỉ nên được sử dụng khi số lần lặp không được biết chính xác.

Điều kiện (condition)

Nếu điều kiện không được đưa vào vòng lặp for, thì vòng lặp lặp lại vô số lần.

Nếu điều kiện không được đưa vào vòng lặp while, nó sẽ cung cấp lỗi biên dịch.

init

Trong vòng lặp for, bước khởi tạo (init) được thực hiện duy nhất một lần

Trong vòng lặp while nếu việc khởi tạo được thực hiện trong quá trình kiểm tra điều kiện, thì việc khởi tạo được thực hiện mỗi lần lặp lại vòng lặp.

increment

Câu lệnh lặp trong for được viết ở trên cùng, do đó, chỉ thực hiện sau khi tất cả các câu lệnh trong vòng lặp được thực thi.

Trong vòng lặp while, câu lệnh lặp có thể được viết ở bất cứ đâu trong vòng lặp.

6. Kết luận

Như vậy là chúng ta đã tìm hiểu xong về vòng lặp while trong C++ là gì. Vòng lặp while căn bản về ý nghĩa là giống với vòng lặp for, nó chỉ khác nhau về cú pháp và trường hợp sử dụng. Tùy vào mục đích sử dụng của mình mà các bạn lựa chọn vòng lặp while hoặc vòng lặp for cho phù hợp.

Một điều cần lưu ý cho các bạn khi sử dụng vòng lặp while đó là hạn chế sử dụng vòng lặp while lồng nhau và nên tránh có vòng lặp while vô hạn trong chương trình của mình.

Vòng Lặp For .. Do Trong Pascal

Trong bài này chúng ta sẽ tìm hiểu về vòng lặp For .. Do trong Pascal, đây là vòng lặp cơ bản và được sử dụng nhiều nhất trong lập trình Pascal.

1. Vòng lặp For .. do trong Pascal

Vòng lặp for .. do là một cấu trúc điều khiển cho phép bạn viết một chương trình có tính lặp đi lặp lại với số lần cụ thể. Cú pháp của nó như sau:

Trong đó:

variable-name là tên biến điều khiển vòng lặp

initial_value là lần lặp đầu tiên

final_value là lần lặp cuối, tổng số lần lặp được tính từ initial_value đến final_value

S là những lệnh sẽ được chạy trong vòng lặp. Nếu có nhiều lệnh thì phải đặt trong khối BEGIN … END

HÌnh: internet

Giả sử bạn muốn in ra các số từ 1 đến 5 thì có thể viết theo cách thông thường như sau:

program forLoop; begin writeln('1'); writeln('2'); writeln('3'); writeln('4'); writeln('5'); end.

Nhưng nếu mình muốn in ra từ 1 đến 1000, thậm chí là 1.000.000 lần thì phải làm sao? Nếu viết thủ công như vậy thì là điều rất khó, mất khá nhiều thời gian.

Áp dụng cấu trúc vòng lặp for thì mình sẽ viết lại bài này như sau:

program forLoop; var a: integer; begin for a := 1 to 5 do begin writeln('Gia tri cua a la: ', a); end; end.

Các bước thực hiện như sau:

Bước 1: Lặp lần thứ nhất, a bắt đầu từ 1, vì nó nằm trong khoảng từ 1 đến 5 nên khối lệnh bên trong được thực hiện.

Bước 2, 3, 4, 5: Tương tự, a sẽ có giá trị lần lượt là 2, 3, 4, 5 và nó nằm trong khoảng 1 – 5 nên vẫn thực hiện.

Bước 6: Lúc này a = 6, nằm ngoài phạm vi lặp nên vòng lặp hết thúc.

Kết quả in ra màn hình các số từ 1 đến 5.

Gia tri cua a la: 1 Gia tri cua a la: 2 Gia tri cua a la: 3 Gia tri cua a la: 4 Gia tri cua a la: 5

2. Vòng lặp for .. do lồng nhau

Trong pascal bạn có thể đặt vòng lặp for này nằm trong vòng lặp for khác để tạo ra cấu trúc lồng nhau. Lúc này tổng số lần lặp sẽ là cấp số nhân giữa vòng lặp ngoài (cha) và vòng lặp trong (con).

Ví dụ vòng lặp cha lặp từ 1 đến 5, vòng lặp con lặp từ 1 đến 10 thì tổng số lần lặp là 5 x 10 = 50.

Cấu trúc cú pháp cơ bản như sau:

for a := 1 to 5 do begin for b := 1 to 10 do begin ... end; end;

Trong đó các số điều khiển vòng lặp có thể thay đổi theo yêu cầu của bài toán bạn cần lập trình.

Ví dụ: Mình cần in ra bảng cửu chương thì có thể viết như sau:

program IfThenPascal; var a: integer; b: integer; begin for a := 2 to 9 do begin for b := 1 to 9 do begin writeln(a, ' x ', b, ' = ', (a * b)); end; end; readln; end.

Chạy chương trình này bạn sẽ thu được kết quả như sau:

Trên là kiến thức cơ bản của vòng lặp for trong Pascal. Đây là một vòng lặp rất quan trọng không chỉ ở Pascal mà ở bất kì một ngôn ngữ khác, vì vậy bạn cần phải hiểu ý nghĩa của nó để áp dụng, cũng như sau này sẽ phân biệt với các vòng lặp while và repeat.

Bài 5: Vòng Lặp Trong Javascript

I. Giới thiệu

Vòng lặp là một trong những khái niệm cơ bản trong lập trình nói chung và trong Javascript nói riêng, trong tiếng anh vòng lặp được gọi là Loop. Với vòng lặp, chúng ta có thể làm cho một đoạn code nào được lặp đi lặp lại nhiều lần.

Trong các dự án, việc lặp đi lặp lại một đoạn code xảy ra rất phổ biến, ví dụ bạn muốn in ra màn hình 1000 dòng chữ Anh Yêu Em chẳng hạn. Bạn có thể có 2 lựa chọn sau:

Cách 1: Viết 1000 dòng chữ Anh Yêu Em

Cách 2: Viết 1 dòng Anh Yêu Em, nhưng để nó trong vòng lặp 1000 lần

Cách nào thông minh và ngắn gọn hơn nhỉ, rõ là cách 2 rồi.

II. Vòng lặp for

Vòng lặp for trong Javascript được biết đến như một vòng lặp với số lần biết trước. Ý tưởng của vòng lặp for là chúng ta sẽ có:

Một biến đếm ở dạng số nguyên (thường được khởi tạo là 0)

Một điều kiện để vòng lặp kết thúc (thường là đếm < số lần lặp)

Sau mỗi lần lặp, biến đếm sẽ thay đổi giá trị (thường là tăng lên 1 đơn vị)

Ví dụ về một vòng lặp for như sau:

var dem = 0; var max = 5; for (dem; dem < max; dem++) { console.log("Lần lặp thứ " + dem); }

Vòng lặp for rất hữu ích trong trường hợp bạn muốn lặp từ một số nguyên từ n tới m

Bạn cũng có thể sử dụng vòng lặp for để lặp theo chiều giảm dần như sau:

var dem = 5; var min = 0; console.log(dem) }

III. Vòng lặp while

Khác với vòng lặp for, vòng lặp while là vòng lặp với số lần không biết trước. Ý tưởng của vòng lặp while cũng đơn giản hơn, chúng ta chỉ cần chỉ ra cho vòng lặp while một điều kiện. Nếu điều kiện còn đúng, thì nó còn được lặp, nếu sai thì nó sẽ dừng.

Để hiểu rõ hơn, mời các bạn cùng xem ví dụ sau:

var i = Math.floor(Math.random() * 100); while (i !== 0) { console.log(i); i = Math.floor(Math.random() * 100); }

Phân tích ví dụ trên, ta có:

i được khởi tạo giá trị là một số nguyên ngẫu nhiên từ 0 tới 99.

Điều kiện để lặp là i phải khác 0.

Sau mỗi lần lặp, i được gán lại bằng một số ngẫu nhiên từ 0 tới 99.

Vì i luôn là một số nguyên nhẫu nhiên từ 0 tới 99, nên chúng ta không thể biết trước khi nào thì i bằng 0, đồng nghĩa rằng chúng ta cũng không xác định được vòng lặp trên sẽ lặp bao nhiêu lần:

Có thể không lặp lần nào trong trường hợp vừa khởi tạo i đã là 0.

Có thể lặp vô hạn, khi i không bao giờ bằng 0.

Khi sử dụng vòng lặp while, hãy để ý điều kiện dừng để tránh trường hợp rơi vào vòng lặp vô hạn.

IV. Vòng lặp do … while

do ... while cũng là một dạng vòng lặp với số lần không biết trước như vòng lặp while. Tuy nhiên khác ở chỗ:

Vòng lặp while có thể không lặp bất kỳ lần nào nếu điều kiện lặp sai ngay từ đầu. Nghĩa là nó sẽ kiểm tra điều kiện rồi mới lặp.

Vòng lặp do ... while luôn lặp ít nhất một lần, nghĩa là nó sẽ chạy xong rồi mới kiểm tra điều kiện.

Ví dụ: Đoạn code sau mô tả trò chơi rút thăm trúng thưởng, nếu bạn rút phải phiếu mang giá trị là 1 thì bạn được quyền rút lại phiếu khác.

var phieu; do { phieu = Math.floor(Math.random() * 100); } while (phieu === 1);

V. Break và continue trong vòng lặp

5.1 Break

Trong một số trường hợp, khi điều kiện lặp vẫn đang đúng (tức là vòng lặp vẫn còn có thể lặp tiếp) nhưng bạn lại muốn dừng vòng lặp ngang chừng, để làm được điều đó bạn chỉ cần đặt vào lệnh break.

Khi vòng lặp gặp phải lệnh break, thì vòng lặp sẽ bị dừng lại ngay.

Ví dụ: Đoạn code sau mình sử dụng một vòng lặp duyệt các số từ 1 tới 10, nhưng thực tế nó chỉ chạy tới 5. Do chạy tới 5 thì gặp lệnh break nên vòng lặp bị thoát ngang chừng.

for (var i = 1; i <= 10; i++) { if (i == 5) { break; } }

5.2 Continue

Khác với lệnh break, continue là lệnh giúp bạn bỏ qua một bước lặp, tức là toàn bộ code trong vòng lặp và nằm ở phía dưới lệnh continue sẽ không được thực thi.

Khi vòng lặp gặp lệnh continue, nó sẽ bỏ qua bước lặp hiện tại và chuyển ngay sang bước lặp kế tiếp.

Ví dụ: Đoạn code sau sẽ tính tổng các số lẻ (số không chia hết cho 2) từ 1 tới 10. Ý tưởng là mình cho một vòng lặp chạy từ 1 tới 10, mỗi lần chạy mình kiểm tra số hiện tại có chia hết cho 2 hay không, nếu chia hết thì nó là số chẵn, nếu là số chẵn thì sử dụng lệnh continue để bỏ qua bước lặp hiện tại, chuyển qua bước lặp tiếp theo.

var tongSoLe = 0; for (var i = 1; i <= 10; i++) { if (i % 2 == 0) { continue; } tongSoLe = tongSoLe + i; }

VI. Tổng kết

Qua bài này, bạn đã nắm được 3 vòng lặp có trong Javascript. Tổng kết lại có một số điểm trọng tâm như sau:

for là vòng lặp với số lần biết trước

while, do … while là vòng lặp với số lần chưa biết trước, tuy nhiên do … while luôn lặp ít nhất một lần.

Hẹn gặp lại trong những bài viết lần sau.

Bạn đang đọc nội dung bài viết Vòng Lặp While Trong Pascal trên website Sieuphampanorama.com. Hy vọng một phần nào đó những thông tin mà chúng tôi đã cung cấp là rất hữu ích với bạn. Nếu nội dung bài viết hay, ý nghĩa bạn hãy chia sẻ với bạn bè của mình và luôn theo dõi, ủng hộ chúng tôi để cập nhật những thông tin mới nhất. Chúc bạn một ngày tốt lành!