§ 7. Паняцце дапаможнага алгарытму

Практыкаванні

  

1. Напішыце праграмы для рашэння задач. Аформіце вылічэнне пералічаных функцый у якасці падпраграм.

  1. Дадзена рэчыўнае значэнне x. Артымаць

f space left parenthesis 2 x comma space 3 right parenthesis space plus space f space left parenthesis 3 comma 5 space – space x right parenthesis comma space дзе space f space left parenthesis a comma space b right parenthesis equals fraction numerator 2 a space – b over denominator 5 space – space a end fraction.

2. Дадзены рэчыўныя значэнні t і s. Атрымаць

f space left parenthesis t comma space – space 2 s comma space 1.17 right parenthesis space plus space f space left parenthesis 2.2 comma space t comma space t space – space s right parenthesis comma space дзе space f space left parenthesis a comma space b comma space c right parenthesis equals fraction numerator 2 a space – b space plus space square root of c over denominator 5 space plus space open vertical bar с close vertical bar end fraction.

3. Дадзены рэчаісны лік y. Атрымаць

fraction numerator 1.7 f space left parenthesis 0.25 comma space 3 right parenthesis space plus 2 space f space left parenthesis 1 plus y comma space 4 right parenthesis over denominator 6 space – space f left parenthesis y squared space – space 2 comma space 5 right parenthesis end fraction comma space дзе space f space left parenthesis x comma space k right parenthesis equals fraction numerator x to the power of 2 k space plus space 1 end exponent over denominator left parenthesis 2 k right parenthesis factorial end fraction.

2. Напішыце праграмы для рашэння задач, выкарыстоўваючы толькі функцыі, апісаныя ў прыкладзе 7.5, і арыфметычныя дзеянні (нельга выкарыстоўваць галінаванні, цыклы і іншыя функцыі).

1. Дадзены тры розныя лікі. Вывесці той, які не роўны мінімальнаму і не роўны максімальнаму з уведзеных лікаў.

Падказка. Ад сумы трох лікаў адняць мінімальнае і максімальнае.

2. Дадзены чатыры розныя лікі. Вывесці іх у парадку ўзрастання.

Падказка. Знайсці  min(max(a, b)), max(c, d) і max(min(a, b)), min(c, d).

3⃰. Дадзены пяць розных лікаў. Вывесці ў парадку спадання тыя тры з іх, якія не супадаюць з мінімальным і максімальным з уведзеных лікаў.

3. Напішыце праграмы для рашэння геаметрычных задач.

1. Трохвугольнік зададзены каардынатамі сваіх вяршынь. Знайсці перыметр трохвугольніка. Вылічэнне даўжыні адрэзка аформіць у выглядзе падпраграмы.
2. Чатырохвугольнік зададзены каардынатамі сваіх вяршынь. Знайсці перыметр чатыровугольніка. Вылічэнне даўжыні адрэзка аформіць у выглядзе падпраграмы.
3. Выпуклы чатырохвугольнік зададзены даўжынямі сваіх старон і дыяганаллю. Знайсці плошчу чатыровугольніка як суму плошчаў двух трохвугольнікаў. Вылічэнне плошчы трохвугольніка аформіць у выглядзе падпраграмы.
4. Выпуклы пяцівугольнік зададзены даўжынямі сваіх старон і дзвюма дыяганалямі, праведзенымі з адной вяршыні. Знайсці плошчу пяцівугольніка як суму плошчаў трох трохвугольнікаў. Вылічэнне плошчы трохвугольніка аформіць у выглядзе падпраграмы.

4. У прыкладах 7.9, 7.10, 7.11 і 7.14 прыведзены розныя рэалізацыі алгарытму Эўкліда. Пратэсціруйце гэтыя алгарытмы на розных наборах лікаў. Параўнайце час работы алгарытмаў. Час можна паглядзець у кансольным акне (праграму скампілюйце ў рэжыме debug).

1. Перабярыце значэнні а і b ад 2 да 100 000. Знайдзіце НАД(a, b) для ўсіх магчымых пар. Значэнні а і b абодва ўзрастаюць ад 2 да 100 000. 
2. Перабярыце значэнні а і  b ад 2 да 100 000. Знайдзіце НАД(a, b) для ўсіх магчымых пар. Значэнні a ўзрастаюць ад 2 да 100 000, значэнні b  спадаюць ад 100 000 да 2. 
3. Значэнні а і b атрымліваюць выпадковым чынам. Колькасць значэнняў [2; 1000]. 
4. Значэнні а і b атрымліваюць выпадковым чынам. Колькасць значэнняў  100 000, дыяпазон  [2; 1 000 000]. 

5. Выкарыстоўваючы функцыю для вылічэння НАД(a, b), рашыце наступныя задачы:

