русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Множества и операции над ними.


Дата добавления: 2015-07-23; просмотров: 658; Нарушение авторских прав


МНОЖЕСТВА - наборы однотипных логически связанных друг с другомобъектов. Характер связей между объектами подразумевается лишьпрограммистом и не контролируется Турбо Паскалем. Количествоэлементов в множестве может меняться от 0 до 255. Множество,которое не содержит элементов, называется пустым. От массивовмножества отличаются тем, что количество элементов в нем непостоянно. Его можно расширять и сокращать по ходу выполненияпрограммы.Описание типа производится в разделе TYPE.Структура:<Имя идентификатора>=SET of <имя типа> ;где <Имя идентификатора> - правильный идентификатор ТурбоПаскаля;<имя типа> - тип элементов множества, в качестве которого можетиспользоваться любой порядковый тип, кроме WORD, Integer,LogInt,ShortInt.пример: TYPE dchar=SET of '1'..'9'; {базовый символьный тип-диапазон}digit=SET of 0..9;Переменные этого типа описываются в разделеVAR S1,S2,S3:dchar; S4,S5,S6,S7:digit;Для задания множества может использоваться конструктор множества:список (спецификаций) элементов множества, отделенных друг отdpsc` запятыми; список заключается в квадратные скобки.Спецификациями элементов м.б. константы или выражения базовоготипа, а также пример:S1:=['1','2','3']; S4:=[0..3,7];S2:=['2','1','3']; S5:=[4,6];S3:=['1','2']; S6:=[3..8]; S7:=[]; (пустое)Два множества считаются эквивалентными тогда и только тогда,когда все их элементы одинаковы причем порядок следования вмножестве их безразличен. (S1 и S2 эквивалентны).Если всеэлементы одного множества входят в другое множество то говорят,что первое включено во второе. (S3 включено в S1).Пустое множествовключено в любое другое.Над множествами определены следующие операции:1. * пересечение множеств; результат содержит элементы, общиедля обоих множеств. (S4*S6 содержит [3,7]; S4*S5 образует пустоемн.).2. + объединение множеств, результат содержит элементы первогомножества, дополненные недостающими элементами второго.S4+S5 содержит [0,1,2,3,4,6,7] S5+S6 содержит [3,4,5,6,7,8]3. - разность множеств, результат содержит элементы из первогомножества, которые не принадлежат второму.S6-S5 содержит [3,5,7,8])S4-S5 содержит [0,1,2,3,7]) []-S4 даст [].4. Операции отношений:= операция эквивалентности; возвращает значение TRUE, если обамножества эквивалентны; (S1:=S2; ['1','2','3']) =['2','3','1'] проверка неэквивалентности; (TRUE, если множестванеэквивалентны); [1,2]<>[1] S3<>S2>= проверка вхождения (TRUE, если второе множество входит впервое;in - проверка принадлежности. Структура этой бинарной операции:in ;возвращает TRUE, если выражение имеет значение,принадлежащее множеству.пример:3 in S6 TRUE; [] in [0..5] [] in S52*2 in S4 FALSE;Множества имеют компактное машинное представление. Недостаток:невозможность вывода множества на экран, т.к. отсутствуетмеханизм изъятия элемента из множества. Ввод множества возможентолько поэлементно.пример: Можно тип объявлять при описании переменныхVAR S:SET of char; {переменная-множество}C: char; {элемент множества}BeginS:=[]; S:=#0; {обнуление значений}while C '.' do {цикл до ввода "."}beginreadln(C); {чтение символа в с}S:=S+[C]; {добавление его к S}end; ...S:=S-['.']; {исключение точки}End.

Оператор выбора CASE (варианта). Комментарии



CASE<ключ выбора> OF Const1:оператор; Const2:оператор; ELSE: оператор;END;

Записи. Вложенные записи. Записи с вариантами.

Запись – это структура данных, состоящая из фиксированного числакомпонент, называемых полями записи. В отличие от массиваjnlonmemr{ могут быть различного типа. Поля именуются:<имя типа>=RECORD<определение полей>END.Type Bd = record D,m: byte; Y: wordVar a,b: bd;a::=8;a.day:=27;-доступ к компонентуДля упрощения доступа к полям записи используют оператор записиWithWith<переменная>do<оператор>;With c.bp do month:=9;With c do with bp do month:=9;c.bp.month:=9;Вариантные поляType f= record N: string; Case byte of 0:(bp: string[30]); 1:(c: string[10],e: string[20],ed:1..31) end;Имена должны быть уникальны, хотя возможно повторение на различныхуровняхВложенные поля:Type bd =record D,m: byte; X: word; End;Var c: record; Name: string; Db: bd;Begin if c.db.year=1939 then………..End.В качестве ключа переменная:Type rec2=record C: LongInt;Case x: byte of1: (d: word);2: (e:record case boolean of 3: (f: real); 3: (g: single); ‘3’: (c: word); end;end;


<== предыдущая лекция | следующая лекция ==>
Типы в Турбо-Паскале. Объявление новых типов. Порядковые типы. | Файловый тип. Файлы. Требования к имени. Связывание.


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.341 сек.