мета-данные страницы
  •  
Загрузка не удалась. Возможно, проблемы с правами доступа?

Различия

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

Ссылка на это сравнение

Предыдущая версия справа и слеваПредыдущая версия
Следующая версия
Предыдущая версия
pascal:set [14/03/2013 11:04] ocapascal:set [14/03/2013 11:15] (текущий) oca
Строка 3: Строка 3:
 === Множество (SET OF) === === Множество (SET OF) ===
  
-В Паскале *Множество* - совокупность неупорядоченных данных указанного (*базового*) типа. Базовый тип: +В Паскале **Множество** - совокупность неупорядоченных данных указанного (**базового**) типа. Базовый тип: 
-  -  должен быть *упорядоченным* (порядковым); +  -  должен быть **упорядоченным** (порядковым); 
-  -  должен иметь *не более 256* возможных значений;   +  -  должен иметь **не более 256** возможных значений;   
-  -  *порядковые значения* (значения, возвращаемые функцией ord) *базового типа* не должны выходить из диапазона от *0 до 255*. +  -  *порядковые значения* (значения, возвращаемые функцией ord) **базового типа** не должны выходить из диапазона от **0 до 255**. 
  
-В силу этого базовый тип множества не может быть ни Real (),  ShorInt, Integer, LongInt, Word. +Поэтому, базовым типом множества не может быть ни Real (не порядковый тип)ни типы ShorInt, Integer, LongInt или Word (несовпадение диапазонов).
- +
- +
-Диапазон значений типа множество представляет собой мощность множества для определенного порядкового типа (базового типа). Каждое возможное значение типа множество является подмножеством возможных значений базового типа.+
  
 Переменная типа множество может принимать как все значения множества, так и ни одного. Переменная типа множество может принимать как все значения множества, так и ни одного.
Строка 32: Строка 29:
        
 <code pascal| Примеры описания массивов> <code pascal| Примеры описания массивов>
-      type up =set of ‘A’..’Z’; +      type  
-      low=set of ‘a’..’z’;+        up =set of ‘A’..’Z’; 
 +        low=set of ‘a’..’z’; 
 +        
       const       const
-      upcase:up=[’A’..’Z’] ; +        upcase:up=[’A’..’Z’] ; 
-      voc:low[’a’,’e’,’i’,’o’,’u’,’y’] ; +        voc:low[’a’,’e’,’i’,’o’,’u’,’y’] ; 
-      delimeter: set of char=[’ ‘..’/’,’:’..’?’];+        delimeter: set of char=[’ ‘..’/’,’:’..’?’];
              
 </code>       </code>      
Строка 45: Строка 44:
 Над множествами возможны операции: Над множествами возможны операции:
  
-Операция объединения (+):       С:=А+В+Операция объединения:       С:=А+В
  
-Операция пересечения (*):      С:=А*В+Операция пересечения:      С:=А*В
  
-Операция разности (-):      С:=А-В+Операция разности:      С:=А-В
  
-Операция равенства(совпадения) множеств (=):      С=В+Операция равенства(совпадения) множеств:      С=В
  
-Операция неравенства (<>):      C<>B+Операция неравенства:      C <> B
  
-Операция проверки на вхождение множества в множество (>=,<=):     A<=B - включено ли А в В;+Операция проверки на вхождение множества в множество:     A <= B - включено ли А в В;
  
-Операция проверки на вхождение элемента в множество (IN): С IN B - входит ли элемент С в множество В+Операция проверки на вхождение элемента в множество (in): С in B - входит ли элемент С в множество В