Структура программы free pascal

Задание 1. Создать программу взаимных преобразований типов численных данных в соответствии с вариантом. Нужно преобразовывать численные данные из типа Start в типы Fin1 и Fin2 для вещественных и целых чисел.

Задание 2. Создать программу взаимных преобразований строковых и символьных типов. Она должна отображать фамилию студента строками разного типа и добавлять к строке символ.

Задание 3. Создать программу работы с типом TDateTime. Она должна запрашивать дату и время рождения студента, выводить текущие дату/время, запрашивать желаемое время дальнейшего обучения, выводить дату/время и день недели конца обучения.

Варианты к заданию 1

Типы вещественных чисел Типы целых чисел
Start Fin_1 Fin_2 Start Fin_1 Fin_2
Single Currency Extended Byte Cardinal Integer
Real48 Single Currency Word Byte Cardinal
Double Real48 Single LongWord Word Byte
Real Double Real48 Cardinal LongWord Word
Extended Real Double Shortint Cardinal LongInt
Comp Extended Real Smallint Shortint Cardinal
Currency Comp Extended Integer Smallint Shortint
Single Currency Comp LongInt Integer Smallint
Real48 Single Currency Int64 LongInt Integer
Double Real48 Single Word Int64 LongInt
Real Double Real48 LongWord Byte Int64
Extended Real Double Cardinal Word Int64
Comp Extended Real Shortint LongWord Byte
Currency Comp Extended Smallint Cardinal Word
Real Currency Comp Integer Shortint LongInt

Coding in Pascal in The Modern Age

Pascal. Структура программы

Источник: pascal-cod.ru

2 Общие сведения о языке программирования Free Pascal

В этой главе читатель познакомится со структурой проекта в среде Lazarus и основными элементами языка программирования Free Pascal: переменными, константами, их типами, основными операциями и функциями языка.

2.1 Структура проекта Lazarus

Любой проект в Lazarus – это совокупность файлов, из которых создается единый выполняемый файл . В простейшем случае список файлов проекта имеет вид:

•файл описания проекта ( .lpi ); •файл проекта ( .lpr );

•файл ресурсов ( .lrs ); •модуль формы ( .lfm ); •программный модуль ( .pas );

После компиляции программы из всех файлов проекта создается единый выполняемый файл, имя этого файла совпадает с именем проекта.

Программный модуль , или просто модуль, – это отдельно компилируемая программная единица, которая представляет собой набор типов данных, констант, переменных, процедур и функций. Любой модуль имеет следующую структуру:

рым следует имя модуля и точка с запятой. В разделе описаний, который открывается служебным словом interface , описывают про-

граммные элементы – типы, классы, процедуры и функции: interface

uses список_модулей; type список_типов;

Алексеев Е.Р., Чеснокова О.В., Кучер Т.В. Самоучитель по программированию на Free Pascal и Lazarus

const список_констант; var список_переменных; procedure имя_процедуры;

Раздел implementation содержит программный код , реализу-

ющий механизм работы описанных программных элементов (тексты процедур обработки событий, процедуры и функции, созданные программистом). Процедуры и функции в Lazarus также построены по модульному принципу 23 .

Наряду с визуальными приложениями, Lazarus позволяет разрабатывать и обычные консольные приложения, которые также могут быть созданы в оболочке Free Pascal, и в текстовом редакторе Geany. Авторы настоятельно рекомендуют начинать изучение программирования именно с создания консольных приложений. Поэтому рассмотрим подробно структуру консольного приложения.

2.2 Структура консольного приложения

Структура консольного приложения имеет вид:

uses modul1, modul2, …, moduln; раздел описаний; тело программы.

каторов (см. п. 2.3 ), и точки с запятой, например: program my_prog001;

Предложение uses modul1, modul2, …, moduln предна-

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

Раздел описаний включает следующие подразделы:

раздел описания констант; раздел описания типов; раздел описания переменных;

23 Подробно о процедурах и функциях см. в главе 4.

Алексеев Е.Р., Чеснокова О.В., Кучер Т.В. Самоучитель по программированию на Free Pascal и Lazarus

