Similar presentations:
Основные процедуры обработки массивов данных. (Лабораторная работа 6)
1. Основные процедуры обработки массивов данных
Лабораторная работа №62. Определение массива
Массивом называется упорядоченнаяпоследовательность величин, обозначаемая одним
идентификатором (именем).
Члены этой последовательности называются
элементами массива.
Отношение порядка между элементами массива
задается с помощью индексирования.
Каждый элемент массива определяется именем
массива и его положением в массиве, т.е. значениями
индексов.
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. Схема ввода элементов одномерного массива
Ввод NI=1,N
Ввод Xi
7. Ввод элементов одномерного массива
varx: 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. Вывод элементов одномерного массива
varx: 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. Вывод элементов одномерного массива
vara: 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;