Слайд 1 Слайд 2 Слайд 3 Слайд 4 Слайд 5 Слайд 6 Слайд 7 Слайд 8 Слайд 9 Слайд 10 Слайд 11 Слайд 12 Слайд 13 Слайд 14 Слайд 15 Слайд 16 Слайд 17 Слайд 18 Слайд 19 Слайд 20 Слайд 21 Слайд 22 Слайд 23 Слайд 24 Слайд 25 Слайд 26 Слайд 27 Слайд 28 Слайд 29 Слайд 30 Слайд 31 Слайд 32 Слайд 33 Слайд 34 Слайд 35 Слайд 36 Слайд 37 Слайд 38 Слайд 39 Слайд 40 Слайд 41 Слайд 42 Слайд 43 Слайд 44 Слайд 45 Слайд 46 Слайд 47 Слайд 48 Слайд 49 Слайд 50 Слайд 51 Слайд 52 Слайд 53 Слайд 54 Слайд 55 Слайд 56 Слайд 57 Слайд 58 Слайд 59 Слайд 60 Слайд 61 Слайд 62 Слайд 63 Слайд 64 Слайд 65 Слайд 66 Слайд 67
1: Информатика и программирование Лебедева Т. Ф.
2: 6 Основы проектирования программ 80
3: 6 Основы проектирования программ 81
4: 6 Основы проектирования программ 82
5: 6 Основы проектирования программ 83
6: 6 Основы проектирования программ 84
7: 6 Основы проектирования программ 85
8: 6 Основы проектирования программ 86
9: 6 Основы проектирования программ 87
10: 6 Основы проектирования программ 88
11: 6 Основы проектирования программ 89
12: 6 Основы проектирования программ 90
13: 6 Основы проектирования программ 91
14: 6 Основы проектирования программ 92
15: 6 Основы проектирования программ 93
16: 6 Основы проектирования программ 94
17: 6 Основы проектирования программ 95
18: 6 Основы проектирования программ 96
19: 6 Основы проектирования программ 97
20: 6 Основы проектирования программ 98
21: 6 Основы проектирования программ 99
22: 6 Основы проектирования программ 100
23: 6 Основы проектирования программ 101
24: 6 Основы проектирования программ 102
25: 6 Основы проектирования программ 103
26: 6 Основы проектирования программ 104
27: 6 Основы проектирования программ 104
28: 6 Основы проектирования программ 105
29: 6 Основы проектирования программ 106
30: 6 Основы проектирования программ 107
31: 6 Основы проектирования программ 108
32: 6 Основы проектирования программ 109
33: 6 Основы проектирования программ 110
34: 6 Основы проектирования программ 111
35: 7 Работа с динамическими структурами данных 112
36: 7 Работа с динамическими структурами данных 113 Схема распределения памяти программ на Turbo Pascal
37: 7 Работа с динамическими структурами данных 114
38: 7 Работа с динамическими структурами данных 115
39: 7 Работа с динамическими структурами данных 116
40: 7 Работа с динамическими структурами данных 117
41: 7 Работа с динамическими структурами данных 118 С помощью нетипизированных указателей удобно динамически размещать данные, структура и тип которых меняются в ходе выполнения программы. Значения указателей – адреса переменных в памяти. Адрес занимает четыре байта и хранится в виде двух слов, одно из которых определяет сегмент, второе – смещение. Можно передавать значения только между указателями, связанными с одним типом данных. Указатели на различные типы данных имеют различный тип, причем эти типы несовместимы. Пример фрагмента программы объявления указателя различных типов Var p1,p2: integer; p3: real; pp: pointer; ……… p1: p2; допустимое действие p1: p3; недопустимое действие Однако это ограничение не распространяется на нетипизированный указатель. В программе допустимы будут следующие действия: pp: p3; p1: pp;
42: 7 Работа с динамическими структурами данных 119 Выделение и освобождение динамической памяти Вся ДП рассматривается как сплошной массив байтов, который называется кучей. Существуют стандартные переменные, в которых хранятся значения адресов начала, конца и текущей границы кучи: Heaporg – начало кучи; Heapend – конец кучи; Heapptr – текущая граница незанятой ДП. Выделение памяти под динамическую переменную осуществляется процедурой: New () В результате обращения к этой процедуре указатель получает значение, соответствующее адресу в динамической памяти, начиная с которого можно разместить данные. Пример фрагмента программы объявления указателя различных типов Var i, j: integer; r: real; begin new( i); после этого указатель i приобретает значение адреса Heapptr, а Heapptr смещается на 2 байта …………… new( r) ; r приобретает значение Heapptr, а Heapptr смещается на 6 байт
45: 7 Работа с динамическими структурами данных 122
46: 7 Работа с динамическими структурами данных 123
48: 7 Работа с динамическими структурами данных 125
50: 7 Работа с динамическими структурами данных 127
51: 7 Работа с динамическими структурами данных 128
53: 7 Работа с динамическими структурами данных 130
57: 7 Работа с динамическими структурами данных 134
58: 7 Работа с динамическими структурами данных 135
67: Вопросы?