Тапсырма. Кмекші программаларды олданып программа жазыдар.

Процедуралар

1. а саныны шінші дрежесін есептеп, нтижені b айнымалысына айтаратын Power_a3(a,b) процедурасын сипаттау керек (а – ену, ал b – шыу параметрі, екеуі де наты типті). Берілген 5 наты санны шінші дрежелері осы процедура кмегімен есептелсін.

2. а саныны екінші, шінші жне тртінші дрежесін есептеп, нтижелерді сйкесінше b, c, d айнымалыларына айтаратын Power_a234(a,b,c,d) процедурасын сипаттау керек (а – ену, ал b,c,d – шыу параметрлері, барлыы наты типті). Берілген 5 наты санны екінші, шінші жне тртінші дрежелері осы процедура кмегімен есептелсін.

3. О табалы х жне у сандарыны арифметикалы (amean=(a+b)/2)жне геометриялы ( ) орта мндерін есептеуге арналан Mean(x, y, amean, gmean) процедурасын сипаттау керек. (x, y – ену, ал amean, gmean – шыу параметрлері, барлыы наты типті). Егер a,b,c,d шамалары берілген болса, онда (a,b), (a,c) жне (a,d) жптарыны арифметикалы жне геометриялы орта мндері есептелсін.

4. абырасыны зындыы а те абыралы шбрышты периметрі (p=3×a) мен ауданын ( )есептеуге арналан Triangle_ps(a, p, s) процедурасын сипаттау керек (a – ену, ал p, s – шыу параметрлері, барлыы наты типті). абыралары берілген ш шбрышты периметрлері мен аудандары осы процедура кмегімен есептелсін.

5. арама-арсы тбелеріні координаттары (x1,y1), (x2,y2) жне абыралары координата осьтеріне параллель тік тртбрышты периметрі мен ауданын есептейтін Rect_ps(x1, y1, x2, y2, p, s) процедурасын сипаттау керек (x1, y1, x2, y2ену, ал p, s – шыу параметрлері, барлыы наты типті). Осы процедураны пайдаланып, арама-арсы тбелері берілген ш тік тртбрышты периметрі мен ауданы есептелсін.

6. k о бтін саныны цифрларыны санын (с) жне осындысын (s)анытауа ммкіндік беретін DigitCountSum(k, c, s) процедурасын сипаттау керек (k – ену, ал c, s – шыу параметрлері, барлыы бтін типті). Осы процедураны пайдаланып, мндері берілген бес бтін санны цифрларыны саны жне осындысы есептелсін.

7. k о бтін саныны цифрларын кері тртіпке ауыстыратын InvertDigits(k) процедурасын сипаттау керек. (k – рі ену, рі шыу параметрі болатын бтін шама). Осы процедураны пайдаланып, мндері берілген бес бтін санны цифрлары кері тртіппен шыарылсын.

8. d цифрын k о бтін саныны о шетінен осып жазатын AddRightDigit(d, k) процедурасын сипаттау керек (d – ену параметрі (0..9 аралыындаы бтін сан), k – рі ену, рі шыу параметрі болатын бтін шама). Осы процедураны пайдаланып, мні берілген k саныны о шетіне d1 жне d2 цифрлары осып жазылсын жне р осылу нтижесі жеке шыарылсын.

9. d цифрын k о бтін саныны сол шетінен осып жазатын AddLeftDigit(d, k) процедурасын сипаттау керек (d – ену параметрі (0..9 аралыындаы бтін сан), k – рі ену, рі шыу параметрі болатын бтін шама). Осы процедураны пайдаланып, мні берілген k саныны сол шетіне d1 жне d2 цифрлары осып жазылсын жне р осылу нтижесі жеке шыарылсын.

10. х жне у айнымалыларыны мндерін ауыстыратын Swap(x, y) процеду-расын сипаттау керек (х,у – рі ену, рі шыу параметрі болатын наты сандар). Осы процедураны арылы берілген a,b,c,d айнымалылары шін (a, b), (c, d), (b, c) жптарыны мндері ауыстырылсын жне a,b,c,d айнымалыларыны жаа мндері шыарылсын.

11. х жне у мндеріні кішісін х айнымалысына, ал лкенін у айнымалысы-на жазатын Minmax(x,y) процедурасын сипаттау керек (x,y – рі ену, рі шыу параметрі болатын наты сандар). Осы процедураны трт рет олдана отырып, берілген a, b, c, d шамаларыны минимумы мен максимумы аныталсын.

12. Мндері берілген a, b, c шамаларын олар су ретімен орналасатындай етіп ауыстыратын SortInc(a,b,c) процедурасын сипаттау керек (a, b, c – рі ену, рі шыу параметрі болатын наты сандар). Сипатталан процедура арылы a1,b1,c1 жне a2,b2,c2 штіктері су ретімен орналастырылсын.

