Библиотека Рефераты Курсовые Дипломы Поиск
Библиотека Рефераты Курсовые Дипломы Поиск
сделать стартовой добавить в избранное
Кефирный гриб на сайте www.za4et.net.ru

Компьютеры, Программирование Компьютеры, Программирование     Программное обеспечение Программное обеспечение

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

Чашка "Неваляшка".
Ваши дети во время приёма пищи вечно проливают что-то на ковёр и пол, пачкают руки, а Вы потом тратите уйму времени на выведение пятен с
222 руб
Раздел: Тарелки
Пакеты с замком "Extra зиплок" (гриппер), комплект 100 штук (150x200 мм).
Быстрозакрывающиеся пакеты с замком "зиплок" предназначены для упаковки мелких предметов, фотографий, медицинских препаратов и
148 руб
Раздел: Гермоупаковка
Фонарь желаний бумажный, оранжевый.
В комплекте: фонарик, горелка. Оформление упаковки - 100% полностью на русском языке. Форма купола "перевёрнутая груша" как у
87 руб
Раздел: Небесные фонарики

ВВЕДЕНИЕНа сегодняшний день всё большее количество людей сталкивается с компьютером, прогресс неумолимо движет нас вперёд. В данное время это обусловлено большими информационными потоками, и необходимо обеспечивать эту отрасль специалистами информационных технологий. Одно из наиболее мощных свойств языка программирования – указатели. Указатели – одна из наиболее трудных для освоения возможностей С. Указатели предоставляют программам возможность моделировать передачу по ссылке и создавать и манипулировать динамическими структурами данных, т.е. структурами данных, которые могут нарастать и сокращаться, например, такими как связные списки, очереди, стеки и деревья. Переменные-указатели содержат в качестве своих значений адреса памяти. Обычно переменная содержит определенное значение. С другой стороны, указатель содержит адрес переменной, которая содержит определенное значение. В этом смысле имя переменной отсылает к значению прямо, а указатель – косвенно. Ссылка на значение посредством указателя называется косвенной адресацией. Указатель – это переменная, содержащая адрес в памяти компьютера. Если удастся осознать смысл этого простого предложения, то это и все, что необходимо знать об указателях. Указатель – это переменная, которая содержит адрес оперативной памяти. Чтобы лучше понять указатели, рассмотрим устройство оперативной памяти компьютера. Оперативная память разделена на последовательно пронумерованные ячейки. Каждая переменная размещается в одной или нескольких последовательно расположенных отдельных ячейках памяти, адрес первой из них называется адресом переменной. Каждая ячейка в оперативной памяти занимает 1 байт или 8 бит. 1. ПОСТАНОВКА ЗАДАЧИЗадание №1: Описать функцию, которая меняет местами первый и предпоследний элемент непустой очереди. Входные данные: Запись{i f}: цел – элементы очереди; Промежуточные данные: kol: цел – счетчик(номера элементов очереди); key: сим – клавиша события; mp: сим – временный массив символов; Ограничения: нет Задание №2: Определить количество изолированных вершин неориентированного графа, вывести их список. Сделать выбранную вершину неизолированной. Входные данные: Запись {v1, v2}: цел – 1-я и 2-я вершины одного ребра; : цел – общее количество вершин в графе. Промежуточные данные: i: цел – счетчик(номера элементов 1-ой очереди); f: цел – счетчик(проверка на существование висячих вершин); ch: сим – клавиша события; s,s1: сим – строки, которые нужны для проверки введенных результатов; v : сим – показатель степени данной вершины. Ограничения: 2&l ;= &l ;=5; 1&l ;=v1&l ;= ; 1&l ;=v2&l ;= ; v1&l ;&g ;v2. Выходные данные: Запись {v1, v2}: цел – граф после удаления одной из висячих вершин. 2. ОБРАБОТКА СПИСКОВ 2.1. Описание структуры спискаЛинейный список - это конечная последовательность однотипных элементов (узлов), возможно, с повторениями. Количество элементов в последовательности называется длиной списка, причем длина в процессе работы программы может изменяться. Линейный список F, состоящий из элементов D1,D2,.,D , записывают в виде последовательности значений заключенной в угловые скобки F=, или представляют графически (рисунок 2.1

). D1  D2  D3  .  D Рисунок 2.1. - Изображение линейного спискаНапример, F1=&l ; 2,3,1&g ;,F2=&l ; 7,7,7,2,1,12 &g ;, F3=&l ; &g ;. Длина списков F1, F2, F3 равна соответственно 3,6,0. В реальных языках программирования нет какой-либо структуры данных для представления линейного списка. Поэтому при работе с линейными списками важным является представление используемых в программе линейных списков таким образом, чтобы была обеспечена максимальная эффективность и по времени выполнения программы, и по объему требуемой памяти. Методы хранения линейных списков разделяются на методы последовательного и связанного хранения. При последовательном хранении элементы линейного списка размещаются в массиве d фиксированных размеров, например, 100, и длина списка указывается в переменной l, т.е. в программе необходимо иметь объявления вида floa d ; i l; Размер массива 100 ограничивает максимальные размеры линейного списка. Список F в массиве d формируется так: d =10; l=2; Полученный список хранится в памяти согласно схеме на рисунке 2.2. l: 2 d: 7 10 . Рисунок 2.2. – Последовательное хранение линейного списка При связанном хранении в качестве элементов хранения используются структуры, связанные по одной из компонент в цепочку, на начало которой (первую структуру) указывает указатель dl. Структура образующая элемент хранения, должна кроме соответствующего элемента списка содержать и указатель на соседний элемент хранения. Описание структуры и указателя в этом случае может имееть вид: ypedef s ruc s d / структура элемента хранения / { floa val; / элемент списка / s ruc s d ; / указатель на элемент хранения / } DL; DL p; / указатель текущего элемента / DL dl; / указатель на начало списка / Для выделения памяти под элементы хранения необходимо пользоваться функцией malloc(sizeof(DL)) или calloc(l,sizeof(DL)). Формирование списка в связанном хранении может осуществляется операторами: p=malloc(sizeof(DL)); p-&g ;val=10; p-&g ; = ULL; dl=malloc(sizeof(DL)); dl-&g ;val=7; dl-&g ; =p; В последнем элементе хранения (конец списка) указатель на соседний элемент имеет значение ULL. Получаемый список изображен на рисунке 2.3. Рисунок 2.3. – Связное хранение линейного списка 2.2. Операции над элементами спискаПри простом связанном хранении каждый элемент списка представляет собой структуру graf, состоящую из двух элементов: v - предназначен для хранения элемента списка, ex - для указателя на структуру, содержащую следующий элемент списка. На первый элемент списка указывает указатель head. Для всех операций над списком используется описание: ypedef s ruc graf { i v; s ruc graf ex ; } Graf; Graf g, head, eil; Для реализации операций могут использоваться следующие фрагменты программ: 1) определить первый элемент в линейном списке (рисунок 2.4): pri f(&quo ;v=&quo ;); sca f(&quo ;%d&quo ;,&head-&g ;v); head-&g ; ex =0; eil-&g ; ex =0; eil=head; head: ULL Рисунок 2.4. – Создание первого элемента в списке2) вставить дополнительный элемент после указанного узла (рисунок 2.5): pri f(&quo ;v=&quo ;); sca f(&quo ;%d&quo ;,&g-&g ;v); eil-&g ; ex =g; eil= eil-&g ; ex ; head: ULL Рисунок 2.5

. – Вставка дополнительного элемента3) печать всех элементов списка: g=head; i=0; while(g! = ULL) { i ; pri f(&quo ;Эллемент%d:%d &quo ;, i,g-&g ;v1); g=g-&g ; ex ; } 2.3. Описание программной реализацииДанная программа реализована с помощью пяти функций, которые частично демонстрируют работу с такой структурой данных как очередь. Очередь аналогична очереди людей в супермаркете: первый клиент в ней обслуживается первым, а другие клиенты занимают очередь с конца и ожидают, когда их обслужат. Узлы очереди удаляются только из головы очереди, а помещаются в очередь только в ее хвост. По этой причине, очередь – это структура данных типа &quo ;первым вошел – первым вышел&quo ; (firs -i , firs -ou – FIFO). У очередей имеется множество применений в вычислительных системах. У большинства компьютеров имеется только один процессор, поэтому в один и тот же момент времени может быть обслужен только один пользователь. Запросы остальных пользователей помещаются в очередь. Каждый запрос постепенно продвигается в очереди вперед по мере того, как происходит обслуживание пользователей. Запрос в начале очереди является очередным кандидатом на обслуживание. Первые четыре функции для формирования очереди похожи между собой: первые две из них: vvod1 и vvod2 нужны для созданий первых элементов двух очередей. Две остальные: dobavl1 и dobavl2, для добавления новых элементов в уже созданные нами очереди. Последняя функция: proga, содержит первые четыре и ряд новых возможностей, в который входят: возможность вывода на экран всех элементов очередей, а также возможность проверки на вхождение всех элементов первой очереди во вторую. Так как структуры можно сравнивать только поэлементно в данной функции в цикле каждый элемент сравнивается с отдельными элементами второй очереди, если элемент первой очереди встречается во второй, значит что этот элемент входит во вторую очередь. В конце расчетов на экран пользователю выводится соответствующее сообщение о том, есть ли вхождение одной очереди в другую или его нет. 2.3.1. Описание процедур и функций языка void malloc(size size) – данная функция используется для выделения памяти из кучи в байтах. Для таких информационных структур, таких как деревья и списки выделение памяти происходит таким же способом void free(void block) – данная функция очищает память, которая была выделена такими функциями как calloc, malloc или realloc. 2.3.2. Описание созданных функций для работы со списками void vvod1() – данная функция создает первый элемент очереди под номером 1 и, используя стандартную функцию malloc, выделят определенное количество памяти под этот первый элемент; void dobavl1() – функция в цикле, до нажатия клавиши Esc, каждый раз добавляет новый элемент 1-ой очереди и выделяет под него память. void vvod2() – данная функция создает первый элемент очереди под номером 2 и, используя стандартную функцию malloc, выделят определенное количество памяти под этот первый элемент; void dobavl2() – функция в цикле, до нажатия клавиши Esc, каждый раз добавляет новый элемент 2-ой очереди и выделяет под него память. void proga() – эта функция содержит в себе все выше перечисленные, поэтому она создает первые элементы 1-ой и 2-ой очередей и добавляет в них новые элементы.

