Как в паскале обозначается совокупность
В этой главе мы познакомимся с основными понятиями языка программирования Free Pascal и структурой консольной программы.
Программа на языке Free Pascal формируется с помощью конечного набора знаков, образующих алфавит языка. Алфавит языка состоит из:
- Букв. В качестве букв используются прописные и строчные буквы латинского алфавита. A,B,C, … , Z, a,b,c,…,z.
- Цифр. 0,1,2, …, 9
- Специальных символов. +, -, *, /, =, , [], (), @, <>. ;’, #, _ , $, ^ (тильда), пробел, точка и запятая.
Неделимые последовательности знаков алфавита образуют слова, отделённые друг от друга разделителями, несущими определённый смысл в программе. Разделителями могут служить пробел, символ конца строки, комментарий. Слова подразделяются на зарезервированные слова, стандартные идентификаторы и идентификаторы пользователя.
Зарезервированные слова являются составной частью языка, и их нельзя использовать в качестве идентификаторов. В языке Паскаль зарезервированными являются следующие слова: and, array, begin, case, const, div, do, downto, else, end, file, for, forward, function, goto, if, in, lable, mod, nil, not, of, or, packed, procedure, program, record, repeat, set, shl, shr, string, then, to, type, unit, until, uses, var, while, with, xor.
Идентификатор — это имя программного объекта, представляющее собой совокупность букв, цифр и символа подчеркивания. Первый символ идентификатора – буква или знак подчеркивания, но не цифра. Идентификатор не может содержать пробел. Прописные и строчные буквы в индентификаторах не различаются, например ABC, abc, Abc – одно и то же имя.
Стандартные идентификаторы служат для обозначения заранее определённых разработчиками языка типов данных, констант, процедур и функций.
Идентификаторы пользователя применяются для обозначения меток, констант, типов, переменных, процедур и функций, определённых самим программистом. Каждое имя (идентификатор) должно быть уникальным и не совпадать с зарезервированными словами и стандартными идентификаторами.
Типы данных в языке программирования Паскаль
Любая программа является совокупностью данных и алгоритмов их обработки, записанных с помощью операторов. Данные во время работы программы хранятся в оперативной памяти. Очевидно, исполнителю необходимы сведения о том, как они хранятся, какие действия над ними можно выполнять.
Тип данных, задаваемый при их описании, однозначно определяет форму внутреннего представления, диапазон допустимых значений и множество возможных операций.
Рассмотрим классификацию типов данных, придерживаясь систематизации, принятой в PascalABC.Net.
Простые типы
К простым типам в PascalABC.Net относят целые и вещественные типы, логический, символьный, перечислимый и диапазонный тип. Все простые типы за исключением вещественного называются порядковыми типами.
Целые типы
Определены несколько целых типов данных (см. Таблица 1), отличающихся диапазоном допустимых значений и наличием знака: старший двоичный разряд воспринимается как знаковый (для отрицательных чисел), либо как обычный разряд числа.
Таблица 1. Целые типы данных
Вещественные типы
Существует несколько вещественных типов данных, которые отличаются точностью и диапазоном представления (см. Таблица 2). Точность вещественного числа определяется длиной мантиссы, а диапазон значений – длиной порядка.
Таблица 2. Вещественные типы данных

Символьный тип
Символьный тип служит для представления элементов из допустимого набора (для реализации PascalABC.Net — кодировка Unicode). Для обозначения типа данных используется ключевое слово char . Под каждый символ в PascalABC.Net отводится 2 байта (в других реализациях языка Паскаль отводится 1 байт, поскольку в качестве элементов набора используется расширенная таблица ASCII).
Логический тип
Для обозначения логического типа используется ключевое слово boolean . Множество значений этого типа включает два значения: false (ложь) и true (истина). Под величину логического типа отводится в памяти 1 байт.
Перечисляемый тип
Часто при написании программ возникает необходимость использования связанных между собой именованных констант, имеющих различные значения (например, дни недели, месяцы в году и т. д.). В этом случае удобно воспользоваться перечисляемым типом данных, возможные значения которого задаются упорядоченным набором констант.
type typeName = (value1, value2, . valuen);
Диапазонный тип
Диапазонный (интервальный) тип применяется в случае, если необходимо использовать подмножество значений целого, символьного или перечислимого типа.
- var
- range: -100..100;
- intCh: ‘a’..’z’;
Тип, на основе которого строится подмножество, называется базовым. Занимаемое место в памяти машины значениями диапазонного типа определяется используемым базовым типом.
Структурированные типы
К структурированным типам в PascalABC.NET относят массивы, записи, множества и файлы. Эти типы данных будут рассматриваться далее в соответствующих уроках.
Copyright © 2014-2021, Урок информатики
Все права защищены
Информационные технологии 3
Целью курса «Информационные технологии» является обучение студентов программированию с применением методов вычислительной математики, использованием современных средств вычислительной техники и компьютерных технологий, дальнейшее развитие компьютерной грамотности на основе дисциплин «Информатика», «Математика», «Начертательная геометрия и инженерная графика», «Физика».
Задачи изучения дисциплины заключаются в практическом освоении языка и среды Турбо Паскаля (версии 7.0), в приобретении студентами навыков составления алгоритмов задач теплоэнергетического профиля, отладки программ, в умении проводить анализ полученных результатов и корректировать свои действия с целью улучшения качественных показателей программ.
Язык Турбо Паскаль является классическим языком программирования, широко применяемым в инженерных расчётах. Его изучение позволяет сформировать у студентов особый вид мышления – алгоритмический. Студентам, успешно овладевшим этим языком, не составит особого труда в будущей своей трудовой деятельности применять свои знания и составлять программы не только на языке Паскаль, но и на других языках программирования. Особенно важным является то, что знание языка Паскаль нужно для составления программ в среде Windows при помощи прикладного пакета Delphi, всё более популярного в последнее время.
К настоящему моменту имеется огромное количество библиотек программ, процедур и функций с примерами реализации большинства инженерных задач на языке Паскаль и в среде визуального программирования Delphi. Умелое применение этих наработок предполагает хорошее базовое знание языка Паскаль.
В период обучения студенты должны освоить некоторые численные методы и способы их реализации на языке Паскаль, в том числе с использованием библиотек подпрограмм и внешних файлов данных.
Программирование. Множества Pascal-Паскаль
Еще одним фундаментальным классом данных являются данные, структурированные в виде множеств.
О перечисляемых типах
Мы уже рассматривали три скалярных типа, которые, в принципе, являются перечисляемыми типами, – это boolean, char и integer. В самом деле, ведь каждый из этих типов можно задать следующим образом:
type
Boolean= (false, true);
char= #0..#255;
integer= -32768..32767;
(Представление #xxx означает, что должен быть взят символ, чей код в таблице ASCII равен xxx).
Это базовые типы, которые не требуется задавать каждый раз, уже определены в системе именно таким образом. Кроме них имеется еще несколько интервальных типов, с некоторыми из которых мы знакомы:
shortint>= -128..127;
longint= -2147483648..247483647;
byte= 0..255;
word= 0..65535;
Переменные, имеющие эти типы, могут принимать значения, лежащие в границах соответствующих интервалов.
Для работы с перечисляемыми типами существуют следующие функции, которые хранятся в библиотеке системных функций, и программист имеет к ним доступ:
ord(N) – возвращает номер элемента N в множестве;
succ(N) – возвращает следующее значение для N;
pred(N) – возвращает предыдущее значение для N.
Пользователь имеет возможность описать собственный перечисляемый тип данных. В общем виде это описание выглядит так:
В скобках перечисляются все возможные значения, которые может принимать переменная данного типа. Следует запомнить, что названия значений нельзя давать по-русски(это важно!).
Например, мы можем описать тип данных color и перечислить семь основных цветов:
type
color=(red, orange, yellow, green, blue, magenta);
При этом значения получают номера в порядке их перечисления, начиная с 0. Поэтому для данного типа справедливыми будут отношения элементов:
red < orange< yellow< green< blue< magenta;
ord(red)=0;
succ(blue)= magenta;
pred(green)=yellow;
Множественный тип данных Паскаля
Множественный тип данных Паскаля напоминает перечислимый тип данных. Вместе с тем множественный тип данных – набор элементов не организованных в порядке следования.
В математике множественный тип данных – любая совокупность элементов произвольной природы. Операции, которые производятся над множествами, по существу заключаются во включении и исключении элементов из множества.
Понятие множества в языке программирования значительно уже математического понятия.
В Паскале под множественным типом понимается конечная совокупность элементов, принадлежащих некоторому базовому типу данных.
В качестве базовых типов могут использоваться:
- перечислимые типы;
- символьный;
- байтовый;
- диапазонные на основе вышеперечисленных.
Такие ограничения связаны с формой представления множественного типа данных в Паскале и могут быть сведены к тому, чтобы функция ord() для используемого базового типа лежала в пределах от 0 до 255.
После того, как базовый тип задан, совокупность значений соответствующего множественного типа данных определяется автоматически. В нее входят все возможные множества, являющиеся произвольными комбинациями значений базового типа. Все эти множества являются отдельными значениями определенного множественного типа данных.
Описание множественного типа данных Паскаля
Type = set of
Пример множественного типа данных Паскаля
Type symbol= set of char;
Var letter, digits, sign: symbol;
Для того чтобы придать переменной множественного типа значение, используют конструктор множества – перечисление элементов множества через запятую в квадратных скобках. Например,
Конструктор множества может содержать диапазон значений базового типа. Тогда во множества включаются все элементы диапазона. Например,
digits:= [‘0’ .. ‘9’];
letter:= [‘a’ .. ‘z’];
Обе формы конструирования множеств могут сочетаться. Например,
letter:= [‘a’ .. ‘z’, ‘A’ .. ‘Z’];
Конструктор вида [] обозначает пустые множества.
В программе можно использовать множественны тип как константы, в этом случае их определяют следующим способом:
Const YesOrNo= [‘Y’, ‘y’, ‘N’, ‘n’];
Можно множественный тип определить как типизированную константу:
Const digits: set of char= [‘0’ .. ‘9’];
При описании множественного тип как констант допускается использование знака “+” (слияние множеств). Например,
Const Yes= [‘Y’, ‘y’]; No= [‘N’, ‘n’];
YesOrNo= Yes+ No;
Операции над множественными типами Паскаля
С множественными типами Паскаля можно выполнять действия объединения, исключения и пересечения.
Объединение множественных типов содержит элементы, которые принадлежат хотя бы одному множеству, при этом каждый элемент входит в объединение только один раз. Операция объединения множеств обозначается знаком ‘+’.
Пример множественных типов Паскаля
Возможно объединять множественные типы и отдельные элементы. Например,
small:= [‘c’ .. ‘z’];
small:= small + [‘a’] +[‘b’];
Исключение определяется как разность множественных типов, в котором из уменьшаемого исключаются элементы, входящие в вычитаемое. Если в вычитаемом есть элементы, отсутствующие в уменьшаемом, то они никак не влияют на результат. Операция исключения обозначается знаком ‘-‘.
Пример исключения множественных типов Паскаля
letter:= [‘a’ .. ‘z’];
glasn:= [‘a’, ‘e’, ‘o’, ‘u’, ‘i’, ‘y’];
soglasn:= letter-glasn;
Пресечение множественных типов– множества, содержащие элементы, одновременно входящие в оба множества. Операция пересечения множеств обозначается знаком ‘*’.
Пример пересечения множественных типов
Type chisla= set of byte;
Var z,x,y: chisla;
………..
x:= [0..150];
y:= [100..255];
z:= x*y
Операции отношения множественных типов Паскаля
Наряду с рассмотренными выше операциями, над значениями множественного типа определены и некоторые операции отношения. Операндами операций над множественными значениями в общем случае являются множественные выражения. Среди операций отношения над значениями множественного типа особое место занимает специальная операция проверки вхождения элемента во множества, обозначаемая служебным словом in. В отличие от остальных операций отношения, в которых значения обоих операндов относятся к одному и тому же множественному типу значений, в операции in первый операнд должен принадлежать базовому типу, а второй – множественному типу значений, построенному на основе этого базового типа. Результатом операции отношения, как обычно, является логическое значение (true или false).
‘a’ in glasn значение операции true;
‘o’ in soglasn значение операции false;
Операция сравнения на равенство множественных типов Паскаля. Множества считаются равными (эквивалентными), если все элементы одного множества присутствуют в другом и наоборот. Для операции сравнения на равенство или неравенство используются символы ‘=’ и ‘<>‘.
A:= [2,1,3];
D:= [1,3,2];
Тогда операция A=D имеет значение true, а операция A<>D имеет значение false.
Проверка включения. Одно множество считается включенным в другое (одно множество является подмножеством другого), если все его элементы содержатся во втором множестве. Обратное утверждение может быть и несправедливым. Операции проверки включения обозначаются ‘=’.
letter >= glasn;
soglan
Программирование
Исходники Pascal (127)
Справочник
Справочник по паскалю: директивы, функции, процедуры, операторы и модули по алфавиту
