Mostrando entradas con la etiqueta curso. Mostrar todas las entradas
Mostrando entradas con la etiqueta curso. Mostrar todas las entradas

lunes, 11 de diciembre de 2017

Mi primer video-curso online



Curso de iniciación y fundamentos a la programación.

Estáis invitados, los 50 primeros gratis!!!

Fundamentos de Programacion desde 0 gratis


Muchas Gracias por el apollo, estoy recibiendo mensajes por que ya no quedan plazas gratuitas, asi que aqui os dejo el enlace con el codigo para que disfruteis de un 50% de descuento.

Fundamentos de Programacion desde 0 con un 50% de descuento

miércoles, 16 de octubre de 2013

Presentación del Curso Gratuito de Programación en Objective-C #xcodeIO

Ya con nuestros amigos de desarrollo web en:

martes, 15 de octubre de 2013

Curso programación desde 0 - Tema 8 - Programación Orientada a Objetos (POO)

Este tema tan solo sera teórico la programación orientada a objetos o sus siglas POO es un concepto el cual es importante de entender para casi cualquier lenguaje moderno. La programación orientada a objetos consiste en que, en nuestro entorno, todo es un objeto y como cual tiene unas propiedades, y unas cualidades, el típico que suele ponerse es el de un coche.

Un coche seria nuestro objeto, el cual tiene algunas propiedades como su numero de ruedas, color, peso, numero de plazas, lo cual puede variar de un coche a otro; pero también puede acelerar, ir hacia delante, hacia atrás, o girar.

A las propiedades de nuestro vehículo vamos a llamarlas precisamente propiedades o atributos, serán definidas en nuestra clase, y podremos ver o editar sus valores, dependiendo del objeto, y de la propiedad, en el ejemplo del coche, siempre va a tener 4 ruedas, con menos seria un triciclo o una moto, y con mas... seria algo extraño, por lo que si tenemos que definir la clase de nuestro coche siempre tendrá 4 ruedas, ese valor no tendría sentido que lo pudiéramos editar, seria solo visible, pero a la hora de declarar un nuevo objeto del tipo coche, si tendríamos que asignar un valor al numero de plazas, y al color, ya que cada modelo es distinto, lo normal seria asignar un valor por defecto, por ejemplo 5 plazas, que es lo más estándar pero podría tener 4, 7, 9 o quizás otro valor, esta propiedad seria fija, ya que nuestro coche no puede tener 4 plazas hoy y 9 mañana, pero se la pasaríamos nosotros al crearla, en cuanto al color, si tendría lógica que fuera editable, ya que podríamos pintarlo y cambiarle el color en cualquier momento.

Nuestro coche también tiene métodos como es el de acelerar, frenar, girar... esto no seria ni mas ni menos que las funciones que declaremos publicas de nuestro coche, es decir al apretar el pedal haz girar mas rápido el motor para ganar velocidad...

Otro concepto importante de la POO es la herencia, nuestro coche es un vehículo por lo que coche heredara todas las propiedades y métodos de la clase padre en este caso vehículo pero teniendo algunos que le caracterizan y son únicos de el, por ejemplo, cualquier vehículo puede acelerar, frenar y girar; pero no todos tienen 4 ruedas, creo que las motos tampoco tienen marcha atrás, por lo que seria un método especial para coches.

Casi todos los lenguajes también tienen otra propiedad, que es el polimorfismo esto quiere decir que la función acelerar, por poner un ejemplo puede ser declarada varias veces, pidiendo distintos parámetros

p.e: nombreFuncion(variable1);

      nombreFuncion(variable1,variable2,variable3);

      nombreFuncion(variable1, variable2);

Esto seria valido y a la hora de programar nos da mucha flexibilidad, ya que con el mismo nombre podemos llamar a varias funciones distintas, ejecutando siempre la que nos interese según el numero de parámetros PHP es el único lenguaje Orientado a Objetos que conozco que no admite polimorfismo.

Resto de temas:
Tema 8 - Programación Orientada a Objetos POO
Tema 7 - Funciones
Tema 6 - Bucles Repetitivos
Tema 5 - Usando condicionales
Tema 4 - Arrays
Tema 3 - Pensando con variables
Tema 2 - Pensando como Programadores
Tema 1 - ¿Que es la programacion?

viernes, 28 de junio de 2013

Curso programación desde 0 - Tema 7 - Funciones

En este tema vamos a introducirnos en el concepto de las funciones, algo elemental para cualquier lenguaje de programación; una función no es más que un conjunto de órdenes, las cuales se suelen usar en distintos puntos de un programa, así que al agruparlas en una función evitamos repetir el código.
Una función puede devolver un resultado, o solo realizar una serie de operaciones, también admite que se le pasen una serie de parámetros (variables) o ejecutarla sin ellas, todo esto depende del caso, vamos a ver algunos ejemplos.
La estructura de una función sería algo de este estilo:

Función NombreDeLaFuncion (parametro1, parámetro2,….) {
                Operaciones;
                Operaciones;
                …..
}

                 Y ya esta así de sencillo, eso sería una función; una función sencilla sería algo así:

Función EscribeMensaje () {
Muestra “Hola esta es mi primera Función”;
}

                En esta función escribiremos cada vez que la llamemos; lo cual se haría simplemente tecleando EscribeMensaje (); dentro de nuestro código, y lo que nos hará esta función es que cada vez que la llamemos, nos escriba en pantalla Hola esta es mi primera Función.
Esta función no recibe ningún parámetro, ni tampoco devuelve ningún resultado, solo ejecuta una operación, la cual consiste en escribir un mensaje.

Otro ejemplo un poco más complejo seria este:

Función EscribeMensaje (mensaje) {
Muestra mensaje;
}

Esta funcion está esperando un parámetro, el cual se llama mensaje, y lo que hará será escribir en pantalla ese mensaje, si la llamamos del siguiente modo:

MuestraMensaje (“Hola esta es mi primera Función”);

Nos dará el mismo resultado que antes, con la salvedad de que cada vez que la llamemos podremos mandarle un mensaje distinto, el cual sera mostrado.
                Este ejemplo es muy sencillo, y poco práctico, aunque por su simplicidad es el mejor modo de entender que es una función.

                Ahora vamos a ver otra función prácticamente igual de sencilla, pero que nos devuelva un resultado.

Función JuntandoTextos (Mensaje) {
Mensaje = Mensaje + “ Nuevo Texto”;
return Mensaje;
}

Bien vamos a ver unas cuantas cosas un poco complejas, que están escritas en el ejemplo anterior; podemos ver como a la variable Mensaje, la sumamos una cadena de texto, y lo volvemos a guardar en la variable Mensaje; esto es totalmente valido, y si tenemos una variable Mensaje, fuera de la función, esa variable es distinta a la que está dentro; es decir podemos tener 2 variables con el mismo nombre, una dentro y otra fuera de la función, las 2 son distintas, y totalmente ajenas, la una a la otra, podemos cambiar el valor de una que no afectara a la otra.


                Otro detalle importante de la función anterior es que en la última línea tenemos el texto return Mensaje, la palabra return es común para casi todos los lenguajes, he decidido usarla así, por su semejanza al castellano, y por que al ser algo “estándar”, es bueno que lo veáis ya, después de esta introducción sigo con lo que estamos haciendo, en esa línea, retornamos (devolvemos) el valor de Mensaje, si nuestro programa fuera algo así:

Var Mensaje texto;
Mensaje = “Hola estoy mandando un texto”;
Var MensajeAMostrar = JuntandoTextos(Mensaje);
Muestra Mensaje;
Muestra MensajeAMostrar;
Mensaje = mensaje + “ Otro Texto”;
Muestra Mensaje;

Función JuntandoTextos(Mensaje){
Mensaje = Mensaje + “ Nuevo Texto”;
return Mensaje;
}

Podemos ver que tenemos la función declarada al final del código, en la mayoría de lenguajes se puede hacer así, en otros hay que hacer las declaraciones antes de llamar a la función, pero bueno eso ya son características de cada lenguaje, lo importante aquí es ver que tenemos en el mismo código, por un lado el programa, y por otro lado la declaración de la función, por lo que queda más separado, claro, y fácil de mantener, las funciones pueden declararse, al final, principio o entre medias del código, eso depende de las características del lenguaje, y de la necesidad de cada programa; tambien utilizaremos muy a menudo funciones que esten almacenadas en otros archivos distintos al que contiene el programa.

En este programa comenzamos declarando una variable, a la que en la siguiente línea le asignamos un valor, en la tercera línea, declaramos otra variable y en la misma línea le asignamos el valor de la función, pasándole como parámetro la variable Mensaje, el valor que almacenara la variable MensajeAMostrar será: Hola estoy mandando un texto Nuevotexto
En la 4 línea mostramos el valor de la variable Mensaje, lo cual nos dará como resultado: Hola estoy mandando un texto.
En la 5 línea mostramos el valor de la variable MensajeAMostrar, lo cual nos mostrara: Hola estoy mandando un texto Nuevo texto
En la sexta línea cambiamos el valor de la variable Mensaje, y en la séptima lo mostramos, lo cual nos mostrara Hola estoy mandando un texto Otro texto ; ya que como hemos explicado anteriormente la variable Mensaje de fuera de la función es independiente a la variable Mensaje de dentro


Ahora vamos a ver otro ejemplo de funciones, quizás un poco más útil, ya que lo que hemos hecho hasta ahora no nos ha servido para demasiado.

Función Operaciones(Numero1, Numero2){
Var Resultado;
Resultado = Numero1 + Numero2;
Muestra Resultado;
Resultado = Numero1 - Numero2
Muestra Resultado;
Resultado  = Numero1 * Numero2
Muestra Resultado;
Resultado  = Numero1 / Numero2
Muestra Resultado;
}

                Cada vez que llamemos a esta función con 2 variables, nos mostrara en pantalla los 4 resultados posibles, uno tras otro, nos dará la suma, la resta, la división y la multiplicación de ambos números, tan solo escribiendo una llamada a la función como podría ser Operaciones(8, 26);

Un Ejercicio interesante seria hacer un programa que recorra todos los números del 1 al 10 y que por cada número nos diga si es par o es impar.

Recuerda que el mejor modo para la corrección es publicarlo como comentario debajo del ejercicio, así tú y todos tus compañeros podréis aprender y ayudaros los unos a los otros, pero estoy disponible en el email: rogamainformatica@gmail.com

Resto de temas:
Tema 8 - Programación Orientada a Objetos POO
Tema 7 - Funciones (Tema actual)
Tema 6 - Bucles Repetitivos
Tema 5 - Usando condicionales
Tema 4 - Arrays
Tema 3 - Pensando con variables
Tema 2 - Pensando como Programadores
Tema 1 - ¿Que es la programacion?

viernes, 21 de junio de 2013

Curso programación desde 0 - Tema 6 - Bucles repetitivos

Otra de las cosas más Utilizadas y de las que más apuros y facilidades nos pueden dar en la programación son los bucles, tenemos varios de ellos, aunque básicamente podemos englobarlos en:
·         los que se cumplen siempre que una condición se cumpla.
·         los que se repiten hasta que se cumpla una condición

El más usado con diferencia es el conocido como bucle for, que podría traducirse como “para” el cual tendría el siguiente aspecto:

Para (var i =0; i< 20; i++)
                Muestra i;
FinPara

Ahora que hemos visto la estructura vamos a explicar que es esto que a primera vista parece tan complejo; en la primera línea tenemos: Para (var i =0; i< 20; i++)

Lo cual nos dice que es un bucle Para, y entre los paréntesis tenemos los datos que debemos pasarle, separados por “;” lo cual nos lo deja en 3 partes:

·         Var i =0; Aquí estamos declarando la variable i es el nombre más utilizado en este tipo de bucles, pero podemos darle el nombre que más nos apetezca, podría ser juanito sin ningún problema, a la vez que la declaramos, le damos el valor de 0; por lo que usaremos la variable llamada i y comenzara con un valor de 0.
·         I< 20; los siguientes datos que le damos son una condición, i menor a 20; con esto le decimos que repitamos lo que tengamos dentro del bule hasta que i sea 20, en el momento en que sea 20 saldremos del bucle sin hacer el código que hay dentro.
·         I++; este es el ultimo código que tenemos en el bucle, esto se lo podremos dar a cualquier variable de tipo Numero es algo sencillo, simplemente sumamos 1 al valor que tenga i; también podemos usar i—por ejemplo lo cual restaría 1 al valor de i
Este bucle nos mostraría 20 números, el primero sería el 0 y el ultimo el 19, cuando entramos en un bucle solo se ejecutara el código que hay en su interior, es decir desde donde tenemos escrito Para, hasta donde pone FinPara, por lo que hay que prestar atención a lo que hacemos, ya que si tuviéramos algo parecido a esto:



Para (var i =0; i< 20; i++)
                Si (i = 15)
                               i= i -10;
                FinSi
Muestra i;
FinPara

Restaríamos 10 a i siempre que valga 15, por lo que volveríamos al 5 y del 5 hasta que llegáramos al 15, y otra vez restaríamos 10, y así una y otra vez, por lo que nunca saldríamos del bucle, y habríamos hecho lo que se conoce como bucle infinito, esto suele bloquear el sistema, es un error y hay que evitar que se produzca

Otro de los bucles más usados son los bucles hasta (while), con la siguiente estructura

Hasta (condición)
                Lo que sea;
FinHasta

Este bucle se repetirá siempre hasta que la condición se cumpla; un ejemplo podría ser algo así:

Hasta (¡SentimosSed)
                Ejercicio de calmar la sed;
FinHasta

En este ejemplo hemos puesto el signo de admiración delante de la variable SentimosSed, el símbolo ¡ puede traducirse como No, por lo que esto lo que hace es volver a lo contrario la variable, es decir, si es verdadera, la convierte en falsa, si es falsa la convierte en verdadera, así  ejecutaremos una y otra vez el ejercicio de calmar la sed, hasta que No tengamos sed.

El último Bucle que vamos a ver es el Do-While o lo que vendría siendo en castellano haz- hasta, este bucle se repetirá siempre hasta que se de la condición en el hasta, pero con la salvedad de que siempre se ejecutara como mínimo una vez, su estructura es la siguiente:

Haz
                Lo que sea;
Hasta(condición);




Piensa que tipo de bucle sería el más adecuado para hacer una tabla de multiplicar del 5 y desarrolla el pseudocódigo;

Recuerda que el mejor modo para la corrección es publicarlo como comentario debajo del ejercicio, así tú y todos tus compañeros podréis aprender y ayudaros los unos a los otros, pero estoy disponible en el email rogamainformatica@gmail.com

Resto de temas:
Tema 8 - Programación Orientada a Objetos POO
Tema 7 - Funciones
Tema 6 - Bucles Repetitivos (Tema actual)
Tema 5 - Usando condicionales
Tema 4 - Arrays
Tema 3 - Pensando con variables
Tema 2 - Pensando como Programadores
Tema 1 - ¿Que es la programacion?

lunes, 17 de junio de 2013

Curso programación desde 0 - Tema 5 - Usando condicionales

Como podréis imaginar en la programación no va a ser todo líneas unas debajo de otras, usando distintas operaciones; una de las cosas más utilizadas son los condicionales, lo cual es simplemente eso, una condición en algún lugar del programa, cuando la condición que escribimos se cumple, el programa sigue por el camino marcado, si no se cumple, sigue por el camino alternativo, lo cual se representaría así:

Si (se cumple la condición)
                Sigo por aquí;
Si no
                Sigo por aquí;

Como la mejor manera de entender las cosas es verlas y después probarlas nosotros mismos, aquí vamos con un ejemplo, vamos a coger el ejemplo del tema 2, el ejercicio de tenemos sed, vamos a mejorarlo, utilizando todo lo aprendido hasta ahora

Var TenemosSed Verdadero/Falso; //declaro la variable
Var NumVasosLimpios Número;

TenemosSed = true (Verdadero);
NumVasosLimpios = 3;
Si (TenemosSed)
Nos levantamos;
Vamos hasta la cocina;
Abrimos la vitrina;
Si (NumVasosLimpios > 0)
Cogemos un vaso;
                Si no
                               FregamosUno;
                               Cogemos el vaso limpio;
Dejamos el vaso en un lugar seguro;
Vamos hasta la nevera;
Cogemos la botella de agua (o líquido a nuestro gusto);
Cerramos la nevera;
Abrimos la botella;
Llenamos el vaso;
Cerramos la botella;
Volvemos hasta la nevera;
La abrimos;
Guardamos la botella;
Cerramos la nevera
Volvemos hasta el vaso;
Bebemos;

En este ejemplo podemos ver fácilmente que lo primero que hacemos es declarar la variable TenemosSed y la declaramos como verdadero o falso, esta variable cojera un valor en concreto que cambiara al ser ejecutada por un evento, como puede ser hablar mucho, pero los eventos, funciones y otras cosillas las veremos en temas más avanzados, de momento solo nos interesa entender que es y cómo funciona un condicional, justo debajo declaramos otra variable NumVasosLimpios esta variable en vez de darle un valor como también hacemos con TenemosSed también deberíamos recogerla en una función, Si pudiéramos probar el programa tan solo deberíamos cambiar los valores y ejecutarlo. A TenemosSed le damos el valor de verdadero, así que el programa cuando comprueba Si TenemosSed ve que es verdadero, por lo que se cumple la condición, y sigue por debajo, ojo aquí tenemos 2 condicionales, el primero: Si (TenemosSed) no tiene un SI NO al final, por lo que no ejecutara nada si no se cumple la condición, el bloque SINO no es obligatorio.

Después hacemos algunas acciones que ya quedaron comentadas temas atrás, y tenemos otra condición en la que miramos el valor de NumVasosLimpios, como más arriba le hemos dicho que tenemos 3 vasos limpios el ordenador mirara si (3 > 0) o en otras palabras, si 3 es mayor a 0; en este caso sí, es decir verdadero, así que al ser verdadero, cogeremos un vaso.

Si le hubiéramos dado un 0 al número de vasos limpios la condición seria Si (0>0) y seria falso, por que 0 no es mayor que 0; 0 es igual a 0, pero no mayor, así que se iría a donde fregamos un vaso, y no ejecutara el paso de Cogemos uno; si quisiéramos que coja un vaso si tenemos 1 o más la condición seria así:

 Si (NumVasosLimpios => 1)
                Lo que sea

Con eso decimos si tenemos 1 o más vasos limpios, el resto del código; un punto a tener en cuenta es que si os fijáis, tenemos todas las líneas una debajo de otra, pero una vez metemos un condicional dejamos un espacio delante de las siguientes ordenes, así hasta llegar a la condición de SI NO, esto está hecho a propósito, a esto se le llama Indentar el código, o tabularlo, diciéndolo más coloquialmente, y tan solo consiste en dar una vez al tabulador, para dejar ese espacio en concreto; en la mayoría de lenguajes no es obligatorio, pero si es una buena costumbre y casi una necesidad, ya que de un solo vistazo podemos ver que parte del código se va a ejecutar cuando se cumple una condición, también se usa para marcar el código que va dentro de funciones, o de bucles repetitivos, y no afecta al rendimiento del programa, por lo que es casi obligatorio hacerlo; lenguajes como Python obligan a indentar el código, en caso de que no esté tabulado no funcionaria, son casos extraños, pero repito es buena costumbre.


Un buen ejercicio de ejemplo podría ser un programa que pida la edad del usuario, y si es menor de edad le muestre un mensaje diciéndole que no puede entrar, si es mayor, le muestre otro dándole la bienvenida

Recuerda que el mejor modo para la corrección es publicarlo como comentario debajo del ejercicio, así tú y todos tus compañeros podréis aprender y ayudaros los unos a los otros, pero estoy disponible en el email rogamainformatica@gmail.com

Tema 8 - Programación Orientada a Objetos POO
Tema 7 - Funciones
Tema 6 - Bucles Repetitivos
Tema 5 - Usando condicionales (Tema actual)
Tema 4 - Arrays
Tema 3 - Pensando con variables
Tema 2 - Pensando como Programadores

Tema 1 - ¿Que es la programacion?

lunes, 10 de junio de 2013

Curso programación desde 0 - Tema 4 - Arrays

Ahora que hemos visto las variables http://robertogascon.blogspot.com.es/2013/06/curso-programacion-desde-0-tema-3.html es bueno que conocer los arrays; Hemos visto a las variables como cajas que almacenan un dato, siguiendo con ese ejemplo podremos ver un array como una estantería que almacena cajas; en esa estantería tendremos un numero de huecos para guardar cajas, y sabiendo a que hueco mirar, podremos recoger el valor de esa caja, así de simple.

Unos habréis imaginado un tipo de estantería, otros, otros tipos distintos y ninguna estantería tiene nada que ver con la anterior; con los arrays pasa más o menos lo mismo no siempre vamos a necesitarlos del mismo tipo, los arrays se clasifican en dimensiones; las dimensiones en un array se pueden entender como el “numero de estantes” para hacernos una idea, así por ejemplo, un array de una dimensión tendrá una única tabla, en la que guardaremos los datos en línea, uno tras otro, pero ojo, un array de 2 dimensiones, no tendrá 2 estantes, un array de 2 dimensiones puede tener muchas cajas una detrás de otra, y muchos estantes, ahora os pondré un ejemplo para entenderlo mejor;
Vamos a declarar y ver un array de una dimensión:

Var ArrayDeEjemplo [] texto;

Ahora que está declarado, veis que es casi igual que las variables, tan solo les diferencia los corchetes del final, los cuales indican el tamaño del array, al dejarlo en blanco no le damos ningún tamaño y el solo se va agrandando según sea necesario, aunque esta es la manera que más recursos consume, lo ideal habría sido:

Var ArrayDeEjemplo [5] texto;

Así le decimos que almacenaremos 6 variables, y si 6, no es un error, los arrays comienzan su índice en 0, por lo que podremos guardar cajas en el hueco 0, en el 1, en el 2, y así hasta el 5, que hacen un total de 6 huecos

Si vemos el interior del array después de haberle guardado 6 datos será algo parecido a esto
0
1
2
3
4
5
Texto de ejemplo
Otro texto
563
Hola soy el cuarto
Y yo el 5
89798

Así cuando queramos ver los datos del array en la ubicación numero 3 deberemos llamarlo así
ArrayDeEjemplo [3];
Y veremos el mensaje Hola soy el cuarto

Vamos a complicarlo un poco más, y a ver un array de 2 dimensiones, en el anterior veíamos una única balda con algunos huecos, en este veremos una estantería con muchas baldas las cuales tienen muchos huecos, lo declaramos:

Var ArrayDe2Dimensiones [3,4] Numero;

Hemos declarado un array de 4 baldas y 5 huecos cada una, lo cual es algo parecido a esto:

0
1
2
3
4
0
3
5
56
48
76
1
20
90
150
70
80
2
35
20
15
32
14
3
98
63
57
41
01

Como vemos es una estantería, con varias baldas (filas) y varios huecos (columnas), estoy seguro de que con este ejemplo os a resultado fácil entenderlo.

Ahora me diréis ¿¿solo hay arrays de una y 2 dimensiones?? Pues no, hay arrays de tantas dimensiones como nuestra imaginación alcance, pero los más comunes son los de 1 y los de 2 dimensiones, en juegos de 3 dimensiones, también se utilizan los de 3 dimensiones, pero poco, un array de 3 dimensiones estaría declarado con el siguiente código:

Var ArrayDe3Dimensiones [2, 2,2] texto;

Y podríamos imaginarlo como un cubo, es más, el array anterior podría ser perfectamente el cubo de rubick


Con todas sus caras, cada una almacenaría un número, correspondiente con un color, así los huecos s
ArrayDe3Dimensiones [0, 0,0] podría ser un 1, que corresponde al amarillo
ArrayDe3Dimensiones [0, 1,0] podría ser un 2, que corresponde al blanco
ArrayDe3Dimensiones [0, 0,1] podría ser un 3, que corresponde al azul
…..

Un ejercicio de practica puede ser que hagáis un programa que almacene en 2 huecos distintos el nombre y el apellido de vuestros vecinos(los datos pueden ser ficticios) teniendo un vecino por balda

Recuerda que el mejor modo para la corrección es publicarlo como comentario debajo del ejercicio, así tú y todos tus compañeros podréis aprender y ayudaros los unos a los otros, pero estoy disponible en el email rogamainformatica@gmail.com

Tema 8 - Programación Orientada a Objetos POO
Tema 7 - Funciones
Tema 6 - Bucles Repetitivos
Tema 5 - Usando condicionales
Tema 4 - Arrays (Tema actual)
Tema 3 - Pensando con variables
Tema 2 - Pensando como Programadores
Tema 1 - ¿Que es la programacion?

viernes, 7 de junio de 2013

Curso programación desde 0 - Tema 3 - Pensando con variables

En el tema anterior http://robertogascon.blogspot.com/2013/06/curso-programacion-desde-0-tema-2.html vimos como empezar a pensar como programadores, en este tema avanzaremos un poco más, vamos a ver algo que es imprescindible en la programación las variables; entendamos una variable, como una cajita, en la que vamos a guardar algo, mas tarde llamando a esa cajita podremos ver lo que tiene guardado, cambiarlo, e incluso eliminarlo.

Programando, al usar una variable se guarda en memoria del ordenador, suele ser RAM, por lo que en el momento que cierras el programa, o se apaga el ordenador se pierde todo lo que este hay guardado, para hacerlo permanente hay que meterlo en una base de datos, o crear un archivo con los valores, pero es un tema avanzado que veremos mucho más adelante, ahora entendamos que es una variable y su funcionamiento

En la vida real, si tu guardas algo en una caja, esa caja te ocupara un espacio, en la programación también es así, toda variable ocupa un espacio de memoria, por lo es recomendable utilizar el menor número posible, y lo más adecuadas, con esto último quiero decir que para guardar un boli, nadie utilizaría una caja de 2 metros de largo, por 2 de ancho, por 2 de alto, programando debemos hacer algo parecido, casi todos los lenguajes necesitan que se le diga el tipo de dato que va a guardar esa variable, aquí lo vamos a simplificar en 3, cuando entremos en materia de programación los veremos todos según el lenguaje con el que programemos, pero recordar que lo que veamos aquí nos valdrá para cualquier lenguaje actual.
Así que vamos a clasificar las posibles variables, en:

  • Texto
  • Numero
  •  Verdadero/Falso


Sus nombres prácticamente lo dicen todo de ellas, aun así una pequeña descripción:

