![]() Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Операции над множествами
Над множествами Паскаля определены общепринятые в математике операции: пересечение (*), объединение (+) и вычитание (-). В скобках указан знак операции. Кроме этого, определены следующие операции отношения: 1) равенство множеств (=); 2) неравенство множеств (< >); 3) левый операнд - подмножество правого операнда (< =); 4) правый операнд - подмножество левого операнда (> =); 5) принадлежность элемента множеству (in). Логическое выражение «Символ сh - латинская буква» может быть компактно записано с помощью операции проверки принадлежности элемента множеству: сh in [‘a’..‘z’, ‘A’..‘Z’]. Для совместимости типов множество в операциях достаточно совместимости базовых типов множеств. Это условие выполняется, если базовые типы одинаковы, или один из них - поддиапазон другого, или оба являются поддиапазонами одного и того же типа. В операции проверки принадлежности элемента множеству левый операнд должен иметь тип, совместимый с базовым типом множества, которое является правым операндом. Приоритеты операций в порядке убывания: 1) пересечение; 2) объединение и вычитание; 3) операции отношения. Для совместимости множеств по присваиванию необходима совместимость типов и присваиваемое значение должно быть подмножеством базового типа переменной. Пример. Программа для решения следующей задачи. С клавиатуры вводятся символы. Признак конца ввода - точка. Вывести те символы, которые встречались во входной последовательности по одному разу. Program single_char; var c: char; s, sd: set of char; begin s: =[ ]; {Инициализация множества входных символов} sd: =[ ]; {Инициализация множества повторяющихся символов} repeat read(c); if c in s then sd: =sd+[c] {Накопление множества повторяющихся символов} else s: =s+[c]; {Накопление множества всех символов} until c='.'; s: =s-sd-[‘.’]; {Получение множества неповторяющихся символов} writeln(‘ Неповторяющиеся символы входной последовательности: ’) for c: =#33 to #255 do if (c in s) then write(c: 3) end.
25. ФАЙЛЫ До сих пор исходные данные при выполнении программы вводились с клавиатуры, а результаты выводились на дисплей, то есть использовался стандартный ввод-вывод. Язык Паскаль предоставляет возможность обмена информацией с файлами. На физическом уровне файлом является поименованная область памяти на внешнем носителе. С точки зрения программиста, файл - это информация, хранящаяся в этой области. Ввод из файла удобен, если число исходных данных велико. Данные можно подготовить заранее, проверить. К данным, хранящимся в файле, могут обращаться разные программы. Данные, записанные в файл, сохраняются и после завершения работы программы. Файлы удобно использовать для временного хранения информации, если данных много и все они одновременно не могут быть размещены в оперативной памяти. По способу хранения информации файлы подразделяются на два вида: текстовые и двоичные. Текстовые могут быть созданы с помощью текстового редактора, они представляют собой последовательность символов. Их можно выводить на дисплей и на принтер. Двоичные файлы предназначены для обработки компьютером. Устройства ввода и вывода рассматриваются как текстовые файлы, они, так же как и обычные файлы, имеют имена, например: con - консоль, prn - принтер. Файл состоит из последовательности записей. Записью называется порция данных. Разбиение файла на записи определяется способом его обработки и может меняться в зависимости от целей обращения к файлу. По способу доступа к записям выделяют последовательные файлы и файлы прямого доступа. Последовательный файл обрабатывается сначала. Нельзя обработать n-ю запись, не обработав (n-1)-ю. Обработка представляет собой или только чтение или только запись. Файл прямого доступа позволяет обращаться к записи по ее номеру.
|