Списки властивостей.
Перегляд зв'язаного списку.
Повернемось до (мал. 1). Доступ до першої компоненти здійснюється легко (так як її ім'я це початок^), тому початок ^ .дані:=’z’;
Друга компонента стає доступною завдяки наявності в першій компоненті зсилки з іменем наступної. Ім'ям другої компоненти є
Початок^. наступний^ . , тому
Початок^. Наступній^ . дані= 'у';
Можливо продовжувати цей процес, але для доступу до компонентів довгого списку такий метод зовсім не підходить. Необхідний алгоритм динамічного доступу. Він основується на тому факті, що, якщо Р зсипається на деяку компоненту списку, то після виконання оператору присвоєння
Р:=Р^. Наступний;
Р буде зсипатися на наступну компоненту за даною. Виконання цього оператора можна продовжувати до тих пір, поки значення Р не стане рівним NIL (поки не кінець списку). В відповідності з цим алгоритмом перегляд списку буде наступним:
Р: =початок;
Repeat
Р: =Р^ .наступний Until P:=NIL;
або
Р: =початок;
White Р<> NIL do
Р: =Р^. наступний;
Процес послідовного звернення до компонентів списку називається переглядом списку.
В стеках, чергах та списках, зазвичай, неможливий доступ по індексах. Доступ за допомогою індексів, які являються довільними ідентифікаторами, дозволяє одержати дуже важливий клас структур. Це означає, що при кожному включенні елемента в такий масив, фіксувалась би специфікація індекса, за допомогою якого здійснювався б доступ до елементу. Одержана структура даних має форму множини над індекс - значень. Впорядкованість в такій структурі не важлива, так як всі операції доступа виконуються по заданим індексам. Лінійні списки такого роду існують в багатьох мовах і називаються по різному. Найбільш часто користуються списками властивостей (таблиці, списки, описи).
Найчастіше користуються представленням списків властивостей в пам'яті список, який складається із індексів та значень, що чергуються в одній довгій послідовності. Включення в список чи виключення із списку пари індекс-значення здійснюється шляхом включення чи виключення двох елементів.
ООП – використовується для роз’вязування великих та складних програм (1000-1200 рядків). До них відносяться графічні редактори, комп’ютерні навчальні системи і т.д. Саме інтегроване середовище Turbo Pascal розроблено за ідеологією ООП.
Фундаментом нової методології є три кити:
Інкамсуляція
Спадкоємність
Поліморфізм
Інкапсуляція – це поєднання інформаційних полів записів з підпрограмами, які обробляють ці поля, в повний тип даних - об’єкт для підтримки інкамсуляції. Об’єкт – це тип даних подібний запису, але крім звичайних полів в ньому є ще поля – заголовки-методи. Метод це процедура або функція, яка виконує потрібні операції з інформаційними полями. Для прикладу: Якщо розробляється інформаційно-довідкова система про людей, то об’єктом може бути запис “ПІБ”, ”рік народження”, ”національність”, а методами – “Ввести інформацію”, “записати до файлу”, “знайти людину по якійсь ознаці”.
Якщо проектується віконний інтерфейс, об’єктами можуть виступати рядок, вікно і т.д. Самим простим об’єктом буде рядок з координатами початку рядка, його довжиною та атрибутами символів, а метод буде забезпечувати відображення рядка на екрані, ініціалізацію початкових значень, переміщення рядка і т.д.