Они должны предотвращать фрагментацию «кучи», ибо если этого не делать, то в конце концов будет невозможно удовлетворить запрос на выделение большого блока памяти, даже если суммарно такой объем имеется, но разнесен по множеству мелких участков. Учитывая все требования, предъявляемые к менеджерам памяти, неудивительно, что поставляемые с компиляторами операторы new и delete придерживаются усредненной стратегии. Они работают достаточно хорошо для всех, но оптимально ни для кого. Если вы хорошо представляете, как динамическая память используется в вашей программе, вы сможете написать собственные версии операторов new и delete, превосходящие по эффективности стандартные. Под «превосходством» я подразумеваю, что они работают быстрее (иногда на много порядков) и требуют меньше памяти (до 50 %). Для некоторых, но отнюдь не для всех, приложений замена поставляемых new и delete собственными версиями простой способ ощутимого повышения производительности. Чтобы собирать статистику использования. Прежде чем перейти к написанию собственных new и delete, благоразумно собрать информацию о том, как ваша программа использует динамическую память

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

2. Разработка программы рисования замкнутых многоугольников на языке С++, с использованием библиотеки VCL

3. Разработка программы для расчета финансовых показателей, используемых в составлении бизнес-плана на языке Visual Basic

4. Изучение методики перевода из одной системы исчисления в другую и разработка программы для этой операции

5. Разработка программы на Ассемблере

6. Разработка программы рисования линий с помощью мыши
7. Помощь жертвам активного манипулирования психикой (разработка программы консультирования о выходе из нетрадиционных религиозных культов с учетом индивидуально-психологических особенностей личности)
8. Разработка программ стимулирования труда

9. Разработка программ стимулирования труда

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

11. Изучение методики перевода из одной системы исчисления в другую и разработка программы для этой операц

