Está en la página 1de 15

Programación en java

01 - INTRODUCCIÓN A LA PROGRAMACIÓN

Conclusión: Parte 1

¡Vamos a hacer un repaso rápido!

Tipos de datos

a. numbers - úsalos como los números comunes y corrientes

b. strings - todo lo que esté entre " " es un string. Las palabras deben ser strings.

c. booleanos - solamente pueden ser true (verdaderos) o false (falsos).

Variables
Almacenamos valores de datos en las variables. Podemos recuperar los valores de esas
variables escribiendo el nombre de la variable.

Manipular numbers & strings

a. numbers - operadores de comparación, modulo


b. strings - length, subcadena

console.log( )
Muestra en la consola cualquier cosa que pongamos entre paréntesis.

Conclusión: Parte 2

Felicitaciones por haber llegado hasta este punto. ¡Haz aprendido un montón! ¡Solo un
ejercicio más antes de una merecida felicitación!

La última cosa difícil que aprendimos fueron las sentencias if / else.

Las sentencias if / else son sentencias condicionales. Bajo condiciones diferentes, el


computador mostrará diferentes resultados.
02 – INTRODUCCIÓN A LAS FUNCIONES EN JS

*Introducción

Programar es una forma simple de darle instrucciones al computador.

En la Introducción, aprendimos sobre las sentencias if / else.

Lo que queremos es aprender formas de indicarle al computador que realice tareas


repetibles de forma eficiente.

*Introducción a las funciones

Programar es parecido a hornear pasteles. ¡En serio! Imagina que estás tratando de
enseñarle a tu amiga Jane como hornear muchos diferentes tipos de pasteles.

Cada pastel requiere de diferentes ingredientes (es decir, datos de entrada). Pero las
instrucciones de 'horneado' siempre son las mismas.

1. Precalienta el horno a 300 grados


2. Mezcla todos los ingredientes en un tazón
3. Mete el contenido en el horno por 30 minutos

Y el resultado será un pastel diferente cada vez.

Es tedioso tener que repetirle a Jane las mismas instrucciones de 'horneado' todas las veces.
¿Qué tal si simplemente pudiéramos decir 'hornea' y Jane supiera como ejecutar esos tres
pasos? ¡Eso es exactamente lo que es una función!

*Sintaxis de función

Piensa que una función tiene cuatro partes.

1. Declara la función usando var, y luego asígnale un nombre.


2. Luego debes usar el comando function para decirle al computador que estás
haciendo una función.
3. El fragmento entre paréntesis es llamado el parámetro. Piensa que es una palabra
de reemplazo a la que le asignamos un valor específico cuando llamamos a la
función. Observa la sugerencia para saber más.
4. Luego escribe tu código reusable entre { }. Cada línea de código en este bloque
deber terminar con un ;.

Sintaxis

var nombreDeFuncion = function ( ) {


código código código;
código código código;
(más líneas de código);
};

Digamos que quieres mostrar en un mensaje un saludo cada vez que una persona pase al
frente de tu escritorio. Y que quieres personalizar ese saludo con sus nombres. Si
escribieras:
console.log("Hola, Betty");

console.log("Hola, Laura");

y así para cada persona, ¡tardarías siglos!

*¿Cómo funciona una función?

Vamos a ver exactamente como piensa un computador cuando ve el código de una función.

var nombreDeFuncion = function ( ) {


código código código;
código código código;
(más líneas de código);
};

1. El comando var declara la función.


2. var siempre va seguido de un nombre.
3. El comando function le dice al computador que se trata de una función y no de
otra cosa.
4. Los parámetros van entre paréntesis. El computador los buscará en el bloque de
código.
5. El bloque de código es el código reusable que está entre llaves { }. Cada línea de
código dentro de { } debe terminar con punto y coma.
6. La función completa termina con punto y coma.

Para usar la función, la llamamos tan solo con escribir el nombre de la función, y
colocamos un valor de parámetro dentro de los paréntesis que van después. El computador
ejecutará el código reusable con el valor del parámetro específico sustituido dentro del
código.

*Atando todos los cabos

¿Por qué el código está organizado así en las líneas 2-5?

El computador puede entender el código sin ese espaciado. Pero hace la edición mucho más
fácil y es un buen hábito.

¿Tengo que poner un punto y coma al final de cada línea de código en el bloque
reusable? ¿Y al final de la función completa?
Sí. Debes poner un punto y coma al final de cada línea de código (dentro de las { }) y
después de la función completa (después de los { }). El punto y coma actúa como un punto
en una oración. Ayuda al computador a saber cuáles son los puntos de parada en el código.

2. Funciones y return
No Te Repitas

El principio de No Te Repitas es realmente importante en la programación. ¡No se deben


hacer repeticiones!

En esas ocasiones en que te encuentres copiando la misma cosa, pero modificando


solamente una pequeña parte, podrías usar una función.

La 'pequeña parte' que te encuentras modificando sería el parámetro. Y la parte que repites
sería el código en el bloque reusable - el código que está dentro de { }.

Comando return

¡Buen trabajo! Ahora, cuando llamemos a una función, no siempre queremos que
simplemente muestre un mensaje. Algunas veces queremos que retorne un valor.
Entonces podemos usar ese valor (es decir, el resultado de la función) en otro código.
¡Vamos a aprender acerca del comando return, y luego veremos cómo usar las funciones
con una sentencia if / else en el siguiente ejercicio!

El comando return simplemente le devuelve al programador el valor que resulta de una


función. De esta forma, una función se ejecuta, y cuando se usa return, la función dejará de
ejecutarse inmediatamente y devolverá el valor.

Para ver detalles sobre las cuatro diferentes maneras de usar return, mira la sugerencia.

Para llamar a la función, simplemente usamos su nombre. Luego colocamos un valor para
el parámetro numérico, por ej, porDos(8)

Cuatro formas de usar return

a. retorna el valor de una variable si la variable ha sido declarada dentro de la función


b. retorna el parámetro
c. si el parámetro es un número, haz una operación matemática con ese parámetro y podrás
retornar el valor
d. si el parámetro es un string, usa comandos como .length or .substring() y podrás retornar
el valor
Funciones, return y if / else

Cuando llamamos a una función, su valor de retorno es solamente el resultado de la


ejecución de la función. ¡Entonces se puede usar ese valor igual que cualquier otro valor en
JavaScript!

Mira la sentencia if que comienza en la línea 7. La sentencia if está verificando si el


resultado de llamar a la función cuarto (que pasa a 24 como el valor de parámetro) es
divisible por 3.

Funciones con dos parámetros

Hasta ahora solamente hemos visto funciones con un parámetro. Pero a menudo es útil
escribir funciones con más de un parámetro. Por ejemplo, podemos tener la siguiente
función:

var areaCaja= function(largo, ancho) {


return largo * ancho;
};

Porque podemos tener más de un parámetro; esto quiere decir que podemos crear más
funciones útiles.

Y para llamar a esta función, un ejemplo sería areaCaja(3,9). Ahora, queremos saber el
área de la caja que tiene 3 de largo y 9 de ancho. ¡Claro que se pueden usar otros
parámetros de valores!

Variables Globales vs Locales

Tenemos que conocer un concepto súper importante: ámbito. El ámbito puede ser global o
local.

Las variables definidas fuera de una función son accesibles en cualquier parte una vez que
han sido declaradas. Son llamadas variables globales y su ámbito es global.

Las variables definidas dentrode una función son variables locales. No se puede acceder a
ellas fuera de la función.

¡El código en la parte derecha no funciona! Queremos que la línea 15 muestre el valor de la
variable multiplicado. Pero multiplicado es una variable local y solamente se puede
usar dentro de la función. Console.log no puede acceder a esta variable local.
Resumen de funciones

