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

Билет №11. Структурный тип строка. Строка, как специальная форма массива.

В Турбо Паскале имеется семейство строковых типов, рассматриваемых как специальная форма массива, а именно одномерный массив символов. Это семейство соответствует по умолчанию следующему описанию:

type string[ <m >] = array [0..m] of char;

где: <m >- максимальная длина строки (число диапазона 0 .. 255).

string- стандартное имя строкового типа, являющееся ключевым словом.

Строки длины до 255 соответствуют типу string (без указания длины строки).

Нулевая позиция строки является специальной позицией, в которой хранится текущая длина строки (код ASCII, представляющий длину строки). Эта позиция автоматически корректируется при операциях над строками.

Доступ к компоненту строки (символу строки) осуществляется также как к элементу массива, т.е. по индексу (индексному выражению).

Например: st[J+1] {Cимвол в позиции J+1 строки st}

Разрешен доступ, в том числе и к нулевой позиции строки, так что, например ord(st[0]) - длина строки st .

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

Задача 4.2.6(11)

program Project11;

type mas=array[1..3,1..5] of Integer;

var a:mas;

i,j,l1,l2,d1,d2,s:Integer;

procedure p(x:mas; e:Integer; var k:integer);

var j,min:Integer;

begin

min:=x[e,1];

k:=1;

for j:=2 to 5 do

if x[e,j]<min then

begin

min:=x[e,j];

k:=j;

end;

end;

begin

for i:=1 to 3 do

for j:=1 to 5 do

read(a[i,j]);

p(a,2,d1);

p(a,3,d2);

s:=a[2,d1];

a[2,d1]:=a[3,d2];

a[3,d2]:=s;

Writeln;

for i:=1 to 3 do begin

for j:=1 to 5 do begin

write(a[i,j],' ');

end; writeln; end;

Readln;

Readln;

end.

Соседние файлы в папке 1 семестр сессия