# data[].attributes.body
Mirando el proceso activo (abrir Administrador de tareas en la ficha "procesos" ) buscamos jusched.exe que es un proceso instalado junto con el suite Java de Sun Microsystems, y sirve para chequear actualizaciones por internet.

# data[].attributes.body
java -version

# data[].attributes.attachment_link.title
Linux. Saber si tenemos instalado Java en Ubuntu.

# data[].attributes.attachment_link.description
Centro de Estudios e Informática. c/La Unión 57, 1º B (Málaga) Teléfono: 951993195

# data[].attributes.headline
Comando para ver si esta instalado JAVA en nuestro sistema operativo

# data[].attributes.subject
Comando para ver si esta instalado JAVA en nuestro sistema operativo

# data[].attributes.body
Hay programas que necesitan una versión concreta de JAVA para funcionar correctamente.

La mayoría de programas funcionan con la última versión, pero no todos. En algunos casos se requiere una versión concreta.

*Usar la propia pagina de JAVA la cual nos dirá nuestra versión y cual debemos tener.

# data[].attributes.attachment_link.description
Verificación de la instalación y la versión del software de Java

# data[].attributes.body
Definición de objetivos: definir el resultado del proyecto y su papel en la estrategia global.

Análisis de los requisitos y su viabilidad: recopilar, examinar y formular los requisitos del cliente y examinar cualquier restricción que se pueda aplicar.

Diseño general: requisitos generales de la arquitectura de la aplicación.

Diseño en detalle: definición precisa de cada subconjunto de la aplicación.

Programación (programación e implementación): es la implementación de un lenguaje de programación para crear las funciones definidas durante la etapa de diseño.

Prueba de unidad: prueba individual de cada subconjunto de la aplicación para garantizar que se implementaron de acuerdo con las especificaciones.

Integración: para garantizar que los diferentes módulos se integren con la aplicación. Éste es el propósito de la prueba de integración que está cuidadosamente documentada.

Prueba beta (o validación), para garantizar que el software cumple con las especificaciones originales.

Documentación: sirve para documentar información necesaria para los usuarios del software y para desarrollos futuros.

Implementación

Mantenimiento: para todos los procedimientos correctivos (mantenimiento correctivo) y las actualizaciones secundarias del software (mantenimiento continuo).

# data[].attributes.body
Programa que traduce los programas fuentes escritos en lenguaje de alto nivel -PASCAL, FORTRAN,... a lenguaje máquina.

El compilador traduce -sentencia a sentencia- el programa fuente.

la compilación es el proceso de traducción de programas fuente a programas objeto.

# data[].attributes.body
*Alto nivel; ejecutan un programa linea por linea.

*Permanece en su forma original; traduce al momento de ejecutar cada una de las instrucciones.

*Procesa los programas escritos; no existe independencia entre la etapa de traducción y la etapa de ejecución

*Traduce cada instrucción o sentencia del programa escrito a un lenguaje de maquina e inmediatamente lo ejecuta.

*Los errores son fáciles de detectar y de corregir.

# data[].attributes.body
Puedes migrar de una máquina a otra sin ningún tipo de problema.

-Solucionan problemas mediante el uso de Estructuras Dinámicas de Datos

- Independientes de la arquitectura del ordenador.

Complemento

# data[].attributes.attachment_link.readable_text
Existen dos tipos de lenguajes claramente diferenciados; los lenguajes de bajo nivel y los de alto nivel.

El ordenador sólo entiende un lenguaje conocido como código binario o código máquina, consistente en ceros y unos. Es decir, sólo utiliza 0 y 1 para codificar cualquier acción.

Los lenguajes más próximos a la arquitectura hardware se denominan lenguajes de bajo nivel y los que se encuentran más cercanos a los programadores y usuarios se denominan lenguajes de alto nivel.

Lenguajes de bajo nivel

Son lenguajes totalmente dependientes de la máquina, es decir que el programa que se realiza con este tipo de lenguajes no se pueden migrar o utilizar en otras maquinas.

Al estar prácticamente diseñados a medida del hardware, aprovechan al máximo las características del mismo.

Dentro de este grupo se encuentran:

El lenguaje maquina: este lenguaje ordena a la máquina las operaciones fundamentales para su funcionamiento. Cnsiste en la combinación de 0's y 1's para formar las ordenes entendibles por el hardware de la maquina.
Este lenguaje es mucho más rápido que los lenguajes de alto nivel.
La desventaja es que son bastantes difíciles de manejar y usar, además de tener códigos fuente enormes donde encontrar un fallo es casi imposible.

El lenguaje ensamblador es un derivado del lenguaje maquina y esta formado por abreviaturas de letras y números llamadas mnemotécnicos. Con la aparición de este lenguaje se crearon los programas traductores para poder pasar los programas escritos en lenguaje ensamblador a lenguaje máquina. Como ventaja con respecto al código máquina es que los códigos fuentes eran más cortos y los programas creados ocupaban menos memoria. Las desventajas de este lenguaje siguen siendo prácticamente las mismas que las del lenguaje ensamblador, ñadiendo la dificultad de tener que aprender un nuevo lenguaje difícil de probar y mantener.

Lenguajes de alto nivel
Son aquellos que se encuentran más cercanos al lenguaje natural que al lenguaje máquina.
Están dirigidos a solucionar problemas mediante el uso de EDD's.

Nota: EDD's son las abreviaturas de Estructuras Dinamicas de Datos, algo muy utilizado en todos los lenguajes de programación. Son estructuras que pueden cambiar de tamaño durante la ejecución del programa. Nos permiten crear estructuras de datos que se adapten a las necesidades reales de un programa.

Se tratan de lenguajes independientes de la arquitectura del ordenador. Por lo que, en principio, un programa escrito en un lenguaje de alto nivel, lo puedes migrar de una máquina a otra sin ningún tipo de problema.

Estos lenguajes permiten al programador olvidarse por completo del funcionamiento interno de la maquina/s para la que están diseñando el programa. Tan solo necesitan un traductor que entiendan el código fuente como las características de la maquina.

Suelen usar tipos de datos para la programación y hay lenguajes de propósito general (cualquier tipo de aplicación) y de propósito especifico (como FORTRAN para trabajos científicos).

Lenguajes de Medio nivel

Se trata de un termino no aceptado por todos, pero q seguramente habrás oído. Estos lenguajes se encuentran en un punto medio entre los dos anteriores. Dentro de estos lenguajes podría situarse C ya que puede acceder a los registros del sistema, trabajar con direcciones de memoria, todas ellas características de lenguajes de bajo nivel y a la vez realizar operaciones de alto nivel.

Generaciones

La evolución de los lenguajes de programación se puede dividir en 5 etapas o generaciones.

Primera generación: lenguaje maquina.

Segunda generación: se crearon los primeros lenguajes ensambladores.

Tercera generación: se crean los primeros lenguajes de alto nivel. Ej. C, Pascal, Cobol

Cuarta generación. Son los lenguajes capaces de generar código por si solos, son los llamados RAD, con lo cuales se pueden realizar aplicaciones sin ser un experto en el lenguaje. Aquí también se encuentran los lenguajes orientados a objetos, haciendo posible la reutilización d partes del código para otros programas. Ej. Visual, Natural Adabes

Quinta generación: aquí se encuentran los lenguajes orientados a la inteligencia artificial. Estos lenguajes todavía están poco desarrollados. Ej. LISP

# data[].attributes.attachment_link.description
Existen dos tipos de lenguajes claramente diferenciados; los lenguajes de bajo nivel y los de alto nivel. El ordenador sólo entiende un lenguaje conocido como código binario o código máquina, consistente en ceros y unos. Es decir, sólo utiliza 0 y 1 para codificar cualquier acción.

# data[].attributes.body
Totalmente dependientes de la

máquina, el programa no se puede

migrar o utilizar en otras

maquinas.

* Lenguaje de máquina: Es único

y ordena a la máquina las

operaciones fundamentales que

ejecuta una computadora.

*Lenguaje ensamblador, derivado

del lenguaje maquina y esta

formado por abreviaturas de letras

y números llamadas mnemotécnicos.

# data[].attributes.headline
Diagrama de flujo o diagrama de actividades

# data[].attributes.subject
Diagrama de flujo o diagrama de actividades

# data[].attributes.body
Es la representación gráfica del algoritmo o proceso.

Acciones previas a la realización:

Identificar las ideas principales al ser incluidas en el diagrama de flujo.

