Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Программирование 3.docx
Скачиваний:
9
Добавлен:
17.11.2019
Размер:
265.13 Кб
Скачать

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

ДИНАМИЧЕСКИЕ МАССИВЫ И КЛАССЫ В C++

Л Уфа 2008 абораторный практикум по дисциплине «Программирование на языке высокого уровня»

Составители: А.Ю. Хасанов, О.Я. Бежаева, Д.В. Семененко

УДК 004.43(07)

ББК 32.973-018.1(я7)

Динамические массивы и классы в C++: Лабораторный практикум по диадаилине «Программирование на языке высокого уровня». Часть 3. / Уфимск. гос. авиац. техн. ун-т; Сост.: А.Ю. Хасанов, О.Я. Бежаева, Д.В. Семененко. - Уфа, 2008. - 47 с.

Проанализированы особенности использования динамических массивов структур, классов и списков в C++. Особое внимание уделено описанию операторов на языке C++ и обработке структур данных. Теоретический и методический материал сопровождаются примерами практических заданий.

Предназначены для студентов первого курса, обучающихся по направлению 230100 - Информатика и вычислительная техника, специальностей 230101 - Вычислительные машины, комплексы, системы и сети, 230102 - автоматизированные системы обработки информации и управления, 230104 - системы автоматизированного проектирования.

Библиогр.: 6 назв.

Рецензенты: канд. техн. наук, доцент Мукасеева В.Н., д-р. техн. наук, проф. Мунасыпов Р.А.

©Уфимский государственный авиационный технический университет, 2008

Содержание

ДИНАМИЧЕСКИЕ МАССИВЫ И КЛАССЫ В C++ 1

Лабораторный практикум по дисциплине «Программирование на языке высокого уровня» 1

}; 7

}; 7

}; 11

}; 11

}; 11

}; 12

}; 12

}; 15

}; 15

}; 15

Введение

Язык С с самого начала создавался так, чтобы на нем решались задачи системного программирования. Это в первую очередь средства непосредственной работы с памятью, структурные конструкции управления и модульная организация программы. Есть, впрочем, еще один фактор, определивший успех языка, в нем разделили машинно-зависимые и независимые свойства. Благодаря этому большинство программ удается писать универсально - их работоспособность не зависит от архитектуры процессора и памяти.

В начале 80-х годов в компании AT&T Bell Labs стали разрабатывать расширение языка С под условным названием «С с классами». Первый коммерческий транслятор нового языка, получившего название C++ появился в 1983 году. Он представлял собой препроцессор, транслировавший программу в код на С. Всемирная популярность C++ началась с 1985 года.

Массивы, с которыми мы работали до сих пор, определялись перед компиляцией, до выполнения программы. Для таких массивов оперативная память выделяется перед выполнением программы и сохраняется до окончания. Это статическое выделение памяти.

Часто заранее невозможно определить, сколько места в оперативной памяти понадобится для массива. В таких случаях необходимо использовать динамические массивы. Определение динамического массива происходит во время выполнения программы, память выделяется непосредственно перед его использованием и освобождается, когда массив уже не нужен. Лабораторная работа № 9 посвящена использованию динамических массивов.

Главное нововведение C++ - механизм классов, дающий возможность определять и использовать новые типы данных. С точки зрения синтаксиса класс в C++ - это структурированный тип, образованный на основе уже существующих типов. Программист описывает внутреннее строение (данные) класса и набор функций- методов для доступа к этим данным. Таким образом, создаваемые пользователем типы данных могут обеспечить представление понятий предметной области решаемой задачи. Лабораторные работы № 10, 11, 12 посвящены разработке и реализации различных видов классов.

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

Основные операции со списками - это вставка элемента в список, удаление элемента из списка, просмотр списка в поисках какого-либо элемента. Размер списка не фиксирован и может увеличиваться или уменьшаться в процессе работы программы. В лабораторной работе № 12 показано, как создавать связанные списки и работать с ними.