Кіріспе

Функцияға/қосалқы бағдарламаға берілген кіріс. Компьютерлік бағдарламалауда параметр немесе формальды аргумент – қосалқы бағдарламада қолданылатын, қосалқы бағдарламаға берілген деректердің бір бөлігіне сілтеме жасау үшін пайдаланылатын айнымалының ерекше түрі. Осы деректердің бөліктері – бұл қосалқы бағдарлама шақырылғандағы аргументтердің мәндері (көбінесе нақты аргументтер немесе нақты параметрлер деп аталады). Параметрлердің реттелген тізімі әдетте қосалқы бағдарламаның анықтамасында болады, сондықтан қосалқы бағдарлама әр шақырылған сайын, оның сол шақыру үшін аргументтері есептеліп, нәтижесінде алынған мәндер тиісті параметрлерге тағайындалады. Құрамындағы математикалық қолданыстағы аргументтен өзгеше, компьютерлік ғылымда аргумент – функцияға, процедураға немесе ресімдемеге шақыру/қолдану операторында берілген нақты кіріс өрнегі, ал параметр – қосалқы бағдарламаның ішкі іске асыруындағы айнымалы. Мысалы, егер 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 мәндері емес. Қосымша ақпарат алу үшін «Параметрлер мен аргументтер» бөлімін қараңыз. Параметрлерді қалай жариялауға болатындығы және аргументтердің (мәні) қосалқы бағдарламалардың параметрлеріне қалай берілуінің семантикасы тілдің бағалау стратегиясымен анықталады, ал оның кез келген компьютерлік жүйеде қалай бейнеленетіні туралы мәліметтер сол жүйенің шақыру конвенциясына байланысты. Көбінесе қолданылатын жағдайда, мән бойынша шақыруда параметр аргументтің мәнімен бастамаланған жаңа жергілікті айнымалы ретінде қосалқы бағдарламада әрекет етеді (егер аргумент айнымалы болса, аргументтің жергілікті (оқшауланған) көшірмесі), бірақ басқа жағдайларда, мысалы, сілтеме бойынша шақыруда, шақырушы ұсынған аргумент айнымалы шақырылған қосалқы бағдарламадағы әрекеттерге әсер етуі мүмкін.

Деректер түрлері

Қатты типтелген бағдарламалау тілдерінде әрбір параметрдің типі процедура жариялануында нақты көрсетілуі керек. Типті автоматты түрде анықтауды қолданатын тілдер функцияның коды мен қолданылуынан типтерді автоматты түрде табуға тырысады. Динамикалық типтелген бағдарламалау тілдері типті анықтауды орындау кезіне дейін кейінге жылдырады. Әлсіз типтелген тілдер типті анықтауды аз немесе мүлдем жасамайды, оның орнына бағдарламашының дұрыстығына сенеді. Кейбір тілдер арнайы кілт сөзді (мысалы, void) қолданады, бұл кіші бағдарламаның параметрлері жоқ екенін көрсетеді; формальды типтер теориясында мұндай функциялар бос параметрлер тізімін қабылдайды (оның типі void емес, бірлік).

Аргумент қабылданды

Аргументтерді параметрлерге тағайындаудың нақты механизмі, аргументтерді беру деп аталады, ол осы параметр үшін қолданылатын есептеу стратегиясына (әдетте мән бойынша берілу) байланысты, және кілт сөздерді пайдалану арқылы көрсетілуі мүмкін.

Функционалдық тілдердегі бірнеше параметрлер

Ламбда-есептеуде әр функцияның дәл бір параметрі болады. Көп параметрлі функциялар деп есептелетін нәрсе, әдетте, ламбда-есептеуде бірінші аргументті қабылдайтын функция ретінде көрсетіледі және қалған аргументтерді қабылдайтын функцияны қайтарады; бұл керри деп аталатын түрлендіру. ML және Haskell сияқты кейбір бағдарламалау тілдері осы схеманы қолданады. Осы тілдерде әр функцияның дәл бір параметрі болады, ал көп параметрлі функцияның анықтамасы сияқты көрінетін нәрсе, шындығында функцияны қайтаратын функцияның анықтамасы үшін синтаксистік қант болып табылады және т.б. Функцияны қолдану осы тілдерде де, ламбда-есептеуде де солдан оңға қарай ассоциативті болып келеді, сондықтан функцияны бірнеше аргументке қолдану сияқты көрінетін нәрсе, функцияның бірінші аргументке қолданылуы ретінде дұрыс бағаланады, содан кейін нәтижесіндегі функция екінші аргументке қолданылады және т.б.