Bài giảng Tin học đại cương - Bài 6: Các câu lệnh lặp - Phạm Xuân Cường

TIN HỌC ĐẠI CƯƠNG  
BÀI 6: CÁC CÂU LỆNH LẶP  
Phạm Xuân Cường  
Khoa Công nghệ thông tin  
Nội dung bài giảng  
•
•
•
1
Chương trình in ra 10 số tự nhiên từ 0 đến 9  
#include <iostream>  
using namespace std;  
int main()  
{
cout << 0 << endl;  
cout << 1 << endl;  
cout << 2 << endl;  
cout << 3 << endl;  
cout << 4 << endl;  
cout << 5 << endl;  
cout << 6 << endl;  
cout << 7 << endl;  
cout << 8 << endl;  
cout << 9 << endl;  
return 0;  
}
2
Viết lại chương trình dùng vòng lặp for  
#include <iostream>  
using namespace std;  
int main()  
{
int i;  
for (i = 0; i < 10; i++)  
cout << i << endl;  
return 0;  
}
3
Câu lệnh for  
• Cú pháp:  
for (khởi−tạo; điều−kiện; tăng−giảm)  
các−câu−lệnh  
• Ví dụ:  
for (i = 0; i < 10; i++)  
cout << i << endl;  
• Giải thích:  
- khởi−tạo: khởi tạo giá trị cho biến điều khiển lặp (i = 0)  
- điều−kiện: điều kiện để tiếp tục lặp lại công việc (i < 10)  
- tăng−giảm: thay đổi giá trị của biến điều khiển lặp (i++)  
- Nếu có nhiều câu lệnh trong thân vòng lặp for thì phải đặt  
chúng giữa cặp ngoặc móc { }  
4
Cách làm việc của câu lệnh for  
Các câu lệnh trước for  
for (khởi tạo; điều kiện; tăng giảm)  
các câu lệnh  
Các câu lệnh sau for  
5
Tính tổng S = 1 + 2 + . . . + n  
#include <iostream>  
using namespace std;  
int main()  
{
int n;  
cout << "Nhap so nguyen duong n: ";  
cin >> n;  
double S = 0;  
for (int i = 1; i <= n; i++)  
S = S + i; // cong don tung gia tri cua i  
// vao bien S (ban dau bang 0)  
cout << "S = " << S << endl;  
return 0;  
}
6
Tính tổng S = 1 − 1/2 + 1/3 − . . . + (−1)n+1/n  
#include <iostream>  
using namespace std;  
int main()  
{
int n;  
cout << "Nhap so nguyen duong n: ";  
cin >> n;  
double S = 0;  
for (int i = 1; i <= n; i++)  
if (i % 2 != 0)  
S = S + 1.0/i; // neu i le thi cong 1/i voi S  
else  
S = S – 1.0/i; // neu i chan thi cong -1/i voi S  
cout << "S = " << S << endl;  
return 0;  
}
7
Các câu lệnh for lồng nhau  
// In ra n dong, dong i co i dau sao  
#include <iostream>  
using namespace std;  
int main()  
{
int n;  
cout << "Nhap so nguyen duong n: ";  
cin >> n;  
for (int i = 1; i <= n; i++)  
{
for (int j = 1; j <= i; j++)  
cout << ’*’;  
cout << endl;  
}
return 0;  
}
8
Câu lệnh while: Ví dụ mở đầu  
#include <iostream>  
using namespace std;  
int main()  
{
int n;  
cout << "Nhap n: ";  
cin >> n;  
double S = 0;  
int i = 1;  
while (i <= n) // con lap chung nao i chua vuot qua n  
{
S += 1.0 / i; // cach viet khac: S = S + 1.0 / i  
i++; // tang i den khi vuot qua n thi dung lap  
}
cout << "S = " << S << endl;  
return 0;  
}
9
Cách làm việc của câu lệnh while  
câu lệnh trước while  
while (điều kiện)  
các câu lệnh  
Các câu lệnh sau while  
10  
Để tránh vòng lặp while vô tận. . .  
// Tinh S = 1 + 1/2 + . . . + 1/n  
#include <iostream>  
using namespace std;  
int main()  
{
int n;  
cout << "Nhap n: ";  
cin >> n;  
double S = 0;  
int i = 1;  
while (i <= n)  
{
S += 1.0 / i;  
i++;  
}
cout << "S = " << S << endl;  
return 0;  
}
11  
Câu lệnh while được dùng khi chưa biết trước số lần lặp  
// Doc tung dong trong mot tep van ban nhung ta khong biet  
// truoc co bao nhieu dong (tuc la bao nhieu lan lap)  
#include <iostream>  
#include <fstream>  
#include <string>  
using namespace std;  
int main()  
{
string dong; // bien de chua mot dong doc tu tep van b  
ifstream f; // bien tep  
f.open("sinhvien.txt"); // mo tep sinhvien.txt de doc  
while (!f.eof()) // ham eof tra ve true neu o cuoi tep  
{
getline(f, dong); // ham getline doc mot dong tu tep  
cout << dong << endl; // in dong doc duoc ra man hinh  
}
f.close(); // dong tep sau khi lam viec xong voi tep  
return 0;  
}
12  
Câu lệnh do-while: Ví dụ mở đầu  
// Tinh S = 1 + 2 + . . . + n  
#include <iostream>  
using namespace std;  
int main()  
{
int n;  
cout << "Nhap so nguyen duong n: ";  
cin >> n;  
int S = 0;  
int i = 1;  
do // thuc hien cong viec truoc, kiem tra dieu kien sau  
{
S = S + i; // cong don i vao bien S  
i++; // tang i den khi vuot qua n thi dung lap  
} while (i <= n);  
cout << "S = " << S << endl;  
return 0;  
}
13  
Cách làm việc của câu lệnh do-while  
Các câu lệnh trước do-while  
do  
{
các câu lệnh  
}
while (điều kiện);  
Các câu lệnh sau do-while  
14  
Nhân hai số cho đến khi người dùng ấn phím K  
#include <iostream>  
using namespace std;  
int main()  
{
double x, y;  
char tra_loi;  
do  
{
cout << "Nhap vao hai so thuc: ";  
cin >> x >> y;  
cout << "Tich cua chung la " << x * y << endl;  
cout << "Ban co muon tiep tuc khong? (C/K)";  
cin >> tra_loi; // cho nguoi dung nhap vao C hoac K  
}
while (tra_loi != ’k’ && tra_loi != ’K’);  
return 0;  
}
15  
Questions?  
15  
pdf 20 trang baolam 17360 Free
Bạn đang xem tài liệu "Bài giảng Tin học đại cương - Bài 6: Các câu lệnh lặp - Phạm Xuân Cường", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pdfbai_giang_tin_hoc_dai_cuong_bai_6_cac_cau_lenh_lap_pham_xuan.pdf