13. Мндері берілген a, b, c шамаларын олар кему ретімен орналасатындай етіп ауыстыратын SortDec(a,b,c) процедурасын сипаттау керек (a, b, c – рі ену, рі шыу параметрі болатын наты сандар). Сипатталан процедура арылы a1,b1,c1 жне a2,b2,c2 жиындары кему ретімен орналастырылсын.

14. Мндері берілген a, b, c шамаларына о баытты циклды сыруды (а-ны мнін b-а, b-ны – c-а, с-ны – а-а ауыстыру) іске асыратын ShiftRight(a, b, c) процедурасын сипаттау керек (a, b, c – рі ену, рі шыу параметрі болатын наты сандар). Сипатталан процедура арылы a1,b1,c1 жне a2,b2,c2 жындарына о баытты циклды сыру іске асырылсын.

15. Мндері берілген a, b, c шамаларына сол баытты циклды сыруды (а-ны мнін с-а, с-ны – b-а, b-ны – а-а ауыстыру) іске асыратын ShiftRight(a, b, c) процедурасын сипаттау керек (a, b, c – рі ену, рі шыу параметрі болатын наты сандар). Сипатталан процедура арылы a1,b1,c1 жне a2,b2,c2 жиындарына сол баытты циклды сыру іске асырылсын.

Функциялар

16. х наты саны шін келесі мндерді анытайтын бтін типті Sign(x) функциясын сипаттау керек:

-1, егер x<0 болса, 0, егер x=0 болса, 1, егер x>0 болса

Осы функция кмегімен мні берілген a,b сандары шін Sign(a)+Sign(b)

рнегіні мні есептелсін.

17. a×x2+b×x +c=0 квадрат тедеуіні тбірлеріні санын анытайтын бтін типті RootsCount(a,b,c) функциясын сипаттау керек (a,b,c – наты типті параметрлер, a0). Оны кмегімен коэффициенттері арылы берілген ш квадрат тедеуді тбірлеріні саны аныталсын. Тбірлерді саны d=b2-4×a×c дискриминантыны мні бойынша табылсын.

18. Радиусы r дгелекті ауданын табатын наты типті Circle(r) функциясын сипаттау керек (r – наты параметр). Осы функция кмегімен радиустары берілген ш дгелекті аудандары аныталсын. Радиусы r дгелекті ауданы s=p×r2 формуласымен есептеледі, ал p=3.14 деп алынсын.

19. Центрлері орта, радиустары r1 жне r2 шеберлерімен шектелетін саинаны ауданын есептейтін RingS(r1,r2) функциясын сипаттау керек (r1,r2наты параметрлер, r1>r2). Осы функция кмегімен ішкі жне сырты радиустары берілген ш саинаны аудандары аныталсын. Радиусы r дгелекті ауданы s=p×r2 формуласымен есептеледі, ал p=3.14 деп алынсын.

20. Табан абырасы а мен табанына тсірілген биіктігі h арылы те бйірлі шбрышты периметрін есептейтін TriangleP(a,h) функциясын сипаттау керек (a,h – наты параметр). Осы функция кмегімен табан абырасы жне оан тсірілген биіктіктері берілген ш шбрышты периметрлері аныталсын. шбрышты бйір абырасын табу шін Пифагор теоремасын пайдалануа болады: b2=(a/2)2+h2.

21. Бтін a жне b шамаларыны арасындаы барлы бтін сандарды осындысын (оларды здерімен оса) анытау шін бтін типті SumRange(a,b) функциясын сипаттау керек. Егер a>b болса, онда функция 0 мнін айтарады. Сипатталан функция кмегімен мндері берілген a,b,c шамалары шін a-дан b-а дейінгі жне b-дан c-а дейінгі барлы бтін сандарды осындысы есептелінсін.

22. Нлдік емес a жне b сандарына арифметикалы амалдарды бірін орындап, нтижесін шыаратын Calc(a,b,Op) функциясын сипаттау керек. Арифметикалы амал трі бтін Ор параметрі арылы аныталады: 1 – азайту, 2 – кбейту, 3 – блу, зге мндер – осу. Берілген a жне b шін n1,n2,n3 бтін сандары арылы аныталатын амалдар орындалсын.

23. Нлдік емес наты х, у сандары арылы берілген нкте орналасан координатты ширекті нмірін анытайтын бтін Quarter(x,y) функциясын сипаттау керек. Осы функция арылы нлдік емес координаттармен берілген ш нктені координатты ширектеріні нмірлері аныталсын.

24. Бтін k параметрі жп болса – TRUE, йтпесе – FALSE сзін айтаратын логикалы Even(k) функциясын сипаттау керек. Сипатталан функция кмегімен 10 бтін саннан тратын жиындаы жп элементтерді саны аныталсын.

25. Егер бтін k (k>0) параметрі андай да бір бтін санны квадраты болса – TRUE, йтпесе – FALSE сзін айтаратын логикалы IsSquare(k) функциясын сипаттау керек. Сипатталан функция кмегімен 10 бтін саннан тратын жиындаы квадраттарды саны аныталсын.

