Процедуры и функции по работе со строками — КиберПедия 

История создания датчика движения: Первый прибор для обнаружения движения был изобретен немецким физиком Генрихом Герцем...

Таксономические единицы (категории) растений: Каждая система классификации состоит из определённых соподчиненных друг другу...

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

2019-12-21 309
Процедуры и функции по работе со строками 0.00 из 5.00 0 оценок
Заказать работу

Действия над строками реализуются в Turbo Pascal с помощью следующих встроенных процедур и функций.

1 Функция Concat(S1[, S2,…, SN]): string – сцепляет (объединяет) строки S1, S2,…, SN. Параметры, указанные в квадратных скобках, не являются обязательными.

Пример использования функции:

program pr3;

var

S: string;

begin

S:= Concat('ABC', 'D');

writeln(S); {ABCD}

end.

Здесь и далее (в примерах использования строковых операторов) в фигурных скобках приводится выводимый на экран результат работы программы.

2 Функция Copy(S: string; Index, Count: integer): string – копирует из строки S количество Count символов, начиная с символа с номером Index.

Пример:

program pr4;

var S: string;

begin

S:= 'ABCDEF';

  S:= Copy(S, 2, 3);

writeln(S);                  {BCD}

end.

3 Функция Length (S: string): byte – определяет длину строки S.

Пример использования функции:

program pr5;

var

S: string;

begin

s:='ABCD';

Writeln(Length(S));  {4}

end.

4 Функция Pos(SubS, S: string): byte – отыскивает в строке S первое вхождение подстроки SubS и определяет номер позиции, с которой она начинается. Если подстрока не найдена, то выдается 0.

Например:

program pr6;

var S: string;

begin

S:= ' 123.5';

{Замена всех пробелов нулями}

while Pos(' ', S) > 0 do

S[Pos(' ', S)]:= '0';

writeln(S);       {000123.5}

end.

5 Функция UpCase(C: char): char – преобразует строчную латинскую букву в прописную. Любые другие символы возвращаются без преобразования.

Пример:

program pr7;

 var

s: string;

 begin

s:='red';

s[1]:= UpCase(s[1]);

writeln(s);     {Red}

 end.

6 Процедура Delete(var S: string; Index, Count: integer) – удаляет количество Count символов из строки S, начиная с символа с номером Index.

Пример использования процедуры:

program pr8;

 var

s: string;

 begin

s:= 'Иванов Петр';

Delete(s,8,4);

writeln(s);   {Иванов}

 end.

7 Процедура Insert(SubS: string; var S: string; Index: integer) – вставляет подстроку SubS в строку S, начиная с символа с номером Index.

Пример:

program pr9;

var

S: string;

begin

S:= 'Петр Иванов';

Insert('Петрович ', S, 6);

writeln(S);    {Петр Петрович Иванов}

end.

8 Процедура Str(X [: Width [: Decimals]]; Var S: string) – преобразует число Х в строку символов S. Параметры Width  и Decimals задают формат преобразования (общую ширину поля и количество символов в дробной части соответственно).

Пример:

program pr10;

var

S: string[12];

begin

Str(5461, S);

writeln('Результат: '+S+' балл');      {Результат: 5461 балл}

end.

9 Процедура Val(S: String; var X; var Code: integer) – преобразует строковое значение S  в его численное представление X типа Real или Integer. Параметр Code содержит признак ошибки преобразования (0 – нет ошибки), например:

program pr11;

var I, Code: Integer;

S:string;

begin

S:='7908';

Val(S, I, Code);

writeln(I,' ',Code);    {7908 0}

end.

 

Задания

1. Определить, сколько фамилий в списке начинаются с буквы «А».

2. Определить, сколько фамилий в списке имеют окончание «ов».

3.Определить, сколько фамилий в списке заканчиваются на букву «н».

4. Определить, сколько букв в самой длинной фамилии списка.

5. Определить, сколько букв в самой короткой фамилии списка.

6. Найти самую длинную фамилию в списке. Если таких фамилий несколько, то распечатать их в одну строку.

7. Найти в списке все фамилии, начинающиеся с букв «В» или «Г».

8. Найти в списке все фамилии, имеющие окончание «ев».

9. Найти в списке все фамилии, начинающиеся со слога «Ма».

10. Определить, сколько фамилий в списке состоят менее чем из 6 букв.

11. Определить, сколько фамилий в списке состоят более чем из 8 букв.

12. Определить, сколько фамилий в списке состоят из 8 или 9 букв.

13. Найти в списке все фамилии, состоящие из 6 или 7 букв.

14. Выяснить, имеется ли в списке фамилия «Ганеев». Если имеется, то исправить ее на «Ганиев».

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

6 Контрольные вопросы

1) Для чего служит тип STRING?

2) Как задать количество символов в строковой переменной?

3) Сколько символов могут содержать строковые переменные a и b, если они были описаны как var a: string; b: string[15]?

4) Как можно обратиться в программе к первому символу строковой переменной s?

5) Как происходит сравнение строковых переменных?

6) Какими способами можно сцепить строковые переменные?

 Литература

1. Фаронов В.В. Турбо Паскаль 7.0. Начальный курс. – М.: Нолидж, 2000. – 576 с.

2. Зуев Е.А. Система программирования Turbo Pascal. – М.: Радио и связь, 1992. – 288 с.

3. Рубенкинг Н. Турбо Паскаль для Windows. – М.: Мир, 1994. – 535 с.

4. Информатика. Базовый курс/ Под ред. С.В.Симоновича – СПб: Питер, 2000. – С.560 - 611.

Лабораторная работа 7 (1 час)

Тема: Записи и множества

           

Цель работы:  приобретение навыков программирования при решении задач с использованием типа запись.

Теоретическая часть


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

Биохимия спиртового брожения: Основу технологии получения пива составляет спиртовое брожение, - при котором сахар превращается...

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

Двойное оплодотворение у цветковых растений: Оплодотворение - это процесс слияния мужской и женской половых клеток с образованием зиготы...

Механическое удерживание земляных масс: Механическое удерживание земляных масс на склоне обеспечивают контрфорсными сооружениями различных конструкций...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.011 с.