Flutter Tutorial – 2.3 Cấu trúc rẽ nhánh, vòng lặp trong ngôn ngữ Dart
Tiếp theo trong Flutter tutorial, trong chương về ngôn ngữ Dart, Báo Flutter xin gửi đến các bạn các cấu trúc cơ bản trong lập trình ngôn ngữ dart.
Trước khi đến với tìm hiểu các cấu trúc, Báo Flutter xin nhắc lại các toán tử. Trong ngôn ngữ Dart thì các toán tử cũng giống như các ngôn ngữ khác, gồm 3 loại toán tử :
+ Toán tử số học
+ Toán tử gán
+ Toán tử so sánh
Mời các bạn nhìn lại:
* Toán tử số học
*Toán tử gán
*Toán tử so sánh
Bây giờ viết chương trình giải bài toán dưới đây với các cấu trúc rẽ nhánh khác nhau.
Bài toán đơn giản: Nhập vào một số và đưa ra kết luận số đó là chẵn hay lẻ ?
I. Cấu trúc rẽ nhánh
* Cấu trúc if…else
Trong file lib của project, chúng ta tạo file : cau_truc_re_nhanh.dart, và nhập nội dung như bên dưới:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
import 'dart:io'; void cauTrucIfelse() { print ("Hãy nhập số tự nhiên cần kiểm tra:"); // Nhập số từ bàn phím; dùng thư viện : dart:io var string = stdin.readLineSync(); // chuyển chuỗi vừa nhập sang số var n = int.parse(string); // Cấu trúc rẽ nhánh If...Else if (n % 2 == 0) print ("Số vừa nhập là số chẵn"); else print ("Số vừa nhập là số lẻ"); } |
Để chạy thử, bạn vào file main.dart trong package: bin, khai báo và nhập code như bên dưới:
1 2 3 4 5 6 7 |
import 'package:dart_language/cau_truc_re_nhanh.dart'; import 'package:dart_language/kieu_du_lieu.dart'; void main() { //kieuDuLieu(); cauTrucIfelse(); } |
Đây là kết quả :
* Cấu trúc rẽ nhánh Switch … case
Vẫn bài toán trên, chúng ta dùng cấu trúc switch … case .
Tiếp tục trong file : cau_truc_re_nhanh.dart, thêm hàm bên dưới:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
void cauTrucSwitchCase(){ print ("Hãy nhập số tự nhiên cần kiểm tra:"); // Nhập số từ bàn phím; dùng thư viện : dart:io var string = stdin.readLineSync(); // chuyển chuỗi vừa nhập sang số var n = int.parse(string); // Switch .... case switch (n%2){ case 0: print ("Số đó là số chẵn"); break; case 1: print ("Số đó là số lẻ"); break; default: print ("Default case"); break; } } |
Kết quả sau khi chạy trong file main.dart là :
* Cấu trúc vòng lặp
+ Cấu trúc vòng for
Tạo file: cau_truc_vong_lap.dart trong package: lib, nhập đoạn code bên dưới:
1 2 3 4 5 6 7 8 |
void cauTrucVongLapFor() { var numbers = [1, 5, 8, 14, 6, 100]; print("Số chẵn trong list trên là:"); for (int i = 0; i< numbers.length; i++) if(numbers[i]%2 == 0) print (numbers[i].toString()); } |
+ Cấu trúc vòng for..in
Trong file cau_truc_vong_lap.dart, nhập đoạn code :
1 2 3 4 5 6 |
void cauTrucVongLapForin() { var list = [5,8,9,4]; for (var i in list) { print(i); } } |
+ Cấu trúc While
Trong file cau_truc_vong_lap.dart, nhập đoạn code :
1 2 3 4 5 6 7 8 9 |
void cauTrucVongWhile() { var n =10; print("Dãy số từ 10 đến 1"); while(n>0){ print(n.toString()); n--; } } |
+ Cấu trúc Do While
Trong file cau_truc_vong_lap.dart, nhập đoạn code :
1 2 3 4 5 6 7 8 9 |
void cauTrucVongDoWhile() { var n =10; print("Dãy số từ 10 đến 1"); do { print(n.toString()); n--; }while(n>0); } |
Các từ khoá : return , continue, break
– return : trả về giá trị và kết thúc vòng lặp
– continue: khi gặp continue, thì chuyển đến vòng lặp tiếp theo luôn
– break: thoát ra khỏi vòng lặp
Kết luận: Vậy là trong ngôn ngữ Dart, các cấu trúc rẽ nhánh, vòng lặp cũng tương tự như một số ngôn ngữ khác như Java, Swift..
Bài tập trong phần này sẽ là :
Nhập các số tự nhiên từ bàn phím liên tục và tính tổng của các số đó cho đến khi tổng của nó lớn hơn 50 thì dừng lại.
Hẹn gặp lại ở bài viết tiếp theo.