12. Разработка программы контроллера автоматически связываемых объектов для управления конструкторской документацией в среде Windows 95/NT (дипломная работа)

13. Разработка программы для преобразования денежных сумм в чековой книжке из формата чисел в словесный формат

14. Разработка программы, реализующей алгоритм шифрования ГОСТ 28147-89

15. Особенности разработки программы KURS.EXE

16. Проект разработки программы-калькулятора CalcKurs на языке программирования Pascal

Набор овощей.
Набор овощей пригодится на кукольной кухне для варки супов. В комплект входят 8 овощей, типичных для средней полосы и русской кухни. Овощи
559 руб
Раздел: Продукты
Головоломка "Шар-лабиринт 100 шагов-мини".
Это самый маленький из шаров-лабиринтов. Диаметр шара 11,3 см, при этом сам лабиринт насчитывает 100 шагов. Это мини-версия оригинального
365 руб
Раздел: Головоломки
Ежедневник недатированный "Русские художники. Петров-Водкин".
Ежедневник в твердом переплете - стильный аксессуар делового человека, ценящего практичные и качественные вещи. Недатированность страниц
321 руб
Раздел: Ежедневники недатированные

17. Разработка программ в среде программирования Turbo Pascal 7.0

18. Разработка программы "Модуль выгрузки данных в текстовом формате комплекса "Налогоплательщик ЮЛ" для государственной налоговой инспекции г. Узловая

19. Разработка программы автоматизации процесса подбора запчастей для ремонта автомобилей

20. Разработка программы генерации тестов из базы данных на языке РНР

21. Разработка программы запросов

22. Разработка программы контроля изделий и подготовка программной документации
23. Разработка программы на четырех языках программирования
24. Разработка программы поиска решения системы дифференциальных уравнений двумя методами: Рунге-Кутта и Рунге-Кутта-Мерсона

25. Разработка программы при помощи языка низкого уровня ассемблер

26. Разработка программы решения системы линейных уравнений

27. Разработка программы, генерирующей пароли пользователей

28. Разработка программы-компилятора

29. Решение математических задач с помощью алгоритмического языка Turbo Pascal, Microsoft Excel, пакета MathCAD и разработка программ в среде Delphi

30. Разработка программы определительных испытаний

31. Разработка программы маркетингового исследования для ОАО МЖК "Краснодарский"

32. Разработка программы продвижения новой продукции

Канистра-бочка с навесными ручками, 30 л (диаметр горловины 215 мм).
Канистра изготовлена из прочного пищевого пластика и предназначена для транспортировки и хранения пищевых жидкостей. Изделие безопасно для
496 руб
Раздел: Баки, канистры
Кружка фарфоровая "Морская волна", 375 мл.
Кружка. Объем: 375 мл. Материал: фарфор.
342 руб
Раздел: Кружки
3D-пазл "Рождественский домик 3" (с подсветкой).
Волшебный рождественский домик ребенок может смастерить самостоятельно без клея и ножниц. Для этого есть пазлы 3D, детали которых легко и
449 руб
Раздел: Здания, города

33. Разработка программы стимулирования сбыта продукции предприятия

34. Разработка программы финансового оздоровления предприятия

35. Разработка программы профессиональной подготовки заливщиков металла

36. Разработка программы мероприятий по безопасности движения на участках концентрации ДТП на дорогах общего пользования Архангельской области

37. Разработка программы "Атамекен". Направление "Шапар"

38. Разработка рекламной программы для страховой компании
39. Конвертер программы с подмножества языка Си в Паскаль с использованием LL(1) метода синтаксического анализа (выражения)
40. Разработка алгоритмов и программ выполнения операций над последовательными и связанными представлениями структур данных

41. Программа сложной структуры с использованием меню

42. Кадры с использованием программы Microsoft Access 97

43. Разработка лабораторного практикума "Создание тестирующей программы"

44. Разработка игровой программы на языке программирования Turbo Pascal

45. Разработка рисунка настенного календаря с помощью графического редактора CorelDRAW. Создание базы данных «Туристических фирм г. Минска» с помощью пакета программ Access

