viernes, 20 de octubre de 2017

¿Sabes qué es una estructura de datos? 

Estructuras de datos son los bloques de construcción que permiten desarrollar sistema eficiente,  mantenibles proporcionando un medio para organizar y representar datos que necesitan ser compartidos, persistido, clasificados y buscados.

¿Sabes por qué es importante?

Son importantes ya que las estructuras de datos y los algoritmos son patrones utilizados para resolver problemas. Cuando los usamos correctamente, nos permiten crear soluciones elegantes para algunos problemas en los cuales encontramos un alto grado de dificultad.


Por tanto, si desarrollamos un conocimiento amplio y profundo de las estructuras de datos y los algoritmos, seremos idóneos de detectar los tipos de patrones a diferentes problemas que de otra manera nos sería difícil de modelar. A medida que experimentamos la identificación de estos patrones, comenzaremos a ver las aplicaciones para nuestro uso en las tareas de desarrollo del día a día..
Ahora te presentamos los diferentes tipos de estructuras...
Resultado de imagen para estructura de datos

ESTRUCTURAS CONTIGUAS: Son aquellas que al representarse en el hardware del ordenador, lo hacen situando sus datos adyacentes de memoria;  un dato en una estructura contigua se localiza directamente calculado su posición al principio del área de memoria que contiene la estructura.  

ESTRUCTURAS ESTÁTICAS: Son aquellas en la que el tamaño ocupado en memoria se define con anterioridad a la ejecución del programa que los usa, de forma que su dimensión no puede modificarse durante la misma, aunque no necesariamente se tenga utilizar toda la memoria reservada al inicio.

ESTRUCTURAS DINÁMICAS: No tiene teóricamente limitaciones en su tamaño, salvo la única restricción de la memoria dispone en el computador.

ESTRUCTURAS ENLAZADAS:  son estructuras cuyos datos no contienen por qué situarse de forma contigua en la memoria; en las estructuras enlazadas los datos se relacionan uno con otro mediante punteros.  
Resultado de imagen para estructura de datos
Pero, sin embargo se clasifican en...

ESTRUCTURAS LÓGICAS DE DATOS: En un programa, cada variable pertenece a alguna estructura de datos explícita o implícitamente definida, la cual determina el conjunto de operaciones válidas para ella.

ESTRUCTURAS PRIMITIVAS Y SIMPLES: Son primitivos aquellas que no están compuestas por otras estructuras de datos por ejemplo, enteros, booleanos y caracteres.

ESTRUCTURAS LINEALES Y NO LINEALES: Las estructuras de datos simples se pueden combinar de varias maneras para formar estructuras más complejas.

Aunque debemos acotar que tiene Ventajas y Desventajas

Imagen relacionada

VENTAJAS:

* Permite modificar "Global mente" las variables sin tener que recorrer el código buscando cada aparición. * Define variables y evita que cambien entre rutinas. * Separa desde el inicio del programa el espacio en memoria. *Se trabaja mas fácil el paso de datos entre aplicaciones.

DESVENTAJAS:  

* Puede causar confusión al intentar unir o pasar información entre programas, si no se tiene en cuenta la longitud y tipo de datos. * Si es poca la memoria, puede separar espacio que nunca se utiliza y colgar el equipo. 

Recuerda que...

Una estructura de datos tiene como objetivo otorgar al participante el conocimiento, la habilidad y la aptitud para: comprender y manejar las representaciones mas utilizadas para el procesamiento de información en sistemas de computación. Además de ello conocer los diferentes métodos de búsqueda y ordenamiento y seleccionar y aplicar el algoritmo más  adecuado para la solución a problemas de ingeniería.

Antes de continuar con los vectores vamos a conocer sobre los ARRAY

¿Ahora bien, te diremos qué son, y un ejemplo ? 

Un array es un conjunto de datos del mismo tipo ordenados de forma lineal uno después de otro. Los componentes de un array se han de referencia por medio del nombre del array y un índice de desplazamiento para indicar el componente deseado.

Los arrays son usados extensamente por los programadores para contener listas de datos en la memoria, por ejemplo, los datos almacenados en un disco suelen leerse y ponerse dentro de un array con el objetivo de facilitar la manipulación de dichos datos, ya que los datos en memoria pueden ser modificados, clasificados, marcados para su eliminación, entre otros, para luego ser reescritos al disco.

