martes, 15 de mayo de 2012

Robot y Sus Generaciones.

Un robot es una entidad virtual o mecánica artificial. En la práctica, esto es por lo general un sistema electromecánico que, por su apariencia o sus movimientos, ofrece la sensación de tener un propósito propio. La independencia creada en sus movimientos hace que sus acciones sean la razón de un estudio razonable y profundo en el área de la ciencia y tecnología. La palabra robot puede referirse tanto a mecanismos físicos como a sistemas virtuales de software, aunque suele aludirse a los segundos con el término de bots.[1]
No hay un consenso sobre qué máquinas pueden ser consideradas robots, pero sí existe un acuerdo general entre los expertos y el público sobre que los robots tienden a hacer parte o todo lo que sigue: moverse, hacer funcionar un brazo mecánico, sentir y manipular su entorno y mostrar un comportamiento inteligente, especialmente si ese comportamiento imita al de los humanos o a otros animales. Actualmente podría considerarse que un robot es una computadora con la capacidad y el propósito de movimiento que en general es capaz de desarrollar múltiples tareas de manera flexible según su programación; así que podría diferenciarse de algún electrodoméstico específico.
Aunque las historias sobre ayudantes y acompañantes artificiales, así como los intentos de crearlos, tienen una larga historia, las máquinas totalmente autónomas no aparecieron hasta el siglo XX. El primer robot programable y dirigido de forma digital, el Unimate, fue instalado en 1961 para levantar piezas calientes de metal de una máquina de tinte y colocarlas.
Por lo general, la gente reacciona de forma positiva ante los robots con los que se encuentra. Los robots domésticos para la limpieza y mantenimiento del hogar son cada vez más comunes en los hogares. No obstante, existe una cierta ansiedad sobre el impacto económico de la automatización y la amenaza del armamento robótico, una ansiedad que se ve reflejada en el retrato a menudo perverso y malvado de robots presentes en obras de la cultura popular. Comparados con sus colegas de ficción, los robots reales siguen siendo limitados.

Logica de Programacion.

Logica de programacion:

La programación lógica es un tipo de paradigmas de programación dentro del paradigma de programación declarativa. El resto de los subparadigmas de programación dentro de la programación declarativa son: programación funcional, programación con restricciones, programas DSL (de dominio específico) e híbridos. La programación lógica gira en torno al concepto de predicado, o relación entre elementos. La programación funcional se basa en el concepto de función (que no es más que una evolución de los predicados), de corte más matemático.

Logica algoritmo:
En matemáticas, ciencias de la computación y disciplinas relacionadas, un algoritmo (del griego y latín, dixit algorithmus y este a su vez del matemático persa Al-Juarismi[1] ) es un conjunto preescrito de instrucciones o reglas bien definidas, ordenadas y finitas que permite realizar una actividad mediante pasos sucesivos que no generen dudas a quien deba realizar dicha actividad.[2] Dados un estado inicial y una entrada, siguiendo los pasos sucesivos se llega a un estado final y se obtiene una solución. Los algoritmos son el objeto de estudio de la algoritmia.[1]
En la vida cotidiana, se emplean algoritmos frecuentemente para resolver problemas. Algunos ejemplos son los manuales de usuario, que muestran algoritmos para usar un aparato, o las instrucciones que recibe un trabajador por parte de su patrón. Algunos ejemplos en matemática son el algoritmo de la división para calcular el cociente de dos números, el algoritmo de Euclides para obtener el máximo común divisor de dos enteros positivos, o el método de Gauss para resolver un sistema lineal de ecuaciones.

Lenguajes Expertos.

Compilado:
Un lenguaje compilado es término un tanto impreciso para referirse a un lenguaje de programación que típicamente se implementa mediante un compilador. Esto implica que una vez escrito el programa, éste se traduce a partir de su código fuente por medio de un compilador en un archivo ejecutable para una determinada plataforma (por ejemplo Solaris para Sparc, Windows NT para Intel, etc.).
Los lenguajes compilados son lenguajes de alto nivel en los que las instrucciones se traducen del lenguaje utilizado a código máquina para una ejecución rápida. Por el contrario un lenguaje interpretado es aquel en el que las instrucciones se traducen o interpretan una a una siendo típicamente unas 10 veces más lentos que los programas compilados.
Es teóricamente posible escribir un compilador o un intérprete para cualquier lenguaje, sin embargo en algunos lenguajes una u otra implementación es más sencilla porque se diseñaron con una implementación en particular en mente.
Algunos entornos de programación incluyen los dos mecanismos, primero el código fuente se traduce a un código intermedio que luego se interpreta en una máquina virtual, pero que también puede compilarse justo antes de ejecutarse. La máquina virtual y los compiladores Just in Time de Java son un ejemplo de ello.

