intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Các cấu trúc điều khiển (phần 2)

Chia sẻ: Đỗ Tiến | Ngày: | Loại File: PDF | Số trang:30

85
lượt xem
6
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Tham khảo bài thuyết trình 'các cấu trúc điều khiển (phần 2)', công nghệ thông tin, kỹ thuật lập trình phục vụ nhu cầu học tập, nghiên cứu và làm việc hiệu quả

Chủ đề:
Lưu

Nội dung Text: Các cấu trúc điều khiển (phần 2)

  1. Các cấu trúc điều khiển (phần 2) v 1.0 - 10/2012 Lê Viết Mẫn - lvman@hce.edu.vn 1 Các cấu trúc điều khiển 2 Sunday, October 28, 12
  2. chúng ta đã học... Tuần tự Rẽ nhánh Câu lệnh if, switch Lê Viết Mẫn - lvman@hce.edu.vn 2 Các cấu trúc điều khiển 2 Sunday, October 28, 12
  3. chúng ta sẽ học... Lặp Câu lệnh for, while, do Lê Viết Mẫn - lvman@hce.edu.vn 3 Các cấu trúc điều khiển 2 Sunday, October 28, 12
  4. Enum • Khai báo enum là thành phần của lớp class Program { enum Weekday {Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday}; static void Main(string[] args) { • Nhập liệu kiểu Enum • Nhập vào số tương ứng giá trị của một thành phần trong kiểu enum Weekday day; Console.Write("Nhap vao thu dang so :"); // Nhập vào số 1 day = (Weekday)Convert.ToInt32(Console.ReadLine()); // kết quả là Monday • Nhập vào chuỗi ký tự của một thành phần trong kiểu enum Console.Write("Nhap vao thu dang chuoi :"); // Nhập vào chuỗi “Sunday” day = (Weekday)Enum.Parse(typeof(Weekday), Console.ReadLine()); Lê Viết Mẫn - lvman@hce.edu.vn 4 Các cấu trúc điều khiển 2 Sunday, October 28, 12
  5. Iteration structures Lệnh lặp : for, while, do Lê Viết Mẫn - lvman@hce.edu.vn 5 Các cấu trúc điều khiển 2 Sunday, October 28, 12
  6. for for (statement_1; condition; statement_2) ! statement_3 statement_1 false • Có thể bỏ qua các thành phần trong vòng condition lặp for statement_2 true • statement_1 được dùng để khởi tạo và chỉ được thực hiện 1 lần statement_3 • condition là biểu thức kiểm tra điều kiện lặp lại • statement_3 là một lệnh đơn hoặc lệnh kép mà ta muốn được thực hiện nhiều lần • statement_2 được dùng để cập nhật / thay đổi giá trị của condition Lê Viết Mẫn - lvman@hce.edu.vn 6 Các cấu trúc điều khiển 2 Sunday, October 28, 12
  7. for for (statement_1; condition; statement_2) ! statement_3 statement_1 false condition In ra các số từ 0 đến 9, mỗi số trên một dòng statement_2 true for (int i = 0; i < 10; i++) statement_3 C o n s o l e. W r i t e L i n e ( i ) ; Lê Viết Mẫn - lvman@hce.edu.vn 7 Các cấu trúc điều khiển 2 Sunday, October 28, 12
  8. Ví dụ int i, j; for (i = 0; i < 10; i++) " Console.WriteLine(i);" " " " " " // in ra tu 0 - 9 for (i = 0; i < 10; i += 2) " Console.WriteLine(i);" " " " " " // in cac so 0, 2, 4, 6, 8 for (i = 0, j = 0; i < 10 && j < 5; i += 2, j++) // toán tử dấu phẩy " Console.WriteLine(“{0}\t{1}”, i, j); for (int i = 0; i < 100; i++) // phạm vi của biến i là trong vòng lặp " Console.WriteLine(i); Lê Viết Mẫn - lvman@hce.edu.vn 8 Các cấu trúc điều khiển 2 Sunday, October 28, 12
  9. Chú ý • Lỗi. Biến i vượt quá phạm vi for (int i = 0; i < 10; i++) " Console.WriteLine(i); if (i >= 0) " Console.Write("i is big\n"); • Không có lỗi vì biến i được khai báo bên ngoài int i; for (i = 0; i < 10; i++) " Console.WriteLine(i); if (i >= 0) " Console.Write("i is big\n"); • Biến i thứ hai là một biến mới for (int i = 0; i < 10; i++) " Console.WriteLine(i); for (int i = 0; i < 20; i++) " Console.WriteLine(i); Lê Viết Mẫn - lvman@hce.edu.vn 9 Các cấu trúc điều khiển 2 Sunday, October 28, 12
  10. Ví dụ - tính giai thừa Viết chương trình tính n! (n giai thừa) ⎧ 1 n=0 n! = ⎨ ⎩ 1* 2 * ..* n n ≥ 1 Lê Viết Mẫn - lvman@hce.edu.vn 10 Các cấu trúc điều khiển 2 Sunday, October 28, 12
  11. For lồng nhau float windChillIndex; Console.WriteLine("TABLE OF WIND-CHILL INDICES"); Console.Write("degrees F:"); for (int j = 5; j >= -6; j--) Console.Write("{0,5}",10*j); // tieu de cot Console.Write("\n\n"); for (int i = 0; i = -6; j--) { if (i
  12. Kết quả TABLE OF WIND-CHILL INDICES degrees F: 50 40 30 20 10 0 -10 -20 -30 -40 -50 -60 0 mph: 5 4 3 2 1 0 -1 -2 -3 -4 -5 -6 5 mph: 5 4 3 2 1 0 -1 -2 -3 -4 -5 -6 10 mph: 5 4 3 2 1 0 -1 -2 -3 -4 -5 -6 15 mph: 5 4 3 2 1 0 -1 -2 -3 -4 -5 -6 20 mph: 5 4 3 2 1 0 -1 -2 -3 -4 -5 -6 25 mph: 0 -1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 30 mph: -3 -5 -6 -7 -8 -9 -10 -11 -12 -13 -14 -16 35 mph: -7 -8 -9 -10 -11 -13 -14 -15 -16 -17 -18 -19 40 mph: -10 -11 -12 -13 -15 -16 -17 -18 -19 -20 -22 -23 45 mph: -13 -14 -15 -16 -17 -19 -20 -21 -22 -24 -25 -26 50 mph: -15 -16 -18 -19 -20 -21 -23 -24 -25 -26 -28 -29 Lê Viết Mẫn - lvman@hce.edu.vn 12 Các cấu trúc điều khiển 2 Sunday, October 28, 12
  13. Ví dụ • Viết chương trình in ra bảng tính nhân dạng sau : MULTIPLICATION TABLE 1 2 3 4 ... 12 2 4 6 8 ... 24 3 6 9 12 ... 36 . . . . . . . . . . . . . . . 12 24 36 48 ... 144 Lê Viết Mẫn - lvman@hce.edu.vn 13 Các cấu trúc điều khiển 2 Sunday, October 28, 12
  14. while Trong khi điều kiện còn hiệu lực (true) thì tiếp tục làm việc này while (condition) ! statement; false condition • Điều kiện được đặt ở đầu vòng lặp true • statement có thể không được thực hiện lần nào statement • statement phải chứa câu lệnh làm thay đổi condition In ra các số từ 0 đến 9, mỗi số trên một dòng int n = 0; int n = 0; while (n < 10) while (n < 10) " Console.WriteLine(n++); { " Console.WriteLine(n); n = n + 1; } Lê Viết Mẫn - lvman@hce.edu.vn 14 Các cấu trúc điều khiển 2 Sunday, October 28, 12
  15. Ví dụ In ngược các số từ 100 đến 1, mỗi số trên một dòng int n = 100; while (n > 0) " Console.WriteLine(n--); Nhận vào ngày tháng năm, nếu ngày tháng nhập vào không hợp lệ thì yêu cầu nhập lại getDate(m, d, y); while (!isLegalDate(m, d, y)) { " Console.Write("Not a valid date, try again.\n\n"); " getDate(m, d, y); } Lê Viết Mẫn - lvman@hce.edu.vn 15 Các cấu trúc điều khiển 2 Sunday, October 28, 12
  16. do Chạy cái gì đó trong khi điều kiện đang còn hiệu lực (true) do { statement ! statement; } while (condition); true condition • Điều kiện được đặt ở cuối vòng lặp false • statement được thực hiện ít nhất một lần • statement phải chứa câu lệnh làm thay đổi condition In ra các số từ 0 đến 9, mỗi số trên một dòng int n = 0; do { Console.WriteLine(n++); }while (n < 10); Lê Viết Mẫn - lvman@hce.edu.vn 16 Các cấu trúc điều khiển 2 Sunday, October 28, 12
  17. Ví dụ Đếm số chữ số của một số int numberOfDigits = 0; int rest = number; do { " rest = rest / 10; " numberOfDigits++; } while (rest != 0); Lê Viết Mẫn - lvman@hce.edu.vn 17 Các cấu trúc điều khiển 2 Sunday, October 28, 12
  18. So sánh Câu lệnh for while do Lưu đồ Số lần lặp Xác định Không xác định Không xác định Số lần lặp 0 0 1 tối thiểu Lê Viết Mẫn - lvman@hce.edu.vn 18 Các cấu trúc điều khiển 2 Sunday, October 28, 12
  19. Ngắt vòng lặp • Lệnh break; • kết thúc vòng lặp chứa lệnh này (chương trình tiếp tục với các câu lệnh sau vòng lặp này) • Lệnh continue; • bỏ qua các lệnh còn lại trong vòng lặp • tiếp tục với bước lặp tiếp theo • Lệnh for : thực hiện bước cập nhật rồi kiểm tra • Lệnh while và do : thực hiện bước kiểm tra • Lệnh Environment.Exit(int); • Thoát khỏi chương trình Lê Viết Mẫn - lvman@hce.edu.vn 19 Các cấu trúc điều khiển 2 Sunday, October 28, 12
  20. Ví dụ - ngắt vòng lặp Sắp xếp lại mảng sao cho, giá trị ở phần đầu lớn hơn v, phần sau nhỏ hơn v for (;;) { " while (a[++i] < v); " while (a[--j] > v); " " if (j 0; n--) { " if (n==5) continue; " Console.Write("{0}, ", n); } Lê Viết Mẫn - lvman@hce.edu.vn 20 Các cấu trúc điều khiển 2 Sunday, October 28, 12
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2