SlideShare a Scribd company logo
1 of 10
Покажчик    Підготувала
      учениця 10-А класу
 Гулько Марія
Динамічні змінні
  Принцип
                          в потрібний момент
                          вивільняють пам'ять

                  опрацьовуються
змінні займають
пам'ять за
необхідністю


     Тип даних –      вказівник
Вказівник


 Змінна цілого типу, в якій
 зберугається адреса байту
    пам’яті, що містить
відповідний елемент даних.
Вказівник
Вказівник на динамічну змінну задає
лише тип даного


  а не його розташування в памяті
Опис
Вказівник описують
       за допомогою
       символу ^ у розділі type
type назва типу = ^базовий тип;
Вказівники на динамічні змінні
оголошують у розділі var:
var список вказівників на змінні :
назва типу;
Приклад
type
    vkazivka=^integer;
    vkazivkamasiv=^array[1..100] of real;
    vkazivkazapis=^Zapis;
var c1,c2: vkazivka;
    mas1,mas2: vkazivkamasiv;
     zap1,zap2: vkazivkazapis;
Процедура new
Пам'ять для даних буде надана
на етапі виконання програми за
допомогою процедури new:

new(c1) - new( вказівник на змінну) с1^
Операції переадресації

    вказівник             вказівник:=nil;
    1:=вказівник 2;       nil- вільний



Вивільнення пам’яті:
dispose(вказівник на динамічну змінну)
C1^                          C1^
         C1                 C1                   C1            5



                                        C2^                  C2^
         C2                                                    7
                            C2                   C2

                             New(c1); new(c2 )        c1^:=5; c2^:=7;
Var c1,c2:^integer;



  C1           5            C1                   C1
                                         C1^                 C1^
                   C2^C1^
   C2                       C2                                 7
               7

        c1:=c2 ;             c2:=nil;             dispose(c2 );