раздел описания процедур и функций.

В языке Free Pascal должны быть описаны все переменные, типы, константы, которые будут использоваться программой. В стандартном языке Pascal порядок следования разделов в программе жестко установлен, во Free Pascal такого строгого требования нет. В программе может быть несколько разделов описания констант, переменных и т.д., но все они должны быть до тела программы. Более подробно структуру консольной программы на языке Free Pascal можно представить

Читайте также:
Регулировка кулеров на компьютере программа

uses modul1, modul2, …, moduln; const описания_констант;

type описания_типов; var описания_переменных; begin

Тело программы начинается со слова begin , затем следуют опе-

раторы языка Pascal, реализующие алгоритм решаемой задачи. Операторы в языке Pascal отделяются друг от друга точкой с запятой и могут располагаться в одну строчку или начинаться с новой строки (в этом случае их также необходимо разделять точкой с запятой). Назначение символа « ; » — отделение операторов друг от друга. Тело программы заканчивается служебным словом end . Несмотря на то что

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

uses modul1, modul2, …, moduln; const описания_констант;

type описания_типов; var описания_переменных; begin

Алексеев Е.Р., Чеснокова О.В., Кучер Т.В. Самоучитель по программированию на Free Pascal и Lazarus

Приведем пример текста программы на Free Pascal: program one;

var b,c: real; begin

2.3 Элементы языка

Программа на языке Free Pascal может содержать следующие символы:

•латинские буквы A, B, C…, x, y, z; •цифры 0, 1, 2…, 9;

Из символов алфавита формируют ключевые слова и идентификаторы. Ключевые слова – это зарезервированные слова, которые имеют специальное значение для компилятора. Примером ключевых слов являются операторы языка, типы данных и т.п. Ключевые слова используются только так, как они определены при описании языка.

Идентификатор – это имя программного объекта 24 , представляющее собой совокупность букв, цифр и символа подчеркивания. Первый символ идентификатора – буква или знак подчеркивания, но не цифра. Идентификатор не может содержать пробел. Прописные и строчные буквы в именах не различаются, например ABC , abc , Abc – одно и то же

имя. Каждое имя (идентификатор) должно быть уникальным и не совпадать с ключевыми словами.

В тексте программы можно использовать комментарии . Комментарий это текст, который компилятор игнорирует. Комментарии используют для пояснений программного кода или для временного отключения команд программного кода при отладке. Комментарии бывают однострочные и многострочные. Однострочный комментарий начинается с двух символов «косая черта» // и заканчивается симво-

лом перехода на новую строку. Многострочный комментарий заключен в фигурные скобки <> или располагается между парами символов

(* и *) . Понятно, что фигурные скобки <> или символы (* и *)

24 К программным объектам относятся константы, переменные, метки, процедуры, функции, модули и программы.

Источник: studfile.net

Структура программы в языке FreePascal

Программа на языке Pascal всегда состоит из двух основных частей: описания последовательности действий, которые необходимо выполнить, и описания данных, с которыми оперируют действия. Действия представляются операторами языка, данные вводятся посредством описаний и определений. Кроме того, программа может быть снабжена заголовком, который задаст имя программы и ее параметры.

Описания данных текстуально предшествуют описанию действий и должны содержать упоминание всех объектов, используемых в действиях (операторах).

Рассмотрим полную структуру программы на языке Паскаль. В общем случае программа состоит из:

  • заголовка программы — раздел начинается с ключевого слова program, далее идет название вашей программы.
    Например, program Area; — обратите внимание, что любой оператор языка Паскальзаканчивается точкой запятой.
    Также распространенной ошибкой является заголовок программы вида: program 1;
    Имя программы — это пользовательский идентификатор, и он не может начинаться с цифры.
  • блок описаний состоит из множества различных блоков программы, каждый из которых отвечает за определенные аспект программы. Мы будем рассматривать возможные блоки по мере необходимости. на схеме ниже вы можете увидеть все из них.
  • блок операторов — единственный обязательный блок программы, в нем вы размещайте, те команды которые должны быть выполнены в процессе выполнения программы. Блок операторов начинается с ключевого словаbegin и заканчивается end с точкой.

