Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 30 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
30
Dung lượng
700,58 KB
Nội dung
Lê Viết Mẫn - lvman@hce.edu.vn
Các cấutrúcđiềukhiển 2
v 1.0 - 10/2012
Các cấutrúcđiều khiển
(phần 2)
1
Sunday, October 28, 12
Lê Viết Mẫn - lvman@hce.edu.vn
Các cấutrúcđiềukhiển 2
chúng ta đã học
2
Tuần tự
Rẽ nhánh
Câu lệnh if, switch
Sunday, October 28, 12
Lê Viết Mẫn - lvman@hce.edu.vn
Các cấutrúcđiềukhiển 2
chúng ta sẽ học
3
Lặp
Câu lệnh for, while, do
Sunday, October 28, 12
Lê Viết Mẫn - lvman@hce.edu.vn
Các cấutrúcđiềukhiển 2
Enum
•
Khai báo enum là thành phần của lớp
•
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
•
Nhập vào chuỗi ký tự của một thành phần trong kiểu enum
4
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
Console.Write("Nhap vao thu dang chuoi :"); // Nhập vào chuỗi “Sunday”
day = (Weekday)Enum.Parse(typeof(Weekday), Console.ReadLine());
class Program {
enum Weekday {Sunday, Monday, Tuesday, Wednesday, Thursday,
Friday, Saturday};
static void Main(string[] args)
{
Sunday, October 28, 12
Lê Viết Mẫn - lvman@hce.edu.vn
Các cấutrúcđiềukhiển 2
Iteration structures
Lệnh lặp : for, while, do
5
Sunday, October 28, 12
Lê Viết Mẫn - lvman@hce.edu.vn
Các cấutrúcđiềukhiển 2
6
for
for (statement_1; condition; statement_2)
! statement_3
statement_1
condition
true
false
statement_2
statement_3
•
Có thể bỏ qua các thành phần trong vòng
lặp for
•
statement_1 được dùng để khởi tạo và chỉ
được thực hiện 1 lần
•
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
Sunday, October 28, 12
Lê Viết Mẫn - lvman@hce.edu.vn
Các cấutrúcđiềukhiển 2
7
for
for (statement_1; condition; statement_2)
! statement_3
statement_1
condition
true
false
statement_2
statement_3
for (int i = 0; i < 10; i++)
Console.WriteLine(i);
In ra các số từ 0 đến 9, mỗi số trên một dòng
Sunday, October 28, 12
Lê Viết Mẫn - lvman@hce.edu.vn
Các cấutrúcđiềukhiển 2
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);
Sunday, October 28, 12
Lê Viết Mẫn - lvman@hce.edu.vn
Các cấutrúcđiềukhiển 2
9
Chú ý
•
Lỗi. Biến i vượt quá phạm vi
•
Không có lỗi vì biến i được khai báo bên ngoài
•
Biến i thứ hai là một biến mới
for (int i = 0; i < 10; i++)
" Console.WriteLine(i);
if (i >= 0)
" Console.Write("i is big\n");
int i;
for (i = 0; i < 10; i++)
" Console.WriteLine(i);
if (i >= 0)
" Console.Write("i is big\n");
for (int i = 0; i < 10; i++)
" Console.WriteLine(i);
for (int i = 0; i < 20; i++)
" Console.WriteLine(i);
Sunday, October 28, 12
Lê Viết Mẫn - lvman@hce.edu.vn
Các cấutrúcđiềukhiển 2
10
Ví dụ - tính giai thừa
Viết chương trình tính n! (n giai thừa)
n! =
1 n = 0
1* 2 * * n n ≥ 1
"
#
$
Sunday, October 28, 12
[...]... -19 -23 -26 -29 Cáccấutrúcđiềukhiển 2 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 2 4 6 8 3 6 9 12 12 24 36 48 Lê Viết Mẫn - lvman@hce.edu.vn Sunday, October 28, 12 13 12 24 36 144 Cáccấutrúcđiềukhiển 2 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; • condition Điều kiện được... thức và hàm Có thể thay đổi giá trị các biến Có thể cho thực thi tiếp từng dòng lệnh trong đoạn mã Sử dụng thanh công cụ Debug • Mỗi breakpoint còn hỗ trợ các Hit Count và Condition Lê Viết Mẫn - lvman@hce.edu.vn Sunday, October 28, 12 29 Các cấutrúcđiềukhiển 2 Cảm ơn sự chú ý Câu hỏi ? Lê Viết Mẫn - lvman@hce.edu.vn Sunday, October 28, 12 30 Các cấutrúcđiềukhiển 2 ... firstSaturday = 7 - firstWeekdayOfMonth; Lê Viết Mẫn - lvman@hce.edu.vn Sunday, October 28, 12 23 Các cấutrúcđiềukhiển 2 Debugging Gỡ lỗi Xem thêm tại Chương 3, sách Lập trình Visual C# thế nào ? Tập 1 (Dương Quang Thiện) Lê Viết Mẫn - lvman@hce.edu.vn Sunday, October 28, 12 24 Các cấutrúcđiềukhiển 2 Các loại lỗi (bug) • • • Lỗi cú pháp - syntax error • • • Lỗi lúc biên dịch - Compile-time error... lvman@hce.edu.vn Sunday, October 28, 12 20 Các cấutrúcđiềukhiển 2 Ví dụ 1 - máy tính Viết chương trình cho phép thực hiện các phép tính cộng, trừ, nhân, chia cho hai số được nhập vào từ bàn phím Chương trình sẽ lặp lại việc tính toán này cho đến khi người sử dụng bấm ký tự E hoặc e (Exit) Lê Viết Mẫn - lvman@hce.edu.vn Sunday, October 28, 12 21 Cáccấutrúcđiềukhiển 2 Ví dụ 2 - in lịch Viết chương... Console.WriteLine(n++); }while (n < 10); Lê Viết Mẫn - lvman@hce.edu.vn Sunday, October 28, 12 16 Cáccấutrúcđiềukhiển 2 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 Sunday, October 28, 12 17 Cáccấutrúcđiềukhiển 2 So sánh for while do Số lần lặp Xác định Không xác định Không xác định Số... lvman@hce.edu.vn Sunday, October 28, 12 26 Cáccấutrúcđiềukhiển 2 Các lệnh điềukhiển gỡ lỗi if (expression) { " cout . Mẫn - lvman@hce.edu.vn Các cấu trúc điều khiển 2 v 1.0 - 10/2012 Các cấu trúc điều khiển (phần 2) 1 Sunday, October 28, 12 Lê Viết Mẫn - lvman@hce.edu.vn Các cấu trúc điều khiển 2 chúng ta đã học. Mẫn - lvman@hce.edu.vn Các cấu trúc điều khiển 2 chúng ta sẽ học 3 Lặp Câu lệnh for, while, do Sunday, October 28, 12 Lê Viết Mẫn - lvman@hce.edu.vn Các cấu trúc điều khiển 2 Enum • Khai báo. Mẫn - lvman@hce.edu.vn Các cấu trúc điều khiển 2 Iteration structures Lệnh lặp : for, while, do 5 Sunday, October 28, 12 Lê Viết Mẫn - lvman@hce.edu.vn Các cấu trúc điều khiển 2 6 for for (statement_1;