Основные процедуры обработки массивов данных
1/20
111.24K
Категория: Базы данныхБазы данных

Основные процедуры обработки массивов данных. (Лабораторная работа 6)

1. Основные процедуры обработки массивов данных

Лабораторная работа №6

2. Определение массива

Массивом называется упорядоченная
последовательность величин, обозначаемая одним
идентификатором (именем).
Члены этой последовательности называются
элементами массива.
Отношение порядка между элементами массива
задается с помощью индексирования.
Каждый элемент массива определяется именем
массива и его положением в массиве, т.е. значениями
индексов.

3. Описание

Для массива характерно следующее:
число компонент массива определяется при
его описании и в дальнейшем не меняется
Например:
VAR
T: ARRAY [1..20] OF REAL;
F: ARRAY [1..50] OF INTEGER;

4. Описание

Для массива характерно следующее:
Каждый элемент массива может быть явно
обозначен и к нему имеется прямой доступ
Индекс задается целой константой, целой
переменной или выражением, принимающим
целые значения.
Значение индекса в программе должно быть не
меньше нижней границы и не больше верхней.
Например:
T[1], T[2], T[3] - соответствует индексированным
переменным t1, t2, t3
T[n+1]
T[2]
T[К]

5. Оператор цикла с параметром

FOR i:=A TO B DO Р;
Где i - некоторая переменная
типа integer, которая
называется параметром
цикла,
А и В - выражения со
значением типа integer,
P - оператор (тело цикла)
Например:
for i:=1 to 10 do readln (a [i]);
I=A,B,1
P

6. Схема ввода элементов одномерного массива

Ввод N
I=1,N
Ввод Xi

7. Ввод элементов одномерного массива

var
x: array [1..15] of real;
i, n: integer;
………..
writeln (‘Введите количество элементов массива ‘);
readln (n);
writeln (‘Введите элементы массива ‘);
for i:=1 to n do readln (x [i]);

8. Схема вывода элементов одномерного массива

I=1,N
Вывод Xi

9. Вывод элементов одномерного массива

var
x: array [1..15] of real;
i, n: integer;
………..
writeln (‘Элементы массива ‘);
for i:=1 to n do
writeln (' x [',i:2,'] = ', x[i]:8:2);
Результат:
Элементы массива
x [ 1] =___15.02
x [ 2] =____8.00
x [ 3] =_-117.26

10. Вывод элементов одномерного массива

var
a: array [1..15] of real;
i, n: integer;
………..
writeln (‘Элементы массива ‘);
write (‘X= {‘);
for i:=1 to n do write (x[i]:8:2);
writeln (‘}‘);
Результат:
Элементы массива
X={___15.02____8.00_-117.26………………….}

11. Описание массивов при работе с подпрограммами

В подпрограммах создания и обработки массивов
данных в качестве формальных параметров используются
имена массивов.
При этом в заголовке подпрограммы тип параметра должен
указываться явно – с помощью имени типа.
Подпрограмме должно предшествовать предложение Туре
с описанием типа массива, являющегося параметром
подпрограммы.
Например, так:
Туре ta = array [1..20] of integer;
Procedure Par (x : ta; n : integer; …);
Здесь ta - имя типа массива,
х – формальный параметр-массив типа ta,
n – формальный параметр (количество элементов в массиве х).

12. Задание

Программирование создания и обработки
массивов данных
Цель работы: получение практических навыков
алгоритмизации и программирования процессов
создания и обработки одномерных массивов
данных, основных процедур с их использованием, а
также разработки и использования подпрограмм
этих процедур.
Задание по лабораторной работе
Разработать подпрограмму обработки одномерного
массива целых чисел для задачи:
28) определение суммы положительных
элементов массива

13. Примеры алгоритмов процедур обработки одномерных числовых массивов данных

14. Алгоритм

Для исполнения подпрограммы
использовать модуль Program, в котором
должны предусматриваться:
создание одномерного массива чисел
(ввод чисел в качестве элементов
массива);
вызов подпрограммы обработки массива;
вывод результатов обработки массива
(предусмотреть вариант отсутствия
данных по условию задачи)

15. Определение количества положительных элементов одномерного массива чисел

нет
m=0

m:=0;
m=0
For i:=1 to n do
If x[i]> 0 then m:=m+1;
i=1,n

да
xi>0
нет
m=m+1

16. Формирование из исходного массива нового массива, состоящего из положительных элементов


m=0
m:=0;
For i:=1 to n do
If x[i]> 0 then
i=1,n
begin
m:=m+1;
да
y[m]:=x[i];
xi>0
end;
нет
m=m+1
ym=xi

17. Выбор наибольшего элемента в одномерном массиве чисел


xm=x1
xm:=x[1];
For i:=2 to n do
If x[i]>xm then xm=x[i];
i=2,n

да
xi>xm
нет
xm=xi

18. Вычисление суммы элементов одномерного массива чисел


s=0
s:=0;
For i:=1 to n do s:=s+x[i];
i=1,n
s=s+xi

19. Поиск в исходном массиве хотя бы одного положительного числа


r=false
i=1
r:=false;
i:=1;
While(i<=n)and(r=false) do
нет
i≤n
If x[i]> 0 then r:=true
r=false
else i:=i+1;

да
да
xi>0
нет
i=i+1
r=true

20. PMaxMin - процедура определения наибольшего и наименьшего чисел в массиве

Type ta= array [1..100] of integer;
Procedure PMaxMin ( x: ta; n: integer; Var xmax, xmin:
integer);
Var i: integer;
Begin
xmax:= x[1]; xmin:= x[1];
For i:=2 to n do
If x[i] > xmax then xmax:= x[i]
else if x[i] < xmin then xmin:= x[i];
End;
English     Русский Правила