Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Билет 10
Если массив представляет собой упорядоченный набор однотипных данных, то множество это не упорядоченный набор не повторяющихся объектов любой природы. Максимальное количество объектов, из которых может состоять множество, не должно превышать 255. Специфика любого множества заключается в том, что при его описании должен быть перечислен весь список значений, который может входить в состав множества. Способ такого перечисления может быть разным:
type
s16 = set of (0..9,'a'..'f');
var
a1:s16;
bukwa : set of ('a', 'c', 'f', 'd', 'b', 'e');
cifra : set of 0..9;
В этом примере объявлен тип с именем s16, описывающий множество, в которое могут входить числа (цифры от 0 до 9) и символы (малые буквы латинского алфавита от 'a' до 'f'). В разделе переменных объявлена переменная с именем a1 типа s16. Пока что она представляет пустое множество, не содержащее ни одного элемента. Но в процессе работы программы в состав a1 может быть включена любая комбинация из неповторяющихся данных, допустимых типом s16:
a1:= [5,1,'b'];
Комбинацию значений элементов множества, заключенную в квадратные скобки, принято называть конструктором множества. Конструктор множества может быть и пустым, например, [].
Переменные bukwa и cifra, допустимые значения которых заданы явно, после объявления тоже пока пусты.
Над элементами конкретного множества определены операции сложения (добавления одного или нескольких элементов из допустимого набора), вычитания (удаления из текущего значения множества одного или нескольких элементов) и проверки присутствия в составе множества указанного значения (операция in, выдающая результат типа boolean):
a1 := a1 - [5,'b']; {теперь a1=[1]}
a1 := a1 + [3]; {теперь a1=[1,3]}
if 5 in a1 then ... {это условие не выполнено}
Над двумя множествами A и B определены операции, принятые в математике, объединение (сумма множеств A+B), пересечение (общая часть множеств A*B) и вычитание (разность A-B, т. е. элементы A, не принадлежащие B). Содержимое двух множеств можно сравнивать, однако из шести возможных операций отношения допустимы лишь четыре проверка на равенство (if A = B then...), на неравенство (if A <> B then...), на больше или равно (if A >= B then...), на меньше или равно (if A <= B then...).
Наиболее интересным для математиков примером использования множеств является программа построения таблицы простых чисел методом Эратосфена.
program sieve_1;
const
maxN = 255;
var
primes:set of 2..maxN;
i,j:integer;
begin
primes:=[2..maxN];
for i:=2 to maxN do
if i in primes then
begin
write(i:4);
for j:=1 to (maxN div i) do
primes:=primes-[i*j];
end;
readln;
end.
Меню File (рис. 3.2) включает команды, с которых либо начинается, либо заканчивается сеанс работы с очередной программой. Большинство из этих команд знакомо пользователям по другим системам программирования.
Команда New (Новый) подготавливает редактор к набору новой программы чистит рабочее поле редактора, присваивает первой новой программе имя по умолчанию (noname01.pas) и переводит курсор в первую позицию первой строки. Координаты курсора отслеживаются редактором и отображаются в строке его состояния (левая нижняя часть поля редактора). Если во время сеанса пользователь несколько раз набирает новые программы, то им присваиваются последовательные имена noname01.pas, noname02.pas и т. д. Для каждой из них создается новое окно редактора.
Команда New from template (Новый по шаблону) предлагает использовать шаблон некоторую заготовку для нового файла. Имеется возможность заполнить или откорректировать поля шаблона, после чего работа продолжается на поле редактора.
Команда Open (Открыть) вызывает диалоговое окно для выбора и загрузки в поле редактора существующего файла.
Команда Reload (Перезагрузить) производит перезагрузку текущего файла (т. е. файла, загруженного последним).
Команда Print (Печать) выводит на принтер содержимое текущего окна редактора.
Команда Print setup (Установки принтера) вызывает диалоговое окно для установки параметров принтера, формата бумаги и полей документа.
Команда Save (Сохранить) сохраняет содержимое текущего окна редактора под текущим именем файла. Если файлу в поле редактора еще не присваивалось имя, отличное от системного, то при первом сохранении файлу необходимо присвоить уникальное имя.
Команда Save as (Сохранить как) открывает диалоговое окно, в котором необходимо ввести имя, под которым будет запоминаться содержимое текущего окна редактора. Новое имя не обязательно должно совпадать с именем, под которым файл был открыт. Такая возможность позволяет хранить на диске несколько версий одной программы.
Команда Save all (Сохранить все) сохраняет содержимое всех открытых окон редактора.
Команда Change dir (Изменить каталог) открывает диалоговое окно, в котором можно выделить каталог, заменяющий текущий каталог, с текстом исходной программы.
По команде Command shell (Командный процессор) происходит переход в режим командного процессора. После этого можно выполнить одну или несколько команд операционной системы. Выход из командного процессора по команде Exit возвращает управление FP IDE.
Команда Exit (Выход) обеспечивает выход из IDE. Если в окнах редактора находятся не сохраненные файлы, то перед выходом пользователю предлагают их запомнить.
Под командой Exit расположен список файлов, с которыми пользователь работал в последнее время. Выбор нужного файла из этого списка позволяет осуществить быструю загрузку.
Меню Edit (рис. 3.3) обеспечивает доступ к командам редактирования, большинство из которых знакомо всем пользователям. Однако реализации некоторых из них присущи особенности, редко встречающиеся в других программных продуктах.
Меню Search (Поиск) (рис. 3.4) обеспечивает доступ к диалоговым окнам поиска и замены, а также включает команды перехода к различным объектам программы и просмотра соответствующей информации.
В меню Run (Пуск) включены команды, необходимые для исполнения создаваемой программы.
Меню Compile (Компилировать) включает все команды, необходимые для компиляции программ и модулей.
Меню Debug (Отладка) (рис. 3.11) содержит команды, необходимые для отладки программы, такие как фиксация точек останова и задание контролируемых выражений.
Меню Tools (Инструменты) (рис. 3.12) включает команды управления некоторыми утилитами. Пользователь имеет возможность заменить любую из этих утилит или добавить новую.
Меню Options (Параметры) (рис. 3.15) предоставляет коллекцию диалоговых окон для настройки параметров всех компонентов системы Free Pascal и среды IDE. Параметров этих довольно много, и выбор тех или иных значений требует основательных знаний о влиянии каждой характеристики на изменение режима работы системы в целом.
Меню Window (Окно) (рис. 3.16) включает команды по управлению окнами интегрированной среды.