.
.
.
20 DEF FNC (X,Y)=SQR (X^2+Y^2)
.
.
.
50 DEF FND(X)=SIN (X)/X
.
.
.
80 LET Z=Y+B*3
.
.
.
FNC жєне FND функцияларын анықтаудағы х аргументі өзара байланысты емес тәуелсіз шамалар. Компьютерде оларға оперативті жадтың әр түрлі ұялары бөлінеді. Дәл осы сияқты 20-оператордағы у формальды аргументінің программаның 80-операторындағы у айнымалысына ешқандай қатысы жоқ. Мыналар шын аргументтер бола алады: тұрақтылар, айнымалылар (жай және индексті), өрнектер. Орындалатын оператордың формуласында шын аргументті стандартты емес функцияның аты оперант ретінде кездескен кезде ғана стандартты емес функцияны пайдалану орындалады. Функцияны пайдалануда алдымен барлық шын аргументтердің мәндері есептеледі, одан әрі олар функцияның анықтамасындағы формальды аргументтердің сәйкес орындарына қойылады және функция анықтамасының оң жағына жазылған өрнектің мәні есептеледі. Осы мән функциясының мәні болып табылады.
Пайдаланушының анықтайтын функциясы бүтін, нақты немесе символдық бола алады. Функцияның атынан соң % символы тұрса, онда ол бүтін деп, ал $ символы тұрса, онда ол символдық деп аталады. Бүтін санды функцияның мәні бүтін саны болып табылады, ал символдық функцияның мәні символдар қатары болады. Егер % және $ таңбалары жоқ болса, онда функция нақты функция болады, яғни нәтижесі нақты сан болады.
Мына төменде пайдаланушының анықтайтын функциясын пайдаланудың мысалдары келтірілген:
20 DEF FNA % (X,Y,R%)=X*K% +Y*10*K%
20 DEF DNB% (A$,L)=SWG (A$,I,L)+”A”
20 DEF FNC (X)=SIN (X) /X
М±нда:
FNA% функциясының мәні бүтін сан;
FNB$ функциясының мәні символдар қатары;
FNC функциясының мәні нақты сан болады.
Пайдаланушы функцияны анықтауда деректердің түрлерінде рұхсат етілмейтін түрленулердің, яғни сандық деректердің символдық деректерге және керісінше түрленулерінің болмауын қадағалап отыруы керек. Оны пайдаланғанда шын аргументтердің саны және олардың түрлі функция анықтамасындағы формальды аргументтердің санына және түріне сәйкес келуі тиіс. Бұл талапты бұзу қателікке алып келеді. Мысалы, мына операторлардың:
20 DEF FNB (X)=2*X/SQR (X)
30 PRINT FNB (5,2)
орындалуының нәтижесінде экранға аргументтерде қате кеткендігі туралы хабар шығады. DEF операторы орындалмайтын оператор, сондықтан да барлық DEF операторларын басқа да орындалмайтын операторлармен бірге программаның басына орналастыруға болады. Ол тек программалық режімде ғана пайдаланылады:
Мысалдар келтірейік:
20 DEF FNA (X)=АВS (SIN(X)
.
.
.
50 DEF FNB (X,Y)=FNA (X)+(CJS(Y)^2-1
55 X=2.5
60 Z=FNB (4.7124,3.I4I6)*EXP (X)
70 PRINT Z
.
.
.
Бұл программа үзіндісі орындалғанда мына төмендегідей нәтиже алынады:
Z=( sin 4.7124 + cos2 3.1416-1).e2.5= 12.1825
және
екі функцияны анықтау керек және олардың мәні х=5 мәнінде есептелсін.
10 DEF FNY (x) =LOG (x+SQP(x^2+1)
20 DEF FNY =B^2 (((X-A)^2+B^2
30 A=2: B=3
40 X=5
50 Y=FNY (X): F=FNF (X)
60 PRINT X,Y,F
70 END
Бұл программада 30-қатарда А және В-ның мәндері анықталған, олай болмаған жағдайда f(x) функциясының мәні есептелінбейді. 40-қатарда х-тың мәні, ал 50-қатарда у және F-тің мәндері есептеледі.
Достарыңызбен бөлісу: |