Bài giảng Tin học đại cương - Bài 4: Các cấu trúc điều khiển cung cấp cho người học các kiến thức: 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. Mời các bạn cùng tham khảo nội dung chi tiết.
Trang 1T IN ĐẠ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 CNTTTrường Đại học Thủy Lợi
Trang 2Các cấu trúc điều khiển
Trang 3Cấ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ự
Trang 6Với x là số nguyên được nhập từ bàn phím
Trang 7Câu lệnh SWITCH
switch(<biểu thức>)
{
case <giá trị 1> : <công việc 1> ;
case <giá trị 2> : <công việc 2> ; break break ; ;
case <giá trị n> : <công việc n> ;
default : <công việc mặc định> ;
break;
}
Chú ý
- <biểu thức> 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 <công việc> !
- Không bắt buộc phải có default
- Có thể gom nhiều <giá trị> để thực hiện một <công việc>
Trang 8Ví 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
Trang 9Bài 1
Trang 10Ví 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”.
Trang 11Bài 2
Trang 12Bài 2: xử lý khi nhập ký tự in thường
Trang 13Bài 2: xử lý khi nhập ký tự in thường
Trang 14Cấ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ênlớ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ôngviệc nào đó cho đến khi thỏa mãn một điều kiện
Trang 15Cấ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ặpfor,while vàdo-while
Trang 163 Thực hiện <công việc> (một lệnh hoặc khối lệnh)
4 Thực hiện <thay đổi> (tăng hoặc giảm giá trị biến điều khiển)
Trang 17Ví dụ: đoạn chương trình sau thực hiện công việc gì
Trang 19Ví dụ
Nhập vào một số nguyên dương n, tính tổng các số
Trang 211 Kiểm tra <điều kiện> Nếu sai : dừng lặp
2 Thực hiện <công việc>
3 Quay về bước 1
Trang 22Vòng lặp WHILE
Vònglặp While được dùng khi không biết chính xác số lầnlặ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áclệnh trong khối <công việc> có thể không được thực hiệnlần nào nếubiểuthức<điều kiện> sai ngay từ đầu
Trong <công việc> thường có ít nhất một lệnh ảnh hưởngđến giá trị của biểu thức <điều kiện>, làm cho biểu thức
<điều kiện> đang đúng trở thành sai
Lỗi hay gặp: vòng lặp vô hạn
Trang 23 Khởi tạo giá trị của abằng10
Khi avẫn còn lớn hơn hoặc bằng 0 thì làm công việc sau
1 In ra màn hình giá trị của a
2 Bớt a đi 1, lệnh này ảnh hưởng đến giá trị của biểu thức <điều kiện>
Trang 25Ví 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.
Trang 26Ví dụ
Trang 271 Thực hiện <công việc>
2 Kiểm tra <điều kiện> Nếu sai: dừng lặp
3 Quay về bước 1
Trang 28Khá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ông việc> đượ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
Trang 29Khá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ông việc> đượ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
Trang 30Vòng lặp DO-WHILE – Làm lại ví dụ trên
Trang 315 Từ khoá break và continue
hiện tại để tiếp tục bước lặp mới
Trang 326 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ấutrúclặp khác nhau : do-while, while, for