Bài 14-Vòng lặp do while trong Kotlin


bài 13 chúng ta đã hiểu được cấu trúc lặp while, trong bài này chúng ta qua một cấu trúc tương tự đó là do…while

Cú pháp vòng lặp do…while:

do

  statement

}

while(expression)

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

−B1:Statement được thực hiện

−B2:Expression được định trị.

−Nếu expression là true thì quay lại bước 1

−Nếu expression là false thì thoát khỏi vòng lặp.

Để thoát vòng lặp: dùng break

Để di chuyển sớm qua lần lặp tiếp theo : dùng continue

Lưu ý: Lệnh trong do…while chắc chắn được thực hiện ít nhất một lần.

Lưu đồ hoạt động:

Ví dụ 1: Viết chương trình tính 5 giai thừa


fun main(args: Array<String>) {
var n:Int = 5
var gt:Int=1
var i:Int = 1
do
{
gt *= i
i++
}while (i<=n)
println("$n! =$gt")
}

Giải thích chi tiết quá trình chạy:

Khởi tạo: n=5; gt=1, i=1

Lần 1: gt=gt*i=1*1=1

i++=> i=i+1=1+1=2

Kiểm tra i<=n <=>2<=5=>đúng

Lần 2: gt=gt*i=1*2=2

i++=>i=i+1=2+1=3

Kiểm tra i<=n <=> 3<=5=>đúng

Lần 3: gt=gt*i=2*3=6

i++=>i=i+1=3+1=4

Kiểm tra i<=n <=> 4<=5=>đúng

Lần 4: gt=gt*i=6*4=24

i++=>i=i+1=4+1=5

Kiểm tra i<=n <=> 5<=5=>đúng

Lần 5: gt=gt*i=24*5=120

i++=>i=i+1=5+1=6

Kiểm tra i<=n <=> 6<=5=>sai=>ngừng do while

Kết thúc chương trình ta được giai thừa =120

Tương tự như các vòng lặp khác, do..while cũng có thể kết hợp lồng ghép các vòng lặp với nhau:

Ví dụ 2: Viết chương trình kiểm tra 1 năm bất kỳ có phải năm nhuần hay không (Năm nhuần là năm chia hết cho 4 nhưng không chia hết cho 100 hoặc chia hết cho 400). Chương trình bắt buộc phải nhập năm >=0, nếu nhập sai bắt nhập lại cho tới khi nào nhập đúng, kết thúc chương trình cho phép người dùng lựa chọn tiếp tục hay không:


fun main(args: Array<String>) {
var year:Int=0
var s:String?
println("Chương trình kiểm tra năm nhuần:")
do
{
println("Nhập 1 năm:")
s= readLine()
while (s==null || s.toInt()<0)
{
println("Nhập sai năm, nhập lại:")
s= readLine()
}
year=s.toInt()
if(year%4==0&&year%100!=0 || year%400==0)
{
println("Năm $year là năm nhuần")
}
else
{
println("Năm $year ko phải là năm nhuần")
}
print("Tiếp không?(c/k):")
s= readLine()
if(s=="k")
break;
}while (true)
println("Tạm biệt")
}

Chạy chương trình và nhập các giá trị sau để xem kết quả:

Chương trình kiểm tra năm nhuần:
Nhập 1 năm:
-4
Nhập sai năm, nhập lại:
2000
Năm 2000 là năm nhuần
Tiếp không?(c/k):c
Nhập 1 năm:
2015
Năm 2015 ko phải là năm nhuần
Tiếp không?(c/k):kTạm biệt

Như vậy tới đây Tui đã hướng dẫn xong vòng lặp do…while trong Kotlin, các bạn chú ý học kỹ và hiểu được nó thông qua các ví dụ ở trên nhé. Đặc biệt nắm được cách thức vận hành của do..while để có thể áp dụng tốt vào các dự án thực tế của mình.

Các bạn có thể tải source code bài này ở đây: http://www.mediafire.com/file/zehz2biw992vxeh/HocDoWhile.rar

Hẹn gặp các bạn ở những bài tiếp theo

Chúc các bạn thành công!

Trần Duy Thanh (http://ssoftinc.com/)

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: