BuyMeACoffee

Buy Me A Coffee
Mostrando las entradas con la etiqueta Razonamiento abstracto. Mostrar todas las entradas
Mostrando las entradas con la etiqueta Razonamiento abstracto. Mostrar todas las entradas

sábado, 5 de septiembre de 2015

Desarrolle su potencial aprendiendo a programar


By strategy:User:Eekim (Word cloud generated by http://wordle.net/) [CC BY 3.0 (http://creativecommons.org/licenses/by/3.0)], via Wikimedia Commons
El hecho de aprender a programar ayuda más que solamente en las habilidades técnicas, como mencionamos en el post ¿Quiere aprender a programar? Le ayudamos a lograrlo, aprender a programar ayuda a desarrollar el razonamiento abstracto.

Sin embargo también nos ayuda en otros aspectos:

  • Mejorar la toma de decisiones:
    • La programación de sistemas informáticos tiene muchos componentes y requiere de establecer prioridades con respecto a cuales áreas y tareas son las más importantes, además conforme se adquiere experiencia en el área se va aprendiendo a identificar patrones y predecir comportamientos no solamente de los sistemas, sino también de situaciones en la vida. Esta habilidad de identificar patrones y predecir comportamientos es clave en la toma de decisiones.
  • Enseña que siempre hay soluciones aunque no lo parezca
    • En el mundo de la programación no es válido decir que algo no se puede hacer, siempre hay alguna manera de llegar a una solución. Es muy común que la primera solución no funcione o no funcione como se esperaba. Frecuentemente el caso es que tanto el problema como el resultado esperado no están debidamente definidos. Si comparamos esto a la vida real la mayoría de los problemas tienen soluciones por más difícil que sea encontralas.
  • Enseña que varios caminos o soluciones pueden tener un mismo resultado
    • Imaginemos que le pedimos a dos personas que hagan una calculadora que sume, reste, divida y multiplique. Puede ser que una persona la haga aplicación de consola, y la otra la haga web o windows. Además aunque esas dos personas hagan la aplicación para windows, el nombre de la aplicación y el código fuente muy probablemente serán distintos y ambas tendrán la misma funcionalidad: ejecutar las operaciones más básicas de una calculadora. Este proceso enseña una lección muy importante: caminos o puntos de vista distintos pueden ser correctos.
  • Permite comprender mejor como funcionan las cosas:
    • La programación requiere de mucho análisis. Volvamos al ejemplo de la calculadora. Solamente nos han dicho "haga una calculadora que sume, reste, divida y multiplique", si analizamos el requerimiento deberemos hacernos algunas preguntas
      • ¿Será una aplicación para desktop, web o dispositivos móviles?.
      • ¿Cuántos dígitos máximo debe soportar?
      • ¿Cuántos decimales debe soportar?
      • ¿Debe validar la división sobre 0?
      • ¿Cómo quiere que se reinicien las operaciones?
      • ¿De que tamaño debe ser cada uno de los elementos(botones, números, display)?
      • ¿Qué tipo de letra y colores quiere que se utilice para los distintos elementos?
      • ¿Cuál debe ser el nombre de la aplicación?
      • ¿Que debe suceder si una operación no se puede ejecutar(ejemplo, si una suma daría más dígitos que la cantidad máxima soportada, o si hay una división sobre 0)?
    • La práctica constante de análisis en la programación resulta en el interés de comprender como funcionan muchas otras cosas como por ejemplo un carro o algo más complejo como lo son el comportamiento de los seres vivos o el universo mismo.
Esas son solo algunas de las ventajas que tiene la programación y su práctica constante, si tiene otras no dude en escribirlas en los comentarios.

Ahora sin más comencemos con el desarrollo de aplicaciones

Integrated Development Environment

Para programar aplicaciones es sumamente recomendable contar con una aplicación especialmente diseñada para facilitar el proceso, los Entornos de Desarrollo Integrado o IDEs por sus siglas en inglés son las herramientas ideales para ello. Utilizaremos la versión 2015 de Visual Studio, hay una versión gratuita para descargar llamada Visual Studio Community.

Uso del método Main en C#


Creando una Aplicación de Consola - Calculadora Simple

viernes, 4 de septiembre de 2015

¿Quiere aprender a programar? Le ayudamos a lograrlo

Photo taken by MHV of wikipt


Este es un primer post de una serie diseñada para aprender a programar aplicaciones y videojuegos.
El objetivo es aprender los conceptos básicos de la programación, comenzando desde el razonamiento abstracto, eventualmente llegando a la programación de videojuegos.

En esta serie se aprenderán:

  • Conceptos básicos de la programación.
  • Entornos para el desarrollo de aplicaciones.
  • Programación de Aplicaciones con Microsoft .NET.
  • Diferencias entre programación de aplicaciones y programación de videojuegos.
  • Programación de videojuegos con Unity 3d.

Comencemos.


¿Qué es programar?

Antes de comenzar a crear aplicaciones debemos hacernos una pregunta: ¿Qué es programar?

Programar tiene varios significados dependiendo el contexto, en este caso sin embargo hablamos de la programación informática,

Author: Wiziq Inc


Según la Real Academia Española programar significa: "Elaborar programas para la resolución de problemas mediante ordenadores"

Según Wikipedia, programar "es el proceso de diseñar, codificar, depurar y mantener el código fuente de programas computacionales" 

¿Para qué sirve la programación?

Tratando de no ser tan técnico la programación sirve para construir esa gran cantidad de aplicaciones y videojuegos que usted y yo utilizamos día a día.
Sistemas Operativos como Windows, Linux, iOS, Android, las apliaciones como Word, Internet Explorer, Chrome, Firefox, Outlook.
Videojuegos como Mario, Crash Bandicot, Sonic, Final Fantasy, Doom.

Todos ellos tuvieron que ser programados para que usted y yo los podamos utilizar.

¿Es difícil programar?

User:Life of Riley


Programar puede ser fácil o difícil según las habilidades de razonamiento abstracto que posea una persona, a muchas personas se les dificulta puesto que no han logrado adaptar sus procesos de razonamiento.
Para tratar de comprender un poco mejor definiremos algunos conceptos:



Afortunadamente el razonamiento abstracto se puede entrenar.

Consejo: Mientras esté haciendo el ejercicio y antes de ver las respuestas, ponga atención a su proceso de pensamiento, por ejemplo: "Si son cuatro flechas, la primera está en una posición 'x', la segunda en una posición 'y' y la tercera en una posición 'z', en que posición debería entonces estar la cuarta flecha?"

Lenguajes de programación


Existe una cantidad inmensa de lenguajes de programación, algunos de ellos son: C#, C++, Java, Haskell, Python, entre otros. Ver más lenguajes de programación.

Acá hablaremos de programación con C# y utilizaremos Visual Studio.

Tipos de datos

Preste atención a cada uno de los elementos en la siguiente lista
  • La casa es de color amarillo.
  • 2500.35
  • $2500
  • 2500
¿Que diferencia ve en cada uno de ellos?
El primero "La casa es de color amarillo" nos hace deducir que es un texto, el segundo "2500.35" es un número con decimales, el tercero es valor monetario en este caso en dólares, y el último es simplemente un número, sin decimales y sin algún valor monetario.

A la hora de programar estamos constantemente manejando datos y necesitamos indicarle al ordenador cómo debe procesarlos, el primero por ejemplo lo tratamos como una cadena(string), el segundo como tiene decimales lo tratamos con un número de punto flotante. El tercero en algunos lenguajes nos permite manejarlo como un valor monetario, en el caso de que el lenguaje de programación no traiga este tipo de dato, se puede utilizar alguno de punto flotante y tener siempre en cuenta que es un valor monetario(principalmente a la hora de desplegarlo al usuario, debe llevar el signo de moneda: en este caso el signo de dólar).

El último elemento "2500" como no tiene ningún decimal lo tratamos como un número entero.

Variables

Las variables son una representación de datos almacenados en la memoria del ordenador. 
El valor de una variable lo podemos cambiar, sin embargo solo mientras el valor sea válido para el tipo de dato con el cuál se definió la variable. Por ejemplo no es posible poner texto en una variable de tipo de dato numérico.
Accesamos el valor por medio del nombre de la variable.

En el lenguaje de programación C# las variables se definen de la siguiente manera:

TipodeDato NombreVariable;

También pueden ser inicializadas(asignar un valor al momento de ser definidas)

TipodeDato NombreVariable = Valor;

Ejemplos:
  • string texto;
  • decimal distanciaEnMetros;
  • float precio;
  • int numeroIdentificador;
  • string texto = "La casa es de color amarillo.";
  • decimal distanciaEnMetros = 2500.35;
  • float precio = 2500;
  • int numeroIdentificador = 2500;

Condicionales

Recordemos el proceso de pensamiento a la hora de hacer los ejercicios sobre razonamiento abstracto. En ellos es necesario aplicar al patrón 
"Si (esta condición se cumple)-Entonces (esto tiene que pasar)"

Pensemos en una de las tradicionales apuestas en los partidos de fútbol. 
Tenemos a dos personas. "Juan" y "Pedro". Juan es fan del Club Sport Herediano(CSH) y Pedro es fan de la Liga Deportiva Alajuelense(LDA). 
Ellos apuestan que si el CSH gana el partido entonces Pedro se rapa, y si la LDA gana entonces Juan se rapa. Además si ninguno gana entonces ambos se tiñen el pelo de color verde.

Nombremos algunas variables:
equipoGanador;
pedroSeRapa;
juanSeRapa;
ambosSePintanCabello;

en palabras sería algo así:
si equipoGanador es igual a "CSH" entonces pedroSeRapa
si equipoGanador es igual a "LDA" entonces JuanSeRapa
si equipoGanador no es igual a "CSH" y tampoco es igual a "LDA" entonces ambosSePintanCabello

Veamos como sería un ejemplo en C#:

string equipoGanador;
bool pedroSeRapa = false;
bool juanSeRapa = false;
bool ambosSePintanCabello = false;

if (equipoGanador == "CSH")
pedroSeRapa = true;
else if (equipoGanador == "LDA")
juanSeRapa = true;
else ambosSePintanCabello=true;

Ciclos

Los ciclos nos permiten ejecutar acciones mientras una condición sea válida.
Los más comunes son
while
do-while
for

Original uploader was BrandonR at en.wikipedia - Transferred from en.wikipedia

While

Un ejemplo, mientras la luz del semáforo esté en rojo, debemos mantener el vehículo detenido.
while (estadoSemaforo = "EnRojo")
{
   presionarfreno();
}

Nota: el while primero evalúa la condición, en caso de que sea falsa, el código no se ejecuta.

Do-while

Parecido al while, excepto que se ejecuta al menos una vez, puesto que la condición se evaluá al final,.

do
{
   avanzar();
} (while estadoSemaforo = "EnVerde");

Esto es todo por hoy,
espere el próximo post "Desarrolle su potencial aprendiendo a programar" en donde veremos las ventajas de aprender a programar, y ejemplos completos de cómo crear aplicaciones en C# utilizando Visual Studio.

Escriba en los comentarios qué le gustaría ver con respecto a programación.

Si desea clases de programación personalizadas, escriba a services@pticostarica.com con el asunto "Clases de Programación"