Сделай Сам Свою Работу на 5

Компиляция и запуск программы на выполнение





Язык программирования Pascal

 

Столь популярный сегодня язык программирования Pascal своим рождением обязан профессору Цюрихской высшей технической школы Николаусу Вирту. Язык, названный в честь французского математика Блеза Паскаля, появился на свет в конце 1960-х годов и предназначался для обучения студентов основам структурного программирования.

Уже с самых первых дней своего существования Pascal был обречен на ши­рочайшую популярность благодаря ряду своих неоспоримых достоинств: гибкости и надежности, простоте и наглядности конструкций, способности контроля правильности исходного кода на этапе компиляции, возможности построения новых типов данных и многим другим качествам, с которыми мы познакомимся в этой книге.

До появления Delphi 7.0 программисты говорили о «программировании на языкеObject Pascal в среде Delphi» и посмеивались над новичками, употреблявшими словосочетание «языкDelphi». Вот и досмеялись... С официальным выходом Delphi 7.0 человек, сказавший, что он создает программные продукты на «языке Delphi», окажется прав. Действительно, за десятилетие язык Object Pascal был настолько усовершенствован, что Borland официально заговорила о языке Delphi. Вместе с этим, по крайней мере на мой взгляд, термин Object Pascal не стал атавизмом и вполне жизнеспособен. Поэтому эта глава и называется «Язык программирования Pascal».



Достойным учеником профессора Н. Вирта стал основатель (1983г.) фирмы Borland International, Inc. Филипп Кан. Совместно с А. Хейльсбергом им были созданы высокоскоростные Турбо-компиляторы для языков Pascal, BASIC, Prolog, C и Assembler.

Наилучшим примером упорного труда программистов Borland по совершенствованию языка Pascal наверное может стать приводимый ниже хронологический перечень:

• 1983 г. – год рождения пакета TurboPascal 1.0;

• 1985 u/ - выход первой интегрированной среды TurboPascal 3.0;

• 1987 г. - Turbo Pascal 4.0, в состав пакета вошли графическая библиотека и средства раздельной компиляции;

• 1988 г. - Turbo Pascal 5.0, дальнейшее совершенствование среды;

• 1989 г. - Turbo Pascal 5.5, промежуточная версия, частично включившая в себя поддержку объектно-ориентированного программирования;

• 1990 г. - Turbo Pascal 6.0, многооконная среда программирования, поддержка мыши, объектно-ориентированная библиотека Turbo Vision;



• 1991 г. - Turbo Pascal for Windows, в состав пакета входит ключевая библиотека ObjectWindows;

• 1992 г. - Borland Pascal with Objects 7.0;

• 1995 г. - выход Borland Delphi 1.0 для работы под Microsoft Windows 3.x;

• 1996 г. - Borland Delphi 2.0 (первая 32-разрядная версия);

• 1997 г. - Borland Delphi 3.0;

• 1998 г. - Borland Delphi 4.0;

• 1999 г. - Borland Delphi 5.0;

• 2001 г. - Borland Delphi 6.0;

• 2002 г. - Borland Delphi 7.0;

• 2004 г. - Borland Delphi 8.0.

 

Простейшая программа на Object Pascal

 

Как-то раз я услышал неформальное, но, на мой взгляд, очень меткое определение программы: «Программа - это Идея, которую программист изложил на языке программирования».Такое определение во главу угла ставит не сотни строк безликого кода, а Ее Величество Идею, то, без чего немыслимо существование творческой личности. Это определение - достойный ответ спор­щикам на тему: «Что такое программирование - ремесло или Искусство?»

Эта глава посвящена элементарным составным частям программы на языке Object Pascal. В целом разделы этой главы представляют фундамент, без которого изучение Delphi просто невозможно. Подчеркну, что это лишь пре­дельно сжатый рассказ о возможностях языка Pascal.

При изложении материала, посвященного языку Pascal, мы по возможности абстрагируемся от среды Delphi и ее фундамента - библиотеки визуальных компонентов (VCL). На мой взгляд, первые шаги по изучению языка наиболее эффективны в консольных приложениях, где нет отвлекающих новичка элементов управления и код максимально прост и линеен.