Interpretado: 

Un lenguaje interpretado es un lenguaje de programación que está diseñado para ser ejecutado por medio de un intérprete, en contraste con los lenguajes compilados. Teóricamente, cualquier lenguaje puede ser compilado o ser interpretado, así que esta designación es aplicada puramente debido a la práctica de implementación común y no a alguna característica subyacente de un lenguaje en particular. Sin embargo, hay lenguajes que son diseñados para ser intrínsecamente interpretativos, por lo tanto un compilador causará una carencia de la eficacia. Muchos autores rechazan la clasificación de lenguajes de programación entre interpretados y compilados, considerando que el modo de ejecución (por medio de intérprete o de compilador) del programa escrito en el lenguaje es independiente del propio lenguaje. A ciertos lenguajes interpretados también se les conoce como lenguajes de script.
Muchos lenguajes han sido implementados usando tanto compiladores como intérpretes, incluyendo Lisp, Pascal, C, BASIC, y Python. Mientras que Java es traducido a una forma que se destina a ser interpretada, la compilación justo a tiempo es frecuentemente usada para generar el código de máquina. Los lenguajes de Microsoft .NET compilan a una forma intermedia (CIL) la cual es entonces a menudo compilada en código de máquina nativo; sin embargo hay una máquina virtual capaz de interpretar el CIL. Muchas implementaciones Lisp pueden mezclar libremente código interpretado y compilado. Estas implementaciones también usan un compilador que puede traducir arbitrariamente código fuente en tiempo de ejecución.

Declarativo: 
La Programación Declarativa, en contraposición a la programación imperativa es un paradigma de programación que está basado en el desarrollo de programas especificando o "declarando" un conjunto de condiciones, proposiciones, afirmaciones, restricciones, ecuaciones o transformaciones que describen el problema y detallan su solución. La solución es obtenida mediante mecanismos internos de control, sin especificar exactamente cómo encontrarla (tan sólo se le indica a la computadora que es lo que se desea obtener o que es lo que se está buscando). No existen asignaciones destructivas, y las variables son utilizadas con Transparencia referencial.



Lenguajes de programacion.

Un lenguaje de programación es un idioma artificial diseñado para expresar procesos que pueden ser llevadas a cabo por máquinas como las computadoras. 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.[1] 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 prueba, se depura, se compila 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).
  • Ensamblaje o compilación del programa hasta convertirlo en lenguaje de máquina.
  • Prueba y depuración del programa.
  • Desarrollo de la documentación.
Existe un error común que trata por sinónimos los términos 'lenguaje de programación' y 'lenguaje informático'. Los lenguajes informáticos engloban a los lenguajes de programación y a otros más, como por ejemplo HTML (lenguaje para el marcado de páginas web que no es propiamente un lenguaje de programación, sino un conjunto de instrucciones que permiten diseñar el contenido de los documentos).
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.

Sistemas operativos y base de datos.

Los sistemas operativos en red son aquellos sistemas que mantienen a dos o más equipos unidos por un medio de comunicación (físico o no) con el objetivo de compartir recursos hardware y software.

Con sistemas en red podremos formar:
-Dominio:Es una agrupación lógica de equipos, que permite realizar una gestión centralizada,es decir,desde una ubicación se controla los servicios administrativos del dominio.Los recursos lo gestiona el servidor principal.
- Clientes: Son equipos con un sistema operativo monopuesto conectados para empezar a trabajar en red.
- Servidores: Son equipos con sistemas operativos en red que proporcionan recursos a los clientes.

·Conecta todos los equipos y recursos de la red
·Proporciona seguridad controlando el acceso a los datos y recursos.Debe contener clave y ver la política de seguridad,es decir,quién tiene acceso,que puede hacer,etc..
·Optimiza la utilización de los recursos.Esto depende del Servidor Principal
·Recursos y equipos centralizados
·Coordina las funciones
·Comparte recursos.Lleva a cabo la coordinación y los privilegios a la hora de compartir
·Hay una gestión de usuarios
·Gestión de la Red.Monitoriza la red automáticamente.

Hardware y Software y Su Diferencia.

