Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lab_rab_1_4.doc
Скачиваний:
32
Добавлен:
19.11.2018
Размер:
355.33 Кб
Скачать

3.6. Определение и использование данных типа "массив"

Данные типа массив в языке Turbo Pascal определяются следующими правилами:

а) type

<имя типа данных> = Array [<список типов индексов>] of <тип данных, которые должны содержаться в массиве>;

var <список переменных> : <имя типа данных>;

б) var

<список переменных> : Array [<список типов индексов>] of <тип данных, которые должны содержаться в массиве>;.

Массивы могут иметь вид списка (одномерный массив), матрицы (двумерный массив) и т.д. (трех-, четырех-, n-мерный); при этом должны использоваться 1, 2 и т.д. индексов.

Например:

...

type

digit = array [0..9] of char;

{digit – новый тип данных – "одномерный массив"; 0..9 – тип индекса (диапазонный или ограниченный тип); char – тип данных, которые должны содержаться в массиве}

matrix = array [byte, byte] of real;

{ matrix - новый тип данных - "двумерный массив"; byte - тип индексов }

var

A, B : digit; {A,B - переменные типа digit}

M1, M2 : matrix; {M1,M2 - переменные типа matrix}

Cube : array[1..5, 'A'..'H', boolean] of char;

{ Cube - переменная типа "трехмерный массив" }

...

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

readln(A[1]); {ввод с клавиатуры значения элемента 1 массива A}

A[3]:='F'; {присвоение элементу 3 массива A значения 'F'}

M1[i,j]:=M2[j,i]-5.55;{вычисление значения элемента с индексами i,j массива M1}

writeln(M1[k, n]); {вывод на экран значения элемента массива M1}

Ввод и вывод значений элементов массивов может выполняться с использованием оператора FOR; например:

writeln('Введите количество элементов массива (не более 10)');

readln(N);

for i:=1 to N do

begin

write(i,'-й элемент : ');

readln(B[i])

end;

...

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

readln(k,n);

for i:=1 to k do

for j:=1 to n do

begin

write(i,' ',j,'-й элемент= : ');

readln(M1[i,j])

end;

...

writeln('Результат вывода значений матрицы');

for i:=1 to k do

begin

for j:=1 to n do write(M2[i,j],' '); {вывод i-й строки}

writeln {переход на новую строку}

end;

...

3.7. Варианты заданий

1.а) Вычислить n!

б) Определить количество элементов матрицы, значения которых не превышают заданное число.

2.а) Вычислить .

б) Найти минимальный элемент матрицы.

3.а) Вычислить .

б) Найти максимальный элемент матрицы.

4.а) Вычислить .

б) Поменять местами минимальный и максимальный элемент матрицы.

5.а) Вычислить .

б) Поменять местами два заданных элемента матрицы.

6.а) Вычислить .

б) Поменять местами две заданных строки матрицы.

7.а) Вычислить .

б) Транспонировать матрицу А.

8.а) Вычислить .

б) Сформировать массив В, содержащий сумму элементов каждого столбца матрицы А.

9.а) Вычислить .

б) Поменять местами два заданных столбца матрицы.

10.а) Вычислить .

б) Определить количество отрицательных элементов матрицы.

11.а) Вычислить

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

12.а) Вычислить .

б) Вычислить среднее арифметическое элементов матрицы.

13.а) Вычислить .

б) Вычислить произведение отрицательных элементов матрицы.

14.а) Вычислить .

б) Вычислить сумму положительных элементов матрицы.

15.а) Вычислить .

б) Все отрицательные элементы матрицы возвести в квадрат.

16.а) Вычислить

б) Сформировать массив B, содержащий максимальные элементы строк матрицы A.

17.а) Вычислить .

б) Сформировать массив B, содержащий суммы элементов строк

матрицы A.

18.а) Вычислить сумму n членов геометрической прогрессии.

б) Вычислить сумму всех отрицательных элементов матрицы.

19.а) Вычислить .

б) Заполнить матрицу А случайными числами с помощью функции Random.

20.а) Вычислить .

б) Вычислить сумму элементов главной диагонали матрицы.

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