- •Тюкачев н.А., Рыбак к.С., Михайлова е.Е. Основы программирования в Delphi Часть I: учебное пособие Воронеж: Издательско-полиграфический центр вгу, 2007. -286 с.
- •1. Элементы языка Паскаль
- •1.1. Имена (идентификаторы)
- •1.2. Зарезервированные слова
- •1.3. Правила оформления программ
- •1.4. Специальные символы
- •1.5. Программа в Delphi
- •1.6. Структура программы
- •1.7. Разделы описания
- •1.7.1. Описание переменных
- •I,k : integer; // I - счетчик
- •1.7.2. Описание типов
- •1.7.3. Описание констант
- •1.8. Исполняемые операторы
- •1.9. Выражение. Оператор присваивания
- •X { переменная }
- •15 { Целая константа }
- •X * y { произведение X и y }
- •1.9.1. Арифметические функции
- •1.10.2. Логические операции
- •1.10.3. Операторы отношения
- •1.10.4. Операторы для строк (String)
1.9. Выражение. Оператор присваивания
Для начала нам потребуется оператор присваивания:
W := A;
где W – переменная, A – выражение.
Для создания выражений можно использовать константы, переменные, функции, операции и скобки ( и ). Выражение - конструкция, которая возвращает величину. Например,
X { переменная }
@X { адрес переменной }
15 { Целая константа }
Calc(X,Y) { вызов функции }
X * y { произведение X и y }
Z / (1 - Z) { частное Z и (1 - Z) }
X = 1.5 { логическая }
not Done { отрицание логической }
['a','b','c'] { множество }
Char(48) { символ с кодом 48 }
1.9.1. Арифметические функции
function Abs(X: Extended): Extended; // модуль
function ArcTan(X: Extended): Extended;
function Cos(X: Extended): Extended;
procedure Dec(var X[ ; N: Longint]) ; // Dec(x,N) eqv x:=x-N;
function Exp(X: Extended): Extended;
function FloatToStr(Value: Extended): string;
function FloatToStrF(Value: Extended; Format: TFloatFormat; Precision, Digits: Integer): string;
procedure Inc(var X[ ; N: Longint]) ; // Inc(x,N) eqv x:=x+N;
function IntToStr(Value: Integer): string;
function Ln(X: Real): Real;
function Pi: Extended; // возвращает 3.1415926535897932385.
function Random [ ( Range: Integer) ] ; // случайное число
function Round(X: Extended): Int64; // целая часть
function Sin(X: Extended): Extended;
function Sqr(X: Extended): Extended; // квадрат
function Sqrt(X: Extended): Extended; // корень
procedure Str(X [: Width [: Decimals ]]; var S);
function StrToFloat(const S: string): Extended;
function StrToInt(const S: string): Integer;
function Trunc(X: Extended): Int64; // целая часть
Другие математические функции собраны в стандартном модуле Math.
1.9.2. Примечания
Tan(x) = Sin(x) / Cos(x)
ArcSin(x) = ArcTan (x/sqrt (1-sqr (x)))
ArcCos(x) = ArcTan (sqrt (1-sqr (x)) /x)
Loga(x) = Exp(x*Ln(a))
1.9.3. Примеры
var x : real;
S : string;
begin
x := Exp(1.0);
Writeln(x:3:2);
Str(ln(x):3:2, S);
Writeln('x = ' + FloatToStr(x) + '; ln(x) = ' + S);
Readln;
End.
1.10. Операции
@, not, ^, *, /, div, mod, and, shl, shr, as, +, –, or, xor, =, >, <, <>, <=, >=, in, is
Операторы @, not и ^ - унарные.
1.10.1. Арифметические операции
Оператор |
Операция |
Тип операндов |
Тип результата |
Пример |
+ |
Сложение |
integer, real |
integer, real |
X + Y |
– |
Вычитание |
integer, real |
integer, real |
Result-1 |
* |
Умножение |
integer, real |
integer, real |
P* InterestRate |
/ |
Деление |
integer, real |
real |
X / 2 |
div |
Целочисленное деление |
integer |
integer |
13 div 4 = 3 |
mod |
Остаток от делениия |
integer |
integer |
13 mod 4 = 1 |
+ унарн |
Знак |
Integer, real |
integer, real |
+7 |
– унарн |
Знак |
Integer, real |
integer, real |
-X |
shl |
сдвиг налево |
integer |
integer |
7 shl 2 = 00000111 shl 2 = 00011100 = 28 |
shr |
сдвиг направо |
integer |
integer |
12 shr 1 = 00001100 shr 1 = 00000110 = 6 |
not |
Инверсия битов |
Integer |
integer |
not 128 = not 10000000 = 01111111 = 127 |
Таблица для бинарных операций
A |
0101 |
B |
0011 |
A and B |
0001 |
A or B |
0111 |
A xor B |
0110 |
Примеры:
00000111 and 00000011 3=00000011 |
00000111 or 00000011 7=00000111 |
00000111 xor 00000011 4=00000100 |
