Файл: Основы программирования на языке Pascal (Первая программа на Паскале).pdf
Добавлен: 31.03.2023
Просмотров: 392
Скачиваний: 5
СОДЕРЖАНИЕ
Глава 1. Введение в язык программирования Паскаль
1.2 Понятия синтаксиса, семантики и прагматики языка программирования.
Глава 2. Пример программ на Паскале. Программирование на языке Паскаль
2.1 Первая программа на Паскале
Глава 3. Возведение в степень в языке программирования Паскаль: советы и рекомендации
Паскаль – язык программирования, созданный в 70-х годах швейцарским профессором Николаусом Виртом специально для обучения программированию. Им же был написан ряд книг, в которых подробно рассматриваются возможности этого языка и его применение для решения многих «классических» в области программирования задач. Название языку было дано в честь выдающегося французского математика Блеза Паскаля.
Язык Паскаль характеризуется чёткой структурой программы, простотой и ясностью конструкций. С момента создания Паскаль был универсален и пригоден для решения широкого круга задач[2]. Строгая типизация языка значительно сокращает количество ошибок в программах.
Существует три стандарта языка:
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.2 Понятия синтаксиса, семантики и прагматики языка программирования.
Разработка программы состоит из следующих этапов:
- Создание или редактирование текста программы.
- Компиляция – перевод программы с языка высокого уровня в машинно-ориентированные коды.
- Исполнение откомпилированного файла.
- Тестирование и отладка .
Компиляцию программы выполняет особая программа, называемая компилятором.
Этапы компиляции:
- Лексический анализ.
- Синтаксический анализ.
- Семантический анализ.
- Генерация промежуточного кода.
- Оптимизация кода.
- Генерация результирующего машинного кода.
В ходе лексического анализа текст программы разбивается на отдельные составляющие – лексемы. При выделении лексем важную роль играет алфавит языка, а также правила построения ее отдельных элементов: имен, комментариев, констант.
В ходе синтаксического анализа проверяется правильность записи операторов в соответствии с правилами языка. Ошибки, выявленные компилятором во время лексического и синтаксического анализа, называются синтаксическими ошибками[3].
Семантика языка программирования – это система правил определения поведения отдельных языковых конструкций. Семантика определяет смысловое значение предложений языка. Не все семантические ошибки могут быть выявлены компилятором. Например, запись выражения в виде a/b*c не вызовет ошибки, хотя и является неправильной, исходя из приоритета выполнения операций. В ходе семантического анализа компилятор проверяет соответствие типов и допустимость операндов в операторах. Так попытка изменить значение константы, которая по определению является неизменяемым значением, приведет к семантической ошибке. Использование типа данных, недопустимого в данной конструкции, или несоответствие типов формальных и фактических параметров процедуры или функции, так же является семантической ошибкой.
При описании языков программирования большое внимание уделяется описанию синтаксиса и семантики, но знание только синтаксиса и семантики не сделает из человека программиста, он кроме этого должен знать прагматику языка. Прагматика языка программирования – это, по сути дела, методология программирования, т.е. описание методов и приемов, позволяющих, исходя из постановки задачи, составить программу ее решения. Описание прагматики языка программирования осложняется тем, что некоторые задачи, хотя и формулируются крайне просто, не имеют никакого алгоритма для их решения. Такова, например, задача: проверить, является ли любая данная программа семантически правильной. Задачи этого рода называются алгоритмически неразрешимыми.
Из-за существования алгоритмически неразрешимых задач предмет прагматики становится несколько расплывчатым и неопределенным – нельзя в общем случае дать никаких рекомендаций, которые от постановки задачи гарантированно приводили бы к ее решению. Кроме того, из-за разнообразия задач, решаемых с помощью компьютера, те рекомендации, которые могут быть даны, либо носят чересчур общий характер, либо, наоборот, слишком конкретны, относятся к узкому классу задач. Теория программирования, хотя и может гордиться рядом значительных достижений, ориентирована больше на разработчиков алгоритмических языков и программного обеспечения ЭВМ, чем на пользователей. Многие ее рекомендации представляют собой лишь постановки задач, решение которых потребует еще многих лет труда системных программистов, если вообще когда-либо будет достигнуто. Поэтому большую роль в овладении навыками составления программ играет разбор примеров разной степени сложности из разных классов задач.
Глава 2. Пример программ на Паскале. Программирование на языке Паскаль
Казалось бы, программа на языке Паскаль – дело легкое и типичное для любого программиста, однако нельзя сказать, что сам язык слишком слаб для современного мира. Ведь не зря он считается базовым и изучается в школе.
Зачастую, для написания программ на Паскале пользуются такой средой программирования, как Turbo Pascal (Турбо Паскаль) .
Почему новичкам следует выбирать именно этот язык? Попробуем разобраться. Для того чтобы полностью овладеть любым языком программирования, необходимо иметь соответствующую литературу. Именно поэтому большинство языков отпадают сразу, в частности и Лого[4]. Он мало распространен в русскоговорящих странах, поэтому обучающих книг по нему нет. На данный момент самыми известными являются Pascal, Java, Basic и C. Рассмотрим каждый отдельно. Java, в основном, используется для программирования в сети. C – один из наиболее распространенных языков, однако и самый сложный (особенно для новичков). Для того чтобы в итоге научиться писать программы на нем, лучше всего сперва освоить Pascal или Basic. Они оба изучаются в школах (на выбор преподавателя). Причина их распространенности кроется в том, что на этих языках можно написать такую же программу, как и на C или C++, но само его освоение намного легче за счет простоты построения.
Стоит помнить, что версий Pascal и Basic достаточное количество, но в школах больше распространены такие виды, как Turbo Pascal 7.0 и QBasic. Если брать в сравнение именно их, то последний больше создан для того, чтобы писать маленькие программки длиной до 50 строк. Turbo Pascal же мощнее и быстрее.
2.1 Первая программа на Паскале
Пример программ на Паскале с легкостью можно найти в интернете, сложнее понять, как они устроены.
Для того чтобы понять, как устроен этот язык, необходимо написать небольшую «задачу». Допустим, нужно составить программу, которая будет складывать два числа: Q+W=E. Что же следует выполнить для ее создания?
Буква E будет выступать переменной (в математике – икс). Обязательно ей нужно присвоить имя (не более 250 символов). Оно может состоять из:
•букв латинского алфавита (A..Z);
•цифр от 0 до 9. Но следует запомнить, что имя не должно начинаться с цифры;
•символа «_».
В названии не должны встречаться:
•русские буквы;
•знаки препинания;
•спец. символы, такие как решетка «#», процент «%», доллар «$», тильда «~» и др.
Примером правильного имени может быть «red_velvet4», «exo» или «shi_nee». Нужно также помнить, что Паскаль к регистру букв нечувствителен, поэтому переменные с названиями «btob» и «BtoB» рассматриваются как одна. Как именно в среде программирования «заводятся» и называются ячейки, будет понятно ниже. После этого процесса необходимо определить тип переменной. Это необходимо для того, чтобы программа корректно показывала результат на экране или печатала его на бумаге. Например, если складываются два числа, то указывается числовой тип, а если выводится приветствие, то – строковой. Для обычного сложения двух чисел подойдет тип Integer («число»).
С типом для переменных все понятно, но его нужно присвоить для всех числовых переменных, для того чтобы свободно ими манипулировать.
Опираясь на то, что написано выше, можно легко написать небольшую «задачку». Программа на Паскале будет выглядеть таким образом:
Program shi_nee;
Var Q, W, E: integer;
BEGIN
E:=Q+W;
END.
Первая строка, т. е. program shi_nee – название или заголовок самой программы. Это необязательный компонент, не влияющий на работу написанного вычисления. Он, если используется, в обязательном порядке должен находиться первым, иначе среда программирования выдаст ошибку.
Описание переменных происходит во второй строке благодаря оператору «var». Необходимо перечислить все переменные, которые фигурируют в программе и через двоеточие добавить тип (integer).
Пара операторов «BEGIN» - «END» начинает и, соответственно, завершает выполнение программы. Они наиболее важны; между ними находятся все действия, описанные программистом[5].
2.2 Синтаксис языка
Важно помнить, что каждая строка программы завершается точкой с запятой. Исключением из правила будут служебные команды типа var, begin, const и др. После конечного оператора end должна ставиться точка. В некоторых случаях, когда в программе несколько вложений и используются операторные скобки «BEGIN» - «END», после данной команды может ставиться точка с запятой.
Для того чтобы присвоить ячейке ее значение, например, E=15, необходимо перед знаком равно ставить двоеточие:
Q:=15:
W:=20;
E:=Q+W;
Двоеточие в данном языке называется присвоением. Программа на Паскале пишется очень легко, если освоить выше описанные правила синтаксиса.
Запустив Turbo Pascal, необходимо напечатать программу, правильно расположив требуемые знаки и установив нужный порядок строк. Запуск программы можно осуществить через контекстное меню или же при помощи клавиш Ctrl+F9. Если все набрано правильно, то экран немного мигнет. В том случае если присутствует ошибка, то работа программы приостановится, а курсор установится в той строке, где она имеется. При этом, в строке «Вывод» появится описание самой ошибки, например, error 85: «;» expexted. Эта строка указывает, что где-то отсутствует точка с запятой. Однако пока обращать внимание на подобные неполадки не стоит, нужно разобраться со структурой, используя примеры программ на языке Паскаль .
Для начала полностью разобраться с каждой строкой программы. Затем обратить внимание на синтаксис, отложить в своей памяти специальные операторы, после которых знак препинания не ставится, усвоить логическую цепочку из begin и end. Запомнить, как именно заводятся переменные, какой тип им необходим и для чего он вообще нужен. Разобраться в функционировании самой среды программирования будет также не лишним. Для этого можно воспользоваться руководством или же «тыкать» в Turbo Pascal самостоятельно. Постоянно нужно практиковаться, разбирать уже готовые «задачи» из интернета и потихоньку набирать пример программ на Паскале самостоятельно.
2.3 Одномерные массивы
Массив используется для удобной работы с однотипными данными, которые в этом случае размещаются в последовательных ячейках памяти, а не отдельно. Вряд ли программистам удобно работать с 50 или 100 переменными. Удобнее записать их в массив.