- •Содержание
- •Назначение указаний
- •1. Числовые типы в языке Паскаль Часть I
- •Вычислить значения выражений:
- •Вычислить значения выражений:
- •Часть II
- •Записать на языке Паскаль следующие формулы:
- •Записать в общепринятой форме:
- •Вычислить:
- •2. Логический тип и логические операции Часть I
- •Вычислить значения выражений:
- •Часть II
- •3. Структура программы. Блок описания Часть I
- •Часть II
- •4. Использование переменных Часть I
- •Часть II
- •5. Простейшие программы Часть I
- •Часть II
- •6. Условный оператор Часть I
- •Часть II
- •7. Циклы с заданным числом итераций Часть I
- •Часть II
- •8. Циклы с постусловием и предусловием Часть I
- •Часть II
- •9. Массивы Часть I
- •Часть II
- •10. Процедуры и функции Часть I
- •Часть II
- •11. Многомерные массивы и процедуры Часть I
- •Часть II
- •12. Строковый тип Часть I
- •Часть II
- •13. Тип Запись Часть I
- •Часть II
- •14. Типизированные файлы Часть I
- •Часть II
- •15. Текстовые файлы Часть I
- •Часть II
- •16. Ссылочные типы Часть
- •Часть II
- •625000, Тюмень, ул. Володарского, 38.
- •6 25039, Тюмень, ул. Киевская, 52
11. Многомерные массивы и процедуры Часть I
Одинаковы ли типы?
array [1..15,0..3] of char
array [1..15] of array [0..3] of char
Определите значение переменной 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.
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;
Укажите тип переменных A, A[3], A[9][8], A[1,1], B, B[15], B[3,3], B[2][6]
Какие из указанных операций допустимы:
B:=C;
B:=B+C;
T:=B<>C;
A[1]:=A[8];
X:=A[3];
C[5]:=X;
C[5]:=C[1];
Напишите процедуру Input(A) для заполнения массива целых чисел A размером 10 x 10 следующим образом:
0 0 0 ... 0
0 1 0 ... 0
0 0 2 ... 0
...
0 0 0 ... 9
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;
Напишите процедуру Change(A, X), заменяющую нечетные строки матрицы А на Х.
Напишите процедуру Change(B,X), заменяющую четные столбцы матрицы B на X.
Напишите процедуру Move(A), меняющую местами 1 и 2 строки, 3 и 4, ..., 19 и 20, используя массив X как вспомогательный буфер.
Напишите аналогичную процедуру для B.
Часть II
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.
Напишите логическую функцию TEST(A, k), принимающую значение True, если
Все элементы k-го столбца нулевые
Элементы k-го столбца упорядочены по возрастанию
k-я строка симметрична
Первый элемент k-й строки является максимальным в строке
Сумма элементов k-го столбца больше суммы элементов k-й строки
Все элементы k-й строки равны элементам 1-й строки
Сумма элементов k-го столбца больше суммы элементов побочной диагонали
Максимальный элемент k-й строки стоит в k-м столбце
Минимальный элемент k-го столбца равен нулю
Все элементы k-й строки совпадают с элементами к-го столбца
Минимальный элемент k-й строки равен максимальному элементу k-го столбца
k-я строка совпадает с k+1 (при k=10 совпадает с 1-й строкой)
Все элементы k-й строки есть в k-ом столбце
Или k-ый столбец или k-ая строка матрицы A – палиандромы