jueves, 18 de noviembre de 2010

GOOGLE HA CREADO UN COCHE QUE NO NECESITA CONDUCTOR


El automóvil con 'cerebro artificial' que se desplaza por carreteras de manera independiente ha sido creado por Google, una de las compañías mundiales líderes en innovaciones tecnológicas.
Según ha anunciado hoy 10 de octubre BBC, siete de los coches similares ya han efectuado alrededor de 1.500 kilómetros de recorrido experimental sin intervención alguna por parte del hombre.
Las pruebas preliminares también se llevaron a cabo en San Francisco donde el 'coche-robot' ha superado una serie de rutas con el tráfico más intenso del país.
Se comunica que la base tecnológica del ‘coche del nuevo milenio’ está compuesta por un programa de ordenador especial, instalado en un automóvil tradicional, que no sólo dirige sus propios desplazamientos en la carretera, sino además controla la situación del tráfico en la autovía, incluyendo los movimientos de peatones en áreas circundantes.
Sin embargo la alta tecnología todavía supone la presencia necesaria de un conductor en el automóvil que controla las acciones del 'cerebro vehicular'. En caso de necesidad el conductor puede intervenir en el proceso, tomando el mando en sus manos.

DESCUBREN UNAS BACTERIAS CAPACES DE REPARAR GRIETAS EN EL HORMIGÓN


Los investigadores británicos crearon bacterias que producen una especie de pegamento capaz de reparar grietas en el hormigón.
Los microbios genéticamente modificados, denominados 'BacillaFilla', fueron programados para descender por la grietas finas en el hormigón y, al alcanzar el fondo, producir una mezcla de carbonato de calcio y un pegamento bacterial. Ese pegamento se endurece hasta el mismo grado que el hormigón, de tal modo que vuelve a unir las partes del edificio con peligro de desprenderse.
Según matizó la directora del proyecto, Jennifer Hallinan, una investigadora de sistemas complejos de la Universidad de Newcastle, el resultado puede ser especialmente útil en las zonas afectadas por terremotos, donde centenares de edificios tienen que ser demolidos porque no hay un método fácil para reparar las grietas y presentan peligro de derrumbarse por culpa de éstas.
Hallinan añadió que un 5% de las emisiones de dióxido de carbono de origen artificial proviene de la producción de hormigón, lo que contribuye al calentamiento global. Por eso la extensión de la duración de las estructuras existentes significa que también se puede reducir el impacto medioambiental.
Las esporas de 'BacillaFilla' empiezan a germinar sólo al contactar con el hormigón y tienen un gen de autodestrucción que se activa si el pH del ambiente es distinto.

ESTRUCTURAS DE DATOS ( ARRAYS )


Un arrays  (matriz, tabla, arreglo) es una secuencia de la memoria central a las que se pueden acceder directamente, que contienen datos del mismo tipo y pueden ser relacionadas individualmente mediante el uso de subíndices.
INTRODUCCIÓN A LAS ESTRUCTURAS DE DATOS.
Una estructura de dato es una colección de datos que pueden ser caracterizados por su organización y las operaciones que se definen en ella.
Las estructuras de datos son muy importantes en los sistemas de computadora. Los tipos de datos más frecuentes utilizados en los diferentes lenguajes de programación son: Datos simples y los datos estructurados.
Los tipos de datos simples significan que no están compuestos de otras estructuras de datos. Los tipos de datos compuestos están construidos basados en tipo de datos simples como es la cadena de caracteres.
Las estructuras de datos estáticas son aquellas en las que el tamaño ocupado en memoria se define antes de que el programa se ejecute y no pueden modificarse dicho tamaño durante la ejecución del programa.
Las estructuras de datos a dinámicas no tienen las limitaciones en el tamaño de memoria ocupada que son propias de las estructuras estáticas.
ARRAYS UNIDIMENSIONALES: LOS VECTORES
Es un conjunto finito y ordenado de elementos homogéneos. La propiedad ordenado significa que el elemento primero, segundo, tercero… Puede ser identificado.
OPERACIONES CON VECTORES
Un vector, como ya se ha mencionado, es una secuencia
ordenada de elementos como
X(1), x(2),…….,x(n)
El límite inferior no tiene por que empezar en uno. El vector L
L(0), L(1), L(2), L(3), L(4), L(5)
Contiene seis elementos, en el que el primer elemento comienza
en cero.

