Yêu cầu mọi thông tin sao chép từ blog này phải được ghi rõ đầy đủ: Thông tin được sao chép từ "http://www.dangngochoangthanh.blogspot.com".

Cool wallpaper http://www.fancymessage.com

EMOJI KEYBOARD PRO http://emojiselector.com

THƯ VIỆN HÌNH ĐỘNG FLASH ANIMATION: http://flashanimationlibrary.blogspot.ru/

Hệ thống học trực tuyến đang được phát triển và sẽ đưa vào sử dụng vào cuối năm nay. Hãy xem qua một số demo của Học Trực Tuyến.


HỌC TRỰC TUYẾN ĐÃ CUNG CẤP PHIÊN BẢN TRUY CẬP QUA MOBILE http://dangngochoangthanh.blogspot.com/?m=1

XEM KÊNH HỌC TRỰC TUYẾN TRÊN YOUTUBE



Search on This Blog

Saturday, September 11, 2010

Cấu trúc lặp

Trong thực tế, chúng ta gặp nhiều tình huống lặp đi lặp lại. Với mục đích này, trong ngôn ngữ C++ cũng cung cấp cho chúng ta các cấu trúc lặp tương ứng.

  1. 1. Vòng lặp while
Cấu trúc khai báo của vòng lặp while như sau
while (biểu_thức_điều_kiện_đúng) {
….
}
Giải thích: Nếu biểu thức điều kiện đúng, sẽ thực thi các lệnh bên trong vòng lặp.
Ví dụ Kết quả
#include using namespace std;
int main()
{
int n;
cout<<”Nhap n:”;
cin>>n;
while (n>0){
cout<<
n–;
}
return 0;
}
Nhap n:5 5
4
3
2
1

Giải thích: đầu tiên nhập vào giá trị cho biến n. N nhập vào ở đây là 5. Vòng lặp while kiểm tra điều kiện n>0. Điều kiện này đúng, nên các lệnh trong vòng lặp sẽ được thực hiện. Nó sẽ in ra giá trị của n là 5. Sau đó, giá trị của n giảm đi 1, tức là n = 4. Vòng lặp lại tiếp tục thực hiện, vì n>0 còn đúng. Quá trình này cứ tiếp tục, cho đến khi n=0. Khi đó, điều kiện n>0 là sai. Do đó, vòng lặp sẽ dừng lại. Giá trị in ra màn hình là các số từ 5 giảm đến 1.
Lưu ý: khi sử dụng vòng lặp while cần lưu ý các điểm sau đây:
  • Vòng lặp phải có tính dừng. Nghĩa là biểu_thức_điều_kiện phải có trường hợp sai.
  • Nếu có nhiều lệnh chịu sự chi phối của while, thì chúng cần được đặt trong dấu khối lệnh.
  1. 2. Vòng lặp do…while
Cấu trúc khai báo của vòng lặp do…while như sau
do {
….
}while  (biểu_thức_điều_kiện_đúng);
Giải thích: Thực hiện các lệnh trong vòng lặp, sau đó kiểm tra biểu_thức_điều_kiện. Nếu biểu_thức_điều_kiện còn đúng, thì tiếp tục lặp.
Ví dụ Kết quả
#include using namespace std;
int main(){
int n;
cout<<”Nhap n:”;
cin>>n;
do {
cout<<
n–;
}while(n>0);
return 0;
}
Nhap n:5 5
4
3
2
1
0
Giải thích: đầu tiên nhập vào giá trị cho biến n. Giá trị n nhập vào ở đây là 5. Vòng lặp do…while sẽ thực thi các lệnh bên trong nó. Nó sẽ in ra giá trị của n là 5. Sau đó, giá trị của n giảm đi 1, tức là n = 4. Vòng lặp kiểm tra giá trị của biểu thức n>0. Vì biểu thức này đúng, nên nó tiếp tục lặp. Quá trình này cứ tiếp tục cho đến khi n=0. Giá trị n=0 vẫn được in ra, sau khi kiểm tra n>0 không còn đúng nữa, vòng lặp kết thúc. Khác với vòng lặp while ở trên, nó sẽ in ra giá trị từ 5 giảm đến 0.
Lưu ý: khi sử dụng vòng lặp do…while cần lưu ý các điểm sau đây:
  • Vòng lặp phải có tính dừng. Nghĩa là biểu_thức_điều_kiện phải có trường hợp sai.
  • Nếu có nhiều lệnh chịu sự chi phối của do…while, thì chúng cần được đặt trong dấu khối lệnh.
  • Vòng lặp do…while luôn thực hiện các lệnh bên trong nó, ít nhất 1 lần.
  1. 3. Vòng lặp for
