Bài giảng Tin đại cương - Bài 4: Các cấu trúc điều khiển - Nguyễn Thị Phương Thảo

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à continueCấ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ự

pdf 32 trang yennguyen 6480
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Tin đạ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 hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Bài giảng Tin đại cương - Bài 4: Các cấu trúc điều khiển - Nguyễn Thị Phương Thảo

Bài giảng Tin đạ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
1
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
Các cấu trúc điều khiển
3
 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
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
Điều 
kiện
sai
Công việc
đúng
Câu lệnh IF
Cú pháp :
if ()
{
}
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
Điều 
kiện
Công việc 1
đúng
sai
Cú pháp:
if ()
{
}
else
{
}
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 
Công việc 2
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 : ; 
case : ;
break ; 
break ;
. . .
case : ; 
default : ;
break;
}
 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
Bài 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
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
14
 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
Cấu trúc lặp
15
 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
Vòng lặp FOR
Khởi tạo
Điều kiện
công việc
thay đổi
đúng
sai
Cú pháp :
for ( ; ; )
{
}
Quá trình thực hiện
1. : gán giá trị ban đầu cho biến điều
khiển
2. Kiểm tra (biểu thức logic). Nếu sai :
dừng lặp
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)
5. Quay về bước 2
16
for (int a=10; a>=0; a--) { công việc} 
Hoặc
for (int a=0; a<=10; a++) {công việc}
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
Điều kiện
công việc
đúng
21
sai
Cú pháp :
while ()
{
}
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
Vòng lặp WHILE
22
 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ếubiể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
Vòng lặp WHILE - ví dụ
23
int a = 10; 
while (a > = 0)
{
cout << a << endl; 
a− − ;
}
 Khởi tạo giá trị của abằng10
 Khi a vẫ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 
Vòng lặp WHILE - ví dụ
24
 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;
}
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.
Ví dụ
4. Vòng lặp DO-WHILE
Điều
kiện
công việcc
đúng
sai
Cú pháp :
do
{
}
while () ;
Quá trình thực hiện
1. Thực hiện 
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
28
 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
Khác nhau giữa DO-WHILE và WHILE
29
 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 :
while ()
{
}
Cú pháp :
do
{
}
while () ;
Vòng lặp DO-WHILE – Làm lại ví dụ trên
30
5. Từ khoá break và continue
31
◮ 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
6. Bài tập
32
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.

File đính kèm:

  • pdfbai_giang_tin_dai_cuong_bai_4_cac_cau_truc_dieu_khien_nguyen.pdf