Bài 11. Kiểu mảng
Chia sẻ bởi Nguyễn Trần Bảo Chương |
Ngày 10/05/2019 |
60
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:
Chương IV
KIỂU DỮ LIỆU CÓ CẤU TRÚC
Kiểu mảng một chiều
- Khái niệm mảng một chiều;
- Khai báo mảng một chiều;
- Tham chiếu các phần tử của mảng một chiều.
§11. KIỂU MẢNG (t1)
Tên mảng là: N
Số phần tử là: 5
Kiểu dữ liệu của các phần tử là: kiểu nguyên.
Để mô tả mảng một chiều cần xác định kiểu của các phần tử và cách đánh số các phần tử trong mảng.
1) Mảng một chiều
a. Khái niệm mảng một chiề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. Mảng được đặt tên và mỗi phần tử của nó có một chỉ số.
Ví dụ 1: Có mảng các số nguyên sau
chỉ số
phần tử
N
Khi xây dựng và sử dụng mảng một chiều cần quan tâm đến các thành phần sau:
Tên kiểu mảng một chiều;
Số lượng phần tử;
Kiểu dữ liệu của phần tử;
Cách khai báo biến mảng;
Cách tham chiếu đến phần tử.
b. Khai báo mảng một chiều
Tổng quát, khai báo biến mảng một chiều có dạng:
- Cách 1: Khai báo trực tiếp biến mảng một chiều:
var: array[kiểu chỉ số] of ;
- Cách 2: Khai báo gián tiếp biến mảng một chiều:
type= array[kiểu chỉ số] of ;
var: ;
trong đó:
• 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 (n1 n2);
..
Ví dụ 2: Có mảng số nguyên 5 phần tử sau:
N
[n1
. .
n2]
[‘a’
. .
‘e’]
b. Khai báo mảng một chiều
Tổng quát, khai báo biến mảng một chiều có dạng:
- Cách 1: Khai báo trực tiếp biến mảng một chiều:
var: array[kiểu chỉ số] of ;
- Cách 2: Khai báo gián tiếp biến mảng một chiều:
type= array[kiểu chỉ số] of ;
var: ;
trong đó:
• 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 (n1 n2);
• Kiểu phần tử là kiểu dữ liệu của các phần tử của mảng.
Ví dụ 2: Có mảng số nguyên 7 phần tử sau:
N
Ví dụ 3: Khai báo trực tiếp mảng một chiều như trên.
Ví dụ 4: Khai báo gián tiếp mảng một chiều như trên.
integer;
of
Array
:
N
var
integer;
of
Array
=
ksn
type
ksn;
:
N
var
[1..7]
[1..7]
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:
trực tiếp:
var R: array[-3..6] of real;
gián tiếp:
type Kst= array[-3..6] of real;
var R: Kst;
R
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:
(cách đánh số các phần tử là một đoạn các kí tự liên tục).
trực tiếp:
var R: array[‘a’..’j’] of real;
gián tiếp:
type sothuc= array[‘a’..’j’] of real;
var R: sothuc;
R
Bài toán: Nhập vào 100 số nguyên dương từ bàn phím. In ra màn hình các số vừa nhập và đếm số lượng các số chẵn.
Trực tiếp:
var mang:array[1..100] of integer;
Gián tiếp:
type ksn=array[1..100] of integer;
var mang: ksn;
Chú ý:
Khi khai báo mảng, ta cần xác định số lượng phần tử của mảng (kích thước mảng).
mang[7]
c. Tham chiếu các phần tử của mảng
Để tham chiếu tới phần tử của mảng một chiều, ta sử dụng tên mảng kết hợp với chỉ số, được viết trong cặp dấu ngoặc vuông.
Ví dụ 6: có mảng sau:
var mang: array[1..10] of integer;
mang
Để tham chiếu tới phần tử thứ 7 của mảng trong khai báo trên, ta phải viết là:
có giá trị là 8.
Để tham chiếu tới phần tử thứ 3 của mảng
trong khai báo trên, ta phải viết là:
có giá trị là 45.
7
mang[3]
3
Bài toán: Nhập vào 100 số nguyên dương từ bàn phím. In ra màn hình các số vừa nhập và đếm số lượng các số chẵn.
Nhập một giá trị cho một biến (a), kiểu nguyên từ bàn phím:
Read(a);
hoặc
Readln(a);
d. Ví dụ áp dụng
for:= to do ;
Bài toán: Nhập vào 100 số nguyên dương từ bàn phím. In ra màn hình các số vừa nhập và đếm số lượng các số chẵn.
d. Ví dụ áp dụng
var mang: array[1..100] of integer;
mang
for biendem:=1 to 100 do
Readln(mang[biendem]);
for biendem:=1 to 100 do
begin
write(‘Nhap so nguyen duong thu:’, biendem);
readln(mang[biendem]);
end;
{..}
write(‘nhap gia tri thu 1 cua mang:’);
readln(mang[1]);
write(‘nhap gia tri thu 2 cua mang:’);
readln(mang[2]);
…
write(‘nhap gia tri thu 100 cua mang:’);
readln(mang[100]);
{..}
for biendem:=1 to 100 do
begin
write(‘Nhap so nguyen duong thu:’, 1);
readln(mang[1]);
end;
5
for biendem:=2 to 100 do
begin
write(‘Nhap so nguyen duong thu:’, 2);
readln(mang[2]);
end;
6
for biendem:=3 to 100 do
begin
write(‘Nhap so nguyen duong thu:’, 3);
readln(mang[3]);
end;
45
for biendem:=99 to 100 do
begin
write(‘Nhap so nguyen duong thu:’, 99);
readln(mang[99]);
end;
10
for biendem:=100 to 100 do
begin
write(‘Nhap so nguyen duong thu:’, 100);
readln(mang[100]);
end;
25
d. Ví dụ áp dụng
var mang: array[1..100] of integer;
mang
for biendem:=1 to 100 do
write(mang[biendem]);
Xuất (in) một giá trị cho một biến (a), kiểu nguyên ra màn hình:
write(a);
hoặc
writeln(a);
{..}
writeln(mang[1]);
writeln(mang[2]);
…
writeln(mang[100]);
{..}
d. Ví dụ áp dụng
var mang: array[1..100] of integer;
mang
dem:= 0;
for biendem:=1 to 100 do
if (mang[biendem] mod 2 = 0) then
dem:= dem + 1;
d. Ví dụ áp dụng
for biendem:=1 to 100 do
begin
write(‘Nhap so nguyen duong thu:’, biendem);
readln(mang[biendem]);
end;
for biendem:=1 to 100 do
write(mang[biendem]);
dem:= 0;
for biendem:=1 to 100 do
if (mang[biendem] mod 2 = 0) then
dem:= dem + 1;
CÂU HỎI TRẮC NGHIỆM
Phát biểu nào sau đây là đúng:
Câu 1
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
CÂU HỎI TRẮC NGHIỆM
Các phần tử của mảng có thể có những kiểu gì?
Câu 2
Kiểu số nguyên;
Kiểu số thực;
Các kiểu dữ liệu chuẩn (đơn giản);
Kiểu kí tự và kiểu lôgic.
3
CÂU HỎI TRẮC NGHIỆM
Hãy chọn khai báo đúng trong các khai báo trực tiếp sau:
Câu 3
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
CÂU HỎI TRẮC NGHIỆM
Hãy chọn khai báo sai trong các khai báo gián tiếp sau:
Câu 4
type A:array[-5..5] of real;
var B= A;
type A=array[-5..5] of real;
var B: A;
type mang=array[1..20] of real;
var C: mang;
1
CÂU HỎI TRẮC NGHIỆM
Giả sử ta có khai báo mảng như sau:
var A:array[1..10] of char;
Câu 5
A[7];
A[8];
A[9];
A[10];
2
A
để có được giá trị là kí tự “M”, ta cần chọn cách tham chiếu:
KIỂU DỮ LIỆU CÓ CẤU TRÚC
Kiểu mảng một chiều
- Khái niệm mảng một chiều;
- Khai báo mảng một chiều;
- Tham chiếu các phần tử của mảng một chiều.
§11. KIỂU MẢNG (t1)
Tên mảng là: N
Số phần tử là: 5
Kiểu dữ liệu của các phần tử là: kiểu nguyên.
Để mô tả mảng một chiều cần xác định kiểu của các phần tử và cách đánh số các phần tử trong mảng.
1) Mảng một chiều
a. Khái niệm mảng một chiề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. Mảng được đặt tên và mỗi phần tử của nó có một chỉ số.
Ví dụ 1: Có mảng các số nguyên sau
chỉ số
phần tử
N
Khi xây dựng và sử dụng mảng một chiều cần quan tâm đến các thành phần sau:
Tên kiểu mảng một chiều;
Số lượng phần tử;
Kiểu dữ liệu của phần tử;
Cách khai báo biến mảng;
Cách tham chiếu đến phần tử.
b. Khai báo mảng một chiều
Tổng quát, khai báo biến mảng một chiều có dạng:
- Cách 1: Khai báo trực tiếp biến mảng một chiều:
var
- Cách 2: Khai báo gián tiếp biến mảng một chiều:
type
var
trong đó:
• 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 (n1 n2);
..
Ví dụ 2: Có mảng số nguyên 5 phần tử sau:
N
[n1
. .
n2]
[‘a’
. .
‘e’]
b. Khai báo mảng một chiều
Tổng quát, khai báo biến mảng một chiều có dạng:
- Cách 1: Khai báo trực tiếp biến mảng một chiều:
var
- Cách 2: Khai báo gián tiếp biến mảng một chiều:
type
var
trong đó:
• 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 (n1 n2);
• Kiểu phần tử là kiểu dữ liệu của các phần tử của mảng.
Ví dụ 2: Có mảng số nguyên 7 phần tử sau:
N
Ví dụ 3: Khai báo trực tiếp mảng một chiều như trên.
Ví dụ 4: Khai báo gián tiếp mảng một chiều như trên.
integer;
of
Array
:
N
var
integer;
of
Array
=
ksn
type
ksn;
:
N
var
[1..7]
[1..7]
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:
trực tiếp:
var R: array[-3..6] of real;
gián tiếp:
type Kst= array[-3..6] of real;
var R: Kst;
R
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:
(cách đánh số các phần tử là một đoạn các kí tự liên tục).
trực tiếp:
var R: array[‘a’..’j’] of real;
gián tiếp:
type sothuc= array[‘a’..’j’] of real;
var R: sothuc;
R
Bài toán: Nhập vào 100 số nguyên dương từ bàn phím. In ra màn hình các số vừa nhập và đếm số lượng các số chẵn.
Trực tiếp:
var mang:array[1..100] of integer;
Gián tiếp:
type ksn=array[1..100] of integer;
var mang: ksn;
Chú ý:
Khi khai báo mảng, ta cần xác định số lượng phần tử của mảng (kích thước mảng).
mang[7]
c. Tham chiếu các phần tử của mảng
Để tham chiếu tới phần tử của mảng một chiều, ta sử dụng tên mảng kết hợp với chỉ số, được viết trong cặp dấu ngoặc vuông.
Ví dụ 6: có mảng sau:
var mang: array[1..10] of integer;
mang
Để tham chiếu tới phần tử thứ 7 của mảng trong khai báo trên, ta phải viết là:
có giá trị là 8.
Để tham chiếu tới phần tử thứ 3 của mảng
trong khai báo trên, ta phải viết là:
có giá trị là 45.
7
mang[3]
3
Bài toán: Nhập vào 100 số nguyên dương từ bàn phím. In ra màn hình các số vừa nhập và đếm số lượng các số chẵn.
Nhập một giá trị cho một biến (a), kiểu nguyên từ bàn phím:
Read(a);
hoặc
Readln(a);
d. Ví dụ áp dụng
for
Bài toán: Nhập vào 100 số nguyên dương từ bàn phím. In ra màn hình các số vừa nhập và đếm số lượng các số chẵn.
d. Ví dụ áp dụng
var mang: array[1..100] of integer;
mang
for biendem:=1 to 100 do
Readln(mang[biendem]);
for biendem:=1 to 100 do
begin
write(‘Nhap so nguyen duong thu:’, biendem);
readln(mang[biendem]);
end;
{..}
write(‘nhap gia tri thu 1 cua mang:’);
readln(mang[1]);
write(‘nhap gia tri thu 2 cua mang:’);
readln(mang[2]);
…
write(‘nhap gia tri thu 100 cua mang:’);
readln(mang[100]);
{..}
for biendem:=1 to 100 do
begin
write(‘Nhap so nguyen duong thu:’, 1);
readln(mang[1]);
end;
5
for biendem:=2 to 100 do
begin
write(‘Nhap so nguyen duong thu:’, 2);
readln(mang[2]);
end;
6
for biendem:=3 to 100 do
begin
write(‘Nhap so nguyen duong thu:’, 3);
readln(mang[3]);
end;
45
for biendem:=99 to 100 do
begin
write(‘Nhap so nguyen duong thu:’, 99);
readln(mang[99]);
end;
10
for biendem:=100 to 100 do
begin
write(‘Nhap so nguyen duong thu:’, 100);
readln(mang[100]);
end;
25
d. Ví dụ áp dụng
var mang: array[1..100] of integer;
mang
for biendem:=1 to 100 do
write(mang[biendem]);
Xuất (in) một giá trị cho một biến (a), kiểu nguyên ra màn hình:
write(a);
hoặc
writeln(a);
{..}
writeln(mang[1]);
writeln(mang[2]);
…
writeln(mang[100]);
{..}
d. Ví dụ áp dụng
var mang: array[1..100] of integer;
mang
dem:= 0;
for biendem:=1 to 100 do
if (mang[biendem] mod 2 = 0) then
dem:= dem + 1;
d. Ví dụ áp dụng
for biendem:=1 to 100 do
begin
write(‘Nhap so nguyen duong thu:’, biendem);
readln(mang[biendem]);
end;
for biendem:=1 to 100 do
write(mang[biendem]);
dem:= 0;
for biendem:=1 to 100 do
if (mang[biendem] mod 2 = 0) then
dem:= dem + 1;
CÂU HỎI TRẮC NGHIỆM
Phát biểu nào sau đây là đúng:
Câu 1
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
CÂU HỎI TRẮC NGHIỆM
Các phần tử của mảng có thể có những kiểu gì?
Câu 2
Kiểu số nguyên;
Kiểu số thực;
Các kiểu dữ liệu chuẩn (đơn giản);
Kiểu kí tự và kiểu lôgic.
3
CÂU HỎI TRẮC NGHIỆM
Hãy chọn khai báo đúng trong các khai báo trực tiếp sau:
Câu 3
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
CÂU HỎI TRẮC NGHIỆM
Hãy chọn khai báo sai trong các khai báo gián tiếp sau:
Câu 4
type A:array[-5..5] of real;
var B= A;
type A=array[-5..5] of real;
var B: A;
type mang=array[1..20] of real;
var C: mang;
1
CÂU HỎI TRẮC NGHIỆM
Giả sử ta có khai báo mảng như sau:
var A:array[1..10] of char;
Câu 5
A[7];
A[8];
A[9];
A[10];
2
A
để có được giá trị là kí tự “M”, ta cần chọn cách tham chiếu:
* 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 Trần Bảo Chương
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)