Las operaciones que se pueden realizar con vectores durante el
proceso de resolución de un problema son:
Asignación
Lectura/escritura
Recorrido (acceso secuencial)
Actualizar (añadir, borrar, insertar)
Ordenación
Búsqueda
En general, las operaciones con vectores implican el
procesamiento o tratamiento de los elementos individuales
del vector.


Las notaciones algorítmicas que utilizaremos son:
Tipo
Arrays (dimensiones) de < tipo de dato>:nombre_del_tipo_arrays>
Tipo
Arrays (1…..10) de carácter: nombre
Ver
Nombres: n
Significa que nombre es un arrays unidimensional de diez
elementos (1 a 10) de tipo carácter.
Tipo
Arrays (‘A’…….’Z’) de real: lista
Var lista: 1
Representa un vector cuyos subíndices son a,b…..y cuyos
elementos son de tipo real.

ASIGNACION
La asignación de valores a un elemento del vector se realizara
con la instrucción de asignación:
A (29) 5 asigna el valor 5 al elemento 20 del vector A
Si desea asignar valores a todos los elementos de un vector, se
debe recurrir a estructuras repetitivas.
Leer (a[i])

LECTURA/ESCRITURA DE DATOS
La lectura/escritura de datos en arrays u operaciones de
entrada/salida normalmente se realizan con estructuras
repetitivas. Las instrucciones simples de lectura/escritura se
representaran como:
Leer (A)
lectura del vector A
Escribir (A) escritura del vector A
Leer (v [5]) leer el elemento v[5] del vector v

ACCESO SECUENCIAL DEL VECTOR (RECORRIDO)
Se puede acceder a los elementos de un vector para introducir
datos ( leer) en él o bien para visualizar su contenido (escribir).
A la operación de efectuar una acción general sobre todos los
elementos de un vector se le llama recorrido del vector.

ACTUALIZACION DE UN VECTOR
La operación de actualizar un vector puede constar a su vez de
tres operaciones elementales:
Añadir elementos
Insertar elementos
Borrar elementos
Se denomina añadir datos a un vector la operación de añadir
un nuevo elemento al final de un vector. La única condición
necesaria para esta operación consistirá en la comprobación de
espacio de memoria suficiente para el nuevo elemento.

ARRAYS DE VARIAS DIMENCIONES
Son los que contienen varios subíndices, como las tablas o
matrices que se pueden definir como arrays multidimensionales,
cuyos elementos se pueden referenciar por dos, tres o más
subíndices. Los arrays no unidimensionales los dividiremos en
dos grandes grupos:
- Arrays bidimensionales (2 dimensiones)
- Arrays multidimensionales ( 3 o más dimensiones )

ARRAYS BIDIMENSIONALES (TABLAS/MATRICES)
El arrays bidimensional se puede considerar como un conjunto
de elementos, todos del mismo tipo, en el cual el orden de los
componentes es significativo y en el que se necesita especificar
dos subíndices para poder identificar cada elemento del arrays.

ARRAYS MULTIDIMENSIONALES
Un arrays puede ser definido de tres dimensiones, cuatro
dimensiones, hasta de n-dimensiones.
Los conceptos de rango de subíndices y número de elementos
se puede ampliar directamente desde arrays de una y dos
dimensiones a estos arrays de orden más alto.

ALMACENAMIENTO DE ARRAYS EN MEMORIA
El almacenamiento en la computadora
fundamentalmente en secuencia contigua,
cada acceso a una matriz o tabla la maquina
tarea de convertir la posición dentro del arrays
perteneciente a una línea.
Está dispuesto
de modo que
debe realizar la
en una posición

ALMACENAMIENTO DE UN VECTOR
El almacenamiento de un vector en memoria se realiza en celdas
o posiciones secuenciales.

ALMACENAMIENTO DE ARRAYS MULTIDIMENSIONALES
Debido a que la memoria de la computadora es lineal, un arrays
Multidimensional debe estar linealizado para su disposición en el
almacenamiento.
Los lenguajes de programación pueden almacenar los arrays en
memoria de dos formas: orden de fila mayor y orden de columna
mayor.