Pascal - первое знакомство
Итак, достаточно кратко мы познакомились со способами создания интерфейсов программ. Теперь пришло время начать изучать сам язык программирования - Pascal. В Delphi используется его более усовершенствованная и нацеленная на объектно-ориентированное программирование версия - Object Pascal.
Язык программирования — формальная знаковая система, предназначенная для описания алгоритмов в форме, которая удобна для исполнителя (например, компьютера).
Язык программирования определяет набор лексических, синтаксических и семантических правил, используемых при составлении компьютерной программы. Он позволяет программисту точно определить то, на какие события будет реагировать компьютер, как будут храниться и передаваться данные, а также какие именно действия следует выполнять над этими данными при различных обстоятельствах.
Ближе к делу...
В Pascal любая программа пишется по определённой заготовке. Вот она:
program название_программы; {раздел описаний}
begin {раздел реализации}
end. |
Идентификаторы.
Идентификатор (identifier) - одно из самых важных понятий языка программирования. Что такое идентификатор? Всё верно, это то, по чему идентифицируется (узнаётся, находится, определяется) что-либо.
Фактически, идентификатор - это уникальное имя. Нужно чётко усвоить правила создания имён идентификаторов. Они довольно просты. При их несоблюдении, т.е. ошибочном вводе имени, программа просто не скомпилируется.
- Имя идентификатора может состоять из латинских букв, причём как верхнего, так и нижнего регистра (A, B, ..., Z; a, b, ..., z), цифр (0, 1, ..., 9) и знака подчёркивания ( _ ). Никакие другие символы не могут быть использованы.
- Первый символ в имени не должен быть цифрой, т.е. он может быть латинской буквой или знаком подчёркивания. Все последующие символы могут быть теми, которые указаны в п.1.
- Максимальная длина имени - 255 символов. Следует отметить, что это ограничение формально. Вы можете задать имя и из большего числа символов, но компилятор воспримет только первые 255.
- Язык Pascal нечувствителен к регистру символов (имеется ввиду вообще весь язык) и регистру имён идентификаторов в частности. Т.е. и ABC и abc и даже aBc - это абсолютно одно и то же. Многие языки чувствительны к регистру. Хорошо это или плохо - утверждать не стоит. Однако большинство мнений сходятся на том, что нечувствительность лучше. По крайней мере, это не порождает большого числа ошибок при написании имён разным регистром.
Переменные и типы данных - первое знакомство.
Понятие переменной в языке программирования похоже на понятие переменной в математике. Переменная задана каким-либо именем и хранит некоторое значение. Переменная (variable) - именованная ячейка памяти, имя которой можно использовать для осуществления доступа к данным, находящимся по данному адресу.
Переменная определяется:
· именем;
· типом данных;
· значением.
Мы подошли к одному из практических применений идентификаторов. Каждая переменная имеет свой идентификатор, т.е. имеет своё уникальное имя. Двух переменных с одним именем быть не может (в общем случае, с частными случаями мы столкнёмся в дальнейшем). Тип данных - это диапазон (набор) всех значений, которые может принимать данная переменная. Pascal - язык со строгой типизацией данных. Это означает, что мы не сможем использовать переменную, не указав тип данных для неё. Ну и наконец, значение - это непосредственно то, что хранится в конкретный момент времени в переменной. Это может быть число, символ, текст и т.д.
Визуально переменную можно представить как некую коробочку, в которую можно что-то положить. Например, у нас есть коробочка для разноцветных шаров, на которой написано "Шар №1". В этом случае "Шар №1" - это имя нашей переменной (на других коробочках написано что-то другое) и по этому имени мы можем найти именно эту коробочку среди остальных. Значением в данном случае выступает шар (точнее - его цвет), который мы положили в эту коробочку (например, красный, зелёный, синий). Ну а тип данных - цвет шара, т.е. мы не знаем, какой именно шар окажется в коробочке, но тем не менее знаем, что он будет какого-то цвета.
Константы
Понятие константы используется в математике, физике и других науках. Оно означает, что данная величина не изменяется с течением времени. Абсолютно такое же значение константы и в программировании. Константа (constant) - это переменная, значение которой не меняется во время выполнения программы. Следует отметить, что значение константы должно быть известно ещё до запуска программы, т.е. до этапа компиляции. Пример константы: g ≈ 9.8 (ускорение свободного падения тел на Земле). В Delphi "прописаны" также общеизвестные константы, самым ярким примером которых является число "пи", имя этой константы - PI. Таким образом, эту константу можно свободно использовать в своей программе, не задавая предварительно её значение. Ещё одно из достоинств - константа "пи" занесена с достаточно большой точностью, в то время как для "ручного" объявления придётся где-то "подсмотреть" цифры после запятой (в расчётах малых значений применение пи = 3.14 может давать некоторые погрешности результата).
Примечание: Помимо имён переменных, идентификаторы встречаются практически повсюду. Имена всех компонент (свойство Name); названия модулей (а соответственно и имена файлов, составляющих проект); название приложения, указываемое после ключевого слова program в файле проекта - всё это тоже идентификаторы, а соответственно, их имена также должны подчиняться правилам, описанным выше.
Зарезервированные слова.
Зарезервированные слова - слова языка, которые играют служебную роль. Использовать часть из этих слов в качестве имён, т.е. идентификаторов, запрещено. В редакторе кода эти слова отображаются цветом, отличным от цвета основного кода. Вот перечень все зарезервированных слов Object Pascal:
|
and |
|
export |
|
label |
|
resourcestring |
|
array |
|
exports |
|
library |
|
set |
|
as |
|
file |
|
mod |
|
shl |
|
asm |
|
finalization |
|
nil |
|
shr |
|
begin |
|
finally |
|
not |
|
string |
|
case |
|
for |
|
object |
|
then |
|
class |
|
function |
|
of |
|
threadvar |
|
const |
|
goto |
|
or |
|
to |
|
constuctor |
|
if |
|
out |
|
try |
|
destructor |
|
implementation |
|
packed |
|
type |
|
dispinterface |
|
in |
|
procedure |
|
unit |
|
div |
|
inherited |
|
program |
|
until |
|
do |
|
initialization |
|
property |
|
uses |
|
downto |
|
inline |
|
raise |
|
var |
|
else |
|
interface |
|
record |
|
while |
|
end |
|
is |
|
repeat |
|
with |
|
|
|
|
|
|
|
xor |
Заключение
В этом уроке мы познакомились с некоторыми элементами языка программирования, а также особенностями языка Pascal. В следующем уроке мы продолжим изучение и начнём "испытывать" язык на конкретных примерах.