8 Байтов определяют, как выглядит буква а. (0 - точка закрашена в цвет фона, 1 – точка закрашена в цвет изображения.)
Способы представления (хранения).
BASIC отдельно не выделен строка из одного знака.
PASCAL <им.пер.>:char;
C char <им.пер.>;
Выделяется в памяти 1 байт для хранения кода знака.
Основные операции.
Вывод изображения знака (на экран, на принтер).
Связь с данными других типов.
BASIC PASCAL
Споставление знака коду chr$(x) chr(x) аргумент – число, результат – знак.
Сопоставление кода знаку asc(x$) ord(x) аргумент – знак, результат – число.
Строковый тип данных |
Строковый (литерный).
К базовым, с некоторой натяжкой, можно отнести тип данных «строка».
Способ хранения и набор операций со строками компьютеру известны, но, фактически, строка – это упорядоченный набор знаков. По умолчанию, для хранения строки выделено 256 байт, но при желании можно длину строк уменьшить, память сэкономить.
Из-за возможности доопределения, некоторые авторы учебников строковый тип данных к базовым не относят.
Вместе со знаками в памяти хранится длина строки, чтобы выводить не все 256 знаков. В языке pascal для хранения длины строки используется элемент набора с номером 0. В этот байт записывается число от 0 до 255.
В языке basic длина строки хранится отдельно, вместе с именем, поэтому можно использовать строки длиной 256 знаков.
Тип строка в языке pascal отмечается словом string, в языке basic, после имени переменной пишут знак доллара ’$’, в некоторых версиях вместо знака доллара используется знак «солнышко» - круг поверх косого креста.
0 |
1 |
2 |
3 |
4 |
5 |
6 |
... |
255 |
|
б |
у |
к |
в |
ы |
|
|
|
код 5 |
код б |
код у |
код к |
код в |
код ы |
|
|
|
Первый знак строки занимает 1 байт, второй – второй, ...
Нулевой байт хранит длину строки.
pascal basic var s:string; s$=”буквы”
begin s:=’буквы’; end. (s¤=”буквы”)
К операциям преобразования строк относим:
Выделение части строки (с указанного места указанной длины).
Конкатенация, соединение (склейка) двух строк в одну. (Часто операция обозначается знаком ‘+’ между аргументами.)
Удаление части строки.
Вставка одной строки внутрь другой.
Не реализованные в некотором языке операции вполне заменимы набором имеющихся.
Например, удалить часть строки можно путем склейки кусочка слева и кусочка справа. Средняя часть будет потеряна.
BASIC PASCAL
выполняем вырезку из строки =mid$(s$,m,l) =copy(s,m,l) =left$(s,l) =right$(s,l)
склеиваем две строки =s1$+s2$ =concat(s1,s2)
удаляем часть строки delete(s,m,l)
вставляем строку в строку insert(p,s,m)
замена фрагмента строки mid$(a$,m,x)=
О строке можно извлечь информацию:
Число – длину строки.
Номер места, начиная с которого одна строка находится внутри другой (поиск подстроки в строке).
Имеются просто команды преобразования числа в строку цифр и, обратно, строки цифр в число.
BASIC PASCAL
определяем длину строки =len(s$) =length(s)
ищем подстроку в строке =instr(s$,p$) =pos(p,s)
преобразуем число в строку =str$(x) str(n,s) =bin$(x) =oct$(x) =hex$(s)
преобразуем строку в число =val(x$) val(s,n,c)
перечислимый тип данных |
Перечислимый тип данных. Нестандартный