Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции по технологии програм..doc
Скачиваний:
13
Добавлен:
24.02.2016
Размер:
253.95 Кб
Скачать

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

Общая форма записи:

1. VAR имя массива: ARRAY[нач. знач. интервала строки .. конеч. знач. интервала строки, нач. знач. интервала столбца .. конеч. знач. интервала столбца] OF Базовый тип;

Пример: A2*3

VAR A: ARRAY[1..2, 1..3] OF REAL;

2. TYPEимя типа=ARRAY[нач. знач. интервала строки .. конеч. знач. интервала строки, нач. знач. интервала столбца .. конеч. знач. интервала столбца] OF Базовый тип;

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

Пример: A2*3

TYPE MASS = ARRAY[1..2, 1..3] OF REAL;

VARA:MASS;

Ввод и вывод двумерного массива.

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

READ(N,M);

FOR I:=1 TO N DO

FOR J:=1 TO M DO

BEGIN

WRITE ('A[ ', I, ',', J, ' ]=');

READ(A[ I ,J ]);

END;

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

FOR I:=1 TO N DO

BEGIN

WRITELN;

FOR J:=1 TO M DO

WRITELN (A[ I, J ]);

END;

Определение одно- и двумерного массива, как типизированной константы.

1. TYPE имя типа = ARRAY[н..к] OF базовый тип;

CONST имя массива: имя типа = (список элементов);

Пример: A(1, 2, 3, 4, 5)

TYPE MAS = ARRAY[1..5] OF INTEGER;

CONST A: MAS = (1, 2, 3, 4, 5);

2. TYPE имя типа = ARRAY[н.стр. .. к.стр., н.ст. .. к. ст.] OF базовый тип;

CONST имя массивы: имя типа = ((строка1), (строка2), (строка n));

Пример: TYPE MASS =ARRAY[1..2, 1..2] OF INTEGER;

CONSTA:MASS= ((1, 2), (3, 4));

Типовые алгоритмы обработки массивов.

1.Одномерный.

Нахождение минимального (максимального) элемента массива.

(a1, a2, a3, a4, a5)

MIN:= A[ 1 ]; {MAX:=A[ 1 ]}

FOR I:=1 TO 5 DO

IF MIN > A[ I ] {MAX < A[ I ]} THEN

MIN:= A[ I ]; {MAX:= A[ I ]}

2.Двумерный.

MIN:= A[ 1, 1 ]; {MAX:=A[ 1, 1 ]} STR:=1; STL:=1;

FOR I:=1 TO N DO

FOR J:=1 TO M DO

IF MIN > A[ I, J ] {MAX < A[ I, J ]} THEN

BEGIN

MIN:= A[ I, J ]; STR:=I; STL:=J;

{MAX:= A[ I, J ]; STR:=I; STL:=J}

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

SUM:=0;

FOR I:=1 TO N DO

SUM:= SUM + A[ I, J ];

Лекция №5. Процедуры и функции.

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

Использование подпрограмм позволяет:

  1. Сократить объем программы.

  2. Улучшить структуру (читаемость и наглядность).

  3. уменьшить вероятность ошибок.

  4. облегчить процесс отладки.

В Pascal механизм подпрограмм реализуется в виде процедур и функций.

Процедура – это самостоятельная программная единица, которая выполняется по команде из другой программной единице (процедуре или функции).

Общий вид описания процедуры:

PROCEDURE имя (список формальных параметров);

Раздел описаний; (могут присутствовать все разделы описаний)

BEGIN

Операторная часть;

END;

Формальные параметры – это переменные фиктивно присутствующие в процедуре и определяющие тип и место подстановки фактических параметров над которыми производятся действия.

Все формальные параметры делятся на два вида:

  1. Параметры значения (входные).

  2. параметры переменные (выходные).

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

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

Глобальные переменные– это переменные, которые объявлены в описании основной части программы, а локальные – в процедуре, они существуют только тогда, когда работает процедура, появляются при ее вызове и исчезают при завершении работы.

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

При вызове процедуры все формальные параметры заменяются фактическими.

!!! – число и тип формальных и фактических параметров должны совпадать с точностью до их следования.

Пример: Составить программу, которая будет находить AN, где A, N – целые числа, вводимые с клавиатуры. Описать в виде процедуры.

PROCEDURE STEP (A, N: INTEGER; VAR Y: INTEGER);

VARI:INTEGER; {локальная переменная}

BEGIN

Y:=1;

FOR I:=1 TO N DO

Y:=Y*A;

END;

Передается три параметра A,N– параметры значения,Y– параметр переменной. Вызов этой процедуры в основной программе выглядит:

STEP (3, 5, d); или STEP (b, c, d1);