Hardware:
corresponde a todas las partes tangibles de un sistema informático; sus componentes son: eléctricos, electrónicos, electromecánicos y mecánicos.[1] Son cables, gabinetes o cajas, periféricos de todo tipo y cualquier otro elemento físico involucrado; contrariamente, el soporte lógico es intangible y es llamado software. El término es propio del idioma inglés (literalmente traducido: partes duras), su traducción al español no tiene un significado acorde, por tal motivo se la ha adoptado tal cual es y suena; la Real Academia Española lo define como «Conjunto de los componentes que integran la parte material de una computadora».[2] El término, aunque es lo más común, no solamente se aplica a una computadora tal como se la conoce, también, por ejemplo, un robot, un teléfono móvil, una cámara fotográfica o un reproductor multimedia poseen hardware (y software).[3] [4]
La historia del hardware del computador se puede clasificar en cuatro generaciones, cada una caracterizada por un cambio tecnológico de importancia. Este hardware se puede clasificar en: básico, el estrictamente necesario para el funcionamiento normal del equipo; y complementario, el que realiza funciones específicas.
Un sistema informático se compone de una unidad central de procesamiento (UCP/CPU), encargada de procesar los datos, uno o varios periféricos de entrada, los que permiten el ingreso de la información y uno o varios periféricos de salida, los que posibilitan dar salida (normalmente en forma visual o auditiva) a los datos procesados.

Software: 
Se conoce como software[1] al equipamiento lógico o soporte lógico de un sistema informático, comprende el conjunto de los componentes lógicos necesarios que hacen posible la realización de tareas específicas, en contraposición a los componentes físicos, que son llamados hardware.
Los componentes lógicos incluyen, entre muchos otros, las aplicaciones informáticas; tales como el procesador de texto, que permite al usuario realizar todas las tareas concernientes a la edición de textos; el software de sistema, tal como el sistema operativo, que, básicamente, permite al resto de los programas funcionar adecuadamente, facilitando también la interacción entre los componentes físicos y el resto de las aplicaciones. 

El software se ha diseñado para ejecutarse en procesadores y microcontroladores de bajo coste, con un diseño de radio muy optimizado para lograr bajos costes con altos volúmenes de producción. Utiliza circuitos digitales siempre que es posible y evita los componentes analógicos.
Si bien el hardware es sencillo, el proceso de certificación de un dispositivo conlleva una validación completa de los requerimientos del nivel físico. Esta revisión intensiva tiene múltiples ventajas, ya que todas las radios fabricadas a partir de una misma máscara de semiconductor gozarán de las mismas características de radiofrecuencia. Por otro lado, un nivel físico mal controlado podría perjudicar no sólo al propio dispositivo, sino al consumo de energía de otros dispositivos en la red. Otros estándares pueden compensar ciertos problemas, mientras que ZigBee trabaja en márgenes muy estrechos de consumo y ancho de banda. Por ello, según el 802.15.4, las radios pasan validaciones ISO 17025. La mayoría de fabricantes planea integrar la radio y el microcontrolador en un único chip.

Disco Duro.

