15
Các cấu trúc lặp Lê Văn Huỳnh

Cac cau truc lap

Embed Size (px)

Citation preview

Page 1: Cac cau truc lap

Các cấu trúc lặpLê Văn Huỳnh

Page 2: Cac cau truc lap

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();

}

Page 3: Cac cau truc lap

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();

}

Page 4: Cac cau truc lap
Page 5: Cac cau truc lap

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

Page 6: Cac cau truc lap

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.

Page 7: Cac cau truc lap

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>.

Page 8: Cac cau truc lap

Sơ đồ

Biểu thức

Các lệnh cần lặp

Page 9: Cac cau truc lap

Á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();

}

Page 10: Cac cau truc lap
Page 11: Cac cau truc lap

Bài 1

Page 12: Cac cau truc lap

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

Page 13: Cac cau truc lap

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.

Page 14: Cac cau truc lap

Bài 3

Page 15: Cac cau truc lap

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