
- •Лабораторная работа №18. Создание одномерных массивов
- •Пояснения к работе
- •Лабораторная работа №19. Создание одномерных массивов
- •Пояснения к работе
- •Лабораторная работа №20. Создание одномерных массивов
- •Пояснения к работе
- •Лабораторная работа №22. Удаление элементов массива
- •Пояснения к работе
- •Лабораторная работа №21. Перестановка элементов массива
- •Пояснения к работе
- •Лабораторная работа №23. Сортировка массивов
- •Пояснения к работе
- •Лабораторная работа №24. Сортировка массивов
- •Пояснения к работе
- •Лабораторная работа №25. Сортировка массивов
- •Пояснения к работе
Лабораторная работа №20. Создание одномерных массивов
Цель: Изучить правила работы с элементами одномерного массива.
Пояснения к работе
Одномерный массив – это фиксированное количество элементов одного и того же типа,
объединенных одним именем, где каждый элемент имеет свой номер.
Описание массива:
Const n1=5; n2=30; {где n1 – номер первого элемента, а n2 – номер последнего элемента}.
Type Myarray = Array [n1..n2] Of Integer;
Var A: Myarray;
Const n=30; {n – это количество элементов массива}
Type Myarray = Array [1..n] Of Integer;
Var A: Myarray;
Var A: Аrray [1..n] Of Integer;
{Myarray – это имя нового типа;}
{Аrray – служебное слово в переводе с английского означает “массив”, “набор”; Of – служебное слово в переводе с английского “из”};
Так как каждый элемент имеет свой номер, то к каждому можно обращаться
непосредственно. Для того, чтобы обратиться к і-му элементу этого массива, необходимо
записать:
А[i] - сначала имя массива, а в квадратных скобках указывается номер элемента, к
которому обращаемся. Например, обращение к первому элементу массива А — А[1], а к
пятому — А[5].
program Laba20;
Uses crt;
const n=5;
type Omas=array [1..2*n+1] of integer;
var
a,b:Omas;i,s:integer;
Procedure Init(var z:Omas);
var
i:byte;
begin
for i:=1 to n do
Readln(z[i]);
end;
Procedure Print(z:Omas);
var
i:byte;
begin
for i:=1 to n do
Write('[',i,']=',z[i],' ');
Writeln(i);
end;
Function Min(z:Omas):integer;
Var i:byte;j,k:integer;
begin
j:=z[1];
for i:=2 to n do if z[i]<j then begin
j:=z[i];k:=i;
end;
Min:=j;
end;
Procedure InitP(var z:Omas;j:integer;min1:integer;s:integer);
var i:byte;
begin
for i:=n+s downto j+1 do
z[i+1]:=z[i];
z[j+1]:=min1;
end;
begin CLRSCR;s:=0;
Writeln('Создание массива а:');
Init(a);Print(a);
Writeln('Изменённый массив a:');
{for i:=1 to n do
if (a[i]<>0) then
sch:=sch+1;}
for i:=n downto 1 do
if (a[i]<>0) then begin
InitP(a,i,Min(a),s);
s:=s+1;
end;
for i:=1 to (n+s) do
Write('[',i,']=',a[i],' ');
Writeln(i);
end.
Рисунок 1 – задача 1
Лабораторная работа №22. Удаление элементов массива
Цель: Изучить правила работы с элементами одномерного массива.
Пояснения к работе
Одномерный массив – это фиксированное количество элементов одного и того же типа, объединенных одним именем, где каждый элемент имеет свой номер.
Описание массива:
Const n1=5; n2=30; {где n1 – номер первого элемента, а n2 – номер последнего элемента}.
Type Myarray = Array [n1..n2] Of Integer;
Var A: Myarray;
Const n=30; {n – это количество элементов массива}
Type Myarray = Array [1..n] Of Integer;
Var A: Myarray;
Var A: Аrray [1..n] Of Integer;
{Myarray – это имя нового типа;}
{Аrray – служебное слово в переводе с английского означает “массив”, “набор”; Of – служебное слово в переводе с английского “из”};
Так как каждый элемент имеет свой номер, то к каждому можно обращаться
непосредственно. Для того, чтобы обратиться к і-му элементу этого массива, необходимо
записать:
А[i] - сначала имя массива, а в квадратных скобках указывается номер элемента, к
которому обращаемся. Например, обращение к первому элементу массива А — А[1], а к
пятому — А[5].
program Bolt;Uses crt;
const n=5;
type Omas=array [1..n+1] of integer;
var
a:Omas;
Procedure Init(var z:Omas);
var i:byte;
begin
for i:=1 to n do
Readln(z[i]);{z[i]:=random(30);}
end;
Procedure Print(z:Omas);
var i:byte;
begin
for i:=1 to n do
Write('[',i,']=',z[i],' ');Writeln;
end;
Function Min(var z:Omas):integer;
var
i:byte;j,k:integer;
begin
j:=z[1];
for i:=2 to n do
if z[i]<j then begin
j:=z[i];k:=i;
end;
Min:=j;
end;
Procedure DeleteD(var z:Omas);
var
i:byte;MN,tr,x,t,j:integer;
begin MN:=Min(z);
for i:=1 to n do
z[i]:=z[i+1];
while(z[i]<>MN) do
tr:=tr+1;
for i:=tr to n do
z[tr]:=z[tr+1];
for i:=1 to n-2 do
begin clrscr;
Writeln('Заполнение массива:');
Init(a);Print(a);
Write('Массив с удалённым 1 и мин элементом:');
DeleteD(a);
end.