double arrow

Двумерные массивы

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

Например: А[I,J], Mas[r+2,c-1], D[3,4].

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

Направление изменения второго индекса

(номера столбца)


j= 1 2 3... n

f        
         
         

Направление изменения i = 1

первого индекса …

(номера строки) к

А[2,3] или А[i,j] (если i=2 и j=3)

Матрица в которой количество строк и столбцов равны называется правильной.

У правильной (квадратной) матрицы есть главная и побочная диагональ. Элемент главной диагонали имеет одинаковые индексы и обозначается F[x,x], а побочной- F[x,n-x+1] (где n- количество строк и столбцов)

главная


F[1,1]    
  F[2,2]  
    F[3,3]

побочная


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

Способы описания двумерного массива

1). Type имя типа = array [1..K, 1..N] of тип элементов;

Var имя массива: имя типа;

2). Var имя массива: array [диапазон 1 индекса, диапазон 2 индекса] of тип элементов;

где array, of – «массив из» - служебные слова;

тип элементов – любой простой или структурированный;

K – максимальное количество строк;

N - максимальное количество столбцов.

Например: Соnst K= 4; N= 6;

Type massiv=array[1..20, 1..5] of real;

Var A:massiv;

B: array [1..K, 1..N] of char;

Ввод элементов массива

Ввод N,K
j=1,N,1
Ввод A[i,j]
i=1,K,1
Рrogram vvod;

Type mas=array[1..10,1..10] of real;

Var a:mas;

N,K, i,j: integer;

Begin

Write(‘Введите количество строк -’);

Readln(K);

Writeln(‘Введите количество столбцов- ’);

Readln(N);

Writeln(‘Введите элементы массива ’);

For i:=1 to K do

For j:=1 to N do

Begin

Write(‘a[‘,i,’,’,j,’]=’);

Readln(a[i,j])

End;

Обработка введенного массива

...

End.

Вывод элементов массива

For i:=1 to k do

Begin

For j:=1 to n do

Write (a[i,j], ‘ ‘);

Writeln

End;

programpr; type masiv = array[1..15,1..15] ofinteger; vari,max,j,n1,n2,p1,p2:integer; mas:masiv; begin writeln('Введите количество строк и столбцов '); readln(n2,n1); fori:=1 ton2 do forj:=1 ton1 do begin writeln('Введите Mas[',i,',',j,']'); readln(mas[i,j]); end; max:=mas[1,1]; p1:=1;{p1,p2-координаты макс.элемента} p2:=1; fori:=1 ton2 do forj:=1 ton1 do ifmas[i,j]>max then begin max:=mas[i,j]; p1:=i; p2:=j; end; writeln('Mas[',p1,',',p2,'] = ',max); end. Введите количество строк и столбцов 3 3 Введите Mas[1,1] Введите Mas[1,2] Введите Mas[1,3] Введите Mas[2,1] Введите Mas[2,2] Введите Mas[2,3] Введите Mas[3,1] Введите Mas[3,2] Введите Mas[3,3] Mas[2,1] = 6

Пример 4:

Найти в двумерном массиве первый максимальный элемент и вывести его координаты.

Тема 2.6 Подпрограммы: процедуры и функции

При создании сложной программ возникает необходимость декомпозиции (разделении) ее на подзадачи. Тurbo Pascal имеет различные средства для деления программы на части. На верхнем уровне (больших задач) – это модули, на нижнем уровне (элементарных подзадач) – это процедуры и функции.

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

Например: Readln(x), Delete(St, 5, 2)

Функция предназначена для вычисления какой-либо скалярной (простой) величины. Имя функции может входить в выражение как операнд. В теле функции имени функции хотя бы раз должно быть присвоено значение.

Например: Ord(‘F’), Sqrt(a+b)

Все процедуры и функции языка Тurbo Pascal делятся на две группы:

- встроенные (стандартные) - хранятся в стандартных библиотечных модулях;

- пользовательские - описываются в разделе описаний головной программы.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



Сейчас читают про: