Тип string и стандартный тип char

 

Тип string и стандартный тип char совместимы. Строки и символы могут употребляться в одних и тех же выражениях.

Строковые выражения строятся из строковых констант, переменных, функций и знаков операций. Над строковыми данными допустимы операции сцепления и операции отношения.

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

 

Пример. Объединение двух строк.

var

Str, Strl, Str2:string[80];

Begin

...

Str1:= 'Turbo ';

Str2:= 'Pascal';

Str:= Str1 + Str2;    {в переменной Str - 'Turbo Pascal'}

...

end.

Сравнивать можно строки разной длины. Сравнение осуществляется слева направо в соответствии с ASCII-кодами соответствующих символов. Считается, что отсутствующие символы в более короткой строке имеют код меньше кода любого действительного символа. Например, 'XS' больше, чем 'Х'.

 

Пример. Проверить, является ли введенная совокупность символов именем месяца на русском языке.

 

 

program EXAMPLE11;

const

Instance: array[l..l2] of string[10]= ('ЯНВАРЬ', 'ФЕВРАЛЬ', 'МАРТ ', 'АПРЕЛЬ' ' МАЙ', 'ИЮНЬ', ' ИЮЛЬ', 'АВГУСТ ', 'СЕНТЯБРЬ', 'ОКТЯБРЬ ', ' НОЯБРЬ', 'ДЕКАБРЬ');

Month: Boolean = False;

var

Str: string[10];

i: Integer;

begin

Writeln('Введите заглавные символы: ');

ReadLn(Str);

for i:= 1 to 12 do

if Str = Instance[i] then Month:=True;

if Month then

WriteLn('Введено имя месяца')

else

WriteLn('Введено не имя месяца')

end.

 

Фактически строка N символов представляет собой массив из N+1 символа:

 

string[N] = array[0..N] of Char.

 

Нулевой символ предназначен для указания используемого количества символов строки и может изменяться от символа с кодом 0 до символа с кодом N. С ним можно работать как и с остальными символами строки (записывать и читать его значение и т. д.), но не забывая о его основном предназначении. [9]

Функция Copy

 

Функция Copy(S, Pozition, N) выделяет из строки S подстроку длиной N символов, начиная с позиции Pozition. Здесь N и Pozition – целочисленные выражения.

Пример:

Значение S Выражение Результат
‘Мама мыла раму’ Copy(S, 6, 4) ‘мыла’
‘Маша ела кашу’ Copy(S, 1, 8) ‘Маша ела’

 [10]

Функция Concat

 

Функция Concat(S1, S2, …, SN) выполняет сцепление (конкатенацию) строк S1, S2, …, SN в одну строку.

Пример:

Выражение Результат
Concat('Маша ', 'ела ', 'кашу') 'Маша ела кашу'

[9]

Функция Length

 

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

Пример:

Значение S Выражение Результат
'test-5' Length(S) 6
'(A+B)*C' Length(S) 7

[9]

 

                                                

                                     1.6   Процедура Delete

 

Процедура Delete(S, Poz, N) - удаление N символов из строки S, начиная с позиции Poz.

Пример:

Исходное значение S Оператор Конечное значение S
'abcdefg' Delete(S, 3, 2) 'abefg'
'abcdefg' Delete(S, 2, 6) 'a'

[10]              

               

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

                                        1.7  Str(x, S)

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

                                    

                                        1.8 Val(S, x, kod)

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

 

 

                              

                  2.1 Постановка задачи

Написать программу – телеграф, который принимает от пользователя сообщения и выводит его на экран в виде последовательности точек и тире. Вывод точек и тире можно сортировать звуковым сигналом соответствующей длительности

Азбука Морзе для букв русского алфавита приведена ниже:

А.- Б -… В.- - Г - -.
Д -.. Е Ж …- З - -..
И.. Й. - - - К -. - Л. -..
М - - Н -. О - - - П. - -.
Р. -. С … Т - У.. -
Ф.. -. Х …. Ц -. -. Ч -. - -.
Ш - - - - Щ - -. - Ъ -.. - Ы - - -.
Ь -.. - Э.. -. Ю.. - - Я. -. -



Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: