Java – Paso a paso Tema 1

Written by lopezatienza on 24/06/2009 – 12:41 -

TEMA1. INTRODUCCIÓN A LA PROGRAMACIÓN

En esta Unidad Didáctica se pretende dar unos conceptos muy generales sobre la programación, con algunas definiciones importantes, los distintos tipos de lenguajes de programación que existen, las fases de un programa informático, que son ensambladores, compiladores e intérpretes y los distintos paradigmas de programación que existen.

1. Principios básicos
2. Tipos de lenguajes
3. Fases de elaboración de un programa informático
4. Ensambladores, compiladores e intérpretes
5. Paradigmas de programación

1. Principios básicos

La aparición de la informática en la década de los 50 da origen no sólo a una nueva forma de tratar la información, sino que genera un cambio radical en la sociedad creando una nueva cultura, que no sólo se basa en la informática como ciencia, sino que comienza a depender íntimamente de ella, permitiendo avances tecnológicos jamás soñados.

A pesar de que los conocimientos adquiridos y los adelantos conseguidos han sido elevadísimos después de largos años de estudio en este campo, el ordenador sigue siendo una máquina tonta incapaz de actuar o realizar tareas por sí misma sin la ayuda del razonamiento humano.

Un ordenador es una máquina constituida por un conjunto de componentes físicos la mayoría de origen electrónico, utilizado principalmente para procesar datos de forma
rápida y eficaz. El comportamiento de todo ordenador se rige por secuencia de instrucciones que recibe a través de programas o aplicaciones.

El hombre es quien marca las pautas para su correcto funcionamiento a través de la lógica y el razonamiento.

La potencia y capacidad de cálculo de un ordenador dependerá básicamente de su eficacia, fiabilidad, rapidez y precisión, así como de la memoria disponible.

En definitiva, un ordenador es una simple máquina capaz de aceptar datos de entrada, procesarlos y facilitar datos o resultados de salida.

1.1 Conceptos y definiciones

- Datos: Son aquellos elementos considerados como unidades de tratamiento dentro de un sistema de proceso de datos. Pueden ser de entrada o de salida. Al conjunto de los datos se denomina información.

- Algoritmo: Es un conjunto finito de pasos que sirven para ejecutar una tarea o resolver un problema.

- Programas: Son conjunto de instrucciones diseñadas y creadas a través del razonamiento lógico y almacenadas en ficheros de texto respetando la sintaxis de un determinado lenguaje de programación.

- Aplicación informática: Es el conjunto de uno o más programas enlazados o relacionados entre sí, junto con la documentación generada durante el proceso de desarrollo de dicha aplicación.

- Sistema: Conjunto de elementos relacionados entre sí para la consecución de un
determinado fin.

2. Tipos de lenguajes

Todo lenguaje de programación debe adaptarse a reglas previamente establecidas; por ello podemos decir que un lenguaje de programación es un conjunto de símbolos y caracteres combinados entre sí de acuerdo con una sintaxis ya definida para posibilitar la transmisión de instrucciones a la CPU. Dichos símbolos y caracteres son traducidos a
un conjunto de señales eléctricas representadas en código binario (0 y 1). La razón se debe a que el microprocesador (cerebro del ordenador) sólo entiende un lenguaje, que es el código binario o código máquina, también denominado instrucciones máquina.

Lenguajes de bajo nivel

Son aquellos que por sus características se encuentran más próximos a la arquitectura de la máquina.

- Lenguaje máquina

o Primer lenguaje de programación.
o Único lenguaje inteligible directamente por un ordenador.
o Se basa en combinación de ceros y unos
o Ser propio de cada procesador

- Lenguaje ensamblador

Basado en el uso de nemotécnicos. Precisa de un amplio conocimiento sobre la constitución, estructura y funcionamiento interno de un ordenador.

o Ejecución más rápida que en lenguajes de alto nivel.
o Ocupa menos espacio en memoria.
o Mayor velocidad de operación y que el código fuente sea ensamblado directamente a lenguaje máquina.
o No son transportables (distintos en cada microprocesador, uno no funciona en otro)
o Es el más difícil de depurar y escribir, dificulta verificación, corrección y modificación de los mismos.

EJEMPLOS: ADD D1, D2; MOVE D1, D2

Lenguajes de alto nivel

Aquellos que se encuentran más próximos al desarrollador y usuario, son lenguajes dirigidos a solucionar problemas mediante el manejo y tratamiento de estructuras de datos que, a su vez, son abordadas por acciones concretas. Ejemplos: COBOL, PASCAL, C...

o Son independientes de la arquitectura del ordenador utilizado como soporte, pueden ser ejecutados en distintos microprocesadores.

o Con lo anterior, el programador no necesita amplios conocimientos sobre el funcionamiento interno del ordenador para el que esté programando.

o Mayor facilidad en el desarrollo, depuración, mantenimiento de los programas.

3. Fases de elaboración de un programa informático

El desarrollo de una aplicación se basa en un concepto denominado ciclo de vida, que establece una serie de fases que hay que seguir secuencialmente y de forma ordenada cuando se desea desarrollar un determinado producto de software.

Se consideran las siguientes fases:

- Análisis: Se establece cual es el producto a desarrollar, siendo necesario especificar los procesos y estructuras de datos que se van a emplear, para satisfacer las necesidades del usuario.

- Diseño: En esta fase se alcanza una solución óptima, detallada y con la mayor precisión posible para el desarrollo de la aplicación, teniendo en cuenta los recursos físicos del sistema y los recursos lógicos.

- Codificación: Consiste en la traducción de la solución obtenida a un determinado lenguaje de programación.

- Implantación: Se realiza la implantación de los programas en el entorno operativo donde van a funcionar habitualmente y su puesta en marcha para obtener un funcionamiento normal de todo el sistema.

- Mantenimiento: Se realizan las correcciones necesarias para subsanar
errores y deficiencias del producto desarrollo.

4. Ensambladores, compiladores e intérpretes

Cuando programamos en un lenguaje distinto al lenguaje máquina, los programas diseñados deben ser traducidos a código binario para que puedan ser entendidos y ejecutados por la Unidad Central de Proceso. El programa de software encargado de traducir estos programas (fuentes) puede ser un ensamblador, intérprete o compilador. Reciben el nombre de traductores del lenguaje.

Antes de pasar al proceso de traducción, debemos comprobar que el programa fuente esté correctamente escrito de acuerdo con la definición del lenguaje de programación utilizado.

Ensambladores

Son los encargados de traducir directamente los programas escritos en ensamblador a su equivalente en código máquina o binario para que puedan ser ejecutados por la CPU.

Intérpretes

Es un programa de software encargado de procesar y traducir cada instrucción de un programa escrito en un lenguaje de alto nivel a código máquina y después ejecutarla, es decir, el microprocesador ejecuta la instrucción una vez traducida y después de comprobar que no existe error ninguno de sintaxis. La traducción y ejecución no se realizan como procesos independientes, sino en una misma operación e instrucción por instrucción, respetando el orden.

Un intérprete suele proporcionar un editor a través del cual se puede escribir el correspondiente programa fuente, facilitando la edición y su posterior interpretación y ejecución, permitiendo la comprobación y corrección de los posibles errores.

Uno de los principales inconvenientes es su lentitud en sucesivas ejecuciones del programa, ya que es necesario volver a traducir cada una de las instrucciones del programa desarrollado en alto nivel, repitiendo así todo el proceso.

Compiladores

Es un programa de software escrito en algún lenguaje de programación cuyo objetivo es traducir el correspondiente programa fuente a su equivalente en código máquina, también llamado programa objeto.

La diferencia más destacable con un intérprete radica en que, mientras un intérprete acepta un programa fuente que traduce y ejecuta simultáneamente, un compilador efectúa dicha operación en dos fases independientes, primero traduce completamente el programa fuente a código máquina y seguidamente ejecuta el programa.

Un programa compilado (en ejecuciones sucesivas) no necesita traducciones del programa fuente, con lo cual lo hace mucho más rápido en tiempo de ejecución.

Etapas del proceso de compilación

a) Edición

Escritura del programa (empleando un lenguaje de programación previamente seleccionado) y su grabación sobre un soporte de almacenamiento. Se realiza por medio de un editor. Se obtiene el programa fuente.

b) Compilación

Se traduce el programa fuente a código máquina, y si no hay errores se obtiene el denominado programa objeto.

c) Linkado

Consiste en unir o enlazar el programa objeto obtenido anteriormente con determinadas rutinas internas del lenguaje y, si el método de programación es modular, se enlazan los distintos módulos para obtener el programa ejecutable.

d) Ejecución

Llamada del programa ejecutable a través del sistema operativo. Se debe comprobar el buen funcionamiento del programa mediante pruebas.

5. Paradigmas de programación

Un paradigma de programación determina la visión y métodos de un programador en la construcción de un programa o subprograma. Diferentes paradigmas resultan en
diferentes estilos de programación y en diferentes formas de pensar la solución de problemas.

Los lenguajes de programación se basan en uno o más paradigmas. Por ejemplo:

Smalltalk y Java son lenguajes basados en el paradigma orientado a objetos. El lenguaje Python, soporta múltiples paradigmas.

Clasificación por paradigmas de programación

- Imperativo: Describe la programación como una secuencia de instrucciones que cambian el estado de un programa. El código máquina se basa en él.

- Declarativo: No se basa en como se hace algo (como lograr un objetivo paso a paso), sino que describe (declara) como es algo. Describe las propiedades de la solución buscada, dejando indeterminado el algoritmo usado para encontrar esa solución.

- Estructurado: La programación se divide en bloques (procedimientos y funciones) que pueden o no comunicarse entre sí. La programación se controla con secuencia,
selección e iteración. Permite reutilizar código programado y otorga una mejor compresión de la programación.

- Orientado a objetos: Está basado en la idea de encapsular datos y operaciones en objetos. La programación se resuelve comunicando dichos objetos a través de mensajes.
Su principal ventaja es la reutilización de códigos y su facilidad para pensar soluciones a determinados problemas.

- Funcional: Concibe a la computación como la evaluación de funciones matemáticas y evita declarar y cambiar datos. Ejemplo: Haskell.

- Lógico: Se basa en la definición de reglas lógicas para luego, a través de un motor de inferencias lógicas, responder preguntas planteadas al sistema y así resolver los problemas. Ejemplo: Lisp.

- Otros paradigmas: Orientado al sujeto, reflectante, basado en reglas, basado en prototipos...

>> Ir al tema siguiente

 

Referencias:

 

http://www.jmordax.com/

 


Autor: Antonio Lopez Atienza


Tags:
Posted in Java | No Comments »

Leave a Comment

 

RSS
MCC D5E