Статья: Интервальные типы данных. Оператор TYPE. Массивы

IF (n<1)OR(n>Nmax) THEN BEGIN

WRITELN('неверный размер!'); Halt; END;

WRITELN('введите матрицу A построчно ');

FOR i:=1 TO n DO FOR j:=1 TO n DO READ(a[i,j]);

WRITELN('введите матрицу B построчно ');

FOR i:=1 TO n DO FOR j:=1 TO n DO READ(b[i,j]);

FOR i:=1 TO n DO FOR j:=1 TO n DO BEGIN

c[i,j]:=0; FOR k:=1 TO n DO c[i,j]:=c[i,j]+a[i,k]*b[k,j]; END;

WRITELN('матрица A*B :');

FOR i:=1 TO n DO FOR j:=1 TO n DO WRITE(c[i,j]);

WRITELN;

END.

Наша программа сработала правильно, но полученную матрицу вывела плохо - все элементы подряд без деления на строки. Исправималгоритмвывода:

FOR i:=1 TO n DO BEGIN

FOR j:=1 TO n DO WRITE(c[i,j]:8);

WRITELN;

END;

Теперь матрица выводится аккуратно.

В Паскале допускаются типизированные константы - массивы, список значений элементов массива задается в круглых скобках и разделяется запятыми:

CONST a : ARRAY[1..5] OF Byte=(1,2,3,4,5);

c : ARRAY[0..3] OF Char=('a','b','c','d');

b : ARRAY[-1..1] OF Boolean=(FALSE,TRUE,FALSE);

Символьные массивы можно инициализировать и более простым способом:

CONST c : ARRAY[0..3] OF Char='abcd';

Если инициализируется многомерный массив, то, поскольку каждый его элемент есть массив, нужно использовать вложенную скобочную структуру:

CONST A : ARRAY[1..3,1..2] OF Real = ((0,1),(2,4),(3,5));

Каким именно образом сгруппировать значения элементов, легко понять, вспомнив, что массив ARRAY[1..3,1..2] OF Real есть на самом деле компактная запись описания ARRAY[1..3] OF ARRAY[1..2] OF Real.

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

К-во Просмотров: 211
Бесплатно скачать Статья: Интервальные типы данных. Оператор TYPE. Массивы