Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Программирование на Паскале.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
173.6 Кб
Скачать

9. Работа со строками в начало

Объявление переменной строчного типа. Var  S : String [20]; {Квадратные скобки со значением  указывают максимальную длину строки} Var st : String; Begin     Write('Введи строку'); Readln(st);     if st[5] = ‘A’ then Writeln('Пятый символ в строке это А');   end. {Обращаемся к символу, как к элементу массива - строка} Символ с индексом 0 является байтом, указывающим длину строки.  ORD(st[0]) это текущая длина строки, но можно получить и так LENGTH(st). К строкам можно применять операцию «+» – сцепление, например: st := ‘а’ + ‘b’; st := st + ‘с’; {st содержит «abc»} Стандартные процедуры и функции работы со строками.  

 

CONCAT(S1 [,S2, ... , SN] )

 – возвращает строку, сцепление строк-параметров S1, S2, …, SN.

 

COPY(ST, I, C)

 – копирует из строки ST C символов, начиная с символа с номером I.

 

DELETE (ST, I, C)

 – процедура; удаляет С символов из строки ST, начиная с символа с I.

 

INSERT (SB, ST, I)

 – процедура; вставляет подстроку SB в строку ST, начиная с символа I.

 

POS (SB, ST)

отыскивает в строке ST первое вхождение подстроки SB и возвращает номер позиции, если подстрока не найдена, возвращается ноль.  

 

Str(X: арифметическое выражение; var st: string)

 - процедура преобразует численное выражение X в его строковое представление и помещает результат в st.   

 

Val(st: string; x: числовая переменная; var code: integer)

 - процедура преобразует строковую запись числа, содержащуюся в st, в числовое представление.  

 

UpCase(Переменная)

 - позволяет преобразовывать любой символ из строчного в прописной.

Примеры использования строк очень хорошо проиллюстрированы в помощи к Pascal (Shift+F1) 10. Процедуры и функции.       В начало

Вспомогательный алгоритм, может быть оформлен, как подпрограмма (Процедура). Затем эту процедуру можно вызывать по имени из любого места программы. В общем виде оформление процедуры можно представить следующим образом.  

 

Описание конструкции

 

Пример

 

VAR {Объявление переменных программы} x : Integer;s : String; Procedure MyProc(a : Integer; b : String); {Заголовок Процедуры. а и b – фиктивные параметры, работают внутри процедуры} Begin ..... {тело Процедуры} End; BEGIN ..... {x, s – фактические параметры} MyProc(x,s); {вызов Процедуры} .... END.

 

Program HelloAll; Procedure Hello(Name:string); Begin    Writeln(‘Привет, ‘, Name, ‘!’);    Writeln(Name, ‘ как дела?’);    Writeln; End; Begin     Hello(‘Катя’);     Hello(‘Андрей’);     Hello(‘Лена’); End.  

Пример создания и использования функции из помощи к Pascal. Program Func;     function IntToStr(i: Longint): string;         { Функция конвертирует число в строку }            var               string[11];     begin       Str(i, s);       IntToStr := s;     end;   WriteLn(IntToStr(-5322)); end. Пояснение.  Зачем нужно конвертирование?  Если у вас в программе  VAR  S :  String;  K :  Integer; N : Integer;  То  Если даже Writeln(S,' - ',K);  выдает на экран  5 - 7 то,  все равно, нельзя сделать  N:=K + S; потому, что  N  и  S  -  разные типы данных, и S нужно сначала попытаться конвертировать в число.  Если эта длиннючая фраза вам понятна, то вы преодолели серьезный рубеж в понимании, что такое типы данных. Если пока что то туманно, продолжайте экспериментировать. Понимание придет неожиданно постепенно.  

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