Файл: Основы программирования на языке Pascal (Исследование предметной области).pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 30.03.2023

Просмотров: 262

Скачиваний: 2

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Наиболее известной реализацией Паскаля, обеспечившей широкое распространение и развитие языка, является Turbo Pascal фирмы Borland, выросшая затем в объектный Паскаль для DOS (начиная с версии 5.5) и Windows и далее в Delphi, в которой были внедрены значительные расширения языка.

Диалекты Паскаля, применяемые в Turbo Pascal для DOS и Delphi для Windows, стали популярны из-за отсутствия других успешных коммерческих реализаций.

После начала использования Паскаля в 1970 году и появления реализаций, расходящихся не только в дополнениях, но и в синтаксисе, был поднят вопрос о стандартизации языка. Стандарт языка был разработан Никлаусом Виртом в 1974 году совместно с Кетлин Йенсен (Kathleen Jensen). В дальнейшем, были приняты международный стандарт от ISO и американский от ANSI. На данный момент, выделяют три принципиально разных стандарта: Unextended Pascal (исходный), Extended Pascal (расширенный), Object-Oriented Extensions to Pascal (объектно-ориентированное расширение Паскаля).

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

Стандартизация языка была запаздывающей по отношению к реальному появлению в языке тех или иных возможностей. Коммерческие реализации расширяли стандартный Паскаль; так было сделано в UCSD Pascal, модификации Object Pascal фирмой Apple, Turbo Pascal от Borland (незначительно модифицированная версия Apple) и его ответвлений. Ни одна из распространённых коммерческих реализаций Паскаля не соответствует в точности ни одному из официальных стандартов языка. [3]

Паскаль, в его первоначальном виде, представляет собою чисто процедурный язык и включает в себя множество алголоподобных структур и конструкций с зарезервированными словами наподобие if, then, else, while, for, и т. д. Тем не менее, Паскаль также содержит большое количество возможностей для структурирования информации и абстракций, которые отсутствуют в изначальном Алголе-60, такие как определение типов, записи, указатели, перечисления, и множества. Эти конструкции были частично унаследованы или инспирированы от языков Симула-67, Алгол-68, созданного Никлаусом Виртом AlgolW (англ.) русск. и предложены Хоаром.

В современных диалектах (Free Pascal) доступны такие операции, как перегрузка операторов и функций.

2.2 Синтаксис языка Pascal

Pascal работает на различных платформах, таких как Windows, Mac OS и различных версиях UNIX/Linux.


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

Паскаль — это язык на основе Алгола и включает в себя множество конструкций Алгола. Алгол 60 является подмножеством Паскаля. Паскаль предлагает несколько типов данных и структуры программирования. Легко понять и поддерживать программы Pascal. [1]

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

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

Особенности языка Pascal. Паскаль имеет следующие функции:

Паскаль — строго типизированный язык;

  • он предлагает обширную проверку ошибок;
  • он предлагает несколько типов данных, таких как массивы, записи, файлы и наборы;
  • он предлагает различные структуры программирования;
  • он поддерживает структурированное программирование через функции и процедуры; [7]
  • он поддерживает объектно-ориентированное программирование.

Ниже приведен простой код паскаль (листинг 1), который будет печатать слова «Hello, World!».

Листинг 1 — Простая программа на Pascal

program HelloWorld;

uses crt;

begin

writeln('Hello, World!');

readkey;

end.

Определение переменной помещается в блок, начинающийся с ключевого слова var , с последующим определением переменных следующим образом: «var A_Variable, B_Variable ... : Variable_Type;»

Переменные Pascal объявляются вне тела кода функции, что означает, что они не объявлены в парах начала и конца, но они объявляются после определения процедуры/функции и перед ключевым словом begin. Для глобальных переменных они определяются после заголовка программы. [8]

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

Листинг 2 — Определение процедур

Function Func_Name(params...) : Return_Value;

Procedure Proc_Name(params...);

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

Листинг 3 — Комментарии

{* Это многострочный

комментарий *}

{ Это однострочный комментарий }

Объявление типа используется для объявления типа данных идентификатора. Синтаксис объявления типа: type-identifier-1, type-identfier-2 = type-specifier;


Например, следующее объявление определяет переменные days и age как integer type, yes и true как Boolean type, name и city как тип строки, сборы и расходы как реальный тип (листинг 4). [5]

Листинг 4 — Определение переменных

type

days, age = integer;

yes, true = boolean;

name, city = string;

fees, expenses = real;

