программирование, создание программ, учебник Delphi, учебник по программированию, бейсек, делфи, си, паскаль
 
 
 

 

Язык Delphi (краткий справочник)


Зарезервированные слова и директивы


Зарезервированные слова:

and

File

not

then

array

For

object

to

asm

function

of

type

begin

Goto

or

unit

case

If

packed

until

const

implementation

procedure

uses

constructor

In

program

var

destructor

inherited

record

while

div

inline

repeat

with

do

intenface

set

xor

downto

Label

shl

else

Mod

shr

end

Nil

string

Директивы:

absolute
assembler
external

Far
forward
interrupt

near
private
public

virtual

 

Структура модуля


Модуль состоит из последовательности разделов. Каждый раздел начинается ключевым словом и продолжается до начала следующего раздела.
unit ИмяМодуля;
interface // раздел интерфейса
{ Здесь находятся описания процедур и функций модуля, коч-орые могут использоваться другими модулями. )
const // раздел объявления констант
{ Здесь находятся объявления глобальных констант модуля, которые могут использоваться процедурами и функциями модуля.}
type // раздел объявления типов
{ Здесь находятся объявления глобальных типов модуля,
которые могут использоваться процедурами и функциями модуля }
var // раздел объявления переменных
{ Здесь находятся объявления глобальных переменных модуля, которые могут использоваться процедурами и функциями модуля }
implementation // раздел реализации
{ Здесь находятся описания (текст) процедур и функций модуля)
end.

Основные типы данных


К основным типам данных языка Delphi относятся: П целые числа (integer); П дробные числа (real); П символы (char);

  • строки (string);
  • логический тип (boolean).

Целые числа и числа с плавающей точкой могут быть представлены в различных форматах (табл. П1.1 и П2.2).
Таблица П1.1. Целые числа

Формат

Диапазон

Shortint

-128.. 127

Integer

-32 768.. 32 767

Longint

-2 147 483 648.. 2 147 483 647

Byte

0..255

Word

0..65535

 

Таблица П1.2. Числа с плавающей точкой

Формат

Диапазон

Кол-во значащих цифр

Real

2,9e-39.. 1,7e38

11-12

Single

1,5e-45.. 3,4e38

7-8

Double

5,0e-324.. 1,7e308

15-16

Extended

3,4e-4932.. 1,1e4932

19-20

 

Строки

  • Объявление переменной-строки длиной 255 символов:

Имя:string;

  • Объявление переменной-строки указанной длины:

Имя:string [ ДлинаСтроки ].
Массив

  • Объявление одномерного массива:

ИмяМассива: array [НижнийИндекс...ВерхнийИндекс] of ТипЭлементов;

  • Объявление двумерного массива:

ИмяМассива: array [НижнийИндекс1..ВерхнийИндекс1,
НижнийИндекс2..ВерхнийИкдекс2] of ТипЭлементов;
Запись
Вариант 1. Объявление записи в разделе переменных: Запись: record Поле1:Тип1; Поле2: Тип2;
ПолеJ: TиnJ; end;
Вариант 2. Сначала объявляется тип-запись, затем — переменная-запись:
type
ТипЗапись = record Поле1: Тип1; Поле 2:Тип2;
ПолеК: ТипК; end;
var
За пись: ТипЗапись;
Инструкции выбора
Инструкция if
Вариант 1: if-then-else. if Условие then
begin
{ Инструкции, которые выполняются, ) { если условие истинно. } end else
begin
{ Инструкции, которые выполняются, } { если условие ложно } end ;
Вариант 2. if-then.
if Условие then
begin
{ Инструкции, которые выполняются, } { если условие истинно. } end;
Примечание
Если между begin и end находится только одна инструкция, то слова begin и end можно не писать.

Инструкция case


