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

Различия

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

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

Следующая версия
Предыдущая версия
pascal:set [14/03/2013 10:29] – создано 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. 
  
 Любой множественный тип может принимать значение [], которое называется пустым множеством. Любой множественный тип может принимать значение [], которое называется пустым множеством.
Строка 25: Строка 27:
  
    3. В разделе описания констант:    3. В разделе описания констант:
- +    
-      type up =set of ‘A’..’Z’; +<code pascal| Примеры описания массивов> 
-      low=set of ‘a’..’z’;+      type  
 +        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>      
  
 Значения переменных и константы множества задаются в разделе операторов с помощью конструктора. Конструктор-список элементов базового типа, заключенных в квадратные скобки. Значения переменных и константы множества задаются в разделе операторов с помощью конструктора. Конструктор-список элементов базового типа, заключенных в квадратные скобки.
Строка 37: Строка 44:
 Над множествами возможны операции: Над множествами возможны операции:
  
-   1. Операция объединения (+): +Операция объединения:       С:=А+В
- +
-      С:=А+В +
- +
-   2. Операция пересечения (*): +
- +
-      С:=А*В +
- +
-   3. Операция разности (-): +
- +
-      С:=А-В +
- +
-   4. Операция равенства (=): +
- +
-      С=В +
- +
-   5. Операция неравенства (<>):+
  
-      C<>B+Операция пересечения:      С:=А*В
  
-   6. Операция проверки на вхождение множества в множество (>=,<=):+Операция разности:      С:=А-В
  
-      A<=B - включено ли А в В;+Операция равенства(совпадения) множеств:      С=В
  
-      A>=B - включено ли В в А.+Операция неравенства:      C <> B
  
-   7. Операция проверки на вхождение элемента в множество (IN):+Операция проверки на вхождение множества в множество:     A <= B - включено ли А в В;
  
-      С IN B - входит ли элемент С в множество В+Операция проверки на вхождение элемента в множество (in): С in B - входит ли элемент С в множество В