При запуске интегрированной среды разработки Delphi автоматически подготавливается к работе новый проект стандартного приложения для Windows. Но для консольного приложения он не подходит, поэтому закройте созданный по умолчанию проект. Для этого в главном окне Delphi выберите пункт меню File – Close All. Затем найдите пункт File - New – Other и щелкните по нему. Если все сделано правильно, появится окно New Items с открытой страницей New. Найдите на этой странице пиктограмму Console Application и щелкните пo кнопке ОК. За этот каторжный труд Delphi отблагодарит нас заготовкой для самого простейшего приложения – консольного окна Windows.



program Project1;

{$APPTYPE CONSOLE}

uses SysUtils;

begin

{ TODO -oUser -cConsole Main : Insert code here }

end.

 

Прежде чем я поясню, что содержится в шаблоне кода консольного приложения, научимся сохранять плоды своей деятельности в файл. Для этого выберем пункт меню File -> Save и в открывшемся диалоговом окне присвоим своему первому проекту имя FirstPrj. dpr. В завершение нажмем кнопку ОК.

Разрабатываемая программа может включать десятки или даже сотни файлов различного типа и назначения. Но как минимум программа состоит из одного файла - главного файла проекта Delphi. Файл такого типа идентифицируется расширением .dpr (сокращение от Delphi Project).

Теперь, когда наш проект сохранен на жестком диске компьютера, вновь обратите внимание на первую строку кода. Вместо имени проекта по умолча­нию, Project1, после ключевого слова program появится предложенное нами название FirstPrj. Следующее ключевое слово uses применяется для подклю­чения к проекту внешних модулей, как правило, содержащих библиотеки дополнительных подпрограмм. В частности, наш проект будет эксплуатировать наиболее часто используемую библиотеку системных утилит SysUtils. Шаблон завершается составным оператором begin, end, внутри которого размещается выполняемый код. Пока же здесь только текст комментария.

Комментарии в тексте программы

Во всех без исключения языках программирования предусмотрена возможность комментирования строк исходного кода. В комментарии программист в сжатом виде описывает, что делается в этих строках, для чего введена данная переменная, что произойдет после вызова процедуры. Другими словами, в комментариях разработчик кода кратко поясняет смысл рожденных в его голове команд. В результате листинг программы становится более по­нятным, более читаемым и доступным для изучения.

Для того чтобы при компиляции программы текст комментариев не воспринимался Delphi как исходный код программы и не служил источником ошибок, приняты следующие соглашения. Комментарием считается:

1. Отдельная строка, начинающаяся с двух наклонных черт //:

//Одна строка комментария

2. Весь текст, заключенный в фигурные скобки {} или в круглые скобки с символами звездочек (**):

{Текст комментария}

(*Это тоже комментарий*)

Текст комментария пропускается компилятором и не оказывает влияния на «жизнедеятельность» модуля.

Если внympu фигурных скобок на nepвой позиции окажется символ $, то это не что иное, как директива компилятора. В шаблоне только что созданного нами приложения такая директива есть:

{$APPTYPE CONSOLE}

В данном случае это означает, что наш проект является консольным приложением. Начинающему программисту не следуem изменять ни содержимое таких строк, ни место их расположения, в противном случае есть риск привести свой проект в негодность.

Компиляция и запуск программы на выполнение

Теперь научимся компилировать программу. Компилирование - это процесс, переводящий программу с языка программирования (в нашем случае с языка Pascal) на язык машинных команд. Как - то неинтересно компилировать пустой проект, поэтому давайте научим его чему -нибудь полезному, например здороваться. В следующем листинге предложен пример такой программы. А для того чтобы исходный код был понятен, он буквально насквозь пропитан комментариями.

 

program Project1;

{Это листинг самой короткой и доброжелательной программы на свете}

{$APPTYPE CONSOLE} //это директива компилятора, которую мы не трогаем

uses SysUtils; (*строка подключения внешних библиотек подпрограмм, хотя, между нами говоря, в этой программе внешние модули нам не нужны*)

Begin

