§ 16. Тып даных структура (struct)

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

    

1. Напішыце праграму, якая пераўтварае ўраўненне прамой у адрэзках у агульнае ўраўненне прамой.

2. Напішыце праграму, якая пераўтварае агульнае ўраўненне прамой ва ўраўненне прамой з вуглавым каэфіцыентам. Прадугледзець праверку выпадку, калі гэта зрабіць немагчыма.

3. Напішыце праграму, якая пераўтварае ўраўненне прамой, што праходзіць праз два пункты, ва ўраўненне прамой з вуглавым каэфіцыентам. Калі гэта немагчыма, то атрымаць ураўненне ў выглядзе х = х0.

4. Напішыце праграму, якая вызначыць узаемнае размяшчэнне пункта з каардынатамі (x0, y0) і прамой у = kx + b.

5. Напішыце праграму, якая вызначыць узаемнае размяшчэнне пунктаў з каардынатамі (x1, y1), (x2, y2) і прамой Ax + By + C = 0.

6. Напішыце праграму, якая вызначыць узаемнае размяшчэнне пункта з каардынатамі (x0, y0) і дзвюх паралельных прамых Ax + By + C1 = 0  і Ax + By + C2 = 0.

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

8. Многавугольнік зададзены спісам сваіх вяршынь у парадку абходу. Для кожнай вяршыні вядомы яе каардынаты на плоскасці. Атрымайце масіў прамых, зададзеных ураўненнем прамой, якая праходзіць праз два пункты. Кожная прамая праходзіць праз старану многавугольніка. Пераўтварыце кожнае ўраўненне ў агульнае ўраўненне прамой. Выведзіце гэтыя ўраўннні. * Ці ёсць у многавугольніка дзве розныя стараны, якія ляжаць на адной прамой (гэта можа быць у нявыпуклага многавугольніка)?

9. Для праверкі таго, што пункт (x0, y0) ляжыць унутры трохвугольніка, зададзенага вяршынямі (x1, y1), (x2, y2), (x3, y3), можна выкарыстаць наступны алгарытм:

    1. Правесці прамую праз пункты (x1, y1), (x2, y2).
    2. Калі пункты (x0, y0) і (x3, y3) ляжаць у розных паўплоскасцях адносна гэтай прамой, то пункт (x0, y0) ляжыць звонку.
    3. Калі пункты (x0, y0) і (x3, y3) ляжаць у адной паўплоскасці, то выканаць аналагічныя праверкі для астатніх вяршынь.
    4. Калі для ўсіх трох прамых пункт (x0, y0) і астатняя вяршыня ляжаць у адной паўплоскасці, то пункт (x0, y0) унутры трохвугольніка

Реализовать описанный выше алгоритм.

10*. Напісаць праграму для праверкі, ці ляжыць пункт (x0, y0) унутры выпуклага многавугольніка.

11. Уводзяцца два значэнні часу: гадзіны, мінуты, секунды. Колькі секунд прайшло паміж імі? Час паказаны ў межах адных сутак.

12. Уводзяцца два значэнні часу: гадзіны, мінуты, секунды. Паміж імі магло прайсці больш за суткі (але не больш за двое сутак). Колькі прайшло часу паміж імі? Адказ атрымаць у гадзінах, мінутах і секундах.

13. Уводзіцца дата: дзень, месяц, год. Паменшыць уведзеную дату на t дзён.

14. Дадзена дата. Вывесці, колькі дзён да яе засталося (або колькі дзён прайшло).

15. Уводзіцца дата: месяц, год. Вызначыць дзень тыдня. Для вызначэння дня тыдня можна выкарыстаць наступныя формулы:

a = (14 − месяц) / 12
y = год − a
m = месяц + 12 * a − 2
Дзень Тыдня = (дзень + y + y / 4 − y / 100 + y / 400 + (31 * m) / 12) % 7
Усе дзяленні цэлалікавыя. Вынік: 0 — нядзеля, 1 — панядзелак і г. д.

16. Дадзена дата. Згенерыраваць расклад з гэтай даты на t дзён па такім прынцыпе: суткі праз трое. Калі рабочы дзень прыпадае на нядзелю, то ён пераносіцца на панядзелак. У выніку паказаць даты рабочых дзён.

17*.  Дадзены рэжым работы інтэрнэт-магазіна. ПН 9:00 — 21:00, АЎТ 9:00 — 21:00, С 9:00 — 21:00, ЧЦ 9:00 — 21:00, ПТ 9:00 — 21:00, СБ 10:00 — 18:00, Н 10:00 — 18:00. І дадзены дата і час. Вызначыць, ці працуе ў гэты час магазін і колькі мінут да канца рабочай змены.