Bài giảng Lập trình cơ bản: Bài 4 - TS. Ngô Quốc Việt
Số trang: 38
Loại file: pdf
Dung lượng: 2.11 MB
Lượt xem: 12
Lượt tải: 0
Xem trước 4 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
Bài giảng Lập trình cơ bản - Bài 4 trình bày kiến thức về ltrình với cấu trúc lặp. Các nội dung chính trong bài giảng này gồm: Nhắc lại các toán tử BIT; ý nghĩa, cách hoạt động của vòng lặp; lặp với lệnh for; các lệnh ảnh hưởng đến lặp: break, continue; lặp với lệnh while; lặp với lệnh do… while; còng lặp lồng nhau và so sánh các lệnh lặp.
Nội dung trích xuất từ tài liệu:
Bài giảng Lập trình cơ bản: Bài 4 - TS. Ngô Quốc Việt LẬP TRÌNH VỚI CẤU TRÚC LẶP LÊ ĐỨC LONG-NGÔ QUỐC VIỆT 2011 NỘI DUNG 1. Nhắc lại các toán tử BIT 2. Ý nghĩa, cách hoạt động của vòng lặp 3. Lặp với lệnh for 4. Các lệnh ảnh hưởng đến lặp: break, continue. 5. Lặp với lệnh while. 6. Lặp với lệnh do… while. 7. Vòng lặp lồng nhau và so sánh các lệnh lặp Ngô Quốc Việt-Lập trình cơ bản 2 NHẮC LẠI CÁC TOÁN TỬ BIT Số nhị phân: một vị trí nhớ lưu trữ 8 bits. Ký hiệu số nhị phân 01100100b. Nguồn: O’Reilly 2003 Ngô Quốc Việt-Lập trình cơ bản 3 Toán tử BIT Ngô Quốc Việt-Lập trình cơ bản 4 Toán tử & BIT Kết quả của 45 & 71 là 41 ?. Cần phân biệt && và &. Bài tập ngắn: viết hàm kiểm tra chẵn lẻ dựa trên &. Ngô Quốc Việt-Lập trình cơ bản 5 Toán tử OR BIT (|) Ngô Quốc Việt-Lập trình cơ bản 6 Toán tử XOR BIT (^) Ngô Quốc Việt-Lập trình cơ bản 7 Toán tử left và right shift Ngô Quốc Việt-Lập trình cơ bản 8 Ý nghĩa và sử dụng lệnh lặp Lặp: thực hiện một thao tác / hành động một số lần nhất định. Ví dụ: hít đất 20 cái; hát điệp khúc 2 lần; chạy quanh sân 10 vòng; Tính dãy Fibonacci với n = 100; Tính giai thừa của 1000; Viết 100 lệnh hay 1000 lệnh “giống nhau”? Nnlt trình phải hỗ trợ làm điều này các lệnh lặp. Lệnh lặp thực hiện một khối lệnh với số lần lặp nhất định, hoặc khi chưa thoả điều kiện nào đó. Ngô Quốc Việt-Lập trình cơ bản 9 Xét bài toán tính n! Input: số nguyên dương n Output: giá trị của n! Thuật giải thông thường Bước 1: Gán gt = 1 Bước 2.1: Gán gt = gt * 1 = 1 Bước 2.2: Gán gt = gt * 2 = 1 * 2 Bước 2.3: Gán gt = gt * 3 = 1 * 2 * 3 Bước 2.4: Gán gt = gt * 4 = 1 * 2 * 3 * 4 …. Bước 2.i: Gán gt = gt * i = 1 * 2 * 3 * 4 * … * i … Bước 2.n: Gán gt = gt * n = 1 * 2 * 3 * 4 * … n Xuất giá trị gt Ngô Quốc Việt-Lập trình cơ bản 10 Phân biệt các lệnh lặp Lệnh lặp for: số lần lặp biết trước. Lệnh lặp while: lặp khi điều kiện lặp còn thỏa hoặc lặp theo số lần biết trước (giống for). Lệnh lặp do... while: giống lệnh lặp while nhưng điều kiện lặp đặt ở cuối vòng lặp. Lệnh lặp foreach: lặp theo các đối tượng trong một tập hợp (khảo sát sau). Ngô Quốc Việt-Lập trình cơ bản 11 Cấu trúc lặp for Số lần lặp xác định trước. Dùng một biến đếm để xác định số lần lặp đã làm Ngô Quốc Việt-Lập trình cơ bản 12 Cấu trúc lặp for Trường hợp lặp 1 câu lệnh for(khởi tạo các biến đếm; kiểm tra số lần lặp; cập nhật các biến đếm số lần lặp) câu lệnh; Trường hợp lặp nhiều câu lệnh for(khởi tạo các biến đếm; kiểm tra số lần lặp; cập nhật các biến đếm số lần lặp) { lệnh 1; lệnh 2; lệnh 3; // các lệnh trong khối lệnh } Ngô Quốc Việt-Lập trình cơ bản 13 Cấu trúc lặp for “khởi tạo các biến đếm”: các lệnh chỉ được chạy đúng một lần trong lệnh for. “kiểm tra số lần lặp” biểu thức logic: được kiểm tra khi mỗi khi khối lệnh được thực hiện xong. “cập nhật các biến đếm số lần lặp” các lệnh gán làm tăng/giảm giá trị biến đếm. Ngô Quốc Việt-Lập trình cơ bản 14 Cấu trúc lặp for-ví dụ #include stdio.h #include conio.h void main() { int n; printf(Nhap so nguyen n:); scanf(%i,&n); int gt = 1; for(int i = 1; i Cấu trúc lặp for-ví dụ Tính tổng các số lẻ từ 0 đến n (giá trị nhập vào) #include #include void main(void) { int iDem, iN, iTongLe = 0; printf(Nhap vao so n: \n); scanf(%d, &iN); iTongLe = 0; for(iDem = 0; iDem Cấu trúc lặp for-ví dụ Lặp với biến đếm giảm - Ví dụ tính tổng các số lẻ #include #include void main(void) { int iDem, iN, iTongLe = 0; printf(Nhap vao so n: \n); scanf(%d, &iN); iTongLe = 0; for(iDem = iN; iDem > 0; iDem--) { if (iDem % 2 != 0) //neu iDem la so le iTongLe= iTongLe + iDem; } printf(Tong: %d, iTongLe); getch (); } Ngô Quốc Việt-Lập trình cơ bản 17 Lệnh break trong vòng lặp Nhu cầu cần thoát khỏi vòng lặp khi số lần lặp chưa đủ hay “điều kiện ngừng” chưa thoả mãn. Cần thoát ra khi có “lỗi” hay “bất thường” trong vòng lặp. Ví dụ: cần đánh trứng 100 lần. Tuy nhiên ngừng đánh trứng nếu “chén vỡ”. for(int i = 0; i < 100; i ++) { if(bChenVo == true) break; //Tiep tục đánh trứng } Ngô Quốc Việt-Lập trình cơ bản 18 Lệnh break trong vòng lặp Lệnh break cần được kèm với lệnh if. Ra khỏi false Điều lặp kiện lặp Các lệnh trước lệnh break true Điều kiện break false Các lệnh sau break Ngô Quốc Việt-Lập trình cơ bản 19 Lệnh break trong vòng lặp Ví dụ: nhập N (input từ bàn phím) số nguyên từ bàn phím. Nếu gặp số zero thì ngừng. Tính tổng các số đã nhập. #include #include void main(void) { int in, itong = 0;, iN printf(Nhap vao so luong so nguyen: \n); scanf(%d, &iN); for(int i = 0; i < iN; i ++) { printf(Nhap vao 1 so nguyen: ); scanf(%d, &in); if (in == 0) break; //in = 0 thoat vong lap itong += in; } printf(Tong: %d.\n, itong); ...
Nội dung trích xuất từ tài liệu:
Bài giảng Lập trình cơ bản: Bài 4 - TS. Ngô Quốc Việt LẬP TRÌNH VỚI CẤU TRÚC LẶP LÊ ĐỨC LONG-NGÔ QUỐC VIỆT 2011 NỘI DUNG 1. Nhắc lại các toán tử BIT 2. Ý nghĩa, cách hoạt động của vòng lặp 3. Lặp với lệnh for 4. Các lệnh ảnh hưởng đến lặp: break, continue. 5. Lặp với lệnh while. 6. Lặp với lệnh do… while. 7. Vòng lặp lồng nhau và so sánh các lệnh lặp Ngô Quốc Việt-Lập trình cơ bản 2 NHẮC LẠI CÁC TOÁN TỬ BIT Số nhị phân: một vị trí nhớ lưu trữ 8 bits. Ký hiệu số nhị phân 01100100b. Nguồn: O’Reilly 2003 Ngô Quốc Việt-Lập trình cơ bản 3 Toán tử BIT Ngô Quốc Việt-Lập trình cơ bản 4 Toán tử & BIT Kết quả của 45 & 71 là 41 ?. Cần phân biệt && và &. Bài tập ngắn: viết hàm kiểm tra chẵn lẻ dựa trên &. Ngô Quốc Việt-Lập trình cơ bản 5 Toán tử OR BIT (|) Ngô Quốc Việt-Lập trình cơ bản 6 Toán tử XOR BIT (^) Ngô Quốc Việt-Lập trình cơ bản 7 Toán tử left và right shift Ngô Quốc Việt-Lập trình cơ bản 8 Ý nghĩa và sử dụng lệnh lặp Lặp: thực hiện một thao tác / hành động một số lần nhất định. Ví dụ: hít đất 20 cái; hát điệp khúc 2 lần; chạy quanh sân 10 vòng; Tính dãy Fibonacci với n = 100; Tính giai thừa của 1000; Viết 100 lệnh hay 1000 lệnh “giống nhau”? Nnlt trình phải hỗ trợ làm điều này các lệnh lặp. Lệnh lặp thực hiện một khối lệnh với số lần lặp nhất định, hoặc khi chưa thoả điều kiện nào đó. Ngô Quốc Việt-Lập trình cơ bản 9 Xét bài toán tính n! Input: số nguyên dương n Output: giá trị của n! Thuật giải thông thường Bước 1: Gán gt = 1 Bước 2.1: Gán gt = gt * 1 = 1 Bước 2.2: Gán gt = gt * 2 = 1 * 2 Bước 2.3: Gán gt = gt * 3 = 1 * 2 * 3 Bước 2.4: Gán gt = gt * 4 = 1 * 2 * 3 * 4 …. Bước 2.i: Gán gt = gt * i = 1 * 2 * 3 * 4 * … * i … Bước 2.n: Gán gt = gt * n = 1 * 2 * 3 * 4 * … n Xuất giá trị gt Ngô Quốc Việt-Lập trình cơ bản 10 Phân biệt các lệnh lặp Lệnh lặp for: số lần lặp biết trước. Lệnh lặp while: lặp khi điều kiện lặp còn thỏa hoặc lặp theo số lần biết trước (giống for). Lệnh lặp do... while: giống lệnh lặp while nhưng điều kiện lặp đặt ở cuối vòng lặp. Lệnh lặp foreach: lặp theo các đối tượng trong một tập hợp (khảo sát sau). Ngô Quốc Việt-Lập trình cơ bản 11 Cấu trúc lặp for Số lần lặp xác định trước. Dùng một biến đếm để xác định số lần lặp đã làm Ngô Quốc Việt-Lập trình cơ bản 12 Cấu trúc lặp for Trường hợp lặp 1 câu lệnh for(khởi tạo các biến đếm; kiểm tra số lần lặp; cập nhật các biến đếm số lần lặp) câu lệnh; Trường hợp lặp nhiều câu lệnh for(khởi tạo các biến đếm; kiểm tra số lần lặp; cập nhật các biến đếm số lần lặp) { lệnh 1; lệnh 2; lệnh 3; // các lệnh trong khối lệnh } Ngô Quốc Việt-Lập trình cơ bản 13 Cấu trúc lặp for “khởi tạo các biến đếm”: các lệnh chỉ được chạy đúng một lần trong lệnh for. “kiểm tra số lần lặp” biểu thức logic: được kiểm tra khi mỗi khi khối lệnh được thực hiện xong. “cập nhật các biến đếm số lần lặp” các lệnh gán làm tăng/giảm giá trị biến đếm. Ngô Quốc Việt-Lập trình cơ bản 14 Cấu trúc lặp for-ví dụ #include stdio.h #include conio.h void main() { int n; printf(Nhap so nguyen n:); scanf(%i,&n); int gt = 1; for(int i = 1; i Cấu trúc lặp for-ví dụ Tính tổng các số lẻ từ 0 đến n (giá trị nhập vào) #include #include void main(void) { int iDem, iN, iTongLe = 0; printf(Nhap vao so n: \n); scanf(%d, &iN); iTongLe = 0; for(iDem = 0; iDem Cấu trúc lặp for-ví dụ Lặp với biến đếm giảm - Ví dụ tính tổng các số lẻ #include #include void main(void) { int iDem, iN, iTongLe = 0; printf(Nhap vao so n: \n); scanf(%d, &iN); iTongLe = 0; for(iDem = iN; iDem > 0; iDem--) { if (iDem % 2 != 0) //neu iDem la so le iTongLe= iTongLe + iDem; } printf(Tong: %d, iTongLe); getch (); } Ngô Quốc Việt-Lập trình cơ bản 17 Lệnh break trong vòng lặp Nhu cầu cần thoát khỏi vòng lặp khi số lần lặp chưa đủ hay “điều kiện ngừng” chưa thoả mãn. Cần thoát ra khi có “lỗi” hay “bất thường” trong vòng lặp. Ví dụ: cần đánh trứng 100 lần. Tuy nhiên ngừng đánh trứng nếu “chén vỡ”. for(int i = 0; i < 100; i ++) { if(bChenVo == true) break; //Tiep tục đánh trứng } Ngô Quốc Việt-Lập trình cơ bản 18 Lệnh break trong vòng lặp Lệnh break cần được kèm với lệnh if. Ra khỏi false Điều lặp kiện lặp Các lệnh trước lệnh break true Điều kiện break false Các lệnh sau break Ngô Quốc Việt-Lập trình cơ bản 19 Lệnh break trong vòng lặp Ví dụ: nhập N (input từ bàn phím) số nguyên từ bàn phím. Nếu gặp số zero thì ngừng. Tính tổng các số đã nhập. #include #include void main(void) { int in, itong = 0;, iN printf(Nhap vao so luong so nguyen: \n); scanf(%d, &iN); for(int i = 0; i < iN; i ++) { printf(Nhap vao 1 so nguyen: ); scanf(%d, &in); if (in == 0) break; //in = 0 thoat vong lap itong += in; } printf(Tong: %d.\n, itong); ...
Tìm kiếm theo từ khóa liên quan:
Lập trình cơ bản Bài giảng Lập trình cơ bản Ngôn ngữ lập trình Lập trình với cấu trúc lặp Cấu trúc lặp Lặp với lệnh forTài liệu liên quan:
-
Giáo trình Lập trình hướng đối tượng: Phần 2
154 trang 277 0 0 -
Bài thuyết trình Ngôn ngữ lập trình: Hệ điều hành Window Mobile
30 trang 268 0 0 -
Kỹ thuật lập trình trên Visual Basic 2005
148 trang 268 0 0 -
Giáo trình Lập trình cơ bản với C++: Phần 1
77 trang 232 0 0 -
Bài giảng Một số hướng nghiên cứu và ứng dụng - Lê Thanh Hương
13 trang 227 0 0 -
80 trang 222 0 0
-
Giáo án Tin học lớp 11 (Trọn bộ cả năm)
125 trang 218 1 0 -
NGÂN HÀNG CÂU HỎI TRẮC NGHIỆM THIẾT KẾ WEB
8 trang 210 0 0 -
Bài tập lập trình Windows dùng C# - Bài thực hành
13 trang 188 0 0 -
Giáo trình Lập trình C căn bản: Phần 1
64 trang 170 0 0