Download - Solucionario Del Examen

Transcript
Page 1: Solucionario Del Examen

LENGUAJE DE PROGRAMACIÓN

Los lenguajes de programación son lenguajes creado por el ser humano para poder comunicarse con las computadoras. Estos son un conjunto de símbolos y palabras que permiten al usuario de una computadora darle instrucciones y órdenes para que esta las pueda realizar.

Los lenguajes de programación son el medio de comunicación entre los programadores o los usuarios y la computadora. Con ellos se construyen los programas que después serán ejecutados por la computadora.

Es un conjunto de símbolos junto a un conjunto de reglas para combinar dichos símbolos que se usan para expresar programas. Constan de un léxico, una sintaxis y una semántica.

“Un conjunto de caracteres, símbolos, representaciones y reglas que permiten introducir y tratar la información en un ordenador”, este tipo de lenguaje lo clasificaríamos como un lenguaje artificial.

SEMÁNTICA: Reglas que permiten determinar el significado de cualquier construcción del lenguaje. Especifica el significado de un programa sintácticamente válido escrito en el lenguaje. Las reglas que determina el significado de los programas constituyen la semántica de los lenguajes de programación.

SINTAXIS: Reglas que indican cómo realizar las construcciones del lenguaje

Son las reglas con las que deben unirse los elementos de un lenguaje de programación (términos y puntuación) para construir frases (líneas de código).

La sintaxis de un lenguaje de programación se define como el conjunto de reglas que deben seguirse al escribir el código fuente de los programas para considerarse como correctos para ese lenguaje de programación.

TRADUCTOR

Un traductor es un programa que traduce o convierte desde un texto o programa escrito en un lenguaje fuente hasta un texto o programa escrito en un lenguaje destino produciendo, si cabe, mensajes de error. Los traductores engloban tanto al compilador como al intérprete.

Los traductores son programas que traducen los programas en código fuente, escritos en lenguajes de alto nivel, a programas escritos en lenguaje máquina. Los traductores pueden ser de dos tipos: compiladores e intérpretes

Page 2: Solucionario Del Examen

COMPILADORES

Es aquel traductor que tiene como entrada una sentencia en lenguaje formal y como salida tiene un fichero ejecutable, es decir, hace una traducción de alto nivel a código máquina.Para cada lenguaje de programación se requiere un compilador separado. El compilador traduce todo el programa antes de ejecutarlo. Los compiladores son, pues, programas de traducción insertados en la memoria por el sistema operativo para convertir programas de cómputo en pulsaciones electrónicas ejecutables (lenguaje de máquina).

Un compilador es un programa que lee el código escrito en un lenguaje (lenguaje origen), y lo traduce en un programa equivalente escrito en otro lenguaje (lenguaje objetivo). Como una parte fundamental de este proceso de traducción, el compilador le hace notar al usuario la presencia de errores en el código fuente del programa. Vea la siguiente figura.

Un compilador acepta programas escritos en un lenguaje de alto nivel y los traduce a otro lenguaje, generando un programa equivalente independiente, que puede ejecutarse tantas veces como se quiera.

Page 3: Solucionario Del Examen

Los programas interpretados suelen ser más lentos que los compilados, pero los intérpretes son más flexibles como entornos de programación y depuración. Comparando su actuación con la de un ser humano, un compilador equivale a un traductor profesional que, a partir de un texto, prepara otro independiente traducido a otra lengua, mientras que un intérprete corresponde al intérprete humano, que traduce de viva voz las palabras que oye, sin dejar constancia por escrito.

Ventajas de compilar frente a interpretar:

Se compila una vez, se ejecuta n veces. En bucles, la compilación genera código equivalente al bucle, pero interpretándolo

se traduce tantas veces una línea como veces se repite el bucle. El compilador tiene una visión global del programa, por lo que la información de

mensajes de error es mas detallada. Ventajas del intérprete frente al compilador: Un intérprete necesita menos memoria que un compilador. En principio eran más

abundantes dado que los ordenadores tenían poca memoria. Permiten una mayor interactividad con el código en tiempo de desarrollo.

Page 4: Solucionario Del Examen

Ventajas del intérprete frente al compilador:

El programa se puede ejecutar de inmediato, sin esperar a ser compilado. Puede ser interrumpido con facilidad. Puede ser rápidamente modificado y ejecutado nuevamente. Resultan muy apropiados durante la fase de desarrollo de un programa, ya que la