Процес вивільнення пам’яті
Операції над вказівником на динамічну змінну та
   операції над самою динамічною змінною

       program pr1;
       var c1,c2:^integer; {Оголошуємо два вказівники}
       begin
       new(c1); {Резервуємо пам’ять для цілого числа}
       new(c2); { Резервуємо пам’ять для цілого числа }
       c1^:=5; {Змінна с1^ отримує значення 5 }
        c2^:=7; { Змінна с2^ отримує значення 7 }
       writeln(c1^,c2^); {Виводимо 5 та 7}
       c1:=c2;       {Переадресація}
       writeln(c1^,c2^); {Виводимо 7 та 7}
       c2:=nil;      {Вказівник с2 занулюємо}
       {dispose(c2);    {Память, надану для с2, вивільняємо}
       writeln;
       writeln(c1^); end.

More Related Content

More from Maria Gulko

утилізація відходів
утилізація відходівутилізація відходів
утилізація відходів
Maria Gulko
 
турецкая керамика
турецкая керамикатурецкая керамика
турецкая керамика
Maria Gulko
 
сальвадор дали
сальвадор далисальвадор дали
сальвадор дали
Maria Gulko
 
леонардо да винчи гулько
леонардо да винчи гульколеонардо да винчи гулько
леонардо да винчи гулько
Maria Gulko
 
Prezentatsia po teme_mitoz
Prezentatsia po teme_mitozPrezentatsia po teme_mitoz
Prezentatsia po teme_mitoz
Maria Gulko
 
подорож до італії
подорож до італіїподорож до італії
подорож до італії
Maria Gulko
 
проектуємо своє майбутнє гулько 11а
проектуємо своє майбутнє гулько 11апроектуємо своє майбутнє гулько 11а
проектуємо своє майбутнє гулько 11а
Maria Gulko
 
предотвращение торговли людьми
предотвращение торговли людьмипредотвращение торговли людьми
предотвращение торговли людьми
Maria Gulko
 
Стили одежды
Стили одеждыСтили одежды
Стили одежды
Maria Gulko
 
проектуємо своє майбутнє гулько 11а
проектуємо своє майбутнє гулько 11апроектуємо своє майбутнє гулько 11а
проектуємо своє майбутнє гулько 11а
Maria Gulko
 
Леонардо да винчи
Леонардо да винчиЛеонардо да винчи
Леонардо да винчи
Maria Gulko
 
Культурне надбання юнеско
Культурне надбання юнескоКультурне надбання юнеско
Культурне надбання юнеско
Maria Gulko
 
основи теорії графів
основи теорії графівоснови теорії графів
основи теорії графів
Maria Gulko
 
основи статистичного аналізу 19.04.
основи статистичного аналізу 19.04.основи статистичного аналізу 19.04.
основи статистичного аналізу 19.04.
Maria Gulko
 
база даних
база данихбаза даних
база даних
Maria Gulko
 
основи програмування
основи програмуванняоснови програмування
основи програмування
Maria Gulko
 

More from Maria Gulko (20)

утилізація відходів
утилізація відходівутилізація відходів
утилізація відходів
 
турецкая керамика
турецкая керамикатурецкая керамика
турецкая керамика
 
сальвадор дали
сальвадор далисальвадор дали
сальвадор дали
 
леонардо да винчи гулько
леонардо да винчи гульколеонардо да винчи гулько
леонардо да винчи гулько
 
Svoystva nefti
Svoystva neftiSvoystva nefti
Svoystva nefti
 
Starenie
StarenieStarenie
Starenie
 
Prezentatsia po teme_mitoz
Prezentatsia po teme_mitozPrezentatsia po teme_mitoz
Prezentatsia po teme_mitoz
 
подорож до італії
подорож до італіїподорож до італії
подорож до італії
 
проектуємо своє майбутнє гулько 11а
проектуємо своє майбутнє гулько 11апроектуємо своє майбутнє гулько 11а
проектуємо своє майбутнє гулько 11а
 
предотвращение торговли людьми
предотвращение торговли людьмипредотвращение торговли людьми
предотвращение торговли людьми
 
Стили одежды
Стили одеждыСтили одежды
Стили одежды
 
проектуємо своє майбутнє гулько 11а
проектуємо своє майбутнє гулько 11апроектуємо своє майбутнє гулько 11а
проектуємо своє майбутнє гулько 11а
 
Леонардо да винчи
Леонардо да винчиЛеонардо да винчи
Леонардо да винчи
 
Культурне надбання юнеско
Культурне надбання юнескоКультурне надбання юнеско
Культурне надбання юнеско
 
множини
множинимножини
множини
 
Множини
МножиниМножини
Множини
 
основи теорії графів
основи теорії графівоснови теорії графів
основи теорії графів
 
основи статистичного аналізу 19.04.
основи статистичного аналізу 19.04.основи статистичного аналізу 19.04.
основи статистичного аналізу 19.04.
 
база даних
база данихбаза даних
база даних
 
основи програмування
основи програмуванняоснови програмування
основи програмування
 

Покажчик

  • 1. Покажчик Підготувала учениця 10-А класу Гулько Марія
  • 2. Динамічні змінні Принцип в потрібний момент вивільняють пам'ять опрацьовуються змінні займають пам'ять за необхідністю Тип даних – вказівник
  • 3. Вказівник Змінна цілого типу, в якій зберугається адреса байту пам’яті, що містить відповідний елемент даних.
  • 4. Вказівник Вказівник на динамічну змінну задає лише тип даного а не його розташування в памяті
  • 5. Опис Вказівник описують за допомогою символу ^ у розділі type type назва типу = ^базовий тип; Вказівники на динамічні змінні оголошують у розділі var: var список вказівників на змінні : назва типу;
  • 6. Приклад type vkazivka=^integer; vkazivkamasiv=^array[1..100] of real; vkazivkazapis=^Zapis; var c1,c2: vkazivka; mas1,mas2: vkazivkamasiv; zap1,zap2: vkazivkazapis;
  • 7. Процедура new Пам'ять для даних буде надана на етапі виконання програми за допомогою процедури new: new(c1) - new( вказівник на змінну) с1^
  • 8. Операції переадресації вказівник вказівник:=nil; 1:=вказівник 2; nil- вільний Вивільнення пам’яті: dispose(вказівник на динамічну змінну)
  • 9. C1^ C1^ C1 C1 C1 5 C2^ C2^ C2 7 C2 C2 New(c1); new(c2 ) c1^:=5; c2^:=7; Var c1,c2:^integer; C1 5 C1 C1 C1^ C1^ C2^C1^ C2 C2 7 7 c1:=c2 ; c2:=nil; dispose(c2 ); Процес вивільнення пам’яті
  • 10. Операції над вказівником на динамічну змінну та операції над самою динамічною змінною program pr1; var c1,c2:^integer; {Оголошуємо два вказівники} begin new(c1); {Резервуємо пам’ять для цілого числа} new(c2); { Резервуємо пам’ять для цілого числа } c1^:=5; {Змінна с1^ отримує значення 5 } c2^:=7; { Змінна с2^ отримує значення 7 } writeln(c1^,c2^); {Виводимо 5 та 7} c1:=c2; {Переадресація} writeln(c1^,c2^); {Виводимо 7 та 7} c2:=nil; {Вказівник с2 занулюємо} {dispose(c2); {Память, надану для с2, вивільняємо} writeln; writeln(c1^); end.