АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Функции для работы со строками

Читайте также:
  1. I. КУРСОВЫЕ РАБОТЫ
  2. I. ОБЩИЕ УКАЗАНИЯ К ВЫПОЛНЕНИЮ КУРСОВОЙ РАБОТЫ
  3. II. ДИПЛОМНЫЕ РАБОТЫ
  4. II. МЕТОДИЧЕСКИЕ УКАЗАНИЯ ДЛЯ ВЫПОЛНЕНИЯ САМОСТОЯТЕЛЬНОЙ РАБОТЫ
  5. II. Основные задачи и функции
  6. II. ТРЕБОВАНИЯ К ОФОРМЛЕНИЮ КУРСОВОЙ РАБОТЫ
  7. III. Задания для самостоятельной работы по изучаемой теме.
  8. III. Задания для самостоятельной работы по изучаемой теме.
  9. III. Задания для самостоятельной работы по изучаемой теме.
  10. III. Задания для самостоятельной работы по изучаемой теме.
  11. III. Задания для самостоятельной работы по изучаемой теме.
  12. III. Задания для самостоятельной работы по изучаемой теме.

length(st)вычисляет текущую длину в символах строки st. Результат имеет целочисленный тип.

N:=length (‘студент‘); {N =7}

сopy(st, poz, n)выделяет из строки st подстроку длиной n символов, начиная с позиции роz. Если poz больше длины строки, то результатом будет пустая строка.

concat(str1,str2,...,strn)выполняет сцепление строк str1, str2, ... strn в том порядке, в каком они указаны в списке параметров.

роs (str1, str)— обнаруживает (находит) первое появление в строке str подстроки str1.
Результат имеет целочисленный тип и равен номеру той позиции, где находится первый символ подстроки str1. Если в strподстроки str1 не найдено, результат равен 0.

Процедуры обработки строковых переменных delete (st,poz,n)удаление n символов строки st, начиная с позиции роz. Если значение роz больше, чем размер строки, то ничего не удаляется.Удаление всех пробелов в начале строки st .Удаление пробелов в конце строки st; insert (str1,str2,poz) — вставка строки str1 в строку str2, начиная с позиции poz (первый параметр — что вставляем, второй параметр — куда);str (number, st)— преобразование числового значения величины number в строку st;val (st, number, code)— преобразует значение st в величину целочисленного или вещественного типа и помещает результат в number; Code- целочисленная переменная. Ошибки нет, значение code равно 0, если не число code содержит номер позиции первого ошибочного символа, а значение number не опр

9. Структурированные типы данных. Массивы. Струк-ый тип д-х – это мн-во элем-ов данных (компонент) с одним именем. В отличие от данных скалярного типа, к-е могут принимать одно знач-е, данные структурир-го типа могут принимать множ-во значений одного типа (регулярный тип, например, массивы), либо разных типов (комбинированные типы, напр, записи). Мас-это упоряд-ная послед.элем-ов одного типа, обозначенных одним именем. Отдельная величина последов-ти наз-ся элем-ом массива (переменная с индексом).Индекс указ-ет полож-ие (адрес) элем-та в массиве.Н-р:A[25], B[5, 8], X[i], Y[i, j], R[n+1].

Размер массива (длина) – число элементов массива.Размерность массива – число индексов в массиве.

Примерами массивов могут быть:1) вектор х= {х12,.,х10} - это одномерный массив состоящий из десяти элем-в хi, где i=1, …, 10. 2) матрица а11 а12 а13
а21 а22 а23это двум-й массив из шести элем-ов аij, где i=1,2; j=1,2,3.



Описание массивов. Возмож. 2 способа опис-я массивов:1) type <имя типа> = array[<тип индексов>] of <тип компонент>;var <имя массива>:<имя типа> .Вначале опред-ся нек-рый тип со струк-ой массива, а затем опис-ся переменная, как имеющая данный тип.2) var <имя массива>: array [<тип индексов>] of <тип компонент>.Н-р, массивы вещ-ых чисел а1, а2, ..., а10 и b1, b2, ... , b10 м-о описать:

1) type mas = array[1..10] of real;
var a,b:mas;

2) var a,b: array [1..10] of real;

Размерность массивов в Турбо-Паскале не ограничена. Доступ к каждому элементу массива можно выполнить путем указания имени массива, за которым в квадратных скобках следует индекс элемента. Индекс элемента может быть задан переменной - а[i]; числом - а[5]; выражением - а[2*i-1].

Пр-ры описания масс-в:var

{одномерный массив целых чисел}

x:array[1..10]of integer;

{одномерный массив вещественных чисел}

y:array[1..5]of real;{двумерный массив вещественных чисел}

a:array[1..3,1..5]of real;

{трехмерный массив символьных данных}

b:array[1..2,1..5,1..3]of char;.

