Phùng Văn Minh -2009
1
Chương 5 – Các cấu trúc điều khiển: Phần 2
Chương 5 – Các cấu trúc điều khiển: Phần 2
Outline
5.1 Giới thiệu
5.2 Cơ bản về lệnh lặp có biến đếm
5.3 Câu lệnh for
5.4 Ví dụ về lệnh for
5.5 Cấu trúc chuyển mạch switch
5.6 Câu lệnh lặp do/while
5.7 Lệnh break và continue
5.8 Các toán tử logic và điều kiện
5.9 Tổng kết cấu trúc chương trình
Phùng Văn Minh -2009
2
5.2
5.2
Cơ bản về lệnh lặp có biến đếm
Cơ bản về lệnh lặp có biến đếm
•
Lệnh lặp có biến đếm
–
Biến điều khiển
•
Biến được sử dụng để xác định vòng lặp còn tiếp tục không
–
Giá trị khởi tạo của biến điều khiển
–
Sự tăng/giảm của biến
–
21 } // end class WhileCounter
1
2
3
4
5
Phùng Văn Minh -2009
4
5.3 Câu lệnh
5.3 Câu lệnh
for
for
•
Cấu trúc lệnh for
–
Cú pháp: for (Expression1, Expression2, Expression3)
•
Expression1 = tên biến điều khiển
–
Có thể chứa nhiều biến
•
Expression2 = điều kiện lặp
•
Expression3 = tăng hoặc giảm biến điều khiển
–
Nếu Expression1 có nhiều biến, Expression3 phải có các
biến tương ứng
–
++counter và counter++ là như nhau
–
Xác định xem biến
điều khiển đã tới
giá trị cuối chưa.
counter <= 10
Console.WriteLine
( counter * 10 );
true
false
int counter = 1
Thân lệnh lặp thường
nhiều lệnh nhỏ
Tăng biến đếm.
Hình 5.4 Sơ đồ khối của lệnh for.
Phùng Văn Minh - 2009.
Outline
7
ForCounter.cs
ForCounter.cs
Program Output
Program Output
1 // Hình 5.2: ForCounter.cs
2 // Counter-controlled repetition with the for structure.
3
4 using System;
5
6 class ForCounter
7 {
8 static void Main( string[] args )
–
Các nút - Buttons
•
OK – nút OK
•
OKCancel - 2 nút OK và Cancel
•
YesNo – 2 nút Yes và No
•
AbortRetryIgnore – 3 nút Arbort, Retry và Ignore
•
YesNoCancel – 3 nút Yes, No và Cancel
•
RetryCancel - 2 nút Retry và Cancel
Phùng Văn Minh -2009
9
5.4 Ví dụ sử dụng lệnh
5.4 Ví dụ sử dụng lệnh
for
for
•
Hộp thông báo - Massages boxes
–
Các biểu tương - Icons
•
Exclamation – Biểu tượng hình tam giác có dấu chấm
thang
•
Question – Biểu tượng hình dấu hỏi chấm
•
15
16 MessageBox.Show( "The sum is " + sum,
17 "Sum Even Integers from 2 to 100",
18 MessageBoxButtons.OK,
19 MessageBoxIcon.Information );
20
21 } // end method Main
22
23 } // end class Sum
Argument 4:
MessageBox Icon
(Optional)
Argument 3: OK dialog
button. (Optional)
Argument 2: Title bar
string (Optional)
Argument 1: Message
to display
Phùng Văn Minh -2009
11
5.4 Ví dụ sử dụng lệnh
5.4 Ví dụ sử dụng lệnh
for
for
MessageBox Ic ons Ic on Desc ription
MessageBoxIcon.Exclamation
Displays a dialog with an
exclamation point. Typically
for
for
Messag eBox Buttons Desc rip tion
MessageBoxButton.OK
Specifies that the dialog should include an
OK
button.
MessageBoxButton.OKCancel
Specifies that the dialog should include
OK
and
Cancel
buttons. Warns the user about some condition and allows
the user to either continue or cancel an operation.
MessageBoxButton.YesNo
Specifies that the dialog should contain
Yes
and
No
buttons. Used to ask the user a question.
MessageBoxButton.YesNoCancel
Specifies that the dialog should contain
Yes
,
No
and
Cancel
buttons. Typically used to ask the user a question
3
4 using System;
5 using System.Windows.Forms;
6
7 class Interest
8 {
9 static void Main( string[] args )
10 {
11 decimal amount, principal = ( decimal ) 1000.00;
12 double rate = .05;
13 string output;
14
15 output = "Year\tAmount on deposit\n";
16
17 for ( int year = 1; year <= 10; year++ )
18 {
19 amount = principal *
20 ( decimal ) Math.Pow( 1.0 + rate, year );
21
22 output += year + "\t" +
23 String.Format( "{0:C}", amount ) + "\n";
24 }
25
26 MessageBox.Show( output, "Compound Interest",
27 MessageBoxButtons.OK, MessageBoxIcon.Information );
28
29 } // end method Main
30
31 } // end class Interest
Phùng Văn Minh - 2009.
X
or
x
Formats the string as hexadecimal.
Fig. 5.9
string
forma tting c od es.
Phùng Văn Minh -2009
16
5.5 Cấu trúc
5.5 Cấu trúc
switch
switch
•
Câu lệnh switch
–
Biểu thức hằng
•
String – xâu ký tự
•
Số nguyên
–
Các trường hợp
•
Case ‘x’ :
–
Sử dụng các biến hằng
•
Các trường hợp rỗng
20 grade = Char.Parse( Console.ReadLine() );
21
22 switch ( grade )
23 {
24 case 'A': // grade is uppercase A
25 case 'a': // or lowercase a
26 ++aCount;
27 break;
28
29 case 'B': // grade is uppercase B
30 case 'b': // or lowercase b
31 ++bCount;
32 break;
33
Câu lệnh switch dùng biến grade để
kiểm tra.
case ‘A’ rổng nên trùng với
case ‘a’
Cả hai trường hợp đều tăng biến đếm aCount
Câu lệnh break thoát khỏi lệnh switch
Cả case ‘B’ và case ‘b’ đều thêm 1 cho biến
bCount
Vòng lặp for lặp 10 lần
Mỗi biến làm việc như biến đếm khởi
trị bằng 0
Phùng Văn Minh - 2009.
Outline
18
SwitchTest.cs
SwitchTest.cs
64 } // end method Main
65
66 } // end class SwitchTest
Nếu không trùng với các trường hợp trên thì
thực hiện trường hợp default
Hiện kết quả