Сложение строк в паскале

Сложение строк в паскале

Описание переменных строкового типа в Паскале

Переменные строкового типа д.б. описаны с использованием раздела описания либо непосредственно в разделе описания переменных

  1. Type st =string[n]; 2. Var s :string[n];

Var s :st;
где st — имя типа;
s — имя переменной;
n — размер строки (область памяти), количество символов в строке
(атрибут длины n=1..255).
Нулевой байт строки содержит информацию о ее фактической длине.

Операции с переменными строкового типа

Над переменными строкового типа (стрингами) можно выполнять следующие операции:

  1. присваивание (ввод/вывод);
  2. сравнение
  3. конкатенацию.

Присваивание в Паскале

Перемененной типа String можно присвоить значение другой переменной либо строковой константы
St:=’Студент’;
Stu:=St;
При этом длина строковой константы д.б. не более объявленной в противном случае избыточные символы будут проигнорированы.

Вввод / вывод

Перемененные типа Stringможно считывать из файла или записывать в файл целиком либо посимвольно, т.е. к каждому элементу строки можно обращаться как к элементу массива.

Readln(f, Str);
Writeln(f, Str);
For i:=1 to n do Readln(f, Str[i]);
For i:=1 to n do Writeln(f, Str[i]);

Сравнение в Паскале

Сравнение стрингов производится с помощью операций отношения (=, <>, , =) путем по парного сравнения двух символов различных стрингов слева на право (сравниваются их числовые представления по таблице кодов ASCII).
Два строки равны, если они одинаковой длины и состоят из одинаковой последовательности символов.
‘a’ 0 do
Begin
Delete(str,p,6);
Insert(‘ЏҐва®ў’,str,p);
p:=Pos(‘€ў ­®ў’,str);
End;
Writeln(‘Результат:’);
Writeln(str);
Readln;
End.

Результаты работы программы

Результат:
Студент Петров не посещал лекции, студент Петров не сдал экзамен

Вернуться в оглавление:Алгоритмические языки

Тип STRING

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

Строки могут выводиться стандартными процедурами Write и Writeln и вводиться стандартной процедурой Readln .

В программе значение литерной величины записываются в виде строки символов, заключенной в одинарные кавычки .

var
s, p,d, u: string ;
begin
Readln(u);
s := ‘zxcxg fffgrss f’;
p:=’информатика’;
. . .
if d <> ‘мир’ then
. . .
while u = ‘stop’ do
. . .
Write ( d)
end.

Оперции, функции и процедуры для обработки строк

Длина литерной величины.

При подсчете фактической длины строки учитываются все входящие в нее символы, в том числе и пробелы.

Длина литерной величины может меняться (одновременно с изменением ее значения) в процессе выполнения программы.

Читайте также:  Удалить выложенное видео в ютубе

Строка может не содержать ни одного символа (обозначается » , т.е. ноль символов между кавычками). В этом случае ее длина будет равна нулю ( length ( » ) = 0).

Строка ‘ ‘ , состоящая из одного пробела, имеет длину 1 ( length ( ‘ ‘ ) = 1) и отличается от строки » .

Операция конкатенации (склеивания) строк.

Например, результатом команды присваивания
s := ‘Это ‘ + ‘-‘ + ‘ строка!’;
будет запись в ячейку s цепочки "Это — строка! "

Ниже речь будет идти о функции Concat, действие которой аналогично рассматриваемой операции.

Другие стандартные процедуры и функции.

Обратите внимание на экстремальные случаи: пустые строки, превышение длины строки и т.п.

Программирование. Строки и символы Pascal-Паскаль

  • Скачено бесплатно: 9380
  • Куплено: 414
  • Pascal-Паскаль->Программирование. Строки и символы Pascal-Паскаль

Строки Pascal-Паскаль

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

  • Общая длина строки, которая характеризует размер памяти, выделяемый строке при описании;
  • Текущая длина строки (всегда меньше или равна общей длине), которая показывает количество смысловых символов строки в каждый конкретный момент времени.

Строка в Паскале – упорядоченная последовательность символов. Количество символов в строке называется ее длиной. Длина строки в Паскале может лежать в диапазоне от 0 до 255. Каждый символ строковой величины занимает 1 байт памяти и имеет числовой код в соответствии с таблицей кодов ASCII.

Код ASCII (American Code for Information Interchange – Американский стандартный код для обмена информацией) имеет основной стандарт и его расширение. Основной стандарт использует шестнадцатеричные коды 00-7F, расширение стандарта – 80-FF. Основной стандарт является международным и используется для кодирования управляющих символов, цифр и букв латинского алфавита; в расширении стандарта используются символы псевдографики и буквы национальных алфавитов.

