miércoles, 8 de noviembre de 2017

Como generar la serie de Fibonacci. (How to generate the Fibonacci numbers)

En el artículo se describe como generar la serie de Fibonacci; en materias de estudio como: algoritmos, diagramas de flujo y programación, se usa como un ejercicio para desarrollar la lógica de los nuevos programadores, es un problema clásico en la enseñanza de ésta rama de la informática.



Hay mucha información en la red sobre cuál es la utilidad de estos números infinitos y su relación con las formaciones  hechas por la naturaleza que siguen éste patrón.

La intención aquí es referir lo que se necesita para poder desarrollar un algoritmo que pueda mostrar ésta serie, iniciando desde el número 0 hasta un número definido, por ejemplo: los primeros 20 o 50 números de la sucesión.

  • Los números iniciales  son el 0 y 1 los cuales generan el tercero, que es la suma de los dos, es decir 0 + 1 = 1
  • El siguiente número se obtiene sumando el segundo número de la suma con el resultado de la misma  y obtenemos  1 + 1 = 2 y así continua infinitamente.


Esta es la serie de los primeros 7 números de la sucesión

      0, 1, 2, 3, 5, 8, 13, 21 . . . . .




 Aquí el vídeo con la explicación y el desarrollo del algoritmo.



Como ordenar un vector Método Burbuja. (How to do bubble sort)

Sabemos que un vector es una variable dispuesta en un arreglo de datos unidimensional, con la capacidad de almacenar un conjunto de valores identificados por un índice de posición dentro del vector.


* Ver en éste blog el artículo como trabajar arreglos unidimensionales (vectores)

Este artículo presenta cómo es el procedimiento para ordenar un vector con un conjunto de datos numéricos que inicialmente estén desordenados, para ejemplificar se usa un vector de 15 elementos con números enteros de entre el 10 y el 70 como lo muestra la imagen.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

22
13
45
64
31
18
56
70
27
47
66
35
11
52
36

Existen varios métodos para ordenar los valores de un vector, para éste caso se describe el ordenamiento por el método de burbuja, llamado así por el comportamiento de los valores más bajos, que irán desplazándose lentamente hacia las primeras posiciones, tal como una burbuja emerge a la superficie.

EL proceso de la burbuja consiste recorrer el vector de izquierda a derecha, comparando cada uno de los valores con el siguiente,  si el dato de la izquierda es mayor que el de la derecha, son intercambiados y se compara con el siguiente, esto se repita hasta recorrer el vector tantas veces como la cantidad de elementos contenga, el resultado es que los números menores se desplazan a la izquierda y los mayores a la derecha.

1
2

22
13

Vuelta  1 se compara si  vector[1] (22)  es mayor que  vector[2] (13)

1
2

13
22

Los valores son intercambiados y se continua la comparación de vector[2] con vector[3]

Para hacer este proceso son necesarios dos ciclos uno de 15 vueltas para evaluar todos los elementos y otro anidado de 15-1(14) ciclos para hacer los intercambios. Se debe usar la variable de conteo del ciclo anidado para gestionar el índice del vector.

El método de burbuja es de los más sencillos pero no el más eficiente, el recorrer tantas veces el vector para verificar número por número e intercambiarlos, causa muchas veces ciclos y comparaciones innecesarios, pues el ordenamiento del vector puede darse mucho antes de que terminen los ciclos definidos.


Burbuja mejorado, consiste en incrustar una variable al ciclo de intercambio que registre cuando ya no hay más valores por intercambiar y poder dar por terminado anticipadamente los ciclos restantes. 

Aquí el vídeo de cómo desarrollar el algoritmo.


viernes, 3 de noviembre de 2017

Programando mi primer viedeo juego con Scratch - (Programming my first videogame with Scratch)

Hace ya algún tiempo me comentaron sobre esta nueva modalidad de programar, inmediatamente me llene de curiosidad por saber cómo es éste lenguaje de programación por bloques, no tarde mucho en ingresar al sitio y a empezar a instruirme en sus características, el resultado fue que me sorprendí gratamente en ver como las tecnologías de la información van evolucionando.



El lenguaje viene con todo tipo de herramientas que facilitan la programación de animaciones y procesos para elaborar vídeo juegos o simplemente iniciar con la programación de una forma diferente y sencilla, quiero aclarar que aunque no se escriben líneas de código convencionales como cualquier lenguaje, las estructuras básicas de programación son las mismas, así que ayuda bastante saber programar en un lenguaje clásico.

La modalidad del lenguaje es de tipo visual y dirigido a eventos y objetos, facilitando aún más el desarrollo de los programas.

El editor de programación fue desarrollado por Instituto de Tecnología de Massachusetts y es de uso libre, recomendado para todas las edades y con gran aplicación para las escuelas en los procesos de aprendizaje y desarrollo de habilidades cognitivas.

Para usar la herramienta de desarrollo basta con ir al sitio y ver las instrucciones de uso, está disponible en muchos idiomas incluido el español, cuenta con tutoriales de como programar para iniciar sin problema con su uso, se puede usar en dos modos online y offline.

Además de ser un ambiente de desarrollo, es una comunidad de usuarios donde se pueden ver los trabajos de otros programadores así como exponer las aplicaciones propias.

Aquí el link del sitio: Scratch

En mi experiencia por ésta herramienta pude desarrollar un pequeño vídeo juego, del cual dejo el link al final del artículo para que puedan ver la programación y mejorarlo si así lo desean.

Aquí el link del video juego: Mono Raider

Descargar Objetos: Aquí
Super Deportes: Final
Juego Invasión Final

jueves, 2 de noviembre de 2017

Cómo trabajar con arreglos multidimensionales (matrices) - How to work with multidimensional arrays (matrix)

En programación comúnmente necesitamos usar múltiples valores que sean comunes entre sí, es decir mismo tipo y para procesos semejantes.

Para esos casos los lenguajes de programación implementan un tipo de variables que pueden tener más de un espacio para almacenar valores, los llamamos Arreglos (Arrays).

* Ver en éste blog el artículo como trabajar arreglos unidimensionales (vectores)

Una matriz es una variable a la que reservamos espacios de memoria en más de una fila o renglón, a diferencia del vector que reserva múltiples espacios en un mismo plano, en palabras practicas una matriz de datos puede representarse como una cuadricula, identificando cada uno de los datos con un índice compuesto de dos números enteros, uno para indicar el plano horizontal  y otro para el vertical, formando así, el vértice dentro de la cuadricula que corresponde a cada dato.

La reserva de los espacios de memoria se especifican mediante dos enteros entre corchetes ( variable [nx  , ny] ).

Un arreglo de datos puede almacenar una serie de números o letras o palabras, es decir, datos del mismo tipo.

Para hacer uso de ésta estructura de datos, son necesarias dos sentencias de ciclos, usualmente la instrucción FOR. El número de índice que identifica cada valor en el arreglo es gestionado por dos  variables que los bucles ira modificando para recorrer la matriz.

Algunos lenguajes permiten cambiar el tamaño del arreglo en tiempo de ejecución.



En la imagen vemos un ejemplo que muestra un vector que almacena 10 números y una matriz con espacio para 30 [10,3] asignados en diferentes espacios:
  • El número  5  en la posición [1,1]
  • El número 38 en la posición [2,3]
  • El número 21 en la posición [3,2]
  • El número 55 en la posición [10,3]

Aquí un vídeo con un ejemplo de como programar una matriz en pseudocódigo


Artículo Reciente

Como generar la serie de Fibonacci. (How to generate the Fibonacci numbers)

En el artículo se describe como generar la serie de Fibonacci; en materias de estudio como: algoritmos, diagramas de flujo y programación, ...

Artículos