Разработка программ с использованием динамической памяти - Дипломная работа

бесплатно 0
4.5 107
Указатели как одна из наиболее трудных для освоения возможностей С и одно из наиболее мощных свойств языка программирования. Возможность моделировать передачу по ссылке и создавать и манипулировать динамическими структурами данных. Обработка списков.


Аннотация к работе
На сегодняшний день все большее количество людей сталкивается с компьютером, прогресс неумолимо движет нас вперед. Указатели предоставляют программам возможность моделировать передачу по ссылке и создавать и манипулировать динамическими структурами данных, т.е. структурами данных, которые могут нарастать и сокращаться, например, такими как связные списки, очереди, стеки и деревья. Переменные-указатели содержат в качестве своих значений адреса памяти. С другой стороны, указатель содержит адрес переменной, которая содержит определенное значение. Ссылка на значение посредством указателя называется косвенной адресацией.Задание №1: Описать функцию, которая меняет местами первый и предпоследний элемент непустой очереди. Входные данные: Запись{inf}: цел - элементы очереди; Промежуточные данные: kol: цел - счетчик(номера элементов очереди); Задание №2: Определить количество изолированных вершин неориентированного графа, вывести их список. Входные данные: Запись {v1, v2}: цел - 1-я и 2-я вершины одного ребра;Линейный список F, состоящий из элементов D1,D2,...,Dn, записывают в виде последовательности значений заключенной в угловые скобки F=, или представляют графически (рисунок 2.1). Поэтому при работе с линейными списками важным является представление используемых в программе линейных списков таким образом, чтобы была обеспечена максимальная эффективность и по времени выполнения программы, и по объему требуемой памяти. При связанном хранении в качестве элементов хранения используются структуры, связанные по одной из компонент в цепочку, на начало которой (первую структуру) указывает указатель dl. При простом связанном хранении каждый элемент списка представляет собой структуру graf, состоящую из двух элементов: v - предназначен для хранения элемента списка, next - для указателя на структуру, содержащую следующий элемент списка. Для реализации операций могут использоваться следующие фрагменты программ: 1) определить первый элемент в линейном списке (рисунок 2.4): printf("v=");Основные способы представления (задания) графов: 1) перечисление множеств V (вершин) и E (ребер), задающих граф. 3) список дуг: Пример: задан граф G = (V, E), где V = {v1, v2, v3, v4}, E = {v1v2, v2,v3, v1v3, v1v4, v3,v4} = {e1, e2, e3, e4, e5}. В данной программе граф представлен списком дуг, в котором каждая вершина содержит информацию о смежном ей ребре, а каждое ребро содержит информацию о тех вершинах, которые ей смежные. При связанном хранении каждая вершина графа представляет собой структуру graf, состоящую из двух элементов: v1,v2 - предназначены для хранения вершин графа, next - для указателя на структуру, содержащую следующую вершину графа. 4) удаление ребра: Удалить ребро означает разрушить связь между вершинами, которые являются для данного графа концевыми.Желание каждого программиста быть востребованным ставит перед ним определенную цель: идти в одну ногу со временем. Задача, которую ставит перед собой программист при разработке нового продукта остается неизменной уже на протяжении долгого времени: получение максимального результата при минимуме затрат времени и средств. Выполнение данной задачи становится возможной только при постоянном самосовершенствовании и самообразовании программиста. Задание, выданное на летнюю практику, поставило определенные задачи: 1) Научится создавать связные структуры данных, используя указатели; Решение выданного задания было реализовано с помощью языка программирования С.

Вывод
Желание каждого программиста быть востребованным ставит перед ним определенную цель: идти в одну ногу со временем. С каждым годом это делать становиться все сложнее и сложнее, так как за определенные промежутки времени темпы развития компьютерных технологий постоянно увеличиваются. Задача, которую ставит перед собой программист при разработке нового продукта остается неизменной уже на протяжении долгого времени: получение максимального результата при минимуме затрат времени и средств. Выполнение данной задачи становится возможной только при постоянном самосовершенствовании и самообразовании программиста.

Задание, выданное на летнюю практику, поставило определенные задачи: 1) Научится создавать связные структуры данных, используя указатели;

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

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

Решение выданного задания было реализовано с помощью языка программирования С.

С обладает множеством преимуществ. Он является современным языком программирования, включающим в себя управляющие структуры, наличие которых в языке считается желательным с точки зрения теории и практики программирования. Этот язык построен так, что позволяет естественным образом применять планирование сверху - вниз, структурный подход к программированию, модульное проектирование программ. В результате на С получаются более надежные и “прозрачные программы”.

Вот почему именно язык С был выбран автором для реализации данной задачи.

Структуры - это составные типы данных, построенные с использованием других типов. Классы в С являются естественным продолжением структуры struct в С. Вот почему детальное изучение этого раздела является таким необходимым для дальнейшего изучения других языков программирования. Так как прежде чем рассматривать специфику разработки классов на С нужно более глубоко разобраться со структурами в С.
Заказать написание новой работы



Дисциплины научных работ



Хотите, перезвоним вам?