Seprogramar
Seprogramar
Básicamente, lo que diferencia a un tipo de otro son las operaciones que se pueden hacer con sus
elementos: tiene sentido sumar números, pero no colores ni direcciones; tiene sentido usar Poner con
un color, pero no con un booleano. Muchas veces, pensar en el tipo de una función es un primer
indicador útil de si lo que estamos haciendo está bien.
existe el operador && que sirve justamente para eso: toma dos expresiones booleanas y devuelve True
solo si ambas son verdaderas. Si sabés algo de lógica, esto es lo que comunmente se denomina
conjunción y se lo suele representar con el símbolo ∧.
Por ejemplo, si quisieramos saber si un casillero tiene más de 5 bolitas y el Rojo es el color dominante
podríamos escribir:
function esUnCasilleroCargadoConRojoDominante() {
Definí la función hayAlgunaBolita() que responda a la pregunta ¿hay alguna bolita en la celda actual?
Otra vez una pregunta, por lo tanto hay que retornar un booleano. Además, podemos ver que acá
también hay que hacer más de una pregunta, en particular cuatro: una por cada una de los colores.
A diferencia del ejercicio anterior, lo que queremos saber es si alguna de ellas es verdadera, por lo tanto
hay que usar otro operador: la disyunción, que se escribe || y retorna verdadero si al menos alguna de
las dos preguntas es verdadera.
De nuevo, si sabés algo de lógica, esta operación suele representarse con el símbolo ∨.
Recordá que existe la función hayBolitas(color), que indica si hay alguna bolita del color especificado.
Además, el operador || se puede usar varias veces, como si fuera una suma: unaCosa || otraCosa ||
otraCosaMas.
function hayAlgunaBolita(){
return (hayBolitas(Rojo)||hayBolitas(Azul)||hayBolitas(Verde)||hayBolitas(Negro) )
Tanto && como || pueden usarse varias veces sin la necesidad de usar paréntesis, siempre y cuando
tengan expresiones booleanas a ambos lados.
Por esta razón, la expresión not puedeMover(Norte) || not puedeMover(Este) || not puedeMover(Sur)
|| not puedeMover(Oeste) se puede escribir sin tener que poner paréntesis en el medio.
Gobstones y JavaScript tienen mucho en común. Por ejemplo, en ambos lenguajes podemos definir
funciones y usarlas muchas veces.
Sin embargo, como siempre que aprendas un lenguaje nuevo, te vas a topar con un pequeño detalle:
tiene una sintaxis diferente . La buena noticia es que el cambio no será tan terrible como suena, así que
veamos nuestra primera función JavaScript:
function doble(numero) {
return 2 * numero;
function doble(numero) {
...notarás que los paréntesis en el return no son necesarios, y que la última línea la terminamos con ;.
anteriorDelTriple, que combina las dos funciones anteriores: multiplica a un número por 3 y le resta 1
La consola es una herramienta muy útil para hacer pruebas rápidas sobre lo que estás haciendo: te
permite, por ejemplo, probar expresiones, funciones que vengan con JavaScript, o incluso funciones que
vos definas en el editor.
La podés reconocer fácilmente porque arranca con un chirimbolito que se llama prompt.
Para entender mejor cómo funciona, te invitamos a explorarla.
4+5
Math.round(4.5)
Sin embargo, la sintaxis de estas funciones matemáticas es apenitas diferente de lo que veníamos
haciendo hasta ahora: hay que prefijarlas con Math.. Por ejemplo, la función que nos sirve para
redondear un número es Math.round:
***en JavaScript contamos con operadores como ===, >=, >, <,<= que nos dicen si dos valores son
iguales, mayores-o-iguales, mayores, etc. Los vamos a usar bastante .
¡Ahora te toca a vos! Dani también dice que a alguien leGustaLeer, cuando la cantidad de libros que
recuerda haber leído es mayor a 20. Por ejemplo:
> leGustaLeer(15)
false
> leGustaLeer(45)
true
-***Ejercicio 8: Booleanos
Se puede hacer la conjunción lógica entre dos booleanos (and, también conocido en español como y
lógico), mediante el operador &&: hayComida && hayBebida
Se puede hacer la disyunción lógica entre dos booleanos (or, también conocido en español como o
lógico), mediante el operador ||: unaExpresion || otraExpresion
estaEntre, que tome tres números y diga si el primero es mayor al segundo y menor al tercero.
estaFueraDeRango: que tome tres números y diga si el primero es menor al segundo o mayor al tercero
Ejemplos:
true
false
false
true
--***Muchas veces queremos escribir programas que trabajen con texto : queremos saber cuántas
palabras hay en un libro, o convertir minúsculas a mayúsculas, o saber en qué parte de un texto está
otro.
Para este tipo de problemas tenemos los strings, también llamados cadenas de caracteres:
"¡Hola Miguel!"
Como se observa, todos los strings están encerrados entre comillas simples o dobles. ¡Da igual usar unas
u otras! Pero sé consistente: por ejemplo, si abriste comilla doble, tenés que cerrar comilla doble.
Además, un string puede estar formado por (casi) cualquier carácter: letras, números, símbolos,
espacios, etc.
¿Y qué podemos hacer con los strings? Por ejemplo, compararlos, como a cualquier otro valor:> "hola"
=== "Hola"
false
true