1. Напішыце праграму, якая знойдзе НАД чатырох лікаў.
2. Напішыце праграму, якая знойдзе НАК (найменшае агульнае кратнае) двух лікаў
.
3. Уводзяцца лічнік і назоўнік правільнага дробу. Напішыце праграму, якая скароціць дроб.
4. Два правільныя дробы зададзены сваімі лічнікамі і назоўнікамі. Напішыце праграму, якая знойдзе іх суму. Адказ выведзіце ў выглядзе змешанага дробу.
5. Зададзены два натуральныя лікі ў дзесятковай сістэме лічэння, якія складаюцца з адзінак. У першым ліку роўна n адзінак, а ў другім іх роўна m. Уводзяцца лікі n і m. Напішыце праграму, якая знойдзе НАД лікаў, якія складаюцца з n і m адзінак адпаведна.
6. Каця вырашыла запрасіць да сябе ў госці n сяброў. Паколькі яе сябры вельмі любяць садавіну, то ў якасці пачастунка для іх яна купіла m аднолькавых апельсінаў. Яна жадае разразаць кожны апельсін на аднолькавы лік роўных частак так, каб іх можна было размеркаваць паміж гасцямі (сама Каця апельсіны есці не будзе) і ўсім гасцям дасталася пароўну частак. Напішыце праграму, якая вылічвае мінімальную колькасць частак, на якую неабходна разразаць кожны апельсін, каб былі выкананы названыя вышэй умовы. Прыклад: пры n = 2, m = 5 адказ 2.
7. Паралель дзясятых класаў напісала кантрольную работу. У выніку роўна a % навучэнцаў атрымалі «выдатна», роўна b % — «добра», роўна c % —«задавальняюча», а астатнія d % напісалі кантрольную  незадавальняюча. Якая мінімальная колькасць навучэнцаў павінна быць у паралелі дзясятых класаў для таго, каб маглі атрымацца такія вынікі? Уводзяцца 4 цэлыя лікі ад 0 да 100:
a, b, c, d (a + b + c + d = 100). Выведзіце адзіны цэлы дадатны лік — мінімальную магчымую колькасць навучэнцаў у паралелі.

6. Дадзены два натуральныя лікі n і m (n < m). Напісаць праграму, якая выведзе ўсе лікі, што належаць адрэзку [n; m] і задавальняюць умовы, апісаныя ніжэй. Прадугледзець выпадак, калі такіх лікаў няма. Праверку аднаго ліку аформіць у выглядзе падпраграмы.

1. Лік з’яўляецца «добрым». (Натуральны лік назавём добрым, калі ён дзеліцца на суму сваіх лічбаў.) 
2. Лічбы ліку размешчаны ў парадку ўзрастання. 
3. Лік з’яўляецца паліндромам цотнай даўжыні. 
4. Лік з’яўляецца «шчаслівым» — сума лічбаў ліку, якія стаяць на першых k месцах, роўна суме лічбаў ліку, што стаяць на апошніх k месцах. (k —палова колькасці лічбаў ліку.) 
5. Лік з’яўляецца «шчаслівым» — сума лічбаў ліку, якія стаяць на няцотных месцах, роўна суме лічбаў ліку, што стаяць на цотных месцах.
6. Лік з’яўляецца лікам Армстранга. (Натуральны лік з k лічбаў з’яўляецца лікам Армстранга, калі сума яго лічбаў, узведзеных у k-ю ступень, роўна самаму ліку, напрыклад  153 = 13 + 53 + 33, k = 3.)
7. Лік з’яўляецца трохвугольным. (Трохвугольны лік — колькасць кружкоў, якія могуць быць расстаўлены ў форме правільнага трохвугольніка. Паказваецца ў выглядзе  fraction numerator k left parenthesis k space plus space 1 right parenthesis over denominator 2 end fraction,  напрыклад лік begin mathsize 16px style 15 space equals space fraction numerator 5 space asterisk times space 6 over denominator 2 end fraction end style.)

7. Напішыце праграмы для рашэння задач, аформіўшы патрэбныя падпраграмы.

1. Трохвугольнік зададзены даўжынямі сваіх старон. Знайсці даўжыні яго вышынь. 
2. Дадзены каардынаты вяршынь трохвугольніка і каардынаты некаторага пункта ўнутры яго. Знайсці адлегласць да бліжэйшай стараны трохвугольніка.

Падказка. Гэта адлегласць з’яўляецца вышынёй аднаго з атрыманых трохвугольнікаў.

3. Дадзены каардынаты вяршынь чатырохвугольніка і каардынаты некаторага пункта ўнутры яго. Знайсці адлегласць да найбліжэйшай вяршыні чатырохвугольніка. 
4. Тры прамавугольніка са старанамі, паралельнымі восям каардынат, зададзены каардынатамі сваіх дыяганалей. Выпісаць усе чатыры вяршыні для кожнага з прамавугольнікаў і знайсці іх плошчы.
5. Два прамавугольнікі са старанамі, паралельнымі восям каардынат, зададзены каардынатамі сваіх дыяганалей. Праверыць, ці дакладна, што прамавугольнік з меншай плошчай цалкам знаходзіцца ўнутры прамавугольніка з большай плошчай. Калі «так», то знайсці плошчу атрыманай «рамкі».