sábado, 7 de noviembre de 2015

Pensamiento computacional



Hemos aprendido desde chicos cómo hacer las cosas, a observar y reproducir, 
esto es una ventaja de lo cual debemos aprovechar. Impulsar a los chicos que ciertos comportamientos y  hasta nuestra propia vida debe tener un orden. Este tipo de pensamiento nos ayudaría que desde niños tengan un pensamiento computacional que nos permita: 
    

Realizar problemas y resolverlo lógicamente. Identificar, analizar e implementar posibles soluciones con el objetivo de lograr la combinación más efectiva y eficiente de pasos y recursos.  Según esta definición operativa, el pensamiento computacional es un proceso de resolución de problemas que incluye las siguientes características:
-Formular problemas de forma que se permita el uso de un ordenador y otras herramientas para ayudar a resolverlos.
-Organizar y analizar lógicamente la información.
-Representar la información a través de abstracciones como los modelos y las simulaciones.
-Automatizar soluciones haciendo uso del pensamiento algorítmico (estableciendo una serie de pasos ordenados para llegar a la solución).
-Identificar, analizar e implementar posibles soluciones con el objetivo de lograr la combinación más efectiva y eficiente de pasos y recursos.
-Generalizar y transferir este proceso de resolución de problemas para ser capaz de resolver una gran variedad de familias de problemas.


Son  objetivo fundamental para que Programamos, precisamente, promover el desarrollo del pensamiento computacional desde edades tempranas a través de la programación de vídeos,juegos , etc.




 Aplicaciones para móviles en todas las etapas escolares, desde educación infantil hasta formación profesional. Sin embargo, es posible desarrollar el pensamiento computacional de nuestros estudiantes desde cualquier disciplina y haciendo uso de otros recursos educativos, no solo a través de la programación.
    



La importancia de saber programar


La importancia de saber programar

A través de los años fue evolucionando los conocimientos sobre programación fue crucial comprender las tareas y el manejo de la información. En efecto la programación nos permite hacer las tares más eficientes, rápidas y precisas de las que haríamos a mano la cual agiliza el manejo de la información que hoy en día damos como un hecho. De hecho, la misma es ejecutada por un ordenador con un ahorro significativo de tiempo. 

Por otro lado, dada la increíble cantidad de información que hoy en día se maneja para distintas tareas, la programación es una herramienta de enorme valor porque permite bucear en la misma con muchísima facilidad. La programación, en particular, es la adaptación de ese potencial de las computadoras a las necesidades del hombre, generando distintos procesos automáticos que generan resultados que sirven desde diversos aspectos, como por ejemplo el laboral, el estético, el lúdico, etc.
Aprender a programar no solo es una habilidad necesaria para el siglo XXI, sino ayuda a los niños a resolver problemas, aprovechar su creatividad, mejorar su auto-estima y les enseña a pensar.

Un colegio que es consciente de que el aprendizaje y su planificación viene de poner la atención en los intereses, la curiosidad y la investigación o descubrimiento que nace en el propio entorno del juego infantil.
Las mejores aplicaciones y páginas web dedicadas a enseñar a los niños a programar.

Code.org es uno de los mejores sitios web donde aprender los conceptos básicos de codificar y programar. Creado como si fuera un juego. Disponible en más de 34 idiomas, y dirigido a profesores, Code.org ofrece 3 cursos según el nivel y la edad que tenga cada alumno. Aquí está el enlace para acceder a la página web https://code.org/



Lightbot es una aplicación similar a la anterior y promete acercar a los niños de distintas edades al mundo de la codificación en menos de una hora. Disponible para iPhone, Android y Kindle.


Scratch
Puedes acceder a Scratch, diseñado por el equipo de MIT, directamente desde tu buscador. Después de abrir una cuenta, tus hijos podrán crear desde programas muy sencillos a programas avanzados. Ideal para que ellos mismos vayan viendo su progreso. Incluye tutoriales. Solo para niños a partir de los 7.
http://www.scratchjr.org/   



Todo el mundo debería saber programar ... en el que se explica la

 importancia y porque deberíamos saber todos programar, muy interesante.

Lenguajes de programación


Un lenguaje de programación es un lenguaje formal diseñado para realizar procesos que pueden ser llevados a cabo por máquinas como las computadoras
Un diagrama de flujo es una representación esquemática de los distintos pasos de un programa. El diagrama de flujo goza de ventajas como el ser altamente intuitivo, fácil de leer, claro y preciso. Su interés para nosotros, sin desdeñar su utilidad profesional, radica en su valor didáctico. Lo consideraremos una herramienta muy potente de cara a comenzar a programar ya que su contenido gráfico lo hace menos árido que el pseudocódigo.

Pueden usarse para crear programas que controlen el comportamiento físico y lógico de una máquina, para expresar algoritmos con precisión, o como modo de comunicación humana.
Está formado por un conjunto de símbolos y reglas sintácticas y semánticas que definen su estructura y el significado de sus elementos y expresiones. Al proceso por el cual se escribe, se pruebase depura, se compila (de ser necesario) y se mantiene el código fuente de un programa informático se le llama programación.

También la palabra programación se define como el proceso de creación de un programa de computadora, mediante la aplicación de procedimientos lógicos, a través de los siguientes pasos:
El desarrollo lógico del programa para resolver un problema en particular.
Escritura de la lógica del programa empleando un lenguaje de programación específico (codificación del programa).
Permite especificar de manera precisa sobre qué datos debe operar una computadora, cómo deben ser almacenados o transmitidos y qué acciones debe tomar bajo una variada gama de circunstancias. Todo esto, a través de un lenguaje que intenta estar relativamente próximo al lenguaje humano o natural. Una característica relevante de los lenguajes de programación es precisamente que más de un programador pueda usar un conjunto común de instrucciones que sean comprendidas entre ellos para realizar la construcción de un programa de forma colaborativa.



Estructuras de decisión


 ESTRUCTURAS DE DECISIÓN

ESTRUCTURAS DE DECISIÓN EN TURBO PASCAL. 
Son estructuras de control condicional que permiten llevar a cabo una acción, si una condición (expresión lógica) dada tiene un valor específico (verdadero o falso). 

ESTRUCTURA DE DECISIÓN SIMPLE: se usan para representar estructuras en las que si la evaluación de la expresión lógica resulta ser verdadera se ejecuta la sentencia1 o la serie de sentencias comprendidas entre begin y end de la instrucción IF-THEN, según sea el caso. Mientras que si el resultado de su evaluación es falso se continúa como si la instrucción del IF-THEN no hubiese existido.




 ESTRUCTURA DE DECISIÓN DOBLE: se usan para representar estructuras en las que si la evaluación de la expresión lógica resulta ser verdadera se ejecuta la sentencia1. Mientras que si el resultado de su evaluación es falso se ejecuta la sentencia2. Recuerde que en el caso de sentencias compuestas, en lugar de la sentencia1 o la sentencia2 se ejecutarán las serie de sentencias comprendidas entre sus respectivos begin end.




ESTRUCTURAS DE DECISIÓN MÚLTIPLE: existen dos tipos de sentencias, las IF anidadas y las CASE. SENTENCIA IF ANIDADA: se usan para representar estructuras en las que si la evaluación de la expresión lógica resulta ser verdadera se ejecuta la sentencia1. Mientras que si el resultado de su evaluación es falso se evalúa otra expresión lógica, si el resultado de esta última es verdadero se ejecuta la sentencia2, si es falso se evalúa otra expresión y así sucesivamente. Recuerde que en el caso de sentencias compuestas, en lugar de la sentencia1, sentencia2 o sentencia N, se ejecutarán la serie de sentencias comprendidas entre sus respectivos begin - end. 








Estructuras de repetición

Estructuras de repetición
Según cómo se controle el ciclo (bucle / loop), hay  tres posibilidades:
  • for..to: La orden se repite desde que una variable tiene un valor inicial hasta que alcanza otro valor final (un cierto NÚMERO de veces).
  • while..do: Repite una sentencia MIENTRAS que sea cierta la condición que indicamos.
  • repeat..until: Repite un grupo de sentencias HASTA que se de una condición.
La diferencia entre estos dos últimos es que "while" comprueba la condición antes de repetir las demás sentencias, por lo que puede que estas sentencias ni siquiera se lleguen a ejecutar, si la condición de entrada es falsa. En "repeat", la condición se comprueba al final, de modo que las sentencias intermedias se ejecutarán al menos una vez.
El formato de "FOR" es
for variable := ValorInicial to ValorFinal do

Sentencia;

Program For1;
  var
  contador: integer;
  begin
  for contador := 1 to 10 do
    writeln( contador );
end.

While
La sintaxis de WHILE  es
while condición do
sentencia;
Que se podría traducir como "MIENTRAS se cumpla la condición HAZ sentencia".  Un ejemplo: que nos  diga la longitud de una frase

Program While1;
  var
  frase: string;
  begin
  writeln('Escribe una frase, y deja una línea en blanco para salir');
  write( '¿Primera frase?' );
  readln( frase );
  while frase <> '' do
    begin
    writeln( 'Su longitud es ', length(frase) );
    write( '¿Siguiente frase?' );
    readln( frase )
    end
end.



En el ejemplo anterior, sólo se entra al bloque begin-end (una sentencia compuesta) si la primera palabra es correcta (no es una línea en blanco). Entonces escribe su longitud, pide la siguiente frase y vuelve a comprobar que es correcta.
Length es una función que nos dice cuantos caracteres componen una cadena de texto.
Si ya de principio la condición es falsa, entonces la sentencia no se ejecuta ninguna vez, como pasa en este ejemplo:
while (2<1) do
writeln('Dos es menor que uno');

REPEAT
Para "repeat..until", la sintaxis es
repeat
sentencia;
...
sentencia;
sentencia
until condición;
La estructura  REPEAT repite un grupo de sentencias HASTA que la condición sea cierta. Es un grupo de sentencias, no sólo una, como ocurría en "while", de modo que ahora no necesitaremos "begin" y "end" para crear sentencias compuestas.  
El conjunto de sentencias se ejecutará al menos una vez, porque la comprobación se realiza al final.
No hace falta terminar con punto y coma la sentencia que va justo antes de "until", al igual que ocurre con "end".
Un ejemplo clásico es la "clave de acceso" de un programa:

program ClaveDeAcceso;
  var
  ClaveCorrecta, Intento: String[10];
  begin
  ClaveCorrecta := 'JVG';
  repeat
    WriteLn( 'Introduce la clave de acceso...' );
    ReadLn( Intento )
  until Intento = ClaveCorrecta;
  (* Aquí iría el resto del programa *)
end.