36572

Структурный тип строка. Основы обработки строк

Контрольная

Информатика, кибернетика и программирование

Основы обработки строк. Строки относятся к важным средствам представления нечисловой информации и обработка строк имеет широкие приложения во многих областях использования нечисловой информации редактирование текстов логический анализ автоматизация перевода распознавание текстов и др. Поскольку строки указанного типа являются разновидностями массива для них можно применять всё что применимо к массивам.

Русский

2013-09-22

29 KB

2 чел.

Структурный тип строка. Основы обработки строк.

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

Поскольку строки указанного типа являются разновидностями массива, для них можно применять всё, что применимо к массивам. Кроме того, для обработки строк в Турбо Паскале предусмотрен ряд достаточно удобных и эффективных средств:

Для строк допустим оператор присваивания вида:

< переменная типа 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).

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

Задача 4.2.6(10)

program alex10;

type mass=array[1..4,1..3]of integer;

var a:mass;

i,j,k1,k2,b:integer;

procedure proc(x:mass;n:integer;var k:integer);

var max: integer;

i:integer;

begin

max:=x[1,n];

k:=1;

for i:=2 to 4 do

if x[i,n]>max then begin

max:=x[i,n];

k:=i;

end;

end;

begin

for i:=1 to 4 do

for j:=1 to 3 do

read(a[i,j]);

proc(a,1,k1);

proc(a,3,k2);

b:=a[k1,1];

a[k1,1]:=a[k2,3];

a[k2,3]:=b;

for i:=1 to 4 do

begin

writeln;

for j:=1 to 3 do

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

 end;

readln;

readln;

end.


 

А также другие работы, которые могут Вас заинтересовать

67601. Задача поиска маршрутов в графе (путей в орграфе) 362.5 KB
  Исходя из некоторой вершины всегда следовать по тому ребру которое не было пройдено или было пройдено в противоположном направлении. 3 Для всякой вершины отмечать ребро по которому в вершину попали в первый раз 4 Исходя из некоторой вершины идти по первому заходящему в ребру лишь тогда когда нет других...
67602. Минимальные пути, (маршруты) в нагруженных орграфах (графах) 223.5 KB
  Примеры латинских свойств. Не проходить через данную вершину (или через множество вершин). Не проходить через данную дугу (или через множество дуг). Быть простой цепью (или простым контуром). Быть цепью или контуром. Не проходить через каждую вершину более k раз.
67603. Эйлеровы циклы и цепи 62 KB
  Если в псевдографе G имеется хотя бы одно ребро и отсутствуют висячие вершины то G содержит хотя бы один простой цикл. Для того чтобы связный псевдограф G обладал эйлеровым циклом необходимо и достаточно чтобы степени всех его вершин были четными. Для того чтобы связный псевдограф G обладал эйлеровой цепью...
67604. Планарность и раскраска графов 97.5 KB
  Такая функция называется плоским мультиграфом. Внутренние грани плоского мультиграфа называется конечная плоскость окруженная простым циклом и не содержащая внутри себя никаких ребер. Называется её границей.
67605. Булева алгебра, математическая логика, алгебра логики 273 KB
  Каждому двоичному набору можно сопоставить число номер опр расстоянием Хемминга между вершинами и куба называется число опр наборы и называются соседними если и противоположными если все координаты разные.
67606. Разложение булевых функций по переменным 174.5 KB
  Это представление называется разложением функции по m переменным x1xm. Разложение по одной переменной 1 Разложение по всем n переменным 2 При Опр. Это разложение называется совершенной дизъюнктивной нормальной формой представления функции fx1xn.
67607. Полнота и замкнутость 131.5 KB
  Система функций из P2 (множества всех булевых функций) называется функционально полной, если любая булева функция может быть записана в виде формулы через функции этой системы
67608. Замкнутые классы 212.5 KB
  Замкнутые классы 1 Обозначим через класс всех булевых функций сохраняющих константу 0 т. функций для которых выполняется равенство. Количество таких функций n число переменных т. 2 Обозначим через класс всех булевых функций сохраняющих константу 1 т.
67609. Кредитная система. Кредитные институты небанковской сферы 86.5 KB
  Кредитная система как совокупность кредитно-финансовых институтов аккумулирует свободные денежные капиталы, доходы и сбережения различных слоев населения и предоставляет их в ссуду фирмам, правительству и частным лицам.