Пример пересечения множественных типов




 

Type chisla= set of byte; Var z,x,y: chisla; ……….. x:= [0..150]; y:= [100..255]; z:= x*y {получено множества чисел из диапазона 100..150 в результате пересечения двух множеств}

Операции отношения множественных типов Наряду с рассмотренными выше операциями, над значениями множественного типа определены и некоторые операции отношения. Операндами операций над множественными значениями в общем случае являются множественные выражения. Среди операций отношения над значениями множественного типа особое место занимает специальная операция проверки вхождения элемента во множества, обозначаемая служебным словом in. В отличие от остальных операций отношения, в которых значения обоих операндов относятся к одному и тому же множественному типу значений, в операции in первый операнд должен принадлежать базовому типу, а второй – множественному типу значений, построенному на основе этого базового типа. Результатом операции отношения, как обычно, является логическое значение (true или false).

Операция сравнения на равенство множественных типов. Множества считаются равными (эквивалентными), если все элементы одного множества присутствуют в другом и наоборот. Для операции сравнения на равенство или неравенство используются символы ‘=’ и ‘<>’. A:= [2,1,3]; D:= [1,3,2];

Тогда операция A=D имеет значение true, а операция A<>D имеет значение false.

Проверка включения. Одно множество считается включенным в другое (одно множество является подмножеством другого), если все его элементы содержатся во втором множестве. Обратное утверждение может быть и несправедливым. Операции проверки включения обозначаются ‘<=’ и ‘>=’.

letter >= glasn; soglan <= letter;

Следует отметить, что применение операций < и > над операндами множественного типа недопустимо.

 

Символьный тип данных. Описание символьного типа

 

Символьный тип. CHAR – занимает 1 байт. Значением символьного типа является множество всех символов ПК. Каждому символу присваивается целое число в диапазоне 0…255. Это число служит кодом внутреннего представления символа. Для кодировки используется код ASCII (American Standart Code for Information Interchange – американский стандартный код для обмена информацией). Это 7-битный код, т.е. с его помощью можно закодировать лишь 128 символов в диапазоне от 0 до 127. В то же время в 8-битном байте, отведенном для хранения символа в Турбо Паскале, можно закодировать в два раза больше символов в диапазоне от 0 до 255. Первая половина символов ПК с кодами 0…127 соответствует стандарту ASCII. Вторая половина символов с кодами 128…255 не ограничена жёсткими рамками стандарта и может меняется на ПК разных типов. Символы с кодами 0…31 относятся к служебным кодам. Если эти коды использовать в символьном тексте программы, они считаются пробелами.

Работа с символьными переменными В Turbo Pascal 7.0 для работы с символами используются два типа переменных:

символьный тип данных;

Строковый тип данных.

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

Операция сложения символьных величин.

Операция сложения позволяет строить из двух символьных строк третью, состоящих из символов первой, за которой следуют символы второй. Обозначается эта операция знаком "+". Наример:

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

var s1, s2, s3: string;

 

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

s1: = ' Тише воды, ';

s2:= 'ниже травы’;

s3:=s1+’’+s2;

 

Строка s3 имеет значение 'Тише воды, ниже травы'.

Длина строки

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


Например:

 

s1:='12345'; s2:= 'Семеро одного не ждут’; k1:=Length(s1); k2:=Length(s2).

В результате значения целых переменных будут равны: kl=5, k2=21.

Копирование

Функция copy(str,n,m ) в Turbo Pascal копируют т символов строки str, начиная с n -го символа, при этом исходная строка не меняется. Можно результат этой функции присваивать другой строке или сразу выводить его на экран. Например:

s1:='паровоз'; s2:='123456'; s3:=copy(s1, 5, 3); writeln(s3); writeln(copy(s2, 3, 2));

Значения переменной s1=’воз’. А на экране будут выведены следующие строки: воз и 34.

Удаление

В Turbo Pascal для этого используется процедура Delete(str, n,m), которая вырезает из строки str m символов, начиная с n -го. таким образом сама строка изменяется. Например:

Дан фрагмент программы:

s:='123456'; delete(s, 3, 2); writeln(s);

После выполнения этих операторов из строки будут удалены два символа, начиная с третьего, то есть строка будет такой: s = '1256'.

Замена (Вставка)

В Turbo Pascal это можно сделать, применяя процедуру I nsert(s1,s2,n) – вставка строки s1 в строку s2, начиная с п -го символа, при этом первая строка остается такой же, как и была, а вторая получает новое значение. Например:

s1;='34': s2:='1256'; insert (s1, s2, 3);

 

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

 

s2='123456'.

Числа и строки

 

Надо заметить, что число 25 и строка 25 – это не одно и то же. Для работы с числами и строками в Turbo Pascal применяются две процедуры.

Str(n,s1) – переводит числовое значение n в строковое и присваивает результат строке s1, причем можно переводить как целые числа, так и вещественные. Например:

n:=12; str(n,s1); - после выполнения s1 ='12'

Существует обратная операция, переводящая строковое значение в числовое.

Функция val(s, n, k) – переводит строковое значение в числовое, если данная строка действительно является записью числа (целого или вещественного), то значение k=0, а n – это число, иначе k будет равно номеру символа, в котором встречается первое нарушение записи числа n. Например:

val(‘1234',n,k) п=1234, k=0;

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2019-06-03 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: