Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

A b c d e f g h i j k l m n o

7 | p q r s t u v w x y z { | } ~ 

8 | Ђ Ѓ ‚ ѓ „ … † ‡ € ‰ Љ ‹ Њ Ќ Ћ Џ

9 | ђ ‘ ’ “ ” • – —? ™ љ › њ ќ ћ џ

A | Ў ў Ј ¤ Ґ ¦ § Ё © Є «¬ ­ ® Ї

B | ° ± І і ґ µ ¶ · ё № є» ј Ѕ ѕ ї

C | А Б В Г Д Е Ж З И Й К Л М Н О П

D | Р С Т У Ф Х Ц Ч Ш Щ Ъ Ы Ь Э Ю Я

E | а б в г д е ж з и й к л м н о п

F | р с т у ф х ц ч ш щ ъ ы ь э ю я

--+-----------------------------------------------

Таким образом, 16-ричный код цифры ноль – 30, что соответствует ее коду 48 в десятичной системе счисления.

Строки с нулевой по седьмую – это первая, стандартная часть таблицы, где хранятся коды цифр, символов латинского алфавита и некоторых символов клавиатуры. Строки с восьмой по F – это расширенная, национальная часть таблицы, где хранятся коды символов национальных алфавитов.

Рассмотрим стандартную часть таблицы, состоящую из первых восьми строк. Разобъем ее на две половины по четыре строки. Если S – любой символ из верхней половины, то ^S – символ из нижней половины, находящийся в том же столбце, то есть отстоящий на четыре строки, и наоборот.

Например, ^} соответствует =, наоборот ^= соответствует символу }.

Аналогичное правило действует и в расширенной, национальной части таблицы.

При вводе с клавиатуры исходных данных знак карата ^ соответствует нажатию клавиши CTRL, удерживаемой при одновременном нажатии того или иного знака. Этим часто пользуются при вводе символов, отсутствующих на клавиатуре: будет соответствовать символу ¬ (операция отрицания).

Нумерация элементов строки начинается с единицы. Для каждого элемента строки в оперативной памяти выделяется 1 байт. Для хранения текущей длины строки в памяти выделяется дополнительный байт в начале строки (нулевой байт). Длина строки хранится в нем в виде ASCII -символа, порядковый номер которого и определяет ее длину. Например, Ord(my_str[0])=19 – в ней 19 символов, включая пробелы.

В программе строки можно задать операторами присваивания:

srt_1:= ‘Это первая строка’; записывается в апострофах

srt_2:= ‘Это вторая строка’;

или ввести с клавиатуры целиком, указывая имя строки:

ReadLn(str_1); вводится без апострофов

Если длина задаваемой строки меньше длины, указанной в ее описании, то остальные элементы строки не заполняются, а если больше – то лишние элементы отбрасываются.

Строки можно выводить на экран целиком, указывая имя строки:

WriteLn(str_1);

Помимо присваивания, ввода и вывода, над строками определены следующие операции:

 

1. сложение (конкатенация) строк:

str_1:=’Turbo’;

str_2:= ‘ Pascal’;

str_3:= str_1 + str_2; в str_3 будет фраза Turbo Pascal

2. сравнение строк – осуществляется операциями отношения >, >=, <, <=, =, <> посимвольно слева направо до первого несовпадающего символа – сравниваются коды символов строк. Большей считается та строка, у которой код этого символа больше:

‘Vova’ > ‘Vasja’ = True так как Ord(‘o’) > Ord(‘a’)

Для работы со строками определены следующие функции:

1. Length(строка) - текущая длина строки – количество символов в ней (целое число):

str_1:=’Turbo’;

n:= Length(str_1); n=5 – в строке 5 символов

2.Pos(строка_1, строка_2) - определение положениястроки_1 в строке_2 (положение - номер символа – целое число):

str_1:=’ша’;

str_2:=’Наша Маша шагает в шапке’;

n:= Pos(str_1, str_2);n=3определяется первое вхождение str_1 в str_2, а это позиция с номером 3 во второй строке

Внимание! Если искомая строка не найдена, то результат равен нулю.

3.Copy(строка, номер символа, длина фрагмента) - копирование фрагмента заданной длины, начиная с заданного номера символа строки; получается новая строка:

str_1:=’браконьер’;

str_2:=Copy(str_1, 2, 3); из строки браконьер, начиная со второй буквы, копируется фрагмент длиной 3 символа; получается str_2=’рак’

4.Concat(строка_1, строка_2, строка_3,...)конкатенация (сложение) строк; получается новая строка:

str_1:=’Turbo’;

str_2:= ‘ Pascal’;

str_3:= Concat(str_1, str_2); в str_3 будет фраза Turbo Pascal

Внимание! Длина суммарной строки не должна превышать 255 символов.

 

Для работы со строками определены следующие процедуры:

1.Delete(строка, номер символа, длина фрагмента) - удаление из строки фрагмента заданной длины, начиная с заданного номера символа строки; получается новая строка_1:

str_1:=’коробочка’;

Delete(str_1, 4, 2); из строки коробочка, начиная с четвертой буквы, удаляется фрагмент длиной 2 символа; получается str_1=’корочка’

2.Insert(строка_1, строка_2, номер символа) - вставкастроки_1 в строку_2, начиная с заданного номера символа; получается новая строка_2:

str_1:=’сор’;

str_2:=’мука’;

Insert(str_1, str_2, 3); в строку мука, начиная о третьей буквы, вставляется строка сор; получается str_2=’мусорка’

 

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

1.Str(число, строка) - преобразование числового значения величины число в строку:

x:= 3.14;

Str(x, str_1); строка str_1 примет значение ‘3.14’

2.Val(строка, число, код) - преобразование значения строки в величину целого или вещественного типа число. Если во время операции преобразования ошибки не обнаружено, то значение кода равно нулю. Если же обнаружена ошибка (строка не переводится в число), то код будет содержать номер позиции ошибочного символа, а значение числа не определено:

str_1:= ‘3.14’;

Val(str_1, x, n); строка str_1 преобразуется в число x=3.14 ,
n = 0 (ошибок нет)

str_1:= ‘3,14’;

Val(str_1, x, n); строка str_1 не будет преобразована в число,
n = 2 (второй символ – запятая - ошибочен), x не определен

Использование этой функции позволяет избежать неприятной ошибки выполнения Invalid numeric format, возникающей при неправильном вводе числовых данных, при появлении которой программа заканчивает работу. Если же вводить число в виде строки, а потом преобразовывать ее в число, используя процедуру Val, то даже при некорректном вводе можно будет продолжать работу, анализируя значение кода ошибки и повторив ввод.

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

 

 

<== предыдущая лекция | следующая лекция ==>
A b c d e f g h I j k l m n o | Схемы алгоритмов
Поделиться с друзьями:


Дата добавления: 2014-01-06; Просмотров: 444; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.022 сек.