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

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

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

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

Добавлен: 31.03.2023

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

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

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

Введение

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

Язык программирования Pascal активно используется для обучения алгоритмизации и решения учебных задач. Современная трансформация языка программирования Pascal – Delphi, который уже является объектно-ориентированным и при помощи него можно решать профессиональные задачи и разрабатывать сложные программные системы.

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

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

Объект исследования – язык программирования Pascal.

Предмет исследования – разработка программ.

Целью данной работы является изучение основ программирования на Pascal.

В соответствии с целью была определена необходимость постановки и решения следующих задач:

– описать язык программирования Pascal;

– описать состав языка программирования Pascal;

– выполнить постановку задачи;

– разработать программу генерации случайных чисел.

1. Теоретическая часть

1.1. Характеристика языка программирования Pascal

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

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


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

PascalABC.NET представляет собой язык программирования Pascal нового поколения, который включает в себя классический Pascal, большую часть функциональных возможностей языка программирования Delphi, а также ряд собственных специализированных расширений. PascalABC.NET реализован на базе использования платформы Microsoft.NET и включает все современные языковые средства, среди которых можно выделить: классы, перегрузку операций, интерфейсы, обработку исключений, обобщенные классы и подпрограммы, сборку мусора, лямбда-выражения, средства параллельного программирования.

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

В тоже время, PascalABC.NET представляет собой простую и мощную интегрированную среду разработки, которая поддерживает уникальную технологию IntelliSense, которая содержит в себе специализированные средства автоформатирования, встроенный отладчик и дизайнер форм. Кроме того, консольный компилятор PascalABC.NET может работать в операционной системе Linux и MacOS под Mono [10].

Среди ключевых особенностей PascalABC.NET можно выделить следующие:

– ряд расширений языка программирования Pascal, в числе которых оператор foreach, внутриблочные описания переменных, автоопределение типа при описании, встроенные множества произвольных типов, case по строкам, упрощенный синтаксис модулей, методы в записях, операция new для создания объектов, определение тел методов внутри классов, целые произвольной длины, многомерные динамические массивы;

– самые современные средства языков программирования, среди которых выделяются: обобщенные классы и подпрограммы, интерфейсы, перегрузка операций, лямбда-выражения, исключения, сборка мусора, методы расширения, безымянные классы, автоклассы;

– генерация эффективного программного кода для технологической платформы .NET;

– реализована высокая совместимость с языком программирования Delphi;

– реализована высокая скорость выполнения разрабатываемых программ;

– возможность осуществления доступа к большому количеству .NET-библиотек от контейнерных классов до специализированных средств работы с компьютерной вычислительной сетью;


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

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

– реализована простая и эффективная растровая графическая библиотека функций;

– средства параллельного программирования в виде специальных директив OpenMP;

– встроенный электронный задачник Programming Taskbook с набором программ;

– модули исполнителей Робот и Чертежник, используемых в школьной информатике;

– механизм проверяемых заданий, обеспечивающий автоматическую постановку и проверку заданий;

– возможность непосредственного запуска консольного компилятора под Mono в современных версиях операционной системы Linux, возможность встраивания PascalABC.NET в редактор Geany [9].

Система PascalABC.NET является совместной разработкой российских и немецких программистов. В Российской Федерации центр разработки находится в институте математики, механики и компьютерных наук Южного федерального университета;

PascalABC.NET активно используется в большом количестве средних и высших учебных заведений Российской Федерации и ближнего зарубежья. Так, на мехмате Южного федерального университета PascalABC.NET используется для осуществления обучения 1 курса направления Фундаментальная информатика и информационные технологии в курсе Основы программирования, а также для непосредственного обучения школьников в одной из самых больших в России Детской компьютерной школе.

1.2. Состав языка программирования Pascal

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

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


Паскаль, в его первоначальном виде, представляет собою чисто процедурный язык и включает в себя множество алголоподобных структур и конструкций с зарезервированными словами наподобие if, then, else, while, for, repeat и т. д.

В стандартном и расширенном Паскале есть такие простые типы: числа с плавающей запятой (real), целые (integer), символьный (char), логический (boolean) и перечисления (конструктор нового типа, введённый в Pascal) [4].

Turbo Pascal дополнил язык вариациями этих типов: например, shortint будет короче integer, а longint – длиннее.

Современные диалекты Pascal, такие, как FPC или Delphi, считают, что integer ­– это наиболее подходящий для данной машины целый, применяемый, например, для индексов массива, а shortint, longint и другие – целые определённой длины; это удобно при кроссплатформенном программировании. Аналогично и с дробными числами [5].

Для порядковых типов определены операции inc, dec, succ, pred, ord, операции сравнения (=>, <=>, <=, <>), их можно использовать в операторах case, for (как счётчик цикла), как границы массивов, для задания элементов множеств и типов-диапазонов [8].

В Pascal, в отличие от Си-подобных языков, с типами boolean и char арифметические целочисленные операции не определены [2].

Таким образом, анализируя возможности языка программирования Pascal и в частности PascalABC.NET можно сделать вывод о том, что данный язык программирования включает достаточное количество функциональных возможностей для разработки прикладных программ начального уровня. Например, в качестве примера демонстрации возможностей языка программирования можно разработать программу генерации случайных чисел при помощи функций random() и randomize().

2. Практическая часть

2.1. Постановка задачи

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

2.2. Разработка программ генерации случайных чисел

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


Для этого необходимо ввести специальный оператор randomize в промежутке после begin и до random (обычно оператор randomize ставится сразу после begin, так как это позволяет существенно упростить читаемость программного кода). Затем идет присвоение оператора random к выбранной переменной.

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

оператор:= random (max-min+1)+min;

– оператор - любая программная переменная;

– min - целое число, не превышающее значение max;

– max - целое число, большее значения min.

В представленном описании min и max являются диапазонами генератора случайных чисел.

Теперь для наглядности пример генератора случайных чисел от 2 до 5. Блок-схема реализации алгоритма может быть представлена следующим образом, рис. 1.

Рисунок 1 – Блок-схема алгоритма

Исходный код программы на языке программирования Pascal примет следующий вид

var x:integer;

begin

randomize;

x :=random (4)+2;

write (x:5);

end.

Здесь 4 - это результат выражения 5-2+1.

Результат выполнения программы представлен в виде скриншота программы PascalABC.NET, рис. 2.

Рисунок 2 – Результат выполнения программы

Реализуя аналогичную прикладную программы для языка программирования PascalABC.NET необходимо внести некоторые изменения в работу программы.

Здесь можно применять оператор random так же как и для Turbo Pascal, однако есть еще один вариант, более простой в своем практическом использовании.

оператор:= random (min,max);

– оператор - любая переменная;

– min - целое число, не превышающее max;

– max - целое число, большее min.

Чтобы разница лучше просматривалась, можно решить тот же пример генератора случайных чисел от 2 до 5. Блок-схема реализации алгоритма может быть представлена следующим образом, рис. 3.

Исходный код программы на языке программирования PascalABC.NET примет такой вид

var x:integer;

begin

randomize;

x :=random (2,5);

write (x:5);

end.

Результат выполнения приведенной программы представлен в виде скриншота программы PascalABC.NET, рис. 4.

Рисунок 3 – Блок-схема алгоритма

Как уже стало заметно второй способ гораздо проще реализовать, однако его можно использовать только в PascalABC.NET.

Рассмотрим еще несколько практических примеров реализации генератора случайных чисел.