Одномерные массивы
Одномерный массив - Это фиксированное количество элементов одного и того же типа, объединенных одним именем, где каждый элемент имеет свой номер.
Пример 1. Массив целых чисел от 25 до …… Имя A – это общее имя для всех элементов. Элементы массива – это целые числа, их 30.
Описание массива A: array [1..30] of integer; : array [.. ] of ; Элемент массива: A[j] A[1]=25; A[30]=54.
Различные способы описания массивов Через пользовательский тип. Type myarray = array [1..30] of integer; Тогда все массивы можно описывать как тип myarray.
Заполнение и вывод массива можно осуществить только поэлементно. Процедура для ввода элементов массива: …const n=30;… Procedure Init1(var m: myarray); Var i: integer; Begin Writeln(введите,n, элементов массива); For i:=1 to n do readln(m[i]); End;
Процедура для вывода элементов массива: …const n=30;… Procedure Print(m: myarray); Var i: integer; Begin For i:=1 to n do write(m[i]:3); writeln End;
Пример 2 Составить программу нахождения суммы элементов массива. Program Ex; Const n=30; {количество элементов массива} Type myarray=array[1..n] of integer; Var a: myarray; s: integer; {сумма элементов массива} Procedure Init1(var m: myarray); Var i: integer; Begin Writeln (введите,n, элементов массива); For i:=1 to n do readln(m[i]); End; Procedure Print(m: myarray); Var i: integer; Begin For i:=1 to n do write(m[i]:3); writeln End;
Function sum(m: myarray): integer; Var i, s: integer; Begin S:=0; for i:=1 to n do s:=s + m[i]; Sum:=s; End; Begin Init1(A); Print(A); S:=sum(A); Writeln(сумма элементов массива равна, s); Readln end.
Процедура для «случайного» ввода элементов массива: program ex; const n=30; k=100; type myarray = array[1..n] of integer; var m: myarray; procedure init1(var m:myarray); var i: integer; begin for i:=1 to n do m[i]:=random(k); end; procedure print(m: myarray); var i:integer; begin for i:=1 to n do write(m[i]:5); writeln end; begin randomize; init1(m); print(m); readln end.
Пример 3. Вставить указанный элемент в массив program ex; const n=30; k=100; l=60; type myarray = array[1..n] of integer; myarray1= array[1..l] of integer; var m: myarray; a:myarray1; i, nom, ch:integer; procedure init1(var m:myarray); var i: integer; begin for i:=1 to n do m[i]:=random(k)-50; end;
procedure print(m: myarray); var i: integer; begin for i:=1 to n do write(m[i]:5); writeln end; procedure print1(m: myarray1); var i:integer; begin for i:=1 to l do write(m[i]:5); writeln end;
begin randomize; init1(m); print(m); write('nomer='); readln(nom); write('chislo='); readln(ch); for i:=1 to nom-1 do a[i]:=m[i]; a[nom]:=ch; for i:=nom+1 to n+1 do a[i]:=m[i-1]; print1 (a); readln end.
Проверь себя 5) Массив А содержит следующие значения: -9.2, 6, -5.3, 8. В программе необходимо элементы массива A скопировать в массив B. Какими операциями это возможно осуществить? Как должны быть описаны массивы А, В? 6) Запишите команды вывода массива А (из задания 5 ) на экран.