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

11. Многомерные массивы и процедуры Часть I

  1. Одинаковы ли типы?

array [1..15,0..3] of char

array [1..15] of array [0..3] of char

  1. Определите значение переменной y после выполнения следующей программы:

program massiv;

const N = 3;

type TMatrix = array[1..3, 1..3] of integer;

procedure test(var a: TMatrix);

begin

a[1, 1]:=4; a[1, 2]:=6; a[1, 3]:=3;

a[2, 1]:=1; a[2, 2]:=7; a[2, 3]:=2;

a[3, 1]:=8; a[3, 2]:=5; a[3, 3]:=4;

end;

var M: TMatrix;

y, i, j: integer;

begin

test(M);

M[1,1]:=0; y:=0;

for i:=1 to N do for j:=1 to N do y:=y+M[i, j];

end.

  1. type STR = array [1..20] of char;

MATR1 = array [1..10] of STR;

MATR2 = array [1..15,1..20] of char;

var A: MATR1; B, C: MATR2; T: boolean; X: STR;

    1. Укажите тип переменных A, A[3], A[9][8], A[1,1], B, B[15], B[3,3], B[2][6]

    2. Какие из указанных операций допустимы:

      B:=C;

      B:=B+C;

      T:=B<>C;

      A[1]:=A[8];

      X:=A[3];

      C[5]:=X;

      C[5]:=C[1];

  1. Напишите процедуру Input(A) для заполнения массива целых чисел A размером 10 x 10 следующим образом:

0 0 0 ... 0

0 1 0 ... 0

0 0 2 ... 0

...

0 0 0 ... 9

  1. TYPE VECTOR = array [1..20] of integer;

MATRIX = array [1..20] of VECTOR;

MATRIX1 = array [1..20,1..20] of integer;

VAR A: MATRIX;

X: VECTOR;

B: MATRIX1;

    1. Напишите процедуру Change(A, X), заменяющую нечетные строки матрицы А на Х.

    2. Напишите процедуру Change(B,X), заменяющую четные столбцы матрицы B на X.

    3. Напишите процедуру Move(A), меняющую местами 1 и 2 строки, 3 и 4, ..., 19 и 20, используя массив X как вспомогательный буфер.

    4. Напишите аналогичную процедуру для B.

Часть II

  1. const n=10;

type matr = array[0..n, 0..n] of integer;

Напишите функцию Max(A: matrix): integer; определяющую максимальный элемент матрицы в заштрихованной области

1.

2.

3.

4.

5.

6.

7.

8.

9.

10.

11.

12.

13.

14.

  1. Напишите логическую функцию TEST(A, k), принимающую значение True, если

    1. Все элементы k-го столбца нулевые

    2. Элементы k-го столбца упорядочены по возрастанию

    3. k-я строка симметрична

    4. Первый элемент k-й строки является максимальным в строке

    5. Сумма элементов k-го столбца больше суммы элементов k-й строки

    6. Все элементы k-й строки равны элементам 1-й строки

    7. Сумма элементов k-го столбца больше суммы элементов побочной диагонали

    8. Максимальный элемент k-й строки стоит в k-м столбце

    9. Минимальный элемент k-го столбца равен нулю

    10. Все элементы k-й строки совпадают с элементами к-го столбца

    11. Минимальный элемент k-й строки равен максимальному элементу k-го столбца

    12. k-я строка совпадает с k+1 (при k=10 совпадает с 1-й строкой)

    13. Все элементы k-й строки есть в k-ом столбце

    14. Или k-ый столбец или k-ая строка матрицы A – палиандромы