compilación no permite la ejecución paso a paso del programa y con ello impide la edición seguimiento y depuración del programa.

Desventajas del intérprete frente al compilador:

La ejecución es más lenta, pues cada instrucción debe ser traducida a código máquina tantas veces como sea ejecutada.

No son adecuados en la fase de explotación del programa ya que el proceso de interpretación se ha de repetir cada vez que se ejecuta el programa, mientras que con la compilación, una vez obtenido el programa en leguaje máquina éste puede ser ejecutado sin necesidad de compilarlo de nuevo.

La diferencia fundamental es la siguiente:

Los compiladores realizan la traducción en tiempo de desarrollo. Es decir, el programa aún no se está ejecutando. El compilador recibe todo el código fuente, lo analiza, lo optimiza y lo traduce a lenguaje máquina dejando un programa completo listo para su ejecución.

Los intérpretes realizan la traducción en tiempo de ejecución. Es decir, a medida que el programa se va ejecutando, el intérprete va traduciendo instrucciones al lenguaje máquina.

INTERPRETE

Un intérprete es un traductor de lenguaje, igual que un compilador, pero difiere de éste en que ejecuta el programa fuente inmediatamente, en vez de generar un código objeto que se ejecuta después de que se completa la traducción. En principio, cualquier lenguaje de programación se puede interpretar o compilar, pero se puede preferir un intérprete a un compilador dependiendo del lenguaje que se esté usando y de la situación en la cual se presenta la traducción.

Un intérprete es un programa que analiza y ejecuta simultáneamente un programa escrito en un lenguaje fuente.

En la Figura 1 se presenta el esquema general de un intérprete visto como una caja negra. Cualquier intérprete tiene dos entradas: un programa P escrito en un lenguaje fuente LF (en lo sucesivo, se denotará P/LF) junto con los datos de entrada; a partir de dichas entradas, mediante un proceso de interpretación va produciendo unos resultados.

Page 5: Solucionario Del Examen

Los compiladores, a diferencia de los intérpretes, transforman el programa a un programa equivalente en un código objeto (fase de compilación), y en un segundo paso generan los resultados a partir de los datos de entrada (fase de ejecución).

Los intérpretes no producen un lenguaje objetivo como en los compiladores. Un intérprete lee el código como está escrito e inmediatamente lo convierte en acciones; es decir, lo ejecuta en ese instante.

Diferencia entre compilador e intérprete

Los compiladores difieren de los intérpretes en varios aspectos:

Un programa que ha sido compilado puede correr por sí sólo, pues en el proceso de compilación se lo transformo en otro lenguaje (lenguaje máquina).

Un intérprete traduce el programa cuando lo lee, convirtiendo el código del programa directamente en acciones. La ventaja del intérprete es que dado cualquier programa se puede interpretar en cualquier plataforma (sistema operativo). En cambio, el archivo generado por el compilador solo funciona en la

Page 6: Solucionario Del Examen

plataforma en donde se le ha creado. Sin embargo, hablando de la velocidad de ejecución, un archivo compilado es de 10 a 20 veces más rápido que un archivo interpretado.

“Un compilador es un programa que lee un programa escrito en un lenguaje de programación y lo traduce a un programa equivalente en otro lenguaje, el lenguaje objeto”

SISTEMA OPERATIVO

Una de las principales funciones del S. O.es ocultar toda esta complejidad y brindar al programador un conjunto más conveniente de instrucciones para trabajar.

KERNEL

Es el principal responsable de facilitar a los distintos programas acceso seguro al hardware de la computadora o en forma básica, es el encargado de gestionar recursos, a través de servicios de llamada al sistema.Decide qué programa podrá hacer uso de un dispositivo de hardware y durante cuánto tiempo, lo que se conoce como multiplexado.

Page 7: Solucionario Del Examen

Parte esencial de un sistema operativo que provee los servicios más básicos del sistema. Se encarga de gestionar los recursos como el acceso seguro al hardware de la computadora. Se encarga también del multiplexado, determinando qué programa accederá a un determinado hardware si dos o más quieren usarlo al mismo tiempo. El kernel también ofrece una serie de abstracciones del hardware para que los programadores no tengan que acceder directamente al hardware, proceso que puede ser complicado.

Es el software responsable de facilitar a los distintos programas acceso seguro al hardware de la computadora.

