Vòng lặp xác định.

Một phần của tài liệu Bài giảng tin học đại cương đh hàng hải (Trang 45)

Vòng lặp xác định là vòng lặp mà số lần lặp lại của công việc đƣợc biết trƣớc. Trong Visual Basic vòng lặp xác định đƣợc thực hiện bởi câu lệnh For có cấu trúc nhƣ sau:

For <biến> = <biểu thức 1> To <biểu thức 2> [Step <biểu thức 3>] <công việc>

[Exit For] Next [<biến>]

Trong đó biểu thức 1 và biểu thức 2 là hai chỉ số đầu và cuối của biến, biểu thức 2 có thể có giá trị dƣơng hay âm. Step nhằm để tăng hay giảm biến sau mỗi vòng lặp. Nếu không xác định rõ thì Step sẽ có giá trị là 1.

Nếu sử dụng câu lệnh Exit For thì khi gặp câu lệnh này máy tính sẽ nhảy ra khỏi vòng lặp.

Ví dụ 1: Tính tổng các số từ 1 đến 10 Dim Sum As Integer, i As Integer Sum = 0

For i = 1 to 10

Sum = Sum + i Next i

Ví dụ 2: Tính tổng S=1+1/2+1/3+….+1/(n-1)+1/n Với n là số nguyên dƣơng Dim n as integer

Dim i as integer Dim S as Single

_46_ n=val(Inputbox(“Nhập giá trị cho n=”)) S=0 For =1 to n S=S+1/i Next i Print “Tong s=”,str(S) 4.13.3. Vòng lặp không xác định Vòng lặp While Vòng lặp UnTil Cú pháp 1:

Do While <điều kiện lặp> <công việc> [Exit Do] Loop Cú pháp 2: Do <công việc> [Exit Do]

Loop While <điều kiện lặp> Cú pháp 3:

While <điều kiện lặp> <công việc> Wend

Hoạt động: Vòng lặp While chỉ hoạt động khi điều kiện đúng còn thoát khi điều kiện sai.

Sơ đồ thuật toán cú pháp 1

Cú pháp 1:

Do UnTil <điều kiện lặp> <công việc> [Exit Do] Loop Cú pháp 2: Do <công việc> [Exit Do]

Loop Until <điều kiện lặp>

Hoạt động: Vòng lặp UnTilchỉ hoạt động khi điều kiện sai còn thoát khi điều kiện đúng.

Sơ đồ thuật toán cú pháp 1

Đkiện Đ Công việc S

Công việc

Đkiện Đ

_47_

Ví dụ1: Tính tổng các số từ 1 đến 10 „Dùng lệnh While

Dim Sum As Integer, i As Integer i=0 Sum=0 Do While i<10 Sum = Sum + i i = i + 1 Loop „Dùng lệnh Until

Dim Sum as Integer, i as Integer i=0 Sum = 0 Do Until i>10 Sum = Sum + i i = i+1 Loop

Ví dụ 2: Tìm ƣớc số chung lớn nhất của hai số nguyên dƣơng a,b Dim a as integer, b as integer

Dim UCLN as Integer Do

a= val(Inputbox(“Nhập giá trị cho a=”)) b= val(Inputbox(“Nhập giá trị cho b=”)) Loop Until a>0 and b>0 (adsbygoogle = window.adsbygoogle || []).push({});

Do while a<>b If a>b then a=a-b Else b=b-a end if

_48_ Loop

UCLN=a

Print “ƣớc số chung lớn nhất là:”,str(UCLN)

Một phần của tài liệu Bài giảng tin học đại cương đh hàng hải (Trang 45)