2.5 жєне 3.1 квадраттарыныњ ќосындысы
Бағдарлама ж±мысы процедурадан шыѓып, негізгі бағдарламаныњ орындалуы
жалѓасады. z пен k-ныњ мєндері меншіктеледі. Процедура енді z, k
параметрлерімен шаќырылады.
А=-7.2, b=5.3 мєндеріне ие болады. Енді осы екі санныњ квадраттарыныњ
ќосындысы есептеледі.
Экранѓа мынандай хабарлама шыѓады :
-7.2 жєне 5.3 квадраттарыныњ ќосындысы
процедура ж±мысы аяќталып, негізгі бағдарламаѓа оралады, негізгі бағдарлама
ж±мысын аяќтайды.
Бағдарламаныњ орындалу тєртібі
1. Негізгі бағдарламадаѓы айнымалылар сипатталады.
2. X, Y параметірлерімен Sum_Kv процедурасы шаќырылып, процедура
орындалады, болѓан соњ негізгі бағдарлама жалѓасады.
3. Z, K параметрлерімен Sum_Kv процедурасы шаќырылып, процедура
орындалады, болѓан соң негізгі бағдарламаѓа оралады.
4. Негізгі бағдарлама ж±мысын аяќтайды.
Параметр–айнымалы. Параметр – айнымалылар процедураныњ нєтижесін негізгі
бағдарламаѓа єкелу (ќайтару) ‰шін ќолданылады.
Параметр–айнымалылар негізгі бағдарламадаѓы фактілік параметрлерге ыќпал
етіп, оларды µзгерте алады.
2-мысал. Санныњ дєрежесін табуды процедура етіп алып, у=a4*x
4
+a3*x
3
+a2*x
2
мєнін есептеу бағдарламасын ќ±ру. М±ндаѓы, а4, а3, а2,х – клавиатурадан
енгізіледі.
program kosindi;
var x, a4, a3, a2, y, s,:real
procedure dareje (a: real; n: byte; var d: real);
var i:byte;
begin {процедура денесі}
d:=1;
for i:=1 to n do
d:= d * a
end;
begin {негізгі бағдарламаның денесі}
readln(x, a4, a3, a2);
dareje(x,4,s); y:=s*a4;
dareje(x,3,s); y:= y +s*a3; dareje(x,2,s); y:=y+s*a2;
writeln (‘y=’, y); readln;
end.
Бағдарламадағы процедураѓа сипаттама. Процедура Dareje деп аталады. Онда а
саныныњ n дєрежесі есептеліп, нєтижесі d-ѓа меншіктеледі. A,n,d- формальдыќ
параметрлер. Дєреженіњ нєтижесі d негізгі бағдарламаѓа ќайтарылатындыќтан var
d:real сипаттамасы жазылады. і-формальдыќ параметр емес, сондыќтан ол
процедураныњ сипаттама бµлімінде жазылѓан.
Процедура денесінде а саныныњ n рет кµбейтіндісі есептеледі, а мен n-ніњ
мєндері негізгі бағдарламадан беріледі.
Негізгі бағдарламаѓа сипаттама. Негізгі бағдарламада ќолданылатын фактілік
параметрлер: х, а4, а3, а2, у, s; у-нєтиже, ал s-санныњ дєрежесініњ нєтижесі.
х, а4, а3, а2-мєндері клавиатурадан енгізіледі.
х4, s-параметрлерімен dаreje процедурасы шаќырылады.
Процедурадаѓы a=x, n=4 мєндеріне ие болып, х-тіњ 4 дєрежесі есептеледі.
Нєтижесі S параметрімен негізгі бағдарламаѓа ќайтарылады, яѓни s:=d болады.
Негізгі бағдарламада y:=s*a4 мєні есептеледі.
x,3,s параметрлерімен процедура таѓы да шаќырылады, яѓни a=x, n=3
мєндерінде х-тіњ 3 дєрежесі есептеледі. Нєтижесі, яѓни d–ныњ мєні s-ке
меншіктеледі, s жања мєнге ие болады да, негізгі бағдарламада y:=y+s*a3 есептеледі.
х, 2, s параметрлерімен процедура шаќырылып, іс-єрекет қайталанады.
№10 зертханалық жұмыс. Функциялар.
Теориялық бөлім
Паскаль тілінде пайдаланушы стандарттыќ функциялардан басќа, µз функциясын
аныќтай алады. Ондай функциялардыњ сипаттамасы функцияныњ таќырыбынан
жєне функция денесінен т±рады.
Функцияныњ жазылуыныњ жалпы т‰рі:
Function аты (формальді параметрлер тізімі): нєтиженіњ типі ;
сипаттама бµлімі
begin
функция денесі
end;
Функция негізгі бағдарламадан аты бойынша шаќырылады. Функцияѓа
берілетін мєндер, ондаѓы формальдыќ параметрге сєйкес болу керек. Функцияныњ
таќырыбында функцияныњ аты жєне типтері кµрсетілген формальды параметрлер
тізімі жазылады. Тізім жаќшаѓа алынады. Жаќшаныњ сыртында функция
нєтижесініњ типі жазылады.
Функция денесінде кем дегенде бір меншіктеу операторы функцияныњ атына
мєн меншіктейтін болу керек!
3-мысал. Санның дәрежесін табуды функция етіп алып, z=(a
5
+a
-3
) / (2· a
m
) – өрнегінің
мәнін есептеу.
program z_funk;
var m: integer; a, z, r: real;
function dareje (n: integer; x : real): real;
var i: integer; y: real;
begin
y:=1;
for i:= 1 to n do
y:= y*x; dareje:= y;
end;
begin
readln (a, m);
z:= dareje (5,a);
z:= z+ dareje(3,1/a);
if m=0 then r:=1
else if m>0 then r:= dareje (m,a)
else r:=dareje (m,1/a);
z:= z/(2*r);
writeln ('a=',a, 'm=':10, m, 'z=':10, z);
readln; end.
Бағдарламадағы функцияға сипаттама. Функцияның аты dareje деп аталады. Бұл
функция х
n
дәрежесін есептейді. N мен х- функцияның формальды параметрлері: n-
дәреже көрсеткіші, типі integer; ал x n дәрежеге шығарылатын сан, типі real.
Негізгі пограммаға қайтарылатын функцияның нәтижесі де нақты типті.
Функцияда формальды параметрлерден басқа, і және у айнымалылары
сипатталған. i-қайталану санын білдіреді.
Y айнымалысы санды өз-өзіне і рет көбейтудің нәтижесін сақтайды. N-дәреже
есептеліп болған соң, dareje функциясына y-тің мәні меншіктеледі.
Негізгі бағдарламаға сипаттама. Негізгі бағдарламада m,a,z,r айнымалылары
сипатталады. m - дәреже көрсеткіші; a - берілген сан;
r - а
n
дәрежесінің нәтижесі; z - нәтиже.
Бағдарлама орындалғанда а және m мәндері клавиатурадан енгізіледі.
z:=dareje(5,a) жолында 5 және а фактілік параметрлерімен dareje функциясы
шақырылады.
Функциядаѓы n жєне x параметрлері сєйкес мєндерге ие болады, яѓни n:=5, x:=a.
a
5
есептеліп, нєтижесі dareje айнымалысына меншіктеледі. Негізгі бағдарламаѓа
оралѓан соњ, функцияныњ мєні z айнымалысына меншіктеледі.
Z:=z+dareje(3,1/а) жолы орындалѓанда функцияныњ формальды параметрлері
мына мєндерге ие болады. n:=3, x:=1/a; себебі, (a
-n
)=(1/a
n
).
Функцияныњ орындалуы алдыңѓыдай. Негізгі бағдарлама орындалѓан соњ, z
мєніне dareje мєні ќосылады. Шарттыќ операторда n-ніњ мєні тексеріледі. Соныњ
нєтижесіне байланысты r-ді аныќтайды. Атап айтќанда, егер m=0 болса, онда
r:=1;
егер m>0 болса, онда r:=a
m
;
егер m<0 болса, онда r:=(1/a
m
);
m,a параметрлерімен dareje функциясы шаќырылады, нєтижесі r-ге меншіктеледі.
z:=z/(2*r) жолында z/(2*r) нєтижесі z-ке меншіктеледі.
Нєтиже экранѓа шыѓарылады.
0>
Достарыңызбен бөлісу: |