Skip to content

Commit 578a479

Browse files
committed
"mouredev#5 - Kotlin"
1 parent 777d3c4 commit 578a479

File tree

1 file changed

+27
-7
lines changed

1 file changed

+27
-7
lines changed

Roadmap/05 - VALOR Y REFERENCIA/kotlin/Luis-VB.kt

Lines changed: 27 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,6 @@
66
* "por referencia", y cómo se comportan en cada caso en el momento de ser modificadas.
77
* (Entender estos conceptos es algo esencial en la gran mayoría de lenguajes)
88
*
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.
169
*/
1710

1811
//kotlinc Luis-VB.kt -include-runtime -d Luis-VB.jar
@@ -70,4 +63,31 @@ fun main() {
7063
}
7164
println("\nFuncion con variables por referencia:")
7265
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("\nOriginal 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("\nOriginal references: $lista3, $lista4")
92+
println("Returned references: ${swappedReferences.first}, ${swappedReferences.second}")
7393
}

0 commit comments

Comments
 (0)