EFL 1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (193) hide show
  1. data/README.txt +36 -0
  2. data/lib/EFL.rb +494 -0
  3. data/lib/EFL_array.rb +20 -0
  4. data/lib/EFL_errors.rb +48 -0
  5. data/lib/EFL_hash.rb +18 -0
  6. data/lib/EFL_production.rb +49 -0
  7. data/lib/EFL_regexp.rb +112 -0
  8. data/lib/EFL_regexp_generator.rb +70 -0
  9. data/lib/EFL_substitution.rb +221 -0
  10. data/lib/EFL_syntactic_sugar.rb +67 -0
  11. data/lib/Hash Doc.doc +0 -0
  12. data/lib/Limitaciones.txt +3 -0
  13. data/lib/doc/classes/Generator.html +634 -0
  14. data/lib/doc/classes/Generator.src/M000008.html +18 -0
  15. data/lib/doc/classes/Generator.src/M000009.html +18 -0
  16. data/lib/doc/classes/Generator.src/M000010.html +18 -0
  17. data/lib/doc/classes/Generator.src/M000011.html +18 -0
  18. data/lib/doc/classes/Generator.src/M000012.html +18 -0
  19. data/lib/doc/classes/Generator.src/M000013.html +18 -0
  20. data/lib/doc/classes/Generator.src/M000014.html +18 -0
  21. data/lib/doc/classes/Generator.src/M000015.html +18 -0
  22. data/lib/doc/classes/Generator.src/M000016.html +28 -0
  23. data/lib/doc/classes/Generator.src/M000017.html +24 -0
  24. data/lib/doc/classes/Generator.src/M000018.html +157 -0
  25. data/lib/doc/classes/Generator.src/M000019.html +25 -0
  26. data/lib/doc/classes/Generator.src/M000020.html +30 -0
  27. data/lib/doc/classes/Generator.src/M000021.html +32 -0
  28. data/lib/doc/classes/Generator.src/M000022.html +22 -0
  29. data/lib/doc/classes/Generator.src/M000023.html +18 -0
  30. data/lib/doc/classes/Generator.src/M000024.html +27 -0
  31. data/lib/doc/classes/Generator.src/M000025.html +22 -0
  32. data/lib/doc/classes/Generator.src/M000026.html +18 -0
  33. data/lib/doc/classes/Generator.src/M000027.html +27 -0
  34. data/lib/doc/classes/Regexp.html +271 -0
  35. data/lib/doc/classes/Regexp.src/M000028.html +37 -0
  36. data/lib/doc/classes/Regexp.src/M000029.html +29 -0
  37. data/lib/doc/classes/Regexp.src/M000030.html +32 -0
  38. data/lib/doc/created.rid +1 -0
  39. data/lib/doc/files/EFL_rb.html +147 -0
  40. data/lib/doc/files/EFL_regexp_generator_rb.html +242 -0
  41. data/lib/doc/files/EFL_regexp_generator_rb.src/M000003.html +27 -0
  42. data/lib/doc/files/EFL_regexp_generator_rb.src/M000004.html +27 -0
  43. data/lib/doc/files/EFL_regexp_generator_rb.src/M000005.html +19 -0
  44. data/lib/doc/files/EFL_regexp_generator_rb.src/M000006.html +20 -0
  45. data/lib/doc/files/EFL_regexp_generator_rb.src/M000007.html +19 -0
  46. data/lib/doc/files/EFL_regexp_rb.html +139 -0
  47. data/lib/doc/files/EFL_syntactic_sugar_rb.html +208 -0
  48. data/lib/doc/files/EFL_syntactic_sugar_rb.src/M000001.html +29 -0
  49. data/lib/doc/files/EFL_syntactic_sugar_rb.src/M000002.html +19 -0
  50. data/lib/doc/fr_class_index.html +28 -0
  51. data/lib/doc/fr_file_index.html +30 -0
  52. data/lib/doc/fr_method_index.html +56 -0
  53. data/lib/doc/index.html +24 -0
  54. data/tests/Add_Sup_1.rb +223 -0
  55. data/tests/Add_Sup_1.rb.bak +223 -0
  56. data/tests/Add_Sup_1_NI.rb +25 -0
  57. data/tests/Add_Sup_2.rb +142 -0
  58. data/tests/Add_Sup_2.rb.bak +140 -0
  59. data/tests/All.rb +2 -0
  60. data/tests/All_1.rb +7 -0
  61. data/tests/All_2.rb +7 -0
  62. data/tests/All_2.rb.bak +5 -0
  63. data/tests/BeforeAfter.rb +83 -0
  64. data/tests/Bloques.rb +34 -0
  65. data/tests/Bloques.rb.bak +34 -0
  66. data/tests/Complementary.rb +144 -0
  67. data/tests/ComplementaryZoom.rb +78 -0
  68. data/tests/Del.rb +126 -0
  69. data/tests/Dup.rb +55 -0
  70. data/tests/Dup.rb.bak +54 -0
  71. data/tests/Error.rb +11 -0
  72. data/tests/ErrorArgClass.rb +169 -0
  73. data/tests/ErrorArgClass.rb.bak +158 -0
  74. data/tests/ErrorCollision.rb +218 -0
  75. data/tests/ErrorCollision.rb.bak +219 -0
  76. data/tests/ErrorWithoutDeclaration.rb +60 -0
  77. data/tests/ErrorWithoutDeclaration.rb.bak +60 -0
  78. data/tests/Extract.rb +56 -0
  79. data/tests/ExtractDollar.rb +17 -0
  80. data/tests/HashTest.rb +54 -0
  81. data/tests/HashTest.rb.bak +54 -0
  82. data/tests/Lista Czarnecki/AntiguaInterfaz/List.cpp +75 -0
  83. data/tests/Lista Czarnecki/AntiguaInterfaz/ListTransformer.rb +69 -0
  84. data/tests/Lista Czarnecki/AntiguaInterfaz/ListTransformer.rb.bak +100 -0
  85. data/tests/Lista Czarnecki/AntiguaInterfaz/ejecutame.bat +1 -0
  86. data/tests/Lista Czarnecki/AntiguaInterfaz/outDir/MyClassList.cpp +75 -0
  87. data/tests/Lista Czarnecki/AntiguaInterfaz/runme.bat +1 -0
  88. data/tests/Lista Czarnecki/AntiguaInterfaz/specification1.txt +5 -0
  89. data/tests/Lista Czarnecki/AntiguaInterfaz/specification2.txt +3 -0
  90. data/tests/Lista Czarnecki/AntiguaInterfaz/specification3.txt +5 -0
  91. data/tests/Lista Czarnecki/NuevaInterfaz/List.cpp +75 -0
  92. data/tests/Lista Czarnecki/NuevaInterfaz/ListTransformer.rb +58 -0
  93. data/tests/Lista Czarnecki/NuevaInterfaz/ListTransformer.rb.bak +57 -0
  94. data/tests/Lista Czarnecki/NuevaInterfaz/ejecutame.bat +1 -0
  95. data/tests/Lista Czarnecki/NuevaInterfaz/outDir/MyClassList.cpp +75 -0
  96. data/tests/Lista Czarnecki/NuevaInterfaz/outDir/NewClassList.cpp +75 -0
  97. data/tests/Lista Czarnecki/NuevaInterfaz/specification1.txt +5 -0
  98. data/tests/Lista Czarnecki/NuevaInterfaz/specification1.txt.bak +5 -0
  99. data/tests/Lista Czarnecki/NuevaInterfaz/specification2.txt +3 -0
  100. data/tests/Lista Czarnecki/NuevaInterfaz/specification3.txt +5 -0
  101. data/tests/Minus.rb +89 -0
  102. data/tests/Plus.rb.bak +48 -0
  103. data/tests/REVit.rb +84 -0
  104. data/tests/RenameTest.rb +46 -0
  105. data/tests/RenameTest.rb.bak +46 -0
  106. data/tests/SubCrash.rb +26 -0
  107. data/tests/SubList.rb.bak +43 -0
  108. data/tests/archAuxiliares/1.txt +328 -0
  109. data/tests/archAuxiliares/2.txt +328 -0
  110. data/tests/archAuxiliares/Bloques/s1.txt +328 -0
  111. data/tests/archAuxiliares/Copia de Matriz.java +19 -0
  112. data/tests/archAuxiliares/Gen/Tesis_156_1.lgi +10 -0
  113. data/tests/archAuxiliares/Gen/Tesis_156_2.lgi +10 -0
  114. data/tests/archAuxiliares/Gen/t01.txt +328 -0
  115. data/tests/archAuxiliares/Gen/t01.txt.bak +328 -0
  116. data/tests/archAuxiliares/Gen/t02.txt +328 -0
  117. data/tests/archAuxiliares/Gen/t02.txt.bak +328 -0
  118. data/tests/archAuxiliares/Gen/t03.txt +328 -0
  119. data/tests/archAuxiliares/Gen/t03.txt.bak +328 -0
  120. data/tests/archAuxiliares/Gen/t04.txt +328 -0
  121. data/tests/archAuxiliares/Gen/t04.txt.bak +328 -0
  122. data/tests/archAuxiliares/Gen/t1.txt +328 -0
  123. data/tests/archAuxiliares/Gen/t1.txt.bak +328 -0
  124. data/tests/archAuxiliares/Gen/t2.txt +328 -0
  125. data/tests/archAuxiliares/Gen/t2.txt.bak +328 -0
  126. data/tests/archAuxiliares/Gen/t5.txt +328 -0
  127. data/tests/archAuxiliares/Gen/t9.txt +328 -0
  128. data/tests/archAuxiliares/Gen/t9.txt.bak +328 -0
  129. data/tests/archAuxiliares/GenTesis_156_1.lgi +10 -0
  130. data/tests/archAuxiliares/Matriz.java +74 -0
  131. data/tests/archAuxiliares/MatrizOut.java +74 -0
  132. data/tests/archAuxiliares/MatrizOut10.java +68 -0
  133. data/tests/archAuxiliares/MatrizOut11.java +86 -0
  134. data/tests/archAuxiliares/MatrizOut2.java +74 -0
  135. data/tests/archAuxiliares/MatrizOut3.java +74 -0
  136. data/tests/archAuxiliares/MatrizOut4.java +74 -0
  137. data/tests/archAuxiliares/MatrizOut5.java +21 -0
  138. data/tests/archAuxiliares/MatrizOut6.java +21 -0
  139. data/tests/archAuxiliares/MatrizOut7.java +21 -0
  140. data/tests/archAuxiliares/MatrizOut8.java +16 -0
  141. data/tests/archAuxiliares/MatrizOut9.java +86 -0
  142. data/tests/archAuxiliares/MatrizOut_9.java +86 -0
  143. data/tests/archAuxiliares/Matriz_1.java +74 -0
  144. data/tests/archAuxiliares/Matriz_10.java +68 -0
  145. data/tests/archAuxiliares/Matriz_11.java +86 -0
  146. data/tests/archAuxiliares/Matriz_2.java +74 -0
  147. data/tests/archAuxiliares/Matriz_3.java +74 -0
  148. data/tests/archAuxiliares/Matriz_4.java +74 -0
  149. data/tests/archAuxiliares/Matriz_5.java +21 -0
  150. data/tests/archAuxiliares/Matriz_6.java +21 -0
  151. data/tests/archAuxiliares/Matriz_7.java +21 -0
  152. data/tests/archAuxiliares/Matriz_8.java +16 -0
  153. data/tests/archAuxiliares/Matriz_9.java +86 -0
  154. data/tests/archAuxiliares/Matriz_N_1.java +21 -0
  155. data/tests/archAuxiliares/Matriz_N_2.java +91 -0
  156. data/tests/archAuxiliares/N1.txt +18 -0
  157. data/tests/archAuxiliares/N1_EXPECTED.txt +18 -0
  158. data/tests/archAuxiliares/N1_OUT.txt +18 -0
  159. data/tests/archAuxiliares/N2_EXPECTED.txt +18 -0
  160. data/tests/archAuxiliares/N2_OUT.txt +18 -0
  161. data/tests/archAuxiliares/N3.txt +23 -0
  162. data/tests/archAuxiliares/N3_EXPECTED.txt +22 -0
  163. data/tests/archAuxiliares/N3_OUT.txt +22 -0
  164. data/tests/archAuxiliares/N4_EXPECTED.txt +10 -0
  165. data/tests/archAuxiliares/N4_OUT.txt +10 -0
  166. data/tests/archAuxiliares/N5_OUT.txt +18 -0
  167. data/tests/archAuxiliares/N6_OUT.txt +18 -0
  168. data/tests/archAuxiliares/PedidorTerceroWS.jsp +142 -0
  169. data/tests/archAuxiliares/Tesis_156.lgi +7 -0
  170. data/tests/archAuxiliares/aspectgen.rb +328 -0
  171. data/tests/archAuxiliares/aspectgenCopy.rb +328 -0
  172. data/tests/archAuxiliares/extract_dollar.txt +1 -0
  173. data/tests/archAuxiliares/minus.txt +26 -0
  174. data/tests/archAuxiliares/minus_expected_1.txt +26 -0
  175. data/tests/archAuxiliares/minus_expected_2.txt +26 -0
  176. data/tests/archAuxiliares/minus_out_1.txt +26 -0
  177. data/tests/archAuxiliares/minus_out_2.txt +26 -0
  178. data/tests/archAuxiliares/p1.txt +328 -0
  179. data/tests/archAuxiliares/p2.txt +328 -0
  180. data/tests/archAuxiliares/s1.txt +328 -0
  181. data/tests/archAuxiliares/s2.txt +328 -0
  182. data/tests/archAuxiliares/s3.txt +328 -0
  183. data/tests/archAuxiliares/s4.txt +328 -0
  184. data/tests/archAuxiliares/s5.txt +328 -0
  185. data/tests/archAuxiliares/s7.txt +328 -0
  186. data/tests/archAuxiliares/s8.txt +328 -0
  187. data/tests/archAuxiliares/s9.txt +328 -0
  188. data/tests/archAuxiliares/text.txt +1 -0
  189. data/tests/delay.rb +33 -0
  190. data/tests/delay.rb.bak +33 -0
  191. data/tests/satisfy.rb +44 -0
  192. data/tests/satisfy.rb.bak +34 -0
  193. metadata +252 -0
