Логотип Автор24реферат
Задать вопрос
Реферат на тему: Создание ссылочных типов в языке программирования Паскаль
100%
Уникальность
Аа
32376 символов
Категория
Программирование
Реферат

Создание ссылочных типов в языке программирования Паскаль

Создание ссылочных типов в языке программирования Паскаль .doc

Зарегистрируйся в два клика и получи неограниченный доступ к материалам,а также промокод Эмоджи на новый заказ в Автор24. Это бесплатно.

Введение

Актуальность темы – при создании реальных приложений у программистов могут возникать проблемы нехватки памяти из-за большого объема данных и ограниченности ресурсов памяти компьютера. Ответом на возникшую проблему стали динамические структуры данных, память под которые выделяется и освобождается по ходу работы программы.
Для работы с динамическими переменными на языке высокого уровня Паскаль существует ссылочный тип или тип указателей. Переменная ссылочного типа будет хранить адрес объекта, а не его значение.
Объект исследования – языки программирования высокого уровня.
Предмет исследования – создание ссылочных типов в языке программирования Паскаль
Цель работы – систематизировать знания по программирования на языке Паскаль в разрезе работы с ссылочным типом данных.
Для достижения поставленной цели необходимо решить следующие задачи:
1. Рассмотреть вопросы, касающиеся объекта исследования – языков программирования высокого уровня (лексические, семантические и синтаксические правила языка);
2. Провести классификация языков программирования высокого уровня;
3. Рассмотреть последовательность разработки программного кода,
4. Ответить на вопрос о качестве кода, написанного на языке высокого уровня;
5. Рассмотреть вопросы, касающиеся предмета исследования - создание ссылочного типа данных в языке программирования Паскаль.
6. В одной из сред раз разработки языка Паскаль реализовать программу, в которой используются ссылочные типы данных.
Данная тема широко освещена в работах по программированию на различных языках, в работах зарубежных и российских авторов: Климов А.., Кнут Д., Культина Н. Б., Майо Дж., Мейер Б. и т.д.
Структура работы. Работа выполнена на 34 листах, содержит 22 рисунка и 16 листингов программы.
Работа состоит из введения, трех глав, заключения, списка использованной литературы.
ВоВведение

указывается актуальность работы, предмет исследования, объект исследования, цель работы и задачи.
В первой главе «ЯЗЫКИ ПРОГРАММИРОВАНИЯ ВЫСОКОГО УРОВНЯ» рассматриваются следующие вопросы:
Классификация языков программирования
Этапы создания программ на языке высокого уровня
Качество программного обеспечения
Во второй главе «СОЗДАНИЕ ССЫЛОЧНЫХ ТИПОВ В ЯЗЫКЕ ПРОГРАММИРОВАНИЯ ПАСКАЛЬ» рассматриваются следующие вопросы:
Типы данных в языке Паскаль
Работа с ссылочным типом данных в языке Паскаль
В третьей главе «ПРАКТИЧЕСКАЯ ЧАСТЬ» рассматриваются следующие вопросы:
Среда разработки языка Паскаль
Пример 1. Линейные списки
Пример 2. Двунаправленные списки
В заключение подводиться вывод по работе в целом.

1. ЯЗЫКИ ПРОГРАММИРОВАНИЯ ВЫСОКОГО УРОВНЯ

Для взаимодействия человека и компьютера, а именно для понимания формальной системы знаков (письма, буквы и слова) необходим язык программирования, предназначенный для записи исполняемых компьютерных программ. [8, с.88]
Язык программирования имеет множество определений, одним которых является следующее: язык программирования это система слов и правил, используемая для создания программ для компьютера. В современных программах все чаще выделяют следующие понятия:
- бэкэнд программы - часть программы, которая отвечает за создание и поддержку серверной части приложений, которая взаимодействует с клиентской частью.
- фронтэнд программы - это любой компонент программы, управляемый пользователем ( REF _Ref498097425 \h \* MERGEFORMAT Рисунок 1),


Рисунок SEQ Рисунок \* ARABIC 1 - Отличие бэкэнда и фронтэнда программы

