Giáo Trình Pascal 9 C.5

Chia sẻ bởi Nguyễn Chắn | Ngày 06/11/2018 | 40

Chia sẻ tài liệu: Giáo Trình Pascal 9 C.5 thuộc Tin học 9

Nội dung tài liệu:


CHƯƠNG 5:
KIỂU MẢNG


I/- Khai báo:
- Khai báo gián tiếp:
Type
[Tên mảng] = ARRAY [tập chỉ số ,....] OF ;
Var
[Tên biến]:[Tên mảng];
Tập chỉ số phải là kiểu miền con, kiểu vô hướng liệt kê, kiểu char hoặc kiểu Boolean.
Ví dụ: Type
Vecto = ARRAY [1..20] OF Integer ;
Var
Vt:Vecto ;
- Khai báo trực tiếp:
[Tên biến]: ARRAY[tập chỉ số ,....] OF ;
Ví dụ: Var
Vt: ARRAY [1..20] OF Integer ;
Chú ý:
+ Khi khai báo mảng chỉ gồm một tập chỉ số thì mảng đó được gọi là mảng một chiều (vectơ)
+ Khi khai báo mảng chỉ gồm hai tập chỉ số thì mảng đó được gọi là mảng hai chiều (ma trận)
II/- Truy xuất các phần tử của mảng:
Mỗi phần tử của mảng được truy xuất thông qua Tên biến mảng cùng với chỉ số của mảng để trong cập dấu [ ]. Chẳng hạn Vt[1] chỉ phần tử thứ nhất của mảng Vt.
Mảng được dùng khi cần làm việc với một dãy các giá trị. Các giá trị này được đặt cùng một tên và được phân biệt với nhau bởi các giá trị của chỉ số, vì thế chúng còn có tên là biến chỉ số.
Ví dụ: Viết chương trình nhập số liệu từ bàn phím cho một mảng gồm 5 phần tử và in các phần tử đó ra màn hình.
Program Chuong_trinh_nhập_xuât_du_lieu_tu_mang;
Var
i: integer;
Vt:Array[1..5] of Integer;
Begin
{ Doc du lieu vao mang Vt}
For i:=1 to 5 do
Begin
Write(‘Nhap vao phan tu thu Vt[‘,i,’]: ‘);readln(Vt[i]);
end;
{ Lay du lieu tu mang Vt}
For i:=1 to 5 do
Begin
Write(‘Phan tu thu Vt[‘,i,’]: ‘);Writeln(Vt[i]);
end;
Readln;
End.
Ví dụ 2: Nhập vào một dãy n số và sắp xếp theo thứ tự từ nhỏ đến lớn.
Ta có thể làm như sau: Đầu tiên đưa phần tử thứ nhất lần lượt so sánh với các phần tử tiếp theo, nếu nó lớn hơn phần tử so sánh thì đem đổi chỗ giá trị của hai phần tử cho nhau. Sau đó đem phần tử thứ hai so sánh với các phần tử còn lại....cứ như vậy cho đến phần tử thứ n-1.

Program sapxep;
Var
a:array[1..20] of integer;
n,i,j,tam,tong:integer;
Begin
{ *************Nhap day so***************}
Write(‘Day co bao nhieu phan tu ?’);readln(n);
For i:=1 to n do
Begin
Write(‘Nhap a[’,i,’]= ‘);readln(a[i]);
end;
{ *************Sap xep day so*************}
For i:=1 to n -1 do
For j:= i+1 to n do
If a[i]>a[j] then
Begin
tam:=a[i];
a[i]:=a[j];
a[j]:=tam;
end;
{ *************In day so ra man hinh*************}
For i:=1 to n do
Write(a[i],’ ‘);
{ *************Tinh tong cac so trong mang*************}
Tong:=0;
Writeln;
For i:=1 to n do
Tong:=Tong+a[i];
Writeln(‘Tong cua mang la: ‘,Tong);
readln;
End.

BÀI TẬP
Bài 1: VCT nhập vào một dãy các số theo thứ tự tăng, nếu nhập sai quy cách thì yêu cầu nhập lại. In dãy số sau khi đã nhập xong. Nhập thêm một số mới và chèn số đó vào dãy đã có sao cho dãy vẫn đảm bảo thứ tự tăng. In lại dãy số đã kiểm tra. Để thực hiện chương trình này ta sử dụng giải thuật sau:
- Nhập số phần tử của mảng (mảng có bao nhiêu phần tử).
-
* 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 Chắn
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)