1+ /*
2+ * EJERCICIO:
3+ * - Crea ejemplos utilizando todos los tipos de operadores de tu lenguaje:
4+ * Aritméticos, lógicos, de comparación, asignación, identidad, pertenencia, bits...
5+ * (Ten en cuenta que cada lenguaje puede poseer unos diferentes)
6+ * - Utilizando las operaciones con operadores que tú quieras, crea ejemplos
7+ * que representen todos los tipos de estructuras de control que existan
8+ * en tu lenguaje:
9+ * Condicionales, iterativas, excepciones...
10+ * - Debes hacer print por consola del resultado de todos los ejemplos.
11+ *
12+ * DIFICULTAD EXTRA (opcional):
13+ * Crea un programa que imprima por consola todos los números comprendidos
14+ * entre 10 y 55 (incluidos), pares, y que no son ni el 16 ni múltiplos de 3.
15+ *
16+ * Seguro que al revisar detenidamente las posibilidades has descubierto algo nuevo.
17+ */
18+
19+
20+
21+ // #01 OPERADORES Y ESTRUCTURAS DE CONTROL
22+ fun main () {
23+ // definición de variables
24+ val a = 10
25+ val b = 5
26+
27+
28+
29+ // Tipos de operadores en kotlin
30+
31+ println (" Operadores aritméticos" )
32+ println (" Suma: ${a + b} " )
33+ println (" Resta: ${a - b} " )
34+ println (" Multiplicación: ${a * b} " )
35+ println (" División: ${a / b} " )
36+ println (" Módulo: ${a % b} " )
37+
38+ println (" Operadores de comparación" )
39+ println (" Igual: ${a == b} " )
40+ println (" Desigual: ${a != b} " )
41+ println (" Menor: ${a < b} " )
42+ println (" Menor igual: ${a <= b} " )
43+ println (" Mayor: ${a > b} " )
44+ println (" Mayor igual: ${a >= b} " )
45+
46+ println (" Operadores lógicos" )
47+ val isTrue = true
48+ val isFalse = false
49+
50+ println (" $isTrue && $isFalse es ${isTrue && isFalse} " )
51+ println (" $isTrue || $isFalse es ${isTrue || isFalse} " )
52+ println (" !$isTrue es ${! isTrue} " )
53+
54+ println (" Operadores de asignación" )
55+ var c = 5 // Asignación simple
56+ println (" c = $c " )
57+ c + = 2 // Suma y asignación
58+ println (" c += 2 es $c " )
59+ c - = 2 // Resta y asignación
60+ println (" c -= 2 es $c " )
61+ c * = 2 // Multiplica y asignación
62+ println (" c *= 2 es $c " )
63+ c / = 2 // Divide y asignación
64+ println (" c /= 2 es $c " )
65+ c % = 2 // Módulo y asignación
66+ println (" c %= 2 es $c " )
67+
68+ println (" Operadores de rango" )
69+
70+ val numbers = 1 .. 10 // Incluyendo 1 y 10
71+ println (numbers)
72+ val letters = ' a' .. ' z' // Letras de la 'a' a la 'z'
73+ println (letters)
74+ val even_numbers = 2 until 10 // Numeros pares del 2 al 9 (excluyendo el 10)
75+ println (even_numbers)
76+
77+ println (" Operadores de bits" )
78+
79+ val bin_1 = 10 // 1010 en binario
80+ val bin_2 = 5 // 0101 en binario
81+
82+ println (" Operador de bits AND: ${bin_1 and bin_2} " )
83+ println (" Operador de bits OR: ${bin_1 or bin_2} " )
84+ println (" Operador de bits XOR: ${bin_1 xor bin_2} " )
85+ println (" Operador de bits desplazamiento a la izquierda: ${bin_1 shl 1 } " )
86+ println (" Operador de bits desplazamiento a la derecha: ${bin_1 shr 1 } " )
87+ println (" Operador de bits desplazamiento a la derecha sin signo: ${bin_1 ushr 1 } " )
88+
89+ // Estructuras de control
90+
91+ println (" Estructuras de control" )
92+
93+ // Condicionales
94+ println (" If:" )
95+
96+ val x = 10
97+ val y = 5
98+
99+ if (x > y) {
100+ println (" $x es mayor que $y " )
101+ } else {
102+ println (" $x es menor que $y " )
103+ }
104+
105+ // When
106+ println (" When:" )
107+
108+ val day = " Monday"
109+
110+ when (day) {
111+ " Monday" -> println (" It's monday" )
112+ " Tuesday" -> println (" It's tuesday" )
113+ " Wednesday" -> println (" It's wednesday" )
114+ " Thursday" -> println (" It's thursday" )
115+ " Friday" -> println (" It's friday" )
116+ else -> println (" Weekend!" )
117+ }
118+
119+ // Iterativas
120+
121+ println (" Iterativas" )
122+
123+ // For
124+
125+ println (" For" )
126+ for (i in 1 .. 10 ) {
127+ println (i)
128+ }
129+
130+ // While
131+
132+ println (" While" )
133+
134+ var w_i = 0
135+
136+ while (w_i < 10 ) {
137+ println (w_i)
138+ w_i++
139+ }
140+
141+ // Do-While
142+
143+ println (" Do-While" )
144+
145+ var j = 0
146+
147+ do {
148+ println (j)
149+ j++
150+ } while (j < 10 )
151+
152+ // Excepciones
153+
154+ // println("Excepciones")
155+
156+ // try {
157+ // val z = 10 / 0
158+ // } catch (e: Exception) {
159+ // println("Error: ${e.message}")
160+ // }
161+
162+ // Break
163+
164+ println (" Break" )
165+
166+ for (i in 1 .. 10 ) {
167+ if (i == 5 ) {
168+ break
169+ }
170+ print (i)
171+ }
172+
173+ // Continue
174+
175+ println (" Continue" )
176+
177+ for (i in 1 .. 10 ) {
178+ if (i % 2 == 0 ) {
179+ continue
180+ }
181+ print (i)
182+ }
183+
184+ // Ejercicio extra
185+
186+ println (" Ejercicio extra" )
187+
188+ for (i in 10 .. 55 ) {
189+ if (i % 2 == 0 && i % 3 != 0 ) {
190+ print (" $i " )
191+ }
192+ if (i == 16 ) {
193+ continue
194+ }
195+ }
196+
197+
198+ }
0 commit comments