Сравнительная характеристика трех стандартов языка программирования Паскаль: нерасширенного, расширенного и объектного. Типы констант, встречающихся в тексте программы: числовые, строковые, символьные, логические. Закономерности работы с файлами.
Аннотация к работе
Borland Pascal включает в себя более дешевый и менее мощный Turbo Pascal и, кроме того позволяет создавать программы как под реальный, так и под защищенный 16-битный режим DOS, а так же программы для Windows. PASCALABC - система, представляющая собой интерпретатор языка программирования Паскаль с интегрированной оболочкой. Для записи целого числа могут использоваться цифры 0…9 и знаки , - Если знак перед числом не указан, то число считается положительным. При записи вещественного числа в форме с фиксированной точкой в качестве разделителя целой и дробной части используется символ точка (.). Комментарии, безусловно, полезны при передаче текста программы другим лицам, а так же и для самого программиста, если он захочет дорабатывать программу в будущем.Раздел описаний является одной из частей программы и располагается перед телом программы. Раздел описаний в свою очередь может состоять из следующих частей: 1) раздел подключаемых модулей uses… 2) раздел описания меток label…Поскольку использование методологии структурного программирования повышает эффективность труда программистов, подавляющее большинство из них используют эти принципы в своей работе, и поэтому раздел label и метки в настоящее время практически не используются. В разделе описания констант можно обозначить некоторую постоянную величину именем, и в дальнейшем обращаться по этому имени к константе. Использование идентификаторов для констант повышает читабельность программы и удобство работы с ней, ведь в случае необходимости изменить значение константы придется менять только в одном месте, и не просматривать всю программу в поисках тех мест, где эта константа встречалась. Современные реализации языка Паскаль позволяют использовать два типа констант: 1) «обычные» константы, могут хранить только одну величину (число, символ, строку, логическую величину, величину перечислимого типа) и не могут изменять свое значение по ходу программы; «Обычные» константы удобно использовать, если в программе часто используется одно и то же значение, которое не может измениться (например, ставка подоходного налога).В ходе выполнения курсовой работы мной были изучены темы «Константы языка Паскаль» и «Работа с файлами». Паскаль - язык программирования, созданный в 70-х годах швейцарским профессором Николаусом Виртом специально для обучения программированию. Им же был написан ряд книг в которых подробно рассматриваются возможности этого языка и его применение для решения многих «классических» в области программирования задач.
Введение
Существует три стандарта языка: 1. Нерасширенный Паскаль (Unextended Pascal) был разработан в 1983 году и практически полностью совпадает с описанием языка по Вирту.
2. Расширенный Паскаль (Extended Pascal) содержит расширения, затрагивающие модульное программирование (отдельная компиляция модулей, импорт-экспорт подпрограмм, интерфейсная часть и реализация) и дополнен рядом процедур и функций (прямой доступ к файлам, работа со строками и др.).
3. Объектный Паскаль (Object Pascal) принят в 1993 г. Он поддерживает классы, обладающие свойствами и методами, наследование классов, переопределение методов у потомков (полиморфизм) и другие атрибуты объектно-ориентированного программирования. Начиная со среды разработки Delphi 7.0, в официальных документах Borland стала использовать название Delphi для обозначения языка Object Pascal.
Реализации языка: 1. Для операционной системы MS-DOS самое большое распространение приобрела реализация языка Паскаль фирмы Borland под названием Turbo Pascal (первая версия языка появилась в 1983 году).
2. Borland Pascal включает в себя более дешевый и менее мощный Turbo Pascal и, кроме того позволяет создавать программы как под реальный, так и под защищенный 16-битный режим DOS, а так же программы для Windows. В нем открыты исходные тексты системных библиотек и функций времени выполнения.
3. Delphi - интегрированная среда разработки ПО для Microsoft Windows на языке Delphi, созданная первоначально фирмой Borland и на данный момент принадлежащая и разрабатываемая Embarcadero Technologies.
4. Free Pascal - свободно распространяемый компилятор языка программирования Pascal с ориентацией на Object Pascal.
5. Lazarus - свободно распространяемая интегрированная Delphi-подобная среда разработки программного обеспечения для компилятора Free Pascal, предоставляющая возможности кроссплатформенной разработки приложений.
6. PASCALABC - система, представляющая собой интерпретатор языка программирования Паскаль с интегрированной оболочкой. Создавалась как учебная среда программирования. Pascal ABC и PASCALABC.NET всех версий является свободно распространяемым программным обеспечением.
Учитывая, что задания практических работ могут выполняться студентами с помощью любой из приведенных систем программирования, мы будем стараться описывать только те возможности языка, которые есть во всех этих системах. Описываемые возможности иногда будут шире стандарта языка Паскаль. Связано это с тем, что существует ряд полезных доработок языка де-факто используемых большинством программистов.
1. Константы языка Паскаль
Константы, встречающиеся в тексте программы, могут быть различных типов: числовые, строковые, символьные, логические.
Числовые константы могут быть целые и вещественные. Для записи целого числа могут использоваться цифры 0…9 и знаки , - Если знак перед числом не указан, то число считается положительным. Допустимы ведущие незначащие нули, при выводе числа они отбрасываются. Целое число, представленное в шестнадцатеричной системе счисления, записывается с использованием префикса $. При выводе такое число будет переведено в десятичную систему счисления.
Пример 3.2. Константы целого типа: 34 -825 19 000056 00
- в десятичной форме;
$40 -$F $0b
- в шестнадцатеричной форме (при выводе: 64, -15, 11).
Вещественное число может задаваться в форме с фиксированной точкой и с плавающей точкой. При записи вещественного числа в форме с фиксированной точкой в качестве разделителя целой и дробной части используется символ точка (.). Нужно отметить, что десятичная точка требует, по крайней мере, одну цифру слева от себя, т.е. запись. 9, например, недопустима. При записи вещественного числа в форме с плавающей точкой сначала записывается мантисса числа (m), затем символ E (или e, поскольку большие и маленькие буквы Паскалем не различаются) и указывается порядок числа (p). Мантисса может быть целым числом или вещественным в форме с фиксированной точкой. Порядок задается целым десятичным числом. Формула, для преобразования числа из формы с плавающей точкой в форму с фиксированной точкой, следующая: m E p = m ·10p.
Пример 3.3. Константы вещественного типа: 3.1415 0.00000127 -125.0 0.0
- в форме с фиксированной точкой;
0.31415E 001 789e-4 ¬1e 01
- в форме c плавающей точкой (соответствуют числам: 3,1415 0,0789 -10).
3,14 .001 -5.12E 2e0.2
Вещественные числа, записанные с ошибкой: Строковая константа - это произвольная последовательность символов, заключенная c обеих сторон в апострофы (»). Если внутри строковой константы должен присутствовать символ апострофа, то он указывается дважды. Пустая строковая константа записывается в виде двух подряд идущих апострофов (‘»).
Пример 3.4. Константы строкового типа: ‘Добро пожаловать!‘
‘Магнитофон ‘‘Вега‘» продан. ‘
(будет выведено: Магнитофон ‘Вега» продан.)
Символьная константа - это ровно один символ, ограниченный апострофами. Обращение к любому символу возможен через его номер в таблице кодировки, путем указания этого номера с предшествующим символом решетки (#). Так, записи ‘D» и #68 дают ссылку на один и тот же символ, так как номер символа D в таблице кодировки равен 68.
Логическая константа может принимать только два значения True или False (при записи слов true и false регистр не имеет значения, как и при записи всего текста программы, при выводе логическая константа будет записана прописными буквами).
Пример 3.5. Константы логического, строкового и символьного типа: TRUE - логическая константа;
‘TRUE» - строковая константа;
‘T», #12 - символьные константы.
Комментарии.
Комментарий с точки зрения Паскаль-компилятора - это последовательность символов, которая должна быть исключена из дальнейшей обработки текста программы. С помощью комментариев программист может пояснять текст программы. Комментарии, безусловно, полезны при передаче текста программы другим лицам, а так же и для самого программиста, если он захочет дорабатывать программу в будущем. Комментарии выделяются символами фигурных скобок, при этом символ {означает начало комментария, а символ} - конец комментария. Альтернативный способ выделения комментариев: с помощью зарезервированных сочетаний символов (* и *), первое из которых означает начало комментария, а второе - конец. Оба выше перечисленных способа создания комментариев позволяют делать как однострочные, так и многострочные комментарии. В современных версиях языка Паскаль, в частности в Pascal ABC, Free Pascal и Delphi, имеется возможность задавать однострочные комментарии с помощью сочетания символов // , которое означает начало комментария, и комментарий при этом распространяется только до конца текущей строки.
Пример 3.6. Использование комментариев в программе.
Var a:integer; (*Переменная а имеет целый тип*)
Begin
Readln(a); // Ввод значения переменной а с клавиатуры a:=a 1; {Это на потом… a:=a*2;
a:=a-a;} writeln(a)
End.
В данном примере три комментария, первый - «Переменная а имеет целый тип», второй - «Ввод значения переменной а с клавиатуры» и третий - «Это на потом … а:=а*2; a:=a-a;». Третий комментарий многострочный, и использован для временного исключения части текста из программы.
2. Структура программы и ее синтаксис
Синтаксические диаграммы Вирта и структура программы
Для описания синтаксиса языка Паскаль будем использовать синтаксические диаграммы, введенные Н. Виртом. Элементы алфавита языка будем заключать в круг, например, или, если они имеют большую длину, в прямоугольник со скругленными углами, например. Понятия, требующие дальнейшей расшифровки, будем заключать в прямоугольник, например или. Понятие, расшифровываемое диаграммой, будем писать в начале диаграммы.
Рассмотрим синтаксическую диаграмму понятия «программа на языке Паскаль».
IMG_4f10d5d3-f138-433a-8363-4a6afd5b83bc
Синтаксическая диаграмма понятия «программа на языке Паскаль»
На данной диаграмме отражены следующие факты: • обязательным элементом программы является только тело программы (в современных версиях Паскаля это именно так);
• телу программы может (могут) предшествовать заголовок программы и(или) раздел описаний.
IMG_cfd1cf15-6c5b-4fd9-b8c8-644b99fd1e6f
Синтаксическая диаграмма понятия «заголовок программы»
Заголовок программы состоит из ключевого слова program, после которого в обязательном порядке должно быть указано имя, а после имени - точка с запятой, например: program Primer;
Тело программы представляет собой составной оператор, заканчивающийся точкой.
IMG_b77dcae3-12b7-46e0-ab83-05065f25d059
Синтаксическая диаграмма понятия «тело программы»
Рассмотрим, что представляет собой составной оператор.
IMG_1919923c-5f30-4ddb-9ce3-742b72c2f8e8
Синтаксическая диаграмма понятия «составной оператор»
Последовательность возникновения тех или иных элементов диаграммы в программе определяется изгибами стрелочек. Так запись на рис. 5 означает, что оператор между begin и end может быть или не быть, но если присутствует, то ровно в одном экземпляре.
IMG_6f2c8d30-0efc-4bbb-9d1f-366e5265f758
Пример диаграммы, в которой некоторый элемент встречается 0 или 1 раз Запись на рис. 6 показывает, что операторов может быть много, но если операторов больше одного, то между ними нужно обязательно ставить «точку с запятой» (;). программирование паскаль константа логический
IMG_b92b2196-5101-4a62-af10-b6146350d752
Пример диаграммы, в которой некоторый элемент встречается 1 или более раз Таким образом, тело программы с точки зрения языка Паскаль это ноль или больше операторов, ограниченных спереди ключевым словом begin, а в конце ключевым словом end c точкой (end.). В соответствии с этим определением простейшая программа на языке Паскаль имеет вид: begin end.
Данная программа не содержит никаких действий. Она содержит только операторные скобки begin (открывающая скобка) и end (закрывающая скобка), роль которых - объединить группу операторов в единый блок. Причем, поскольку после end стоит точка (.), данный блок имеет особую роль, он определяет всю программу. В тексте программы так же могут встречаться блоки операторов, оформленные с помощью операторных скобок begin…end, но они уже будут рассматриваться как части программы, а не как вся программа. Синтаксис Паскаля требует, чтобы операторы внутри составного оператора разделялись знаком «точка с запятой» (;). Нужно заметить, что не является ошибкой, если программист ставит точку запятой после каждого оператора, в том числе и после последнего оператора, т.е. перед end. В этом случае лишний знак «точка с запятой» будет трактоваться компилятором как пустой оператор, поскольку имеет место следующее определение:
IMG_1d076d5e-ff33-43df-8726-fd094a90d76d
Синтаксическая диаграмма понятия «пустой оператор»
Приведенная выше программа, состоящая только из операторных скобок, довольно бесполезна, поскольку ничего не делает. Чтобы наполнить программу смыслом, рассмотрим основные виды операторов.
Вывод
В ходе выполнения курсовой работы мной были изучены темы «Константы языка Паскаль» и «Работа с файлами». Я провела все необходимые изучения и четко усвоила для себя данные темы. Полученные знания стали мне опорой при работе с программой. Паскаль - язык программирования, созданный в 70-х годах швейцарским профессором Николаусом Виртом специально для обучения программированию. Им же был написан ряд книг в которых подробно рассматриваются возможности этого языка и его применение для решения многих «классических» в области программирования задач. Название языку было дано в честь выдающегося французского математика Блеза Паскаля.
Язык Паскаль характеризуется четкой структурой программы, простотой и ясностью конструкций. С момента создания Паскаль был универсален и пригоден для решения широкого круга задач. Строгая типизация языка значительно сокращает количество ошибок в программах.
Список литературы
1) Вирт Н. Систематическое программирования. Введение. М.: Мир, 2012 г.
2) Вирт Н. Алгоритмы структуры данных = программы. - М.: Мир, 2010 г.
3) Могилев и др. Информатика: «Учебное пособие для вузов»/А.В. Могилев, Н.И. Пак, Е.К. Хеннер; Под редакцией Е.К. Хеннера.-М.: Изд. центр «Академия», 2008 г.
4) Давыдов В.Г. «Программирование и основы алгоритмизации».-М.: «Высшая школа», 2003 г.