32 пробел 48 0 64 @ 80 P 96 ` 112 p
33 ! 49 1 65 A 81 Q 97 a 113 q
34 " 50 2 66 B 82 R 98 b 114 r
35 # 51 3 67 C 83 S 99 c 115 s
36 $ 52 4 68 D 84 T 100 d 116 t
37 % 53 5 69 E 85 U 101 e 117 u
38 & 54 6 70 F 86 V 102 f 118 v
39 ‘ 55 7 71 G 87 W 103 g 119 w
40 ( 56 8 72 H 88 X 104 h 120 x
41 ) 57 9 73 I 89 Y 105 i 121 y
42 * 58 : 74 J 90 Z 106 j 122 z
43 + 59 ; 75 K 91 [ 107 k 123 <
44 , 60 78 N 94 ^ 110 n 126
Читайте также:  Виджет погоды овечка для андроид
47 / 63 ? 79 O 95 _ 111 o 127

Строковая константа Паскаля – последовательность символов, заключенная в апострофы. Например, ‘строковая константа’, ‘243’. Два следующих друг за другом апострофа (») обозначают пустую строку, т.е. строку с нулевой длиной.

Описание строковой переменной Паскаля

Для описания строковых переменных в Паскале существует предопределенный тип string.

В общем виде описание строковой переменной будет выглядеть следующим образом:

Пример описания строковой переменной в Паскале:

В приведенном выше описании строковая переменная s1 может содержать не более 10 символов, переменная s2 – не более 20 символов. Если же при описании строки ее максимальная длина не указывается, то по умолчанию принимается максимально допустимая длина, равная 255 символам (переменная smax)..

Символы в строке упорядочены, каждый из них имеет порядковый номер, начиная с первого. Имеется возможность обратиться к любому элементу строки, указав его номер, так же как это делается в одномерных массивах. Например, s1[2] позволяет обратиться ко второму символу в строке s1, при этом мы можем поменять это значение, выполнив оператор присваивания s1[2]:= ‘r’, можем вывести на экран это значение или присвоить его другой переменной.

Действия со строками в Паскале

Операция слияния (сцепления, конкатенации) применяется для соединения нескольких строк в одну, обозначается знаком «+». Операция слияния применима для любых строковых выражений, как констант, так и переменных.

Операции отношения позволяют сравнивать строки на отношение равенства (=), неравенства (<>), больше (>), меньше ( =), меньше или равно ( Пример действий со строками в Паскале:

‘строка'<>’строки’ (верно, т.к. не совпадают последние символы);

‘Abc’ ‘век’ (отношение верно, т.к. буква ‘г’ в алфавите стоит после буквы ‘в’, а, следовательно, имеет больший код).

Стандартные функции для работы со строками в Паскале

Copy (S, poz, n) выделяет из строки S, начиная с позиции poz, подстроку из n символов. Здесь S – любое строковое выражение, poz, n – целочисленные выражения.

Значение S Выражение Результат
‘строка символов’ Copy(S,3,3) рок

Concat (s1, s2. sn) выполняет слияние строк s1, s2. sn в одну строку.

Читайте также:  Компьютер asus rog gr8 ii
Выражение Результат
Concat(‘язык’, », ‘Pascal’) ‘язык Pascal’

Length(S) определяет текущую длину строкового выражения S. Результат – значение целого типа.

Значение S Выражение Результат
‘(а+в)*с’ Length(s) 7

Pos(subS, S) определяет позицию первого вхождения подстроки subS в строку S. Результат – целое число, равное номеру позиции, где находится первый символ искомой подстроки. Если вхождение подстроки не обнаружено, то результат функции будет равен 0.

Значение S Выражение Результат
‘предложение’ Pos(‘е’, S) 3
‘предложение’ Pos(‘a’, S)

Стандартные процедуры для работы со строками в Паскале

Delete (S, poz, n) удаляет из строки S, начиная с позиции poz, подстроку из n символов. Здесь S – строковая переменная (в данном случае нельзя записать никакое другое строковое выражение, кроме имени строковой переменной, т.к. только с именем переменной связана область памяти, куда будет помещен результат выполнения процедуры); poz, n – любые целочисленные выражения.

Исходное значение S Оператор процедуры Конечное зн-е S
‘abcdefg’ Delete(s, 2, 3) ‘aefg’

Insert(subS, S, poz) вставляет в строку S, начиная с позиции poz, подстроку subS. Здесь subS – любое строковое выражение, S – строковая переменная (именно ей будет присвоен результат выполнения процедуры), poz – целочисленное выражение.

Исходное значение S Оператор процедуры Конечное зн-е S
‘рис. 2’ Insert(‘№’, S, 6) ‘рис. №2’

Процедуры преобразования типов в Паскале

Str(x, S) преобразует число x в строковый формат. Здесь x – любое числовое выражение, S – строковая переменная. В процедуре есть возможность задавать формат числа x. Например, str(x: 8: 3, S), где 8 – общее число знаков в числе x, а 3 – число знаков после запятой.

Оператор процедуры Значение S
Str (sin(1):6:4, S) ‘0.0175’
Str (3456, S) ‘3456’

Val(S, x, kod) преобразует строку символов S в число x. Здесь S – строковое выражение, x – числовая переменная (именно туда будет помещен результат), kod – целочисленная переменная (типа integer), которая равна номеру позиции в строке S, начиная с которой произошла ошибка преобразования, если преобразование прошло без ошибок, то переменная kod равна 0.

Тип X Оператор процедуры Значение X Значение kod
Real Val(‘12.34’, x, kod) 12.34
Integer Val(‘12.34’, x, kod) 12 3

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

Исходники Pascal (127)

Справочник

Справочник по паскалю: директивы, функции, процедуры, операторы и модули по алфавиту

Ссылка на основную публикацию
Adblock detector