- •1. Как создавать программы? в начало
- •3. Программы работают с данными. В начало
- •4. Переменные нужно объявлять. В начало
- •5. Операция присваивания. В начало
- •6. Простые примеры. В начало Чтобы научиться программировать, нужно это делать. Итак начнем.
- •7. Построение выражений и встроенные функции. В начало
- •8. Технология алгоритмического программирования. В начало
- •1. Линейную
- •2. Ветвление 3. Циклическую
- •9. Работа со строками в начало
- •11. Массивы в начало
- •12. Работа с файлами в начало
- •13. Графика на Pascal. В начало
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 нужно сначала попытаться конвертировать в число. Если эта длиннючая фраза вам понятна, то вы преодолели серьезный рубеж в понимании, что такое типы данных. Если пока что то туманно, продолжайте экспериментировать. Понимание придет неожиданно постепенно.
Внимание. Функция внутри себя использует так называемые формальные переменные, которые не видны из основной программы. А вот когда она (функция) вызывается, то получает для обработки значения фактических переменных, которые объявлены и используется вне функции.
