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

8.5.2 Применение случайных чисел при работе с массивами

В языке Паскаль массив описывается заранее до его использования и во время исполнения программы не меняется его длина, размерность и тип элементов. Такие массивы называются статическими. Другой подход – это когда массив создаётся во время работы программы. Такой массив называют динамическим. В этом курсе мы будем работать только со статическими массивами. Это означает, что при описании мы должны указать максимально возможную длину массива по каждому индексу.

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

program p8_7;

uses CRT;

const

n:= 1000; { максимальный размер массива }

var

М: array[1.. n] of integer;

i, k : integer;

begin

write('Введи длину массива:');

Readln(k); { k – текущая длина массива; k <= n }

{ Создание массива и вывод его элементов на экран }

Writeln(' Созданный массив'); { Вывод заголовка на экран }

for i := 1 to k do

begin

{ Элементы массива – случайные числа в интервале от -150 до 150 }

M[i] := random(301) – 150;

Write( М[ i ]:4, ' ' );

If i mod 8 = 0 then writeln; {Через каждые 8 чиселперевод строки }

end;

readkey;

end.

То же самое повторим для двумерного массива - квадратной матрицы.

program p8_8;

uses CRT;

const

n := 10; { максимальное число строк в матрице }

m := 10; { максимальное число столбцов в матрице }

var

М: array[1.. n, 1.. m] of real;

i, j, k : integer;

begin

write('Введи размер матрицы:');

Readln(k); { k – текущий размер матрицы; k <= n }

{ Создание массива и вывод его элементов на экран }

Writeln(' Созданный массив'); { Вывод заголовка на экран }

for i := 1 to k do { цикл по строкам }

for j := 1 to k do { цикл по столбцам }

begin

{ Элементы массива – случайные действительные числа

в интервале от -200 до 200 }

M[i, j] := 400*random – 200;

Write( М[ i, j ] : 8 : 2, ' ' );

end;

writeln; { после вывода строки чисел – переход на следующую строку }

readkey;

end.

Лекция 9. Строки

9.1 Строковый тип

Строки символов, реализованные в языке Object Pascal, обладают всеми признаками и свойствами одномерных символьных массивов (... array... of Char ). Символьные массивы могут входить в состав строковых выражений. В этом случае массив преобразуется в строку, длина которой равна длине массива. Символьным массивам можно присваивать значения строковых констант, но нельзя присваивать значения строковых переменных или значения строковых выражений.

Пример:

program p9_1;

const

S1= 'ABCDFGHIJK'; { константа – строка }

var

S2: String[10]; { описание строки }

S3: array [1.. 10] of char; { описание символьного массива }

begin

S2 := S3; { - присваивание возможно }

S3 := S1; { - присваивание возможно }

S3 := S2; { - ошибка вида «Type mismatch» }

end.

Строковые переменные описываются в разделе описания переменных следующим образом:

<список идентификаторов>: String [<максимальное количество

символов>];

Примеры:

var

S : String [10] ;

S1: String [40];

S2, S3, S4 : String[255];

Максимальная длина строки не должна превышать 255 символов. Возможно такое описание строковой переменной: S: String;

Это описание соответствует строке с максимальной длиной 255 символов ( String[255] ).

Если строковой переменной попытаться присвоить значение строки с большей, чем максимальная длина, то ошибки не произойдет, но конец строки будет автоматически обрезан.

В программе доступ к отдельным символам строки осуществляется как к элементам массива, посредством указания индекса (от единицы до максимальной длины строки) в квадратных скобках:

S[1]:= 'A'; S[4]:= '$'; S[t]:= '!';

Нулевой байт переменной, содержащей строку, равен длине этой строки.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]