Ввод-вывод массивов.Введя тип-массив, м-о затем задать переменные или типизированные константы этого типа. Размерность массива м.б любой, компоненты массива могут быть любого, в том числе и структурированного, типа, индекс (индексы) может быть любого порядкового типа, кроме типа Longint. При задании значений константе-массиву компоненты указываются в круглых скобках и разделяются запятыми, причем, если массив многомерный, внешние круглые скобки соответ-ют левому индексу, вложенные в них круглые скобки - следующему индексу и т. д.Для ввода-вывода массивов исп-зуются циклы. Рассм-м ввод и вывод массивов на пр-рах.Пр-р ввода вывода одномерного массива.

Пусть для решения задачи необх-мо ввести численные значения молекулярных масс десяти химич-их вещ-в: M1, M2, ... , M10.

‡агрузка...

var M:array[1..10]of real;

i:integer;

Begin

{ввод значений массива М в столбце}

writeln('Введите М');

for i:=1 to 10 do

Begin

writeln(’M’,i);

readln(M[i]);

end;

{вывод элементов массива М в строку}

for i:=1 to 10 do

write(M[i]);

End.

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

Ср11, Ср12, ... , Ср15
Ср21, Ср22, ... , Ср25
Ср31, Ср32, ... , Ср35

var Cp:array[1..3,1..5]of real;

i,j:integer;

Begin

{ввод значений массива}

for i:=1 to 3 do

for j:=1 to 5 do

Begin

writeln('Введите Cp',i,j);

readln(Сp[i,j]);

end;

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

for i:=1 to 3 do

Begin

for j:=1 to 5 do

write(Cp[i,j]:7:3,’ ’);

writeln;

end;

. . . . .

End.

Массив, для задания элементов к-рого требуется использовать два индекса, называется двумерным. Пр-ры двумерных массивов: места в зрительном зале театра, где каждое место характеризуется номером ряда и номером кресла в ряду; таблица результатов спортивного чемпионата, где все команды характеризуется результатом игры с каждым из соперников и др.

Двумерным называется массив, элемент которого зависит от его местоположения в строке и в столбце. В общем виде элемент матрицы обозначается как A(I,J), где А — имя массива, I — индекс (номер) строки,
J — индекс (номер) столбца.

Матрицу можно задать двумя способами:

1.<имя матрицы>: array [<количество строк>] of array [<количество столбцов>] of <тип переменной>;

2.<имя матрицы>: array [<количество строк >,<количество столбцов>] оf <тип переменной>].

Соотношение индексов в квадратной матрице I=J элементы матрицы расположены на главной диагонали
I<J элементы матрицы расположены над главной диагональю
I>J элементы матрицы расположены под главной диагональю
I+J=N+I элементы матрицы расположены на побочной диагонали (N — количество строк или столбцов в квадратной матрице)
I+J<N+I элементы матрицы расположены над побочной диагональю
I+J>N+I элементы матрицы расположены под побочной диагональю.

 

 

10. Структур-е типы данных. ЗаписиСтрук-е типы д-х предназ-ны для задания сложных струк-р данных. Структ-ные типы данных конструируются из составляющих элем-ов, называемых компонентами, к-е, в свою очередь, могут обладать структурой. В кач-ве структур-ных типов данных приведем след-й тип данных:Записи (Стр-ры)Запись – стр-ра данных, состоящая из фиксированного числа компонент, называемых полями каждая из к-х м-т иметь свой тип.Запись пред-ет совок-ть ограниченного числа логически связанных компонент, принадлежащих к разным типам. Компоненты записи наз-ся полями, каждое из к-рых опред-ся именем. Поле записи содержит имя поля, вслед за к-рым ч-з двоеточие указ-ся тип этого поля. Поля записи могут относиться к любому типу, допустимому в языке Паскаль, за исключением файлового типа.Описание записи в языке ПАСК осущес-ся с помощью служебного слова RECORD, вслед за к-ым опис-ся компоненты записи. Завер-ся описание записи служебным словом END.

Запись имеет следующую стр-ру:

IZ = RECORD IK1 : T1; IK2 : T2; … IKN :TN; END; Где: IZ –имя типа записи; IK– имя поля (компоненты); T-тип компоненты, м.б. любой стандарт-ный либо предварительно определенный (кроме файлового); RECORD –запись; RECORD-END– операторные скобки.

Н-р, записная книжка содержит фамилии, инициалы и номера телефона, поэтому отдельную строку в записной книжке удобно представить в виде следующей записи:

type Row=Record

FIO: String[20];

TEL: String[7]

end;

var str: Row;

Описание записей возможно и без использования имени типа, например:


1 | 2 | 3 | 4 | 5 |


При использовании материала, поставите ссылку на Студалл.Орг (2.142 сек.)