Описание меток вводит совокупность идентификаторов и/или целых чисел, предназначенных для организации последовательности вычислений. Посредством меток можно отметить (указать) те операторы, на которые будет передано управление из других точек программы. Передача управления на помеченный оператор реализуется с помощью специального оператора перехода.

Читайте также:
Лучшая программа для ведения семейного бюджета

Определение констант задает в программе идентификаторы, являющиеся синонимами (представителями) некоторых значений.

Определение типов предназначено для задания конкретных множеств значений. Указанные множества обозначаются именами (идентификаторами) и в дальнейшем могут служить для описания переменных.

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

Наконец,описание процедуры или функцииопределяет часть программы как отдельную синтаксическую единицу и сопоставляет с ней имя. Впоследствии действия, сосредоточенные в процедуре (функции), могут быть выполнены («вызваны») посредством указания ее имени. Кроме действий, описание процедуры (функции) может содержать совокупность описаний локальных объектов, образующих собственный контекст имен. Процедуры и функции являются основным средством структурирования программы.

В авторской версии языка Pascal описания всех перечисленных объектов должны быть сосредоточены в соответствующих разделах, а порядок следования разделов фиксирован. Однако, современные реализации, в частности, Turbo Pascal, не содержат такого ограничения. Иными словами, описания и определения всех объектов в блоке могут следовать в произвольном порядке.

21. Описание переменных программы в языке Free Pascal.

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

22. Типы данных, используемые в языке Free Pascal. Целочисленный и вещественный типы и возможные операции с ними.

Структура типов данных в языке Паскаль:

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

2. внутреннюю форму представления данных в ЭВМ;

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

Целочисленные типы — обозначают множества целых чисел в различных диапазонах. Имеется пять целочисленных типов, различающихся диапазоном допустимых значений и размером занимаемой оперативной памяти. Целочисленные типы обозначаются идентификаторами: Byte, ShortInt, Word, Integer, LongInt; их характеристики приведены в следующей таблице.

Тип Диапазон Размер в байтах
Byte ShortInt Word Integer LongInt 0 . 255 -128 . 127 0 . 65535 -32768 . 32767 -2147483648 . 2147483647 1 1 2 2 4

Допустимые операции:
— присваивание;
— все арифметические: +, — ,*, /, div, mod (при обычном делении [/] результат вещественный!);
— сравнение , >=, , =.

Вещественные типы — обозначают множества вещественных чисел в различных диапазонах. Имеется пять вещественных типов, различающихся диапазоном допустимых значений и размером занимаемой оперативной памяти. Вещественные типы обозначаются идентификаторами: Real, Single, Double, Extended, Comp; их характеристики приведены в следующей таблице.

Тип Диапазон Размер в байтах
RealSingle Double Extended Comp 2.9·10 -39 . 1.7·10 38 1.5·10 -45 . 3.4·10 38 5.0·10 -324 . 1.7·10 308 3.4·10 -4932 . 1.1·10 -4932 -2·10 63 . +2·10 63 -1 6 4 8 10 8

Тип Comp хотя и относится к вещественным типам, на самом деле является целочисленным с очень огромным диапазоном значений.

Допустимые операции:
— присваивание;
— все арифметические: +, — ,*, / ;
— сравнение: , >=, , =. При сравнении вещественных чисел следует помнить, что в следствие неточности их представления в памяти компьютера (в виду неизбежности округления) стоит избегать попыток определения строгого равенства двух вещественных значений. Есть шанс, что равенство окажется ложным, даже если на самом деле это не так.

23. Типы данных, используемые в языке Free Pascal. Перечисленный и интервальный типы и возможные операции с ними.

Перечисляемый тип (сокращённо перечисле́ние, англ. enumeration, enumerated type) — в программировании тип данных, чьё множество значений представляет собой ограниченный список идентификаторов. Перечисляемый тип определяется как набор идентификаторов, с точки зрения языка играющих ту же роль, что и обычные именованные константы, но связанные с этим типом. Классическое описание типа-перечисления в языке Паскаль выглядит следующим образом:

type Cardsuit = (clubs, diamonds, hearts, spades);

Здесь производится объявление типа данных Cardsuit (карточная масть), значениями которого может быть любая из четырёх перечисленных констант. Переменная типа Cardsuit может принимать одно из значений clubs, diamonds, hearts, spades, допускается сравнение значений типа перечисление на равенство или неравенство, а также использование их в операторах выбора (в Паскале — case) в качестве значений, идентифицирующих варианты.

Читайте также:
Полезные программы для 10

Использование перечислений позволяет сделать исходные коды программ более читаемыми, так как позволяют заменить «магические числа», кодирующие определённые значения, на читаемые имена.

На базе перечислений в некоторых языках могут создаваться типы-множества. В таких случаях множество понимается (и описывается) как неупорядоченный набор уникальных значений типа-перечисления.

Перечисляемый тип может использоваться в объявлениях переменных и формальных параметров функций (процедур, методов). Значения перечислимого типа могут присваиваться соответствующим переменным и передаваться через параметры соответствующих типов в функции. Кроме того, всегда поддерживается сравнение значений перечислимого типа на равенство и неравенство.

Некоторые языки поддерживают также другие операции сравнения для значений перечислимых типов. Результат сравнения двух перечислимых значений в таких случаях определяется, как правило, порядком следования этих значений в объявлении типов — значение, которое в объявлении типа встречается раньше, считается «меньше» значения, встречающегося позже. Иногда перечислимый тип или некоторый диапазон значений перечислимого типа также может быть использован в качестве типа индекса для массива. В этом случае для каждого значения выбранного диапазона в массиве имеется один элемент, а реальный порядок следования элементов соответствует порядку следования значений в объявлении типа.

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

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

Над переменными, относящимися к интервальному типу, могут выполняться все операции и применяться все стандартные функции, которые допустимы для соответствующего базового типа.

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

24. Тины данных, используемый в языке Free Pascal. Логический и литерный типы и возможные операции с ними.

Логический тип (Boolean) — состоит всего из двух значений: False (ложно) и True (истинно). Слова False и True определены в языке и являются, по сути, логическими константами. Регистр букв в их написании несущественен: FALSE = false. Значения этого типа являются результатом вычислений условных и логических выражений и участвуют во всевозможных условных операторах языка.

Допустимые операции:
— присваивание;
— сравнение: , >=, , =;
— логические операции: NOT, OR, AND, XOR

Символьный тип (Char) — это тип данных, состоящих из одного символа (знака, буквы, кода). Значением типа Char может быть любой символ из набора ASCII. Если символ имеет графическое представление, то в программе он записывается заключенным в одиночные кавычки (апострофы), например:

‘ж’ ‘s’ ‘.’ ‘*’ ‘ ‘-(пробел)

Для представления самого апострофа его изображение удваивается: »».
Если же символ не имеет графического представления, например, символ табуляции или символ возрата каретки, то можно воспользоваться эквивалентной формой записи символьного значения, состоящего из префикса # и ASCII-кода символа:

#9#32#13

Допустимые операции:
— присваивание;
— сравнение: , >=, , =. Большим считается тот символ, который имеет больший ASCII-номер.

25. Типы данных, используемые в языке Free Pascal. Строковый типы и возможные операции для работы с литерной строкой.

Строковый тип(String, String[n]) — этот тип данных определяет последовательности символов — строки. Параметр n определяет максимальное количество символов в строке. Если он не задан, подразумевается n=255. Значение типа «строка» в программе запиывается как последовательность символов, заключенных в одиночные кавычки (апострофы), например

‘Это текстовая строка’ ‘This is a string’
‘1234’ -это тоже строка, не число
» -пустая строка

Допустимые операции:
— присваивание;
— сложение (конкатенация, слияние); например, S := ‘Зима’+’ ‘+’пришла!’;
— сравнение: , >=, , =. Строки считаются равными, если имеют одинаковую длину и посимвольно эквивалентны.

Операции

Источник: megaobuchalka.ru

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru