Skip to content

Commit 79ede6c

Browse files
"#2 - Rust"
1 parent 09501ec commit 79ede6c

File tree

1 file changed

+119
-0
lines changed

1 file changed

+119
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,119 @@
1+
/*
2+
* EJERCICIO:
3+
* - Crea ejemplos de funciones básicas que representen las diferentes
4+
* posibilidades del lenguaje:
5+
* Sin parámetros ni retorno, con uno o varios parámetros, con retorno...
6+
* - Comprueba si puedes crear funciones dentro de funciones.
7+
* - Utiliza algún ejemplo de funciones ya creadas en el lenguaje.
8+
* - Pon a prueba el concepto de variable LOCAL y GLOBAL.
9+
* - Debes hacer print por consola del resultado de todos los ejemplos.
10+
* (y tener en cuenta que cada lenguaje puede poseer más o menos posibilidades)
11+
*
12+
* DIFICULTAD EXTRA (opcional):
13+
* Crea una función que reciba dos parámetros de tipo cadena de texto y retorne un número.
14+
* - La función imprime todos los números del 1 al 100. Teniendo en cuenta que:
15+
* - Si el número es múltiplo de 3, muestra la cadena de texto del primer parámetro.
16+
* - Si el número es múltiplo de 5, muestra la cadena de texto del segundo parámetro.
17+
* - Si el número es múltiplo de 3 y de 5, muestra las dos cadenas de texto concatenadas.
18+
* - La función retorna el número de veces que se ha impreso el número en lugar de los textos.
19+
*
20+
* Presta especial atención a la sintaxis que debes utilizar en cada uno de los casos.
21+
* Cada lenguaje sigue una convenciones que debes de respetar para que el código se entienda.
22+
*/
23+
24+
use std::cmp;
25+
26+
27+
fn saludar() {
28+
println!("Hola, Rust!");
29+
}
30+
31+
32+
fn sumar(a: i32, b: i32) {
33+
let suma = a + b;
34+
println!("Suma: {}", suma);
35+
}
36+
37+
38+
fn multiplicar(a: i32, b: i32) -> i32 {
39+
a * b
40+
}
41+
42+
43+
fn externa() {
44+
fn interna() {
45+
println!("Estoy dentro de una función externa");
46+
}
47+
interna();
48+
}
49+
50+
51+
fn demo_max() {
52+
let maximo = cmp::max(3, 5);
53+
println!("El máximo entre 3 y 5 es: {}", maximo);
54+
}
55+
56+
57+
static GLOBAL: i32 = 10;
58+
59+
fn usar_variable_global() {
60+
println!("Variable global: {}", GLOBAL);
61+
}
62+
63+
fn usar_variable_local() {
64+
let local = 5;
65+
println!("Variable local: {}", local);
66+
}
67+
68+
//EJERCICIO EXTRA
69+
/*
70+
* DIFICULTAD EXTRA (opcional):
71+
* Crea una función que reciba dos parámetros de tipo cadena de texto y retorne un número.
72+
* - La función imprime todos los números del 1 al 100. Teniendo en cuenta que:
73+
* - Si el número es múltiplo de 3, muestra la cadena de texto del primer parámetro.
74+
* - Si el número es múltiplo de 5, muestra la cadena de texto del segundo parámetro.
75+
* - Si el número es múltiplo de 3 y de 5, muestra las dos cadenas de texto concatenadas.
76+
* - La función retorna el número de veces que se ha impreso el número en lugar de los textos.
77+
*
78+
* Presta especial atención a la sintaxis que debes utilizar en cada uno de los casos.
79+
* Cada lenguaje sigue una convenciones que debes de respetar para que el código se entienda.
80+
*/
81+
82+
fn ejercicio_extra(cadena_uno: String, cadena_dos: String) -> i32 {
83+
let mut contador = 0;
84+
for i in 1..100 {
85+
if i % 3 == 0 {
86+
println!("{}", cadena_uno);
87+
}
88+
if i % 5 == 0 {
89+
println!("{}", cadena_dos);
90+
}
91+
if i % 3 == 0 && i % 5 == 0 {
92+
println!("{}{}", cadena_uno, cadena_dos);
93+
}
94+
contador += 1;
95+
}
96+
println!("El contador vale: {}", contador);
97+
return contador;
98+
}
99+
100+
101+
102+
103+
fn main() {
104+
saludar();
105+
sumar(3, 7);
106+
println!("Multiplicación: {}", multiplicar(4, 5));
107+
externa();
108+
demo_max();
109+
usar_variable_global();
110+
usar_variable_local();
111+
ejercicio_extra("Hola".to_string(), "Mundo".to_string());
112+
}
113+
114+
115+
116+
117+
118+
119+

0 commit comments

Comments
 (0)