Tải bản đầy đủ (.pdf) (14 trang)

C++ cho nguoi moi hoc bai 04

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (918.83 KB, 14 trang )

LẬP TRÌNH C CHO
NGƯỜI MỚI HỌC
Giảng viên: Thạc sĩ Trần Thanh Sơn
Trường Đại Học Khoa Học Tự Nhiên


BÀI 4: CẤU TRÚC MẢNG VÀ VÒNG LẶP
I. CẤU TRÚC MẢNG
II. VÒNG LẶP FOR
III. VÒNG LẶP WHILE
IV. VÒNG LẶP DO…WHILE

2


I. CẤU TRÚC MẢNG
1. Định nghĩa: Mảng là dãy các biến có cùng kiểu dữ liệu. Các biến này cùng tên
và phân biệt bởi chỉ số của chúng trong dãy.

2. Ví dụ:
• int a[5]: khai báo mảng a gồm 5 phần tử, mỗi phần tử là biến nguyên (kiểu
integer);

• float x[4]= {3.0, 2.5, 1.2, 4.5}: khai báo mảng x có 4 phần tử, mỗi phần tử
kiểu số thực và có khai báo trước:
x[0] = 3.0; x[1]=2,5;

x[2]=1.2;

x[3]= 4.5;


3


II. VÒNG LẶP FOR
For (<khởi gán>; <điều kiện lặp>; <cập nhật>)
{
<Khối lệnh>;

}





Khởi gán: Dùng để khởi gán giá trị ban đầu cho vòng lặp
Điều kiện lặp: Dùng để kiểm tra điều kiện trước khi thực hiện vòng lặp

Cập nhật: Dùng để cập nhật vòng lặp (tăng hoặc giảm chỉ số lặp) để dừng
Bất kỳ biểu thức nào trong 3 biểu thức nói trên đều có thể vắng nhưng
phải giữ dấu chấm phẩy (;)
4


II. VÒNG LẶP FOR (tt)
Bước 1: Khởi gán

Khởi gán

Bước 2: Kiểm tra điều kiện


Nếu đúng:
 Thực hiện lệnh/khối lệnh
 Cập nhật vòng lặp.
 Quay lại bước 2
Nếu sai: Thoát vòng lặp

Sai

Điều
kiện lặp

Đúng
Lệnh / Khối lệnh
Cập nhật vòng lặp
5


II. VÒNG LẶP FOR (tt)
Ví dụ: Cho người dùng nhập n phần tử của mảng
int i, n;
int a[100];// khai báo mảng a gồm 100 phần tử số nguyên
printf (“Nhap vao so phan tu cua mang”);
scanf_s(“%d”,&n);
for (i = 0;i{
printf(“\nNhap phan tu a[%d]: ”, i+1):
scanf_s(“%d”, &a[i]);
}
6



III. VÒNG LẶP WHILE
<khởi gán>;
while <điều kiện lặp>)
{
Lệnh/ Khối lệnh;
<cập nhật>
}
• Ý nghĩa: Nếu giá trị của điều kiện lặp còn đúng thì còn thực hiện lệnh/
khối lệnh.
• Trong vòng lặp lệnh / khối lệnh lặp ít nhất là 0 lần
• Lưu ý: Cách hoạt động của while giống for.

7


III. VÒNG LẶP WHILE

(tt)

Bước 1: Khởi gán
Khởi gán

Bước 2: Kiểm tra điều kiện

Nếu đúng:
 Thực hiện lệnh/khối lệnh
 Cập nhật vòng lặp.
 Quay lại bước 2
Nếu sai: Thoát vòng lặp


Sai

Điều
kiện lặp

Đúng

Lệnh / Khối lệnh
Cập nhật vòng lặp
8


III. VÒNG LẶP WHILE (tt)
Ví dụ: Cho người dùng nhập n phần tử của mảng
int i, n;
int a[100];// khai báo mảng a gồm 100 phần tử số nguyên
printf (“Nhap vao so phan tu cua mang”);
scanf_s(“%d”,&n);
i = 0;// bước khởi gán
while (i{
printf(“\nNhap phan tu a[%d]: ”, i):
scanf_s(“”, &a[i]);
i++;
}

9



III. VÒNG LẶP DO … WHILE
<Khởi gán>
Khởi gán

Do
{

Lệnh / Khối lệnh

<Lệnh/ Khối lệnh>;
<Cập nhật>;

Cập nhật vòng lặp

}while (điều kiện);
Ý nghĩa:
Thực hiện khối lệnh cho đến khi điều kiện sai thì dừng

Sai

Điều
kiện lặp

Đúng

Khối lệnh trong vòng lặp thực hiện ít nhất 1 lần
10


IV. VÒNG LẶP DO … WHILE (tt)

Ví dụ: Nhập số nguyên dương n. Tính tổng từ 1 đến n
int n, i, tong=0;
printf (“Nhap vao so nguyên n”);
scanf_s(“%d”,&n);
i = n;// bước khởi gán
do
{
Tong = tong + i;
i--;

} while (i>0);
11


SO SÁNH CÁC VÒNG LẶP

Vòng lặp for/while
• Kiểm tra điều kiện trước thực hiện công việc sau.
• Công việc có thể không được thực hiện lần nào.
• Vòng lặp kết thúc khi nào điều kiện sai.
Vòng lặp do-while
• Thực hiện công việc trước kiểm tra điều kiện sau.
• Công việc được thực hiện ít nhất 1 lần.
• Vòng lặp kết thúc khi nào điều kiện sai.
12


BÀI TẬP
 Bài 1: Cho người dùng nhập vào n số nguyên và tính tổng, tích các số
vừa nhập


Giải pháp:

• Các số nhập vào lưu vào trong 1 mảng số nguyên
• Khởi tạo biến: tổng = 0;tích = 1;
• Lặp lại: với mỗi phần tử của mảng, lấy cộng với tổng rồi gán cho
biến tổng. Lặp lại n lần

• tổng = tổng + a[i];
• Tương tự làm tích
• Xuất kết quả tổng, tích.

13


BÀI TẬP (tt)

 Bài 2: Tìm số lớn nhất trong mảng. Cho người dùng nhập vào
n số nguyên. In ra số lớn nhất, nhỏ nhất trong mảng.
Giải pháp:

• Các số nhập vào lưu vào trong 1 mảng số nguyên
• Khởi tạo min = max = a[0]; phần tử đầu mảng;
• Lặp lại: từ phần tử thứ a[1] đến cuối mảng a[n-1], phần tử a[i]
nào lớn hơn max, gán max = a[i] đó.

• Tương tự a[j] nào nhỏ hơn min, gán min = a[j] đó
• Xuất max, min ra màn hình

14




Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×