Bài 11. Kiểu mảng

Chia sẻ bởi Nguyễn Ngọc Phú | Ngày 10/05/2019 | 49

Chia sẻ tài liệu: Bài 11. Kiểu mảng thuộc Tin học 11

Nội dung tài liệu:

Bài 11: KIỂU MẢNG
Người trình bày: Nguyễn Ngọc Phú
3/23/2017
1
Tin học 11 - Chương 4 - Bài 11:Kiểu mảng
3/23/2017
Tin học 11 - Chương 4 - Bài 11:Kiểu mảng
Slide 2
THỂ LỆ TRÒ CHƠI
- Câu hỏi liên quan đến từ KHÓA sẽ được HÉ LỘ sau câu hỏi thứ 3. Trả lời đúng từ khóa sẽ dành được 30 điểm.
- Mỗi câu hỏi được trả lời trong 15 giây.
- Sau khi câu hỏi được trình chiếu hs đưa tay dành quyền trả lời (ưu tiên cho hs chưa trả lời câu nào)
- Lượt đầu tiên trả lời sai
L
O
G
I
H
C
A
R
N
T
E
G
E
R
I
T
N
N
O
L
O
B
N
L
A
E
A
E
R
1
2
3
4
5
Câu 1: Kiểu chiếm 6 Byte bộ nhớ; những con số như: 9.5, 10.0 thuộc kiểu dữ liệu này ?
Câu 2: Giá trị True hoặc False thuộc kiếu dữ liệu này ?
Câu 3: Thuộc kiểu số nguyên chiếm 4 Byte bộ nhớ ?
Câu 4: Chiếm 2 Byte bộ nhớ, thuộc kiểu số nguyên ?
Câu 5: 256 kí tự trong bộ mã ASCII thuộc kiểu dữ liệu này ?
( 4 ký tự )
( 7 ký tự )
( 7 ký tự )
( 7 ký tự)
( 4 ký tự )
( 5 ký tự)
1
2
3
4
5
Từ khóa
Trò Chơi Kiểu Dữ Liệu Chuẩn Trong Pascal
Một kiểu dữ liệu chuẩn trong ngôn ngữ lập trình Pascal ?
Back
3/23/2017
3
Tin học 11 - Chương 4 - Bài 11:Kiểu mảng
3/23/2017
Tin học 11 - Chương 4 - Bài 11:Kiểu mảng
Slide 4
Các Kiểu Dữ Liệu Chuẩn Trong Pascal
3/23/2017
Tin học 11 - Chương 4 - Bài 11:Kiểu mảng
Slide 5
Kiểu Dữ Liệu Có Cấu Trúc
Kiểu dữ liệu chuẩn
Kiểu dữ liệu có cấu trúc
+ Không đủ đáp ứng cho việc lưu trữ dữ liệu để giải các bài toán trong thực tế.

+ Được xây dựng từ những kiểu dl cơ sở theo cách thức tạo kiểu do ngôn ngữ lập trình qui định.
+ Hữu ích trong việc giải quyết một số bài toán thường gặp trong thực tế
3/23/2017
Tin học 11 - Chương 4 - Bài 11:Kiểu mảng
Bài toán: “ Viết chương trình nhập vào dãy số nguyên có 10 phần tử lần lượt là: 1, 3, 5, 7, 11, 13, 15, 17, 19”.
6
3/23/2017
Tin học 11 - Chương 4 - Bài 11:Kiểu mảng
Slide 7
Đoạn chương trình nhập vào dãy số có 10 phần tử
Trong đoạn chương trình trên cần khai báo bao nhiêu biến?
10 Biến
3/23/2017
Tin học 11 - Chương 4 - Bài 11:Kiểu mảng
Slide 8
Trong trường hợp cần nhập dãy số nguyên có 1000 phần tử hoặc nhiều hơn thì phải làm sao?
Ôi quá trời !Khai báo đến 1000 biến.
Đoạn chương trình nhìn phức tạp!
Cần tối ưu đoạn chương trình
Bằng
cách nào?
Bài 11: Kiểu Mảng
So sánh
Nội dung tiết 1
1. Khái niệm mảng một chiều
4. Truy xuất phần tử mảng một chiềiu
Tóm tắt nội dung
Bài 11: Kiểu Mảng
BÀI 11: KIỂU MẢNG
6. Một số chương trình về mảng một chiều
3/23/2017
9
Tin học 11 - Chương 4 - Bài 11:Kiểu mảng
10
Đoạn chương trình sử dụng mảng 1 chiều nhập vào dãy số có 103 =1000 phần tử
Sự cần thiết của mảng một chiều
So sánh
3/23/2017
Tin học 11 - Chương 4 - Bài 11:Kiểu mảng
Tin học 11 - Chương 4 - Bài 11:Kiểu mảng
3/23/2017
1. Khái niệm mảng 1 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 có:

