Кіріспе
Функцияға/қосалқы бағдарламаға берілген кіріс. Компьютерлік бағдарламалауда параметр немесе формальды аргумент – қосалқы бағдарламада қолданылатын, қосалқы бағдарламаға берілген деректердің бір бөлігіне сілтеме жасау үшін пайдаланылатын айнымалының ерекше түрі. Осы деректердің бөліктері – бұл қосалқы бағдарлама шақырылғандағы аргументтердің мәндері (көбінесе нақты аргументтер немесе нақты параметрлер деп аталады). Параметрлердің реттелген тізімі әдетте қосалқы бағдарламаның анықтамасында болады, сондықтан қосалқы бағдарлама әр шақырылған сайын, оның сол шақыру үшін аргументтері есептеліп, нәтижесінде алынған мәндер тиісті параметрлерге тағайындалады. Құрамындағы математикалық қолданыстағы аргументтен өзгеше, компьютерлік ғылымда аргумент – функцияға, процедураға немесе ресімдемеге шақыру/қолдану операторында берілген нақты кіріс өрнегі, ал параметр – қосалқы бағдарламаның ішкі іске асыруындағы айнымалы. Мысалы, егер add қосалқы бағдарламасы def add(x, y): return x + y деп анықталса, онда x, y параметрлер болады, ал егер бұл add(2, 3) деп шақырылса, онда 2, 3 аргументтер болады. Шақыру контексіндегі айнымалылар (және олардың өрнектері) аргументтер бола алады: егер қосалқы бағдарлама a = 2; b = 3; add(a, b) деп шақырылса, онда a, b айнымалылары аргументтер болып табылады, ал 2, 3 мәндері емес. Қосымша ақпарат алу үшін «Параметрлер мен аргументтер» бөлімін қараңыз. Параметрлерді қалай жариялауға болатындығы және аргументтердің (мәні) қосалқы бағдарламалардың параметрлеріне қалай берілуінің семантикасы тілдің бағалау стратегиясымен анықталады, ал оның кез келген компьютерлік жүйеде қалай бейнеленетіні туралы мәліметтер сол жүйенің шақыру конвенциясына байланысты. Көбінесе қолданылатын жағдайда, мән бойынша шақыруда параметр аргументтің мәнімен бастамаланған жаңа жергілікті айнымалы ретінде қосалқы бағдарламада әрекет етеді (егер аргумент айнымалы болса, аргументтің жергілікті (оқшауланған) көшірмесі), бірақ басқа жағдайларда, мысалы, сілтеме бойынша шақыруда, шақырушы ұсынған аргумент айнымалы шақырылған қосалқы бағдарламадағы әрекеттерге әсер етуі мүмкін.
In computer programming, a parameter or a formal argument is a special kind of variable used in a subroutine to refer to one of the pieces of data provided as input to the subroutine. These pieces of data are the values of the arguments (often called actual arguments or actual parameters) with which the subroutine is going to be called/invoked. An ordered list of parameters is usually included in the definition of a subroutine, so that, each time the subroutine is called, its arguments for that call are evaluated, and the resulting values can be assigned to the corresponding parameters. Unlike argument in usual mathematical usage, the argument in computer science is the actual input expression passed/supplied to a function, procedure, or routine in the invocation/call statement, whereas the parameter is the variable inside the implementation of the subroutine. For example, if one defines the add subroutine as def add(x, y): return x + y, then x, y are parameters, while if this is called as add(2, 3), then 2, 3 are the arguments. Variables (and expressions thereof) from the calling context can be arguments: if the subroutine is called as a = 2; b = 3; add(a, b) then the variables a, b are the arguments, not the values 2, 3. See the Parameters and arguments section for more information. The semantics for how parameters can be declared and how the (value of) arguments are passed to the parameters of subroutines are defined by the evaluation strategy of the language, and the details of how this is represented in any particular computer system depend on the calling convention of that system. In the most common case, call by value, a parameter acts within the subroutine as a new local variable initialized to the value of the argument (a local (isolated) copy of the argument if the argument is a variable), but in other cases, e. g. call by reference, the argument variable supplied by the caller can be affected by actions within the called subroutine.
Деректер түрлері
Қатты типтелген бағдарламалау тілдерінде әрбір параметрдің типі процедура жариялануында нақты көрсетілуі керек. Типті автоматты түрде анықтауды қолданатын тілдер функцияның коды мен қолданылуынан типтерді автоматты түрде табуға тырысады. Динамикалық типтелген бағдарламалау тілдері типті анықтауды орындау кезіне дейін кейінге жылдырады. Әлсіз типтелген тілдер типті анықтауды аз немесе мүлдем жасамайды, оның орнына бағдарламашының дұрыстығына сенеді. Кейбір тілдер арнайы кілт сөзді (мысалы, void) қолданады, бұл кіші бағдарламаның параметрлері жоқ екенін көрсетеді; формальды типтер теориясында мұндай функциялар бос параметрлер тізімін қабылдайды (оның типі void емес, бірлік).
Аргумент қабылданды
Аргументтерді параметрлерге тағайындаудың нақты механизмі, аргументтерді беру деп аталады, ол осы параметр үшін қолданылатын есептеу стратегиясына (әдетте мән бойынша берілу) байланысты, және кілт сөздерді пайдалану арқылы көрсетілуі мүмкін.
Функционалдық тілдердегі бірнеше параметрлер
Ламбда-есептеуде әр функцияның дәл бір параметрі болады. Көп параметрлі функциялар деп есептелетін нәрсе, әдетте, ламбда-есептеуде бірінші аргументті қабылдайтын функция ретінде көрсетіледі және қалған аргументтерді қабылдайтын функцияны қайтарады; бұл керри деп аталатын түрлендіру. ML және Haskell сияқты кейбір бағдарламалау тілдері осы схеманы қолданады. Осы тілдерде әр функцияның дәл бір параметрі болады, ал көп параметрлі функцияның анықтамасы сияқты көрінетін нәрсе, шындығында функцияны қайтаратын функцияның анықтамасы үшін синтаксистік қант болып табылады және т.б. Функцияны қолдану осы тілдерде де, ламбда-есептеуде де солдан оңға қарай ассоциативті болып келеді, сондықтан функцияны бірнеше аргументке қолдану сияқты көрінетін нәрсе, функцияның бірінші аргументке қолданылуы ретінде дұрыс бағаланады, содан кейін нәтижесіндегі функция екінші аргументке қолданылады және т.б.