VECTORES: 

Son agrupaciones en las que cada elemento tienen asociado un índice (un entero), de manera que se puede acceder a cada uno de los elementos mediante la utilización de ese índice (operación de indexación). El índice indica la posición del elemento dentro del vector.

Supongamos que queremos declarar 10 variables de tipo entero. La única forma de hacerlo hasta ahora sería declararlos como variables individuales. La otra forma de hacerlo es utilizando un vector.

La declaración de un vector la realizaremos de la siguiente manera: Nombre[Tamaño] : Tipo

Operaciones: 


Asignación: 

Se da un valor determinado a algún elemento del vector. La manera de hacerlo es mediante el nombre del vector y el índice que queremos asignar: Nombre[indice] ← Valor

Ejemplo: Para asignar el valor 4 al índice (o posición del vector) ocho: 
                  vect [8] ← 4 

NO se pueden realizar asignaciones entre vectores. NUNCA se debe realizar la siguiente asignación. Sean: 

a[10], b[10]: enteros a ← b ¡¡¡ERROR!!!


Recorrido: 

Se pasa por los elementos del vector para realizar una tarea concreta en cada elemento. 



Recorrido completo 
Desde i ← 0 hasta Tamaño-1 hacer 
   Procesar (Nombre [i]) 
   i ← i+1 
Fin_desde 

Recorrido parcial 
i ← 0 Mientras (Nombre[i] cumpla una cierta condición) hacer
   Procesar (Nombre [i])
   i ← i+1 
Fin_mientras 

Para facilitar la realización de bucles y evitar posibles errores en el recorrido de los vectores se recomienda que el número de elementos que posee un vector TAM se defina previamente como una constante. 10 Arrays: Vectores 

Iniciación: 
En la declaración del vector sólo se reserva espacio. NO se pone ningún valor en el vector.

Para hacer la iniciación de todos y cada uno de los elementos del vector, habrá que recorrerlo y asignar un valor (o pedir al usuario que de valor a cada uno de los elementos)

Ejemplo: Supongamos que queremos pedir al usuario que nos dé todos los valores del vector: 
Desde i ← 0 hasta TAM-1 hacer
    leer( vect[i]) 
    i ← i + 1 
Fin_desde 

Búsqueda en vectores:

Para buscar un cierto elemento en un vector, en principio hay que ir recorriendo todos y cada uno de los elementos, en busca del que se busca. En general a esto se le llama búsqueda secuencial. 


Ejemplo: Realizar una función que diga si un cierto valor ‘x’ se encuentra o no en un vector ‘vect’:

Funcion Buscar1 ( vect[TAM]: entero, x : entero) : booleano Variables 
   i : entero 
  encontrado : booleano 
Inicio 
  encontrado ← falso 
Desde i ← 0 hasta TAM-1 hacer 
      Si vect[i] = x entonces 
           encontrado ← verdadero 
      Fin_si 
      i ← i + 1 
   Fin_desde Buscar1 ← encontrado 
Fin_Funcion 14 Arrays: Vec


MATRICES:

Las matrices o arrays bidimensionales son agrupaciones similares a los vectores pero en las que cada elemento tiene asociados dos índices enteros, de manera que se puede acceder a cada uno de los elementos mediante la utilización de esos índices.

La declaración de una matriz la realizaremos de la siguiente manera:
Nombre[Tamaño1][Tamaño2] : Tipo 

Donde Tipo es el tipo de los datos guardados en la matriz, Nombre el nombre que le vamos a dar a la matriz y Tamaño1 y Tamaño2 son el número de filas y columnas que tiene.
 Operaciones:

Asignación: 

Se da un valor determinado a algún elemento de la matriz. La manera de hacerlo es mediante el nombre de la matriz y los índices (ahora son dos) que queremos asignar: 

Nombre[indice1][indice2] ← Valor

Ejemplo: Para asignar el valor 4 a los índices (o posición de la matriz) ocho, cinco: 
vect [8][5] ← 4

 Al igual que para los vectores NO se pueden realizar asignaciones entre matrices. 
Por lo tanto, NUNCA una función podrá devolver un vector o matriz,.. en general, un array.



Recorrido:
Se pasa por los elementos de la matriz para realizar una tarea concreta en 
cada elemento.

Recorrido completo 

