Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Підпрограми. Процедури і функції. Локальні і глобальні змінні. Області дії імен




Підпрограма - це послідовність операторів, які визначені і записані тільки|лише| в одному місці|місце-милі| програми, проте|однак| їх можна викликати|спричиняти| для виконання з|із| однієї або декількох точок програми. Кожна підпрограма визначається унікальним ім'ям.

Алгоритм рішення задачі проектується шляхом декомпозиції всього завдання|задачі| в окремі підзадачі. Зазвичай|звично| підзадачі реалізуються у вигляді підпрограм.

У Turbo| Pascal| розрізняють два види підпрограм - це процедури і функції. Процедура і функція - це іменована послідовність описів і операторів. При використанні процедур або функцій Pascal| - програма повинна містити|утримувати| текст процедури або функції і звернення до процедури або функції. Тексти процедур і функцій поміщаються в розділ описів процедур і функцій.

Процедура - це незалежна іменована частина|частка| програми, яку можна викликати|спричиняти| по імені для виконання визначеної в ній послідовності дій. Процедури служать для завдання|задавання| сукупності дій, направлених|спрямованих| на зміну зовнішньої по відношенню до них програмної обстановки.

Функція відрізняється від процедури тим, що повертає результат вказаного при її описі типу|типа|. Виклик функції може здійснюватися з|із| виразу|вираження|, де ім'я функції використовується як операнд. Функції є|з'являються,являються| окремим випадком процедур, і обов'язково повертають в точку виклику результат як значення імені цієї функції. При використанні функцій необхідно враховувати сумісність типів у виразах.

Опис процедури проводиться|виробляє,справляє| в розділі описів основної програми. Будь-яка процедура оформляється аналогічно програмі, може містити|утримувати| заголовок, розділи описів і операторів. Синтаксис заголовка процедури:

Procedure| <Name|>(<Список формальних параметрів>);

... {Розділ описів}

Begin|

…{ Розділ операторів процедури}

End|;

де Procedure| - службове слово; Name| - довільний ідентифікатор, що визначає ім'я процедури.

Procedure| MyProc| (A,B,C|: Real|; var| X1,X2|: Real|);

Begin|

WriteLn|('A=',A| ' B=|', B, 'C=|', C);

X1:=A+B|;

X2:=A*B-C|

End|;

Для виклику процедури на виконання до неї необхідно звернутися|обертатиметься|.

Виклик процедури проводиться|виробляє,справляє| вказівкою імені процедури і списком фактичних параметрів:

Name|(<Список фактичних параметрів>);

MyProc|(K, L+M|, 12, Y1|, Y2|);

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

Оформляється функція аналогічно процедурі. Відмітною особливістю функції є|з'являється,являється| те, що вона повертає тільки|лише| один результат виконання. Цей результат позначається|значить| ім'ям функції і повертається (передається) в основну програму (місце|місце-миля| виклику). Функція складається із заголовка, розділу описів і розділу операторів.

Function| <Name|>(<Список формальних параметрів>):<Type>;

... {Розділ описів}

Begin|

…{ Розділ операторів процедури}

Name:=<вираз| відповідного типу|типа|>;

.

End|;

де Function| - службове слово; Name| - довільний ідентифікатор, що визначає ім'я функції. У відмінності|відзнаці| від процедур в розділі операторів тіла функції обов'язково повинен бути хоч би|хоча би| один оператор привласнення|присвоєння| імені функції виразу|вираження| або значення відповідного типу|типа|. Після|потім| роботи функції результат привласнюється імені функції.

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

Використання процедур і функцій в Паскалі тісно пов'язане з деякими особливостями роботи з|із| ідентифікаторами (іменами) в програмі. Зокрема|, не всі імена завжди доступні для використання. Доступ до ідентифікатора в конкретний момент часу визначається тим, в якому блоці він описаний.

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

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





Поделиться с друзьями:


Дата добавления: 2016-07-29; Мы поможем в написании ваших работ!; просмотров: 714 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Так просто быть добрым - нужно только представить себя на месте другого человека прежде, чем начать его судить. © Марлен Дитрих
==> читать все изречения...

2433 - | 2188 -


© 2015-2024 lektsii.org - Контакты - Последнее добавление

Ген: 0.007 с.