Tải bản đầy đủ (.ppt) (20 trang)

Tin học 11 bài 11 kiểu mảng

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 (168.9 KB, 20 trang )

CHƯƠNG 4:
KIỂU DỮ LIỆU CÓ CẤU TRÚC

BÀI 11: KiỂU MẢNG

GV: Huỳnh Bảo Thiên


Bài tập1: Viết chương trình pascal nhập vào nhiệt độ các
ngày trong tuần, tính nhiệt độ trung bình của tuần và tìm
số ngày có nhiệt độ cao hơn nhiệt độ trung bình
Hướng dẫn:
Nhập nhiệt độ thứ 2: 5
Nhập nhiệt độ thứ 3: 6
Nhập nhiệt độ thứ 4: 7
Nhập nhiệt độ thứ 5: 2
Nhập nhiệt độ thứ 6:

1

Nhập nhiệt độ thứ 7: 9

…………………………………………..
Xuất
Các số nguyên vừa nhập vào là: 5 6 7 2 1 9
Giá trị Trung Bình: 6.00


Nhận xét:
-Để giải bài này ta phải tìm một kiểu dữ
liệu mới nào đó mà có khả năng lưu trữ


nhiều giá trị cùng kiểu

 Trong pascal có một kiểu dữ liệu như
vậy, kiểu dữ liệu mới này gọi là kiểu
mảng.


I. KIỂU MẢNG MỘT CHIỀU
1.Khái niệm

• Mảng là một tập hợp hữu hạn gồm
các phần tử có cùng kiểu dữ liệu.
• Mỗi phần tử của mảng được xác
định bằng chỉ số.
• Phần tử trong mảng được truy cập
bằng cách
Tênmảng[chỉsố];


2. Khai báo mảng.
Cách 1: Khai báo trực tiếp:

Var Tênmảng: array [gt1..gt2] of KiểuDữLiệu;
•Gt1: Chỉ số bắt đầu của mảng
•Gt2: Chỉ số kết thúc của mảng
•Kiểu Dữ Liệu: Kiểu dữ liệu của các phần tử trong
mảng
•Chỉ số của mảng thì khơng được là kiểu thực

Ví dụ:

var a :array[1..10] of integer ;
var b :array[‘a’..’m’] of real ;


Ví dụ:
Var
A : array [1..10] of integer;
B : array [‘a’..’j’] of char ;
C : array [‘a’..’z’] of integer;
D : array [ -4..5] of byte ;


Cách 2: Khai báo gián tiếp.
Type
Kiểumảng= array [gt1..gt2] of
Kiểudữliêu;
Var
Tênmảng: Kiểumảng;


Ví dụ:
Type
AI=Array[1..10] of Integer;
AC=Array[1..10] of Char;
Color=(red,blue,green,white,black);
Var
A,B,C: AI;
X,Y:AC;
MC:Array[‘a’..’z’] of Real;
MM:Array[Color] of Boolean;


Cách tốt nhất:
Tên: array [1..số phần tử] of kiểu ;


Các chú ý quan trọng.
•Mổi phần tử trong mảng có một vị trí xác định,

duy nhất.
•Cách truy xuất phần tử của mảng:Tênmảng[vị

trí].

Ví dụ: A : array [1..10] of integer;
Mảng A

10 12 15

1 18 19 20 40 15

6

Vị trí

1

4 5

10


2

3

6

7

8

9

A[2] = 12, A[5] = 18…
- Ta nên dùng vòng lặp For ..To..Do để duyệt từng phần
tử của mảng.


3. Nhập mảng:
Bước 1:
Nhập số phần tử của mảng
write(‘nhap so phan tu’);
readln(n);
Bước 2:
Nhập giá trị từng phần tử của mảng
for i:=1 to n do
begin
write(‘nhap phan tu thu ’,i,’ :’);
readln(a[i]);
end;



b. Cách nhập dữ liệu vào mảng.
Var
i, n : integer;
A: array[1..100] of integer;
Begin
write(‘Nhập vào số phần tử n : ’);
readln(n);

Nhập số phần tử
của mảng

For i:=1 To n do
begin
write(‘Nhập phần tử thứ ’,i,’ : ’);

readln(A[i]);
end;
…………..
End.

Nhập từng giá trị
vào mảng


4. Xuất mảng:
Xuất giá trị từng phần tử của mảng

for i:=1 to n do
begin

write(‘Xuat phan tu thu ’ ,i, ’ :’);
writeln(‘a[‘ ,i, ‘] =’, a[i] :8:3);
end;


Cách xuất mảng

For i:=1 To n do
Begin
Writeln(‘Phan tu thu’, i,’:’);
writeln(A[i]:5);
End;
…………

Xuất từng
giá trị của
mảng ra.


So sánh nhập và xuất dữ liệu của mảng
Program nhap_xuat_du_lieu;
Var
i, n : integer;
A:array[1..100]of integer;
Begin
write(‘Nhập n: ’);
readln(n);
For i:=1 to n do

For i:=1 to n do


begin

begin

write(‘Nhập phần tử thứ’,i,’:’);

write(‘Phần tử thứ’,i,’:’);

readln(A[i]);

writeln(A[i]);

end;
End.

end;


Đề mô cách nhập và xuất dữ liệu
với n=3.
Khai báo mảng A có 3 phần tử
Mảng A
Nhập readln(A[i]);
Nhập số thứ nhất :

Nhập số thứ hai :

Nhập số thứ ba


:

-10
15

Var

A : array[1..3] of

real;

Xuất Writeln(A[i]);

-10
15

1
2

-5

Phần tử 1 là :

Phần tử 2 là :

Phần tử 3 là :

-5

3



Câu hỏi:
- Có mấy cách khai báo mảng?
Cách 1:
Var

- Lệnh nhập
mảng

xuất
mảng
khác
Tên mảng : array [gt1 .. gt2 ] of Kiểu dữ liệu;
báo gián tiếp.
nhauCách
chổ2: Khai
nào?
Type
- Nhập Readln(A[i]);
Kiểumảng: array [gt1..gt2] of Kiểu dữ liêu;
Var
- Xuất Tênmảng:
Writeln(A[i]);
Kiểumảng;

- Kiểu của phần tử trong mảng và kiểu
của mảng có gì giống nhau?
-


Kiểu(dữ liệu) của phần tử trong mảng
mảng giống
củamảng
mảng. là gì?
Cơng
dụngkiểu
của

Lưu các phần tử có cùng kiểu dữ liệu


Cách nào khai báo mảng có 10 phần tử sau đây đúng:

Var
1.

A: array[1..10] of integer;

2.

A: array[1..100] of integer;

3.

A: array[‘a’..’j’] of char;

4.

A: array[-5..4] of real;



BÀI TẬP
 Viết chương trình nhập vào một dãy n số ngun,
xuất dãy số ra màn hình và tính trung bình cộng của
dãy số đó.

Company Logo


Hướng dẫn
Program vidumang1;
Uses crt;
Var
A:array[1..100] of Integer;
N,I:integer;
Begin
 
Write(‘Nhập số phần tử cho mảng:’);
Readln(N);
 
Writeln(‘Nhập giá trị cho ‘,N,’ phần tử:’);
For i:=1 to N do
Begin
Write(‘Nhập phần tử thứ ‘,I,’ : ‘);
Readln(A[i]);
End;


Hướng dẫn
//Xuat mang 

For i:=1 to N do
Write(‘Các giá trị của mảng vừa nhập là:’,A[i]:5);
//Tinh trung binh
Tổng:=0;
For i:=1 to N do
Tổng:=Tổng+A[i];
Writeln;
Writeln(‘Giá trị trung bình là:’,Tổng/N:10:2);
Readln;
End.



×