- •Билет №3. Особенности разработки программы с подпрограммой.
- •Билет №10. Структурный тип строка. Основы обработки строк.
- •Insert(subst, st, Npos) -вставка в строку st подстроки subst с позиции Npos.
- •Билет №13.Структурный тип маcсив. Описание мас и доступ к эл мас.
- •Var m1,m2: measure; {переменные-массивы измерений}
- •Var mt1,mt2: matr; {переменные типа matr}
Билет №10. Структурный тип строка. Основы обработки строк.
Строки относятся к важным средствам представления нечисловой информации, и обработка строк имеет широкие приложения во многих областях использования нечисловой информации (редактирование текстов, логический анализ, автоматизация перевода, распознавание текстов и др.).
Поскольку строки указанного типа являются разновидностями массива, для них можно применять всё, что применимо к массивам. Кроме того, для обработки строк в Турбо Паскале предусмотрен ряд достаточно удобных и эффективных средств:
Для строк допустим оператор присваивания вида:
< переменная типа string > := < выражение типа string или типа char >;
Над строками допустимы отношения сравнения <,<=,>,>=, =, <>, причём длины сравниваемых строк могут быть различными (меньшая строка при сравнении дополняется справа до выравнивания длин символами chr(0)). Сравнение выполняется посимвольно слева направо по кодам символов таблицы ASCII. Например: 'A' >'1', 'Turbo' < 'TURBO PASCAL'.
К строкам применима операция сцепления строк (конкатенация), обозначаемая символом '+'. Например: 'Это -' + 'строка' {соответствует 'Это - строка' }.
Стандартные процедуры обработки строк:
Delete(st, Npos, count) -удаление из строки st, начиная с позиции Npos под- строки длины count .
Insert(subst, st, Npos) -вставка в строку st подстроки subst с позиции Npos.
Стандартные функции обработки строк:
Length(st) -длина строки st (без учёта нулевой позиции строки).
Copy(st, Npos, count) -выделение из строки st подстроки длиной count, на чиная с позиции Npos.
Pos(subst, st) -позиция начала первого вхождения подстроки subst в строку st (если подстрока не найдена, то pos=0).
Основными элементарными задачами обработки строк являются: управление пробелами в строке (удаление лишних пробелов, удаление пробелов в начале или в конце строки, выравнивание длин строк вставкой пробелов и др.), анализ частот символов, либо подстрок, поиск подстрок по заданным критериям (первого вхождения, всех вхождений, по образцу, по шаблону и др.), подстановка подстрок и другие.
Билет №13.Структурный тип маcсив. Описание мас и доступ к эл мас.
Идея массива состоит в том, чтобы объединить в одно целое фиксированное количество элементов одного и того же типа. Суть концепции массива в Паскале заключается в том, чтобы объединить элементы в такую структуру, в которой эти элементы были бы линейно упорядочены (пронумерованы) так, чтобы к ним был прямой доступ через их номер. Номер элемента в массиве принято называть индексом элемента.
В Паскале допустимы только статические массивы. Это означает, что число элементов массива должно оставаться постоянным при обработке массива и быть указано при описании массива. Размер массива в Паскале не может быть представлен переменной, а только константой. Другими словами, размер массива должен быть известен в период компиляции программы, так как под него статически распределяется память.
Прежде чем использовать массив, его следует описать в разделе описаний программы. Общая форма описания массива имеет вид:
type <имя типа-массива> = array [ < тип индекса > ] of < тип элементов>;
где: <имя типа-массива> - имя, выбираемое программистом.
< тип индекса > - любой порядковый тип (кроме longint) или тип-диапазон.
< тип элементов > - любой тип Турбо Паскаля.
В качестве типа индекса часто используют тип-диапазон, указывающий границы индекса. Например:
type measure = array [ 1..16] of real; {тип -массив измерений}