Cấu trúc khai báo của vòng lặp for như sau
for (biểu_thức_khởi_tạo; biểu_thức_giới_hạn; biểu_thức_tăng_giảm) {
….
}
Giải thích: Thực hiện vòng lặp, với số vòng lặp từ biểu_thức_khởi_tạo cho đến biểu_thức_giới_hạn theo mức tăng là biểu_thức_tăng_giảm.
Ví dụ Kết quả
#include using namespace std;
int main()
{
int n, i;
cout<<”Nhap n:”;
cin>>n;
for (i=0; i<=n;i++) {
cout<<
};
return 0;
}
Nhap n:5 0
1
2
3
4
5
Giải thích: đầu tiên nhập vào giá trị cho biến n. Giá trị n nhập vào ở đây là 5. Vòng lặp for sẽ thực thi các lệnh bên trong với số vòng lặp là từ 0 đến 5, theo bước nhảy là 1 – tương ứng với i++.
Lưu ý: khi sử dụng vòng lặp for cần lưu ý các điểm sau đây
  • Các tham số trong vòng lặp for có thể khuyết một hoặc vài (thậm chí là tất cả) tham số. Tuy nhiên, dấu chấm phẩy là luôn bắt buộc. Số bước lặp của vòng lặp for sẽ được tính như sau:
  • Nếu có nhiều lệnh chịu sự chi phối của for, thì chúng cần được đặt trong dấu khối lệnh.
  • Ta có thể thực hiện việc khai báo biến trực tiếp bên trong dấu ngoặc đơn của vòng lặp for.
Ví dụ Kết quả
#include using namespace std;
int main()
{
int n;
cout<<”Nhap n:”;
cin>>n;
for (int i=0; i<=n;i++) {
cout<<
};
return 0;
}
Nhap n:5 0
1
2
3
4
5
  1. 4. Các câu lệnh nhảy
  2. a. Câu lệnh break
Lệnh break dùng để thoát ra khỏi vòng lặp. Thông thường, khi ta sử dụng các vòng lặp không xác định được số lần lặp, để tránh lặp vô hạn, người ta thường sử dụng câu lệnh break để thoát khỏi vòng lặp.
Ví dụ Kết quả
#include using namespace std;
int main()
{
int n = 2;
for(;;){
cout<<
n–;
if (n<0) break;
}
return 0;
}
2 1
0
Giải thích: Giá trị khởi tạo của n = 2. Vòng lặp for sẽ tiến hành in giá trị của n, sau đó, giảm giá trị của n đi 1. Câu lệnh điều kiện bên trong for sẽ kiểm tra điều kiện của n. Nếu n<0, thì lệnh break sẽ được thực hiện và vòng lặp bị hủy.
  1. b. Câu lệnh continue
Câu lệnh continue thường được dùng trong các vòng lặp. Khi lệnh continue được gọi, bước lặp hiện tại sẽ được bỏ qua, và tiến hành bước lặp tiếp theo.
Ví dụ Kết quả
#include using namespace std;
int main()
{
for(int i=0;i<10;i++){
if (i%2!=0)
continue;
cout<<
}
return 0;
}
0 2
4
6
8
Giải thích: Vòng lặp for sẽ thực thi các lệnh bên trong nó. Biến i chạy từ 0 đến 9, kiểm tra điều kiện i có phải là số chẵn hay không. Nếu i là số lẻ, thì câu lệnh continue sẽ được thực hiện và bước lặp hiện tại sẽ bị bỏ qua. Nếu i là số chẵn, thì lệnh continue sẽ không được gọi và bước lặp hiện tại vẫn được thực hiện. Do đó, lệnh cout chỉ được thực hiện trong trường hợp biến i là chẵn. Như vậy, mỗi khi giá trị i là chẵn, nó sẽ in kết quả. Nếu giá trị của i là lẻ, thì kết quả sẽ không được in ra.
  1. c. Lệnh goto
Lệnh goto cho phép tạo ra một bước nhảy đến một nhãn được ấn định sẵn. Tên nhãn sẽ được đặt như sau tên_nhãn: và lệnh goto sẽ nhảy đến tên nhãn. Một lời khuyên cho chúng ta là nên hạn chế tối đa việc sử dụng lệnh goto. Bởi vì lệnh goto thường làm phá vỡ cấu trúc của lập trình hiện đại.
Chương trình Kết quả
#include using namespace std;
int main()
{
int n = 5;
loop://Tên nhãn
cout<<
n–;
if(n>0) goto loop;
return 0;
}
5 4
3
2
1
Giải thích: Giá trị khởi tạo của biến n là 5. Nhãn được đặt tên là loop. Nhãn có thể hiểu như một vị trí được đánh dấu (bookmark). Chương trình tiến hành in giá trị của biến n. Sau đó, giảm giá trị của n đi. Câu lệnh điều kiện, kiểm tra giá trị của biểu thức n>0, nếu đúng thi lệnh goto được gọi và nó sẽ được chuyển đến vị trí đã được đánh dấu là loop. Chương trình lại thực thi thêm lần nữa kể từ vị trí loop đó. Nếu n<=0, lệnh goto không được gọi. Chương trình kết thúc.
  1. d. Lệnh exit
Lệnh exit dùng để thoát khỏi chương trình và trả về một mã được chỉ định. Mã chỉ định này tùy thuộc vào hệ điều hành, nó có thể sử dụng trong chương trình theo quy ước như sau: nếu chương trình kết thúc bình thường, thì mã chương trình là 0; nếu có một sự cố không mong muốn xảy ra, mã chương trình là một giá trị khác 0.
void exit(int mã_chỉ_định);
Nếu tham số mã_chỉ_định không được cấp vào, tức là exit (không có dấu ngoặc đơn), thì nó sẽ tiến hành theo mặc định – tức giá trị 0. Hàm exit nằm trong thư viện stdlib.h. Đây là một hàm tương đối cũ nằm trong thư viện .h. Bạn chỉ có thể sử dụng lệnh exit nếu khai báo thư viện stdlib.h mà không có thư viện tương ứng là stdlib.

No comments:

Post a Comment