Отправляет email-рассылки с помощью сервиса Sendsay

Программирование в Turbo PASCAL

  Все выпуски  

Программирование в Turbo PASCAL


Служба Рассылок Subscribe.Ru проекта Citycat.Ru


Служба почтовых рассылок Subscribe.Ru и проект Pascal-2000 mf company
ПРОГРАММИРОВАНИЕ В TURBO PASCAL
pascal-sub@mail.ru

    Доброго времени суток уважаемые подписчики! На сей раз тема рассылки - строковые типы данных, а так же операции над ними.
 


СТРОКОВЫЕ ТИПЫ ДАННЫХ

    Кроме типов данных, ориентированых на хранение одиночных объектов, например символов или чисел существует стороковой тип STRING, специально предназначенный для обработки строк (цепочек символов), который занимает промежуточное место между простыми и структурированными типами данных. У типа строки в квадратных скобках может быть указан его размер ( от 1 до 255). Если размер строки не указан, он считается равным 255. Объявление в разделе описания переменных:

VAR
Str1: STRING;
Str2: STRING[20];
Str3: STRING[250];
    Переменная типа STRING состоит из цепочки символов, т.е. элементов типа CHAR*. Строка типа STRING - последовательность символов произвольной длины (до 255 символов) из  расширенного  набора  символов кода  ASCII,  расположенной на  одной строке программы (перенос на другую строку не допускается) и заключенную в одиночные кавычки (апострофы). Например: строчка присваивания переменной Str следующего предложения:
Str1:='А здесь могла бы быть Ваша реклама';
*Символьный тип CHAR представляет собой тип данных, предназначенный для хранения одного символа (буквы, знака или кода). В переменную этого типа может быть помещен любой из 256 символов расширенного кода ASCII и заключенный в одиночные кавычки (апострофы). Например:
CH:=’A’ ( т.е. переменной CH присваивается символ ‘A’ ).

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

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

    Одна из операций применимая для строко - сложение, которая объединяет несколько строк в процессе их присваивания какой-либо переменной, например:

Str1:=’А здесь ’+’могла бы быть ’+’Ваша реклама’
    Функция LENGHT - позволяет определить длину текстовой строки, хранящейся в указанной переменной. При подсчете длины строки учитываются все входящие в нее символы, в том числе и пробелы.

    Функция СOPY - позволяет копировать фрагмент некоторой строки из одной переменной в другую. Сообщения об ошибке не будет в случаях, если начальная или конечная позиция копируемого фрагмента находятся вне пределов исходной строки символов. Результатом выполнения операции в первом случае будет строка нулевой длины, во втором - фрагмент от начальной позиции копирования до конца исходной строки.

Вызывая функцию COPY, необходимо указывать следующие параметры:
1) имя строки, из которой должен извлекаться копируемый фрагмент;
2) позицию в строке, начиная с которой будет копироваться фрагмент;
3) число копируемых символов.

Program CopyStr;
Uses Crt;
Var Str: string[70]; Word1, Word2, Word3 : string[10];
Begin ClrScr;
Str:='А здесь могла бы быть Ваша реклама';
Writeln('Исходное предложение ', Str); Writeln;
    Word1:=Copy(Str,1,7);
    Writeln(Word1); { На экран выводится 'граф'}
    Word2:=Copy(Str,23,4);
    Writeln(Word2); { На экран выводится 'арт'}
    Word3:=Copy(Str,28,8);
    Writeln; Writeln(Word3); { На экран выводится 'ров'}
Writeln('Для выхода нажмите "Enter"'); Readln;
end.

    Функция POS - осуществляет в некоторой строке поиск определенного фрагмента. Если заданный фрагмент в строке присутствует, то функция выдает номер позиции в строке, с которой этот фрагмент начинается. Если фрагмент в строке не найден, то функция выдает 0. Данный оператор требует полного совпадения искомого фрагмента и фрагмента строки, в которой производится поиск, причем большие и маленькие буквы считаются различными символами.

Нпример: Программа запрашивает слово или его фрагмент и ищет его в предложении "А здесь могла бы быть Ваша реклама". В результате выдается номер позиции с которого начинается веденный фрагмент.

Program Search;
Uses Crt;
Var Str: string[70]; Word : string[5]; position : byte;
Begin ClrScr;
Str:='А здесь могла бы быть Ваша реклама'; Writeln(Str);
Write('Введите слово: '); Readln(Word);
position:=Pos(Word, Str);
If position<>0 then
Writeln('Фрагмент ', Word, ' содержится в ', Str,  ' начиная с позиции ', position:3)
Else Writeln('Фрагмент ', Word, ' не содержится в ', Str);
Writeln('Для выхода нажмите "Enter"'); Readln;
end.

    Функция CONTACT - объединяет несколько строк в одну (при необходимости усекает чрезмерно большую строку до 255 символов).

Program Cont;
Uses Crt;
Var Words: string; Word1,Word2,Word3 : string[20];
Begin ClrScr;
      Writeln('Введите 1-ое слово: '); Readln(Word1);
      Writeln('Введите 2-ое слово: '); Readln(Word2);
      Writeln('Введите 3-е слово: '); Readln(Word3);
Words:=Concat(Word1,Word2,Word3);
Writeln('Результат:', Words);
Writeln('Для выхода нажмите "Enter"'); Readln;
end.

    Процедура INSERT вставляет в исходную строку, начиная с указанной позиции, какую-либо другую строку. Например оператор Insert(Word, Str, 4); указывает,  что необходимо в строку Str, начиная с 4-ой позиции, вставить строку Word.

    Процедура Delete - удаляет в исходной строке фрагмент определенной длины, начинающей-ся с указанной позиции. Например: оператор Delete(Words, 2, 3); удаляет из строки Words фрагмент, состоящий из трех символов и начинающийся со второй позиции.

Пример: программа заменяющая слово "Ваша" на Ваше имя:

Program InsDel;
Uses Crt;
Var Str: string[70]; Word : string[20];
Begin ClrScr;
Str:='А здесь могла бы быть Ваша реклама'; Writeln(Str);
Delete(Str, 23, 4);
Writeln('Введите свое имя в родительно падеже и нажмите Enter');
Readln(Word);
Insert(Word, Str, 23); Writeln(Str);
Writeln('Для выхода нажмите "Enter"'); Readln;
end.

Если Вы хотите узнать о чем-то более подробно, то пишите!



Акция: "ДОЛОЙ ОШИБКИ!"

    При компиляции набранного кода или его выполнении программа Pascal выполняет проверку на наличие ошибок и выдает о них сообщения (Error...). Не все знают точно, что они означают и как с ними "бороться". Именно для них и предназначена эта акция. Теперь, если у Вас что-то не получается, а программа находит ошибку, то Вы можете прислать нам ее номер, название или весь Ваш код целиком, не забыв указать обратный e-mail, а мы со своей стороны обязательно постараемся Вам помочь:

!!!>>> Задать вопрос про "ошибку" <<<!!!

  Предлагаем Вам самим выбрать ТЕМУ для следующей рассылки. Если у Вас есть какие-либо вопросы по программированию в Pascal или же Вы наоборот хотите поделиться своими навыками, то вот наш адрес:

pascal-sub@mail.ru

   Мы ответим на ВСЕ присланные сообщения. Заранее спасибо за любые пожеланиям и рекомендациям по поводу.



Здесь НОВЫЙ дизай и НОВЫЕ рубрики
(Анекдоты для Вас)


http://subscribe.ru/
E-mail: ask@subscribe.ru

В избранное