Особливості використання динамічних змінних Особливості використання динамічних змінних порівняно зі статичними такі: 1) замість опису динамічних змінних описують вказівки -статичні змінні вказівного типу, які ставлять у відповідність динамічним змінним; 2) для створення динамічних змінних, що відповідають уведеним вказівним, використовують процедуру new, фактичним параметром якої задають відповідну вказівну змінну. 3) доступ до динамічних змінних відбувається за допомогою змінних з вказівником. Множина операцій над змінними з вказівником визначена типом цих динамічних змінних. Розглянемо приклад про застосування динамічних структур даних для підвищення швидкодії програми. Нехай задано деякий текст, розділений на слова завдовжки до 100 символів, комами. В кінці тексту є крапка. Визначити, скільки разів трапляється деяка буква в першому за порядком слові максимальної довжини. Програмна реалізація алгоритму матиме вигляд program chyslovhodz(input,output); type mas=array [1..100] of char; s=^mas; var r,rez,biz: s; max,i,k: integer; c: char; begin max:=-1; i:=0; new(biz); new(rez); {читання тексту} repeat read(c); if (c<>',') and (c<>.) then begin i:=i+1; biz^[i]:=c end else {порівняння слів} if i>max then begin {поточне слово —> місце результату} max:=i; r:=rez; rez:=biz; biz:=r; i:=0; end until c='.'; {читання заданої букви} read(c); {обчислення кількості заданої літери у слові} k:=0; for i:=1 to max do if c=rez^[i]then k:=k+1; writeln('cлово'); for i:=1 to max do write(rez^[i]); writeln; writeln('містить букву',c,k:1,' разів') end. Зрозуміло, що для реалізації цього алгоритму можна було б не використовувати вказівних змінних і динамічних структур, однак тоді замість пересилання вказівних змінних треба було б пересилати самі масиви, що значно трудомісткіше.