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

Различия

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

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

Предыдущая версия справа и слеваПредыдущая версия
Следующая версия
Предыдущая версия
pascal:set [14/03/2013 10:31] ocapascal:set [14/03/2013 11:15] (текущий) oca
Строка 1: Строка 1:
-[[http://itteach.ru/pascal/pascal-mnozhestvo-set-of|http://itteach.ru/pascal/pascal-mnozhestvo-set-of]]+Делалось с использованием [[http://itteach.ru/pascal/pascal-mnozhestvo-set-of|http://itteach.ru/pascal/pascal-mnozhestvo-set-of]]
  
-Множество (SET OF)+=== Множество (SET OF) ===
  
-Множество - совокупность неупорядоченных данных одного типа.+В Паскале **Множество** - совокупность неупорядоченных данных указанного (**базового**) типа. Базовый тип: 
 +  -  должен быть **упорядоченным** (порядковым); 
 +  -  должен иметь **не более 256** возможных значений;   
 +  -  *порядковые значения* (значения, возвращаемые функцией ord) **базового типа** не должны выходить из диапазона от **0 до 255**
  
-Диапазон значений типа множество представляет собой мощность множества для определенного порядкового типа (базового типа). Каждое возможное значение типа множество является подмножеством возможных значений базового типа.+Поэтому, базовым типом множества не может быть ни Real (не порядковый тип)ни типы ShorInt, Integer, LongInt или Word (несовпадение диапазонов).
  
 Переменная типа множество может принимать как все значения множества, так и ни одного. Переменная типа множество может принимать как все значения множества, так и ни одного.
  
-Базовый тип не должен иметь более 256 возможных значений и порядковые значения верхней и нижней границы базового типа не должны превышать диапазона от 0 до 255. В силу этого базовый тип множества не может быть ShorInt, Integer, LongInt, Word. 
  
 Любой множественный тип может принимать значение [], которое называется пустым множеством. Любой множественный тип может принимать значение [], которое называется пустым множеством.
Строка 27: Строка 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>      
Строка 40: Строка 44:
 Над множествами возможны операции: Над множествами возможны операции:
  
-   1. Операция объединения (+):+Операция объединения:       С:=А+В
  
-      С:=А+В+Операция пересечения:      С:=А*В
  
-   2. Операция пересечения (*):+Операция разности:      С:=А-В
  
-      С:=А*В+Операция равенства(совпадения) множеств     С
  
-   3. Операция разности (-):+Операция неравенства     C <> B
  
-      С:=А+Операция проверки на вхождение множества в множество    A <включено ли А в В;
  
-   4. Операция равенства (=): +Операция проверки на вхождение элемента в множество (in): С in B - входит ли элемент С в множество В
- +
-      С=В +
- +
-   5. Операция неравенства (<>): +
- +
-      C<>+
- +
-   6. Операция проверки на вхождение множества в множество (>=,<=): +
- +
-      A<=B - включено ли А в В; +
- +
-      A>=B - включено ли В в А. +
- +
-   7. Операция проверки на вхождение элемента в множество (IN): +
- +
-      С IN B - входит ли элемент С в множество В+