WriteLn(‘Hello, World!’); //выводим текст «Привет, Мир!»

ReadLn; //ожидаем ввод – нажатие любой клавиши завершит работу

End.

Повторив код программы, выберите пункт главного меню Delphi Run -> Run. Если все повторено безошибочно, то за считанные доли секунды на экране появятся плоды нашего коллективного творчества – консольное окно со строкой «Hello, World!». Если же вдруг была допущена ошибка, то компилятор просигнализирует о ней, выделив в листинге строку, содержащую предполагаемую ошибку или следующую за ней строку.

Вместо утомительных поисков необходимого элемента в меню у программистов Delphi наибольшей популярностью пользуется быстрая клавиша запуска программы - функциональная клавиша F9. При нажатии этой клавиши осуществляется проверка синтаксиса проекта, его компиляция и запуск исполняемого ехe - файла.

Как видите, вся программная логика сосредоточена внутри составного оператора begin end и выполняется линейно в соответствии с очередностью следования строк.

 

Переменные и константы

 

Переменная – это хранилище дляданных. В самом названии заключен смысл ее применения - переменная предназначена для работы с изменяющимися значениями. В языке Pascal могут быть объявлены переменные различных типов (об основных типах данных мы поговорим чуть позже). Для объявления переменной используется зарезервированное слово var (сокр. От variable). Синтаксис выглядит следующим образом:

var имя_переменной: тип_данных;

Например:

var х : Integer; //переменная х специализируется на работе с целыми числами

у, z : real; //переменные у и z могут хранить действительные числа

s : char; //s - символ

MyVar : Boolean; //MyVar - логическая переменная

Как и переменная, константа также является хранилищем для данных, но, в отличие от переменной, константа задается раз и навсегда и не допускает редактирования своего содержимого. Для задания константы применяется зарезервированное слово const (сокр. от constant). Синтаксис определения константы следующий:

const<имя_константы> [: тип данных] = <значение>;

В квадратных скобках может быть отмечен необязательный указатель на тип константы. Приведем пример определения обычных констант:

constА = 100;

В = -3.1426;

С = 'Текст';

Для задания значения, которое будет содержаться в обычной константе, допускается применение математических выражений и результатов, возвра­щаемых функциями.

constD = 500;

Е = D+6;

F = 3/Pi;

При определении типизированной константы явным образом указывается тип хранящихся в ней данных:

constН : byte = 255;

I : Boolean = true;

В отличие от обычных, или как их еще иногда называют «истинных», констант, типизированные константы не рекомендуется инициализировать выражениями. В Delphi в качестве констант могут определяться массивы, записи, указатели; кроме того, существуют и экзотические константы, например, процедурные.

Важно знать, в каком именно месте листинга допускается объявление переменных и констант. В консольных проектах объявление осуществляется перед составным оператором begin..end.

 

program Project1;

{$APPTYPE CONSOLE}

uses SysUtils;

constX = 10; //объявление константы

var Y, Z : integer; //объявление двух переменных

Begin

Z:= X+Y;

// остальной код программы

End.

 

Идентификаторы

 

Идентификатор - это имя переменной, константы, массива, метода, модуля и всего остального, что должно иметь имя. В Delphi длина идентификатора не ограничена, но значащими являются только первые 255 символов. Идентификатор может содержать любые символы латинского алфавита, цифры и символ нижнего подчеркивания. Первый символ идентификатора обязательно должен быть буквенный. Само собой в роли идентификаторов не допускается применять зарезервированные слова.

В отличие от С, язык программирования Pascal не критичен к регистру символов,поэтому в Delphi следующие названия будут восприниматься как идентичные: MyValue, myvalue, MYVALUE, mYvALUE.

Если в рамках одного проекта существует несколько модулей с одинаковыми именами идентификатора, то для обращения к идентификатору требуется уточнить, кому он принадлежит.

Form1.Button1.Caption;

Form2.Button1.Caption;

Unit1.MyProcedure;

 

 








Не нашли, что искали? Воспользуйтесь поиском по сайту:



©2015 - 2024 stydopedia.ru Все материалы защищены законодательством РФ.