- •1. Мәліметтерді ендіру және шығару, тағайындау операторы
- •2. Бүтін сандар
- •3. Логикалық өрнектер
- •4. Шартты оператор
- •5. Таңдау операторы
- •6. Параметрлі қайталау (for циклы)
- •7. Алғышартты қайталау (while циклы)
- •8. Тізбектер
- •9. Процедуралар және функциялар
- •10. Минимумдар мен максимумдар
- •11. Бір өлшемді массивтер
- •12. Екі өлшемді массивтер
- •13.Символдар және жолдар
9. Процедуралар және функциялар
a) Сандық параметрлері бар процедуралар
а санының үшінші дәрежесін есептеп, нәтижені b айнымалысына қайтаратын Power_a3(a,b) процедурасын сипаттау керек (а – ену, ал b – шығу параметрі, екеуі де нақты типті). Берілген 5 нақты санның үшінші дәрежелері осы процедура көмегімен есептелсін.
а санының екінші, үшінші және төртінші дәрежесін есептеп, нәтижелерді сәйкесінше b, c, d айнымалыларына қайтаратын Power_a234(a,b,c,d) процедурасын сипаттау керек (а – ену, ал b,c,d – шығу параметрлері, барлығы нақты типті). Берілген 5 нақты санның екінші, үшінші және төртінші дәрежелері осы процедура көмегімен есептелсін.
Оң таңбалы х және у сандарының арифметикалық (amean=(a+b)/2) және геометриялық (
)
орта мәндерін есептеуге арналған
Mean(x,
y, amean, gmean) процедурасын
сипаттау керек. (x,
y – ену,
ал amean,
gmean – шығу
параметрлері, барлығы нақты типті).
Егер a,b,c,d
шамалары
берілген болса, онда (a,b),
(a,c)
және (a,d)
жұптарының арифметикалық және
геометриялық орта мәндері есептелсін.Қабырғасының ұзындығы а тең қабырғалы үшбұрыштың периметрі (p=3a) мен ауданын (
)
есептеуге
арналған
Triangle_ps(a, p, s) процедурасын
сипаттау керек (a
– ену,
ал
p, s – шығу
параметрлері, барлығы нақты типті).
Қабырғалары берілген үш үшбұрыштың
периметрлері мен аудандары осы процедура
көмегімен есептелсін.Қарама-қарсы төбелерінің координаттары (x1,y1), (x2,y2) және қабырғалары координата осьтеріне параллель тік төртбұрыштың периметрі мен ауданын есептейтін Rect_ps(x1, y1, x2, y2, p, s) процедурасын сипаттау керек (x1, y1, x2, y2 – ену, ал p, s – шығу параметрлері, барлығы нақты типті). Осы процедураны пайдаланып, қарама-қарсы төбелері берілген үш тік төртбұрыштың периметрі мен ауданы есептелсін.
k оң бүтін санының цифрларының санын (с) және қосындысын (s) анықтауға мүмкіндік беретін DigitCountSum(k, c, s) процедурасын сипаттау керек (k – ену, ал c, s – шығу параметрлері, барлығы бүтін типті). Осы процедураны пайдаланып, мәндері берілген бес бүтін санның цифрларының саны және қосындысы есептелсін.
k оң бүтін санының цифрларын кері тәртіпке ауыстыратын InvertDigits(k) процедурасын сипаттау керек. (k – әрі ену, әрі шығу параметрі болатын бүтін шама). Осы процедураны пайдаланып, мәндері берілген бес бүтін санның цифрлары кері тәртіппен шығарылсын.
d цифрын k оң бүтін санының оң шетінен қосып жазатын AddRightDigit(d, k) процедурасын сипаттау керек (d – ену параметрі (0..9 аралығындағы бүтін сан), k – әрі ену, әрі шығу параметрі болатын бүтін шама). Осы процедураны пайдаланып, мәні берілген k санының оң шетіне d1 және d2 цифрлары қосып жазылсын және әр қосылу нәтижесі жеке шығарылсын.
d цифрын k оң бүтін санының сол шетінен қосып жазатын AddLeftDigit(d, k) процедурасын сипаттау керек (d – ену параметрі (0..9 аралығындағы бүтін сан), k – әрі ену, әрі шығу параметрі болатын бүтін шама). Осы процедураны пайдаланып, мәні берілген k санының сол шетіне d1 және d2 цифрлары қосып жазылсын және әр қосылу нәтижесі жеке шығарылсын.
х және у айнымалыларының мәндерін ауыстыратын Swap(x, y) процеду-расын сипаттау керек (х,у – әрі ену, әрі шығу параметрі болатын нақты сандар). Осы процедураны арқылы берілген a,b,c,d айнымалылары үшін (a, b), (c, d), (b, c) жұптарының мәндері ауыстырылсын және a,b,c,d айнымалыларының жаңа мәндері шығарылсын.
х және у мәндерінің кішісін х айнымалысына, ал үлкенін у айнымалысы-на жазатын Minmax(x,y) процедурасын сипаттау керек (x,y – әрі ену, әрі шығу параметрі болатын нақты сандар). Осы процедураны төрт рет қолдана отырып, берілген a, b, c, d шамаларының минимумы мен максимумы анықталсын.
Мәндері берілген a, b, c шамаларын олар өсу ретімен орналасатындай етіп ауыстыратын SortInc(a,b,c) процедурасын сипаттау керек (a, b, c – әрі ену, әрі шығу параметрі болатын нақты сандар). Сипатталған процедура арқылы a1,b1,c1 және a2,b2,c2 үштіктері өсу ретімен орналастырылсын.
Мәндері берілген a, b, c шамаларын олар кему ретімен орналасатындай етіп ауыстыратын SortDec(a,b,c) процедурасын сипаттау керек (a, b, c – әрі ену, әрі шығу параметрі болатын нақты сандар). Сипатталған процедура арқылы a1,b1,c1 және a2,b2,c2 жиындары кему ретімен орналастырылсын.
Мәндері берілген a, b, c шамаларына оң бағытты циклдық сырғуды (а-ның мәнін b-ға, b-ны – c-ға, с-ны – а-ға ауыстыру) іске асыратын ShiftRight(a, b, c) процедурасын сипаттау керек (a, b, c – әрі ену, әрі шығу параметрі болатын нақты сандар). Сипатталған процедура арқылы a1,b1,c1 және a2,b2,c2 жындарына оң бағытты циклдық сырғу іске асырылсын.
Мәндері берілген a, b, c шамаларына сол бағытты циклдық сырғуды (а-ның мәнін с-ға, с-ны – b-ға, b-ны – а-ға ауыстыру) іске асыратын ShiftRight(a, b, c) процедурасын сипаттау керек (a, b, c – әрі ену, әрі шығу параметрі болатын нақты сандар). Сипатталған процедура арқылы a1,b1,c1 және a2,b2,c2 жиындарына сол бағытты циклдық сырғу іске асырылсын.
ә) Сандық параметрлері бар функциялар
х нақты саны үшін келесі мәндерді анықтайтын бүтін типті Sign(x) функциясын сипаттау керек:
-1, егер x<0 болса, 0, егер x=0 болса, 1, егер x>0 болса.
Осы функция көмегімен мәні берілген a,b сандары үшін Sign(a)+Sign(b)
өрнегінің мәні есептелсін.
ax2+bx +c=0 квадрат теңдеуінің түбірлерінің санын анықтайтын бүтін типті RootsCount(a,b,c) функциясын сипаттау керек (a,b,c – нақты типті параметрлер, a≠0). Оның көмегімен коэффициенттері арқылы берілген үш квадрат теңдеудің түбірлерінің саны анықталсын. Түбірлердің саны d=b2-4ac дискриминантының мәні бойынша табылсын.
Радиусы r дөңгелектің ауданын табатын нақты типті Circle(r) функциясын сипаттау керек (r – нақты параметр). Осы функция көмегімен радиустары берілген үш дөңгелектің аудандары анықталсын. Радиусы r дөңгелектің ауданы s=r2 формуласымен есептеледі, ал =3.14 деп алынсын.
Центрлері ортақ, радиустары r1 және r2 шеңберлерімен шектелетін сақинаның ауданын есептейтін RingS(r1,r2) функциясын сипаттау керек (r1,r2 – нақты параметрлер, r1>r2). Осы функция көмегімен ішкі және сыртқы радиустары берілген үш сақинаның аудандары анықталсын. Радиусы r дөңгелектің ауданы s=r2 формуласымен есептеледі, ал =3.14 деп алынсын.
Табан қабырғасы а мен табанына түсірілген биіктігі h арқылы тең бүйірлі үшбұрыштың периметрін есептейтін TriangleP(a,h) функциясын сипаттау керек (a,h – нақты параметр). Осы функция көмегімен табан қабырғасы және оған түсірілген биіктіктері берілген үш үшбұрыштың периметрлері анықталсын. Үшбұрыштың бүйір қабырғасын табу үшін Пифагор теоремасын пайдалануға болады: b2=(a/2)2+h2.
Бүтін a және b шамаларының арасындағы барлық бүтін сандардың қосындысын (олардың өздерімен қоса) анықтау үшін бүтін типті SumRange(a,b) функциясын сипаттау керек. Егер a>b болса, онда функция 0 мәнін қайтарады. Сипатталған функция көмегімен мәндері берілген a,b,c шамалары үшін a-дан b-ға дейінгі және b-дан c-ға дейінгі барлық бүтін сандардың қосындысы есептелінсін.
Нөлдік емес a және b сандарына арифметикалық амалдардың бірін орындап, нәтижесін шығаратын Calc(a,b,Op) функциясын сипаттау керек. Арифметикалық амал түрі бүтін Ор параметрі арқылы анықталады: 1 – азайту, 2 – көбейту, 3 – бөлу, өзге мәндер – қосу. Берілген a және b үшін n1,n2,n3 бүтін сандары арқылы анықталатын амалдар орындалсын.
Нөлдік емес нақты х, у сандары арқылы берілген нүкте орналасқан координаттық ширектің нөмірін анықтайтын бүтін Quarter(x,y) функциясын сипаттау керек. Осы функция арқылы нөлдік емес координаттармен берілген үш нүктенің координаттық ширектерінің нөмірлері анықталсын.
Бүтін k параметрі жұп болса – TRUE, әйтпесе – FALSE сөзін қайтаратын логикалық Even(k) функциясын сипаттау керек. Сипатталған функция көмегімен 10 бүтін саннан тұратын жиындағы жұп элементтердің саны анықталсын.
Егер бүтін k (k>0) параметрі қандай да бір бүтін санның квадраты болса – TRUE, әйтпесе – FALSE сөзін қайтаратын логикалық IsSquare(k) функциясын сипаттау керек. Сипатталған функция көмегімен 10 бүтін саннан тұратын жиындағы квадраттардың саны анықталсын.
Егер бүтін k (k>0) параметрі 5-тің дәрежесі болса – TRUE, әйтпесе – FALSE сөзін қайтаратын логикалық IsPower5(k) функциясын сипаттау керек. Сипатталған функция көмегімен 10 бүтін саннан тұратын жиындағы 5-тің дәрежелерінің саны анықталсын.
Егер бүтін k (k>0) параметрі n-нің дәрежесі (n>1) болса – TRUE, әйтпесе – FALSE сөзін қайтаратын логикалық IsPowerN(k,n) функциясын сипаттау керек. Сипатталған функция көмегімен 10 бүтін саннан тұратын жиындағы n-нің дәрежелерінің саны анықталсын.
Егер бүтін n (n>1) параметрі жай сан болса – TRUE, әйтпесе – FALSE сөзін қайтаратын логикалық IsPrime(n) функциясын сипаттау керек (жай сан деп 1 және өзінен басқа бүтін бөлгіштері жоқ санды айтады) Сипатталған функция көмегімен 1-ден артық 10 бүтін саннан тұратын жиындағы жай сандардың нешеу екені анықталсын.
Оң бүтін k параметріндегі цифрлардың санын анықтауға мүмкіндік беретін DigitCountK(k) функциясын сипаттау керек. Осы функцияны пайдаланып, мәндері берілген бес бүтін элементтің цифрларының саны есептелсін.
Оң бүтін k параметріндегі n-ші цифрды қайтаруға мүмкіндік беретін DigitN(k,n) функциясын сипаттау керек (цифрлар солдан оңға қарай нөмірленеді). Егер k саынндағы цифрлар саны n-нен кем болса, функция -1 мәнін қайтарады. k1,k2,…,k5 бүтін сандарының әрқайсысы үшін параметрі n (1 ≤ n ≤ 5) болатын DigitN функциясы орындалсын.
Егер бүтін n (n>0) параметрі палиндром болса – TRUE, әйтпесе – FALSE сөзін қайтаратын логикалық IsPalindrom(n) функциясын сипаттау керек (палиндром дем солынан да, оңынан да бірдей оқылатын сандарды айтады). Сипатталған функция көмегімен 10 бүтін саннан тұратын жиындағы барлық палиндромдар анықталсын. Функцияны сипаттау кезінде 9.29 және 9.30 есептердегі DigitCountK және DigitN функцияларын қолдануға болады.
Градуспен берілген d (0<d<360) бұрышының мәнін радианмен анықтайтын нақты типті DegToRad(d) функциясын сипаттау керек. Келесі қатынасты пайдалануға болады: 180= радиан, мұндағы =3.14. Анықталған функция көмегімен берілген бес бұрыштың градустық мәні радианға ауыстырылсын.
Радианмен берілген r (0<r<2) бұрышының мәнін градуспен анықтайтын нақты типті RadToDeg(r) функциясын сипаттау керек. Келесі қатынасты пайдалануға болады: 180= радиан, мұндағы =3.14. Анықталған функция көмегімен берілген бес бұрыштың радиандағы мәндері градуспен табылсын.
Бүтін типті n (n>0) параметрі үшін n!=12… n факториалын есептейтін нақты faсt(n) функциясын сипаттау керек (функция мәнінің нақты болу себебі – n-нің үлкен мәндері үшін «бүтін санды тасқынның» алдын алу болып табылады). Сипатталған функция көмегімен берілген бес бүтін санның факториалдары анықталсын.
Бүтін типті n (n>0) параметрі үшін қос факториалды есептейтін нақты faсt2(n) функциясын сипаттау керек:
n!!=135… n, егер n – тақ болса,
n!!=246… n, егер n – жұп болса.
(функция мәнінің нақты болу себебі – n-нің үлкен мәндері үшін «бүтін
санды тасқынның» алдын алу болып табылады). Сипатталған функция
көмегімен берілген бес бүтін санның қос факториалдары анықталсын.
F1=1, F2=1, Fk=Fk-2+Fk-1, k=3,4,… формулаларымен анықталатын Fk Фибоначчи сандарының тізбегіндегі n-ші нөмірлі элементті табатын бүтін типті Fib(n) функциясын сипаттау керек. Сипатталған функция көмегімен Фибоначчи сандарының n1,n2,…,n5 нөмірлі элементтері анықталсын.
б) Функциялар пен процедураларға қосымша тапсырмалар
ab шамасын ab=exp(b ln(a)) формуласымен есептейтін нақты типті Power(a,b) функциясын сипаттау керек (a,b параметрлері нақты). a≤0 жағдайда функция 0-дік мән қайтарады. Осы функцияны пайдаланып, мәндері берілген a,b,c,p шамалары үшін ap,bp,cp дәрежелері есептелінсін.
an шамасын келесі формулалармен есептейтін нақты типті Power2(a,n) функциясын сипаттау керек:
a0=1,
an=aa… a (көбейткіштер саны n), егер n>0 болса,
an=1/(aa… a) (көбейткіштер саны |n|), егер n<0 болса.
(a – нақты, b – бүтін параметр). Осы функция көмегімен мәндері берілген
a,m,n,k шамалары үшін am,an,ak дәрежелері есептелінсін.
Осы бөлімнің 37-ші және 38-ші есептеріндегі Power және Power2 функцияларын пайдалана отырып, ab шамасын анықтауға арналған Power3(a,b) функциясы сипатталсын. Бұл функция арқылы ab шамасы былай есептелінсін: егер b-ның бөлшек бөлігі нөлдік болса, онда Power2(a,Round(b)) функциясы орындалады, әйтпесе Power(a,b) функциясы шақырылады. Осы функцияны пайдаланып, мәндері берілген a,b,c,p шамалары үшін ap,bp,cp дәрежелері есептелінсін.
exp(x) функциясының жуық мәнін келесі қосынды көмегімен есептейтін нақты типті Exp1(x,ε) функциясын сипаттау керек(x,ε – нақты параметрлер, ε>0):
exp(x)=1+x+x2/(2!)+ x3/(3!)+…+ xn/(n!)+…
(n!=1 2 3 … n). Қосындыда ε-нан үлкен барлық қосылғыштарды ескеру керек. Exp1 функциясының көмегімен мәні берілген х пен алты түрлі мәні берілген ε үшін экспонентаның жуық мәндері есептелінсін.
sin(x) функциясының жуық мәнін келесі қосынды көмегімен есептейтін нақты типті Sin1(x,ε) функциясын сипаттау керек (x,ε – нақты параметрлер, ε>0):
sin(x)=x – x3/(3!)+ x5/(5!) – …+(-1) n x2 n+1/((2 n+1)!)+…
Қосындыда модулі ε-нан үлкен барлық қосылғыштарды ескеру керек. Sin1 функциясының көмегімен мәні берілген х пен алты түрлі мәні берілген ε үшін синустың жуық мәндері есептелінсін.
cos(x) функциясының жуық мәнін келесі қосынды көмегімен есептейтін нақты типті Cos1(x,ε) функциясын сипаттау керек (x,ε – нақты параметрлер, ε>0):
cos(x)=1 – x2/(2!)+ x4/(4!) – …+(-1) n x2 n/((2 n)!)+…
Қосындыда модулі ε-нан үлкен барлық қосылғыштарды ескеру керек. Cos1 функциясының көмегімен мәні берілген х пен алты түрлі мәні берілген ε үшін синустың жуық мәндері есептелінсін.
Ln(x+1) функциясының жуық мәнін келесі қосынды көмегімен есептейтін нақты типті Ln1(x,ε) функциясын сипаттау керек (x,ε – нақты параметрлер, |x|<1, ε>0):
Ln(x+1)=x – x2/2+ x3/3 – …+(-1) n x n+1/(n+1)+…
Қосындыда модулі ε-нан үлкен барлық қосылғыштарды ескеру керек. Ln1 функциясының көмегімен мәні берілген х пен алты түрлі мәні берілген ε үшін Ln(x+1) функциясының жуық мәндері есептелінсін.
arctg(x) функциясының жуық мәнін келесі қосынды көмегімен есептейтін нақты типті Arctg1(x,ε) функциясын сипаттау керек (x,ε – нақты параметрлер, |x|<1, ε>0):
arctg(x)=x – x3/3+ x5/5 – …+(-1) n x2 n+1/(2 n+1)+…
Қосындыда модулі ε-нан үлкен барлық қосылғыштарды ескеру керек. Arctg1 функциясының көмегімен мәні берілген х пен алты түрлі мәні берілген ε үшін arctg(x) функциясының жуық мәндері есептелінсін.
(1+x)a функциясының жуық мәнін келесі қосынды көмегімен есептейтін нақты типті Power4(x,a,ε) функциясын сипаттау керек (x,a,ε – нақты параметрлер, |x|<1; a,ε>0):
(1+x)a=1+a x + a (a – 1) x2/(2!)+ …+ a (a – 1) … (a – n+1) xn/(n!)+…
Қосындыда модулі ε-нан үлкен барлық қосылғыштарды ескеру керек. Power4 функциясының көмегімен мәні берілген х пен алты түрлі мәні берілген ε үшін (1+x)a функциясының жуық мәндері есептелінсін.
Келесі Евклид алгоритмін қолданып, оң a және b бүтін сандарының ең үлкен ортақ бөлгішін (ЕҮОБ) табатын NOD2(a,b) функциясын сипаттау керек:
ЕҮОБ(a,b)= ЕҮОБ(b, a mod b), егер b ≠ 0 болса; ЕҮОБ(a,0)=а.
Сипатталған функция көмегімен мәндері берілген бүтін a,b,c,d сандары
үшін (a,b), (a,c), (a,d) жұптарының ЕҮОБ-тері анықталсын.
NOD2 функциясын пайдалана отырып (9.46-есеп), a/b бөлшегін қасқартылмайтын p/q бөлшегіне түрлендіретін Frac1(a,b,p,q) функциясын сипаттау керек (a,b – ену параметрлері, p,q – шығу параметрлері, барлығы бүтін типті). Нәтижелік p/q бөлшегінің таңбасы оның алымына тіркеледі, (яғни q>0). Frac1 функциясын қолданып, мәндері берілген бүтін a,b,c,d,e,f,g,h үшін a/b+c/d, a/b+e/f, a/b+g/h өрнектеріне тең қысқартылмайтын бөлшектер табылсын.
a және b бүтін сандарының ең кіші ортақ еселігі (ЕКОЕ) келесі формула көмегімен анықталатынын ескере отырып және 9.46-есептегі NOD2 функциясын қолдана отырып, a және b бүтін сандарының ең кіші ортақ еселігін табатын NOK2(a,b) бүтін функциясын сипаттау керек. Сипатталған функция көмегімен мәндері берілген бүтін a,b,c,d сандары үшін (a,b), (a,c), (a,d) жұптарының ЕКОЕ-тері анықталсын.
ЕҮОБ(a,b,c)= ЕҮОБ(ЕҮОБ(a,b),c) қатынасын және 9.46-есептегі NOD2 функциясын қолдана отырып, a, b және с бүтін оң сандарының ең үлкен ортақ бөлгішін табатын NOD3(a,b,c) бүтін функциясын сипаттау керек. Осы функцияны қолданып, мәндері берілген a,b,c,d шамалары үшін (a,b,c), (a,c,d), (b,c,d) үштіктерінің ЕҮОБ-рі анықталсын.
Секундпен берілген t уақыты бойынша ондағы сағат (h), минут (m) және секунд (s) көлемін анықтайтын TimeToHMS(t,h,m,s) процедурасын сипаттау керек (t – ену параметрі, h,m,s – әрі ену, әрі шығу параметрлері, барлығы оң бүтін сандар). Осы процедураны пайдаланып, t1,t2,…,t5 уақыт аралығындағы сағат (h), минут (m) және секунд (s) көлемі анықталсын.
Сағат (h), минут (m) және секунд (s) арқылы берілген уақытты t секундқа арттыратын IncTime(h,m,s,t) процедурасын сипаттау керек (t – ену параметрі, h,m,s – әрі ену, әрі шығу параметрлері, барлығы оң бүтін сандар). Бүтін t шамасы және қандай да бір уақыт аралығы сағат (h), минут (m) және секунд (s) арқылы берілген. IncTime процедурасының көмегімен берілген уақыт t секундқа арттырылсын және h,m,s-тің жаңа мәндері шығарылсын.
Оң бүтін y саны кібісе жылға сәйкес келсе (ақпанда 29 күн болса) – TRUE, әйтпесе – FALSE мәнін қайтаратын логикалық IsLeapYear(y) функциясын сипаттау керек. у параметрінің бес мәні үшін IsLeapYear функциясы орындалсын. Кібісе жылдың белгісі – 4-ке қалдықсыз бөлінеді (100-ге бөлінетін және 400-ге бөлінбейтіндерінен басқасы).
IsLeapYear функциясын пайдаланып (9.52-есеп), у-ші жылдың m-ші айындағы күндер санын анықтайтын бүтін MonthDays(m,y) функциясын сипаттау керек (1≤m≤12, y>0). Берілген у жылы мен m1,m2,m3 айлары үшін MonthDays функциясының мәндері табылсын.
MonthDays функциясын пайдаланып (9.53-есеп), күн (d), ай (m) және жылды (y) қамтитын дұрыс мәлімет бойынша осы күннен алдыңғы күнді анықтайтын PrevDate(d,m,y) процедурасын сипаттау керек (d,m,y – әрі ену, әрі шығу параметрлері, барлығы бүтін типті). Сипатталған процедура үш күнге қолданылсын және олардың алдындағы күндер шығарылсын.
MonthDays функциясын пайдаланып (9.53-есеп), күн (d), ай (m) және жылды (y) қамтитын дұрыс мәлімет бойынша осы күннен кейінгі күнді анықтайтын NextDate(d,m,y) процедурасын сипаттау керек (d,m,y – әрі ену, әрі шығу параметрлері, барлығы бүтін типті). Сипатталған процедура үш күнге қолданылсын және олардан кейінгі күндер шығарылсын.
Ұштарының координаттары арқылы берілген АВ кесіндісінің ұзындығын анықтайтын нақты типті Leng(xa,ya,xb,yb) функциясын сипаттау керек (xa,ya,xb,yb – нақты параметрлер). Кесінді ұзындығы келесі формула көмегімен анықталады:
.
Егер A,B,C,D нүктелерінің координаттары
берілген болса, онда AB, АC, АD кесінділерінің
ұзындықтары анықталсын.Leng функциясын пайдаланып (9.56-есеп), төбелерінің координаттары арқылы берілген АВС үшбұрышының периметрін есептейтін нақты типті Perim(xa,ya,xb,yb,xc,yc) функциясын сипаттау керек (xa,ya,xb,yb,xc,yc – нақты параметрлер). Егер A,B,C,D нүктелерінің координаттары берілген болса, онда ABC, АCD, АBD үшбұрыштарының периметрі анықталсын.
Leng және Perim функцияларын пайдаланып (9.56 және 9.57-есептер), төбелерінің координаттары арқылы берілген АВС үшбұрышының ауданын есептейтін нақты типті Area(xa,ya,xb,yb,xc,yc) функциясын сипаттау керек (xa,ya,xb,yb,xc,yc – нақты параметрлер). Үшбұрыш ауданы келесі формула арқылы анықталады:
,
мұндағы р – жарты периметр. Егер A,B,C,D нүктелерінің координаттары
берілген болса, онда ABC, АCD, АBD үшбұрыштарының ауданы анық-
талсын.
Leng және Area функцияларын пайдаланып (9.56 және 9.58-есептер), Р(xp,yp) нүктесінен АВ кесіндісіне дейінгі қашықтығын (d=2SPAB/|AB|, мұндағы SPAB – PAB үшбұрышының ауданы) есептейтін нақты типті Dist(xp,yp,xa,ya,xb,yb) функциясын сипаттау керек. Егер Р,A,B,C нүктелерінің координаттары берілген болса, онда Р нүктесінен AB, АC, BС кесінділеріне дейінгі қашықтықтар анықталсын.
Dist функциясын пайдаланып (9.59-есеп), төбелерінің координаттары арқылы берілген АВС үшбұрышының А, В және С төбелерінен түсірілген hA,hB,hC биіктіктерін есептейтін Heights(xa,ya,xb,yb,xc,yc,hA,hB,hC) процедурасын сипаттау керек. Егер A,B,C,D нүктелерінің координаттары берілген болса, онда ABC, АCD, АBD үшбұрыштарының барлық биіктіктері анықталсын.
