sharivan

Exercícios de lógica da programação [18-10-2015]

Oct 18th, 2015
155
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. 1) Dado o seguinte código em C++:
  2.  
  3. class Node {
  4. private:
  5. Node *m_pParent;
  6. Node *m_pLeft;
  7. Node *m_pRight;
  8. int m_iValue;
  9. public:
  10. Node(int iValue) {
  11. m_iValue = iValue;
  12. }
  13.  
  14. ~Node() {
  15. DestroyAllSubNodes();
  16. }
  17.  
  18. Node *GetParent() {
  19. return m_pRoot;
  20. }
  21.  
  22. void SetParent(Node *pParent) {
  23. m_pParent = pParent;
  24. }
  25.  
  26. Node *GetLeft() {
  27. return m_pLeft;
  28. }
  29.  
  30. void AddLeft(int iValue) {
  31. if (m_pLeft == NULL)
  32. m_pLeft = new Node(iValue);
  33. }
  34.  
  35. Node *GetRight() {
  36. return m_pRight;
  37. }
  38.  
  39. void AddRight(int iValue) {
  40. if (m_pRight == NULL)
  41. m_pRight = new Node(iValue);
  42. }
  43.  
  44. bool IsRoot() {
  45. return m_pParent == NULL;
  46. }
  47.  
  48. bool IsLeaf() {
  49. return m_pLeft == NULL && m_pRight == NULL;
  50. }
  51.  
  52. int GetValue() {
  53. return m_iValue;
  54. }
  55.  
  56. void SetValue(int iValue) {
  57. m_iValue = iValue;
  58. }
  59.  
  60. Node *SearchForValue(int iValue) {
  61. if (iValue == m_iValue)
  62. return this;
  63.  
  64. if (m_pLeft != NULL) {
  65. Node *result = m_pLeft->SearchForValue(iValue);
  66. if (result != NULL)
  67. return result;
  68. }
  69.  
  70. if (m_pRight != NULL) {
  71. Node *result = m_pRight->SearchForValue(iValue);
  72. if (result != NULL)
  73. return result;
  74. }
  75.  
  76. return NULL;
  77. }
  78.  
  79. void DestroyAllSubNodes() {
  80. if (m_pLeft != NULL) {
  81. delete m_pLeft;
  82. m_pLeft = NULL;
  83. }
  84.  
  85. if (m_pRight != NULL) {
  86. delete m_pRight;
  87. m_pRight = NULL;
  88. }
  89. }
  90. }
  91.  
  92. class BinaryTree {
  93. private
  94. Node *m_pRoot;
  95. public:
  96. BinaryTree(int iRootValue) {
  97. m_pRoot = new Node(iRootValue);
  98. }
  99.  
  100. ~BinaryTree() {
  101. delete m_pRoot;
  102. }
  103.  
  104. Node *GetRoot() {
  105. return m_pRoot;
  106. }
  107.  
  108. Node *SearchForValue(int iValue) {
  109. return m_pRoot->SearchValue(iValue);
  110. }
  111. }
  112.  
  113. Faça:
  114.  
  115. a) Identifique as possíveis propiedades (qualquer coisa que possa ter getters e/ou setters) da classe Node.
  116.  
  117. c) Escreva esse código em C#.
  118.  
  119. 2) Veja o código escrito em C# no link http://pastebin.com/A7zrdNtU. Complete o conteúdo do método main usando no máximo 26 linhas para que a saída do programa seja essa:
  120.  
  121. Luana disse: Huehas huehas huehas
  122. Luana disse para ele mesmo: Noooooooonnnnn
  123. Luana disse para Noutch: Meu cunhado!
  124. Luana disse para SHARIVAN: Nuuuuuuuuu huehas huehas huehas.
  125. Luana disse para NewJhon: Meu cunhado!
  126. Luana disse para Fanzack: Meu amoreeeeeeeee!!!
  127. Luana disse para Hollister: Vem cá com a mamãe vem!
  128. Luana disse para SENPAI: Meu sogrinho!
  129. Luana disse para ArmaX: Vem cá com a mamãe vem!
  130. Noutch disse: Quero frag!!!
  131. Noutch disse para Luana: Vota Jail Break!
  132. Noutch disse para ele mesmo: Eu sou um viadinho da faquinha!
  133. Noutch disse para SHARIVAN: Vota Jail Break!
  134. Noutch disse para NewJhon: E aehhhh!!!
  135. Noutch disse para Fanzack: Sou melhor que vc!!!
  136. Noutch disse para Hollister: Sou melhor que vc!!!
  137. Noutch disse para SENPAI: Meu Paiiiiii!
  138. Noutch disse para ArmaX: Sou melhor que vc!!!
  139. SHARIVAN disse: Vou erradicar com todos os cones e viadinhos da faquinha da face do universo.
  140. SHARIVAN disse para Luana: Luluuuuuuuuuuuu!!!
  141. SHARIVAN disse para Noutch: Seu fominha!
  142. SHARIVAN disse para ele mesmo: Quem é vc?
  143. SHARIVAN disse para NewJhon: Seu noob do caralho!
  144. SHARIVAN disse para Fanzack: Para de ficar pulando seu mongo do caralho!
  145. SHARIVAN disse para Hollister: Seu cone do caralho
  146. SHARIVAN disse para SENPAI: Troll de merda!
  147. SHARIVAN disse para ArmaX: Noob
  148. NewJhon disse: Quero frag facil!!!
  149. NewJhon disse para Luana: Vem meu frag!
  150. NewJhon disse para Noutch: Meu irmãozinho!!!
  151. NewJhon disse para SHARIVAN: Vem meu frag!
  152. NewJhon disse para ele mesmo: Eu sou um noob do caralho!
  153. NewJhon disse para Fanzack: Sou melhor que vc seu newba!!!
  154. NewJhon disse para Hollister: Sou melhor que vc seu newba!!!
  155. NewJhon disse para SENPAI: Meu Velhooooooo!
  156. NewJhon disse para ArmaX: Sou melhor que vc seu newba!!!
  157. Fanzack disse: Quero frag!!!
  158. Fanzack disse para Luana: Amooooooooooor!!!
  159. Fanzack disse para Noutch: Meu maninho!
  160. Fanzack disse para SHARIVAN: Quem é vc?
  161. Fanzack disse para NewJhon: Meu maninho!
  162. Fanzack disse para ele mesmo: Eu sou um viadinho da faquinha!
  163. Fanzack disse para Hollister: Meu filhinhooooooooo!!!
  164. Fanzack disse para SENPAI: Papiiiiiiiiiii!!!
  165. Fanzack disse para ArmaX: Meu filhinhooooooooo!!!
  166. Hollister disse: Sou viadinho da faquinha mesmo e dai? Aprendi com meu papai!
  167. Hollister disse para Luana: Ochchchchch quequequequem é vc???
  168. Hollister disse para Noutch: Meu Antepassado!
  169. Hollister disse para SHARIVAN: Ochchchchch quequequequem é vc???
  170. Hollister disse para NewJhon: Meu Antepassado!
  171. Hollister disse para Fanzack: Meu Antepassado!
  172. Hollister disse para ele mesmo: Eu sou um cone!
  173. Hollister disse para SENPAI: Meu Antepassado!
  174. Hollister disse para ArmaX: Meu Antepassado!
  175. SENPAI disse: Huehuehue
  176. SENPAI disse para Luana: Lixo!
  177. SENPAI disse para Noutch: Meu filhinho!!!
  178. SENPAI disse para SHARIVAN: Lixo!
  179. SENPAI disse para NewJhon: Meu filhinho!!!
  180. SENPAI disse para Fanzack: Meu filho favorito!!!
  181. SENPAI disse para Hollister: Meu netinho!
  182. SENPAI disse para ele mesmo: Eu sou fodaaaa!!!
  183. SENPAI disse para ArmaX: Meu netinho!
  184. ArmaX disse: Quero frag facil!!!
  185. ArmaX disse para Luana: Vem meu frag!
  186. ArmaX disse para Noutch: Meu titio!
  187. ArmaX disse para SHARIVAN: Vem meu frag!
  188. ArmaX disse para NewJhon: Meu titio!
  189. ArmaX disse para Fanzack: Paieeeeeeee!!!
  190. ArmaX disse para Hollister: Meu maninhoooo!!!
  191. ArmaX disse para SENPAI: Meu Vovozinhoooo!!!
  192. ArmaX disse para ele mesmo: Eu sou um noob do caralho!
  193. Estou tacando molotov no spawn!
  194. Estou tentando pegar zumbi na faca em escape!
  195. Estou dando pulinhos!
  196. Hollister foi kickado por SHARIVAN
  197. SENPAI foi kickado por SHARIVAN
  198. Estou imitando meu pai!
  199.  
  200. As seguintes regras deverão ser respeitadas:
  201.  
  202. a) Não usar mais de uma instrução por linha.
  203.  
  204. b) Usar uma linha própria para cada abre chaves ou fecha chaves ({}).
  205.  
  206. c) Não inserir nenhuma outra linha de código fora do método main.
  207.  
  208. Linhas em branco não serão contabilizadas na contagem de linhas.
RAW Paste Data