Desde 1 i ← 0 hasta TAMX-1 hacer
   Desde2 j ← 0 hasta TAMY-1 hacer 
       Procesar ( Nombre[i][j] ) 
       j ← j+1
    Fin_desde2 
    i ← i+1 
Fin_desde 1

Recorrido parcial 
  i ← 0 
  Mientras 1 (Nombre[i][j] cumpla una cierta condición) hacer 
     j ← 0 
    Mientras 2 (Nombre[i][j] cumpla una cierta condición) hacer                      Procesar (Nombre [i][j]) 
              j ← j+1 
    Fin_mientras 2
    i ← i+1 
 Fin_mientras 1


Iniciación: 
Para hacer la iniciación de todos y cada uno de los elementos de la matriz, habría que recorrerla y asignar o pedir al usuario que introdujese cada uno de los elementos. El resto de operaciones también son similares a la de los vectores pero accediendo con 2 índices.
Ejemplo:  Supongamos que queremos pedir al usuario que nos dé todos los valores de la matriz: 

Desde 1 i ← 0 hasta TAM1-1 hacer
    Desde2 j ← 0 hasta TAM2-1 hacer 
        Leer( mat[i][j] ) 
        j ← j+1 
    Fin_desde2 
    i ← i+1 
Fin_desde 1 
















martes, 17 de octubre de 2017

Los Lenguajes de Programación mas utilizados

¿Sabes qué es un Lenguaje de Programación?


Un lenguaje de programación es aquel mecanismo dentro de la informática que consiste en crear programas, a través de un conjunto de instrucciones, operadores y reglas de sintaxis; que coloca a la práctica del programador para que logre comunicarse con los dispositivos hardware y software.

Lee un poco más, esto se pondrá interesante 

A su vez deriva su importancia en encajar una cadena de códigos en lenguaje natural para que el programa lo descifre y lleve a cabo la acción que se le está pidiendo.

A continuación te presentamos los 9 mas buscados del 2017

1. Python

Python es un lenguaje de programación con una sintaxis que favorece  un código legible. Se caracteriza por ser un lenguaje muy sencillo pero capaz, por lo que desde que se diseñó en 1991 se ha venido usando para realizar herramientas de análisis.
Se trata de un lenguaje de programación multiparadigma, ya que soporta orientación a objetos, programación imperativa y, en menor medida, programación funcional. Es un lenguaje interpretado, dinámico y multiplataforma.

2. C

C es un lenguaje eficaz, es muy útil porque se puede combinar con otros lenguajes como ensamblador o acceder de forma directa al hardware del ordenador.

3. JAVA

Es un lenguaje de programación diseñado para ser multiplataforma. Generalmente se ejecuta en la web. Desarrollado a mitad de los 80.

5. C#

Desarrollado por Microsoft en el 2000, C# es una mejor alternativa a C/C++. Al ‘#’ se le ha dado comúnmente el significado de ‘++++’ por ser mejor que los anteriores. Señalemos que es un resumen de las mejores características de Java, C y C++, además de otros lenguajes.

6. R

R es el programa preferido para el análisis estadístico  y para realizar lo que se conoce como data-mining.

7. Javascript

Javascript es un lenguaje web consignado a objetos. Se usa desde el lado del cliente y no necesita compilación, aunque también existe la posibilidad de que sea ejecutado del lado del servidor. La sintaxis es parecida a C.

8. PHP

PHP, por el contrario, es un lenguaje destinado al ambiente web que se ejecuta del lado del servidor. Fue uno de los primeros que se ejecutaba del lado del servidor y que al mismo tiempo se podría incorporar en un código HTML. Se necesita un módulo que procese PHP en el servidor para ser ejecutado, por supuesto.

9. Apple Swift

Swift es un nuevo lenguaje que presentó Apple en el WWDC 2014, tanto para iOS como para Mac OS X. Puede llamar funciones de C.

Si quieres conocer como sigue la lista de lenguajes de programación más populares, te invitamos a conocer el resto del ranking: 

1. Ruby2.  Delphi/Object Pascal3.Go4. Visual Basic5. MATLAB6. Objective-C7.  Scratch8. PL/SQL




Memorias Informáticas

BIENVENIDO!! En el día de hoy estaremos hablando sobre las memorias informáticas  Empezaremos indicando que en la informática,...