Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Teoria_Algoritmizatsia.docx
Скачиваний:
2
Добавлен:
01.05.2025
Размер:
334.07 Кб
Скачать

Лабораторная работа №20. Создание одномерных массивов

Цель: Изучить правила работы с элементами одномерного массива.

Пояснения к работе

Одномерный массив – это фиксированное количество элементов одного и того же типа,

объединенных одним именем, где каждый элемент имеет свой номер.

Описание массива:

  1. Const n1=5; n2=30; {где n1 – номер первого элемента, а n2 – номер последнего элемента}.

Type Myarray = Array [n1..n2] Of Integer;

Var A: Myarray;

  1. Const n=30; {n – это количество элементов массива}

Type Myarray = Array [1..n] Of Integer;

Var A: Myarray;

  1. 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. Удаление элементов массива

Цель: Изучить правила работы с элементами одномерного массива.

Пояснения к работе

Одномерный массив – это фиксированное количество элементов одного и того же типа, объединенных одним именем, где каждый элемент имеет свой номер.

Описание массива:

  1. Const n1=5; n2=30; {где n1 – номер первого элемента, а n2 – номер последнего элемента}.

Type Myarray = Array [n1..n2] Of Integer;

Var A: Myarray;

  1. Const n=30; {n – это количество элементов массива}

Type Myarray = Array [1..n] Of Integer;

Var A: Myarray;

  1. 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.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]