Ngôn ngữ lập trình C# - Chương 3: Cấu trúc điều khiển

Tuần tự thực thi tiến trình, mỗi lệnh được thực thi

theo một chuỗi từ trên xuống, xong lệnh này rồi

 chuyển xuống lệnh kế tiếp.

 

pptx64 trang | Chia sẻ: Mr Hưng | Lượt xem: 797 | Lượt tải: 0download
Bạn đang xem trước 20 trang nội dung tài liệu Ngôn ngữ lập trình C# - Chương 3: Cấu trúc điều khiển, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
CHƯƠNG 3 CẤU TRÚC ĐIỀU KHIỂN1TRẦN MINH THÁIEmail: minhthai@itc.edu.vnWebsite: www.minhthai.edu.vn Cấu trúc điều khiển2TUẦN TỰRẼ NHÁNH CÓ ĐIỀU KIỆNLỰA CHỌNLẶPLệnh 1;Lệnh 2;Lệnh 3;.ifif elseswitch caseforwhiledo whileCấu trúc tuần tựTuần tự thực thi tiến trình, mỗi lệnh được thực thi theo một chuỗi từ trên xuống, xong lệnh này rồi chuyển xuống lệnh kế tiếp.34 void main() { int a, b, tong, hieu, tich; float thuong; printf("Nhap vao a: “); scanf(“%d”, &a); printf("Nhap vao b: “); scanf(“%d”, &b); tong = a + b; hieu = a - b; tich = a * b; thuong = (float)a / b; //Ép kiểu printf("Tong: %d\n“, tong); printf("Hieu: %d\n”, hieu); printf(“Tich: %d\n“, tich); printf("Thuong: %f“, thuong); }5 void main() { int a, b, tong, hieu, tich; float thuong; cout>a; cout>b; tong = a + b; hieu = a - b; tich = a * b; thuong = (float)a / b; //Ép kiểu cout ;}Nếu biểu thức điều kiện cho kết quả true thì thực hiện khối lệnh bên trong if. 6Ví dụ: Viết chương trình nhập vào một số nguyên n, in ra giá trị tuyệt đối của n7void main(){ int n; printf(“Nhap mot so nguyen: “); scanf(“%d”, &n); if (n>n; if (n;}else{ ;}Nếu biểu thức điều kiện cho kết quả true thì thực hiện khối lệnh 1, ngược lại thì cho thực hiện khối lệnh thứ 29VD: Nhập vào 2 số nguyên a và b, nếu a là bội số của b thì in thông báo “a là bội số của b”, ngược lại in “a khong la boi so cua b”10printf(“Nhap vao a: “);scanf(“%d”, &a);printf(“Nhap vao b: “);scanf(“%d”, &b);{ printf(“a la boi so cua b“);}else{ printf(“a khong la boi so cua b“);}if(a%b==0)void main(){ int a, b; printf(“Nhap vao a: “); scanf(“%d”, &a); printf(“Nhap vao b: “); scanf(“%d”, &b);11 if(a%b= =0) { printf(“a la boi so cua b”); } else { printf(“a khong la boi so cua b”); }}VD: Nhập vào 2 số nguyên a và b, nếu a là bội số của b thì in thông báo “a là bội số của b”, ngược lại in “a khong la boi so cua b”12cout>a;cout>b;{ cout>a; cout>b;13 if(a%b= =0) { cout>a; cout>b;16 if (a == 0) { if (b == 0) { cout0). Cho biết năm này có phải là năm nhuận hay không? In kết quả ra màn hình.209. Tính tiền cước TAXI. Biết rằng: km đầu tiên là 13000đ. mỗi km tiếp theo là 12000đ. từ km 30 trở lên thì mỗi km thêm sẽ là 11000đ. Hãy nhập số km sau đó in ra số tiền phải trả.10. Nhập vào 3 số nguyên dương. Kiểm tra xem 3 số đó có lập thành tam giác không? Nếu có hãy cho biết tam giác đó thuộc loại nào? (Cân, vuông, đều, ).11. Nhập vào số nguyên dương n. Kiểm tra xem n có phải là số chính phương hay không? (số chính phương là số khi lấy căn bậc 2 có kết quả là nguyên).21Cấu trúc lựa chọnswitch (biểu thức) case n1: các câu lệnh ; break ; case n2: các câu lệnh ; break ; case nk: ; break ; [default: các câu lệnh] 22Trường hợp giá trị biểu thức bằng n1Trường hợp giá trị biểu thức bằng n2Các trường hợp còn lại (nếu có)Với:ni là các hằng số nguyên hoặc ký tự.Phụ thuộc vào giá trị của biểu thức viết sau switch, nếu:Giá trị này = ni thì thực hiện câu lệnh sau case ni.Khi giá trị biểu thức không thỏa tất cả các ni thì thực hiện câu lệnh sau default nếu có, hoặc thoát khỏi câu lệnh switch.23Khi chương trình đã thực hiện xong câu lệnh của case ni nào đó thì nó sẽ thực hiện luôn các lệnh thuộc case bên dưới nó mà không xét lại điều kiện (do các ni được xem như các nhãn)  Vì vậy, để chương trình thoát khỏi lệnh switch sau khi thực hiện xong một trường hợp, ta dùng lệnh break.24Ví dụ: Nhập vào số nguyên n có giá trị từ 1 đến 5. In cách đọc của số đó ra màn hình.void main(){ int n; printf("Nhap vao n (1>n; switch (n) { case 1: cout;while () lệnh/ khối lệnh; ;29Vòng lặp whileKhởi gán: Dùng để khởi gán giá trị ban đầu cho vòng lặpĐiều kiện lặp: Dùng để kiểm tra điều kiện trước khi thực hiện vòng lặpCập nhật: Dùng để cập nhật vòng lặp (tăng hoặc giảm chỉ số lặp) 30Bước 1: Khởi gán Bước 2: Kiểm tra điều kiện ― Nếu điều kiện bằng true thì cho thực hiện các lệnh của vòng lặp, thực hiện cập nhật vòng lặp. Quay trở lại bước 2. ― Ngược lại thoát khỏi lặp.31Ví dụ: In ra màn hình 10 dòng chữ “Xin chao”void main(){ int dong = 1; while(dong >n; while(dong ;;){ ;} Lưu ý: Cách hoạt động giống while35Ví dụ: In ra màn hình 10 dòng chữ “Xin chao”void main(){ for (int dong = 1; dong 03738void main(){int n, s=0;printf("Nhap so nguyen duong n: “);scanf(“%d”, &n);for(int i=1; i>n;for(int i=1; i;do{ ; ;} while (điều kiện);Vòng lặp do while Thực hiện khối lệnh cho đến khi biểu thức có giá trị bằng false. Cấu trúc lặp dowhile thường được dùng cho trường hợp nhập dữ liệu có kiểm tra điều kiện41Ví dụ: Nhập vào một số nguyên dương, nếu nhập sai thì thông báo lỗi và yêu cầu nhập lại.void main(){ int n; do{ printf("Nhap vao mot so nguyen duong: “); scanf(“%d”, &n); if (n >n; if (n >n; if (n 0){ if(i%2 == 0) s+=i; else if(i > 5) s+=2*i; i--;}printf(“s = %d”, s);//cout 20) break; }printf(“s = %d”, s); //cout1)19. In hình chữ nhật có kích thước cd x cr20. In hình tam giác vuông có chiều cao h57Dùng công cụ debug xác định lỗi/ kết quả chương trìnhDùng để xác định lỗi logic (lỗi giải thuật) trong chương trình. Mặc dù chương trình không còn lỗi nhưng khi chạy chương trình vẫn ra kết quả sai, những lỗi đó có thể là: Dùng chấm phẩy sau: if, else, for, while mà chưa thực hiện lệnh;Không dùng cặp dấu ngoặc ({}) để bao khối lệnh;58DÙNG CÔNG CỤ DEBUG XÁC ĐỊNH LỖI/ KẾT QUẢ CHƯƠNG TRÌNHKhai báo sai kiểu dữ liệu, không ép kiểu dữ liệu;Chia cho 0;Không có điều kiện dừng (điều kiện dừng sai);Phân tích giải thuật thiếu (chưa vét hết các trường hợp) hoặc sai;59Bước 1: Đặt dấu nháy vào vị trí bắt đầu cần kiểm tra lỗi 60Bước 2: Nhấn phím Ctrl + F1061Quan sát vị trí dấu mũi tên trên cửa sổ viết code để xác định dòng lệnh đang thực hiện.Cửa sổ Locals (View\ Debug Windows\ Variables hoặc nhấn phím Alt+4) sẽ thể hiện tên (name), giá trị (value) và kiểu (type) của các biến cục bộ trong đoạn chương trình. Cửa sổ Watch (View\ Debug Windows\ Watch hoặc nhấn Alt+3) cũng có thể quan sát chi tiết biến tương tự như cửa sổ Locals, nhưng chỉ thể hiện những biến nào mà ta nhập tên biến tương ứng vào cửa sổ này. 62Bước 3: Nhấn phím F10 để thực hiện lệnh kế tiếp (hoặc hàm kế tiếp). Nếu muốn xem lệnh thực hiện bên trong của hàm thì nhấn phím F11 (nếu lệnh là lời gọi thực hiện hàm – lưu ý: không nên nhấn phím F11 khi thực hiện các hàm thư viện (ví dụ: cin, cout) 63Q&A64

Các file đính kèm theo tài liệu này:

  • pptxchuong3_cautrucdieukhienc_2676.pptx