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

Реферат Процедури в Паскалі





тичну змінну. Ось чому параметри-змінні слід оголошувати тільки ті, через які підпрограма насправді передає результати викликає програмі. Чим менше параметрів оголошено параметрами-змінними і чим менше в підпрограмі використовується глобальних змінних, тим менше небезпека отримання непередбачених програмістом побічних ефектів, пов'язаних з викликом підпрограми, тим простіше програма в розумінні і налагодженні.

Існує одна обставина, яку слід враховувати при виборі виду формальних параметрів. Як вже говорилося, при оголошенні параметра-значення здійснюється копіювання фактичного параметра в тимчасову пам'ять. Якщо цим параметром буде масив великої розмірності, то істотні витрати часу і пам'яті на копіювання при багаторазових зверненнях до підпрограмі можуть стати peшающім доказом на користь оголошення такого параметра параметром-змінною або передачі його в якості глобальної змінної.


Параметри масиви і параметри рядка



Може скластися враження, що оголошення змінних в списку формальних параметрів підпрограми нічим не відрізняється від оголошення їх у розділі опису змінних. Дійсно, в обох випадках багато спільного, але є одна істотна відмінність: типом будь-якого параметра в списку формальних параметрів може бути тільки стандартний або раніше оголошений тип. Тому не можна, наприклад, оголосити наступну процедуру:

Procedure S (а: array (1 .. 10] of real);

так як в списку формальних параметрів фактично оголошується тип - діапазон, який вказує кордону індексів масиву.

Якщо ми хочемо передати якийсь елемент масиву, то проблем, як правило, не виникає, але якщо в підпрограму передається весь масив, то слід спочатку описати його тип. Наприклад:

......

type

mas = array [1 .. 10] of real;

....... p> PROCEDURE S (a: mas);

......

Оскільки рядок є фактично своєрідним масивом, її передача в

підпрограму здійснюється аналогічним чином:

.......

type

intype = string [15];

outype = string [30];

FUNCTION St (i: intype): outype:

Вимога описати будь тип-масив або тип-рядок перед оголошенням підпрограми на перший погляд здається несуттєвим. Дійсно, в рамках найпростіших обчислювальних завдань зазвичай заздалегідь відома структура всіх використовуваних в програмі даних, тому статичне опис масивів не викликає проблем. Однак розробка програмних засобів універсального призначення пов'язана зі значними труднощами. По суті, мова йде про те, що в Турбо Паскалі неможливо використовувати в підпрограма масиви з В«плаваючимиВ» кордонами зміни індексів. Наприклад, якщо розроблена програма, обробна матрицю з 10 х 10 елементів, то для обробки матриці з 9 х 11 елементів необхідно перевизначити тип, тобто перекомпілювати всю програму. Цей недолік, як і відсутність в мові засобів обробки виняткових ситуацій (переривань), успадкований з стандартного Паскаля і явля...


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





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

  • Реферат на тему: Роль параметра адаптації у процедурі експоненціального згладжування. Як вп ...
  • Реферат на тему: Як враховувати рух грошей, якщо компанія розраховується через електронний г ...
  • Реферат на тему: Розробка та розрахунок параметрів основних ЕЛЕМЕНТІВ ЦСП з ІКМ
  • Реферат на тему: Обчислення параметрів випадкового цифрового сигналу та визначення його інфо ...
  • Реферат на тему: Розрахунок параметрів різання автогрейдера та визначення параметрів вібропл ...