Tổng quát, khai báo biến mảng một chiều có dạng:
var < tên biến mảng >: array [ kiểu chỉ số ] of < kiểu phần tử >;
type < tên kiểu 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 >;
Trong đó:
Ví dụ 1. Các khai báo kiểu mảng một chiều sau đây là hợp lệ:
type
ArrayReal = array[-100..200] of real;
ArrayBoolean = array[-n+1..n+1] of boolean;
ArrayInt = [-100..0] of integer;
Trong đó, n là hằng nguyên.
Ví dụ 2: Tham chiếu tới nhiệt độ của ngày thứ 20, trong chương trình trên, được viết là Nhietdo[20].
Hình 1. Minh họa mảng một chiều
Tổng quát, khai báo biến mảng hai chiều trong Pascal như sau:
var < tên biến mảng > : array[ kiểu chỉ số dòng, kiểu chỉ số cột ] of < kiểu phần tử >;
type < tên kiểu mảng > = array[ kiểu chỉ số dòng, kiểu chỉ số cột ] of < kiểu phần tử >;
var < tên biến mảng >: < tên kiểu mảng >;
Ví dụ 4. Các khai báo sau đây là hợp lệ:
type
ArrayReal = array[-100..200,100..200] of real;
ArrayBoolean = array[-n+1..n+1,n..2*n] of boolean;
var
ArrayInt: array[1..10,1..15] of integer;
ArrayLong:array[0..3*(n+1),0..n] of longint;
Trong đó, n là hằng nguyên.
Ví dụ 4. Tham chiếu tới phần tử ở dòng thứ 5, cột thứ 9 của biến mảng ArrayInt khai báo được viết: ArrayInt [5, 9].
Hình 2. Minh hoạ mảng hai chiều
Chú ý:
Ta xét chương trình có sử dụng mảng một chiều cài đặt một số thuật toán giải những bài toán tìm kiếm và sắp xếp.
program TimMax;
uses crt;
const
Nmax = 250;
type
ArrInt = array[1..Nmax] of integer;
var
N,i, Max, csmax: integer;
A: ArrInt;
begin
clrscr;
write('Nhap so luong phan tu cua day so, N = ');
readln(N);
for i:=1 to N do
begin
write('Phan tu thu ',i,' = ');
readln(A[i]);
end;
Max:= A[1]; csmax:=1;
for i:=2 to N do
if A[i]> Max then
begin
Max:= A[i];
csmax:= i;
end;
writeln('Gia tri cua phan tu Max: ', Max);
writeln('Chi so cua phan tu Max: ', csmax);
readln
end.
program sapxep;
uses CRT;
const Nmax = 250;
type
ArrInt = array[1..Nmax] of integer;
var
N,i,j,t: integer;
A: ArrInt;
begin
clrscr;
write('Nhap so luong phan tu cua day so, N = ');readln(N);
for i:=1 to N do
begin
write('Phan tu thu ',i,' = ');
readln(A[i]);
end;
for j:=N downto 2 do
begin
for i:=1 to j-1 do
if A[i]> A[i+1] then
begin (*Trao doi A[i] va A[i+1]*)
t:= A[i];
A[i]:= A[i+1];
A[i+1]:= t
end;
end;
writeln('Day so duoc sap xep la: ');
for i:=1 to N do write(A[i]: 4);
readln
end.
program TK_nhiphan;
uses crt;
const
Nmax = 250;
type
ArrInt = array[1..Nmax] of integer;
var
N, i, k: integer;
Dau, Cuoi, Giua: integer;
A: Arrint;
Tim_Thay: boolean;
begin
clrscr;
write('Nhap so luong phan tu cua day so, N = ');
readln(N);
writeln('Nhap cac phan tu cua day so tang: ');
for i:=1 to N do
begin
write('Phan tu thu ',i,' = ');
readln(A[i]);
end;
write('Nhap gia tri k = ');
readln(k);
Dau:= 1; Cuoi:=N; Tim_thay:= false;
while (Dau <= Cuoi) and not (Tim_Thay) do
begin
Giua:= (Dau+Cuoi) div 2;
if A[Giua] = k then
Tim_thay:= true
else
if A[Giua]>k then Cuoi:= Giua-1
else Dau:= Giua+1;
end;
if Tim_thay then writeln('Chi so tim duoc la: ', Giua)
else writeln('Khong tim thay');
readln
end.
program BangCuuChuong;
uses crt;
var
B: array[1..9,1..10] of integer;
{B: bien mang hai chieu luu bang cuu chuong}
i, j: integer;
begin
clrscr;
for i:=1 to 9 do
for j:= 1 to 10 do
B[i,j]:= i*j;
for i:=1 to 9 do
begin
for j:=1 to 10 do write(B[i,j]:4);
writeln;
end;
readln
end.
program MangHaiChieu;
uses crt;
var b: array[1..5, 1..7] of integer;
d, i, j, k: integer;
begin
clrscr;
writeln('Nhap cac phan tu cua mang theo dong: ');
for i:= 1 to 5 do
begin
for j:= 1 to 7 do
begin
read(b[i,j]);
write(' ');
end;
writeln;
end;
write('Nhap vao gia tri k = '); readln(k);
d:= 0;
writeln('DS cac phan tu mang nho hon ',k,':');
for i:= 1 to 5 do
for j:= 1 to 7 do
if b[i, j] < k then begin
write(b[i, j], ' ');
d:= d+1;
end;
if d = 0 then writeln(’Khong co phan tu nao nho hon ’,k);
readln
end.
Sau khi học xong Bài 11: Kiểu mảng, các em cần nắm vững các nội dung trọng tâm:
Các em có thể hệ thống lại nội dung kiến thức đã học được thông qua bài kiểm tra Trắc nghiệm Tin học 11 Bài 11 cực hay có đáp án và lời giải chi tiết.
Câu 4-Câu 10: Xem thêm phần trắc nghiệm để làm thử Online
Trong quá trình học tập nếu có thắc mắc hay cần trợ giúp gì thì các em hãy comment ở mục Hỏi đáp, Cộng đồng Tin học HOC247 sẽ hỗ trợ cho các em một cách nhanh chóng!
Chúc các em học tập tốt và luôn đạt thành tích cao trong học tập!
-- Mod Tin Học 11 HOCTAP247
Copyright © 2021 HOCTAP247