Bài 7: Câu lệnh lặp (2)

0
1203

7.1 Lệnh while

Vòng lặp thực hiện lặp lại khối lệnh trong khi biểu thức còn đúng

+ Cú pháp:

while (biểu thức)

<khối lệnh>;

Diễn giải:

– Biểu thức: có thể là một biểu thức hoặc nhiều biểu thức con. Nếu là nhiều biểu thức con thì cách nhau bởi dấu phẩy (,) và tính đúng sai của biểu thức được quyết định bởi biểu thức con cuối cùng.

– Trong thân while (<khối lệnh>) có thể chứa một hoặc nhiều cấu trúc điều khiển khác.

– Trong thân while có thể sử dụng lệnh continue để chuyển đến đầu vòng lặp (bỏ qua các câu lệnh còn lại trong thân).

– Muốn thoát khỏi vòng lặp while tùy ý có thể dùng các lệnh break, goto, return như trong lệnh for.

Ý nghĩa: Trước tiên biểu thức được kiểm tra, nếu sai thì kết thúc vòng lặp while (<khối lệnh> không được thi hành1 lần nào) nếu đúng thực hiện khối lệnh; lặp lại kiểm tra biểu thức

 

Ví dụ 1Viết chương trình in ra n số tự nhiên đầu tiên.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <studio>
#include <studio>
#include <studio>
void main(void)
{
      int in,i=0;
      printf(“nhap gia tri n”);
      scanf(“%d”,&in)
      while (i++ <=n)
           printf("%d", i);
      getch();
}

Ví dụ 2:  Viết chương trình tính tổng các số nguyên từ 1 đến n, với n được nhập vào từ bàn phím.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include <studio>
#include <studio>
#include <studio>
void main(void)
{
int i = 0, in, is = 0;
   printf("Nhap vao so n: ");
scanf("%d", &in);
while (i++ < in)
     is = is + i; //hoac is += i;
printf("Tong: %d", is);
getch();
}

7.2 Lệnh do-while

Vòng lặp thực hiện lặp lại khối lệnh cho đến khi biểu thức cho gia trị sai.

+ Cú pháp:

do

<khối lệnh>;

while (biểu thức);

Diễn giải:

– Biểu thức: có thể là một biểu thức hoặc nhiều biểu thức con. Nếu là nhiều biểu thức con thì cách nhau bởi dấu phẩy (,) và tính đúng sai của biểu thức được quyết định bởi biểu thức con cuối cùng.

– Trong thân do…while (<khối lệnh>) có thể chứa một hoặc nhiều cấu trúc điều khiển khác.

– Trong thân do…while có thể sử dụng lệnh continue để chuyển đến đầu vòng lặp (bỏ qua các câu lệnh còn lại trong thân).

– Muốn thoát khỏi vòng lặp do…while tùy ý có thể dùng các lệnh break, goto, return

Ý nghĩa

Thực hiện khối lệnh. Kiểm tra biểu thức, nếu đúng thì lặp lại thực hiện khối lệnh, nếusai thì kết thúc vòng lặp.

 

Ví dụ 3:  Viết chương trình kiểm tra password.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include <studio>
#include <studio>
# define PASSWORD 12345
void main(void)
{
int in;
do
{
    printf("Nhap vao password: ");
    scanf("%d", &in);
}
    while (in != PASSWORD)
}

7.3 Bài tập thực hành

1. Viết chương trình tìm USCLN, BSCNN của 2 số.

2. Viết chương trình nhập vào một số và kiểm tra xem số đó có phải là số nguyên tố hay không?

3. Viết chương trình tính số hạng thứ n của dãy Fibonaci.

Dãy Fibonaci là dãy số gồm các số hạng p(n) với:

p(n) = p(n-1) + p(n-2) với n>2 và p(1) = p(2) = 1

Dãy Fibonaci sẽ là: 1 1 2 3 5 8 13 21 34 55 89 144…

4. Viết chương trình in ra bảng cửu chương

5. Viết chương trình xác định xem một tờ giấy có độ dày 0.1 mm. Phải gấp đôi tờ giấy bao nhiêu lần để nó có độ dày 1m.

6. Viết chương trình tìm các số nguyên tố từ 2 đến N, với N được nhập vào.

7. Viết chương trình tính biểu thức: 1-2+3-4+…+(2n-1)-2n

Leave a Reply