Каква е реалната параметъра
1. Каква е функцията? определение функция. Предимствата от използването на функции
Когато пишете програма за средно и високо ниво на сложност има нужда от разделянето им един от друг. Разделянето голяма програма на по-малки парчета, за да се намали рискът от грешки, тя подобрява четимостта на кода благодарение на структуриране.
Също така, ако част от кода се повтаря няколко пъти (или да има подобно значение), е препоръчително да го организира, като функция, която след това може да се нарече няколко пъти, като се използва името му. По този начин, има спестявания на паметта, намаляване на изходния код на програмата и др ..
Функция - това е част от програмата, която има следните особености или характеристики:
- има логично самостоятелна част от програмата;
- Той има име, въз основа на който повикването на функцията (функциите). Името на функция трябва да съответства на създаването на C ++ идентификатори;
- може да съдържа списък с параметрите, които се предават към него за преработка или използване. Ако функцията не съдържа списък с опции, а след това тази функция се нарича без аргументи;
- може да се върне (не е задължително) определена стойност. Ако функцията не връща никаква стойност, а след това уточни празнотата ключова дума;
- Разполага със собствен код, който се намира между скобите <>. Кодът решава проблема, породен от тази функция. Функцията код в рамките на фигурни скоби, наречен "функции на организма".
Използване на функции в програмите на следните предимства:
- компактна организация на програмата, като удобен призвание код по неговото име, което в програмата може да се случи на няколко пъти (повтаряща се);
- спестявания на паметта, размера и източника на изпълнителната код и др.;
- намаляване на риска от грешки за големи групи от кодове;
- подобряване на разбираемостта на кода.
2. Каква е общата форма на описанието на функцията?
Общата форма на описанието на функция, както следва:
3. Примери за описание и използване на функции, които не връщат стойности
Ако функцията не връща стойност, то тя трябва да започне от празнотата на ключовите думи.
Пример 1. MyFunc1 () функция без параметри, които не се връща стойност.
Ако тялото на класа или модул описва функцията:
след това се обадете на тази функция, както следва:
Пример 2. MyFuncMult2 () функция. който взема едно число параметър и връща никаква стойност. Функцията получава чрез умножаване на параметър от 2 и извежда резултата за образуване label1 контрол.
Извикването на функциите от различен код:
Пример 3. функция, която получава две двойни параметър тип. Това е техния продукт и да го показва на формата в контрола label1.
Извикването на функциите от различен код:
4. Примери за описанието и използването на функции, които получават един параметър
Пример 1. функция, която има една число параметър, тя умножава с 5 и връща резултата. Функцията не работи в резултат на изхода.
Извикването на функциите от друг код
Пример 2. Стойността на функция изчисляване у = знак (х). определена от правилото:
Извикването на функциите от различен код:
5. Примери описващи използването и функциите, които получават два или повече параметър
Пример 1. MaxFloat () функция. 2 получаване параметър от тип плувка и връща максимума от тях.
Трябва да се отбележи, че тази функция е връщане 2 пъти се среща.
функция MaxFloat () Покана от друг код:
Пример 2. MaxInt3 () функция. което е максималната стойност на трите числа.
Извикването на функциите от друг код
6. Какви са различните начини за преминаване параметри на функцията? пример
По принцип има два метода за предаване на параметрите на функцията:
Демонстрация MyFunction () функция обаждане от друг код:
Както се вижда от резултата, стойността на един не се променя. Променливата предава MyFunction () функция с стойности на предаване (първи параметър).
7. Какви са формални и действителните параметри на функцията? пример
Формалните параметри - това е променлива, като стойността на аргументи функция (параметри). Ако функцията има няколко аргументи (параметри), техния вид и имената разделени със запетаи. " ".
Пример. MyAbs () функция. намиране на единица има един от най-формален параметър х.
Извикването на функциите от друг код (друга функция)
При активиране на функцията се нарича от друг код има действително аргумент. В този пример действителния параметър е променлива и постоянна 23.
При активиране на функцията се нарича действителните параметри се копират в специално място памет в стека (стека - част от паметта). Тези клетки памет се заделят за формалните параметри. По този начин, на формалните параметри (чрез използването на купчина), на стойност от действителните параметри.
Тъй като действителните параметри се копира в стека, промяна на формалните параметри в тялото на функция не променя стойностите на действителните параметри (тъй като има копие на действителните параметри).
8. Какъв е обхватът на формални параметри на функцията? пример
ПОЛЕ видимост функционални формални параметри определени граници тялото на функцията, в която са описани. В примера по-долу, формално параметър п е тип число в скоби на обхвата граници <> .
Пример. Функцията, която изчислява факториела на брой п.
Извикването на функциите от друг код (друга функция):
9. Какво е прототип на функция? пример
Прототипът функция ви позволява да се избегнат грешки при прехвърляне действителните параметри на формалните параметри.
Ако няма функция прототип, компилаторът приема вида на формални параметри, равни на вида на действителните параметри. Това може да доведе до грешка.
Прототипът функция дава информация за компилатор за вида на формални параметри във функция. Това е важно в случаите, когато видът на действителните параметри не съответства на типа на формалните параметри.
Пример. При един функция Div (). 2, която получава на броя на вид дълго вътр и връща резултат от номерата на делене на цяло число. Функцията не е прототип (вж. По-долу).
Ако пишете в другата програмен код:
което означава, че рискът от погрешно резултат в променлива С. Това се дължи на факта, че функцията се нарича компилатор не разполага с информация за вида на формалната параметър (х. Y), които се използват във функцията. Компилаторът счита, че вида на параметри в функция е същата като вида на действителните параметри (променлива. В), която е, Int. Въпреки това, Div () функция използва параметрите на дълги тип Int. който има голям капацитет на паметта, отколкото Int. Поради това, че може да има нарушаване на ценности.
За да се избегне такава грешка се препоръчва да се даде функция прототип. В този случай, прототипът има следния вид:
В прототипа се посочват:
- върне вид на функцията;
- името на функцията;
- типа аргументи функция (параметри).
Ако функцията е описана в класа и се обадете на методите на този клас, а след това тези грешки няма. Това се дължи на факта, че в един клас от функция прототип е известно, че всички методи на клас.