Definir qué se espera obtener del diagrama de flujo.

Identificar quién lo empleará y cómo.

Establecer el nivel de detalle requerido.

Determinar los límites del proceso a describir.

Pasos a seguir:

Establecer el alcance del proceso a describir. De esta manera quedará fijado el comienzo y el final del diagrama. Frecuentemente el comienzo es la salida del proceso previo y el final la entrada al proceso siguiente.

Identificar y listar las principales actividades/subprocesos que están incluidos en el proceso a describir y su orden cronológico.

Si el nivel de detalle definido incluye actividades menores, listarlas también.

Identificar y listar los puntos de decisión.

Construir el diagrama respetando la secuencia cronológica y asignando los correspondientes símbolos.

Asignar un título al diagrama y verificar que esté completo y describa con exactitud el proceso elegido.

# data[].attributes.headline
Fases de creación de algoritmos (Programa)

# data[].attributes.subject
Fases de creación de algoritmos (Programa)

# data[].attributes.body
Definición del Problema

Esta fase está dada por el enunciado del problema, el cual requiere una definición clara y precisa.

Análisis del Problema

Una vez que se ha comprendido lo que se desea de la computadora, es necesario definir:

*Los datos de entrada.

*Cuál es la información que se desea producir (salida)

*Los métodos y fórmulas que se necesitan para procesar los datos.

Diseño del Algoritmo

Características:

*Debe tener un punto particular de inicio.

*Debe ser definido, no debe permitir dobles interpretaciones.

*Debe ser general (soportar la mayoría de las variantes que se puedan presentar en la definición del problema).

Debe ser finito en tamaño y tiempo de ejecución

Codificación

Es la operación de escribir la solución del problema (de acuerdo a la lógica del diagrama de flujo o pseudocódigo), en una serie de instrucciones detalladas, en un código reconocible por la computadora, la serie de instrucciones detalladas se le conoce como código fuente, el cual se escribe en un lenguaje de programación o lenguaje de alto nivel.

Prueba y Depuración

El proceso de identificar y eliminar errores, para dar paso a una solución sin errores se le llama depuración. La prueba consiste en la captura de datos hasta que el programa no presente errores (los más comunes son los sintácticos y lógicos).

Documentación

*Documentación Interna: Son los comentarios o mensaje que se añaden al código fuente para hacer más claro el entendimiento de un proceso.

*Documentación Externa: Se define en un documento escrito los siguientes puntos:

Descripción del Problema

Nombre del Autor

Algoritmo (diagrama de flujo o pseudocódigo)

Diccionario de Datos

Código Fuente (programa)

*Manual del Usuario: Describe paso a paso la manera cómo funciona el programa.

Mantenimiento Se lleva acabo después de terminado el programa, cuando se detecta que es necesario hacer algún cambio, ajuste o complementación al programa para que siga trabajando de manera correcta. Para poder realizar este trabajo se requiere que el programa este correctamente documentado.

# data[].attributes.body
Es un conjunto prescrito 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.

Características:

Tiene que ser preciso.

Tiene que estar bien definido.

Tiene que ser finito.

La programación es adaptar el algoritmo al ordenador.

El algoritmo es independiente según donde lo implemente.

Cada paso del algoritmo debe estar bien definido

La definición de un paso debe eser suficientemente clara, para que una persona pueda entenderla y realizarla.

Un algoritmo debe tener un principio y un fin

Un programa es un algoritmo escrito con un objetivo: conseguir un resultado.

# data[].attributes.body
Se describe el desarrollo de software, desde la fase inicial hasta la fase final (distintas fases intermedias que se requieren para validar el desarrollo de la aplicación).

# data[].attributes.body
Traductores que traducen los programas fuentes escritos en lenguaje de alto nivel a código maquina.

# data[].attributes.body
Diseñado para expresar procesos que pueden ser llevados a cabo por computadoras.

# data[].attributes.attachment_link.title
Lenguajes de programación - Lenguajes de Máquina

# data[].attributes.attachment_link.description
Los lenguajes utilizados para escribir programas de computadoras que puedan ser entendidos por ellas se denominan Lenguajes de Programación. Éstos se clasifican en tres grandes categorías: Lenguajes de Máquina, Lenguajes de Bajo nivel (Ensamblador, o Assembler) y Lenguajes de Alto nivel.