Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Примеры обработки строковых переменных




Процедуры обработки строковых переменных

Функции обработки строковых переменных

length(s:string):byte - подсчитывается фактическая длина строки, включая пробелы и знаки препинания.

Например:

s:=’Москва’;

wrtiteln(length(s));

Результат на экране:

Число 6, количество символов в сломе Москва.

copy(s:string,i,n):string –

копируется фрагмент строки s.

Где s – переменная, из которой копируется фрагмент;

i – позиция, с которой копируется;

n – количество копируемых символов.

 

Если i и n – вне пределов строки, сообщения об ошибке не будет.

Если i>length(s) результат – строка нулевой длины.

Если n >length(s) результат – фрагмент от i до конца строки.

Например:

s:='электрификация';

b:=copy(s,8,3)+copy(s,12,3);

writeln(s);

Результат на экране:

фикция

pos(t:string,s:string):byte –

осуществляет поиск подстроки t в строке s.

Результатом этой функции является позиция вхождения t в s. Если подстрока не найден - результат 0.

Например:

t:='ритм'; s:='алгоритм';

k:=pos(t,s);

wrieln(‘k=’,k);

Результат на экране:

k=5

insert(t,s,i);

– вставить подстроку t в строку s начиная, начиная с позиции i.

Например:

s:='ритм';

insert(‘алго’,s,1);

wrieln(s);

Результат на экране:

алгоритм

delete(s,i,n);

– удалить из строки s с позиции i n символов.

Например:

s:='алгоритм';

delete(s,1,4);

writeln(s);

Результат на экране:

ритм

i,n – в процедурах insert и delete обязательно должны присутствовать в строке s. Иначе – сообщениие об ошибке.

Задача.

В произвольном тексте заменить все сочетания «чя» на «ча».

Таблица идентификаторов

Наименование переменной Обозначения в программе
  Текст Text
  Индекс массива i

Program word_text;

Uses crt;

var

text:string;

i:integer;

begin

clrscr;

writeln(‘Введите текст’);

readln(text);

for i:=1 to length(text)-1 do

if copy(text,i,2)=‘чя’ then

begin

delete (text,i+1,1);

insert (‘a’,text,i+1);

end;

writeln(‘Преобразованный текст’);

writeln(text);

readln;

end.

Задача.

В произвольном тексте (text) в слове word заменить первую букву на заглавную и подсчитать количество замен (текст латинский).

Таблица идентификаторов

Наименование переменной Обозначения в программе
  Текст text
  Слово word
  Индекс массива i
  Количество замен s

Program word_text1;

Uses crt;

var

text,word:string;

s,i:integer;

begin

writeln(‘Введите текст’);

readln(text);

s:=0;

writeln(‘Введите слово’);

readln(word);

for i:=1 to length(text)-lenght(word)+1 do

if copy(text,i,length(word))=word then

begin

s:=s+1;

text[i]:=upcase(text[i]);

end;

writeln (s);

readln;

end.

Задача.

Заменить в произвольном тексте все слова word1 на слово word2.

Таблица идентификаторов

Наименование переменной Обозначения в программе
  Текст text
  Слова первое word1
  Слова второе word2
  Индекс i

Program word_text2;

var

text,word1,word2:string;

i:integer;

begin

writeln(‘Введите исходный текст’);

readln text);

writeln(‘Введите первое слово’);

readln(word1);

writeln(‘Введите второе слово’);

readln(word2);

repeat

i:=pos(word1,text)

if i<>0 then

begin

delete(text,i,length(word1));

insert(word2,text,i);

end;

until i=0;

writeln(‘Преобразованный текст’);

writeln(text);

readln;

end.

Вопросы для самоконтроля

  1. Какие типы данных используются для обработки текста?
  2. Сколько байт памяти занимает символьная переменная?
  3. Какие операции допустимы над символьными переменными?
  4. Перечислите функции обработки символьных переменных?
  5. Что такое строка?
  6. Сколько байт памяти занимает строковая переменная?
  7. Какие операции допустимы над строковыми переменными?
  8. Перечислите функции и процедуры обработки строковых переменных?
  9. Как можно обратиться к отдельным символам строки?



Поделиться с друзьями:


Дата добавления: 2014-12-27; Просмотров: 398; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.011 сек.