·         Texto: En una variable de tipo texto, comúnmente llamadas String podremos almacenar cualquier tipo de texto, como podría ser “Hola mundo” después cambiarlo, mostrarlo por pantalla o trabajar como mas nos convenga, esto suele usarse para guardar el nombre del usuario, o los datos que nos pueden teclear por pantalla, aunque en realidad sirven para guardarlo casi todo, también podremos guardar “2348” y diréis, pero eso es un número, no habría que guardarlo en la del tipo número?? Pues sí, y no quizás estas desarrollando un videojuego y te interesa mostrar en pantalla la puntuación, para ello lo mejor es sacar un mensaje “puntuación: ” al que le juntes la puntuación, por lo que se convertiría en texto.
“Puntuación: 2348” tiene parte numérica y parte texto, pero se usa como si solo fuera texto.

Otro ejemplo, quizás más claro seria si a nuestro “2348” queremos no sumarle; si no ponerle un 0 mas eso con variables tipo numéricas, deberíamos multiplicar por 10, es algo no muy complicado, pero, y si queremos ponerlo un 11 al final? Es decir sacar el numero “234811” en pantalla, ¿que operación habría que hacer para eso? Si juntamos 2 textos se logra fácilmente.

Otro caso muy común que tiene, es guardar los datos que vienen por la URL en aplicaciones web, siempre que se recoge un dato es de tipo texto, si mas tarde necesitamos hacer una suma por ejemplo, deberemos convertirlo a numero, ya que los textos no pueden hacer operaciones matemáticas
Conclusión: una variable de tipo texto puede almacenar cualquier cosa, números, textos… aunque no es recomendable usarla, excepto en casos realmente necesarios, para nada que no sea un texto, son el tipo de caja más grande.


·         Numero: este tipo variable consume mucha menos memoria que las de tipo texto, y son las encargadas de almacenar únicamente números, con ellas podremos hacer operaciones matemáticas; sumar, multiplicar, restar, dividir y modulo son las más habituales; muchos diréis las 4 primeras bien, ¿¿pero modulo?? No hay que asustarse, no es hora de aprender nuevas operaciones matemáticas, en realidad ya la conocéis, el modulo es simplemente el resto de una división.

Por ejemplo, si dividimos 5/2 nos dará como resultado 2, con resto 1, ese resto es el modulo, por lo que modulo de 5/2 es 1, esto tiene infinidad de funcionalidades, pero una de las más comunes es ver si un numero es par o impar.

·         Verdadero/Falso: este tipo de variables es la más liviana que existe, ya que ocupa únicamente un bit, si, ni siquiera un byte, y a pesar de lo pequeña que es no podríamos desarrollar ningún programa sin ella, o seria un infierno, lo que almacena en realidad es un 0, o un 1, lo que en nuestro idioma puede ser un sí o un no, este tipo de variables comúnmente es llamado boolean, en nuestro programa del tema pasado, el de quitarnos la sed, podríamos utilizarlo para comprobar  si tenemos el vaso en la mano, y que cuando lo tengamos cogido, lo dejemos en lugar seguro antes de coger también la botella, aunque, aquí estamos metiendo condiciones, y no quiero adelantarme, eso lo veremos en el siguiente tema.

Vamos a ver un par de ejemplos de programas sencillos en los que usemos variables; por cierto, esto que hacemos de escribir los programas aunque sea de un modo básico en nuestro lenguaje, se llama pseudocódigo, es un paso entre medias de nuestro lenguaje y el del ordenador, lo que estamos escribiendo no cumple las “reglas” de pseudocódigo, pero este es un curso de programación no de pseudocódigo, solo os voy a enseñar a gatear, no a que ganéis carreras gateando, al fin y al cabo todos queremos correr y no quedarnos a cuatro patas, así que es interesante que lo conozcáis, para ir acostumbrándoos y cogiendo ritmo a lo que va a venir después, pero no necesitáis dominarlo, de hecho llevo años programando y no he conocido aun a nadie que utilice el pseudocódigo, aunque también sirve de ayuda, cuando estas atascado y no sabes por dónde tirar, escribírtelo en una “servilleta” para después transformarlo a código.

Un ejemplo de lo visto seria:



Un programa que nos muestre la tabla del 3 y al resultado le sume 2;

Var numero Numero; //declaro la variable
Numero = 3*1; // multiplico 3 x 1
Numero = Numero + 2; // le sumo 2 al valor que tiene numero guardado
Muestro Numero;

Numero = 3*2;
Numero = Numero + 2;
Muestro Numero;

Numero = 3*3;
Numero = Numero + 2;
Muestro Numero;


Numero = 3*4;
Numero = Numero + 2;
Muestro Numero;

……….
……..
……


No vamos a seguir con el ejemplo hasta el final ya que veis que se repite todo una y otra vez solo cambiamos el número que multiplica, y se haría muy largo este programa; más tarde veremos cómo simplificar programas de este tipo que se repiten una y otra vez lo mismo, o con un pequeño cambio.

Podéis ver en el ejemplo superior un par de cosillas nuevas, y es que al lado de las 3 primeras líneas he escrito:
//* Un comentario*
Este es el modo de comentar el código en pseudocódigo, algunos lenguajes de programación también utilizan esta simbología.

Los comentarios son algo muy importante en programación, se pueden hacer en nuestro idioma, y podemos poner tantos como queramos, no existe ninguna regla ni norma que impida ponerlos, ni tampoco que nos obligue, pero son recomendables, por una sencilla razón, a la que haces un programa de unos cientos de líneas, si no tienes comentarios, es complicado saber que parte del código hace que.
Aun así, si has sido tú el que lo ha programado, seguramente en cuanto lo veas te suene y sepas donde buscar, para modificar algo, o reparar un bug, pero si estas en un equipo, y alguien coge tu código, seguramente no sabrá ni por dónde empezar, lo mismo sucederá si te toca coger el código de otra persona, por eso mismo es una buena costumbre comentar nuestro código, los comentarios son ignorados por el ordenador por lo que no afectan al rendimiento, pero si comentas cada línea de código se volverá un poco pesado a la hora de leerlo y buscar una parte en concreto, lo suyo es comentar solamente aquellas partes que son tan complejas que de un vistazo no se sabe que hacen, si buscáis sobre este tema en internet, encontrareis mucha polémica, y la verdad es que el mejor comentario, es el que no necesita escribirse, con esto quiero decir que si tu código es sencillo, claro, esta indentado (en España lo solemos llamar tabulado, veremos cómo tabular el código en el siguiente tema); y demás no será necesario comentarlo, excepto en funciones complejas.

Otro ejemplo seria un programa que le pida al usuario su nombre, y apellidos por separado, y después le muestre su nombre completo

Var Nombre, Apellido, Apellido2  Texto; //declaro 3 variables a la vez
Muestro “Introduce tu nombre”;
Nombre = TextoIntroducido;

Muestro “Introduce tu apellido”;
Apellido = TextoIntroducido;


Muestro “Introduce tu Segundo Apellido”;
Apellido2 = TextoIntroducido;

Muestro “tu nombre es: “+ Nombre + “ “+ Apellido + “ “+ Apellido2;


Como veis cada vez que quiero mostrar un texto que no está almacenado en ninguna variable lo escribo entre “” es el modo habitual de escribir los textos, para no confundirlo con posibles variables o funciones después concateno (junto) el texto que escribo yo, con la variable Nombre utilizando el símbolo de + pero no sumo nada, solo junto los textos, recordemos que los textos no pueden sumarse, solo juntarse; a su vez le sumo un espacio en blanco, y a este le sumo el primer apellido; etc.

Como ejercicio estaría bien que hicierais un programa que pida el nombre de 3 usuarios, uno detrás de otro, a la que tienes los 3 nombres; les haces 3 preguntas a cada uno; pero estas preguntas deben ser personalizadas; con esto quiero decir que debes preguntar algo al estilo: Cuál es tu edad pepe? Una vez la conteste, pasar al siguiente usuario: Cuál es tu edad Juan? Y así las 3 preguntas para los 3 usuarios, termina el programa sumando las 3 edades, y mostrándolo por pantalla.


Recuerda que el mejor modo para la corrección es publicarlo como comentario debajo del ejercicio, así tú y todos tus compañeros podréis aprender y ayudaros los unos a los otros, pero estoy disponible en el email rogamainformatica@gmail.com

Tema 8 - Programación Orientada a Objetos POO
Tema 7 - Funciones
Tema 6 - Bucles Repetitivos
Tema 5 - Usando condicionales
Tema 4 - Arrays
Tema 3 - Pensando con variables (Tema actual)
Tema 2 - Pensando como Programadores
Tema 1 - ¿Que es la programacion?

martes, 4 de junio de 2013

Curso programación desde 0 - Tema 2 - Pensando como programadores

Vamos a ir entrando un poquito en materia, ahora que ya Vimos en el tema anterior http://robertogascon.blogspot.com/2013/05/curso-programacion-desde-0-tema-1-que.html que es la programación y algunas características generales, como la programación a bajo y a alto nivel, también hemos visto algunas características de los lenguajes más utilizados hoy día, y en que entorno se pueden usar.

Ahora podremos hacer 2 cosas, escoger un lenguaje de programación, algún manual, curso o tutorial, y empezar a aprenderlo, esto puede parecer lo más lógico, e incluso puede que lo más rápido, pero es aquí en donde fracasa la mayoría de la gente que intenta empezar a programar sin nociones previas; al que de verdad a nacido para esto, lo vive y pone todo el empeño en ello lo acaba logrando, pero después de sudar mucha sangre y horas y horas, para entender por un lado los ejemplos, por otro el lenguaje que haya elegido, y por último el IDE (un IDE es un entorno de desarrollo, que nos ayudara en la tarea de programación, mas adelante veremos cómo, y cuáles son los más populares para según qué lenguaje).
Es decir si elegimos ahora aprender un lenguaje, deberemos aprender a usar un programa para ello, los cuales normalmente son inmensos, aunque los hay muy ligeros, el lenguaje que elijamos y la lógica de programación, esto viene siendo como si al poco de nacer quisiéramos decir nuestra primera palabra, en 2 idiomas, y andar a la vez, todo ello sin gatear, ni balbucear, tarea casi imposible.

La otra opción que tenemos es ir por partes; eso es lo que vamos a hacer en este curso, poquito a poco, sin prisas, y cada uno a su ritmo.

En este tema, os voy a enseñar a pensar como programadores, lo cual aunque no es muy complejo, si necesita de un previo aprendizaje, y por supuesto, vamos a hacerlo en castellano, que es nuestro idioma.

Lo primero, es, vamos a pensar como programadores, pero ¿como? Pues como vimos en el anterior tema la programación consiste en resolver problemas, así que vamos con un problema de lo más cotidiano, tenemos sed:
Muchos diréis, pues bebemos, y eso como respuesta final, no está mal, pero recordemos que los ordenadores son tontos, solo cumplen ordenes, ¿si nosotros fuéramos un ordenador que orden nos tendrían que dar, para quitarnos la sed?

Si quisiéramos hacer un programa para resolver el problema de cuando tenemos sed, tendríamos que teclear paso a paso, por lo que un ejemplo de programa que resuelva tener sed puede ser algo así:

Sentimos sed;
Nos levantamos;
Vamos hasta la cocina;
Abrimos la vitrina;
Cogemos un vaso,
Vamos hasta la nevera;
Cogemos la botella de agua (o líquido a nuestro gusto);
Cerramos la nevera;
Abrimos la botella;
Llenamos el vaso;
Cerramos la botella;
Volvemos hasta la nevera;
La abrimos;
Guardamos la botella;
Cerramos la nevera
Volvemos hasta el vaso;
Bebemos;

Como podemos ver una tarea cotidiana a la hora de hacerla un programa se ha convertido en algo complejo, largo y algo tedioso, este programa para beber en realidad esta simplificado, y tiene un fallo, hemos cogido el vaso, la botella, y abierto el frigorífico, todo ello sin soltar el vaso, ay dependerá de la habilidad de cada uno, pero existen muchas posibilidades de que se nos caiga el vaso, o de lo que es lo mismo en programación, un bug, ya que cuando intentemos llenar el vaso, no va a existir, y el ordenador no sabrá donde echar el agua, pero esto es materia un poco más avanzada; de momento vamos a dejar aquí nuestro programa para beber, y voy a explicar de nuevo lo mismo con otro ejemplo:

Esta vez, estamos en casa, y tenemos que salir y coger el coche, para ir hasta el súper a hacer la compra.

Nos levantamos;
Buscamos las llaves;
Vamos hasta la puerta;
La abrimos;
Salimos;
La cerramos;
Vamos hasta la calle;
Buscamos el coche;
Lo abrimos;
Nos montamos;
Lo cerramos
Metemos la llave en el contacto;
La giramos para arrancar;
Salimos del aparcamiento (Utilizando los pedales de la manera necesaria);
Conducimos hasta el súper;
Aparcamos;
Paramos el motor;
Abrimos la puerta;
Nos bajamos;
Cerramos el coche;
Caminamos hasta el súper;
Compramos;

Os recomiendo leer un par de veces ambos ejemplos para terminar de entenderlo bien, no es algo demasiado difícil, pero es importante entenderlo bien para seguir entrando en materia.

Algunos ejercicios para practicar pueden ser:
-Hacer un programa para poner nuestra emisora favorita de música.
-Un programa que nos saque de la cama cada mañana para ir al trabajo.

Recuerda que el mejor modo para la correccion es publicarlo como comentario debajo del ejercicio, asi tu y todos tus compañeros podeis aprender y ayudaros los unos a los otros, pero estoy disponible en el email rogamainformatica@gmail.com

jueves, 30 de mayo de 2013

Curso programación desde 0 - Tema 1 - ¿Qué es la programación?

En este curso pretendo que alguien que todavía no sabe nada de programación, alguien que parte desde 0, adquiera los conocimientos necesarios para comenzar en el arte de la programación.

Veremos los aspectos básicos, las bases, cimientos, que nos servirá para cualquier lenguaje de programación, para cualquier lenguaje.

Una vez tengamos estos conocimientos podremos aprender cualquier lenguaje, para cualquier plataforma.

Lo primero es saber que es la programación, en qué consiste:

Curso de programación desde 0 - Funcionamiento

En este curso; comenzaremos explicando que es la programación, en qué consiste, nombraremos algunos de los lenguajes más populares de la actualidad.

Después daremos algunos ejemplos los cuales se pueden ver como problemas, los cuales resolveremos en el curso, pondremos ejercicios para llevar a cabo, ya que la mejor manera de aprender es hacerlo uno mismo, estos ejercicios se me pueden enviar, para la corrección, así como para resolver vuestras dudas.

martes, 21 de mayo de 2013

Curso programación

Buenas a tod@s, estoy pensando en hacer un pequeño curso de programación, para ayudar a todo aquel que quiera comenzar a programar, con o sin conocimientos, pero quiero hacer algo que sea realmente útil, no como los cientos de libros, tutoriales y demás que hay por la red, que en realidad ninguno esta completo y siempre hay que andar de un sitio a otro; para ello me gustaría saber vuestras opiniones, dudas, y demás inquietudes, que o bien habéis tenido a la hora de empezar, o bien tenéis, al estar buscando como comenzar.

La idea es hacer algo desde 0, es decir ubicar las bases mínimas de programación, algo que sirva para cualquier lenguaje, y plataforma, para después ir avanzando y entrando en materia, de hay que necesite saber vuestras inquietudes; por otro lado, quisiera saber que lenguajes, o plataformas, son las que mas os interesan, para desarrollar el curso en base a ello.

Sin mas, me despido de vosotros, pero no sin antes daros las gracias por vuestros comentarios que espero ansiosamente

Un saludo

Tema 8 - Programación Orientada a Objetos POO
Tema 7 - Funciones
Tema 6 - Bucles Repetitivos
Tema 5 - Usando condicionales
Tema 4 - Arrays
Tema 3 - Pensando con variables
Tema 2 - Pensando como Programadores
Tema 1 - ¿Que es la programación?