46. Разработка диалоговой системы, оформленной в виде пакета прикладных программ и реализующей идею искусственного интеллекта (WinWord, PASCAL)

47. Образовательная программа школы: назначение, содержание, участие учителей и учащихся в ее разработке

48. Разработка блока динамического ОЗУ с мультиплексором кода адреса

Заварочный чайник эмалированный Mayer & Boch "Подсолнух", 1,5 л, с ситечком.
Заварочный эмалированный чайник. Материал корпуса: углеродистая сталь. Толщина стенок - 0,8 мм. Внешнее и внутреннее покрытие -
715 руб
Раздел: Чайники заварочные
Набор из скатерти и салфеток "Botanica", 140x180/42x42 см.
В набор входит скатерть и 6 салфеток "Botanica" 140x180/42x42 см. Салфетки, изготовленные из экологически чистого материала,
961 руб
Раздел: Салфетки сервировочные из ткани
Звуковой планшет "Транспорт".
Звуковой планшет - прекрасный подарок ребёнку! Он удобен и прост в использовании, подходит как для самостоятельного изучения, так и с
313 руб
Раздел: Планшеты и компьютеры

49. Прогнозирование банкротства и разработка антикризисной программы предприятия

50. Разработка стратегии выхода на рынок ЗАО “ДАРМА” с применением программы имитационного моделирования Project Expert

51. Разработка рекомендаций по эффективному использованию экотуристского потенциала России

52. Разработка маркетинговой программы

53. Разработка нового метода использования нефтяных скважин

54. Использование программ обучения для обеспечения здоровья населения
55. Разработка наиболее рациональных приемов использования микробов
56. Особенности разработки образовательных программ для руководителей высшего звена

57. Разработка технологического процесса изготовления детали с использованием станков с ЧПУ

58. К вопросу об использовании шейпинг-программ в физическом воспитании студенток высших учебных заведений

59. Статьи о состоянии разработки федеральных норм и правил в области использования атомной энергии

60. Разработка обучающей программы: Выявление аномалии статистическими окнами разных иерархических уровней

61. Использование программы Word

62. Разработка и применение пакетов прикладных программ

63. Разработка контрольно-проверочной программы модуля ввода-вывода МФПУ-1

64. Конвертер программы с подмножества языка Си в Паскаль с использованием LL(1) метода синтаксического анализа

Беговел "Funny Wheels Rider Classic" (цвет: зелёный).
Беговел - это современный аналог детского велосипеда без педалей для самых маленьких любителей спорта. Удобный и простой в обучении,
2500 руб
Раздел: Беговелы
Чудо трусики для плавания, от 0 до 3-х лет, трехслойные, арт. 1432, для девочек.
Детские специальные трусики для плавания в бассейне и открытом водоеме. Плотно прилегают, отлично защищают! Изготовлены из хлопка, имеют
376 руб
Раздел: Многоразовые
Шкатулка музыкальная "Балерина и звездное небо".
Музыкальная шкатулка для украшений с классической музыкой. Когда шкатулка открыта - звучит музыка и фигурка кружится. Необычное зеркальце,
1116 руб
Раздел: Шкатулки музыкальные

65. Использование модели briefcase при разработке приложений баз данных

66. Программа сложной структуры с использованием меню

67. Разработка сложных web-проектов с использованием Microsoft Commerce Server 2000

68. Алгоритм разработки и реализации федеральных целевых программ по развитию проблемных регионов России

69. Некоторые психолого-педагогические особенности создания и использования компьютерных обучающих программ в вузе

70. Использование государственных программ ипотечного жилищного кредитования в РФ
71. Разработка бизнес-плана на производство и использование концентрированного органического удобрения
72. Изучение английского языка с использованием компьютерной программы "English Puzzle"

73. Использование компьютерных программ в обучении иностранному языку

74. Использование масок слоев и работа с текстовыми слоями в программе Adobe Photoshop

75. Использование программы Outlook Express для работы с электронной почтой

76. Исследование использования программ дистанционного обучения для подготовки учебно-методической документации

77. Нахождение оптимального плана производства продукции с использованием пакетов прикладных программ Math Cad