Es el encargado de que el software y el hardware de tu ordenador puedan trabajar juntos.

REDES DE COMPUTADORAS

Una red está formada por una serie de estaciones de trabajo y por un conjunto de dispositivos como impresoras, escáneres, etc. Todos estos dispositivos se encuentran coordinados por máquinas denominadas servidores. Además, existen diferentes dispositivos que añaden funcionalidades a las redes, como los rotures, switches y hubs. Cada dispositivo activo que interviene en la comunicación de forma autónoma se denomina nodo. Todos estos dispositivos que conforman la red se comunican entre sí por medios de transmisión físicos (cables coaxiales, de par trenzado, de fibra óptica, etc.) o basados en ondas (redes inalámbricas), aunque si el tamaño de la red lo exige pueden hacerlo mediante líneas telefónicas, de radio de largo alcance o por satélite.

Debe ser

Confiable: Estar disponible cuando se le requiera, poseer velocidad de respuesta adecuada. Confidencial: Proteger los datos sobre los usuarios de ladrones de información. Integra: En su manejo de información.

Una red informática es un conjunto de dispositivos interconectados entre sí a través de un medio, que intercambian información y comparten recursos.

TIPOS DE REDES

Redes de área local

Las redes de área local (generalmente conocidas como LANs) son redes de propiedad privada que se encuentran en un solo edificio o en un campus de pocos kilómetros de longitud. Se utilizan ampliamente para conectar computadoras personales y estaciones de trabajo en oficinas de una empresa y de fábricas para compartir recursos (por ejemplo, impresoras) e intercambiar información.

Page 8: Solucionario Del Examen

Red de área metropolitana

Una MAN(Red de área metropolitana)•Conecta diversas LAN cercanas geográficamente (en un área de alrededor de cincuenta kilómetros) entre sí a alta velocidad. Por lo tanto, una MAN permite que dos nodos remotos se comuniquen como si fueran parte de la misma red de área local

Red de área extensa

Una WAN(Red de área extensa)•Conecta múltiples LAN entre sí a través de grandes distancias geográficas. Las WAN funcionan con routers, que pueden "elegir" la ruta más apropiada para que los datos lleguen a un nodo de la red.

PROTOCOLOS DE RED

Podemos definir un protocolo como el conjunto de normas que regulan la comunicación (establecimiento, mantenimiento y cancelación) entre los distintos componentes de una red informática. Existen dos tipos de protocolos: protocolos de bajo nivel y protocolos de red.Los protocolos de bajo nivel controlan la forma en que las señales se transmiten por el cable o medio físico. En la primera parte del curso se estudiaron los habitualmente utilizados en redes locales (Ethernet y Token Ring). Aquí nos centraremos en los protocolos de red. Los protocolos de red organizan la información (controles y datos) para su transmisión por el medio físico a través de los protocolos de bajo nivel.

Conjunto de normas standard que especifican el método para enviar y recibir datos entre varios ordenadores. Es una convención que controla o permite la conexión, comunicación, y transferencia de datos entre dos puntos finales.

En Informática y Telecomunicaciones, un protocolo es una convención, o estándar, o acuerdo entre partes que regula la conexión, la comunicación y la transferencia de datos entre dos sistemas. En su forma más simple, un protocolo se puede definir como las reglas que gobiernan la semántica (significado de lo que se comunica), la sintaxis (forma en que se expresa) y la sincronización (quién y cuándo transmite) de la comunicación. Los protocolos pueden estar implementados bien en hardware (tarjetas de red), software (drivers), o una combinación de ambos.

TOPOLOGIA

Se llama topología de una Red al patrón de conexión entre sus nodos, es decir, a la forma en que están interconectados los distintos nodos que la forman.

Es el arreglo físico o lógico en el cual los dispositivos o nodos de una red (e.g. computadoras, impresoras, servidores, hubs, switches, enrutadores, etc.) se

Page 9: Solucionario Del Examen

interconectan entre sí sobre un medio de comunicación. Está compuesta por dos partes, la topología física, que es la disposición real de los cables (los medios) y la topología lógica, que define la forma en que los hosts acceden a los medios. Las topologías físicas que se utilizan comúnmente son de bus, de anillo, en estrella, en estrella extendida, jerárquica y en malla.

