Курсовая работа по дисциплине «информатика»

Студент группы

Тюменский государственный нефтегазовый университет

2007

Аннотация

В данной пояснительной записке содержат 65 страниц, 7 картинок. Программа «Алфавит» занимает 538 байт, «Калькулятор» занимает 535 байт. Данная курсовая работа раскрывает тему ссылочных данных и динамических переменных. Содержит две главы. В первой главе дается теоретическое объяснение ссылочным данным и динамическим переменным. Во второй главе дает практическое объяснение, которое раскрыто в двух задачах.

Федеральное агентство по образованию

государственное образовательное учреждение высшего профессионального образования

Тюменский государственный нефтегазовый университет

Тобольский индустриальный институт

«Утверждаю:»

Заведующий Кафедры

___________________

___________________

«___»________200_ г.

Задание

Курсовая работа по дисциплине

информатика

Студент: группа: руководитель:

Тема курсовой работы :Ссылочные типы. Динамические переменные

Техническое задание

Составить программу «Калькулятор»

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

Отчетный материал курсовой работы

Пояснительная записка

Дискета с отложенной версией программы

Рекомендуемая литература

Рапаков Г. Г. и Ржецукая С. Ю.. Turbo Pascal для студентов и школьников. BHV – С.-Петербург 2004

Меженный О. А. Turbo Pascal: учитель программирования. Диалектива 2001.

Культин Н.. Программирование в Turbo Pascal и Delphi. BHV 2003

Фаронов В. В. Turbo Pascal: учебное пособие. BHV 2006

Задание выдано «__»_____200_ г.

Руководитель ______

(подпись)

Отзыв руководителя

_______________________________________________________________________________________________________________________________________________________________________________________________________________________________________

Руководитель_________

(подпись)

Задание принято «__»_______200_ г.

Введение

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

сама программа пользователя;

системные программы времени выполнения, которые осуществляют вспомогательные действия при работе программы пользователя;

определяемые пользователем структуры данных и константы;

точки возврата для программ;

временная память для хранения промежуточных результатов при вычислении выражений;

временная память при передаче параметров;

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

различные системные данные (информация о статусе устройств ввода-вывода и др.).

И статические, и динамические переменные вызываются по их адресам. Без адреса не получить доступ к нужной ячейке памяти, но, используя статические переменные, непосредственно адрес не указываете, а обращаетесь к переменной по имени. Компилятор размещает переменные в памяти и подставляет нужные адреса в коды команд.

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

выделение памяти под динамическую переменную;

присвоение указателю на динамическую переменную адреса выделенной памяти (инициализация указателя);

освобождение памяти после использования динамической переменной.

Из этого перечня видно, что управление памятью касается широкого класса объектов.

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

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

Глава I. Теоретическая часть


Информация о работе «Ссылочные типы. Динамические переменные»
Раздел: Информатика, программирование
Количество знаков с пробелами: 37264
Количество таблиц: 2
Количество изображений: 8

Похожие работы

Скачать
10828
0
0

... ссылочного типа:  <задание ссылочного типа>::= ^<имя типа> ^ - признак ссылочного типа; <имя типа> - имя стандартного либо описанного ранее типа. Это тип динамических объектов, которые может представлять переменная ссылочного типа. Надо подчеркнуть , что здесь может быть только имя типа.  Сами переменные ссылочного типа вводятся обычным образом. type массив = array ...

Скачать
274963
85
0

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

Скачать
94620
8
0

... Закрыть программу можно нажатием на кнопку «Закрыть» или F10. Заключение В квалификационной работе мы попытались раскрыть более полно и наглядно понятие линейного списка, однонаправленного и двунаправленного списков, стека, дека и очереди. Сформировать и закрепить познавательный интерес к данной теме у учащихся. Выявлять и развивать творческие способности в использовании полученного навыка при ...

Скачать
19204
5
5

... "nсреднее целое равно " << MidInt / double(NMax) << "n"; cout << "среднее вещественное равно: " << MidReal / n << "n"; fclose(t); } Списки Обсудим вопрос о том, как в динамической памяти можно создать структуру данных переменного размера. Разберем следующий пример. В процессе физического эксперимента многократно снимаются показания прибора (допустим, термометра) ...

0 комментариев


Наверх