Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
kitkat_otvety.doc
Скачиваний:
5
Добавлен:
01.08.2019
Размер:
3 Мб
Скачать
☆

Билет 6

  1. Данные перечислимого и интервального типов. Операции над объектами этих типов.

  2. Основные приемы редактирования программы в интегрированной среде.

1) Перечислимый тип задает упорядоченное множество значений путем перечисления имен, обозначающих эти значения. Например:

type

color = (black,green,yellow,blue,red,white);

f am = (lvanov,Petrov,Sidorov,Fedorov,Gavrilov);

При этом каждое значение перечислимого типа есть имя. Числа, логические и сим­вольные константы не могут являться значениями перечислимых типов.

Соответствие между значениями перечисляемого типа и поряд­ковыми номерами этих значений устанавливается порядком пере­числения: первое значение в списке получает порядковый номер 0, второе - 1 и т. д. Максимальная мощность перечисляемого типа составляет 65536 значений, поэтому фактически перечисляемый тип задает некоторое подмножество целого типа word и может рас­сматриваться как компактное объявление сразу группы целочис­ленных констант со значениями 0, 1 и т. д.

Применение перечислимого типа повышает наглядность программы и позволяет ав­томатически контролировать значения переменных. Так, например, если в программе имеется описание var x:fam; то это означает, что переменная х типа fam может принимать только одно из пяти задан­ных значений. Значения, указанные в описании перечислимого типа, являются константами этого типа. Это означает, что, имея, например, в программе описание var a,b:color; e,d:fam;

можно использовать операторы присваивания: а := black; b := green;с := Ivanov;

d := Petrov; При этом следует помнить, что нельзя присваивать переменной значение константы из описания константы из другого типа. Ошибочными будут следующие операторы: а := Ivanov; с := green Эквивалентны записи col := black; col := color(0); Переменные любого перечисляемого типа можно объявлять без предварительного описания этого типа, например:

var

col: (black, white, green);

Нельзя также использовать одну и ту же константу при описании двух разных перечислимых типов, например:

type

day = (mon, tues,wed, thur, fri, sat, sun);

free = (sat,sun};

Константы sat и sun используются при описании двух различных типов. Оказывается, что тип Boolean также может быть определен как перечислимый тип:

type

Boolean = {false,true);

Отсюда, в частности, следует, что между константами false и true выполняется со­отношение

false < true

Операции отношения применимы для перечислимого типа. Поэтому истинными будут следу­ющие отношения для констант типов color и fam: black < green, green < yellow, Ivanov < Petrov, Petrov < Sidorov . Для аргументов перечислимого типа определены стандартные функции succ, pred и ord. При использовании функции ord следует учитывать, что порядковый номер первой из перечисленных в списке констант - нуль. В языке Object Pascal нельзя непосредственно вводить и выводить на внешние уст­ройства значения перечислимых типов. Это обусловлено тем, что используются перечислимые типы прежде всего для того, чтобы сделать более понятным программный код. В частности, многие типы в Delphi являются перечислимыми, что упрощает рабо­ту с ними, поскольку дает возможность работать не с абстрактными числами, а с осмыс­ленными значениями.

Тип-диапазон можно определить, накладывая ограничения на уже определенный не­который порядковый тип - его называют базовым типом. Ограничение определяется за­данием диапазона, т.е. минимальной и максимальной константы в этом диапазоне:

type < имя типа > = < минимальная константа > .. < максимальная константа >;

Накладывать ограничения на вещественный тип не допускается. Например:

type

color = (white,red,blue,yellow,green,black); // перечислимый тип

colorl = red..green; // ограничение на color

digit = 0..9; // ограничение на integer

symb = 'A'..'Z'; // ограничение на char

Тип-диапазон не обязательно описывать в разделе type, а можно указывать непосредственно при объявлении переменной, например:

var

date : 1..31; month: 1. .12;

При определении интервального типа нужно руководствоваться следующими правилами:

1)два символа «..» рассматриваются как один символ, поэтому ме­жду ними недопустимы пробелы;2)левая граница диапазона не должна превышать его правую границу.

К переменным типа-диапазона применимы все операции и стандартные функции, ко­торые допустимы при работе с переменными соответствующего базового порядкового типа.

В стандартную библиотеку Object Pascal включены две функции, поддерживающие работу с типами-диапазонами:

High(х) - возвращает максимальное значение типа-диапазона, к которому принадлежит переменная х; Low (х) - возвращает минимальное значение типа-диапазона.

Попытка присвоить переменной типа-диапазона значение, не входящее в заданный диапазон, приведет к возникновению ошибки на этапе выполнения программы. Таким образом, у программиста появляется дополнительная возможность контролировать зна­чения, присваиваемые переменным. Для компилятора Object Pascal имеется директива ($R+}, позволяющая включать проверку диапазона при присваивании значения перемен­ной типа-диапазона. Выключить проверку диапазона можно при помощи директивы

{$R-}.

2) После запуска среды Delphi в главном меню выберите пункт File, а затем в раскрыв­шемся меню выберите пункт New. Далее щелчком мыши следует выбрать пиктограмму с подписью «Console Application» и нажать кнопку ОК. После этого раскроется окно файла проекта (он име­ет расширение .dpr) или главного модуля проекта. Вместо комментария {TODO -oUser -cConsole Main : Insert code here } необходимо набрать в окне файла проекта текст программы. Перед тем как запустить программу на выполнение, необходимо сохранить ее. Сделать это можно при помощи команды File | Save All . Каждый проект рекомендует­ся хранить в отдельной папке. Заметим, что по умолчанию файл проекта имеет имя ProjectN.dpr, а программа - ProjectN, где N - некоторое число. Мы можем сохранить файл проекта под любым именем, например MyProgram.dpr . Автоматически Delphi из­менит имя программы на MyProgram. Учитывая это, можно сформулировать следующее правило: те строки программного кода, которые формируются средой Delphi, редакти­ровать нельзя. В противном случае ваша работа будет осложнена различными неприят­ностями, например, сообщениями об ошибках. После того как вы сохранили проект, запустим его на выполнение. Это можно сде­лать, выполнив команду Run | Run, либо нажать функциональную клавишу F9, либо вы­брать кнопку Run на инструментальной панели быстрых кнопок. После успешной компиляции и запуска программы на выполнение на экране появится стандартное окно программы DOS. После завершения работы созданной программы мы вновь возвращаемся в среду Delphi.

При запуске программ вы рано или поздно столкнетесь с так называемыми ошибка­ми компиляции. Строка, в которой допущена ошибка, будет подсвечена коричневым цве­том, а в нижней части окна файла проекта появится сообщение об ошибке. Компилятор языка Object Pascal позволяет достаточно легко определять место и характер допущенной ошибки. Чаще всего допускаются та­кие ошибки, как неправильно записанные ключевые слова или операторы, неописанные переменные, отсутствие апострофа в конце символьной строки и т.д. Для борьбы с этим злом имеется только один способ больше времени уделять программированию в Delphi, приобретая тем самым необходимый опыт.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]