Bài giảng Tin học đại cương - Bài 4: Các cấu trúc điều khiển - Nguyễn Thị Phương Thảo
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Tin học đại cương - Bài 4: Các cấu trúc điều khiển - Nguyễn Thị Phương Thảo", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Tài liệu đính kèm:
- bai_giang_tin_hoc_dai_cuong_bai_4_cac_cau_truc_dieu_khien_ng.pdf
Nội dung text: Bài giảng Tin học đại cương - Bài 4: Các cấu trúc điều khiển - Nguyễn Thị Phương Thảo
- TIN ĐẠI CƯƠNG Bài 4: CÁC CẤU TRÚC ĐIỀU KHIỂN Ths. Nguyễn Thị Phương Thảo Bộ môn Kỹ thuật máy tính và mạng, Khoa CNTT Trường Đại học Thủy Lợi 1
- Các cấu trúc điều khiển Cấu trúc tuần tự Cấu trúc rẽ nhánh Cấu trúc lặp Từ khoá break và continue 3
- Cấu trúc tuần tự . Các lệnh được lần lượt thực hiện . Tất cả các chương trình học đến thời điểm này đều theo cấu trúc tuần tự
- Câu lệnh rẽ nhánh Câu lệnh IF đúng Cú pháp : Điều kiện if ( ) sai { Công việc } Quá trình thực hiện 1.Kiểm tra (biểu thức logic). Nếu sai : bỏ qua 2.Thực hiện (một lệnh hoặc khối lệnh)
- Câu lệnh IF-ELSE Cú pháp: if ( ) { đúng Điều kiện } sai else { Công việc 2 Công việc 1 } Quá trình thực hiện 1.Kiểm tra . Nếu sai : chuyển đến bước 3 2.Thực hiện và bỏ qua bước 3 3.Thực hiện
- Bài tập 1. Nhập vào một số n từ bàn phím và kiểm tra xem n có là số chẵn. In câu trả lời ra màn hình 2. Viết chương trình nhập vào 3 số thực. In ra màn hình số lớn nhất trong 3 số 3. Viết chương trình tính và in ra màn hình giá trị biểu thức sau: + 1 3 Với x là số nguyên được nhập từ bàn phím
- Câu lệnh SWITCH . Cú pháp switch( ) { case : ; break ; case : ; break ; . . . case : ; break; default : ; } . Chú ý - phải có kiểu nguyên hoặc kí tự - Không được phép quên lệnh break đằng sau mỗi ! - Không bắt buộc phải có default - Có thể gom nhiều để thực hiện một
- Ví dụ Viết chương trình C++ để nhập số nguyên dương n và in ra số dư của phép chia n cho 4: Ví dụ nhập n=13, In ra màn hình dòng 13 chia 4 dư 1
- Ví dụ Bài 2 Viết chương trình nhập vào 1 ký tự (A,B, C, D, F), hiển thị kết quả điểm đạt của bạn (4, 3, 2, 1, 0) tương ứng với ký tự nhập vào. Các trường hợp khác ghi “Không phải là điểm trong thang điểm 4”.
- Bài 2: xử lý khi nhập ký tự in thường
- Bài 2: xử lý khi nhập ký tự in thường
- Cấu trúc lặp . Ví dụ : Nhập dữ liệu điểm môn Tin học đại cương cho 120 sinh viên lớp N03 và tính điểm trung bình của lớp. Nếu dùng cấu trúc tuần tự : - Khai báo 120 biến để lưu điểm của 120 sinh viên - Viết 120 lần lệnh nhập dữ liệu - Viết 120 lần lệnh cộng các biến . Vấn đề : chương trình quá dài, nhàm chán, rất dễ phát sinh lỗi, không tổng quát hóa → Giải pháp : sử dụng cấu trúc lặp, làm lặp đi lặp lại công việc nào đó cho đến khi thỏa mãn một điều kiện 14
- Cấu trúc lặp . Có hai kiểu lặp thông dụng - lặp sử dụng biến đếm (biết trước số lần lặp), ví dụ : nhập điểm của 120 sinh viên - lặp sử dụng điều kiện dừng, ví dụ : nhập mật khẩu cho đến khi nhập đúng . Tương ứng với những kiểu lặp này, C++ cung cấp các lệnh lặp for, while và do-while 15
- Vòng lặp FOR Cú pháp : for ( ; ; ) Khởi tạo { sai Điều kiện } đúng Quá trình thực hiện 1. : gán giá trị ban đầu cho biến điều công việc khiển 2. Kiểm tra (biểu thức logic). Nếu sai : dừng lặp thay đổi 3. Thực hiện (một lệnh hoặc khối lệnh) 4. Thực hiện (tăng hoặc giảm giá trị biến điều khiển) for (int a=10; a>=0; a ) { công việc} 5. Quay về bước 2 Hoặc for (int a=0; a<=10; a++) {công việc} 16
- Ví dụ: đoạn chương trình sau thực hiện công việc gì
- 2. Vòng lặp FOR . Khởi gán a = 10 ; 10 có >= 0 không? → có → in ra 10 . Bớt a đi 1 → a = 9; 9 có >= 0 không? → có → in ra 9 . . . . . Bớt a đi 1 → a = 0; 0 có >= 0 không? → có → in ra 0 . Bớt a đi 1 → a = -1 ; -1 có >= 0 không ? → không → dừng vòng lặp, không in -1 ra màn hình 18
- Ví dụ Nhập vào một số nguyên dương n, tính tổng các số nguyên dương nhỏ hơn n.
- Vòng lặp FOR : ví dụ //tính tổng các số nguyên từ 10 đến 20 for (int i = 10, tong = 0 ; i <= 20 ; i++) { tong = tong + i ; } //vòng lặp này làm gì ? for (int i = 10, tich = 1 ; i <= 20 ; i = i+2) { tich = tich * i ; } 20
- 3. Vòng lặp WHILE Cú pháp : while ( ) sai { Điều kiện đúng } công việc Quá trình thực hiện 1. Kiểm tra . Nếu sai : dừng lặp 2. Thực hiện 3. Quay về bước 1 21
- Vòng lặp WHILE . Vòng lặp While được dùng khi không biết chính xác số lần lặp, chỉ biết điều kiện dừng . Chú ý khởi tạo các biến cần thiết trước khi vào vòng lặp . Các lệnh trong khối có thể không được thực hiện lần nào nếu biểuthức sai ngay từ đầu . Trong thường có ít nhất một lệnh ảnh hưởng đến giá trị của biểu thức , làm cho biểu thức đang đúng trở thành sai . Lỗi hay gặp: vòng lặp vô hạn 22
- Vòng lặp WHILE - ví dụ int a = 10 ; while (a >= 0) { cout 23
- Vòng lặp WHILE - ví dụ . Vòng lặp vô hạn int a = 10 ; while (a >= 0) { cout << a << endl ; } . Chương trình sau đây làm gì ? int a = n-1; while ( (n % a) != 0 ) { a = a - 1; } 24
- Ví dụ Viết chương trình nhập vào số nguyên dương N. Yêu cầu nhập lại nếu N <=0. In ra màn hình các số dương chia hết cho 4 nhỏ hơn N.
- 4. Vòng lặp DO-WHILE Cú pháp : do { công việcc } while ( ) ; đúng Điều Quá trình thực hiện kiện 1. Thực hiện sai 2. Kiểm tra . Nếu sai: dừng lặp 3. Quay về bước 1 27
- Khác nhau giữa DO-WHILE và WHILE . DO-WHILE: làm trước, kiểm tra điều kiện dừng sau, do đó được thực hiện ít nhất 1 lần . WHILE: kiểm tra điều kiện dừng trước, làm sau 28
- Khác nhau giữa DO-WHILE và WHILE . DO-WHILE: làm trước, kiểm tra điều kiện dừng sau, do đó được thực hiện ít nhất 1 lần . WHILE: kiểm tra điều kiện dừng trước, làm sau Cú pháp : Cú pháp : while ( ) do { { } while ( ) ; } 29
- Vòng lặp DO-WHILE – Làm lại ví dụ trên 30
- 5. Từ khoá break và continue ◮ break: được dùng khi cần thoát khỏi vòng lặp ◮ continue: được dùng khi cần dừng bước lặp hiện tại để tiếp tục bước lặp mới 31
- 6. Bài tập Bài 1 Nhập vào số nguyên dương n. Tính tổng các số từ 0 đến n. Viết ba hàm cùng làm công việc trên nhưng sử dụng các cấu trúc lặp khác nhau : do-while, while, for. Bài 2 Nhập vào số nguyên dương n. Tính giá trị của biểu thức X = 1 + 1/2 + 1/3 +. . . + 1/n. Bài 3 Nhập các số thực từ bàn phím cho đến khi tổng của chúng lớn hơn hoặc bằng 100 thì dừng. 32