Những yếu tố cần thiết nào để xác định mảng 1 chiều?
Minh hoạ
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ố.
Trong đó:
11
Tin học 11 - Chương 4 - Bài 11:Kiểu mảng
3/23/2017
1. Khái niệm mảng 1 chiều (tt):
Tên kiểu mảng 1 chiều: là tên của mảng sẽ được tạo ra ( không khoảng trắng, tuân theo qui tắc đặt tên trong Pascal)
Số lượng phần tử: số phần tử của mảng
Kiểu dữ liệu của phần tử: cũng chính là kiểu dl của mảng (kiểu nguyên, thực, lôgic,..)
Kiểu dữ liệu của chỉ số và phạm vi của 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à hằng số hoặc biểu thức nguyên xác định chỉ số đầu và chỉ số cuối (n1≤n2)
Ví dụ: [1..10] trong đó n1=1, n2=100;
[-n+1..n+1] trong đó n1=-n+1, n2=n+1;
Số nguyên đầu tiên trong đoạn là chỉ số của pt thứ 1 trong mảng, số nguyên tiếp theo là chỉ số của pt thứ 2 trong mảng, cứ như vậy,.. giá trị cuối cùng là chỉ số của phần tử cuối cùng trong mảng. Do vậy, khi xác định kiểu chỉ số của một mảng (một chiều) người lập trình đã xác định cả kích thước của mảng (số lượng các pt của mảng)

12
Tin học 11 - Chương 4 - Bài 11:Kiểu mảng
3/23/2017
13

Mảng 1 chiều không phải là kiểu dl chuẩn trong Pascal, nên khi có nhu cầu sử dụng thì người lập trình phải khai báo. Làm thế nào để khai báo kiểu mảng 1 chiều
Tin học 11 - Chương 4 - Bài 11:Kiểu mảng
3/23/2017
14
2. Khai báo KIỂU mảng 1 chiều
Mảng là kiểu dữ liệu có cấu trúc nên trước khi sử dụng, chúng ta phải định nghĩa kiểu theo cú pháp sau:
type
= array[] of ;
: là tên của kiểu mảng do chúng ta tự đặt ( lưu
ý: theo qui tắc đặt tên biến trong Pascal)
Trong đó:
: 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ặ biểu thức nguyên xác định chỉ số đầu và chỉ số cuối (n1≤ n2)
: kiểu dữ liệu của từng phần tử mảng ( cũng là kiểu dl của mảng)
type: là từ khoá được dùng khi định nghĩa kiểu dữ liệu mới.
Tin học 11 - Chương 4 - Bài 11:Kiểu mảng
3/23/2017
2. Khai báo KIỂU mảng 1 chiều (tt)
Ví dụ:
type
ArrayInt = array [1..300] of integer;
ArrayInt = array [-n+1..n+1] of boolean;
ArrInt= array [-100..0] of integer;
type
ArrayReal = array [1.5..300] of integer;
ArrayBoolean = array [-n+1…n +1] of boolean;
ArrInt = array [100..0] of integer;
Các khai báo KIỂU mảng 1 chiều hợp lệ
Các khai báo KIỂU mảng 1 chiều không hợp lệ
(n là hằng số)
Ví dụ:
15
Tin học 11 - Chương 4 - Bài 11:Kiểu mảng
3/23/2017
Cú pháp khai báo 1 biến thuộc kiểu dữ liệu chuẩn trong Passcal
16
Tin học 11 - Chương 4 - Bài 11:Kiểu mảng
3/23/2017
Slide 17
3. Khai báo BIẾN kiểu mảng 1 chiều
a. Khai báo trực tiếp ( khai báo tường minh)
Để khai báo biến mảng một chiều theo cách tường minh, chúng ta thực hiện cú pháp sau:

var
: array [ ] of ;
Trong đó:
: do người lập trình đặt, đúng theo cú pháp đặt tên biến của Pascal
: thường là một đoạn số nguyên liên tục n1..n2
: kiểu dữ liệu của các phần tử trong mảng
Ví dụ:
var
Gio_hoc:array[1..8] of integer;
Khai báo biến mảng Gio_hoc là mảng một chiều có 8 phần tử thuộc kiểu số nguyên.
Tin học 11 - Chương 4 - Bài 11:Kiểu mảng
3/23/2017
3. Khai báo BIẾN kiểu mảng 1 chiều
a. Khai báo trực tiếp ( khai báo ttường minh)
Ví dụ:
var
MangLogic : array [-n..n] of boolean;
khai báo biến mảng một chiều có tên là MangLogic, gồm 2n phần tử, kiểu dữ liệu phần tử là kiểu lôgic

var
MangThuc : array[1..100] of real;
khai báo biến mảng một chiều có tên là MangThuc, gồm 100 phần tử, kiểu dữ liệu phần tử là kiểu số thực.

18
Tin học 11 - Chương 4 - Bài 11:Kiểu mảng
3/23/2017
19
3. Khai báo BIẾN kiểu mảng 1 chiều
b. Khai báo gián tiếp ( khai báo không tường minh)
Khai báo gián tiếp (không tường minh) là gì?
Khai báo KIỂU trước
Khai báo BIẾN sau
Tin học 11 - Chương 4 - Bài 11:Kiểu mảng
3/23/2017
20
Cú pháp khai báo biến kiểu không tường minh như sau:
type
= array[] of < kiểu phần tử>;
var
: ;
3. Khai báo BIẾN kiểu mảng 1 chiều
b. Khai báo gián tiếp ( khai báo không tường minh) (tt)
Trong đó:
: định nghĩa mảng một chiều, do người lập trình tự đặt.
: là danh sách chỉ số để truy cập đến phần tử của mảng.
: là kiểu dữ liệu của phần tử mảng.
: là biến thuộc kiểu mảng vừa khai báo.
Ví dụ :
type
ArrayInt= array [1..100] of integer;
A: ArrayInt;

Trước tiên, chúng ta định nghĩa ra mảng một chiều ArrayInt gồm có 100 phần tử thuộc kiểu số nguyên
- Sau đó, khai báo biến A thuộc kiểu mảng ArrayInt
Tin học 11 - Chương 4 - Bài 11:Kiểu mảng
3/23/2017
21
3. Khai báo BIẾN kiểu mảng 1 chiều
b. Khai báo gián tiếp ( khai báo không tường minh) (tt)
Ví dụ:
type
HocSinh = array [1..30] of String;
HS: HocSinh;

