Лабораторный практикум по информатике для студентов инженерных специальностей приборостроительного факультета
.pdf<содержит общедоступные описания членов класса, которые доступны в любом месте программы, где доступен сам класс > published
<содержит опубликованные описания членов класса, которые доступны для редактирования и изменения значений во время проектирования приложения>
end;
Метод, объявленный в классе, может вызываться различными способами. Вид метода определяется модификатором, который указывается в описании класса после заголовка метода и отделяется от заголовка точкой с запятой. По умолчанию все считаются статическими и вызываются как обычные подпрограммы. Примеры некоторых модификаторов:
virtual – виртуальный метод; dynamic – динамический метод; override – перекрывающий метод; message – метод обработки сообщения; abstract – абстрактный метод.
Объекты содержат информацию о собственном типе и наследовании, которая доступна во время выполнения. Ее важность заключается в том, что для каждого объекта можно выполнить только определенный набор операций, зависящий от типа этого объекта.
Большинству методов при вызове передается параметр Sender, имеющий тип TObject. Для выполнения с этим параметром операций его тип необходимо преобразовать к типу того объекта, для которого выполняются эти операции. Для работы с типами в Object Pascal служат следующие операторы:
<объект> is <класс > – проверяет, принадлежит ли указанный объект указанному классу или одному из его потомков;
<объект> as <класс > – предназначен для приведения одного типа к другому. Тип объекта приводится к типу класса.
170
ПРИЛОЖЕНИЕ Б
Перечень основных встроенных процедур и функций
Арифметические процедуры и функции
Abs(x) |
вычисление абсолютной величины (модуля) |
|
чисда x |
||
|
||
arctan(x) |
вычисление угла, тангенс которого равен x |
|
cos(x), sin(x) |
вычисление косинуса и синуса x |
|
Exp(x) |
вычисление экспоненциальной функции ex |
|
frac(x) |
вычисление дробной части числа x |
|
int(x) |
вычисление целой части числа x |
|
ln(x) |
вычисление натурального логарифма x |
|
odd(I) |
возвращает true, если аргумент – нечетное |
|
число |
||
|
||
pi |
возвращает значение числа |
|
random |
генерирует случайное число из диапазона |
|
0–0.99. Тип результата вещественный |
||
|
||
Random(I) |
генерирует значение случайного числа из |
|
диапазона 0–I |
||
|
||
randomize |
процедура для загрузки новой базы в генера- |
|
тор случайных чисел |
||
|
||
Sqr(x) |
возведение в квадрат значения x |
|
sqrt(x) |
вычисление квадратного корня из x |
x – целочисленные и вещественные типы I – целочисленные типы
Функции преобразования типов
function round |
возвращает значение x, определен- |
|
(x:extended):integer |
ное до ближайшего целого числа |
|
function trunc |
возвращает ближайшее целое число, |
|
меньшее или равное x, если x>=0, и |
||
(x:extended):integer |
||
большее или равное x , если x <0 |
171
Процедуры и функции для работы со строковыми переменными
function Copy(s:string; index, |
выделяет из строки s подстроку |
|
длиной count, начиная с сим- |
||
count: integer):string |
вола в позиции index |
|
|
||
function |
возвращает текущую длину |
|
Length(s:string):integer |
строки s |
|
function |
возвращает строку, представ- |
|
ляющую собой сцепление строк |
||
Concat(s1,s2,..,sn:string):string |
||
s1, s2,.., sn |
||
function |
определяет первое появление в |
|
строке s2 подстроки s1. Ре- |
||
Pos(s1,s2:string):integer |
||
зультат равен номеру позиции |
||
|
||
procedure |
удаляет n символов строки s, |
|
Delete(s:string; poz, n:integer) |
начиная с позиции poz |
|
procedure |
вставляет строку s1 в строку |
|
Insert(s1,s2:string; poz:integer) |
s2, начиная с позиции poz |
Функции преобразования типов
function |
преобразует строку s в целое |
|
StrToInt(s:string):integer |
число |
|
function |
преобразует значение целочис- |
|
IntToStr(I:integer):string |
ленного выражения I в строку |
|
function |
преобразует строку s в веще- |
|
StrToFloat(s:string):extended |
ственное число |
|
function |
преобразует значение веще- |
|
FloatToStr(x:extended):string |
ственного выражения x в строку |
|
function |
преобразует значение веще- |
|
FloatToStrF(Value:Extended; |
||
ственного выражения x в строку |
||
Format: TFloatFormat; |
||
с учетом параметров |
||
Precision, |
||
Precision и Digits |
||
Digits:Integer):string |
||
|
||
|
|
|
Format |
форматы изображения числа |
|
ffExponent |
научный формат |
|
ffFixed |
формат с десятичной точкой |
|
ffGeneral |
общий цифровой формат |
|
ffNumber |
числовой формат |
|
ffCurrecy |
денежный формат |
172
ПРИЛОЖЕНИЕ В
Общие свойства компонентов
Многие стандартные визуальные компоненты имеют одинаковые свойства, основные из которых описаны ниже.
Свойство Align задает способ выравнивания компонента внутри формы или другого компонента. Может принимать одно из следующих значений.
Значение |
Описание |
|
|
Выравнивание не используется. Компо- |
|
alNone |
нент располагается на том месте, куда |
|
был помещен во время создания про- |
||
|
||
|
граммы. Принимается по умолчанию |
|
|
Компонент перемещается в верхнюю |
|
alTop |
часть формы, и его ширина становится |
|
равной ширине формы. Высота компо- |
||
|
||
|
нента не изменяется |
|
|
|
|
|
Компонент перемещается в нижнюю |
|
alBottom |
часть формы, и его ширина становится |
|
равной ширине формы. Высота компо- |
||
|
||
|
нента не изменяется |
|
|
Компонент перемещается в левую часть |
|
alLeft |
формы, и его высота становится равной |
|
высоте формы. Ширина компонента не |
||
|
||
|
изменяется |
|
|
|
|
|
Компонент перемещается в правую часть |
|
alRight |
формы, и его высота становится равной |
|
высоте формы. Ширина компонента не |
||
|
||
|
изменяется |
|
|
|
|
alClient |
Компонент занимает всю рабочую об- |
|
ласть формы |
||
|
Свойство Color задает цвет фона формы или цвет компонента или графического объекта. Может принимать одно из следующих значений.
173
Значение |
Цвет |
Значение |
Цвет |
clBlack |
черный |
clSilver |
серебряный |
|
|
|
|
clMaroon |
темно красный |
clRed |
красный |
|
|
|
|
clGreen |
зеленый |
clLime |
ярко зеленый |
clOlive |
оливковый |
clYellow |
желтый |
clNavy |
темно синий |
clBlue |
голубой |
|
|
|
|
clPurple |
фиолетовый |
clFuchsia |
сиреневый |
|
|
|
|
clTeal |
сине-зеленый |
clAqua |
ярко голубой |
|
|
|
|
clGray |
серый |
clWhite |
белый |
|
|
|
|
Помимо перечисленных в таблице цветов существует набор цветов, определяемых цветовой схемой Windows. Свойство Color может также задаваться шестнадцатеричными значениями.
Свойство Ctl3D задает вид компонента. Если значение этого свойства равно False , компонент имеет двумерный вид, если True – трехмерный.
Свойство Cursor определяет вид курсора, который он будет иметь, находясь в активной области компонента.
Свойство DragMode определяет режим поддержки протокола drag-and-drop.
Свойство Enabled определяет активность компонента. Если это свойство имеет значение True, компонент реагирует на сообщения от мыши, клавиатуры и таймера. В противном случае (значение False) эти сообщения игнорируются.
Свойство Font определяет шрифт текста, отображающегося на компоненте.
Свойство Height задает вертикальный размер компонента или формы.
Свойство Hint задает текст, который будет отображаться, если курсор находится в области компонента. Свойство ShowHint должно иметь значение true.
Свойство Left задает горизонтальную координату левого угла компонента относительно формы в пикселях. Для форм это значение указывается относительно экрана.
Свойство Name задает имя компонента, используемое в программе.
174
Свойство РорuрМеnu задает название локального меню, которое будет отображаться при нажатии правой кнопки мыши. Локальное меню отображается только в случае, когда свойство AutoPopup имеет значение True или когда вызывается метод Popup.
Свойство ReadOnly определяет, разрешено ли управляющему элементу, связанному с вводом и редактированием информации, изменять находящийся в нем текст.
Свойство TabOrder задает порядок получения компонентами фокуса при нажатии клавиши Tab во время выполнения приложения.
Свойство Тор задает вертикальную координату левого верхнего угла интерфейсного элемента относительно формы в пикселях. Для формы это значение указывается относительно экрана.
Свойство Visible определяет, видим ли компонент на экране. Свойство Width задает горизонтальный размер интерфейсного
элемента или формы в пикселях.
175
ПРИЛОЖЕНИЕ Г
Запуск Delphi в режиме консольного приложения
Консольным называется приложение, имитирующее работу в текстовом режиме. При запуске консольного приложения Windows выделяет окно как для DOS-программы. Вывод/ввод данных осуществляется с помощью процедур read, readln, write, writeln.
Для создания нового консольного приложения необходимо сделать следующее.
1. Запустить Delphi в среде Windows:
Пуск–Программы–Borland Delphi–Delphi.
2. В меню Delphi выполнить следующие действия:
File–New.
3. В открывшемся окне выбрать Console Application. В результате создается новый проект, состоящий из одного файла с расширением pr . Этот файл и является консольной программой. Первоначально он содержит следующий код:
program Project2; {$APPTYPE CONSOLE} uses SysUtils;
begin
// Insert user code here end.
Директива {$APPTYPE CONSOLE} сообщает компилятору, что Delphi работает в консольном режиме.
Необходимый код программы, за исключением раздела описания, записывается в разделе begin ... end .
176
Содержание
Введение. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Лабораторная работа № 1 Интегрированная среда объектно-ориентированного
программирования Borland Delphi. Разработка приложений. . . . 4 Лабораторная работа № 2 Программирование линейных и разветвляющихся
алгоритмов. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
Лабораторная работа № 3 Программирование циклических алгоритмов. . . . . . . . . . . . . . . . 34 Лабораторная работа № 4
Программирование с использованием подпрограмм. . . . . . . . . . 47 Лабораторная работа № 5 Использование визуальных компонентов
для программирования массивов. . . . . . . . . . . . . . . . . . . . . . . . . . 66
Лабораторная работа № 6 Построение диаграмм и графиков функций. . . . . . . . . . . . . . . . . 84 Лабораторная работа № 7
Программирование с использованием записей и файлов. Использование развитых элементов интерфейса при разработке приложений. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
Лабораторная работа № 8
Использование средств Delphi для работы с локальными
базами данных. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
Лабораторная работа № 9 Алгоритмы сортировок массивов данных. . . . . . . . . . . . . . . . . . . 128
Приложения. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
177
Учебное издание
ЛАБОРАТОРНЫЙ ПРАКТИКУМ
по информатике для студентов инженерных специальностей приборостроительного факультета
С о с т а в и т е л и : ДУБРОВИНА Ольга Викторовна ПРИХАЧ Наталия Константиновна ГУСЕЙНОВА Анастасия Сергеевна и др.
Редактор И.Ю. Никитенко Компьютерная верстка Д.К. Измайлович
Подписано в печать 11.06.2010. Формат 60 841/16. Бумага офсетная. Отпечатано на ризографе. Гарнитура Таймс.
Усл. печ. л. 10,29. Уч.-изд. л. 8,05. Тираж 100. Заказ 1197.
Издатель и полиграфическое исполнение: Белорусский национальный технический университет. ЛИ № 02330/0494349 от 16.03.2009.
Проспект Независимости, 65. 220013, Минск.
