Advertisement
Guest User

Untitled

a guest
Oct 14th, 2011
225
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.34 KB | None | 0 0
  1. Úkolem je realizovat program, který vyhodnotí vzájemnou polohu tvarů (obdélníků a kruhů) ve 2D rovině.
  2.  
  3. Vstupem programu je dvojice geometrických tvarů. Tvarem může být buď obdélník, nebo kruh. Obdélník je zadán dvojicí svých protilehlých rohů, pro každý roh jsou dané jeho souřadnice. Pozor, nemusí být zadán levý dolní a pravý horní roh, mohou být zadané libovolné protilehlé rohy. Kruh je zadán souřadnicí středu a poloměrem. Všechna zadávaná čísla jsou celá. Postup zadávání je vidět v ukázkách níže.
  4.  
  5. Výstupem programu je rozhodnutí, zda se zadané geometrické tvary protínají nebo ne. Formát výstupu je zřejmý z ukázek níže. Za neprázdný průnik se považuje alespoň jeden společný bod.
  6.  
  7. Pokud vstup není platný (na vstupu jsou nečíselné nebo nesmyslné hodnoty), program tuto situaci detekuje a vypíše chybové hlášení. Formát chybového hlášení je opět uveden v ukázkách níže. Za chybu je považováno, pokud jsou na vstupu:
  8.  
  9. nečíselné hodnoty,
  10. nesprávná identifikace tvaru (R/C),
  11. záporná nebo nulová velikost poloměru,
  12. nulová velikost strany obdélníku.
  13.  
  14. Pokud program detekuje chybu, přestane se dotazovat na další vstupní hodnoty, vypíše chybové hlášení a ukončí se. Chybu je tedy potřeba detekovat okamžitě po načtení hodnoty (neodkládejte kontrolu vstupních údajů až za načtení celého vstupu). Chybové hlášení vypisujte na standardní výstup (nevypisujte jej na standardní chybový výstup).
  15.  
  16. Dodržte přesně formát všech výpisů. Výpis Vašeho programu musí přesně odpovídat ukázkám. Testování provádí stroj, který kontroluje výpis na přesnou shodu. Pokud se výpis Vašeho programu liší od referenčního výstupu, je Vaše odpověď považovaná za nesprávnou. Záleží i na mezerách, i na odřádkování. Nezapomeňte na odřádkování za posledním řádkem výstupu (a za případným chybovým hlášením). Využijte přiložený archiv s testovacími vstupy a výstupy a přečtěte si sekci FAQ, jak využít přesměrování vstupů/výstupů k testování Vašeho programu.
  17.  
  18. Váš program bude spouštěn v omezeném testovacím prostředí. Je omezen dobou běhu (limit je vidět v logu referenčního řešení) a dále je omezena i velikost dostupné paměti (ale tato úloha by ani s jedním omezením neměla mít problém).
  19. Ukázka práce programu:
  20.  
  21. Tvar 1 (R=rectangle, C=circle):
  22. R
  23. Prvni bod:
  24. 1 1
  25. Druhy bod:
  26. 5 5
  27. Tvar 2 (R=rectangle, C=circle):
  28. R
  29. Prvni bod:
  30. 7 3
  31. Druhy bod:
  32. 3 7
  33. Prunik je neprazdny.
  34.  
  35. Tvar 1 (R=rectangle, C=circle):
  36. R
  37. Prvni bod:
  38. 0 0
  39. Druhy bod:
  40. 10 10
  41. Tvar 2 (R=rectangle, C=circle):
  42. C
  43. Stred:
  44. 5 5
  45. Polomer:
  46. 20
  47. Prunik je neprazdny.
  48.  
  49. Tvar 1 (R=rectangle, C=circle):
  50. C
  51. Stred:
  52. 0 0
  53. Polomer:
  54. 5
  55. Tvar 2 (R=rectangle, C=circle):
  56. C
  57. Stred:
  58. 0 10
  59. Polomer:
  60. 5
  61. Prunik je neprazdny.
  62.  
  63. Tvar 1 (R=rectangle, C=circle):
  64. C
  65. Stred:
  66. 0 0
  67. Polomer:
  68. 5
  69. Tvar 2 (R=rectangle, C=circle):
  70. R
  71. Prvni bod:
  72. 0 20
  73. Druhy bod:
  74. 10 30
  75. Prunik je prazdny.
  76.  
  77. Tvar 1 (R=rectangle, C=circle):
  78. A
  79. Nespravny vstup.
  80.  
  81. Tvar 1 (R=rectangle, C=circle):
  82. R
  83. Prvni bod:
  84. 0 10
  85. Druhy bod:
  86. 0 20
  87. Nespravny vstup.
  88.  
  89. Tvar 1 (R=rectangle, C=circle):
  90. C
  91. Stred:
  92. 40 50
  93. Polomer:
  94. -4
  95. Nespravny vstup.
  96.  
  97. Tvar 1 (R=rectangle, C=circle):
  98. R
  99. Prvni bod:
  100. 1 abcd
  101. Nespravny vstup.
  102.  
  103.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement