№ | Слайд | Текст |
1 |
 |
СТРОКОВЫЙ ТИП ДАННЫХ Строка — это последовательность символовКаждый символ занимает 1 байт памяти (код ASCII). Количество символов в строке называется ее длиной. Длина строки может находиться в диапазоне от 0 до 255. Строковые величины могут быть константами и переменными. Особенностью строки в Turbo Pascal является то, что с ней можно работать как с массивом символов, с одной стороны, и как с единым объектом, — с другой. За счет этого обработка строк достаточно гибка и удобна. Строковая константа есть последовательность символов, заключенная в апострофы. |
2 |
 |
Строковая переменная занимает в памяти на 1 байт больше, чем указаннаяв описании длина. Дело в том, что один (нулевой) байт содержит значение текущей длины строки. Если строковой переменной не присвоено никакого значения, то ее текущая длина равна нулю. По мере заполнения строки символами ее текущая длина возрастает, но она не должна превышать максимальной по описанию величины. |
3 |
 |
Символы внутри строки индексируются (нумеруются) от единицыКаждый отдельный символ идентифицируется именем строки с индексом, заключенным в квадратные скобки. Например: N[5], S[i], slovo[k+l]. Индекс может быть положительной константой, переменной, выражением целого типа. Значение индекса не должно выходить за границы описания. |
4 |
 |
Строковые выражения строятся из строковых констант, переменных,функций и знаков операций. Над строковыми данными допустимы операции сцепления и операции отношения. |
5 |
 |
Операция сцепления (конкатенации) (+) применяется для соединениянескольких строк в одну результирующую строку. Сцеплять можно как строковые константы, так и переменные. Пример: 'Мама ' + 'мыла ' + 'раму'. В результате получится строка: 'Мама мыла раму'. Длина результирующей строки не должна превышать 255. |
6 |
 |
2. Операции отношения: =, <, >, <=, >=, <>Позволяют произвести сравнение двух строк, в результате чего получается логическое значение (true или false). Операция отношения имеет приоритет более низкий, чем операция сцепления. Сравнение строк производится слева направо до первого несовпадающего символа, и та строка считается больше, в которой первый несовпадающий символ имеет больший номер в таблице символьной кодировки. Если строки имеют различную длину, но в общей части символы совпадают, считается, что более короткая строка меньше, чем более длинная. Строки равны, если они полностью совпадают по длине и содержат одни и те же символы. Пример: Выражение Результат ‘True1’<’True2’ True ‘Mother’>’MOTHER’ True ‘Мама ‘ <> ‘Мама’ True ‘Cat’=’Cat’ True |
7 |
 |
Стандартные фукции для работы со строками в PASCALCopy (S, poz, n) Concat (s1, s2,...,sn) Length (S) Pos (subS, S) |
8 |
 |
Например:Copy (S, poz, n) выделяет из строки S, начиная с позиции poz, подстроку из n символов. Здесь S – любое строковое выражение, poz, n – целочисленные выражения. Значение S Выражение Результат ‘Строка символов’ Copy(s,3,3) рок Рок |
9 |
 |
2. Concat (s1, s2,..,Sn) выполняет слияние строк s1, s2,...,Sn в одну строку. Например: Выражение Результат Concat(‘язык’, ‘’,pascal’) ‘Язык pascal’ |
10 |
 |
Например:3. Length(S) определяет текущую длину строкового выражения S. Результат – значение целого типа. Значение S Выражение Результат ‘(А+в)*с’ Length(s) 7 |
11 |
 |
Например:Значение S Выражение Результат ‘Предложение’ Pos(‘е’, S) 3 ‘Предложение’ Pos(‘a’, S) 0 4. Pos(subS, S) определяет позицию первого вхождения подстроки subS в строку S. Результат – целое число, равное номеру позиции, где находится первый символ искомой подстроки. Если вхождение подстроки не обнаружено, то результат функции будет равен 0. |
12 |
 |
Стандартные процедуры для работы со строками в PASCALDelete (S, poz, n) Insert (subS, S, poz) |
13 |
 |
Например:Значение S Оператор процедуры Конечное зн-е S ‘abcdefg’ Delete(s, 2, 3) ‘aefg’ 1. Delete (S, poz, n) удаляет из строки S, начиная с позиции poz, подстроку из n символов. Здесь S – строковая переменная (в данном случае нельзя записать никакое другое строковое выражение, кроме имени строковой переменной, т.к. только с именем переменной связана область памяти, куда будет помещен результат выполнения процедуры); poz, n – любые целочисленные выражения. |
14 |
 |
Например:2. Insert(subS, S, poz) вставляет в строку S, начиная с позиции poz, подстроку subS. Здесь subS – любое строковое выражение, S – строковая переменная (именно ей будет присвоен результат выполнения процедуры), poz – целочисленное выражение. Значение S Оператор процедуры Конечное зн-е S ‘Рис. 2’ Insert(‘№’, S, 6) ‘Рис. №2’ |
15 |
 |
Str (x, S) Val (S, x, kod)________ ______________ _____ _ |
16 |
 |
Например:Оператор процедуры Конечное зн-е S Str (sin (1):6:4, S) ‘0.0175’ Str (3456, S) ‘3456’ 1. Str(x, S) преобразует число x в строковый формат. Здесь x – любое числовое выражение, S – строковая переменная. В процедуре есть возможность задавать формат числа x. Например, str (x: 8: 3, S), где 8 – общее число знаков в числе x, а 3 – число знаков после запятой |
17 |
 |
Например:Тип X Оператор процедуры Значение X Значение kod Real Val(’12.34’, x, kod) 12.34 0 Integer Val(’12.34’, x, kod) 12 3 2. Val(S, x, kod) преобразует строку символов S в число x. Здесь S – строковое выражение, x – числовая переменная (именно туда будет помещен результат), kod – целочисленная переменная (типа integer), которая равна номеру позиции в строке S, начиная с которой произошла ошибка преобразования, если преобразование прошло без ошибок, то переменная kod равна 0. |
«СТРОКОВЫЙ ТИП ДАННЫХ Строка — это последовательность символов» |
http://900igr.net/prezentacija/algebra/strokovyj-tip-dannykh-stroka-eto-posledovatelnost-simvolov-170181.html