Функция возвращает в качестве результата значение текущей длины строки-параметра
Concat(s1,[s2,...,sn]:string):stringФункция выполняет слияние строк-параметров, которых может быть произвольное количество. Каждый параметр является выражением строкового типа. Если длина строки-результата превышает 255 символов, то она усекается до 255 символов. Данная функция эквивалентна операции конкатенации "+" и работает немного менее эффективно, чем эта операция.
Copy(s:string; index:integer; count:integer):string
Функция возвращает подстроку, выделенную из исходной строки s, длиной count символов, начиная с символа под номером index.
Pos(substr,s:string):byte
Функция производит поиск в строке s подстроки substr. Результатом функции является номер первой позиции подстроки в исходной строке. Если подстрока не найдена, то функция возвращает 0.
Delete(var s:string; index,count:integer)
Процедура удаляет из строки-параметра s подстроку длиной count символов, начиная с символа под номером index.
Insert(source:string; var s:string;index:integer)
Процедура предназначена для вставки строки source в строку s, начиная с символа index этой строки.
Str(X: арифметическое выражение; var st: string)
Процедура преобразует численное выражение X в его строковое представление и помещает результат в st.
Процедура преобразует строковую запись числа, содержащуюся в st, в числовое представление, помещая результат в x. x - может быть как целой, так и действительной переменной. Если в st встречается недопустимый (с точки зрения правил записи чисел) символ, то преобразование не происходит, а в code записывается позиция первого недопустимого символа. Если после выполнения процедуры code равно 0, то это свидетельствует об успешно произошедшем преобразовании.
Chr(n: byte): char
Функция возвращает символ по коду, равному значению выражения n. Если n можно представить как числовую константу, то можно также пользоваться записью #n.
В данном случае функция возвращает код символа ch.
Если c - строчная латинская буква, то функция возвращает соответствующую прописную латинскую букву, в противном случае символ c возвращается без изменения.
Массивы в PascalОбщая информация
МАССИВ - это набор однотипных данных (либо числа, либо символы-строки),
причем все эти данные хранятся в одном месте памяти компьютера в
упорядоченных по номерам ячейках.
Например:
1. Стая птиц
2. Ученики класса
3. Посадочные места в кинотеатре
4. Квартиры жилого дома
Одномерные массивы
Общая информация
Наглядно массив можно представить в виде набора пронумерованных "ящичков", в каждом из которых может находиться только одно данное.
A = |
| ||||||
|
где:
A - имя массива;
1, 2, 3, 4, 5, 6 - индексы (порядковый номер "ящичка");
34, 45, 2, 0, 5, -35 - элементы массива (содержимое ящичка);
Массив А имеет размерность один т.к. при обращении к элементам достаточно указать адрес состоящий из одного числа-номера "ящичка". Размер массива А равен 6, т.к. в нём 6 элементов.
Массивы такого вида называются одномерными. Их элементы записываются как А[1], A[2], и т.д.
Например:
А[1]=34 (в первой ячейке массива А хранится число 34)
А[2]=45 (во второй ячейке массива А хранится число 45)
А[3]=2
А[4]=0
А[5]=5
А[6]=-35
Действия над элементами осуществляются аналогично действиям над простыми переменными.
Например: А[2] + А[3] = 47
Обратите внимание, что действия осуществляются не над индексами, а над числами находящимися в ячейках и результат ни коем образом не связан с числом хранимым в ячейке А [5].
Так как при использовании массивов используется большое колличество переменных (ячеек) которые должны находиться в одном месте памяти, то возникает необходимость в отведении места памяти компьютера под массив (говорят о резервировании памяти под массив). Для этого в Паскале имеется описание следующего вида:
const
n = 100;
var
A: array[1..n] of Real;
Ввод массива
Чтобы заполнить массив данными существуен несколько способов:
- непосрерственное присваивание значений элементам;
- генерация и присваивание значений с помощью функции random;
- ввод значений элементов с клавиатуры;
Вывод массива
Чтобы отобразить(сообщить) массив на экране нужно выполнить следующее:
...const
n = 20;
var
A: array [1..n] of Real;
...
Writeln ('Вывод эементов массива:');
for i:=1 to n do Write (A[i]:8:2);
Writeln;
Поиск
Поиск в массиве осуществляется перебором его элементов при помощи цикла, для проверки результата используется алгоритм ветвления.Поиск в массиве можно показать на примере задачи нахождения наибольшего элемента и его индекса.Алгоритм:
- Выделить память для массива A(10)
- Присвоить элементам значения любым способом
- Присвоить MAX значение A(1)
- Присвоить INDMAX значение 1
- Для каждого I от 1 до 10 повторять:
- Если A(I)>MAX то
- Присвоить MAX значение A(I)
- Присвоить INDMAX значение I
- КонецЕсли
- КонецЦикла
Двумерные массивы
Но часто данные могут быть организованы в виде таблицы (матрицы), где расположение каждой переменной определяется номером строки и номером столбца. Например, место в зрительном зале задается указанием номера ряда и номером места в этом ряду. Такие данные удобно описать как двумерный массив. В отличие от одномерного массива каждому элементу двумерного массива соответствует пара индексов. Первый индекс - это номер строки, а второй - номер столбца, где расположен элемент массива.
Размер двумерного массива задается парой чисел: M*N, где M - число строк, а N - число столбцов в таблице.
Пусть задан двумерный массив Matr, имеющий размер 10*20. Этот массив на языке Паскаль может быть описан следующим образом:
Var Matr: array [1..10,1..20] of integer; |
тогда
Matr[5,7] - элемент, расположенный в 5-ой строке и в 7-ом столбце.
Отличительной особенностью массивов является то обстоятельство, что все их компоненты суть данные одного типа (возможно, структурированного); эти компоненты можно легко упорядочить и обеспечить доступ к любому из них простым указанием его порядкового номера, например:
Type Digit = array [0..9] of integer; Matrix = array [1..100, 0..9] of real; Var m: Matrix; d: Digit; i: integer; |
Описание типа массива задается следующим образом:
<имя типа> = array [<сп. инд. типов>] of <тип>;
где:
<имя типа> - правильный идентификатор,
<сп. инд. типов> - список из одного или нескольких индексных типов, разделенных запятыми,
<тип> - любой тип Турбо Паскаля.