cấu trúc do while
TRANSCRIPT
Các cấu trúc lặpdo…while
Lê Văn Huỳnh
Một cấu trúc lặp khác Cấu trúc do…while
do {<các lệnh>
} while (<biểu thức>);
Ý nghĩa: Lặp lại việc thực hiện <các lệnh> chừng nào <biểu thức> còn đúng.
Chú ý: cặp ngoặc {…} là bắt buộc, cho dù trong đó có 1 lệnh, nhiều lệnh hay không có lệnh nào.
Sơ đồ
Biểu thức
Các lệnh cần lặp
#include <stdio.h>
void main(){
int a, n;
printf(“\nCho n: “);
scanf(“%d”, &n);
int i = 1, T = 0;
do {
printf(“\nCho a: “);
scanf(“%d”, &a);
T += a;
} while (++i < = N);
printf(“\nTong = %d”, T);
getch();
}
Áp dụng vào bài toán
Thực hành Nhập từ bàn phím n số nguyên. Tính tổng
các số lẻ và tổng các số chẵn trong các số đã nhập và in kết quả lên màn hình.
Nhập 2 số nguyên dương N1 và N2 và tính tổng của các số tự nhiên từ N1 đến N2.
Nhập số thực x và nguyên dương N, tính gần đúng hàm sin(x) theo dãy số sau.
2
1
N
Ni
is
N
i
ii xxxx
i
xx
0
7531*2
...!7!5!3)!1*2(
)1()sin(
Sơ đồ bài 1
Nhap N, Tc = 0, Tl =0, I = 1
A%2 = 1?
Tl = Tl+AI = I + 1
Tc = Tc+AI = I + 1
I <= N
In Tl và Tc
Nhap A
do
if else
while
Sơ đồ bài 2
Nhap N1, N2, T=0, i = N1
T = T+ii = i + 1
i <= N2
In T
Nhập 2 số nguyên dương N1 và N2 và tính tổng của các số tự nhiên từ N1 đến N2
int N1, N2;printf(“\nCho N1, N2: “);scanf(“%d%d”, &N1, &N2);int T = 0, i = N1;
do { T += i++;} while (i <= N2);
printf(“\nT = %d”, T);
Sơ đồ bài 3 Nhap N, xS = x, A = x, i = 1
S = S + Ai=i+1
I <= N
In S
)12(*2*
2
ii
xAA
N
i
ii xxxx
i
xx
0
7531*2
...!7!5!3)!1*2(
)1()sin(