Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Строковый тип данных



Все типы данных, с которыми работали до сих пор, были ориентированы на хранение одиночных объектов, например чисел, символов. Однако существует тип данных STRING (строка), специально предназначенный для обработки строк (цепочек символов).

Строковые константы (постоянные) выглядят так:

'Мама мыла раму'

'Мура'

'вей'

'Ромашка '

';:#,;,)*##!"+*'

'123 78'

Величина типа STRING состоит из цепочки символов т.е. элементов типа CHAR. Переменные типа STRING используются для хранения слов и сообщений, состоящих из нескольких слов. Строки могу выводиться на экран посредством стандартных процедур WRITE и WRITELN и вводиться c помощью стандартных процедур READ и READLN.

Переменные типа STRING могут быть описаны так:

VAR

word:string;

i,name,fraza:string;

После этого в программе можно написать, например, так:

word:='Мама мыла раму';

write('Как вас зовут? '); readln(name);

a:='Мура'+'вей'; результат -'Муравей'

for i:='A' to 'Z' do..............;

fraza:=''; результат-строка без единого символа.

if a<'love' then …; сравнение как "в словаре":

та строковая постоянная больше, которая стоит в словаре дальше.

ДЛИНА СТРОКИ - это число символов в строке.

Ограничение: в строковой постоянной не более 255 символов, т.е. ее длина не может быть больше 255.

ОПЕРАЦИИ СО СТРОКАМИ

В TP существует два пути обработки переменных типа STRING. Первый путь предполагает обработку всей строки как единого целого. Второй путь рассматривает строку как составной объект, состоящий из отдельных символов, которые при обработке доступны каждый в отдельности.

Итак, со строковыми величинами можно делать следующее:

· определять их длину;

· складывать (склеивать) строки (см.*);

· сравнивать (какая больше, какая меньше, равны ли они...);

· работать с каждым символом строки в отдельности;

· вырезать часть строки.

· и кое-что еще.

Найдите в тексте примеры по каждому из пунктов о том, как это можно сделать.

Для определения длины строки используют функцию

LENGTH (Х)

Ее значение всегда целого типа.

Х - либо строковая постоянная, либо переменная, либо выражение.

Например, в программе может быть так:

с:=LENGTH(word); c получит целое значение 14

с:=LENGTH ('коза'); с получит значение 4

Здесь с предварительно должна быть описана, как целая, а word, как строковая величина.

Строка может не содержать ни одного символа (см. fraza), тогда она называется пустой строкой. Сделать пустую строку можно так, как показано выше.

Пустая строка используется так же, как число 0 при решении задач с числовыми данными, например, при накоплении сумм.

А теперь рассмотрим еще такую возможность:

Пусть так: ¦ Пусть так:

¦

VAR ¦ VAR

s:string; ¦ s:string;

¦ i:integer;

BEGIN ¦ BEGIN

s:='КАРРАМБА!'; ¦ i:=7;

¦ s:='КАРРАМБА!';

Тогда: ¦ Тогда:

В s[1] находится К ¦

В s[2] находится А ¦ В s[i]

В s[3] находится Р | находится Б

В s[4] находится Р ¦

В s[5] находится А ¦

В s[6] находится М ¦

В s[7] находится Б ¦

В s[8] находится А ¦

В s[9] находится!

И это ЗДОРОВО!

Потому, что такая особенность поможет нам вырезать по одному символу из строки и делать с ними все, что захочешь!!!

Например,

{Получить из введенной строки новую строку, символы в которой расположены в обратном порядке. Например, из 'Наташа'->'ашатаН'}

VAR

old,new:String;{ old-вводимая строка, new-перевертыш }

i,n:integer;

BEGIN

WRITELN('Введи строку');READLN(old);

new:='';{ готовим переменную для получения

строки-перевертыша }

n:=LENGTH(old);

FOR i:=n downto 1 DO new:=new+old[i];

{ подклеиваем символы по одному,

начиная с последнего }

WRITELN ('Новая строка - ',new);

END.

Комментарий. При работе цикла переменная new будет формироваться так (для слова 'Наташа'):

i:=6 -> new:='a'

i:=5 -> new:='aш'

i:=4 -> new:='aша'

i:=3 -> new:='aшат'

i:=2 -> new:='aшата'

i:=1 -> new:='aшатаН'

И на экране возникнет долгожданный результат ашатаН





Дата публикования: 2014-11-03; Прочитано: 442 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.007 с)...