Структура программы и типы в языке FreePascal
Скачать 0.55 Mb.
|
17.5.10. Меню информационной помощи (Help)Contents (сведения о выводимой на экран информации) Index (ключевые слова) Выводится в алфавитном порядке список всех имеющихся в системе информационной помощи ключевых слов, по которым имеется справка. Topic search (предметный поиск) Выводится информация о слове, на котором находится курсор. Если информации о таком слове нет, выводится список ключевых слов, в котором выделено слово, у которого совпадает с требуемым максимальное число начальных символов. Prevoius topic (предыдущая тема) Выводятся сведения по теме, соответствующей предыдущему запросу. Using help (справка о системе контекстной помощи) Files (файлы) Выводит окно диалога, с помощью которого можно задать файлы контекстной помощи. Compiler directives (директивы компилятора) Выводит перечень директив компилятора. Reserved words (зарезервированные слова) Выводит перечень зарезервированных слов. Standard units (стандартные модули) Выводит перечень стандартных модулей. Turbo Pascal language (язык Turbo Pascal) Выводит перечень основных элементов. Error message (сообщения об ошибках) Выводит сведения о системе сообщений об ошибках. About (сведения о системе) Выводит окно с информацией о версии пакета и авторском праве. 4.6. Отличия проектов Программа и Модуль. Модуль (UNIT -модуль, единица) – автономно (отдельно) компилируемая программная единица, которая содержит компоненты раздела описаний (меток, констант, типов, переменных, процедур, функций), а также может содержать операторы инициализирующей части. Сам модуль не является выполняемой программой, а предназначен для использования другими программами и модулями. Программа — это совокупность инструкций и алгоритмов, описывающих порядок определенных действий. 4.7. Кодировки ANSI и ASCII. Для персональных компьютеров наиболее распространены кодовые таблицы ANSI (American National Standard Institute) и ASCII (American Standard Code for Information Interchange). Таблица ANSI применяется в Windows, а ASCII применялась в DOS. Однако в этих двух таблицах первые 128 кодов (от 0 до 127) совпадают; они различаются лишь последующими 128 кодами, используемыми для хранения национальных (русских) букв и символов "псевдографики". Стандарт представления символов ASCII представляет собой 7-битное описание кода символа. Поскольку в персональных компьютерах используются байты, состоящие из 8 битов, то производители компьютеров часто определяют наборы символов, использующие 256 кодов вместо 128 кодов ASCII. В результате получается “расширенный набор символов” (extended characterset), который включает в себя набор символов ASCII и до 128 других символов. 4.8. Алфавит языка FreePascal, операции, идентификаторы. Язык программирования Паскаль, как и любой другой, имеет свой алфавит. Алфавитом языка программированияназывают набор символов (разрешенный к использованию и воспринимаемый компилятором), с помощью которого могут быть образованы величины, выражения и операторы данного языка. Алфавит языка Паскаль включает в себя все символы, представленные в кодировочной таблице, которая в настоящий момент загружена в оперативную память или хранится в ПЗУ компьютера. Каждому символу алфавита соответствует индивидуальный числовой код от 0 до 255. Символы с кодами от 0 до 127 представляют собой так называемую основную таблицу кодов ASCII. Их состав и порядок определены американским стандартом на коды обмена информацией (идентичны для всех IBM-совместимых компьютеров). Символы, используемые для составления идентификаторов: латинские строчные и прописные буквы, арабские цифры от 0 до 9, символ подчеркивания. Символы-разделители (пробельные символы): пробел, основное назначение которого разделение ключевых слов и имен, управляющие символы (ASCII – коды от 0 до 31). Эти символы могут применяться при описании строчных и символьных констант. Управляющие символы с ASCII-кодом 9 (табуляция), а также 10 и 13 (замыкающее строку) используются в качестве разделителей при написании программ. Специальные символы, выполняющие определенные функции при построении различных конструкций языка: + – * /{ } [ ] ( ) < > / ? ‘ : ; ^ # @ $ Составные символы – группа символов, которые воспринимаются компилятором как единое целое: <= => := (* *) (. .) .. «Неиспользуемые» символы, символы так называемой расширенной таблицы ASCII, то есть символы, имеющие коды от 128 до 255 (в этой области находятся символы алфавита русского языка и символы псевдографики на IBM-совместимых компьютерах), а также некоторые символы из основной таблицы ASCII (например, : &, !, %, “ и другие). Их можно использовать в тексте комментариев и в виде значений констант строк или констант символов. Зарезервированные слова (BEGIN, END, PROGRAM и другие), несущие определенную смысловую нагрузку в языке программирования. Зарезервированное (ключевое) слово – это слово, которое в языке Паскаль имеет определенное смысловое значение. Арифметические операции. В языке паскаль имеется одна унарная операция называемая присвоением знака минус и вторая присвоение знака плюс. Бинарными являются: сложение (+); вычитание (-); умножение (*); вещественное деление (/); целочисленное деление (div); остаток от целочисленного деления (mod). Операции отношения. К ним относятся все бинарные операции: больше; меньше; больше или равно; меньше или равно равно неравно. Логические операции. Результатом логических операций будут логические значения True или False. Унарные: NOT – отрицание. Бинарные: AND – умножение (и); OR – сложение (или); XOR – сложение на модуль 2 (исключающее ИЛИ). Идентификаторы - имена объектов и конструкций программы (меток, констант, типов, переменных, типов, процедур, функций, объектов, модулей, программ, полей в записях и т.д.). Имя состоит из буквы, за которой могут следовать буквы, цифры или символ подчеркивания. (Имя может начинаться с символа подчеркивания, но этого не желательно делатель т.к. с него начинаются большинство системных программ) 4.9. Структура программы. Разделы объявления констант, переменных, меток, типов данных, подпрограмм. Раздел объявлений и соглашений. В первой части программы программист сообщает компилятору, какими идентификаторами он обозначает данные (константы и переменные), а также определяет собственные типы данных, которые он в дальнейшем намеревается использовать в данной программе. Например, можно объявить переменные как локальные, допустив тем самым создание объектов с одинаковыми идентификаторами внутри функций и процедур. При этом необходимо следить за тем, чтобы не возникали конфликты между локальными и глобальными объявлениями различных объектов. Заголовок. Строка заголовка состоит из зарезервированного слова PROGRAM и имени программы. В Паскале эта строка не обязательна и ее можно без ущерба исключить. Но правила хорошего тона в программировании требуют задания некоторого имени программы, чтобы уже при первом знакомстве можно было получить хоть какую-нибудь информацию о ее назначении. Глобальные директивы компилятора. В этом разделе программы компилятору можно дать указания, определяющие режимы его работы при трансляции последующей программы. Эти указания оформляются в тексте программы как комментарии, начинающиеся парой символов {$ и заканчивающиеся символом }. Такие указания могут содержать «заказы» на включение в текст программы фрагментов других программ (из соответствующих файлов) {$I Имя_файла}, информацию для отладчика {$D+} или сведения о необходимости использования арифметического сопроцессора {$N+} и т.д. Оператор USES. Оператор USES играет важную роль в подключении к тексту программы системных модулей из библиотек. В этом операторе указывается компилятору, из какой библиотеки использует модули данная программа, чтобы компилятор выбрал соответствующие модули из этой библиотеки и включил их в текст программы. Понятия “библиотека”, “модуль”, “блок” составляют основу терминологии программирования на Паскале. Библиотека включает набор модулей, каждый из которых замкнут, имеет свое имя, компилируется отдельно и к нашей программе подключается уже как “черный ящик” с известным интерфейсом. Каждый модуль (блок (UNIT), как его называют на Паскале) представляет собой программу, включающую декларации типов и переменных, процедуры и функции. Названия библиотек, подключаемых к программе с помощью оператора USES, должны разделяться запятой. Например: USESCrt,Graph,String,Overlay; Объявления глобальных меток, констант, типов и переменных. Следом за строкой, содержащей оператор USES, идут строки, объявляющие: метки (LABEL) (хотя их использование противоречит концепции языка Паскаль); константы (CONST); определенные пользователем типы данных (TYPE); переменные (VAR). В разделе описания меток LABEL содержатся перечисленные через запятую имена меток переходов. Имена меток переходов не должны дублировать друг друга. Имя метки перехода может представлять собой целое число (от 0 до 9999), строку символов или символьно-цифровую конструкцию. Например: LABEL 1, 5, 9999, h2, 4t32e , metka_1 В разделе CONST содержатся перечисленные через запятую константы, используемые в программе. Например: CONST Year=2002; Моnth=’Июль’; Раздел описания типов TYPE позволяет программисту определить новый тип в программе. В данном разделе могут быть использованы ранее определенные в разделе CONST константы: TYPE Day = [‘Понедельник’,’Вторник’,’Среда’]; В разделе описания глобальных переменных VAR содержится список переменных, используемых в программе, и определяется их тип. Например: VAR А,В,С: INTEGER; {Переменным А,В и С присваивается тип INTEGER (целое число)} DDT: REAL; {переменной DDT присваивается тип REAL (вещественное число)} Разделы LABEL, CONST, TYPE и VAR могут располагаться в произвольном месте программы. При этом каждый из этих разделов может встречаться в программе несколько раз или вообще не встречаться в ней. 4.10. Константы. Их объявление. Константные выражения. В качестве констант в языке программирования Pascal могут использоваться: Целые числа. Они записываются со знаком или без знака и могут иметь значение от – 2 147 483 648 до + 2 147 483 647. Если константа имеет значение, выходящее за эти пределы, то в качестве значения константы необходимо использовать вещественные числа. Вещественные числа записываются со знаком или без знака с использованием десятичной точки или экспоненциальной части, которая начинается с символа «e», за которым следует десятичный порядок. Например, запись 3.14e5 означает 3,14*105. А запись – 3.14e-4 означает – 3,14*10-4. Шестнадцатеричные числа, которые состоят из шестнадцатеричных цифр со знаком доллара «$» впереди. Диапазон шестнадцатеричных чисел — от $00000000 до $FFFFFFFF. Раздел Const - это раздел, который описывает константы. Он должен находиться перед разделом Var, описывающий переменные. Константное выражение – это выражение, значение которого компилятор может определить без выполнения программы, в которую оно включено. Константные выражения включают числа, символьные строки, чистые константы, значения перечисляемых типов, специальные константы True, False и nil и выражения, построенные на базе этих элементов с использованием операторов, преобразования типов и конструкторов множеств. 4.11. Переменные. Их объявление. Переменные описываются в начале программы и как бы сообщают о том, с какими данными будет работать программа и какой объем памяти они займут. Другими словами, резервируется память. Но это не значит, что в эти ячейки памяти помещаются конкретные значения (данные). На момент резервирования памяти в них может быть что угодно. В процессе выполнения программы в ячейки памяти будут помещаться конкретные значения, извлекаться оттуда, изменяться, снова записываться. Мы же через программу обращаемся к ним посредством имен переменных, которые были описаны в начале программы. Имена переменных могут быть почти любым сочетанием английских букв и цифр (без пробелов). Нельзя чтобы имена переменных совпадали со словами, которые являются какими-либо командами самого языка программирования. Нельзя начинать имена переменных с цифры или специального символа. При описании переменных указывается не только их имя, но и тип. Тип переменных сообщает о том, сколько отвести под них памяти и что за данные там планируется сохранять. Точнее хранится там всегда будут числа в двоичной системе счисления. 4.12. Форматы представления чисел (с фиксированной и плавающей точкой). Типы значений с плавающей точкой Real, Single, Double, Extended и Comp (вещественный, с одинарной точностью, с двойной точностью, с повышенной точностью и сложный) хранятся в виде двоичного представления знака (+ или -), показателя степени и значащей части числа. Представляемое число имеет значение: +/- значащая_часть Х 2^показатель_степени где значащая часть числа представляет собой отдельный бит слева от двоичной десятичной точки (то есть 0 <= значащая часть <= 2). Число в обычном его представлении называют числом с фиксированной точкой. 4.13. Типы целых чисел без знака: Byte, Word, LongWord = Cardinal. Целочисленные типы данных могут занимать в памяти компьютера один, два, четыре или восемь байт.
4.14. Типы целых чисел со знаком: Shortint, Smallint, Integer = Longint, Int64.
4.15. Типы вещественных чисел: Single, Real48, Double = Real, Extended, Comp, Currency.
|