Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка Программирование C++ 2014n.docx
Скачиваний:
4
Добавлен:
01.07.2025
Размер:
979 Кб
Скачать
☆

Контрольные вопросы

  1. Понятие файла в C/C++.

  2. Классификация файлов.

  3. Какого типа могут быть компоненты файла?

  4. Нужно ли при определении файла заранее указывать его длину?

  5. Чем отличается файл от массива?

  6. Понятие о логическом и физическом имени файла.

  7. Что понимается под чтением из файла и что под записью в файл?

  8. Типы доступа к файлам.

  9. Что такое последовательный файл?

Лабораторная работа № 16 Исследование связанных списков данных

Цель занятия:

  • Совершенствование навыков разработки программ в среде программирования MS Visual C++

  • Совершенствование навыков в программировании с использованием указателей

  • Исследование процесса формирования элементов связанного списка

  • Исследование операций с элементами связанных списков

Время на выполнение работы: 4 часа

Программа исследований:

  1. Исследование процесса формирования элементов связанного списка

  2. Исследование операций с элементами связанных списков

Подготовка к выполнению работы:

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

  2. Практически освоить порядок работы на ПЭВМ в среде программирования MS Visual C++.

Материалы для подготовки к занятию:

  1. Конспект лекций

  2. [1] стр. 114-119

Содержание отчета:

  1. Цели исследования.

  2. Программу работы.

  3. Диаграммы работы операций с элементами связанного списка

  4. Листинг программы

  5. Результаты исследований

  6. Выводы по каждому пункту и общий вывод.

Методические рекомендации

  1. Исследование формирования элементов связанного списка

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

Рисунок 15.1 - Однонаправленный список

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

struct List

{ // -- поля данных --

char name[20]; // имя

Int age; // возраст

// -- поля связи ---

List *next; // указатель на следующий

}; // элемент списка

List *start; // start - специальный глобальный

// указатель для входа в список

// для пустого списка должен

// быть равен нулю

Для этого списка определены три операции:

- добавление нового элемента списка Add();

- удаление элемента из списка Del();

- переход к следующему элементу списка Next().

Рассмотрим их.