Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Курсовые обзорные » Масиви. Одномірні і двомірні масиви

Реферат Масиви. Одномірні і двомірні масиви





ичний опис масивів не викликає проблем. Однак розробка програмних засобів універсального призначення пов'язана зі значними труднощами. По суті, мова йде про те, що в Турбо Паскалі неможливо використовувати в підпрограма масиви з "плаваючими" кордонами зміни індексів. Наприклад, якщо розроблена програма, обробна матрицю 10х10 елементів, то для обробки матриці 9x11 елементів необхідно перевизначити тип, тобто перекомпілювати всю програму (йдеться не про динамічний розміщенні масивів в купі, а про статичному описі масивів та передачі їх як параметрів у підпрограми). Цей недолік, як і відсутність у мові засобів обробки виняткових ситуацій (переривань), успадкований з стандартного Паскаля і являє собою об'єкт постійної і цілком заслуженою його критики. Розробники Турбо Паскаля не ризикнули кардинально змінити властивості базової мови, але, тим не менш, включили в нього деякі засоби, що дозволяють до певної міри пом'якшити зазначені недоліки. Ці недоліки практично повністю усунені в мові Object Pascal, використовуваному у візуальній середовищі програмування Delphi. p align="justify"> Насамперед, в середовищі Турбо Паскаля можна встановити режим компіляції, при якому відключається контроль за збігом довжини фактичного і формального параметра-рядка. Це дозволяє легко вирішити питання про передачу підпрограмі рядки довільної довжини. При передачі рядка меншого розміру формальний параметр буде мати ту ж довжину, що і параметр звернення; передача рядка більшого розміру приведе до її усікання до максимального розміру формального параметра. Слід сказати, що контроль включається тільки при передачі рядки, оголошеної як формальний параметр-змінна. Якщо, відповідний параметр оголошений параметром-значенням, ця опція ігнорується і довжина не контролюється. p align="justify"> Значно складніше йде справа з передачею масивів довільної довжини. Найбільш універсальним прийомом в цьому випадку буде, судячи з усього, робота з покажчиками і використання індексного арифметики. Дещо простіше можна вирішити цю проблему за допомогою нетипізований параметрів (див. п.8.5). У версії Турбо Паскаля 7.0 мову підтримує так звані відкриті масиви, легко вирішують проблему передачі підпрограмі одновимірних масивів змінної довжини. p align="justify"> Відкритий масив являє собою формальний параметр підпрограми, що описує базовий тип елементів масиву, але не визначальний його розмірності та межі: Procedure MyProc (OpenArray: array of Integer);

Усередині підпрограми такий параметр трактується як одновимірний масив з нульовою нижньою межею. Верхня межа відкритого масиву повертається функцією HIGH, згадуваної в п.4.1.1. Використовуючи 0 как мінімальний індекс і значення, яке повертається функцією HIGH, як максимальний індекс, підпрограма може обробляти одномірні масиви довільної довжини:

{Ілюстрація використання відкритих масивів: програма виводить на екран вміст двох одновимірних масивів різної довжини за допомог...


Назад | сторінка 11 з 16 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: Обробка одновимірних масивів. Виділення мінімального і максимального елеме ...
  • Реферат на тему: Програма обробки масивів координат точок на мові Сі
  • Реферат на тему: Використання строкових масивів при створенні додатків в середовищі Delphi
  • Реферат на тему: Графіка Турбо Паскаля
  • Реферат на тему: Набір процедур маніпулювання з цілими числами довільної довжини