Cấu trúc lặp do...while
Cấu trúc lặp “do”
Cú pháp:
do
Khối lệnh;
while (biểu thức);
Giải thích cú pháp:
Bước 1: thực hiện khối lệnh sau do.
Bước 2: kiểm tra giá trị biểu thức <biểu thức> sau while, nếu có giá trị ‘đúng’ ( khác 0) thì lặp lại bước 1, nếu ‘sai’ (=0) thì kết thúc vòng lặp.
Biểu diễn bằng lưu đồ:
Ví dụ 1: Nhập vào 1 số.nếu không nhập số 0 thì vòng lặp sẽ tiếp tục đòi nhập
#include<iostream.h>
main()
{
unsigned long n;
do
{
cout<< "Nhap vao 1 day so khong cach"; cin>>n;
cout<< "Ban da nhap so"<<n<<endl;
}
while (n!=0);
return 0;
}
Cấu trúc lặp "while"
Cú pháp:
while(biểu thức)
Khối lệnh;
Sự hoạt động của vòng lặp while:
Bước 1: tính giá trị của (biểu thức) sau while
Bước 2: nếu giá trị tính được của (biểu thức) là ‘sai’ (==0) thì kết thúc vòng lặp while.
Bước 3: nếu giá trị của (biểu thức) là ‘đúng’ (!=0) thì thực hiện khối lệnh sau while.
Bước 4: quay lại bước 1
Chú ý: Thân while có thể được thực hiện một lần hoặc nhiều lần và cũng có thể không được thực hiện lần nào nếu ngay từ đầu biểu thức sau while đã sai.
Biểu diễn bằng lưu đồ:
Ví dụ 1:Viết 1 chương trình đếm ngược
#include<iostream.h>
main()
{
int n;
cout<< "Nhap vao 1 so (hay day so khong cach)"; cin>>n;
while (n>0)
{
cout<< n<< ",";
--n;
}
cout<< "Ket thuc";
return 0;
}
Ví dụ 2: Viết chương trình tính và in S = 1 +1/(2!) +1/(3!)+..+1/(n!) với n nhập từ bàn phím, 0<n<10.
#include <iostream.h>
const int Max =10; // gioi han
void main()
{
int n, k ;
float S, pt;
cout<<"\nNhap n = ";
cin>>n;
while((n<=0)||(n>Max))
{
cout<<"\nNhap lai n (0<n<="<<Max;
cin>>n;
}
S=pt=1; k=2;
while(k<=n)
{
pt /=k;
S+=pt;
k++;
}
cout<<"\nGia tri tong S = “<<S;
}
Cấu trúc lặp for
Cú pháp:
for (biểu thức 1; biểu thức 2; biểu thức 3)
Khối lệnh;
Trong đó:
Biểu thức 1: biểu thức khởi đầu.
Biểu thức 2: biểu thức điều kiện - điều kiện lặp.
Biểu thức 3: bước nhảy - thường dùng với ý nghĩa là thay đổi bước nhảy.
Cả 3 biểu thức này đều là tuỳ chọn, chúng có thể vắng mặt trong câu lệnh cụ thể nhưng các dấu chấm phẩy vẫn phải có.
Sự hoạt động của vòng lặp for:
• Bước 1: Thực hiện biểu thức khởi đầu – Biểu thức 1.
• Bước 2: Tính giá trị biểu thức 2 để xác định điều kiện lặp.
Nếu biểu thức 2 có giá trị ‘sai’ (==0) thì ra khỏi vòng lặp.
Ngược lại, nếu biểu thức có giá trị ‘đúng’ ( khác 0) thì chuyển tới bước 3.
• Bước 3: Thực hiện khối lệnh sau for ( thân của for ), chuyển tới bước 4.
• Bước 4: Thực hiện biểu thức 3, rồi quay về bước 2.
Biểu diễn bằng lưu đồ:
Ví dụ 1: Đếm ngược từ 10->1
#include<iostream.h>
main()
{
for (int n = 10; n>0; n--)
{
cout<< n<< ",";
}
cout<< "Ket thuc";
return 0;
}
Ví dụ 2: Nhập vào một dãy số nguyên, tìm số lớn nhất và nhỏ nhất trong dãy.
#include <iostream.h>
void main()
{
int n,a,max,min,i;
do
{
cout<<"Nhap so phan tu cua day : ";
cin>>n;
}
while(n<1);
cout<<"Nhap so :"; cin>>a;
max=min=a;
for(i=2; i<=n; i++)
{
cout<<"Nhap so : "; cin>>a;
if(a>max)
max=a;
else if(a<min)
min =a;
}
cout<<"\nGia tri lon nhat ="<<max<<"\nGia tri nho nhat = "<<min;
}