Cac cau truc lap
-
Upload
le-van-huynh -
Category
Education
-
view
1.256 -
download
11
Transcript of Cac cau truc lap
Các cấu trúc lặpLê Văn Huỳnh
Bài toán
Viết chương trình nhập 3 số nguyên. Tính tổng 3 số nguyên đó.
#include <stdio.h>
void main(){
int a, b, c, T;
printf(“\nCho a: “);
scanf(“%d”, &a);
printf(“\nCho b: “);
scanf(“%d”, &b);
printf(“\nCho c: “);
scanf(“%d”, &c);
T = a + b + c;
printf(“\nTong = %d”, T);
getch();
}
Bài toán đó, nhưng…
Viết chương trình nhập
n số nguyên. Tính tổng
n số nguyên đó.
#include <stdio.h>
void main(){
int a, n;
printf(“\nCho n: “);
scanf(“%d”, &n);
int i = 1, T = 0;
Lap:
printf(“\nCho a: “);
scanf(“%d”, &a);
T += a;
If (++i <= n) goto Lap;
printf(“\nTong = %d”, T);
getch();
}
Nhận xét Bài toán trên là bài toán có chứa
cấu trúc lặp Nếu không sử dụng cấu trúc lặp thì
không thể giải quyết được yêu cầu đề ra.
Lệnh goto kết hợp với một nhãn (label) cho phép chuyển điều khiển tới vị trí bất kỳ trong chương trình.
Có thể vận dụng lệnh goto với nhãn để thực hiện cấu trúc lặp
Có nên sử dụng lệnh goto?
Sử dụng lệnh goto làm cho chương trình khá mềm dẻo và linh hoạt.
Đổi lại, chương trình sẽ khó đọc, khó hiểu, khó kiểm soát.
Bảo dưỡng, nâng cấp chương trình sẽ khó khăn hơn.
Chương trình càng lớn, càng phức tạp thì việc sử dụng lệnh goto càng trở nên nguy hiểm.
Ngày nay, người ta gần như bỏ hẳn lệnh goto.
Các cấu trúc thay thế Cấu trúc while
while (<biểu thức>)<khối lệnh>
Ý nghĩa: Chừng nào <biểu thức> còn đúng thì còn lặp lại việc thực hiện <khối lệnh>.
Sơ đồ
Biểu thức
Các lệnh cần lặp
Áp dụng vào bài toán#include <stdio.h>
void main(){
int a, n;
printf(“\nCho n: “);
scanf(“%d”, &n);
int i = 1, T = 0;
while (i++ <= n) {
printf(“\nCho a: “);
scanf(“%d”, &a);
T += a;
}
printf(“\nTong = %d”, T);
getch();
}
Bài 1
Thực hành1. Nhập từ bàn phím n số thực. Tính giá trị
trung bình của các số đã nhập và in kết quả lên màn hình.
2. Nhập số nguyên dương N và tính tổng của N số tự nhiên đầu tiên.
3. Nhập số nguyên dương N và tính tổng nghich đảo của tất cả các số tự nhiên từ 1 đến N.
N
i
is1
N
i is
1
1
Sơ đồ bài 2, 3
I = 1; T = 0Nhập N
I <= N
I = i+1T = T + 1/i
In T
I = 1; T = 0Nhập N
I <= N
In T
I = I + 1T = T + i
Nhập số nguyên dương N và tính tổng của N số tự nhiên đầu tiên.
Nhập số nguyên dương N và tính tổng nghich đảo của tất cả các số tự nhiên từ 1 đến N.
Bài 3
Bài 4 Tính tổng nghịch đảo của bình
phương các số tự nhiên từ 1 đến N.
N
i is
12
1