Основные переменные в Паскаль показаны ниже:

  1. Символ. Обычно один байт. Это целочисленный тип.
  2. Целое число. Самый естественный размер целого для машины.
  3. Числа с плавающей запятой. Значение с плавающей запятой с одиночной точностью.
  4. Логический. Задает истинные или ложные логические значения. Это также целочисленный тип.
  5. Перечислимый. Определяет пользовательский список.
  6. Поддиапазон. Представляет переменные, значения которых лежат в пределах диапазона.
  7. Строка. Сохраняет массив символов.

Язык программирования Pascal также позволяет определять различные другие типы переменных, таких как «Указатель», «Массив», «Записи», «Наборы и файлы» и т. д. [5]

Все переменные должны быть объявлены до их использования в программе Pascal. За всеми объявлениями переменных следует ключевое слово var . Объявление определяет список переменных, за которым следует двоеточие (:) и тип. Синтаксис объявления переменной показан на листинге 5.

Листинг 5 — Определение переменных

var

variable_list : type;

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

Листинг 6 — Объявления переменных

var

age, weekdays : integer;

taxrate, net_income: real;

choice, isready: boolean;

initials, grade: char;

name, surname : string;

Pascal позволяет объявить собственный тип. Этот тип может быть идентифицирован по имени или идентификатору. Он может использоваться для определения переменных этого типа (листинг 7).

Листинг 7 — Объявление типов

type

days, age = integer;

yes, true = boolean;

name, city = string;

fees, expenses = real;

Константа — это объект, который остается неизменным во время выполнения программы. Паскаль позволяет объявлять только константы следующих типов:

  • порядковые типы;
  • установочные типы;
  • типы указателей;
  • реальные типы;
  • строка.

Синтаксис для объявления констант показан на листинге 8. [5]

Листинг 8 — Объявление констант

const

identifier = constant_value;

Необходимо соблюдать форматирование в выводе программы. Переменная c должна быть отформатирована с общим числом цифр 7 и 2 цифрами после десятичного знака. Pascal допускает такое форматирование вывода с числовыми переменными.


2.3 Разработка программ на языке Pascal

Программа Pascal в основном состоит из следующих частей:

  • название программы;
  • использование команды;
  • объявление типа;
  • постоянные декларации;
  • объявления переменных;
  • объявление функций;
  • запросы процедур;
  • основной программный блок;
  • выражения и выражения в каждом блоке;
  • комментарии.

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

Паскаль позволяет определять вложенные процедуры на любой уровень глубины. Это действительно обеспечивает отличную среду программирования для обучения программированию как систематической дисциплины, основанной на фундаментальных концепциях. [7]

Приведем примеры программ на Pascal (листинг 12, 13 и 14).

Листинг 12 — Функция проверки числа на четность

function Even(x: integer): boolean;

begin

Result := x mod 2 = 0

end;

begin

writeln(Even(3));

writeln(Even(4));

writeln(Even(7));

end.

Листинг 13 — Функция определения простоты числа

function IsSimple(N: integer): boolean;

begin

Result := True;

for var i:=2 to round(sqrt(N)) do

if N mod i = 0 then

begin

Result := False;

exit;

end;

end;

begin

writeln(IsSimple(13));

writeln(IsSimple(4));

writeln(IsSimple(7));

end.

Листинг 14 — Функция вычисления n-того числа Фибоначчи

function Fib(N: integer): integer;

begin

if (N=1) or (n=2) then

Result := 1

else

begin

var a := 1;

var b := 1;

for var i:=3 to N do

begin

Result := a + b;

a := b;

b := Result;

end;

end;

end;

begin

writeln(Fib(5));

writeln(Fib(6));

writeln(Fib(7));

end.

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

ЗАКЛЮЧЕНИЕ

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

Были приведены примеры разработки программ на этом языке. Также были изучены различные парадигмы программирования.

Поставленные задачи были решены, в частности, было раскрыто понятие «объектно-ориентированного программирования», рассмотрен процедурный подход.


Была изучена различного рода литература, которая приведена в конце данной работы.

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

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

Разработчику все равно нужно будет указать, кто использует программу и что им нужно получить, но код не используется повторно в том же виде, как в объектно-ориентированное программировании. Благодаря кодированию таким образом процесс разработки намного проще, но также требует больше времени.

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

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

В отличие от объектно-ориентированного программирования, где объекты и классы могут быть указаны во всей программе, проблемы, решаемые в процедурном программировании, должны быть индивидуально рассмотрены по мере выполнения программы.

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