- •Билет 1
- •Билет 2
- •Билет 3
- •Билет 4
- •2) В отличие от оператора if, оператор case позволяет выбрать и выполнить один оператор не из двух, а из нескольких операторов. В общем случае оператор case может быть записан следующим образом:
- •Билет 5
- •Билет 6
- •Билет 7
- •Билет 8
- •Билет 9
- •Билет 10
- •Билет 11
- •Билет 12
- •Билет 13
- •Билет 14
- •Билет 15
- •Билет 16
- •Билет 17
- •Билет 18
- •Билет 19
- •2) Выражения различают по типу их результата: целые, вещественные, символьные, логические, строковые и т.Д. Выражения, имеющие результат целого и вещественного типа, называются арифметическими.
- •Билет 20
- •Билет 21
- •Билет 22
- •2)Оператор repeat имеет следующий формат:
- •Билет 23
- •2) В Pascal имеются две основных процедуры ввода read и readln, которые используются для чтения данных, вводимых с клавиатуры. Формат этих процедур таков:
- •Билет 24
- •Билет 25
- •Билет 26
Билет 6
Данные перечислимого и интервального типов. Операции над объектами этих типов.
Основные приемы редактирования программы в интегрированной среде.
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, приобретая тем самым необходимый опыт.
