Բառաձեւերի, բառակապակցությունների համակցման եւ արհեստական (ծրագրավորողական) լեզուների ֆունկցիաների (մեթոդների) կատարման միջեւ կարելի է հետեւյալ զուգահեռները անցկացնել`
քերականական կառուցվածքի գլխավոր անդամը (տե՛ս 2.6 Խոսքային կառույցների ընդհանրականությունը հատվածը) զուգորդվում է ֆունկցիայի անվան հետ
կոնտեքտի մյուս ձեւույթները ֆունկցիայի արգումենտներ են: Բառաձեւերի դեպքում արգումենտները ածանցներն են, իսկ բառակապակցության դեպքում՝ գլխավոր անդամից բացի բառակապակցության մյուս անդամները` հատկացուցիչները եւ լրացումները
քերականական ֆունկցիայի արժեքը ստացված քերականական միավորն է` բառաձեւը կամ բառակապակցությունն է
Բազմաձեւություն (polymorphism) սատարող ծրագրավորողական լեզուներում ֆունկցիաները տարբերակվում են ոչ միայն անուններով, այլ նաեւ արգումենտների քանակով եւ տեսակներով (նաեւ թվարկման հաջորդականությամբ): Ֆունկցիայի արգումենտների տեսակների հաջորդականությունը կոչվում է ֆունկցիայի բնութագիր (signature):
Ծրագրավորողական ֆունկցիան բնութագրվում է անունով, օրինակ` divide (բաժանել), եւ արգումենտներով, օրինակ` dividend (բաժանելի), divisor (բաժանորդ): Ֆունկցիան իրագործվում է որպես որեւէ ծրագրավորողական լեզվով գրված կոմպյուտերային հրահանգների հաջորդականություն, որը արգումենտների տրված արժեքների համար հաշվարկում է անվանը համապատասխանող ելքային կամ, այլ կերպ ասած, ֆունկցիայի արժեք: Սովորաբար ֆունկցիայի նկարագրությունն ունի հետեւյալ տեսքը`
integer divide (integer dividend, integer divisor)
Այս տողը մեկնաբանվում է որպես «բաժանելի (dividend) ամբողջը (integer) ամբողջ (integer) բաժանորդով (divisor) բաժանելու (divide) արդյունքում ստացվող ամբողջ (integer) քանորդ»: Այս ֆունկցիայի բնութագիրն է (integer, integer):
Քանի որ տվյալ ֆունկցիայի արգումենտները եւ արդյունքի արժեքը ամբողջ թվեր են, ուստի քանորդը առանց մնացորդի է հաշվարկվում` divide (5, 2) = 2:
Եթե ֆունկցիայի բնութագիրը եւ վերադարձվող արժեքը փոխենք, օրինակ`
float divide (float, integer),
ապա կպահանջվի նաեւ ներքին հրահանգների ձեւափոխում, որպեսզի արգումենտների նոր տեսակներով նոր տեսակի ելքային արժեք հաշվարկվի: Ֆունկցիայի իրագործման այս փոփոխությունն անհրաժեշտ է, քանի որ բաժանելիի եւ քանորդի համար իրական (float) թվերի գործածումը կ’երաշխավորի ավելի ճշգրիտ բաժանման արդյունք` divide (5.0, 2) = 2.5:
Այս երկու ֆունկցիաները, կրելով նույն անունը, տարբեր իրագործում են ենթադրում, տարբեր գործողություններ են կատարում եւ տարբեր արդյունք են տալիս բնութագրերի տարբերության շնորհիվ:
Բաժանում ֆունկցիան կարող է այլ բնութագրեր ունենալ` divide (polynomial, polynomial) կամ divide (matrix, matrix): Առաջին դեպքում գործ ունենք բազմանդամների, իսկ երկրորդ` մատրիցների, բաժանման հետ:
Դիտարկում: Մատրիցների բաժանում ասելով՝ հասկանում են մի մատրիցի՝ մի այլ մատրիցի հակադարձով բազմապատկում: «Ուղիղ» եւ «հակադարձ» մատրիցների բազմապատկման արդյունքը միավոր մատրիցն է (մատրիցի բոլոր արժեքները մեկեր են):
Ավելացրի չակերտներ, որ պարզ դառնա անգլերեն նշաններով (բառերով) ֆունկցիայի սահմանման հայերեն բառերով կազմված նախադասության համարժեքությունը (թարգմանությունը)
Comments