§ 7. Паняцце дапаможнага алгарытму
Практыкаванні
1. Напішыце праграмы для рашэння задач. Аформіце вылічэнне пералічаных функцый у якасці падпраграм.
- Дадзена рэчыўнае значэнне x. Артымаць
2. Дадзены рэчыўныя значэнні t і s. Атрымаць
3. Дадзены рэчаісны лік y. Атрымаць
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. Лік з’яўляецца трохвугольным. (Трохвугольны лік — колькасць кружкоў, якія могуць быць расстаўлены ў форме правільнага трохвугольніка. Паказваецца ў выглядзе , напрыклад лік .)
7. Напішыце праграмы для рашэння задач, аформіўшы патрэбныя падпраграмы.
1. Трохвугольнік зададзены даўжынямі сваіх старон. Знайсці даўжыні яго вышынь.
2. Дадзены каардынаты вяршынь трохвугольніка і каардынаты некаторага пункта ўнутры яго. Знайсці адлегласць да бліжэйшай стараны трохвугольніка.
Падказка. Гэта адлегласць з’яўляецца вышынёй аднаго з атрыманых трохвугольнікаў.
3. Дадзены каардынаты вяршынь чатырохвугольніка і каардынаты некаторага пункта ўнутры яго. Знайсці адлегласць да найбліжэйшай вяршыні чатырохвугольніка.
4. Тры прамавугольніка са старанамі, паралельнымі восям каардынат, зададзены каардынатамі сваіх дыяганалей. Выпісаць усе чатыры вяршыні для кожнага з прамавугольнікаў і знайсці іх плошчы.
5. Два прамавугольнікі са старанамі, паралельнымі восям каардынат, зададзены каардынатамі сваіх дыяганалей. Праверыць, ці дакладна, што прамавугольнік з меншай плошчай цалкам знаходзіцца ўнутры прамавугольніка з большай плошчай. Калі «так», то знайсці плошчу атрыманай «рамкі».