Процедури, підпрограми та параметри, Детальна інформація
Процедури, підпрограми та параметри
<
J
x
~
¬
¶
\x00AA
<
x
¬
\x00BA
9 або функції іменам параметрів ставляться у відповідність змінні, тобто ділянки пам'яті, уже зіставлені аргументам. При виконанні виклику зміна значення параметра-змінної насправді є зміною значення аргументу (рис.3.4).
Момент виконання програми a b c
перед першим викликом 3 2 1
після першого виклику 2 3 1
після другого виклику 2 1 3
після третього виклику 1 2 3
Якщо в програмі sort31 означити параметри процедури як параметри-змінні, то за виконання виклику swap(a, b) імені xx зіставляється та ж сама ділянка пам'яті, що й змінній a, а імені yy – та ж, що b. У результаті обмін місцями значень xx і yy є обміном a і b. Що й було потрібно. Таким чином, якщо в змінні a, b, c програми було прочитано значення 3, 2, 1 відповідно, то результати виконання викликів процедури swap можна подати станами пам'яті програми, як на рис.3.5.
Функції та процедури в мові Паскаль мають загальну назву: підпрограми. У заголовках підпрограм можна означати як параметри-значення, так і параметри-змінні. Означення однотипних параметрів того самого виду називається секцією, і означення параметрів насправді є послідовністю секцій.
Секція параметрів-значень – це список імен, за яким після двокрапки записано ім'я типу, наприклад, a1, a2 : real. Секція параметрів-змінних починається словом var, за яким записано список імен параметрів та ім'я типу, наприклад,
var xx, yy : integer.
Секції розділяються ";". За необхідності ми могли б написати, наприклад,
procedure qq(x, y : integer; var z, t : integer).
Як ми вже говорили, у викликах підпрограм вказуються аргументи – вирази, однотипні з параметрами. Але є суттєва відмінність між аргументами, що можуть відповідати параметрам-значенням і параметрам-змінним.
Аргументом для параметра-значення може бути будь-який вираз, тип якого сумісний за присвоюванням із типом параметра.
Аргументом для параметра-змінної може бути тільки ім'я змінної того ж типу, що й параметр.
У літературі часто параметри підпрограм називаються формальними параметрами, а аргументи у викликах – фактичними.
Задачі
J
x
~
¬
¶
\x00AA
<
x
¬
\x00BA
9 або функції іменам параметрів ставляться у відповідність змінні, тобто ділянки пам'яті, уже зіставлені аргументам. При виконанні виклику зміна значення параметра-змінної насправді є зміною значення аргументу (рис.3.4).
Момент виконання програми a b c
перед першим викликом 3 2 1
після першого виклику 2 3 1
після другого виклику 2 1 3
після третього виклику 1 2 3
Якщо в програмі sort31 означити параметри процедури як параметри-змінні, то за виконання виклику swap(a, b) імені xx зіставляється та ж сама ділянка пам'яті, що й змінній a, а імені yy – та ж, що b. У результаті обмін місцями значень xx і yy є обміном a і b. Що й було потрібно. Таким чином, якщо в змінні a, b, c програми було прочитано значення 3, 2, 1 відповідно, то результати виконання викликів процедури swap можна подати станами пам'яті програми, як на рис.3.5.
Функції та процедури в мові Паскаль мають загальну назву: підпрограми. У заголовках підпрограм можна означати як параметри-значення, так і параметри-змінні. Означення однотипних параметрів того самого виду називається секцією, і означення параметрів насправді є послідовністю секцій.
Секція параметрів-значень – це список імен, за яким після двокрапки записано ім'я типу, наприклад, a1, a2 : real. Секція параметрів-змінних починається словом var, за яким записано список імен параметрів та ім'я типу, наприклад,
var xx, yy : integer.
Секції розділяються ";". За необхідності ми могли б написати, наприклад,
procedure qq(x, y : integer; var z, t : integer).
Як ми вже говорили, у викликах підпрограм вказуються аргументи – вирази, однотипні з параметрами. Але є суттєва відмінність між аргументами, що можуть відповідати параметрам-значенням і параметрам-змінним.
Аргументом для параметра-значення може бути будь-який вираз, тип якого сумісний за присвоюванням із типом параметра.
Аргументом для параметра-змінної може бути тільки ім'я змінної того ж типу, що й параметр.
У літературі часто параметри підпрограм називаються формальними параметрами, а аргументи у викликах – фактичними.
Задачі
The online video editor trusted by teams to make professional video in
minutes
© Referats, Inc · All rights reserved 2021