Студопедия

Главная страница Случайная лекция


Мы поможем в написании ваших работ!

Порталы:

БиологияВойнаГеографияИнформатикаИскусствоИсторияКультураЛингвистикаМатематикаМедицинаОхрана трудаПолитикаПравоПсихологияРелигияТехникаФизикаФилософияЭкономика



Мы поможем в написании ваших работ!




Turbo-строки

Строки

Фрагмент программы

Begin

Begin

Begin

Begin

Begin

Фрагмент программы

Х:=1;

for i:=1 to (N+1) div 2 do {для каждого витка}

for j:=i to N-i+1 do {заполнение верхней части витка}

a[i,j]:=x;

x:=x+1;

end;

for j:=i+1 to N-i+1 do {заполнение правой части витка}

a[j,N-i+1]:=x;

x:=x+1;

end;

for j:=N-i downto i do {заполнение нижней части витка}

a[N-i+1,j]:=x;

x:=x+1;

end;

for j:=N-i downto i+1 do {заполнение левой части витка}

a[j,i]:=x;

x:=x+1;

end;

end;

Пример 2. Дана квадратная матрица А(N,M) действительных чисел и действительное число Х>0. Заполнить ее числами по предложенной схеме.

  M
1/x 2/x 3/x 4/x M/x
1/x2 2/x2 3/x2 4/x2 M/x2
1/x3 2/x3 3/x3 4/x3 M/x3
N 1/xN 2/xN 3/xN 4/xN M/xN

 

Решение. В начале программы введем Х и размеры матрицы. Затем переберем все строки (for i:=1 to N do …) и каждому элементу строки (for j:=1 to M do …) присвоим соответствующее значение. По рисунку видно, что каждый элемент вычисляется по формуле: а[i,j] = j/xi.

for i:=1 to N do {для каждой строки}

for j:=i to M do {для каждого столбца}

a[I,j]:=j/exp(i*ln(x));

 

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

а) общая длина строки, которая характеризует размер памяти, выделяемый строке при описании;

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

В языках программирования используются два способа реализации строк:

1. Turbo-строки или String-строки

2. ASCIIZ-строки или нуль-терминированные строки.

Этот способ реализации строк был впервые введен в языке Turbo Pascal в виде стандартного типа String и поэтому получил такое название.

При таком способе реализации строк каждый символ занимает один байт, а текущая длина хранится в нулевом (имеющем индекс 0) байте строки. Этот байт сделан невидимым для пользователя, его информацию можно извлекать и изменять, но это делать не рекомендуется. Представлять такую строку можно следующим образом:

С О Л Н Ц Е                          
      Символ, код которого равен 6 (т.к. в строке 6 смысловых символов)
      Текущая длина P=6, общая длина N = 255
                                       

Особенности:

1. Недостаток – ограничение длины 255 символов. Это связано с тем, что для хранения длины выделен один байт памяти, являющийся нулевым байтом этой же строки. Следовательно, максимальное число, которое может быть в него записано, это 255. Отсюда и ограничение на общую длину строки.

2. Преимущество– простой доступ к длине строки, что позволяет эффективно организовать работу со строками.


<== предыдущая страница | следующая страница ==>
Формирование матриц | Процедуры и функции для работы со String-строками

Дата добавления: 2014-03-11; просмотров: 314; Нарушение авторских прав




Мы поможем в написании ваших работ!
lektsiopedia.org - Лекциопедия - 2013 год. | Страница сгенерирована за: 0.003 сек.