26. Егер бтін k (k>0) параметрі 5-ті дрежесі болса – TRUE, йтпесе – FALSE сзін айтаратын логикалы IsPower5(k) функциясын сипаттау керек. Сипатталан функция кмегімен 10 бтін саннан тратын жиындаы 5-ті дрежелеріні саны аныталсын.

27. Егер бтін k (k>0) параметрі n-ні дрежесі (n>1) болса – TRUE, йтпесе – FALSE сзін айтаратын логикалы IsPowerN(k,n) функциясын сипаттау керек. Сипатталан функция кмегімен 10 бтін саннан тратын жиындаы n-ні дрежелеріні саны аныталсын.

28. Егер бтін n (n>1) параметрі жай сан болса – TRUE, йтпесе – FALSE сзін айтаратын логикалы IsPrime(n) функциясын сипаттау керек (жай сан деп 1 жне зінен баса бтін блгіштері жо санды айтады) Сипатталан функция кмегімен 1-ден арты 10 бтін саннан тратын жиындаы жай сандарды нешеу екені аныталсын.

29. О бтін k параметріндегі цифрларды санын анытауа ммкіндік беретін DigitCountK(k) функциясын сипаттау керек. Осы функцияны пайдаланып, мндері берілген бес бтін элементті цифрларыны саны есептелсін.

30. О бтін k параметріндегі n-ші цифрды айтаруа ммкіндік беретін DigitN(k,n) функциясын сипаттау керек (цифрлар солдан оа арай нмірленеді). Егер k саынндаы цифрлар саны n-нен кем болса, функция -1 мнін айтарады. k1,k2,…,k5 бтін сандарыны райсысы шін параметрі n (1 n 5) болатын DigitN функциясы орындалсын.

31. Егер бтін n (n>0) параметрі палиндром болса – TRUE, йтпесе – FALSE сзін айтаратын логикалы IsPalindrom(n) функциясын сипаттау керек (палиндром дем солынан да, оынан да бірдей оылатын сандарды айтады). Сипатталан функция кмегімен 10 бтін саннан тратын жиындаы барлы палиндромдар аныталсын. Функцияны сипаттау кезінде 29-шы жне 30-шы есептердегі DigitCountK жне DigitN функцияларын олдануа болады.

32. Градуспен берілген d (0<d<360) брышыны мнін радианмен анытайтын наты типті DegToRad(d) функциясын сипаттау керек. Келесі атынасты пайдалануа болады: 180°=p × радиан, мндаы p=3.14. Аныталан функция кмегімен берілген бес брышты градусты мні радиана ауыстырылсын.

33. Радианмен берілген r (0<r<2×p) брышыны мнін градуспен анытайтын наты типті RadToDeg(r) функциясын сипаттау керек. Келесі атынасты пайдалануа болады: 180°=p × радиан, мндаы p=3.14. Аныталан функция кмегімен берілген бес брышты радиандаы мндері градуспен табылсын.

34. Бтін типті n (n>0) параметрі шін n!=1×2×…× n факториалын есептейтін наты faсt(n) функциясын сипаттау керек (функция мніні наты болу себебі – n-ні лкен мндері шін «бтін санды тасынны» алдын алу болып табылады). Сипатталан функция кмегімен берілген бес бтін санны факториалдары аныталсын.

35. Бтін типті n (n>0) параметрі шін ос факториалды есептейтін наты faсt2(n) функциясын сипаттау керек:

n!!=1×3×5…× n, егер n – та болса,

n!!=2×4×6…× n, егер n – жп болса.

(функция мніні наты болу себебі – n-ні лкен мндері шін «бтін

санды тасынны» алдын алу болып табылады). Сипатталан функция

кмегімен берілген бес бтін санны ос факториалдары аныталсын.

36. F1=1, F2=1, Fk=Fk-2+Fk-1, k=3,4,… формулаларымен аныталатын Fk Фибоначчи сандарыны тізбегіндегі n-ші нмірлі элементті табатынбтін типті Fib(n) функциясын сипаттау керек. Сипатталан функция кмегімен Фибоначчи сандарыны n1,n2,…,n5 нмірлі элементтері аныталсын.

Функциялар пен процедуралара осымша тапсырмалар

37. ab шамасын ab=exp(b× ln(a)) формуласымен есептейтін наты типті Power(a,b) функциясын сипаттау керек (a,b параметрлері наты). a0 жадайда функция 0-дік мн айтарады. Осы функцияны пайдаланып, мндері берілген a,b,c,p шамалары шін ap,bp,cp дрежелері есептелінсін.

38. Келесі Евклид алгоритмін олданып, о a жне b бтін сандарыны е лкен орта блгішін (ЕОБ) табатын NOD2(a,b) функциясын сипаттау керек:

ЕОБ(a,b)= ЕОБ(b, a mod b), егер b 0 болса; ЕОБ(a,0)=а.