Bài 11. Kiểu mảng

- 0 / 0
(Tài liệu chưa được thẩm định)
Nguồn:
Người gửi: Đỗ Thị Thúy Duyên (trang riêng)
Ngày gửi: 17h:51' 29-03-2020
Dung lượng: 803.0 KB
Số lượt tải: 606
Nguồn:
Người gửi: Đỗ Thị Thúy Duyên (trang riêng)
Ngày gửi: 17h:51' 29-03-2020
Dung lượng: 803.0 KB
Số lượt tải: 606
Số lượt thích:
0 người
1
CHỦ ĐỀ 3: KIỂU DỮ LIỆU CÓ CẤU TRÚC
BÀI 11. KIỂU MẢNG
2
Nhập vào nhiệt độ (trung bình) của mỗi ngày trong tuần. Tính và đưa ra màn hình nhiệt độ trung bình của tuần và số lượng ngày trong tuần có nhiệt độ cao hơn nhiệt trung bình của tuần?
* Dữ liệu nhập vào (INPUT):
* Dữ cần tính và in ra (OUTPUT):
Bài toán đặt vấn đề:
t1,t2,t3,t4,t5,t6,t7.
tb, dem.
3
* Ý tưởng
- Nhập nhiệt độ trung bình của 7 ngày
(t1, t2, ..., t7) trong tuần;
- Tính tb: = (t1+t2+t3+t4+t5+t6+t7) /7; đếm:= 0;
- Lần lượt so sánh các giá trị từ t1, t2, …, t7 với tb, nếu lớn hơn tb thì đếm lần lượt tăng lên 1;
- Đưa ra màn hình nhiệt độ tb tuần và số ngày có nhiệt độ lớn hơn mức tb
4
5
t
Giả sử ta xét bài toán trên với phạm vi trong một năm.
kiểu thực
chỉ số
Mảng
một chiều
được đánh số
(chỉ số)
Tập hợp
các phần tử
cùng kiểu
6
1. Kiểu mảng một chiều
Khái niệm:
Mảng một chiều là dãy hữu hạn các phần tử cùng kiểu. Các phần tử trong mảng có cùng chung một tên và phân biệt nhau bởi chỉ số.
Khái niệm:
Mảng một chiều là dãy hữu hạn các phần tử cùng kiểu. Các phần tử trong mảng có cùng chung một tên và phân biệt nhau bởi chỉ số.
7
A
1 2 3 4 5 6 7
Khi xây dựng và sử dụng mảng một chiều ta cần quan tâm đến các thành phần sau:
Khi tham chiếu đến phần tử thứ i ta viết A[i].
Ví dụ: A[5] = 19.
Tên mảng : A.
Số phần tử của mảng: 7.
Ví dụ:
Kiểu dữ liệu của các phần tử: Kiểu nguyên.
19
8
* Cách 2: Khai báo gián tiếp
Var : ;
Ví dụ: TYPE nhietdo = array[1..365] of integer;
Var A: nhietdo;
Trong đó : Chỉ số đầu, chỉ số cuối thường là các hằng hoặc biểu thức nguyên;
Chỉ số đầu chỉ số cuối;
Giữa 2 chỉ số là dấu ..
* Cách 1: Khai báo trực tiếp
Var : array[..] of ;
Var A,B : array[1..100] of real;
Ví dụ: Var nhietdo : array[1..365] of integer;
TYPE = array[..] of ;
1. Kiểu mảng một chiều
a. Khai báo
9
Tên biến mảng: là tên do người lập trình đặt theo qui tắc đặt tên trong Pascal.
Kiểu chỉ số: thường là một đoạn số nguyên liên tục có dạng n1..n2 với n1, n2 là các hằng hoặc biểu thức nguyên xác định chỉ số đầu và chỉ số cuối.
Ví dụ: Khai báo mảng một chiều biểu diễn dãy số sau:
Var A: array [1..100] of byte;
Cách 1
Type mang = array[1..100] of Byte;
Var A: mang;
Cách 2
Var B: array [-100..50] of char;
Type mang = array[-100..50] of char;
Var B: mang;
Cách 1
Cách 2
Ví dụ: Khai báo mảng một chiều biểu diễn dãy số sau:
A
B
10
Ví dụ 5: Khai báo một mảng gồm 10 phần tử, mà các phần tử là số thực:
var R: array[-3..6] of real;
type Kst= array[-3..6] of real;
var R: Kst;
R
Cách 1
Cách 2
11
* Tham chiếu tới phần tử của mảng một chiều:
tên_mảng[chỉ số]
Ví dụ:
A[4] : phần tử chỉ số 4 của mảng A
B[-8] : phần tử chỉ số -8 của mảng B
Như vậy, tham chiếu tới phần tử của mảng một chiều được xác định bởi
tên mảng cùng với chỉ số được viết trong cặp ngoặc vuông [ ]
12
Giả sử ta có khai báo mảng như sau:
var A:array[1..10] of char;
A
Để có được giá trị là kí tự “M”, ta viết như sau: A[8]
Để có được giá trị là kí tự “E”, ta viết như sau: A[3]
13
Câu 1. Khai báo kiểu mảng một chiều nào sau đây là hợp lệ:
Var mangA = array[1..10] of real;
Type mangA : array[1..10] of real;
Var mangA: array[1..10] of real;
Type mangA : array[1..10] of real;
Var A = mangA;
CÂU HỎI TRẮC NGHIỆM
14
CÂU HỎI TRẮC NGHIỆM
Câu 2. Phát biểu nào sau đây là đúng:
Mảng một chiều là dãy vô hạn các phần tử cùng kiểu dữ liệu;
Mảng một chiều là dãy hữu hạn các phần tử khác kiểu dữ liệu;
Mảng một chiều là dãy hữu hạn các phần tử cùng kiểu dữ liệu.
3
15
CÂU HỎI TRẮC NGHIỆM
Câu 3. Hãy chọn khai báo đúng trong các khai báo trực tiếp sau:
var 2A:array[1..20] of integer;
var A:array[1-20] of integer;
var A:array[1..20] of integer;
var A:array(1..20) of integer;
3
16
Khai báo mảng một chiều
Các yếu tố mô tả mảng một chiều
Khái niệm mảng một chiều
KIẾN THỨC CẦN NHỚ
CHỦ ĐỀ 3: KIỂU DỮ LIỆU CÓ CẤU TRÚC
BÀI 11. KIỂU MẢNG
2
Nhập vào nhiệt độ (trung bình) của mỗi ngày trong tuần. Tính và đưa ra màn hình nhiệt độ trung bình của tuần và số lượng ngày trong tuần có nhiệt độ cao hơn nhiệt trung bình của tuần?
* Dữ liệu nhập vào (INPUT):
* Dữ cần tính và in ra (OUTPUT):
Bài toán đặt vấn đề:
t1,t2,t3,t4,t5,t6,t7.
tb, dem.
3
* Ý tưởng
- Nhập nhiệt độ trung bình của 7 ngày
(t1, t2, ..., t7) trong tuần;
- Tính tb: = (t1+t2+t3+t4+t5+t6+t7) /7; đếm:= 0;
- Lần lượt so sánh các giá trị từ t1, t2, …, t7 với tb, nếu lớn hơn tb thì đếm lần lượt tăng lên 1;
- Đưa ra màn hình nhiệt độ tb tuần và số ngày có nhiệt độ lớn hơn mức tb
4
5
t
Giả sử ta xét bài toán trên với phạm vi trong một năm.
kiểu thực
chỉ số
Mảng
một chiều
được đánh số
(chỉ số)
Tập hợp
các phần tử
cùng kiểu
6
1. Kiểu mảng một chiều
Khái niệm:
Mảng một chiều là dãy hữu hạn các phần tử cùng kiểu. Các phần tử trong mảng có cùng chung một tên và phân biệt nhau bởi chỉ số.
Khái niệm:
Mảng một chiều là dãy hữu hạn các phần tử cùng kiểu. Các phần tử trong mảng có cùng chung một tên và phân biệt nhau bởi chỉ số.
7
A
1 2 3 4 5 6 7
Khi xây dựng và sử dụng mảng một chiều ta cần quan tâm đến các thành phần sau:
Khi tham chiếu đến phần tử thứ i ta viết A[i].
Ví dụ: A[5] = 19.
Tên mảng : A.
Số phần tử của mảng: 7.
Ví dụ:
Kiểu dữ liệu của các phần tử: Kiểu nguyên.
19
8
* Cách 2: Khai báo gián tiếp
Var
Ví dụ: TYPE nhietdo = array[1..365] of integer;
Var A: nhietdo;
Trong đó : Chỉ số đầu, chỉ số cuối thường là các hằng hoặc biểu thức nguyên;
Chỉ số đầu chỉ số cuối;
Giữa 2 chỉ số là dấu ..
* Cách 1: Khai báo trực tiếp
Var
Var A,B : array[1..100] of real;
Ví dụ: Var nhietdo : array[1..365] of integer;
TYPE
1. Kiểu mảng một chiều
a. Khai báo
9
Tên biến mảng: là tên do người lập trình đặt theo qui tắc đặt tên trong Pascal.
Kiểu chỉ số: thường là một đoạn số nguyên liên tục có dạng n1..n2 với n1, n2 là các hằng hoặc biểu thức nguyên xác định chỉ số đầu và chỉ số cuối.
Ví dụ: Khai báo mảng một chiều biểu diễn dãy số sau:
Var A: array [1..100] of byte;
Cách 1
Type mang = array[1..100] of Byte;
Var A: mang;
Cách 2
Var B: array [-100..50] of char;
Type mang = array[-100..50] of char;
Var B: mang;
Cách 1
Cách 2
Ví dụ: Khai báo mảng một chiều biểu diễn dãy số sau:
A
B
10
Ví dụ 5: Khai báo một mảng gồm 10 phần tử, mà các phần tử là số thực:
var R: array[-3..6] of real;
type Kst= array[-3..6] of real;
var R: Kst;
R
Cách 1
Cách 2
11
* Tham chiếu tới phần tử của mảng một chiều:
tên_mảng[chỉ số]
Ví dụ:
A[4] : phần tử chỉ số 4 của mảng A
B[-8] : phần tử chỉ số -8 của mảng B
Như vậy, tham chiếu tới phần tử của mảng một chiều được xác định bởi
tên mảng cùng với chỉ số được viết trong cặp ngoặc vuông [ ]
12
Giả sử ta có khai báo mảng như sau:
var A:array[1..10] of char;
A
Để có được giá trị là kí tự “M”, ta viết như sau: A[8]
Để có được giá trị là kí tự “E”, ta viết như sau: A[3]
13
Câu 1. Khai báo kiểu mảng một chiều nào sau đây là hợp lệ:
Var mangA = array[1..10] of real;
Type mangA : array[1..10] of real;
Var mangA: array[1..10] of real;
Type mangA : array[1..10] of real;
Var A = mangA;
CÂU HỎI TRẮC NGHIỆM
14
CÂU HỎI TRẮC NGHIỆM
Câu 2. Phát biểu nào sau đây là đúng:
Mảng một chiều là dãy vô hạn các phần tử cùng kiểu dữ liệu;
Mảng một chiều là dãy hữu hạn các phần tử khác kiểu dữ liệu;
Mảng một chiều là dãy hữu hạn các phần tử cùng kiểu dữ liệu.
3
15
CÂU HỎI TRẮC NGHIỆM
Câu 3. Hãy chọn khai báo đúng trong các khai báo trực tiếp sau:
var 2A:array[1..20] of integer;
var A:array[1-20] of integer;
var A:array[1..20] of integer;
var A:array(1..20) of integer;
3
16
Khai báo mảng một chiều
Các yếu tố mô tả mảng một chiều
Khái niệm mảng một chiều
KIẾN THỨC CẦN NHỚ
 







Các ý kiến mới nhất