Definicion:
El primer disco duro fue inventado por IBM en 1956. A lo largo de los años, los discos duros han disminuido su precio al mismo tiempo que han multiplicado su capacidad, siendo la principal opción de almacenamiento secundario para PC desde su aparición en los años 60.[1] Los discos duros han mantenido su posición dominante gracias a los constantes incrementos en la densidad de grabación, que se ha mantenido a la par de las necesidades de almacenamiento secundario.[1]
Los tamaños también han variado mucho, desde los primeros discos IBM hasta los formatos estandarizados actualmente: 3,5" los modelos para PC y servidores, 2,5" los modelos para dispositivos portátiles. Todos se comunican con la computadora a través del controlador de disco, empleando una interfaz estandarizado. Los más comunes hoy día son IDE (también llamado ATA o PATA), SCSI (generalmente usado en servidores y estaciones de trabajo), Serial ATA y FC (empleado exclusivamente en servidores).
Para poder utilizar un disco duro, un sistema operativo debe aplicar un formato de bajo nivel que defina una o más particiones. La operación de formateo requiere el uso de una fracción del espacio disponible en el disco, que dependerá del formato empleado. Además, los fabricantes de discos duros, unidades de estado sólido y tarjetas flash miden la capacidad de los mismos usando prefijos SI, que emplean múltiplos de potencias de 1000 según la normativa IEC, en lugar de los prefijos binarios clásicos de la IEEE, que emplean múltiplos de potencias de 1024, y son los usados mayoritariamente por los sistemas operativos. Esto provoca que en algunos sistemas operativos sea representado como múltiplos 1024 o como 1000, y por tanto existan ligeros errores, por ejemplo un Disco duro de 500 GB, en algunos sistemas operativos sea representado como 465 GiB (Según la IEC Gibibyte, o Gigabyte binario, que son 1024 Mebibytes) y en otros como 500 GB.
Las unidades de estado sólido tienen el mismo uso que los discos duros y emplean las mismas interfaces, pero no están formadas por discos mecánicos, sino por memorias de circuitos integrados para almacenar la información. El uso de esta clase de dispositivos anteriormente se limitaba a las supercomputadoras, por su elevado precio, aunque hoy en día ya son muchísimo más asequibles para el mercado doméstico.[2

Estrutura fisica: 
Dentro de un disco duro hay uno o varios discos (de aluminio o cristal) concéntricos llamados platoscabezal (dispositivo de lectura y escritura) está formado por un conjunto de brazos paralelos a los platos, alineados verticalmente y que también se desplazan de forma simultánea, en cuya punta están las cabezas de lectura/escritura. Por norma general hay una cabeza de lectura/escritura para cada superficie de cada plato. Los cabezales pueden moverse hacia el interior o el exterior de los platos, lo cual combinado con la rotación de los mismos permite que los cabezales puedan alcanzar cualquier posición de la superficie de los platos.. (normalmente entre 2 y 4, aunque pueden ser hasta 6 ó 7 según el modelo), y que giran todos a la vez sobre el mismo eje, al que están unidos. El
Cada plato posee dos ojos, y es necesaria una cabeza de lectura/escritura para cada cara. Si se observa el esquema Cilindro-Cabeza-Sector de más abajo, a primera vista se ven 4 brazos, uno para cada plato. En realidad, cada uno de los brazos es doble, y contiene 2 cabezas: una para leer la cara superior del plato, y otra para leer la cara inferior. Por tanto, hay 8 cabezas para leer 4 platos, aunque por cuestiones comerciales, no siempre se usan todas las caras de los discos y existen discos duros con un número impar de cabezas, o con cabezas deshabilitadas. Las cabezas de lectura/escritura nunca tocan el disco, sino que pasan muy cerca (hasta a 3 nanómetros), debido a una finísima película de aire que se forma entre éstas y los platos cuando éstos giran (algunos discos incluyen un sistema que impide que los cabezales pasen por encima de los platos hasta que alcancen una velocidad de giro que garantice la formación de esta película). Si alguna de las cabezas llega a tocar una superficie de un plato, causaría muchos daños en él, rayándolo gravemente, debido a lo rápido que giran los platos (uno de 7.200 revoluciones por minuto se mueve a 129 km/h en el borde de un disco de 3,5 pulgadas).

Estructura logica: 
Dentro del disco se encuentran:
Caracteristicas:
Las características que se deben tener en cuenta en un disco duro son:
  • Tiempo medio de acceso: Tiempo medio que tarda la aguja en situarse en la pista y el sector deseado; es la suma del Tiempo medio de búsqueda (situarse en la pista), Tiempo de lectura/escritura y la Latencia media (situarse en el sector).
  • Tiempo medio de búsqueda: Tiempo medio que tarda la aguja en situarse en la pista deseada; es la mitad del tiempo empleado por la aguja en ir desde la pista más periférica hasta la más central del disco.
  • Tiempo de lectura/escritura: Tiempo medio que tarda el disco en leer o escribir nueva información: Depende de la cantidad de información que se quiere leer o escribir, el tamaño de bloque, el número de cabezales, el tiempo por vuelta y la cantidad de sectores por pista.
  • Latencia media: Tiempo medio que tarda la aguja en situarse en el sector deseado; es la mitad del tiempo empleado en una rotación completa del disco.
  • Velocidad de rotación: Revoluciones por minuto de los platos. A mayor velocidad de rotación, menor latencia media.
  • Tasa de transferencia: Velocidad a la que puede transferir la información a la computadora una vez la aguja está situada en la pista y sector correctos. Puede ser velocidad sostenida o de pico.
Otras características son:
  • Caché de pista: Es una memoria tipo Flash dentro del disco duro.
  • Interfaz: Medio de comunicación entre el disco duro y la computadora. Puede ser IDE/ATA, SCSI, SATA, USB, Firewire, Serial Attached SCSI 
  • Landz: Zona sobre las que aparcan las cabezas una vez se apaga la computadora.