78. Программа CorelDraw и ее использование

79. Программа Mathcad и ее использование

80. Разработка web сайта на основе HTML с использованием JavaScript

Настольная игра "Звезда Африки".
Звезда Африки - настольная игра, целью которой является добыть алмаз и доставить его в пункт назначения.Историческая справка. Звезда
327 руб
Раздел: Классические игры
Пупс "Baby Love Nursery".
Пупс изготовлен с хорошей степенью детализации, порадует ребенка наличием дополнительных аксессуаров, позволяющими создать реалистичную
369 руб
Раздел: Классические пупсы (без пола)
Набор детской посуды "Авто", 3 предмета.
Набор посуды для детей включает в себя три предмета: суповую тарелку, обеденную тарелку и кружку. Набор упакован в красочную, подарочную
397 руб
Раздел: Наборы для кормления

81. Разработка алгоритма и программы для вычисления коэффициента оперативной готовности системы

82. Разработка базы данных средствами программы MS Access "Сотрудники"

83. Разработка компьютерной программы на языке Паскаль для проведения простого теплофизического расчета

84. Разработка модели Станции переливания крови с использованием методологии проектирования IDEF0, DFD и IDEF3

85. Разработка обучающей программы, поддерживающей изучение темы "Структуры данных"

86. Разработка программного приложения с использованием интерфейса Windows API
87. Разработка сетевой версии программы подбора сечений стержневой конструкции
88. Разработка форматов хранения данных программы. Структурирование

89. Разработка электронного обучающего пособия по теме "Pascal работа с циклами" с использованием средства разработки Smart Web Builder

90. Создание программы с использованием программного продукта Turbo Assembler

91. Стеганография. Использование программ скрытого шифрования

92. Выбор параметров контроля с использованием метода динамического программирования и метода ветвей и границ

93. Динамическое распределение памяти

94. Разработка информационно-обучающей программы "Таймеры/счетчики и АЦП микроконтроллеров семейства AVR"

95. Разработка модели триггерного устройства на базе микросхем типа К564 с последующим использованием выходов

96. Разработка печатного модуля РЭС с использованием учебных алгоритмов САПР

Игра настольная "7 на 9".
Быстрая игра для 2-4 человек. Суть игры в том, что необходимо быстро считать в уме и ещё быстрее действовать — бросать подходящую карту,
390 руб
Раздел: Игры в дорогу
Бумага упаковочная "Путешествие", 70x100 см, 10 листов.
Упаковочная бумага — одна из важнейших деталей презента. Подарочная упаковка с оригинальным дизайном с легкостью дополнит всю прелесть
487 руб
Раздел: Прочие
Настольная игра "Тримино".
"Тримино" настольная игра для тех, кто умеет просчитывать ходы, создавать хитроумные комбинации и не боится блефовать. Здесь не
714 руб
Раздел: Домино детское

97. Основные принципы и этапы разработки плана PR-кампании с использованием рекламных средств и приемов в целях продвижения товара или услуги на рынок (ООО "Ростовский колбасный завод – "Тавр")

98. Разработка маркетинговой программы продвижения на рынок нового вида бытовых услуг

99. Разработка антикризисной программы на предприятии

100. Разработка инновационных программ лояльности клиентов


Поиск Рефератов на сайте za4eti.ru Вы студент, и у Вас нет времени на выполнение письменных работ (рефератов, курсовых и дипломов)? Мы сможем Вам в этом помочь. Возможно, Вам подойдет что-то из ПЕРЕЧНЯ ПРЕДМЕТОВ И ДИСЦИПЛИН, ПО КОТОРЫМ ВЫПОЛНЯЮТСЯ РЕФЕРАТЫ, КУРСОВЫЕ И ДИПЛОМНЫЕ РАБОТЫ. 
Вы можете поискать нужную Вам работу в КОЛЛЕКЦИИ ГОТОВЫХ РЕФЕРАТОВ, КУРСОВЫХ И ДИПЛОМНЫХ РАБОТ, выполненных преподавателями московских ВУЗов за период более чем 10-летней работы. Эти работы Вы можете бесплатно СКАЧАТЬ.