Вариант 1:
case Выражение of
Список1_Констант: begin
. { инструкции } end; Список2_Констант: begin
{ инструкции } end;
СписокJ_Констант: begin
{ инструкции } end; end;
Вариант 2.
case Выражение of
Список1_Констант: begin
{ инструкции } end;
Список2_Констант: begin
{ инструкции } end; СписокJ_Констант: begin
{ инструкции J} end; else
begin
{ инструкции } end; end;
Инструкции между begin и end выполняются, если значение выражения, записанного после case, совпадает с константой из соответствующего списка. Если это не так, то выполняются инструкции, находящиеся после else, между begin И end.
Примечание
Если между begin и end находится только одна инструкция, то слова begin и end можно не писать.

Циклы


Инструкция for


Вариант 1 (с увеличением счетчика):
for Счетчик:=НачальноеЗначение to КонечноеЗначение do begin
{ здесь инструкции } end;
Инструкции между begin и end выполняется (КонечноеЗначение - НачальноеЗначение) + 1 раз.
ЕСЛИ НачальноеЗначение > КонечноеЗначение, ТО инструкции между begin И
end не выполняются.
Примечание
Если между begin и end находится только одна инструкция, то слова begin и end можно не писать.
Вариант 2 (с уменьшением счетчика)'.
for Счетчик:=НачальноеЗначение downto КонечноеЗначение do begin
{ здесь инструкции } end;
Инструкции между begin и end выполняется (НачальноеЗначение - КонечноеЗначение) + 1 раз.
Если НачальноеЗначение < КонечноеЗначение, то инструкции между begin и end не выполняются.
Примечание
Если между begin и end находится только одна инструкция, то слова begin и end можно не писать.
Инструкция repeat
repeat
{ инструкции } until Условие;
Сначала выполняются инструкции цикла, которые расположены между repeat и until. Затем вычисляется значение выражения Условие, и если оно равно False, то инструкции цикла выполняются еще раз. И так до тех пор, пока значение выражения Условие не станет равным True.

Инструкция while


while Условие do begin
{ инструкции ) end;
Сначала проверяется Условие, если оно истинно, то выполняются инструкции между begin и end. Затем снова проверяется Условие. Если оно выполняется, то инструкции цикла выполняются еще раз. И так до тех пор, пока Условие не станет ложным.
Примечание
Если между begin и end находится только одна инструкция, то слова begin и end можно не писать.
Безусловный переход
Инструкция GoTo
GoTo Метка;
Инструкция осуществляет переход к инструкции, перед которой стоит метка. Метка должна быть объявлена в разделе label.

Объявление функции


function ИмяФункции(var Параметр1: Тип 1; var Параметр2: Тип2;
var ПараметрJ: TиnJ ) : Тип; const
{ описание констант } var
/ описание переменных } begin
{ инструкции функции }
Result:=Значение; end;
Примечание
Слово var ставится перед именем параметра в том случае, если параметр используется для возврата значения из функции в вызвавшую ее программу.
Объявление процедуры
procedure ИмяПроцедуры(var Параметр1: Тип1;
var Параметр2: Тип2;
var ПараметрJ: TипJ } ; const
{ описание констант }
var
{ описание переменных } begin
{ инструкции процедуры } end;
Примечание
Слово var ставится перед именем параметра в том случае, если параметр используется для возврата значения из функции в вызвавшую ее программу.
Стандартные функции и процедуры
При описании функций и процедур приняты следующие обозначения:

  • имена функций и процедур выделены полужирным;
  • формальные параметры изображены курсивом. В качестве параметра могут использоваться константы, переменные или выражения соответствующего типа. Если параметром обязательно должна быть переменная, то перед ним поставлено слово var. После параметра через двоеточие указывается его тип;
  • после списка параметров функций через двоеточие указан тип результата, возвращаемого функцией.

В табл. П1.3 приведены описания математических функций языка Delphi.

Таблица П1.3. Математические функции

Функция

Описание

Abs (Выражение)

Абсолютное значение аргумента (целый или вещественный тип)

Sqr (Выражение)

Квадрат аргумента (целый или вещественный тип)

Sqrt( Выражение: real) :real

Квадратный корень аргумента

Sin (Выражение: real) : real

Синус

Cos (Выражение: real) : real

Косинус

Arctant Выражение: real) : real

Арктангенс

Exp( Выражение: real) :real

Экспонента

Ln ( Выражение : real ) : real

Натуральный логарифм

В табл. П1.4 приведены описания преобразований языка Delphi.
Таблица П1.4. Преобразования

Преобразование

Описание

Int( Выражение: real) :real

Целая часть

Trunc (Выражение: real) : longint

Целая часть

Round (Выражение: real) : longint

Округление к ближайшему целому

IntToStr (Выражение)

Преобразование числового выражения цело-
го типа в строку

FloatToStr (Выражение)

Преобразование вещественного числа в его изображение

FloatToStrF ( Выражение, Формат, Точность, КоличествоЦифр)

Преобразование вещественного числа в его изображение с возможностью выбора способа изображения

StxToInt ( Строка : string)

Преобразование строки, изображающей целое или вещественное число, в число

StrToFloat ( Строка : string)

Преобразование строки, изображающей вещественное число, в число

В табл. 1.5 приведены описания функций работы со строками и символами.
Таблица П1.7. Работа со строками и символами

Строковая функция

Описание

Concat( Строка1: string, ... , Строкам: string) : string
Copy ( Строка : string , НомерСимвола : integer, Длина: integer) : string
Delete (var Строка :srting, НомерСимвола : integer, Сколько : integer)
Length (Строка: string) : integer Pos (Строка: string, Подстрока: string) :byte Chr ( КодСимвола : byte )

Объединение нескольких строк в одну
Выделение подстроки

Удаление части строки
Длина строки Позиция подстроки в строке Символ с указанным кодом

Приложение 2. Кодировка символов в Windows
В Windows в основном используется кодировка, которая называется ANSI. Разновидность набора ANSI, содержащая символы русского алфавита, называется Windows-1251.
В табл. П2.1 приведены коды некоторых служебных символов.
В табл. П2.2 и П2.3 приведены коды с символами 32—127 и 192—255.
Таблица П2.1. Некоторые служебные символы

Код символа

Символ

9

Табуляция

11

Новая строка

13

Конец абзаца

32

Пробел

 

Таблица П2.2.. Символы с кодами 32—127

Символ

Код

Символ

Код

Символ

Код

Символ

Код

32

Пробел

42

*

52

4

62

33

!

43

+

53

5

63

7

34

к

44

,

54

6

64

@

35

#

45

-

55

7

65

А

36

$

46

,

56

8

66

В

37

%

47

/

57

9

67

С

38

&

48

0

58

:

68

D

39

'

49

1

59

;

69

Е

40

(

50

2

60

70

F

41

)

51

3

61

=

71

G

 

Символ

Код

Символ

Код

Символ

Код

Символ

Код

72

Н

87

W

101

е

114

r

73

I

88

X

102

f

115

S

74

J

89

Y

103

g

116

t

75

К

90

Z

104

h

117

u

76

L

91

[

105

i

118

V

77

М

92

\

105

i

119

W

78

N

93

]

106

j

120

X

79

О

94

^

107

k

121

У

80

Р

95

_

108

I

122

Z

81

Q

96

'

109

m

123

[

82

R

97

а

110

n

124

|

83

S

98

b

111

0

125

]

84

Т

99

с

112

P

126

~

85

U

100

d

113

q

127

86

V

Таблица П2.3. Символы с кодами 192—255

Символ

Код

Символ

Код

Символ

Код

Символ

Код

192

А

201

Й

210

Т

219

Ы

193

Б

202

К

211

У

220

Ь

194

В

203

Л

212

Ф

221

Э

195

Г

204

М

213

X

222

Ю

196

Д

205

Н

214

Ц

223

Я

197

Е

206

О

215

Ч

224

А

198

Ж

207

П

216

Ш

225

б

199

3

208

Р

217

Щ

226

в

200

И

209

С

218

Ъ

227

г

 

 

 

Символ

Код

Символ

Код

Символ

Код

Символ

Код

 

228

д

235

л

242

т

249

щ

 

229

е

236

м

243

у

250

ъ

 

230

ж

237

н

244

ф

251

ы

 

231

3

238

о

245

х

252