@@ -0,0 +1,74 @@
1
+ import java.io.*;
2
+ import javagently.*;
3
+
4
+ public class <<sub_2>><<after_1>> {
5
+
6
+ private int[][] matriz;
7
+ private int numFilas, numOtrasCosas, numColumnas;
8
+
9
+ public <<before_2>><<sub_1>><<after_1>> (int numFilas, int numColumnas) {
10
+ numFilas = numFilas;
11
+ numColumnas = numColumnas;
12
+ numOtrasCosas = numOtrasCosas;
13
+ matriz = new int[numFilas][numColumnas];
14
+ } /* <<before_2>><<sub_1>><<after_1>> */
15
+
16
+ public void leer<<before_2>><<sub_1>><<after_1>>() throws IOException{
17
+ BufferedReader entradaTeclado = Text.open(System.in);
18
+ for (int i=0; i<numFilas; i++) {
19
+ for (int j=0; j<numColumnas; j++) {
20
+ System.out.print<<after_2>>("\tElemento[" + i + "][" + j +"] ?: ");
21
+ mAtriz[i][j] = Text.readInt(entradaTeclado);
22
+ } /* for */
23
+ } /* for */
24
+ } /* leer<<before_2>><<sub_1>><<after_1>> */
25
+
26
+ public void escribir<<before_2>><<sub_1>><<after_1>>() {
27
+ System.out.print("\nLa matriz resultado es:\n");
28
+ for (int i=0; i<numFilas; i++) {
29
+ System.out.print("\n\t");
30
+ for (int <<before_1>>j=0; j<numColumnas; j++) {
31
+ System.out.print(Text.writeInt(matriz[i][j], 2) + " ");
32
+ } /* for j */
33
+ } /* for i */
34
+ } /* leer<<before_2>><<sub_1>><<after_1>> */
35
+
36
+ public int obtenerNumFilas() {
37
+ return numFilas;
38
+ } /* obtenerNumFilas */
39
+
40
+ public int obtenerNumColumnas() {
41
+ return numColumnas;
42
+ } /* obtenerNumColumnas */
43
+
44
+ public int obtenerElemento(int i, int j) {
45
+ return matriz[i][j];
46
+ } /* obtenerElemento */
47
+
48
+ public void establecerElemento(int i, int j, int valor) {
49
+ matriz[i][j] = valor;
50
+ } /* establecerElemento */
51
+
52
+ public static boolean puedeRealizarseElProducto(<<before_2>><<sub_1>><<after_1>> matriz1, <<before_2>><<sub_1>><<after_1>> matriz2) {
53
+ // dice si es posible realizar el producto de matrices
54
+ return matriz1.obtenerNumColumnas() == matriz2.obtenerNumFilas();
55
+ } /* verificarProducto */
56
+
57
+ public static <<before_2>><<sub_1>><<after_1>> multiplicarMatrices(<<before_2>><<sub_1>><<after_1>> matriz1, <<before_2>><<sub_1>><<after_1>> matriz2) {
58
+ <<before_2>><<sub_1>><<after_1>> matrizResultado = new <<before_2>><<sub_1>><<after_1>>(matriz1.obtenerNumFilas(),
59
+ matriz2.obtenerNumColumnas());
60
+ int suma;
61
+ for (int i=0; i<matriz1.obtenerNumFilas(); i++) {
62
+ for (int j=0; j<matriz2.obtenerNumColumnasOtras(); j++) {
63
+ suma = 0;
64
+ for (int k=0; k<matriz1.obtenerNumColumnas(); k++) {
65
+ suma += matriz1.obtenerElemento(i,k) *
66
+ matriz2.obtenerElemento(k,j);
67
+ } /* for k */
68
+ matrizResultado.establecerElemento(i,j, suma);
69
+ } /* for j */
70
+ } /* for i */
71
+ return matrizResultado;
72
+ } /* multiplicarMatrices */
73
+
74
+ } /* Matriz<<after_1>> */
@@ -0,0 +1,74 @@
1
+ import java.io.*;
2
+ import javagently.*;
3
+
4
+ public class <<after_1>> {
5
+
6
+ private int[][] matriz;
7
+ private int numFilas, numOtrasCosas, numColumnas;
8
+
9
+ public <<before_2>><<after_1>> (int numFilas, int numColumnas) {
10
+ numFilas = numFilas;
11
+ numColumnas = numColumnas;
12
+ numOtrasCosas = numOtrasCosas;
13
+ matriz = new int[numFilas][numColumnas];
14
+ } /* <<before_2>><<after_1>> */
15
+
16
+ public void leer<<before_2>><<after_1>>() throws IOException{
17
+ BufferedReader entradaTeclado = Text.open(System.in);
18
+ for (int i=0; i<numFilas; i++) {
19
+ for (int j=0; j<numColumnas; j++) {
20
+ System.out.print<<after_2>>("\tElemento[" + i + "][" + j +"] ?: ");
21
+ mAtriz[i][j] = Text.readInt(entradaTeclado);
22
+ } /* for */
23
+ } /* for */
24
+ } /* leer<<before_2>><<after_1>> */
25
+
26
+ public void escribir<<before_2>><<after_1>>() {
27
+ System.out.print("\nLa matriz resultado es:\n");
28
+ for (int i=0; i<numFilas; i++) {
29
+ System.out.print("\n\t");
30
+ for (int <<before_1>>j=0; j<numColumnas; j++) {
31
+ System.out.print(Text.writeInt(matriz[i][j], 2) + " ");
32
+ } /* for j */
33
+ } /* for i */
34
+ } /* leer<<before_2>><<after_1>> */
35
+
36
+ public int obtenerNumFilas() {
37
+ return numFilas;
38
+ } /* obtenerNumFilas */
39
+
40
+ public int obtenerNumColumnas() {
41
+ return numColumnas;
42
+ } /* obtenerNumColumnas */
43
+
44
+ public int obtenerElemento(int i, int j) {
45
+ return matriz[i][j];
46
+ } /* obtenerElemento */
47
+
48
+ public void establecerElemento(int i, int j, int valor) {
49
+ matriz[i][j] = valor;
50
+ } /* establecerElemento */
51
+
52
+ public static boolean puedeRealizarseElProducto(<<before_2>><<after_1>> matriz1, <<before_2>><<after_1>> matriz2) {
53
+ // dice si es posible realizar el producto de matrices
54
+ return matriz1.obtenerNumColumnas() == matriz2.obtenerNumFilas();
55
+ } /* verificarProducto */
56
+
57
+ public static <<before_2>><<after_1>> multiplicarMatrices(<<before_2>><<after_1>> matriz1, <<before_2>><<after_1>> matriz2) {
58
+ <<before_2>><<after_1>> matrizResultado = new <<before_2>><<after_1>>(matriz1.obtenerNumFilas(),
59
+ matriz2.obtenerNumColumnas());
60
+ int suma;
61
+ for (int i=0; i<matriz1.obtenerNumFilas(); i++) {
62
+ for (int j=0; j<matriz2.obtenerNumColumnasOtras(); j++) {
63
+ suma = 0;
64
+ for (int k=0; k<matriz1.obtenerNumColumnas(); k++) {
65
+ suma += matriz1.obtenerElemento(i,k) *
66
+ matriz2.obtenerElemento(k,j);
67
+ } /* for k */
68
+ matrizResultado.establecerElemento(i,j, suma);
69
+ } /* for j */
70
+ } /* for i */
71
+ return matrizResultado;
72
+ } /* multiplicarMatrices */
73
+
74
+ } /* Matriz<<after_1>> */
@@ -0,0 +1,21 @@
1
+ import java.io.*;
2
+ import javagently.*;
3
+
4
+ public class Matriz {
5
+
6
+ private int[][] matriz;
7
+ private int numFilas, numOtrasCosas, numColumnas;
8
+
9
+ 123
10
+
11
+ public 123 (int numFilas, int numColumnas) {
12
+ numFilas = numFilas;
13
+ Matriz
14
+ numColumnas = numColumnas;
15
+ numOtrasCosas = numOtrasCosas;
16
+ Matriz
17
+ matriz = new int[numFilas][numColumnas];
18
+ } /* 123 */
19
+
20
+
21
+ } /* Matriz */
@@ -0,0 +1,21 @@
1
+ import java.io.*;
2
+ import javagently.*;
3
+
4
+ public class Matriz {
5
+
6
+ private <<before>>[][] matriz;
7
+ private <<before>> numFilas, numOtrasCosas, numColumnas;
8
+
9
+ 123
10
+
11
+ public 123 (<<before>> numFilas, <<before>> numColumnas) {
12
+ numFilas = numFilas;
13
+ Matriz
14
+ numColumnas = numColumnas;
15
+ numOtrasCosas = numOtrasCosas;
16
+ Matriz
17
+ matriz = new int[numFilas][numColumnas];
18
+ } /* 123 */
19
+
20
+
21
+ } /* Matriz */
@@ -0,0 +1,21 @@
1
+ import java.io.*;
2
+ import javagently.*;
3
+
4
+ public class Matriz {
5
+
6
+ private <<before>>[][] matriz;
7
+ private int numFilas, numOtrasCosas, numColumnas;
8
+
9
+ fuera
10
+
11
+ public fuera (int numFilas, int numColumnas) {
12
+ numFilas = numFilas;
13
+ dentro
14
+ numColumnas = numColumnas;
15
+ numOtrasCosas = numOtrasCosas;
16
+ dentro
17
+ matriz = new int[numFilas][numColumnas];
18
+ } /* fuera */
19
+
20
+
21
+ } /* Matriz */
@@ -0,0 +1,16 @@
1
+ import java.io.*;
2
+ import javagently.*;
3
+
4
+ public class matriz {Matriz
5
+
6
+ public Matriz (int numFilas, int numColumnas) {
7
+ numFilas = numFilas;
8
+ Matriz
9
+ numColumnas = numColumnas;
10
+ numOtrasCosas = numOtrasCosas;
11
+ Matriz
12
+ matriz = new int[numFilas][numColumnas];
13
+ } /* Matriz */
14
+
15
+
16
+ } /* matriz */
@@ -0,0 +1,86 @@
1
+ import java.io.*;
2
+ import javagently.*;
3
+
4
+ public class Matriz {{
5
+
6
+ public Matriz (int numFilas, int numColumnas) {
7
+ numFilas = numFilas;
8
+ numColumnas = numColumnas;
9
+ numOtrasCosas = numOtrasCosas;
10
+ matriz = new int[numFilas][numColumnas];
11
+ } /* Matriz */
12
+
13
+
14
+ numFilas = numFilas;
15
+ numColumnas = numColumnas;
16
+ numOtrasCosas = numOtrasCosas;
17
+ matriz = new int[numFilas][numColumnas];
18
+ } /* Matriz */
19
+
20
+ public void leerMatriz() throws IOException{
21
+ BufferedReader entradaTeclado = Text.open(System.in);
22
+ for (int i=0; i<numFilas; i++) {
23
+ for (int j=0; j<numColumnas; j++) {
24
+ System.out.print("\tElemento[" + i + "][" + j +"] ?: ");
25
+ mAtriz[i][j] = Text.readInt(entradaTeclado);
26
+ } /* for */
27
+ } /* for */
28
+ } /* leerMatriz */
29
+
30
+ public void escribirMatriz() {
31
+ System.out.print("\nLa matriz resultado es:\n");
32
+ for (int i=0; i<numFilas; i++) {
33
+ System.out.print("\n\t");
34
+ for (int j=0; j<numColumnas; j++) {
35
+ System.out.print(Text.writeInt(matriz[i][j], 2) + " ");
36
+ } /* for j */
37
+ } /* for i */
38
+ } /* leerMatriz */
39
+
40
+ public int obtenerNumFilas() {
41
+
42
+ public Matriz (int numFilas, int numColumnas) {
43
+ numFilas = numFilas;
44
+ numColumnas = numColumnas;
45
+ numOtrasCosas = numOtrasCosas;
46
+ matriz = new int[numFilas][numColumnas];
47
+ } /* Matriz */
48
+
49
+ return numFilas;
50
+ } /* obtenerNumFilas */
51
+
52
+ public int obtenerNumColumnas() {
53
+ return numColumnas;
54
+ } /* obtenerNumColumnas */
55
+
56
+ public int obtenerElemento(int i, int j) {
57
+ return matriz[i][j];
58
+ } /* obtenerElemento */
59
+
60
+ public void establecerElemento(int i, int j, int valor) {
61
+ matriz[i][j] = valor;
62
+ } /* establecerElemento */
63
+
64
+ public static boolean puedeRealizarseElProducto(Matriz matriz1, Matriz matriz2) {
65
+ // dice si es posible realizar el producto de matrices
66
+ return matriz1.obtenerNumColumnas() == matriz2.obtenerNumFilas();
67
+ } /* verificarProducto */
68
+
69
+ public static Matriz multiplicarMatrices(Matriz matriz1, Matriz matriz2) {
70
+ Matriz matrizResultado = new Matriz(matriz1.obtenerNumFilas(),
71
+ matriz2.obtenerNumColumnas());
72
+ int suma;
73
+ for (int i=0; i<matriz1.obtenerNumFilas(); i++) {
74
+ for (int j=0; j<matriz2.obtenerNumColumnasOtras(); j++) {
75
+ suma = 0;
76
+ for (int k=0; k<matriz1.obtenerNumColumnas(); k++) {
77
+ suma += matriz1.obtenerElemento(i,k) *
78
+ matriz2.obtenerElemento(k,j);
79
+ } /* for k */
80
+ matrizResultado.establecerElemento(i,j, suma);
81
+ } /* for j */
82
+ } /* for i */
83
+ return matrizResultado;
84
+ } /* multiplicarMatrices */
85
+
86
+ } /* Matriz */
@@ -0,0 +1,21 @@
1
+ import java.io.*;
2
+ import javagently.*;
3
+
4
+ public class Matriz {
5
+
6
+ private int[][] matriz;
7
+ private int numFilas, numOtrasCosas, numColumnas;
8
+
9
+ Matriz
10
+
11
+ public Matriz (int numFilas, int numColumnas) {
12
+ numFilas = numFilas;
13
+ Matriz
14
+ numColumnas = numColumnas;
15
+ numOtrasCosas = numOtrasCosas;
16
+ Matriz
17
+ matriz = new int[numFilas][numColumnas];
18
+ } /* Matriz */
19
+
20
+
21
+ } /* Matriz */
@@ -0,0 +1,91 @@
1
+ import java.io.*;
2
+ import javagently.*;
3
+
4
+ public class Matriz {
5
+
6
+ private int[][] matriz;
7
+ private int numFilas, numOtrasCosas, numColumnas;
8
+
9
+ public Matriz (int numFilas, int numColumnas) {
10
+
11
+ public Matriz (int numFilas, int numColumnas) {
12
+ numFilas = numFilas;
13
+ numColumnas = numColumnas;
14
+ numOtrasCosas = numOtrasCosas;
15
+ matriz = new int[numFilas][numColumnas];
16
+ } /* Matriz */
17
+
18
+
19
+ numFilas = numFilas;
20
+ numColumnas = numColumnas;
21
+ numOtrasCosas = numOtrasCosas;
22
+ matriz = new int[numFilas][numColumnas];
23
+ } /* Matriz */
24
+
25
+ public void leerMatriz() throws IOException{
26
+ BufferedReader entradaTeclado = Text.open(System.in);
27
+ for (int i=0; i<numFilas; i++) {
28
+ for (int j=0; j<numColumnas; j++) {
29
+ System.out.print("\tElemento[" + i + "][" + j +"] ?: ");
30
+ mAtriz[i][j] = Text.readInt(entradaTeclado);
31
+ } /* for */
32
+ } /* for */
33
+ } /* leerMatriz */
34
+
35
+ public void escribirMatriz() {
36
+ System.out.print("\nLa matriz resultado es:\n");
37
+ for (int i=0; i<numFilas; i++) {
38
+ System.out.print("\n\t");
39
+ for (int j=0; j<numColumnas; j++) {
40
+ System.out.print(Text.writeInt(matriz[i][j], 2) + " ");
41
+ } /* for j */
42
+ } /* for i */
43
+ } /* leerMatriz */
44
+
45
+ public int obtenerNumFilas() {
46
+
47
+ public Matriz (int numFilas, int numColumnas) {
48
+ numFilas = numFilas;
49
+ numColumnas = numColumnas;
50
+ numOtrasCosas = numOtrasCosas;
51
+ matriz = new int[numFilas][numColumnas];
52
+ } /* Matriz */
53
+
54
+ return numFilas;
55
+ } /* obtenerNumFilas */
56
+
57
+ public int obtenerNumColumnas() {
58
+ return numColumnas;
59
+ } /* obtenerNumColumnas */
60
+
61
+ public int obtenerElemento(int i, int j) {
62
+ return matriz[i][j];
63
+ } /* obtenerElemento */
64
+
65
+ public void establecerElemento(int i, int j, int valor) {
66
+ matriz[i][j] = valor;
67
+ } /* establecerElemento */
68
+
69
+ public static boolean puedeRealizarseElProducto(Matriz matriz1, Matriz matriz2) {
70
+ // dice si es posible realizar el producto de matrices
71
+ return matriz1.obtenerNumColumnas() == matriz2.obtenerNumFilas();
72
+ } /* verificarProducto */
73
+
74
+ public static Matriz multiplicarMatrices(Matriz matriz1, Matriz matriz2) {
75
+ Matriz matrizResultado = new Matriz(matriz1.obtenerNumFilas(),
76
+ matriz2.obtenerNumColumnas());
77
+ int suma;
78
+ for (int i=0; i<matriz1.obtenerNumFilas(); i++) {
79
+ for (int j=0; j<matriz2.obtenerNumColumnasOtras(); j++) {
80
+ suma = 0;
81
+ for (int k=0; k<matriz1.obtenerNumColumnas(); k++) {
82
+ suma += matriz1.obtenerElemento(i,k) *
83
+ matriz2.obtenerElemento(k,j);
84
+ } /* for k */
85
+ matrizResultado.establecerElemento(i,j, suma);
86
+ } /* for j */
87
+ } /* for i */
88
+ return matrizResultado;
89
+ } /* multiplicarMatrices */
90
+
91
+ } /* Matriz */
@@ -0,0 +1,18 @@
1
+ perro
2
+ <b1>
3
+ perro
4
+ <b2>
5
+ perro
6
+ </b2>
7
+ perro
8
+
9
+ </b1>
10
+
11
+ perro
12
+ <b1>
13
+ perro
14
+ <b2>
15
+ perro
16
+ </b2>
17
+ perro
18
+ </b1>