- Trước tiên, định nghĩa mảng Hocsinh là mảng một chiều có 30 phần tử thuộc kiểu chuỗi ký tự (String).
- Sau đó, khai báo biến HS thuộc kiểu mảng HocSinh.
Tin học 11 - Chương 4 - Bài 11:Kiểu mảng
3/23/2017
22
3. Khai báo BIẾN kiểu mảng 1 chiều (tt)
Lưu ý : trong lập trình người ta thường khai báo kiểu không tường minh hơn là kiểu tường minh. Minh hoạ
Game
Tin học 11 - Chương 4 - Bài 11:Kiểu mảng
3/23/2017
23
Dãy số A ở đầu bài học có thể được minh hoạ như sau:
Trong đó:
+ Xem dãy A là một mảng 1 chiều.
+ Mỗi phần tử của dãy A tương ứng với 1 phần tử của mảng.
1
3
5
7
11
13
15
17
19
1
2
3
4
5
6
7
8
9
9
10
Thứ tự (chỉ số )phần tử
Dãy số A ( Mảng A)
-> Tham chiếu đến 1 phần tử thuộc dãy A chính là tham chiếu đến phần tử thuộc mảng A. Vậy tham chiếu đến một phần tử của mảng 1 chiều bằng cách nào?
Tin học 11 - Chương 4 - Bài 11:Kiểu mảng
3/23/2017
24
Mỗi phần tử của mảng được truy xuất theo tên của biến và chỉ số của chúng nằm trong dấu ngoặc vuông ([ ])
4. Truy xuất đến phần tử của mảng 1 chiều
Ví dụ:
MangSo
Tin học 11 - Chương 4 - Bài 11:Kiểu mảng
3/23/2017
4. Truy xuất đến phần tử của mảng 1 chiều (tt)
Với cách tham chiếu đến phần tử như thế thì sẽ tính tổng các phần tử của dãy số A (mảng A) bằng công thức nào?
A[1]+A[2]+A[3]+A[4]+A[5]+A[6]+A[7]+A[8]+A[9]+A[10]
25
26
Hãy cùng nhau liên tưởng mảng 1 chiều!
1
2
3
4
5
6
7
Back
3/23/2017
Tin học 11 - Chương 4 - Bài 11:Kiểu mảng
3/23/2017
Tin học 11 - Chương 4 - Bài 11:Kiểu mảng
27
Khai báo tường minh
program ChươngTrinh;
var
ArrInt: array[1..10] of integer;
A:array[1..10] of integer;
B:array[1..10] of integer;
begin
…………
end.
Khai báo không tường minh
program ChuongTrinh;
type
ArrInt: array[1..10] of integer;
A, B:ArrInt;
begin
….
end.
Chương trình cần khai báo thêm mảng A, B có đặc điểm giống với mảng ArrInt
Back
28
THỂ LỆ TRÒ CHƠI
Lớp chia làm 2 đội chơi, mỗi dãy là một đội.

Mỗi đội cử 2 hs đại diện tham gia trò chơi.

Hình thức chơi: nối ghép cột A với B (ghi kết quả lên bảng)

Có 1’30s cho mỗi đội hoàn thành xong phần chơi của mình.

Đội nào thua sẽ bị đội thắng đưa ra hình phạt (thực hiện sau đó)
Play
Back
3/23/2017
Tin học 11 - Chương 4 - Bài 11:Kiểu mảng
29
A
Đội 1
B
1. var Mang_thuc= array[0..100] of integer;
4. Khai báo kiểu mảng số thực gồm có 300 phần tử
12. Khai báo Mảng gồm 101 phần tử kiếu số nguyên
5. var A: Mang_nguyen;
10 .Type B=aray [-25..25] of boolean;
2. type Mang_Nguyen=array[1..100] of real;
3. Khai báo kiểu mảng gồm 50 phần tử kiểu lôgic
7. Type C=array [-150..150] of real;
6. var B=aray [0..25] of boolean;
8. Khai báo biến mảng thực gồm có 100 phần tử kiểu nguyên
9.type B:aray [0..25] of boolean;
11.Type Mang_thuc=array[1..300] of integer;
Reset
Nhấn vào mỗi câu bên cột A để thấy đáp án
Back
3/23/2017
Tin học 11 - Chương 4 - Bài 11:Kiểu mảng
30
A
Đội 2
B
1. var Mang_Nguyen= array[-25..65] of byte;
3. Khai báo kiểu mảng số thực gồm có 500 phần tử
5. var T: Mang_Thuc;
10 .var C=array[0..n-1] of char;
4. type Mang_Thuc=array[1..100] of real;
2. Khai báo biến kiểu mảng gồm n phần tử thuộc kiẻu ký tự
7. Var T:=Mang_Thuc;
6. Type T=aray [0..499] of real;
8. Khai báo kiểu mảng nguyên gồm có 100 phần tử kiểu byte
9.type T:aray [1..500] of real;
11. var C=array[0..n] of char;
8. Khai báo biến kiểu mảng nguyên gồm có 90 phần tử kiểu byte
Nhấn vào mỗi câu bên cột A để thấy đáp án
Reset
Back
3/23/2017
Tin học 11 - Chương 4 - Bài 11:Kiểu mảng
* Một số tài liệu cũ có thể bị lỗi font khi hiển thị do dùng bộ mã không phải Unikey ...

Người chia sẻ: Nguyễn Ngọc Phú
Dung lượng: | Lượt tài: 0
Loại file:
Nguồn : Chưa rõ
(Tài liệu chưa được thẩm định)