ь

 

232

и

239

п

246

ц

253

э

 

233

й

240

р

247

ч

254

ю

 

234

к

241

с

248

ш

255

я

 

 

 

 

Представление информации в компьютере


Десятичные и двоичные числа


В обыденной жизни человек имеет дело с десятичными числами. В десятичной системе счисления для представления чисел используются цифры от О до 9. Значение числа определяется как сумма произведений цифр числа на весовой коэффициент, определяемый местом цифры в числе. Весовой коэффициент самой правой цифры равен единице, цифры перед ней — десяти, затем ста и т. д. Например, число 2703 равно 2x1000+7x100+0x10+3x1.
Если места цифр пронумеровать справа налево и самой правой позиции присвоить номер "ноль", то можно заметить, что вес i-го разряда равен i-й степени десяти (П3.1.
Для внутреннего представления чисел компьютер использует двоичную систему счисления. Двоичные числа записываются при помощи двух цифр -нуля и единицы. Как и десятичная, двоичная система — позиционная. Весовой коэффициент i-го разряда равен двум в i-й степени (П3.2.

Память компьютера


Память компьютера состоит из ячеек (битов). Каждый бит может хранить одну двоичную цифру. Следовательно, значением бита может быть ноль или единица. Восемь битов объединены в байт. Максимальное число, которое можно записать при помощи восьми двоичных цифр — это 11111111, что соответствует десятичному числу 255, минимальное — ноль. Поэтому значением байта может быть число от нуля до 255.
Память используется для хранения переменных. Так как переменные различных типов могут принимать различные значения, то для их хранения нужно разное количество памяти. Память под переменные выделяется целым числом байтов. Например, значением переменной типа char может быть любой из 256 символов. Поэтому для хранения переменной этого типа достаточно одного байта. Значением переменной типа integer может быть число от -32 768 до 32 767 (65 535 значений), для хранения переменной этого типа требуется два байта. Очевидно, что чем больше диапазон значений типа, тем больше байтов нужно для хранения переменной этого типа (табл. П3.1).
Таблица П3.1. Диапазоны значений и занимаемая память для разных типов переменных

Тип переменной

Занимаемая память (количество байтов)

Диапазон значений

Char

1

Любой символ

String

256

Строка до 256 символов

String [n]

1хn

Строка до n символов

 

Тип переменной

Занимаемая память (количество байтов)

Диапазон значений

Byte

1

0-255

Word

2

0-65 535

Integer

2

-32 768-32 767

Longint

4

-2 147 483 648-2 147 483 647

Real

6

2,9е-39-1 ,7е38

Single

4

1,5е-45-3,4е38

Double

8

5,0е-324-1 ,7е308

Extended

8

3,4е-4932-1,1е4932

В программе для хранения одного и того же значения можно использовать переменные разных типов (при этом будет применяться разное количество памяти). Например, если в программе используется переменная Day, содержащая число месяца, то для нее можно задать тип byte, integer или longint. В первом случае будет занят один байт памяти, во втором — два, в третьем — четыре. Но реально будет использоваться только один байт, а остальные будут только заняты. Поэтому, выбирая тип для переменной, следует подбирать наиболее подходящий тип для каждой конкретной ситуации. Особо необходимо обращать внимание на описание строковых переменных и массивов.
Выделяя память для строковых переменных, следует помнить, что если не указана предельная длина строки, то переменной выделяется 256 байтов. Объявляя переменную, предназначенную, например, для хранения имени человека, нужно писать name: string [30], а не name: string.
Каждому массиву программы выделяется память, объем которой определяется как типом элементов массива, так и их количеством. Для хранения двумерного массива, например, 20x20 вещественных чисел нужно более 3 Кбайт памяти (20x20x8 = 3200).
Память компьютера кажется неограниченной, но если ее использовать нерационально, то в некоторый момент может возникнуть ситуация, связанная с нехваткой памяти.

 

 
На главную | Содержание | < Назад....Вперёд >
С вопросами и предложениями можно обращаться по nicivas@bk.ru. 2013 г. Яндекс.Метрика