Любой язык программирования имеет похожие лексические единицы, или по другому из называют лексемы. Алфавит языка - это основные символы языка - буквы, цифры и специальные символы. Обычно язык программирования включает в себя следующий набор основных символов:
1) строчные и заглавные буквы латинского и национального алфавитов,
2) числа,
3) знаки операций: + - * / = <: @ & |,
4) Знаки скобок :. , '() [] {},
5) символ подчеркивания _ и пробел,
6) специальные символы: ^ # $ и другие.


Рисунок SEQ Рисунок \* ARABIC 2 – Лексические правила языка программирования

Синтаксис - это правила языка программирования, который описывает структуру программ как наборов символов (обычно они говорят - независимо от содержания). Синтаксис языка противоположен его семантике.


Рисунок SEQ Рисунок \* ARABIC 3 – Синтаксическое правило для языка Паскаль

Семантика - изучает формализацию конструкций языка программирования путем построения их формальных математических моделей. В качестве инструментов для построения таких моделей могут использоваться различные инструменты, например математическая логика, λ-исчисление, теория множеств, теория категорий, теория моделей, универсальная алгебра. Формализация семантики языка программирования может использоваться как для описания языка, определения свойств языка, так и для формальной проверки программ на этом языке программирования.
1.1. Классификация языков программирования
Языки программирования могут быть классифицированы по различным критериям ( REF _Ref498097598 \h \* MERGEFORMAT Рисунок 4).


Рисунок SEQ Рисунок \* ARABIC 4 – Классификация языков программирования

1. С точки зрения поколения языков выделяют:
Языки первого поколения 1GL
Языки второго поколения 2GL
Языки третьего поколения 3GL
Языки четвертого поколения 4GL
Языки 5-го поколения 5GL
Языки первого поколения 1GL - языки низкого уровня - это языки двоичных процессоров, которые представляют набор инструкций, написанных в двоичном коде (0.1)
Языки второго поколения 2GL - системные языки, промежуточные языки - текстовые языки, понятные человеку и переведенные на машинный двоичный код.
Языки третьего поколения 3GL - языки высокого уровня - это текстовые языки, которые аппроксимируются с точки зрения словарного запаса и синтаксиса на человеческий язык, что позволяет писать программные конструкции в форме, удобной для человека.
Языки четвертого поколения 4GL - языки визуального программирования - это языки блок-схем и диаграмм, которые позволяют отображать алгоритмы в программных проектах, что облегчает создание и анализ алгоритмов. [9]
Языки 5-го поколения 5GL - интеллектуальные языки программирования. Примеры: система MatCAD, языки искусственного интелекта.
2. С точки зрения уровня языки программирования разделяют на:
Языки низкого уровня
Языки высокого уровня
Языки сверхвысокого уровня
Языки низкого уровня - это языки программирования, которые близки к программированию непосредственно в машинных кодах реального процессора. Известным примером низкоуровневого языка является язык ассемблера.
Языки высокого уровня - язык программирования, с помощью которого программисты могут быстро и просто писать большие объемы кода.
Языки сверхвысокого уровня - язык программирования с очень высоким уровнем абстракции, используется для быстрого прототипирования,.
1.2. Этапы создания программ на языке высокого уровня
Модель жизненного цикла отражает различные состояния системы, начиная с момента возникновения необходимости в данной программной системе и заканчивая моментом ее полного выхода из употребления. Выделяют следующие виды моделей:[13]
Последовательная модель разработки – каскадная модель.
Итеративная модель разработки – спиральная модель разработки, инкрементальная модель разработки, V-образная модель разработки.
Рассмотрим некоторые из этих моделей.
1. Каскадная модель [6] предусматривает последовательное выполнение всех этапов проекта в строго фиксированном порядке. Переход на следующий этап означает полное завершение работ на предыдущем этапе. ( REF _Ref495929694 \h \* MERGEFORMAT Рисунок 5).
Утверждение требований - сбор требований к информационной системе.[3]
Проектирование – на данном этапе идет описание внутренней структуры, в форме диаграмм и текстов.

Рисунок SEQ Рисунок \* ARABIC 5 – Каскадная модель
Разработка — этап непосредственно программирования или кодирования на выбранном языке. [11]
Тестирование – проведение ряда тестовых испытаний программного кода.[20]
Поддержка – сопровождение программы в процессе эксплуатации.
2. Спиральная модель - на каждом витке спирали выполняется создание очередной версии продукта, уточняются требования проекта, определяется его качество и планируются работы следующего витка

Зарегистрируйся, чтобы продолжить изучение работы

. ( REF _Ref484509721 \h \* MERGEFORMAT Рисунок 6)


Рисунок SEQ Рисунок \* ARABIC 6 – Спиральная модель
1.3. Качество программного обеспечения
Качество программного обеспечения - весь объём признаков и характеристик программ, который относится к их способности удовлетворять установленным или предполагаемым потребностям ( REF _Ref498098584 \h \* MERGEFORMAT Рисунок 7)[16]


Рисунок SEQ Рисунок \* ARABIC 7 - Качество программного обеспечения

Существует несколько основных критериев оценки качества программного обеспечения:
1. Качество исходного кода.
Стандарты соответствия стандартам;
Простота поддержки;
Небольшое количество предупреждений во время компиляции.
2. Качество программного продукта.
Функциональность;
Надежность;
Простота использования;
Эффективность;
Безопасность.
Качество программного обеспечения может быть улучшено с помощью итеративного процесса непрерывного улучшения. Это требует контроля, координации и обратной связи в управлении во многих параллельных процессах:
В процессах жизненного цикла,
В обнаружении, устранение и предотвращение сбоев / дефектов и
В процессах улучшения качества.
Выводы по главе 1
В первой главе были рассмотрены теоретические вопросы программирования на языке высокого уровня. В результате были получены следующее выводы:
1. Язык программирования это система слов и правил, используемая для создания программ для компьютера.
2. Любой язык программирования высокого уровня имеет похожий состав, а именно содержит:
Алфавит языка
Синтаксис
Семантику
3. Языки программирования могут быть классифицированы по различным критериям, в работе рассмотрена классификация по следующим характеристикам:
С точки зрения поколения языков
С точки зрения уровня языка
4. Модель жизненного цикла отражает различные состояния системы, начиная с момента возникновения необходимости в данной программной системе и заканчивая моментом ее полного выхода из употребления.
5. Качество программного обеспечения - весь объём признаков и характеристик программ, который относится к их способности удовлетворять установленным или предполагаемым потребностям


2. СОЗДАНИЕ ССЫЛОЧНЫХ ТИПОВ В ЯЗЫКЕ ПРОГРАММИРОВАНИЯ ПАСКАЛЬ

В 1970 году в мире программирования произошло по меньшей мере два значительных события: появление ОС UNIX и создание нового языка программирования Паскаль. Вирт назвал это так в честь великого французского философа и математика семнадцатого века Блейза Паскаля, который изобрел первое вычислительное устройство.
Язык Паскаль ( REF _Ref503352675 \h Рисунок 8) благодаря своей последовательности, структурированности, ясности долгое время был одним из самых ярких и популярных языков программирования высокого уровня. В языке Паскаль, программа представляется как единство алгоритма (процедур/функций) и обрабатываемых им данных.


Рисунок SEQ Рисунок \* ARABIC 8– Обозначения различных версий Паскаля

В настоящий момент язык Паскаля используется при изучении алгоритмизации и программирования в школах и университетах.
2.1. Типы данных в языке Паскаль
Переменные - это именованные ячейки (области) памяти, в которые записываются сформированные типы данных.[1]
В программе на языке Паскаль выделяются группы переменных:
косвенно связанные переменные, которые используют данных в одних и тех же процедурах и функциях;
непосредственно связанные переменные, которые взаимосвязаны через указатели.
Все группы переменных образуют структуру данных. Структура данных - совокупность физически (типы данных) и логически (алгоритм, функции) взаимосвязанных переменных и их значений.[2]
Структуры данных в языке Паскаль делятся на ( REF _Ref503351255 \h Рисунок 9):


Рисунок SEQ Рисунок \* ARABIC 9 - Классификация структуры данных
простые структуры данных (базовые и примитивные), которые не могут быть разделены на составные части, большие, чем биты и всегда можно знать размер и структуру размещения в памяти. Простые структуры данных являются неделимыми единицами;
интегрированные структуры данных (сложные и составные) – это структуры данных, состоящие из других структур данных (в том числе и так же интегрированных).
Структуры данных базового типа (статические, полустатические и динамические) характерны для работы с оперативной памятью и их часто называют оперативными структурами. Файловые структуры используют для работы с данными внешней памяти. [4]
Понятие "структура данных" тесно связано с понятием "тип данных". Любые данные, т.е. переменные, константы, значения функций или значения выражений, характеризуются своими типами.
Тип данных переменной в языке Паскаль определяет:
структуру хранения данных указанного типа, т.е. выделение памяти и представление данных в ней, с одной стороны, и интерпретирование двоичного представления;
множество допустимых значений, которые может иметь тот или иной объект описываемого типа;
множество допустимых операций, которые применимы к объекту описываемого типа.
Переменные, в зависимости от использования памяти, разделяют на две группы ( REF _Ref503351421 \h \* MERGEFORMAT Рисунок 10)


Рисунок SEQ Рисунок \* ARABIC 10 – Статические и динамические данные

Статическая структура данных - совокупность фиксированного количества переменных постоянной размерности с неизменным характером связей между ними. Статические переменные помещаются в одну непрерывную область ОЗУ - сегмент данных. Длина каждого сегмента обычно составляет 65536 байт.[5]
Динамическая структура данных - совокупность переменных, количество, размерность или характер взаимосвязей между которыми меняется во время работы программ.
Динамические структуры данных базируются на двух элементах языка программирования:
динамических переменных, количество которых может меняться и в конечном счете определяется самой программой. Кроме того, возможность создания динамических массивов позволяет говорить о данных переменной размерности;
указателях, которые обеспечивают непосредственную взаимосвязь данных и возможность изменения этих связей.
Таким образом можно динамическую структуру описать следующим образом: динамические структуры данных - это динамические переменные и массивы, связанные указателями.
В Паскаль при описании типов важно фиксировать размер значений для переменных и, следовательно, размер выделенной памяти для них. [19] Как статические, так и динамические переменные расположены по их собственным адресам. Без адреса не возможно получить доступ к требуемой ячейке памяти, но для статических переменных адрес не нужен - доступ к ней выполняется по ее имени.
Адрес динамической переменной можно получить с помощью указателей. Указатель переменной на языке высокого уровня Паскаль определяет адрес объекта.
При работе с динамическими переменными в Pascal вам необходимо сделать следующее[12]:
выделить память динамической переменной;
инициализировать указатель;
освободите память после использования динамической переменной.
2.2. Работа с ссылочным типом данных в языке Паскаль
Для работы с динамическими переменными на языке высокого уровня Pascal существует ссылочный тип или тип указателей. Переменная ссылочного типа будет хранить адрес объекта, а не его значение. [14, c.45]
Указатель - это ссылка на данные или код программы. Указатель-это число, являющееся адресом элемента, на который он указывает. Использование указателей в программе даёт возможность писать сложные и более гибкие программы, что особенно необходимо при разработке алгоритмов объектно-ориентированного программирования.
Указатели необходимо применять в следующих случаях[17]:
В программе используется большой объем данных (превышающий 64К) – для работы с большими объемами данных, необходимо использовать динамически распределяемую область памяти, для чего необходимо использовать ссылку на адрес данных. Ссылки на адрес данных занимает 4Кб в сегменте данных.
Программа во время компиляции использует данные неизвестного размера - если программа обрабатывает большое количество строк, то чаще всего приходится определять длину строки по максимуму (256 символов или 256 байт). При использовании большого количества строк строки описываются как массив строк максимальной длины, где при вводе обычно складывается такая ситуация, что строки практически все полупустые, а массив строк уже использует все 64Кб выделенной памяти.
Программа использует временные буферы данных - указатели и динамическая память особенно полезны в тех случаях, когда требуется временное выделение памяти (сортировка данных, работа со временным буфером данных).
В программе используются несколько типов данных неопределенного размера - массивы не всегда имеют одну и туже структуру

50% реферата недоступно для прочтения

Закажи написание реферата по выбранной теме всего за пару кликов. Персональная работа в кратчайшее время!

Промокод действует 7 дней 🔥

Магазин работ

Посмотреть все
Посмотреть все
Больше рефератов по программированию:
Все Рефераты по программированию
Найди решение своей задачи среди 1 000 000 ответов
Крупнейшая русскоязычная библиотека студенческих решенных задач