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

50 Дать общее понятие массивов данных. Пояснить порядок использования одномерных массивов в языке Pascal.

Массивом называется совокупность элементов одинакового типа, объединенных общим именем. Число элементов в массиве называется размерностью (размером) массива; каждый элемент массива задается своим порядковым номером в массиве - индексом.

Массивы, элементы которых однозначно определяются одним индексом, называются одномерными. В виде одномерного массива можно представить, например, список фамилий студентов одной группы, где каждый студент однозначно определяется своим порядковым номером в списке.

В языке Pascal нет ограничения на число элементов в массиве (т.е. на его размерность), однако, суммарная длина любого из массивов во внутреннем представлении не должна превышать 65520 байт.

Язык Pascal допускает описание в программах одномерных массивов в следующем виде:

TYPE <Имя_типа_массива>=ARRAY [<Диапазон_индексов>] OF <Тип>;

где TYPE - служебное слово, используемое для создания пользовательского типа данных;

ARRAY … OF - служебные слова для описания массивов («Массив … из»);

<Имя_типа_массива> - задаваемое пользователем имя типа массива (требования к именам типов совпадают с требованиями к именам переменных);

<Диапазон_индексов> – диапазон изменения индексов массива. В качестве данного диапазона может выступить любой порядковый тип, кроме LONGINT. Чаще всего используют тип-диапазон, в котором задают границы изменения индексов;

<Тип> - тип элементов массива, например, REAL, INTEGER, CHAR и др.

Примеры описания типа массивов:

TYPE М=ARRAY [1..10] OF INTEGER;

TYPE AR=ARRAY [0..15] OF REAL;

Переменные, относящиеся к тому или иному типу массивов, должны быть соответственно объявлены в разделе описания переменных, например:

VAR REZ:M;

VAR P:AR;

Можно также описать переменную как непосредственно имеющую тип массива, например:

VAR REZ: ARRAY [1..10] OF INTEGER;

При обращении к элементам массива в тексте программы обязательно требуется указывать их порядковый номер в массиве, например, REZ[1], P[5] и т.д.

Одномерные массивы также иногда называются векторами. Как правило, предполагается, что диапазон индексов вектора начинается с 1. Например, если задан вектор V из 5 чисел (4, 2, 1, -7, 8), то первый элемент вектора равен 4 (т.е. V[1]=4), второй элемент вектора равен 2, третий элемент вектора равен 1 и т.д.

Пример. Векторные операции.

Найти скалярное произведение двух заданных векторов из 5 элементов.

Возможный вид решения задачи:

PROGRAM scal_pr;

TYPE Vec=array[1..5] of real;

var a,b:Vec; i:integer; s:real;

begin

writeln('Введите элементы вектора а');

for i:=1 to 5 do readln(a[i]);

writeln('Введите элементы вектора b');

for i:=1 to 5 do readln(b[i]);

s:=0;

for i:=1 to 5 do s:=s+a[i]*b[i];

writeln('s=',s:6:2)

end.

51 Охарактеризовать приемы работы с двумерными массивами в языке Pascal. Привести примеры

Массив, для задания элементов которого требуется использовать два индекса, называется двумерным. Примерами двумерных массивов являются разнообразные таблицы, в которых каждый элемент характеризуется своим номером строки и номером столбца.

Двумерные массивы, в которых диапазоны индексов начинаются с 1, также называются иногда матрицами. Размерность каждой матрицы определяется как MxN, где М – число строк в матрице, N – число столбцов.

Например, в матрице из трех строк и четырех столбцов элемент A[3, 1]=4, A[1, 2]=5, A[3, 2]=3, A[2, 4]=2. Первый индекс элемента матрицы характеризует номер строки матрицы, в которой расположен элемент, второй индекс – номер столбца.

Если число строк матрицы равняется числу столбцов, то матрицы данного типа называются квадратными. Элементы квадратной матрицы вида B[1,1], B[2,2], B[3,3]… составляют главную диагональ матрицы.

Описание типов двумерных массивов в языке Pascal осуществляется аналогично описанию типов одномерных массивов с добавлением диапазона изменения второго индекса, например:

TYPE MATR=ARRAY[1..4, 1..5] OF INTEGER;

TYPE T=ARRAY[0..10, 2000..2004] OF REAL;

Также допускается указание имени другого типа массива в качестве типа элементов массива, например:

TYPE VEC=ARRAY[1..4] OF REAL;

MAS=ARRAY[1..5] OF VEC;

Переменные, относящиеся к типу массива, должны быть соответствующим образом объявлены в разделе описания переменных, например:

VAR А: MATR;

VAR B, C, D: T;

VAR R: ARRAY [1..5, 1..10] OF INTEGER;

Пример Обработка элементов матрицы.

Найти количество положительных элементов в заданной целочисленной матрице размерности 5х6.

Возможное решение задачи:

PROGRAM Mas_count;

Type Matr=array[1..5,1..6] of integer;

Var A: Matr;

i, j, k: integer;

begin

k:=0;

for i:=1 to 5 do

for j:=1 to 6 do

begin

writeln('Введите элемент массива');

readln(a[i,j]);

if a[i,j]>0 then k:=k+1 {Подсчет количества положительных элементов}

end;

writeln('k=', k)

end.

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