tin ĐẠi cƯƠng - txnam.net giang/tin...trương xuân nam - khoa cntt 5 3.1 Đặt vấn đề 3...
TRANSCRIPT
![Page 1: TIN ĐẠI CƯƠNG - txnam.net Giang/Tin...Trương Xuân Nam - Khoa CNTT 5 3.1 Đặt vấn đề 3 cấu trúc cơ bản của xử lý máy tính: Tuần tự Đã học trong bài](https://reader033.vdocuments.pub/reader033/viewer/2022041505/5e24b5fc202e3d081810d1a1/html5/thumbnails/1.jpg)
Trương Xuân Nam - Khoa CNTT 1
TIN ĐẠI CƯƠNG
Bài 3: Vòng lặp
![Page 2: TIN ĐẠI CƯƠNG - txnam.net Giang/Tin...Trương Xuân Nam - Khoa CNTT 5 3.1 Đặt vấn đề 3 cấu trúc cơ bản của xử lý máy tính: Tuần tự Đã học trong bài](https://reader033.vdocuments.pub/reader033/viewer/2022041505/5e24b5fc202e3d081810d1a1/html5/thumbnails/2.jpg)
Trương Xuân Nam - Khoa CNTT 2
Nhắc lại nội dung bài trước
Các khái niệm cơ sở Định danh (identifier) / biến (variable)
Biểu thức (expression)
Phép gán
Vài kiểu dữ liệu cơ bản
Phân rã bài toán (vấn đề)
Hàm (function)
Nhập và xuất dữ liệu
![Page 3: TIN ĐẠI CƯƠNG - txnam.net Giang/Tin...Trương Xuân Nam - Khoa CNTT 5 3.1 Đặt vấn đề 3 cấu trúc cơ bản của xử lý máy tính: Tuần tự Đã học trong bài](https://reader033.vdocuments.pub/reader033/viewer/2022041505/5e24b5fc202e3d081810d1a1/html5/thumbnails/3.jpg)
Trương Xuân Nam - Khoa CNTT 3
Bài 3: Vòng lặp
Đặt vấn đề
Cách giải quyết bằng vòng lặp
Phép toán logic
Các cấu trúc lặp:
while do
for
do while
![Page 4: TIN ĐẠI CƯƠNG - txnam.net Giang/Tin...Trương Xuân Nam - Khoa CNTT 5 3.1 Đặt vấn đề 3 cấu trúc cơ bản của xử lý máy tính: Tuần tự Đã học trong bài](https://reader033.vdocuments.pub/reader033/viewer/2022041505/5e24b5fc202e3d081810d1a1/html5/thumbnails/4.jpg)
Trương Xuân Nam - Khoa CNTT 4
Bài 3: Vòng lặp
Đặt vấn đề
Cách giải quyết bằng vòng lặp
Phép toán logic
Các cấu trúc lặp:
while do
for
do while
![Page 5: TIN ĐẠI CƯƠNG - txnam.net Giang/Tin...Trương Xuân Nam - Khoa CNTT 5 3.1 Đặt vấn đề 3 cấu trúc cơ bản của xử lý máy tính: Tuần tự Đã học trong bài](https://reader033.vdocuments.pub/reader033/viewer/2022041505/5e24b5fc202e3d081810d1a1/html5/thumbnails/5.jpg)
Trương Xuân Nam - Khoa CNTT 5
3.1 Đặt vấn đề
3 cấu trúc cơ bản của xử lý máy tính:
Tuần tự Đã học trong bài vừa xong
Lặp Chương 3
Lựa chọn Chương 4
Nhiều thuật toán trong cuộc sống về bản chất đã có tính lặp:
Tính tổng dãy số
Các phương pháp tính xấp xỉ
Các phương pháp thử sai
![Page 6: TIN ĐẠI CƯƠNG - txnam.net Giang/Tin...Trương Xuân Nam - Khoa CNTT 5 3.1 Đặt vấn đề 3 cấu trúc cơ bản của xử lý máy tính: Tuần tự Đã học trong bài](https://reader033.vdocuments.pub/reader033/viewer/2022041505/5e24b5fc202e3d081810d1a1/html5/thumbnails/6.jpg)
Trương Xuân Nam - Khoa CNTT 6
3.1 Đặt vấn đề
Một số bài toán giản đơn có thể giải quyết bằng phương pháp tuần tự, tuy nhiên có nhiều bật cập:
Chương trình dài, nhàm chán
Không thể tổng quát hóa
![Page 7: TIN ĐẠI CƯƠNG - txnam.net Giang/Tin...Trương Xuân Nam - Khoa CNTT 5 3.1 Đặt vấn đề 3 cấu trúc cơ bản của xử lý máy tính: Tuần tự Đã học trong bài](https://reader033.vdocuments.pub/reader033/viewer/2022041505/5e24b5fc202e3d081810d1a1/html5/thumbnails/7.jpg)
Trương Xuân Nam - Khoa CNTT 7
Bài 3: Vòng lặp
Đặt vấn đề
Cách giải quyết bằng vòng lặp
Phép toán logic
Các cấu trúc lặp:
while do
for
do while
![Page 8: TIN ĐẠI CƯƠNG - txnam.net Giang/Tin...Trương Xuân Nam - Khoa CNTT 5 3.1 Đặt vấn đề 3 cấu trúc cơ bản của xử lý máy tính: Tuần tự Đã học trong bài](https://reader033.vdocuments.pub/reader033/viewer/2022041505/5e24b5fc202e3d081810d1a1/html5/thumbnails/8.jpg)
Trương Xuân Nam - Khoa CNTT 8
3.2 Cách giải quyết bằng vòng lặp
2 cách giải quyết: Sử dụng điều kiện dừng
Sử dụng biến đếm (bản chất là một điều kiện dừng đặc biệt)
Giải quyết được hạn chế của lời giải bằng tuần tự: Chương trình gắn ngọn
Tổng quát hóa cao
![Page 9: TIN ĐẠI CƯƠNG - txnam.net Giang/Tin...Trương Xuân Nam - Khoa CNTT 5 3.1 Đặt vấn đề 3 cấu trúc cơ bản của xử lý máy tính: Tuần tự Đã học trong bài](https://reader033.vdocuments.pub/reader033/viewer/2022041505/5e24b5fc202e3d081810d1a1/html5/thumbnails/9.jpg)
tong tong=tong+dem dem
0 tong=0+1 1
1 tong=1+2 2
3 tong=3+3 3
6 tong=6+4 4
10 tong=10+5 5
15 tong=15+6 6
![Page 10: TIN ĐẠI CƯƠNG - txnam.net Giang/Tin...Trương Xuân Nam - Khoa CNTT 5 3.1 Đặt vấn đề 3 cấu trúc cơ bản của xử lý máy tính: Tuần tự Đã học trong bài](https://reader033.vdocuments.pub/reader033/viewer/2022041505/5e24b5fc202e3d081810d1a1/html5/thumbnails/10.jpg)
Ví dụ 1
In ra các số từ 1 đến 100 mỗi số trên 1 dòng
Trương Xuân Nam - Khoa CNTT 10
![Page 11: TIN ĐẠI CƯƠNG - txnam.net Giang/Tin...Trương Xuân Nam - Khoa CNTT 5 3.1 Đặt vấn đề 3 cấu trúc cơ bản của xử lý máy tính: Tuần tự Đã học trong bài](https://reader033.vdocuments.pub/reader033/viewer/2022041505/5e24b5fc202e3d081810d1a1/html5/thumbnails/11.jpg)
Ví dụ 2
In ra các số từ 1 đến n mỗi số trên 1 dòng
Trương Xuân Nam - Khoa CNTT 11
![Page 12: TIN ĐẠI CƯƠNG - txnam.net Giang/Tin...Trương Xuân Nam - Khoa CNTT 5 3.1 Đặt vấn đề 3 cấu trúc cơ bản của xử lý máy tính: Tuần tự Đã học trong bài](https://reader033.vdocuments.pub/reader033/viewer/2022041505/5e24b5fc202e3d081810d1a1/html5/thumbnails/12.jpg)
Ví dụ 3
Tính tổng các số từ 1 đến n
Trương Xuân Nam - Khoa CNTT 12
![Page 13: TIN ĐẠI CƯƠNG - txnam.net Giang/Tin...Trương Xuân Nam - Khoa CNTT 5 3.1 Đặt vấn đề 3 cấu trúc cơ bản của xử lý máy tính: Tuần tự Đã học trong bài](https://reader033.vdocuments.pub/reader033/viewer/2022041505/5e24b5fc202e3d081810d1a1/html5/thumbnails/13.jpg)
Ví dụ 4
Nhập n và tính n!
Trương Xuân Nam - Khoa CNTT 13
![Page 14: TIN ĐẠI CƯƠNG - txnam.net Giang/Tin...Trương Xuân Nam - Khoa CNTT 5 3.1 Đặt vấn đề 3 cấu trúc cơ bản của xử lý máy tính: Tuần tự Đã học trong bài](https://reader033.vdocuments.pub/reader033/viewer/2022041505/5e24b5fc202e3d081810d1a1/html5/thumbnails/14.jpg)
Trương Xuân Nam - Khoa CNTT 14
Bài 3: Vòng lặp
Đặt vấn đề
Cách giải quyết bằng vòng lặp
Phép toán logic
Các cấu trúc lặp:
while do
for
do while
![Page 15: TIN ĐẠI CƯƠNG - txnam.net Giang/Tin...Trương Xuân Nam - Khoa CNTT 5 3.1 Đặt vấn đề 3 cấu trúc cơ bản của xử lý máy tính: Tuần tự Đã học trong bài](https://reader033.vdocuments.pub/reader033/viewer/2022041505/5e24b5fc202e3d081810d1a1/html5/thumbnails/15.jpg)
Trương Xuân Nam - Khoa CNTT 15
3.3 Phép toán logic
Các biểu thức logic là cơ sở để xây dựng điều kiện dừng lặp
Các phép toán so sánh: Các phép toán hai ngôi tạo ra kết quả logic (đúng/sai –true/false) Bằng nhau: == Khác nhau: != Lớn hơn: > Lớn hơn hoặc bằng: >= Nhỏ hơn: < Nhỏ hơn hoặc bằng: <=
![Page 16: TIN ĐẠI CƯƠNG - txnam.net Giang/Tin...Trương Xuân Nam - Khoa CNTT 5 3.1 Đặt vấn đề 3 cấu trúc cơ bản của xử lý máy tính: Tuần tự Đã học trong bài](https://reader033.vdocuments.pub/reader033/viewer/2022041505/5e24b5fc202e3d081810d1a1/html5/thumbnails/16.jpg)
Trương Xuân Nam - Khoa CNTT 16
3.3 Phép toán logic
Các phép toán logic:
Phép một ngôi: not (phép đảo - !)
Phép hai ngôi:
and (phép “và” - &&)
or (phép “hoặc” - ||)
xor (phép “hoặc nghịch đảo” - ^)
![Page 17: TIN ĐẠI CƯƠNG - txnam.net Giang/Tin...Trương Xuân Nam - Khoa CNTT 5 3.1 Đặt vấn đề 3 cấu trúc cơ bản của xử lý máy tính: Tuần tự Đã học trong bài](https://reader033.vdocuments.pub/reader033/viewer/2022041505/5e24b5fc202e3d081810d1a1/html5/thumbnails/17.jpg)
Trương Xuân Nam - Khoa CNTT 17
3.3 Phép toán AND
Tiếng Anh: AND
Tiếng Việt: VÀ
Trong ngôn ngữ C/C++: &&
Ví dụ:
(a > b) && (a > c)
![Page 18: TIN ĐẠI CƯƠNG - txnam.net Giang/Tin...Trương Xuân Nam - Khoa CNTT 5 3.1 Đặt vấn đề 3 cấu trúc cơ bản của xử lý máy tính: Tuần tự Đã học trong bài](https://reader033.vdocuments.pub/reader033/viewer/2022041505/5e24b5fc202e3d081810d1a1/html5/thumbnails/18.jpg)
Trương Xuân Nam - Khoa CNTT 18
3.3 Phép toán OR
Tiếng Anh: OR
Tiếng Việt: HOẶC
Trong ngôn ngữ C/C++: ||
Ví dụ:
(a == 2) || (a == 4)
![Page 19: TIN ĐẠI CƯƠNG - txnam.net Giang/Tin...Trương Xuân Nam - Khoa CNTT 5 3.1 Đặt vấn đề 3 cấu trúc cơ bản của xử lý máy tính: Tuần tự Đã học trong bài](https://reader033.vdocuments.pub/reader033/viewer/2022041505/5e24b5fc202e3d081810d1a1/html5/thumbnails/19.jpg)
Trương Xuân Nam - Khoa CNTT 19
3.3 Phép toán XOR
Tiếng Anh: XOR
Tiếng Việt: HOẶC NGHỊCH ĐẢO
C/C++: ^
Ví dụ:
(a > 10) ^ (b > 10)
![Page 20: TIN ĐẠI CƯƠNG - txnam.net Giang/Tin...Trương Xuân Nam - Khoa CNTT 5 3.1 Đặt vấn đề 3 cấu trúc cơ bản của xử lý máy tính: Tuần tự Đã học trong bài](https://reader033.vdocuments.pub/reader033/viewer/2022041505/5e24b5fc202e3d081810d1a1/html5/thumbnails/20.jpg)
Trương Xuân Nam - Khoa CNTT 20
3.3 Bảng chân lý
x y x && y x || y x ^ y
True True True True False
True False False True True
False True False True True
False False False False False
![Page 21: TIN ĐẠI CƯƠNG - txnam.net Giang/Tin...Trương Xuân Nam - Khoa CNTT 5 3.1 Đặt vấn đề 3 cấu trúc cơ bản của xử lý máy tính: Tuần tự Đã học trong bài](https://reader033.vdocuments.pub/reader033/viewer/2022041505/5e24b5fc202e3d081810d1a1/html5/thumbnails/21.jpg)
Trương Xuân Nam - Khoa CNTT 21
Bài 3: Vòng lặp
Đặt vấn đề
Cách giải quyết bằng vòng lặp
Phép toán logic
Các cấu trúc lặp:
while do
for
do while
![Page 22: TIN ĐẠI CƯƠNG - txnam.net Giang/Tin...Trương Xuân Nam - Khoa CNTT 5 3.1 Đặt vấn đề 3 cấu trúc cơ bản của xử lý máy tính: Tuần tự Đã học trong bài](https://reader033.vdocuments.pub/reader033/viewer/2022041505/5e24b5fc202e3d081810d1a1/html5/thumbnails/22.jpg)
Trương Xuân Nam - Khoa CNTT 22
3.4 Các cấu trúc lặp
Gồm những thành phần chính sau:
Khối khởi động
Khối điều kiện
Khối cập nhật điều kiện
Khối thực thi
![Page 23: TIN ĐẠI CƯƠNG - txnam.net Giang/Tin...Trương Xuân Nam - Khoa CNTT 5 3.1 Đặt vấn đề 3 cấu trúc cơ bản của xử lý máy tính: Tuần tự Đã học trong bài](https://reader033.vdocuments.pub/reader033/viewer/2022041505/5e24b5fc202e3d081810d1a1/html5/thumbnails/23.jpg)
Trương Xuân Nam - Khoa CNTT 23
Bài 3: Vòng lặp
Đặt vấn đề
Cách giải quyết bằng vòng lặp
Phép toán logic
Các cấu trúc lặp:
while do
for
do while
![Page 24: TIN ĐẠI CƯƠNG - txnam.net Giang/Tin...Trương Xuân Nam - Khoa CNTT 5 3.1 Đặt vấn đề 3 cấu trúc cơ bản của xử lý máy tính: Tuần tự Đã học trong bài](https://reader033.vdocuments.pub/reader033/viewer/2022041505/5e24b5fc202e3d081810d1a1/html5/thumbnails/24.jpg)
Trương Xuân Nam - Khoa CNTT 24
3.4.1 WHILE DO
Cú pháp:while (<điều kiện>) {
<công việc cần thực hiện>
}
Ví dụ:a = n - 1;
while (0 != (n % a)) {
a = a – 1;
}
![Page 25: TIN ĐẠI CƯƠNG - txnam.net Giang/Tin...Trương Xuân Nam - Khoa CNTT 5 3.1 Đặt vấn đề 3 cấu trúc cơ bản của xử lý máy tính: Tuần tự Đã học trong bài](https://reader033.vdocuments.pub/reader033/viewer/2022041505/5e24b5fc202e3d081810d1a1/html5/thumbnails/25.jpg)
Trương Xuân Nam - Khoa CNTT 25
Bài 3: Vòng lặp
Đặt vấn đề
Cách giải quyết bằng vòng lặp
Phép toán logic
Các cấu trúc lặp:
while do
for
do while
![Page 26: TIN ĐẠI CƯƠNG - txnam.net Giang/Tin...Trương Xuân Nam - Khoa CNTT 5 3.1 Đặt vấn đề 3 cấu trúc cơ bản của xử lý máy tính: Tuần tự Đã học trong bài](https://reader033.vdocuments.pub/reader033/viewer/2022041505/5e24b5fc202e3d081810d1a1/html5/thumbnails/26.jpg)
Trương Xuân Nam - Khoa CNTT 26
3.4.2 FOR
Cú pháp:for (<khởi tạo>; <điều kiện>; <đổi>) {
<công việc cần thực hiện>
}
Ví dụ:
for (a = n-1; 0 != (n % a); a = a - 1);
![Page 27: TIN ĐẠI CƯƠNG - txnam.net Giang/Tin...Trương Xuân Nam - Khoa CNTT 5 3.1 Đặt vấn đề 3 cấu trúc cơ bản của xử lý máy tính: Tuần tự Đã học trong bài](https://reader033.vdocuments.pub/reader033/viewer/2022041505/5e24b5fc202e3d081810d1a1/html5/thumbnails/27.jpg)
Trương Xuân Nam - Khoa CNTT 27
Bài 3: Vòng lặp
Đặt vấn đề
Cách giải quyết bằng vòng lặp
Phép toán logic
Các cấu trúc lặp:
while do
for
do while
![Page 28: TIN ĐẠI CƯƠNG - txnam.net Giang/Tin...Trương Xuân Nam - Khoa CNTT 5 3.1 Đặt vấn đề 3 cấu trúc cơ bản của xử lý máy tính: Tuần tự Đã học trong bài](https://reader033.vdocuments.pub/reader033/viewer/2022041505/5e24b5fc202e3d081810d1a1/html5/thumbnails/28.jpg)
Trương Xuân Nam - Khoa CNTT 28
3.4.3 DO WHILE
Cú pháp:do {
<công việc cần thực hiện>
} while (<điều kiện>);
Ví dụ:a = n;
do {
a = a – 1;
} while (0 == (n % a));
![Page 29: TIN ĐẠI CƯƠNG - txnam.net Giang/Tin...Trương Xuân Nam - Khoa CNTT 5 3.1 Đặt vấn đề 3 cấu trúc cơ bản của xử lý máy tính: Tuần tự Đã học trong bài](https://reader033.vdocuments.pub/reader033/viewer/2022041505/5e24b5fc202e3d081810d1a1/html5/thumbnails/29.jpg)
Bài tập
Chú ý: sử dụng cả 3 vòng lặp để viết
1. Nhập số n, in ra mọi ước số của n
2. Nhập số n và m nguyên, in ra mọi số nguyên k là ước chung của m và n
3. Nhập số n, in ra màn hình n số nguyên đầu tiên chia cho 2,3,5 đều dư 1
Trương Xuân Nam - Khoa CNTT 29