index.html 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <link rel="stylesheet" type="text/css" href="js/semantic/semantic.min.css">
  5. <style>
  6. .ivprog-io-output {
  7. border: 1px solid gainsboro;
  8. width: 80%;
  9. height: 360px;
  10. overflow-y: scroll;
  11. background-color: black;
  12. color: white;
  13. }
  14. .ivprog-io-input {
  15. width: 80%;
  16. margin-top: 10px;
  17. border: 1.5px solid green;
  18. height: 3rem;
  19. color: black;
  20. font-size: 12pt;
  21. }
  22. </style>
  23. <title></title>
  24. </head>
  25. <body>
  26. <div style="padding-top: 50px;content: ''"></div>
  27. <div class="ui container grid">
  28. <div class="four wide column">
  29. <div class="row">
  30. <textarea class="ui form control" name="input" id="input" cols="100" rows="30">
  31. programa {
  32. funcao inicio() {
  33. inteiro a[16] = {1,8,3,5,7,4,2,1,8,3,5,7,-4,2,10,-1}
  34. inteiro tam = numero_elementos(a) -1
  35. inteiro i
  36. a = mergeSort(a,0,tam)
  37. para(i = 0; i< tam; i = i + 1) {
  38. escreva(a[i]+", ")
  39. }
  40. escreva(a[i])
  41. }
  42. funcao inteiro[] mergeSort(inteiro a[], inteiro init, inteiro end) {
  43. inteiro meio = (init+end)/2
  44. inteiro size1 = meio - init + 1, size2 = end - meio, sizeF = end - init + 1
  45. inteiro p1[size1]
  46. inteiro p2[size2]
  47. inteiro f[sizeF]
  48. se (init < end) {
  49. p1 = mergeSort(a, init, meio)
  50. p2 = mergeSort(a, meio+1, end)
  51. f = merge(p1,p2)
  52. retorne f
  53. } senao {
  54. retorne {a[init]}
  55. }
  56. }
  57. funcao inteiro[] merge(inteiro p1[], inteiro p2[]) {
  58. inteiro lenp1 = numero_elementos(p1)
  59. inteiro lenp2 = numero_elementos(p2)
  60. inteiro sizeF = lenp1 + lenp2
  61. inteiro f[sizeF]
  62. inteiro i = 0, a = 0, b =0
  63. enquanto(i < lenp1+lenp2) {
  64. se(a < lenp1) {
  65. se(b <lenp2) {
  66. se(p1[a] <= p2[b]) {
  67. f[i] = p1[a]
  68. a = a + 1
  69. i = i + 1
  70. } senao {
  71. f[i] = p2[b]
  72. b = b + 1
  73. i = i + 1
  74. }
  75. } senao {
  76. enquanto(a < lenp1) {
  77. f[i] = p1[a]
  78. a = a + 1
  79. i = i + 1
  80. }
  81. }
  82. } senao {
  83. enquanto(b < lenp2) {
  84. f[i] = p2[b]
  85. b = b + 1
  86. i = i + 1
  87. }
  88. }
  89. }
  90. retorne f
  91. }
  92. }
  93. </textarea>
  94. </div>
  95. <div class="row">
  96. <button class="ui button" id="btn">Run</button>
  97. </div>
  98. </div>
  99. <div class="six wide column">
  100. <div id="dom-out" class="ivprog-io-output">
  101. </div>
  102. <input id="dom-in" type="text" class="ivprog-io-input">
  103. </div>
  104. <div class="six wide column">
  105. <div style="overflow-y: scroll; height: 70%;">
  106. <pre id="json-renderer" class="ui right floated"></pre>
  107. </div>
  108. </div>
  109. </div>
  110. </body>
  111. <script type="text/javascript" src="js/jquery-3.3.1.min.js"></script>
  112. <script type="text/javascript" src="js/jquery.json-editor.min.js"></script>
  113. <script type="text/javascript" src="build/ivprog.bundle.js"></script>
  114. </html>