Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Программирование на языке Паскаль (в одной книге).doc
Скачиваний:
77
Добавлен:
27.03.2016
Размер:
7.27 Mб
Скачать

Var I, j, m, t : Integer;

Vector : Array [1..K] Of Integer;

a : Array [1..n, 1..n] Of Integer;

Begin

ClrScr;

Randomize;

For i:=1 To n Do

For j:=1 To n Do

a[i, j]:= Random(mass_max – mass_min + 1) + mass_min;

WriteLn;

WriteLn(‘Исходный массив:’);

For i:=1 To n Do

Begin

For j:=1 To n Do

Write(a[i, j]:5);

WriteLn;

End;

WriteLn;

For i:=1 To k Do обнуляем выходной вектор

vector[i]:= 0;

m:= n-1;

For i:= 1 To n Do

Begin

m:= m+1;

t:= m;

For j:=1 To n Do

Begin

vector[t]:= vector[t] + a[i,j];

t:= t - 1;

End;

End;

WriteLn;

WriteLn(‘Полученный вектор’);

WriteLn;

For i:=1 To k Do

Write(vector[i]:5);

WriteLn;

ReadLn;

End.

19.Задать элементы целочисленного трехмерного массиваmassivknmпо слоям в виде чисел от 1доk*n*m. Вывести на экран верхнюю, переднюю и правую грани массива:

Program Primer_19;

Uses WinCrt;

Const k = 3; количество слоев

n = 4; количество строк в слое

m = 5; количество столбцов в слое

Var I, j, b, c : Word;

Massiv : Array [1..k, 1..n, 1..m] Of Word;

Begin порядок следования индексов: слой, строка, столбец

ClrScr;

c:= 0; рабочая переменная для задания элементов массива

For i:=1 To k Do заполнение слоев массива

For j:=1 To n Do заполнение строк массива

For b:=1 To m Do заполнение столбцов массива

Begin

c:= c + 1;

Massiv[i, j, b]:= c;

End;

WriteLn('Верхняя грань:');

For i:=1 To n Do

Begin

For j:=1 To m Do

Write(Massiv[1, i, j]:5);

WriteLn;

End;

WriteLn;

WriteLn('Передняя грань:');

For i:=1 To k Do

Begin

For j:=1 To m Do

Write(Massiv[i, n, j]:5);

WriteLn;

End;

WriteLn;

WriteLn('Правая грань:');

For i:=1 To k Do

Begin

For j:=1 To n Do

Write(Massiv[i, j, m]:5);

WriteLn;

End;

WriteLn;

ReadLn;

End.

Результат работы программы:

Верхняя грань:

1 2 3 4 5

6 7 8 9 10

11 12 13 14 15

16 17 18 19 20

Передняя грань:

16 17 18 19 20

36 37 38 39 40

56 57 58 59 60

Правая грань:

5 10 15 20

25 30 35 40

45 50 55 60

Строки

Строки занимают промежуточное положение между простыми переменными и сложными структурами – массивами, множествами, записями.

Строка– это упорядоченная последовательностьсимволоврасширенной таблицы кодаASCIIне длиннее255символов или массив значений типаChar.

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

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

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

Строки можно описать в операторе Varс указанием их длины:

Var str_1: String;строка длиной 255 символов

str_2: String[25]; строка длиной 25 символов

str_3: String[10]; строка длиной 10 символов

или задать в Constкакпоименованнуюконстанту:

Const my_str=’Это строка символов’; записывается в апострофах

klav=’qwerty’;

Эту же строку можно задать с помощью шестнадцатеричных или десятичных кодов символов таблицы ASCII, причем в этом случае апострофы не ставятся:

Const klav=#113#119#101#114#116#121; десятичные коды символов

Эту же строку можно задать с использованием смещения:

Const klav=^1^7^%^2^4^9; смещения кодов в таблице ASCII

Смещениеобозначается знаком карата^.Рассмотрим таблицу кодовASCII, для этого выведем ее в текстовый файл следующей программой:

Program Table_ASCII;

Uses CRT;

Const n: String[16] = '0123456789ABCDEF';

s: String = '--+-----------------------------------------------';