Указатели и динамические массивы Delphi. Тема 5.

Презентация:



Advertisements
Похожие презентации
Прямоугольный треугольник.. Треугольник, у которого один угол равен 90º, называется прямоугольным треугольником. С С вввв оооо йййй сссс тттт вввв аааа.
Advertisements

Построение графиков функций и поверхностей. MathCad. Тема 2.
Векторные и матричные операции. MathCad. Тема 3.
РЕШЕНИЕ КВАДРАТНЫХ УРАВНЕНИЙ Ларичева Светлана Леонидовна, учитель математики МОУ СОШ 129.
Прямоугольный треугольник.. Треугольник, у которого один угол равен 90º, называется прямоугольным треугольником.
Давно люблю я школьные звонки… А впрочем, и не может быть иначе, С них начинается живая вязь строки И первые раздумья над задачей. В детстве для многих.
Статистическая обработка данных. MathCad. Тема 7.
Основы трехмерного моделирования. моделирования. Создание и редактирование модели детали. КОМПАС-3D. Тема 3.
Математика – Числовые функции Выполнил : Вяткин Никита Пономорев Сергей. Пономорев Сергей. БСШ 1 Балахта 2009 год.
Творческое объединение «Волшебная палитра» Руководитель педагог I –ой категории Макашкина Алина Михайловна.
УСТРОЙСТВО КОМПЬЮТЕРА Автор Орёл Артём. Содержание: ОООО бббб щщщщ ееее ееее о о о о пппп рррр ееее дддд ееее лллл ееее нннн ииии ееее п п п п ееее рррр.
Методическая разработка по литературе (10 класс) по теме: Методическая разработка мастерской по стихотворению в прозе И.С. Тургенева "Роза"
Дифференцирование и интегрирование функций. MathCad. Тема 6.
Андреева Елена Владимировна Преподаватель начальных классов классов МОУ СОШ 5 г. Лесосибирска.
26 сентября Европейский день языков. Европейский день языков был провозглашён СССС оооо вввв ееее тттт оооо мммм Е Е Е Е вввв рррр оооо пппп ыыыы (и поддержан.
Компьютерные презентации Использование анимации и звука в презентации.
Урок математики в 5 классе ПРИБЛИЖЁННЫЕ ЗНАЧЕНИЯ ЧИСЕЛ. ОКРУГЛЕНИЕ ЧИСЕЛ. УЧИТЕЛЬ МАТЕМАТИКИ МОУ СОШ с. Меньшой Колодезь Красников И.Б.
ПППП аааа рррр аааа лллл лллл ееее лллл оооо гггг рррр аааа мммм мммм ПППП рррр яяяя мммм оооо уууу гггг оооо лллл ьььь нннн ииии кккк КККК вввв аааа.
Построение и редактирование геометрических объектов КОМПАС-3D. Тема 2.
Подготовили проект учащиеся 1 а класса Руководитель: Бондаренко Н.А.
Транксрипт:

Указатели и динамические массивы Delphi. Тема 5.

План темы: b1b1b1b1.... С С С С тттт аааа тттт ииии чччч ееее сссс кккк оооо ееее и и и и д д д д ииии нннн аааа мммм ииии чччч ееее сссс кккк оооо ееее рррр аааа сссс пппп рррр ееее дддд ееее лллл ееее нннн ииии ееее о о о о пппп ееее рррр аааа тттт ииии вввв нннн оооо йййй п п п п аааа мммм яяяя тттт ииии.... b2b2b2b2.... П П П П оооо нннн яяяя тттт ииии ееее у у у у кккк аааа зззз аааа тттт ееее лллл яяяя.... b3b3b3b3.... О О О О рррр гггг аааа нннн ииии зззз аааа цццц ииии яяяя д д д д ииии нннн аааа мммм ииии чччч ееее сссс кккк ииии хххх мммм аааа сссс сссс ииии вввв оооо вввв.... b4b4b4b4.... П П П П рррр ииии мммм ееее рррр ыыыы з з з з аааа дддд аааа чччч с с с с и и и и сссс пппп оооо лллл ьььь зззз оооо вввв аааа нннн ииии ееее мммм дддд ииии нннн аааа мммм ииии чччч ееее сссс кккк ииии хххх м м м м аааа сссс сссс ииии вввв оооо вввв....

1. Статическое и динамическое распределение оперативной памяти. bВbВbВbВсе данные программы во время ее выполнения размещаются в оперативной памяти. bПbПbПbПри этом часть данных размещается в памяти еще на этапе компиляции и в процессе работы программы их адреса относительно начала программы не изменяются. Такое размещение данных называется статическим и соответствующие этим данным переменные называются статическими переменными.

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

2. Понятие указателя. bДbДbДbДля организации динамического распределения памяти используются переменные специального типа – указатели, которые обеспечивают работу непосредственно с адресами ячеек памяти. bЗbЗbЗbЗначением указателя является адрес памяти, где хранятся некоторые данные.

bОbОbОbОпределение и использование указателей: var n : ^integer; //определение указателя New(n); //выделение памяти n^:=25; //использование указателя n:=nil; //освобождение памяти

3. Организация динамических массивов. bОbОbОbОбычно динамическое выделение и освобождение памяти используется при работе с массивами данных. bПbПbПbПреимущества динамических массивов над статическими: - Экономное использование памяти; - Возможность изменять размер массива во время работы программы.

//определение: var A : array of Integer; //одномерный B : array of array of real; //двумерный n, m, i : Integer; //выделение памяти: SetLength(A, n); SetLength(B, n); For i:=0 to n-1 do SetLength(B[i], m); Схема работы с динамическими массивами:

//использование: A[i] := A[i] + B[i, j]; //как и обычные массивы SetLength(A, n+1); //изменение размера //освобождение памяти: A := nil; B := nil;

3. Организация динамических массивов. bНbНbНbНумерация элементов в динамическом массиве начинается с 0. bПbПbПbПроцедуру SetLength() в процессе выполнения программы можно вызывать произвольное количество раз. Каждый вызов приводит к изменению длины массива, причем содержимое массива сохраняется.

bДbДbДbДля работы с динамическими массивами можно использовать следующие функции: High(A) – возвращает наибольшее значение номера (индекса) в динамическом массиве. Copy(A, n, m) – возвращает часть динамического массива A от элемента с номером n до элемента с номером m.

4. Примеры задач с использованием динамических массивов. bПbПbПbП рррр ииии мммм ееее рррр Составить программу формирования динамического массива А из N случайных чисел, сделать возможным его редактирование. Удалить из массива четные элементы.

bПbПbПbП рррр ииии мммм ееее рррр Составить программу формирования динамической матрицы А (n строк, m столбцов) случайными числами, сделать возможным ее редактирование. Вычислить суммы элементов в столбцах до k-й строки. Полученные суммы вставить как строку перед k-й строкой.