Chào mừng các thầy cô
và các em học sinh
Trường
: Trường ĐHSP Hà Nội
Lớp-Khoa : K65A – Khoa CNTT
Môn
: Ứng dụng CNTT trong dạy học
Giảng viên : Thầy Nguyễn Duy Hải
Sinh viên : Nguyễn Thị Kim Dung
Mã sv
5/18/18
Bài 11 - Kiểu mảng
: 655102006
1
KIỂM TRA BÀI CŨ
- Có 4/6 từ hàng ngang – cũng chính là 4 gợi ý liên quan đến CHƯỚNG NGẠI VẬT mà các em phải đi
tìm.
- Mỗi câu hỏi được trả lời trong 15 giây.
- Có một câu hỏi liên quan đến từ khóa cần tìm và các em có thể lựa chọn luôn câu hỏi khóa để trả
lời.
- Nếu trả lời đúng từ khóa cần tìm, thì bạn chính là người giành chiến thắng trong phần chơi này.
5/18/18
Bài 11 - Kiểu mảng
2
Phần thi: VƯỢT CHƯỚNG NGẠI VẬT
(4 ký tự)
0
1
R
2
L
3
(4 ký tự)
E
A
L
B
O
O
L
E
A
N
O
N
G
I
N
T
(7 ký tự)
4
I
N
T
E
G
5
C
H
A
R
(7 ký tự)
E
R
(7 ký tự)
(4 ký tự)
6
Từ khóa
(7 ký tự)
Đây là một kiểu dữ liệu chuẩn trong ngôn ngữ lập trình Pascal ?
Câu 1: Kiểu chiếm 6 Byte bộ nhớ; những con số như: 9.5, 10.0…
5
Câu 2: Giá trị True hoặc False thuộc kiếu dữ liệu này.
4
Câu 3: Thuộc kiểu số nguyên chiếm 4 Byte bộ nhớ.
3
Câu 4: Chiếm 2 Byte bộ nhớ, thuộc kiểu số nguyên.
2
Câu 5: 256 kí tự trong bộ mã ASCII thuộc kiểu DL này.
5/18/18
Bài 11 - Kiểu mảng
1
3
Bài toán: “ Viết chương trình nhập vào dãy số nguyên lẻ có 10 phần tử lần
lượt là: 1, 3, 5, 7, 9, 11, 13, 15, 17, 19”.
5/18/18
Bài 11 - Kiểu mảng
4
Đoạn chương trình nhập vào dãy số nguyên có 10 phần tử
Trong đoạn chương trình trên cần
khai báo bao nhiêu biến?
5/18/18
Bài 11 - Kiểu mảng
10 Biến
5
3
Trong trường hợp cần nhập dãy số nguyên có 10 phần tử hoặc nhiều hơn thì
phải làm sao?
Đoạn chương
Cần tối ưu đoạn chương trình
5/18/18
Bài 11 - Kiểu mảng
Ôi quá trời! Khai
trình nhìn phức
báo đến 1000 biến.
tạp!
Bằng cách nào?
6
Sự cần thiết của mảng một chiều
Đoạn chương trình sử dụng mảng 1 chiều
3
nhập vào dãy số có 10 =1000 phần tử.
Bài 11: KIỂU
MẢNG
5/18/18
Bài 11 - Kiểu mảng
7
Chương IV
KIỂU DỮ LIỆU CÓ CẤU TRÚC
§11. KIỂU MẢNG
(tiết 1)
5/18/18
Bài 11 - Kiểu mảng
8
NỘI DUNG CHÍNH
Đặt vấn đề
Định nghĩa mảng một chiều
a) Khai báo
Khai báo trực tiếp
Khai báo gián tiếp
Tham chiếu tới phần tử của mảng
5/18/18
Bài 11 - Kiểu mảng
9
ĐẶT VẤN ĐỀ
Viết chương trình nhập và xuất 5 số nguyên.
-
Input: nhập 5 giá trị có kiểu dữ liệu là số nguyên.
Output: xuất 5 giá trị ra màn hình.
Khai báo 5 biến kiểu số nguyên: a1, a2, a3, a4, a5.
5/18/18
Bài 11 - Kiểu mảng
10
ĐẶT VẤN ĐỀ
a2
a3
a4
a1
a5
5/18/18
Bài 11 - Kiểu mảng
11
ĐẶT VẤN ĐỀ
A
a2
a3
Kiểu mảng một
a4
chiều
a1
a5
5/18/18
Bài 11 - Kiểu mảng
12
Hãy cùng nhau liên
1
tưởng mảng 1 chiều!
5/18/18
Bài 11 - Kiểu mảng
13
2
3
4
5
6
7
1. MẢNG MỘT CHIỀU
- Khái niêm mảng một chiều:
Mảng một chiều là một dãy hữu hạn các phần tử có cùng một kiểu dữ
liệu.
Mảng được đặt tên và mỗi phần tử của nó có một chỉ số.
5/18/18
Bài 11 - Kiểu mảng
14
1. MẢNG MỘT CHIỀU
Mảng 1 chiều là một dãy hữu hạn các phần tử cùng kiểu. Mảng được đặt tên và các
phần tử của nó có một chỉ số.
Các yếu tố các định mảng 1 chiều gồm
Những yếu tố cần thiết nào
có:
để xác định mảng 1 chiều?
-Tên kiểu mảng 1 chiều;
- Số lượng phần tử;
- Kiểu dữ liệu của phần tử;
- Kiểu dữ liệu của chỉ số và phạm vi của chỉ số.
5/18/18
Bài 11 - Kiểu mảng
15
a) Cách khai báo
Cách 1: khai báo trực tiếp
Var
<tên biến mảng>: array[kiểu chỉ số] of <kiểu phần tử>;
Trong đó: <tên biến mảng> : tên của mảng;
<kiểu chỉ số>
: thường là một đoạn số nguyên liên tục n1..n2
<kiểu phần tử> : kiểu dữ liệu của phần tử
* <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 không được là kiểu số thực, thường
là hằng số hoặc biểu thức nguyên xác định chỉ số đầu và chỉ số cuối và n1≤ n2.
5/18/18
Bài 11 - Kiểu mảng
16
a) Cách khai báo
Ví dụ 1: Khai báo mảng 8 phần tử kiểu số nguyên
Var
SoNguyen : array[1..8] of integer;
SoNguyen
5/18/18
12
23
34
25
16
70
8
1
1
2
3
4
5
6
7
8
Bài 11 - Kiểu mảng
17
a) Cách khai báo
Ví dụ 2: khai báo mảng 10 phần tử kiểu kí tự.
Var
Kitu : array[1..10] of char;
Kitu
5/18/18
‘M’
‘A’
‘N’
‘C’
‘H’
‘E’
‘S’
‘T’
‘E’
‘R’
1
2
3
4
5
6
7
8
9
10
Bài 11 - Kiểu mảng
18
a) Cách khai báo
Ví dụ 3:
Var
B : array[-5..2] of boolean;
B
5/18/18
true
true
false
false
true
false
true
false
-5
-4
-3
-2
-1
0
1
2
Bài 11 - Kiểu mảng
19
a) Cách khai báo
Cách 2: khai báo gián tiếp
type
Var
biến mảng>
=: array[kiểu chỉ số] of <kiểu phần tử>;
Var
<tên biến mảng> : <tên kiểu mảng>;
Ví dụ: Type SoNguyen = array[1..8] of integer;
Kitu = array[1..10] of char;
Var a, b, c: SoNguyen;
M, N : Kitu;
5/18/18
Bài 11 - Kiểu mảng
20
Tham chiếu tới phần tử của mảng
•Ví dụ: Var B : array[1..8] of integer;
•Cách truy xuất phần tử: Tên mảng[vị trí];
B
Vị trí
10
23
-5
-5
9
43
33
17
17
1
2
3
4
5
6
7
B[3]=
B[7]=
5/18/18
Bài 11 - Kiểu mảng
21
59
8
Hãy nhớ
Mảng 1 chiều là 1 dãy hữu hạn các phần tử có cùng kiểu.
15 20 19 25 18 12 16
Khai báo : tên mảng; kiểu chỉ số (gồm chỉ số đầu và chỉ số
Var A:ARRAY[1..100] OF integer;
cuối); kiểu phần tử.
A[5] = 18
Tham chiếu phần tử mảng:
tên biến mảng[chỉ số phần tử];
Nhiều thao tác xử lí mảng sử dụng cấu trúc lặp
FOR..TO..DO
5/18/18
Bài 11 - Kiểu mảng
22
CỦNG CỐ BÀI HỌC
Một số câu hỏi trắc nghiệm ôn lại bài học
5/18/18
Bài 11 - Kiểu mảng
?
23
Quiz
Phần thi: VỀ ĐÍCH
Click the Quiz button to edit this object
THỂ LỆ TRÒ CHƠI
- Phần thi gồm 5 câu hỏi, mỗi câu 2 điểm.
-Học sinh sẽ thực hiện phần thi sau khi học xong bài học này nhé!
Chúc các em học sinh học tập tốt!
5/18/18
Bài 11 - Kiểu mảng
24
A
Phần thi: VỀ ĐÍCH
B
a. var A: Mang_nguyen;
1. Var Mang_thuc=array[0..100] of integer;
b. var B=aray [0..25] of boolean;
c. Type C=array [-150..150] of real;
2. type
Mang_Nguyen=array[1..100] of real;
d. Khai báo biến mảng thực gồm có 100 phần tử kiểu
nguyên.
3. Khai báo kiểu mảng gồm 50 phần tử kiểu logic.
4. Khai báo kiểu mảng số thực gồm có 300 phần tử.
e.type B:aray [0..25] of boolean;
f .Type B=aray [-25..25] of boolean;
g.Type
Mang_thuc=array[1..300] of integer;
Đáp án:
1-h, 2-a, 3-f, 4-c
5/18/18
h. Khai báo Mảng gồm 101 phần tử kiếu số nguyên.
Bài 11 - Kiểu mảng
25