Muy bien, vamos a repasar. Hoy haz aprendido un montón sobre funciones. ¡Mejor que no
lo olvides por completo!

Primero, descubrimos como usar las funciones para ejecutar una misma lógica
repetidamente, sin tener que escribir el mismo código una y otra vez. Como esto es más
eficiente, le ahorra tiempo al programador.

Funciones y if / else

Una aplicación especialmente útil de código son las sentencias if / else. Pueden tener
muchas palabras, y ser un dolor de cabeza a la hora de escribirlas repetidamente.

Vamos a escribir una función que tome como parámetro los ingresos de una persona.
Dentro de la función habrá una sentencia if / else. Queremos que la función esté disponible
para verificar si los ingresos de muchas personas diferentes los califican para tener una
tarjeta de crédito.
Introducción a los 'Bucles for' en JS

Primer bucle for

En vez de escribir manualmente console.log cinco veces, podemos usar un bucle para
hacerlo. El objetivo de este ejercicio es mostrarte como se ve un bucle, y demostrarte que
tan útil es. Los ejercicios más adelante

a. te mostrarán la sintaxis paso a paso


b. te explicarán como piensa un computador cuando ejecuta un bucle for.

Inicialmente nos concentramos en usar los bucles solamente para contar números y
conservar las cosas más simples. ¡Pero en la sección 3, te mostraremos como hacer cosas
más complejas!

Iniciando el bucle for

¡Felicitaciones! Acabas de ejecutar tu primer bucle for. Pero de lo que probablemente


tengas ganas es de escribir tu propio bucle for. En la parte inferior está la sintaxis general
de los bucles for. Vamos a concentrarnos en la primera línea en los siguientes ejercicios.

Sintaxis

for (var i = 1; i < 11; i = i + 1;) {


código código código;
}

Cada bucle for hace uso de una variable de conteo. Aquí llamamos a nuestra variable i
(pero puede tener cualquier nombre). La variable desempeña muchos papeles. La primera
parte del bucle for le dice al computador que comience con un valor de 1 para i. Lo hace
declarando la variable llamada i y dándole un valor de 1.

Cuando el bucle for ejecuta el código en el bloque de código -la parte entre { }- lo hace
comenzando desde i=1.

Finalizando el bucle for

Sabemos como controlar donde comienza un bucle for. ¿Cómo controlamos donde termina?
Bien, la segunda parte del bucle es lo que lo determina.

Sintaxis

for (var i = 1; i < 11; i = i + 1;) {


código código código;
}
Así, este bucle seguirá ejecutándose hasta que i = 11 (es decir, mientras que i < 11). Así
que cuando i = 2, o i = 9, el bucle se ejecutará. Pero cuando i deje de ser menor que 11, el
bucle se detendrá.

Controlando el bucle for

Ahora podemos controlar donde comienza y termina un bucle for. Pero, ¿qué hay de poder
controlar lo que pasa durante?

Los ejemplos que hemos visto han usado i = i + 1. Esto significa que cada vez hemos
incrementado la variable i en 1.

Reglas que hay que aprender

a. Un código más eficiente para incrementar en 1 es i++.


b. Disminuimos en 1 escribiendo i--.
c. Podemos incrementar hasta cualquier valor escribiendo i+=x, donde x es qué tanto
queremos incrementar. Por ejemplo, i+=3 incrementa el contador en 3.
d. Podemos disminuir hasta cualquier valor escribiendo i-=x. (Observa la sugerencia para
saber más.)

2. ¡Practicando con los bucles!

