6
6
* "por referencia", y cómo se comportan en cada caso en el momento de ser modificadas.
7
7
* (Entender estos conceptos es algo esencial en la gran mayoría de lenguajes)
8
8
*
9
- * DIFICULTAD EXTRA (opcional):
10
- * Crea dos programas que reciban dos parámetros (cada uno) definidos como variables anteriormente.
11
- * - Cada programa recibe, en un caso, dos parámetros por valor, y en otro caso, por referencia.
12
- * Estos parámetros los intercambia entre ellos en su interior, los retorna, y su retorno
13
- * se asigna a dos variables diferentes a las originales. A continuación, imprime el valor de las
14
- * variables originales y las nuevas, comprobando que se ha invertido su valor en las segundas.
15
- * Comprueba también que se ha conservado el valor original en las primeras.
16
9
*/
17
10
18
11
// kotlinc Luis-VB.kt -include-runtime -d Luis-VB.jar
@@ -70,4 +63,31 @@ fun main() {
70
63
}
71
64
println (" \n Funcion con variables por referencia:" )
72
65
porReferencia(mutableListOf (1 , 2 , 3 ))
66
+
67
+ /* DIFICULTAD EXTRA (opcional):
68
+ * Crea dos programas que reciban dos parámetros (cada uno) definidos como variables anteriormente.
69
+ * - Cada programa recibe, en un caso, dos parámetros por valor, y en otro caso, por referencia.
70
+ * Estos parámetros los intercambia entre ellos en su interior, los retorna, y su retorno
71
+ * se asigna a dos variables diferentes a las originales. A continuación, imprime el valor de las
72
+ * variables originales y las nuevas, comprobando que se ha invertido su valor en las segundas.
73
+ * Comprueba también que se ha conservado el valor original en las primeras.
74
+ */
75
+
76
+ fun programaPorValor (x : Int , y : Int ): Pair <Int , Int > {
77
+ return Pair (y, x)
78
+ }
79
+
80
+ fun programaPorReferencia (lista1 : MutableList <Int >, lista2 : MutableList <Int >): Pair <MutableList <Int >, MutableList<Int>> {
81
+ return Pair (lista2, lista1)
82
+ }
83
+
84
+ val swappedValues = programaPorValor(x, y)
85
+ println (" \n Original values x and y: $x , $y " )
86
+ println (" Returned values x and y: ${swappedValues.first} , ${swappedValues.second} " )
87
+
88
+ val lista3 = mutableListOf (10 , 20 , 30 )
89
+ val lista4 = mutableListOf (40 , 50 , 60 )
90
+ val swappedReferences = programaPorReferencia(lista3, lista4)
91
+ println (" \n Original references: $lista3 , $lista4 " )
92
+ println (" Returned references: ${swappedReferences.first} , ${swappedReferences.second} " )
73
93
}
0 commit comments