Содержание
- 2. 6.1 Адресация оперативной памяти. Указатели и операции над ними Минимальная адресуемая единица памяти большинства современных процессоров
- 3. Относительная адресация памяти или адресация по схеме "База + смещение" Аф = Аб + Асм, где
- 4. Типизированные и нетипизированные указатели Различают указатели: типизированные – адресующие данные конкретного типа; нетипизированные – не связанные
- 5. Операции присваивания и получения адреса 1. Присваивание. Допускается присваивать указателю только значение того же или неопределенного
- 6. Операции доступа и отношения 3. Доступ к данным по указателю (операция разыменования). Полученное значение имеет тип,
- 7. Подпрограммы, работающие с указателями 1. Функция ADDR(x): pointer – возвращает адрес объекта x, в качестве которого
- 8. 6.2 Динамическое распределение памяти Управление выделением и освобождением памяти осуществляется посредством специальных процедур и функций: 1.
- 9. Подпрограммы динамического распределения (2) 3. Процедура GetMem(var P: Pointer; Size: Integer) – выделяет указанное количество памяти
- 10. Динамическая матрица
- 11. Программа Program Ex6_1; {$APPTYPE CONSOLE} Uses SysUtils; Var i,j,n,m:word; s:single; ptrstr:array[1..10000] of pointer; Type tpsingle=^single; {Функция
- 12. Программа (2) Begin Randomize; WriteLn('Input n,m'); ReadLn(n,m); for i:=1 to n do begin GetMem(ptrstr[i],m*sizeof(single)); for j:=1
- 13. 6.3 Динамические структуры данных Структуры данных Последовательные Древовидные Сетевые Вектор Стек Дек Бинарные деревья Сортированные Бинарные
- 14. Списки Список – способ организации данных, предполагающий использова-ние указателей для определения следующего элемента. Элемент списка состоит
- 15. Виды списков Линейный односвязный Кольцевой односвязный Линейный двусвязный Кольцевой двусвязный Сетевой n-связный
- 16. Примеры описания элементов списка Односвязный список: Type pe = ^element; {тип указателя} element = record name:
- 17. 6.4 Односвязные списки Аналогично одномерным массивам реализуют последовательность элементов. Однако в отличие от одномерных массивов позволяют:
- 18. Объявление типа элемента и переменных Описание типа элемента: Type tpel=^element; {тип «указатель на элемент»} element=record num:integer;
- 19. Добавление элементов к списку 1 Добавление элемента к пустому списку: new(first); first ^.num:=5; first ^.p:=nil; 2
- 20. «Стек» записей Program Ex6_2; {$APPTYPE CONSOLE} Uses SysUtils; Type point=^zap; zap=record det:string[10]; diam:real; p:point; end; Var
- 21. Создание списка по типу стека ReadLn(a.det); while a.det 'end' do begin Readln(a.diam); q:=r; new(r); r^.det:=a.det; r^.diam:=a.diam;
- 22. Вывод полученного списка q:=r; if q=nil then WriteLn('No records') else while q nil do begin WriteLn(q^.det:11,q^.diam:5:1);
- 23. Варианты удаления элементов first 5 q 4 8 ∅ first 5 4 8 first 5 4
- 24. Удаление записей q:=r; c:=0; repeat if q^.diam if c=0 then begin r:=r^.p; dispose(q); q:=r end else
- 25. Вывод результата и освобождение памяти q:=r; if q=nil then WriteLn('No records') else while q nil do
- 26. Кольцевой список 1 2 3 4 5 Program Ex6_3; {$APPTYPE CONSOLE} Uses SysUtils; Var y:integer; Function
- 27. Создание списка begin { Создание списка } new(First); First^.name:=1; Pass:=First; for k:=2 to N do begin
- 28. Проход по кольцу n-1 раз Pass:=First; for k:=n downto 2 do begin for j:=1 to m-1
- 29. Удаление m-го элемента. Основная программа WriteLn(Pass^.name); Next^.p:=Pass^.p; dispose(Pass); Pass:=Next^.p; end; {Возврат результата} Play:=Pass^.name; dispose(Pass); end; 1
- 30. 6.5 Бинарные сортированные деревья В математике бинарным деревом называют конечное множество вершин, которое либо пусто, либо
- 31. Построение бинарного дерева Рассмотрим последовательность целых чисел: {5, 2, 8, 7, 2, 9, 1, 5} Пример.
- 32. Описание элемента древовидного списка Program Ex6_4; {$APPTYPE CONSOLE} Uses SysUtils; Const lim=100; Type top_ptr=^top; top=record value:integer;
- 33. Основная программа Begin WriteLn('Input numbers (End - 1000)'); r:=nil; Read(next_number); while next_number 1000 do begin new(pass);
- 34. Нерекурсивная процедура построения дерева Procedure Add1(Var r:top_ptr; pass:top_ptr); Var next,succ:top_ptr; Begin if r=nil then r:=pass else
- 35. Рекурсивная процедура построения дерева Procedure Add2(Var r:top_ptr; pass:top_ptr); begin if r=nil then r:=pass else if (pass^.value
- 36. Нерекурсивная процедура обхода дерева Procedure Tree1(r:top_ptr); var pass:top_ptr; mem_top:record nom:0..lim; adres:array[1..lim] of top_ptr; end; begin pass:=r;
- 37. Нерекурсивная процедура обхода дерева (2) with mem_top do begin nom:=0; while (pass nil) or (nom 0)
- 38. Рекурсивная процедура обхода дерева Procedure Tree2(r:top_ptr); begin if r nil then begin Tree2(r^.left); Write(r^.value:4); Tree2(r^.right); end;
- 40. Скачать презентацию









![Программа Program Ex6_1; {$APPTYPE CONSOLE} Uses SysUtils; Var i,j,n,m:word; s:single; ptrstr:array[1..10000] of](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/958118/slide-10.jpg)








![«Стек» записей Program Ex6_2; {$APPTYPE CONSOLE} Uses SysUtils; Type point=^zap; zap=record det:string[10];](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/958118/slide-19.jpg)















![Нерекурсивная процедура обхода дерева Procedure Tree1(r:top_ptr); var pass:top_ptr; mem_top:record nom:0..lim; adres:array[1..lim] of top_ptr; end; begin pass:=r;](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/958118/slide-35.jpg)


МЭШ-5 м1у3 Электронный учебник (2)
Скины 187-го легиона
Искусственные нейронные сети для школьников, студентов и родителей
Клавиатура. Параметры, от которых зависит скорость набора текста на клавиатур
Автоматизация деятельности предприятий под ключ
Игра Прятки
Язык UML. Диаграмма вариантов использования (use case diagram)
Программный комплекс AutoCad
Техническое задание на проектирование персонажа
Мир логопеда. Студенческое научное сообщество
Использование функционала Power Query для ежемесячной сверки данных по остаткам ТМЦ между АСБНУ и АСКУ
Компьютерный класс будущего
Прикладное программное обеспечение
Структурированные типы в Pascal
Программирование на языке Python
Оформление исследовательской работы
Компьютерные вирусы
Искусственный интеллект в системе управления электроприводом
Логические основы работы компьютера
Программирование линейных алгоритмов. Логические выражения
Паттерны Gof
Программы для ЭВМ
Как сдать РГР по ООиУвС на проверку
Понятие программное обеспечение
Программа курса Sound-design (Звуковой дизайн)
Dota 2
Проектирование. Диаграммы
Информационная безопасность