for( var i = 10 ; i >= 0 ; i-- ) {

console.log(i);

¿Cómo funciona?

Hemos visto los tres elementos de la sintaxis de un bucle for. ¿Pero exactamente cómo
funciona? Vamos a imaginar que en la derecha están los pasos que sigue el computador
para ejecutar el bucle for.

1. Comienza con i = 2
2. Luego pregunta: ¿i es menor que 13? Como i=2, entonces es true y podemos
continuar.
3. En este momento NO incrementamos. En vez de eso, si la condición se cumple,
ejecutamos el bloque de código.
4. Aquí el bloque de código imprime el valor de i. En este momento es 2, así que lo
que se imprime es 2.
5. Una vez que el bloque de código esté terminado, el bucle for incrementa o
disminuye. Ahora sumamos 1.
6. Y ahora i = 3. Verificamos si es menor que 13. Si es true, ejecutamos el bloque de
código.
7. El bloque de código se ejecuta, y luego incrementamos.
8. Repetimos estos pasos hasta que la condición i<13 ya no se cumpla.
9. Ejercicios de conteo hacia atrás
10. Los bucle for solo se ejecutan cuando la condición es true.
11. ¡No ejecutes el código sin modificarlo!
12. Es importante que siempre haya una manera de que el bucle se detenga. ¡Si el bucle
for siempre va a ser igual a true, vas a quedar atascado en un bucle infinito y tu
computador se bloqueará! Observa el código. Eso no está bien.
13. a. Comienza en i=1.
b. Se continuará ejecutando siempre que i>=1.
c. Como en este momento i=1, el código se ejecutará.

d. Incrementamos i en 1 y ahora i=2. Esto hace que la condición se cumpla.


Ejecutamos el código.
e. Incrementamos i en 1 y ahora i=3. Esto hace que la condición i >=1 se cumpla.
Ejecutamos el código.
f. Vamos a seguir incrementando el código en 1. Eso hace que la condición siempre
se cumpla. El bucle NUNCA se detendrá. ¡Eso bloqueará tu computador!
14. Ejercicio final de bucles
15. ¡Ya tienes un buen manejo de los bucles for! Este será el último ejercicio antes de
que veamos maneras geniales de usar los bucles.
16. El siguiente ejercicio trata sobre arreglos. Con ellos, en lugar de contar números
hacia adelante y hacia atrás, podemos pedirle al computador que haga cosas mucho
más interesantes con los bucles.

Conoce los arreglos

Son variables que pueden almacenar números o strings. Pero por ahora solo hemos podido
almacenar UN número o UN string. Que bueno que tenemos arreglos. Arreglos:

a. almacenan listas de datos


b. pueden almacenar diferentes tipos de datos al mismo tiempo
c. están ordenados de forma que la posición de cada dato es fija

Ejemplo:

var nombres = ["Mao", "Ghandi", "Mandela"];

var tamaños = [4, 6, 3, 2, 1, 9];


var mixto = [34, "dulces", "azul", 11];

Sintaxis:
var nombreArreglo = [datos, datos, datos];

Cada vez que veas datos encerrados en [ ], se trata de un arreglo.

Posiciones de los arreglos

Es muy bueno que podamos colocar una lista de datos dentro de un arreglo. Pero ahora
tenemos que aprender como tener acceso a los datos dentro del arreglo.

La posición de los elementos en un arreglo es fija. Así que solamente necesitamos el


nombre del arreglo (en este caso es datosChatarra), y la posición de los datos que
queremos, y listo.

Pero hay una pequeña complicación. La posición (o el índice) de cada dato comienza a
contarse desde 0, no desde 1.

1. Primer elemento en el arreglo: datosChatarra[0]


2. Tercer elemento en el arreglo: datosChatarra[2]

Los arreglos están indexados con base 0, así que tenemos que comenzar a contar las
posiciones desde 0.

Bucles y arreglos I

¡Qué buen trabajo! Has aprendido sobre los arreglos, y como acceder a un elemento del
arreglo. Pero, ¿qué tal que el arreglo tuviera 100 elementos?

¡En los arreglos, una manera útil de acceder sistemáticamente a cada elemento es usando un
bucle for!

¿Cómo funciona?

1. La línea 3 declara el arreglo. Éste tiene 4 elementos.


2. Luego, comenzamos por el bucle for en la línea 5.
3. Vemos que i comienza con un valor de 0.
4. El bucle for se ejecuta hasta que i < 4 (porque ciudades.length es igual a 4. El arreglo
ciudades tiene 4 elementos; consulta la Sugerencia para saber más.)
5. Incrementaremos i en 1 cada vez que se complete un bucle.
6. Imprimimos ciudades[0], que es igual a "Melbourne".
7. Luego volvemos a empezar el bucle. Excepto que ahora i=1.
8. Imprimiremos ciudades[1], que es "Amán".
9. Esto se repite hasta que i ya no sea menor que ciudades.length.
//Vamos a imprimir cada elemento de un arreglo usando un bucle for

var ciudades = ["Melbourne", "Amán", "Helsinki", "NYC"];

for (var i = 0; i < ciudades.length; i++) {

console.log("Me gustaría visitar" + " " + ciudades[i]);

Bucles y arreglos II

Es hora de que escribas tu propio arreglo y lo combines con un bucle. Recuerda:

1. Debes poner comas entre cada uno de los elementos del arreglo.
2. Debes poner punto y coma entre cada elemento del bucle.
3. Te sugerimos que uses el iterador i.
4. ¡Diviértete escribiendo el código durante este ejercicio!

Bucles y arreglos III

Los bucles y los arreglos a menudo van de la mano. Así que vamos a repasar un poco más.

Los arreglos contienen un número de elementos. Estos elementos están en un orden en


particular. Los bucles se combinan bien con los arreglos porque iteran en un orden
prestablecido (por ejemplo, i+2 hace que avance de dos en dos).

Conclusión

¡Has hecho un trabajo fantástico! Los bucles siempre son un poco difíciles la primera vez.
Pero vale la pena aprender a usarlos porque son de verdad útiles.

¿Y ahora? Tienes muchos trucos útiles bajo la manga:

a. las sentencias if / else


b. las funciones
c. los bucles for
d. booleanos, arreglos, variables, etc.
Introducción a los Bucles 'While' en JS

1. Bucles 'While': Conceptos básicos

A propósito de 'while'

¡Buen trabajo con los bucles for! Sabemos que ya conoces del tema, pero, solo como
recordatorio; la sintaxis de los bucles for se ve así:

for(var i = inicio; i < fin; i++){


// Realizar una acción
}

En este caso, "inicio" es donde inicia nuestra variable de conteo (por lo general es i) y "fin"
es la condición que finaliza el bucle.

Pero, ¿qué tal si no sabes por anticipado cuál será tu contador o cuántas veces tendrás que
ejecutar el bucle? Presentamos a while.

Sintaxis de 'while'

El bucle while es ideal cuando quieres usar un bucle pero no sabes cuántas veces tendrás
que ejecutarlo.

En el ejemplo que acabamos de ver, el computador estaba lanzando una moneda al azar:
Con while, si el lanzamiento resultaba en 'cara', la moneda sería lanzada de nuevo; pero si
el resultado era 'sello', el lanzamiento se detendría. Como el lanzamiento era aleatorio, no
podríamos saber con anticipación cuántos bucles necesitaríamos.

La sintaxis se ve así:

while(condición){
// ¡Realiza una acción!
}

Siempre que la condición dé como resultado true, el bucle seguirá ejecutándose. Tan
pronto como el resultado sea false, se detendrá.

Como ya eres un experto en los bucles for, esta sintaxis mucho más simple debe ser pan
comido.

Un sujeto de bucles infinitos

¡Bien hecho!
En el ejercicio anterior mencionamos los bucles infinitos. Si le das una condición que es
true a un bucle while y no creas una forma de que esa condición posiblemente se
convierta en false, el bucle se seguirá ejecutando para siempre y tu programa se
bloqueará. ¡Eso no está bien!

Para evitar que esto suceda, siempre debes tener una forma de asegurarte de que la
condición en medio de los paréntesis de while pueda cambiar.

Verás en el editor, en la parte derecha, el mismo código del ejercicio anterior, solo que esta
vez hemos eliminado la parte que cambia la condición del bucle.

La brevedad es el alma de la programación

Tal vez hayas notado que cuando le damos a una variable el valor booleano true,
comprobamos esa variable directamente: no nos molestamos en usar ===. Por ejemplo,

var bool = true;


while(bool){
//Realiza una acción
}

es lo mismo que

var bool = true;


while(bool === true){
//Realiza una acción
}

pero es más rápido escribir la primera. ¡Acostúmbrate a escribir exactamente lo que


necesitas, y no más!

2. ¡Más ejercicios con bucles!

La práctica hace al maestro

Muy bien. ¡Es hora de que crees un bucle while desde cero!

Hemos escrito una función, bucle, en la que vas a escribir tu bucle while, además de que
hemos creado el bucle vacío.

Recuerda hacer que la condición que estás comprobando sea igual a true afuera del bucle;
si lo haces dentro del bucle, podría hacer que la condición sea igual a true una y otra vez,
¡y se ejecutaría para siempre!
var moneda = Math.floor(Math.random() * 2);

while(moneda){

console.log("¡Cara! Lanzando de nuevo...");

var moneda = Math.floor(Math.random() * 2);

console.log("¡Sello! Lanzamiento concluido.");

Declara tus variables

¡Muy bien! Comencemos declarando las variables que utilizaremos. Necesitaremos una
variable para verificar si aún estamos atacando, una variable para verificar que le acertamos
al dragón, otra variable para llevar un registro acerca del daño que le hemos infligido al
dragón en este round, y una variable para llevar un registro acerca del daño total.

A fin de observar si le acertamos al dragón nos basaremos en números aleatorios. Si le


acertamos también observaremos cuanto daño le infligimos. JavaScript puede generar
números aleatorios así:

var algunNumeroAleatorio = Math.random();

Esto crea un número aleatorio entre 0 y 1. Sin embargo, al multiplicar el número y


redondearlo hacia abajo, podemos convertirlo en un número entero aleatorio. Por ejemplo,

Math.floor(Math.random() * 5 + 1);

generará un número aleatorio entre 1 y 6. (Observa la Sugerencia si no estás seguro de


cómo funciona esto.)

El bucle 'while'

Ahora añadamos variables a nuestro bucle while. Queremos ejecutarlo siempre que
estemos tratando de matar al dragón—esto es, mientras que atacar sea true.

Cuando se verifican variables como atacar que están definidas como true, no necesitaras
escribir algo así

while(atacar === true)

solamente escribe

while(atacar)
También es de ayuda nombrar tus variables con nombres que permitan que el código se
parezca más al español natural. while(atacar){//haz esto}` ¡es fácil de recordar, pues es muy
cercano al lenguaje cotidiano!

La primera sentencia 'if'

¡Qué bien! Ahora vamos a agregar un par de bifurcaciones a nuestro programa, a fin de que
éste pueda manejar diferentes resultados. Sabes lo que esto implica: ¡ifyelse`!

La segunda sentencia 'if'

Bien hecho—ya casi terminamos.

En la primera bifurcación de nuestra sentencia if (después de visualizar console.log() en


el que felicitamos al jugador por acertarle al dragón), define dannoTotal igual a
dannoTotal + dannoEsteRound. ¡Existe una abreviación para esto: el operador +=!
Cuando digitas

dannoTotal += dannoEsteRound

le estás diciendo a JavaScript que sume dannoTotal y dannoEsteRound juntos, luego le


asigna este nuevo valor a dannoTotal. Adelante, hazlo!

¡Bien hecho!

¡Lo hiciste! Has escrito tu propio juego mata-dragones.

Observa lo que sucede si cambias los valores de las variables.

También podría gustarte