logo
лаб

Лабораторная работа 4. Строки. Операторы цикла.

Для работы со строками необходимо использовать тип данных string (var s : string). Отличительной чертой этого типа данных является то, что мы

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

Цикл — многократное повторение последовательности действий по некоторому условию. Известны три типа циклических алгоритмических структур, но при работе со строками будем использовать одну из них – цикл с параметром. Он имеет две формы записи:

For <параметр>:=<нач. зн.> to <кон. зн.> do <тело цикла>;

For <параметр>:=<кон. зн.> downto <нач. зн.> do <тело цикла>;

Цикл повторяется, пока значение параметра лежит в интервале между начальным и конечным значениями параметра. Причем эти выражения (начального и конечного значение) вычисляются только один раз в начале выполнения цикла. Параметр обязательно должен быть целого типа.

В первом варианте при каждом повторении цикла значение параметра изменяется на следующее значение в данном типе (для целого типа — увеличивается на 1). Понятие шаг. Во втором варианте при каждом повторении цикла значение параметра изменяется на предыдущее значение параметра (для целого типа - уменьшается на единицу).

При работе со строкой запишем оператор цикла следующим образом: for i:=1 to length(s) do (обращение к символам от первого до последнего в строке s). Кроме того, используются следующие встроенные процедуры и функции:

1. Функция length (s) определяет длину строки. Результат - целое число 0..255.

Пример: дана строка, подсчитать количество цифр в строке.

var s : string; k : integer;

k := length(s);

2.Процедура Delete (s,pos,n) - удаление части строки. Удаляет из строки s n-символов начиная с символа № pos.

Пример: s := 'рогатка'; Delete(s,5,3); получим ‘рога’.

3. Процедура Insert (s1,s2,pos). Вставка части строки.

S1-что, S2-куда, Pos-с какой позиции.