La topología de una red define su estructura. Pueden establecerse la topología física, que es la forma en que se conectan los terminales, dispositivos y recursos de la red, y la topología lógica, que es la forma de acceso a la información de la red. La elección de una topología u otra influye en gran medida en el funcionamiento y configuración de la red.

MODELO OSI

El modelo de referencia para la interconexión de sistemas abiertos interconexión de sistemas abiertos, es un estándar internacional para la conectividad en red.

Sirve para desarrollo, estudio y comparación, la implementación de los protocolos.

Los hardware y software diseñan sus productos de red basados en las especificaciones del modelo osi.

Divide la comunicación de red en 7 capas

1.Física

2.Enlace de datos

3.Red

4.Transporte

INTELIGENCIA ARTIFICIAL

La inteligencia artificial es un área multidisciplinaria que, a través de ciencias como la informática, la lógica y la filosofía, estudia la creación y diseño de entidades capaces de razonar por sí mismas utilizando como paradigma la inteligencia humana.

ALGORITMOS GENÉTICOS

Los Algoritmos Genéticos (AGs) son métodos adaptativos que pueden usarse para resolver problemas de búsqueda y optimización.

Están basados en el proceso genético de los organismos vivos. A lo largo de las generaciones, las poblaciones evolucionan en la naturaleza de acorde con los principios de la selección natural y la supervivencia de los más fuertes, postulados por Darwin.

Por imitación de este proceso, los Algoritmos Genéticos son capaces de ir creando soluciones para problemas del mundo real. La evolución de dichas soluciones hacia

5.Sesión

6.Presentación

7.Aplicación

Page 10: Solucionario Del Examen

valores óptimos del problema depende en buena medida de una adecuada codificación de las mismas.

Un algoritmo genético consiste en una función matemática o una rutina de software que toma como entradas a los ejemplares y retorna como salidas cuales de ellos deben generar descendencia para la nueva generación.

Un algoritmo genético es un método de búsqueda que imita la teoría de la evolución biológica de Darwin para la resolución de problemas. Para ello, se parte de una población inicial de la cual se seleccionan los individuos más capacitados para luego reproducirlos y mutarlos para finalmente obtener la siguiente generación de individuos que estarán más adaptados que la anterior generación.

ROBÓTICA

La robótica es la rama de la tecnología que se dedica al diseño, construcción, operación, disposición estructural, manufactura y aplicación de los robots.

La robótica combina diversas disciplinas como son: la mecánica, la electrónica, la informática, la inteligencia artificial, la ingeniería de control y la física.[3] Otras áreas importantes en robótica son el álgebra, los autómatas programables, la animatrónica y las máquinas de estados.

La Robótica es la ciencia que trata acerca del diseño y la implementación de maquinas capaces de emular el comportamiento de un ser vivo, se sirve de otras áreas como la inteligencia artificial, la mecánica, electrónica, la lógica, el álgebra, para poder hacer la complicada tarea de resolver problemas de la mejor manera posible.

SISTEMAS EXPERTOS

Los sistemas expertos son llamados así porque emulan el razonamiento de un experto en un dominio concreto, y en ocasiones son usados por éstos. Con los sistemas expertos se busca una mejor calidad y rapidez en las respuestas, dando así lugar a una mejora de la productividad del propio experto al usar este tipo de sistemas informáticos.

Los Sistemas Expertos, rama de la Inteligencia Artificial, son sistemas informáticos que simulan el proceso de aprendizaje, de memorización, de razonamiento, de comunicación y de acción en consecuencia de un experto humano en cualquier rama de la ciencia.

SOFTWARE-DEFINICION

Esta constituido por el conjunto de programas ejecutables que posee el sistema informático

Page 11: Solucionario Del Examen

REDES NEURONALES

Una red neuronal es un sistema compuesto de muchos elementos procesadores simples operando en paralelo, cuya función es determinada por la estructura de la red, fuerza en las conexiones y el procesamiento realizado por los elementos computacionales en los nodos."

Es un procesamiento distribuido masivamente paralelo que tiene una tendencia natural para almacenar conocimiento empírico y hacerlo disponible para el uso.

Las neuronas son un tipo de células del sistema nervioso cuya principal función es la excitabilidad eléctrica de su membrana plasmática; están especializadas en la recepción de estímulos y conducción del impulso nervioso (en forma de potencial de acción) entre ellas o con otros tipos celulares.

Page 12: Solucionario Del Examen