UT1 Intro Programación

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 15

UT1 Introducción a la programación

El objetivo del curso será aprender, dado un problema, a diseñar una solución aplicando el
paradigma de la programación orientada a objetos y expresando dicha solución en el
lenguaje de programación Java.

En este tema de introducción aprenderemos algunos conceptos importantes en relación a la


programación de ordenadores, la evolución histórica que han tenido los lenguajes de
programación y las razones por las que hoy en día la orientación a objetos se aplica en el
desarrollo de software.

1.1.- Estructura de un ordenador

La arquitectura básica de un ordenador digital se basa en la arquitectura de una máquina


descrita por Von Newman en 1944. La arquitectura Von Newmann divide a un ordenador en
cuatro partes:

- Unidad de control - es el componente básico de un ordenador ya que controla la


ejecución de las operaciones y dirige el funcionamiento de todos los demás
componentes de tal forma que el trabajo conjunto de todos conduzca a la
consecución de las tareas específicas programadas en el sistema.
- Unidad Aritmético-Lógica – es la parte encargada de realizar las operaciones
aritméticas (suma, resta, ….) y las operaciones lógicas (comparación, ….). También
realiza otras funciones más complejas (raíces, funciones trigonométricas, ..).
Al conjunto Unidad de Control y Unidad Aritmético-Lógica se le conoce como CPU
(Central Process Unit – Unidad Central de proceso). Así tenemos los
procesadores Intel, Motorola, AMD.
- Memoria principal – es la memoria de almacenamiento interno. Opera a gran
velocidad. Aquí se ubican los programas: las instrucciones junto con los datos sobre
los que actúan.
La memoria principal está formada por una serie de celdas o posiciones
identificadas por una dirección de memoria.
Por otro lado está la memoria secundaria o memoria externa que permite resolver
los problemas de volatilidad y capacidad de la memoria principal (discos duros, CD,
…).
- Dispositivos de Entrada / Salida – son los que facilitan la interacción del
usuario (el mundo exterior) con la máquina (teclado, monitor, impresora, ….).

Los ordenadores digitales utilizan internamente el código binario. La mínima información


manipulable es un dígito binario, 0 y 1, el bit. Tanto los datos como las instrucciones que ejecuta
la CPU han de expresarse en este código para poder ser almacenados en memoria. Al conjunto
de instrucciones codificadas en binario se le conoce como lenguaje máquina y es el lenguaje
más básico y el único que entiende el ordenador.

UT1 Introducción a la programación


-Pág. 1 de 15 -
Memoria
Principal

CPU
Unidad
Unidad de Dispositivos de E/S
Aritmético-
Control
Lógica
(Memoria
Secundaria)

Usuario

1.2.- Algoritmos y programas

Un algoritmo es una secuencia ordenada y finita de pasos a seguir para resolver un


determinado problema.

En todo algoritmo se distingue:

- el procesador – es el que entiende los pasos del algoritmo y los lleva a cabo (por ej.
un cocinero / un ordenador)
- el entorno – los materiales necesarios para la ejecución del algoritmo (por ej.
huevos, patatas, cebolla / datos en un programa)
- las acciones – los actos del procesador sobre el entorno (cascar, batir, freír / sumar,
restar, comparar, asignar)

Para que un ordenador pueda ejecutar un algoritmo ha de expresarse en forma de programa a


través de un lenguaje de programación.

Un lenguaje de programación se compone de un conjunto de símbolos (léxico), un


conjunto de reglas de sintaxis (que indican cómo construir correctamente las instrucciones) y
una semántica (reglas que determinan el significado de las construcciones del lenguaje).

Cuando un algoritmo se expresa en un lenguaje de programación tenemos un programa


comprensible por un ordenador. Al hecho de expresar el algoritmo en un lenguaje de
programación dado se denomina codificar un programa.

1.3.- Evolución de los lenguajes de programación


Un programa es un conjunto de instrucciones que actúan sobre unos datos y que están
expresados en un lenguaje de programación.

Los lenguajes de programación se pueden clasificar utilizando el criterio de proximidad del


lenguaje con la máquina o con nuestro lenguaje natural:

a) Lenguaje máquina - es el lenguaje básico y el único que entiende el ordenador.


Está formado por un conjunto de instrucciones codificadas en binario dependientes
totalmente del hardware del ordenador.

Inicialmente se programaba así pero resultaba tedioso y además era muy difícil
verificar y poner a punto el programa.

- Pág. 2 de 15 -
b) Lenguaje de bajo nivel o lenguaje ensamblador – es una versión simbólica
del lenguaje máquina. Cada instrucción lleva asociado un símbolo (una palabra
nemotécnica – ADD, SUB, …) para que resulta más fácil la programación. Requiere
una fase de traducción al lenguaje máquina (con un traductor – el assembler) .

El lenguaje ensamblador, como el lenguaje máquina, es dependiente del hardware,


sólo funciona en un tipo de ordenador y no en otro.

c) Lenguaje de alto nivel – es independiente de la máquina y, por tanto, portable.


Es más sencillo de aprender ya que es más cercano a nuestro lenguaje natural. Las
modificaciones y puestas a punto son más fáciles.

Los programas escritos en un lenguaje de alto nivel necesitan una etapa de


traducción al lenguaje máquina que realiza un programa compilador. El programa
resultante de la traducción ocupa más memoria y su velocidad de ejecución
aumenta en relación a los programas escritos directamente en código máquina
(Pascal, C, C++, Java, …).

Otra posible clasificación de los lenguajes de programación puede hacerse en relación al


paradigma de programación que utilizan:

a) Lenguajes imperativos o procedimentales – están orientado a instrucciones


(Pascal, C)
b) Lenguajes orientados a objetos – se centran más en los datos y su estructura
(SmallTalk, Java, C#, Eiffel)
c) Lenguajes declarativos (funcionales y lógicos) – se construyen mediante
descripciones de funciones matemáticas (Haskell, Lisp) o expresiones lógicas
(Prolog)

1.4.- Traductores: compiladores e intérpretes

Un traductor es un programa que recibe un programa fuente escrito en un lenguaje de alto


nivel y obtiene como salida un programa traducido a código máquina.

Los traductores se dividen en:

a) Intérpretes – toman un programa fuente y lo traducen de forma simultánea a su


ejecución

b) Compiladores – traducen un programa fuente a lenguaje máquina. Al proceso de


traducción se le denomina en este caso compilación y al programa resultado de la
compilación se le denomina programa objeto (con extensión .OBJ). Los compiladores
detectan además los errores de sintaxis en el programa fuente.

En la mayoría de los lenguajes compilados, el programa objeto no es directamente


ejecutable. Es preciso efectuar el montaje o linkedición con ayuda del programa
montador o enlazador (linker) para obtener un programa ejecutable (.EXE). En este
proceso de montaje se enlazan algunas rutinas del sistema o subprogramas
compilados separadamente.

UT1 Introducción a la programación


-Pág. 3 de 15 -
Programa fuente

Traductor -
Compilador Si errores
compilación

Programa objeto
(.OBJ)

Montador
(Enlazador) Si errores
montaje

Programa
ejecutable (.EXE)

Si errores
ejecución

1.5.- Calidad de los programas


Todo buen programa debe ser:

 Correcto – sin errores y cumpliendo los requisitos que satisfacen el problema


 Robusto - capaz de funcionar incluso en situaciones anormales
 Legible - claro y fácil de leer
 Modificable - fácil de modificar y mantener
 Eficiente - utiliza adecuadamente los recursos de la máquina (memoria y tiempo de
ejecución)
 Reutilizable – fácil de reutilizar, todo o parte, en otros programas
 Modular – dividido en partes cada una de ellas resolviendo una determinada tarea

1.6.- Paradigmas de programación

Un paradigma de programación es un conjunto de teorías, estándares, que indican la


forma de organizar los programas sobre la base de algún modelo conceptual y un lenguaje
apropiado que lo soporte.

Además de los paradigmas funcional y lógico (no utilizados ampliamente), los dos paradigmas
fundamentales de programación son:

 paradigma procedural
 paradigma orientado a objetos

Ambos utilizan la descomposición (“divide y vencerás”) para afrontar la complejidad de los


problemas.

- Pág. 4 de 15 -
1.6.1.- Paradigma procedural (programación estructurada) –
ampliamente utilizado en la década de los 70. Los lenguajes Pascal y C son los máximos
exponentes de este tipo de programación. Se basa en la descomposición funcional (o
algorítmica).

El bloque principal de desarrollo es el procedimiento o función. Los algoritmos que


implementan estos procedimientos utilizan para su construcción las tres estructuras básicas de
la programación estructurada: Secuencia, selección e iteración.

Aquí, una aplicación está formada por una jerarquía de módulos que se organizan en torno a un
programa principal. Los datos tienen un papel secundario. La programación estructurada se
resume en la expresión: “Algoritmos + Estructuras de datos = Programas”

Entrada

Procedimiento A

Procedimiento B

Procedimiento C

Salida

Este paradigma tiene sus ventajas cuando se trata de resolver tareas sencillas.

1.6.2.- Paradigma orientado a objetos (programación orientada


a objetos - POO)

Tuvo su gran impacto en la década de los 90. Hoy día es ampliamente utilizado en el desarrollo
de software, tanto en análisis como en diseño y programación. Vino a resolver los problemas de
complejidad y tamaño en el desarrollo de software.

Este paradigma utiliza para resolver la complejidad de un problema la descomposición


orientada a objetos. Un programa es un conjunto de objetos que cooperan entre sí para resolver
una determinada tarea. El bloque principal de construcción del programa es el objeto, entidad
extraída del espacio (o dominio) del problema, con una identidad, unos atributos y un
comportamiento. Los datos son el punto central de atención de los programas orientados a
objetos. En la POO: “Objetos + Flujo de mensajes = Programas”.

Este paradigma ofrece ventajas sobre el paradigma procedural:

- modela mejor el mundo real, es más intuitivo, describe el problema en términos


similares a los que utiliza la mente humana
- maneja mejor la complejidad del software
- permite la reutilización
- obtiene programas más robustos y estables
- facilita la extensibilidad, la escalabilidad de las aplicaciones

UT1 Introducción a la programación


-Pág. 5 de 15 -
La POO se basa en los siguientes principios:

- Abstracción – mecanismo que maneja la complejidad. Permite captar lo esencial


ignorando los detalles
- Encapsulación – permite mantener oculta la implementación de la abstracción
- Jerarquía - la jerarquización ordena las abstracciones, las organiza, simplificando así
su desarrollo. Permite la implementación de la herencia y el polimorfismo
- Modularización – división del programa en módulos para facilitar su diseño,
mantenimiento y reutilización

Entrada

objeto
objeto
atributos
atributos
métodos
métodos

objeto

atributos

métodos

Salida

1.7.- Lenguajes orientados a objetos


Los lenguajes de programación orientada a objetos son aquellos que soportan las características
de la POO. Dentro de ellos se distinguen:

a) Lenguajes puros orientados a objetos – proceden del lenguaje Simula


(Simula 67 fue el primer lenguaje OO diseñado en el año 67) . Trabajan
exclusivamente con objetos y clases. Entre ellos están SmallTalk, Eiffel, Java, C#.
b) Lenguajes híbridos – están basados en lenguajes procedimentales. Soportan por
tanto, la programación procedural (estructurada) y la POO Estos lenguajes se
construyen a partir de otros ya existentes, como C o Pascal. Entre ellos destaca:
Ada, Modula y Object Pascal proceden del lenguaje Pascal, C++ procede del
lenguaje C.

1.8.- Desarrollo de software orientado a objetos

El proceso de desarrollo de software es un conjunto de actividades que se necesitan para


transformar los requerimientos de un problema en el producto software deseado. Describe un
enfoque para la construcción, desarrollo y mantenimiento del software. RUP (Rational Process
Unified – Proceso Unificado de Rational ) es una de las metodologías de desarrollo de software
de gran éxito en la construcción de software que utiliza el desarrollo iterativo e incremental y el
lenguaje UML.

El desarrollo iterativo e incremental que utilizan las metodologías de desarrollo de software


orientado a objetos consiste en:

- Pág. 6 de 15 -
- dividir un proyecto en mini proyectos más fáciles de manejar
- cada mini proyecto se denomina iteración
- en cada iteración se cubre el ciclo entero de desarrollo de una aplicación informática
(análisis OO, diseño OO, programación OO, pruebas e integración y
mantenimiento)
- cada iteración genera una versión parcialmente completa del sistema
- las sucesivas iteraciones se construyen unas sobre otras hasta que el sistema se ha
completado
- la diferencia entre una y otra iteración se denomina incremento

Veamos las diferentes etapas en el desarrollo OO de una aplicación informática (ciclo de vida
del software):

- Análisis OO – se investiga el problema y los requisitos en vez de solucionarlo. Se


habla de análisis de requisitos o análisis de objetos (estudio de los objetos del
dominio). Se presta especial atención a encontrar y describir los objetos (las clases)
en el dominio del problema y se construye un model0 (Libro, Biblioteca, Socio, … en
el sistema de información de una biblioteca).
- Diseño OO – hay que encontrar una solución que satisfaga los requisitos, sin
realizar todavía la implementación. Se diseñan los objetos (las clases), prestando
especial atención a los objetos software y estudiando cómo van a colaborar para
satisfacer los requisitos. En el sistema de información de la biblioteca un objeto
Libro podría tener un atributo título y un método obtenerCapitulo().
- Implementación – (Programación OO - codificación) – Se traduce el diseño a un
lenguaje de programación concreto.
- Pruebas - se verifica que el producto construido hace lo deseado. Se preparan tests
con datos de prueba para comprobar el correcto funcionamiento.
- Mantenimiento - los posibles errores que surjan durante el tiempo de vida de la
aplicación hay que corregirlos, la aplicación además puede añadir funcionalidad.

1.8.1.- El lenguaje UML

UML (Unified Modeling Language – Lenguaje Unificado de Modelado) en un lenguaje utilizado


para describir modelos. Un modelo es una descripción abstracta de un sistema, una
representación simplificada que permite comprenderlo y simularlo. UML no es una
metodología de desarrollo de software OO sino una notación para especificar, construir,
visualizar y documentar los elementos de un sistema de software.

UML define una serie de diagramas o representaciones gráficas de elementos interconectados.


Entre otros diagramas, UML permite representar diagramas de clases, que muestran la
estructura estática de un modelo, es decir, las clases que lo componen y sus relaciones.

Alumno Ordenador Equipo Jugador

* * *
* * * *

Aula
1

UT1 Introducción a la programación


-Pág. 7 de 15 -
Animal

Mamifero

Gato

1.9.- El lenguaje de programación Java.


Java es un lenguaje de programación de alto nivel totalmente orientado a objetos desarrollado
por el equipo de James Gosling de Sun Microsystems en 1995. Fue diseñado para desarrollar
aplicaciones Internet, para la web.
Java ganó rápidamente muchos adeptos principalmente por su neutralidad respecto a la
plataforma de ejecución y porque los programas Java podían ejecutarse dentro de un navegador
(los applets).
Sin embargo hay muchas otras características que hacen de Java un lenguaje atractivo cuya
evolución ha sido muy rápida.

1.9.1.- Características de Java.


o Sencillo - Java es un lenguaje sencillo (en comparación con su predecesor C++) y
elegante. Java elimina los punteros de C++, no permite la herencia múltiple. El garbage
collector (recolector de basura) permite la gestión automática de la memoria dinámica.
Proporciona una sintaxis sencilla, elegante, hay pocas construcciones de programa.
o Orientado a objetos – Java fue diseñado desde el principio para ser un lenguaje OO, lo
que facilita la construcción de software siguiendo el paradigma de la POO.
o Distribuido – la adaptabilidad de Java para trabajar en entornos de red es inherente a
su arquitectura ya que fue diseñado para ello. Las clases que conforman una aplicación
pueden estar ubicadas en distintas máquinas de la red.
o Robusto – confiable, no permite construcciones peligrosas (uso de punteros), pone
especial énfasis en la verificación temprana de errores (en tiempo de compilación),
gestiona excepciones en tiempo de ejecución.
o Seguro – proporciona mecanismos de seguridad que protegen el sistema.
o Interpretado – Java no funciona como la mayoría de los lenguajes de programación
compilados donde el compilador traduce el código fuente al lenguaje máquina concreto
del procesador.
Java es compilado e interpretado a la vez. Se necesita un intérprete para ejecutar los
programas Java.

- Pág. 8 de 15 -
Intérprete
0110100111

__________
__________ ______ ______
Compilador Java ______
__________ ______
(javac) ______ ______
MiPrograma.java MiPrograma.class MiPrograma

Bytecode .class
Código fuente –
fichero *.java

Distribución

Los programas fuente escritos en java (*.java) se compilan (con el compilador javac)
para obtener ficheros con extensión .class. Estos ficheros ya pueden ser distribuidos, no
hay proceso de enlace (no se necesita un montador).

Los ficheros *.class no contienen código máquina comprensible por ningún procesador
sino que contiene bytecodes, una especie de código de bajo nivel (un lenguaje
intermedio) que será interpretado por la máquina virtual de Java. Esta máquina
abstracta es la que ha de estar instalada en una máquina real para poder ejecutar la
aplicación java. El código de bytecodes es el mismo para todos los sistemas.

El hecho de que Java sea interpretado hace que su rendimiento sea menor en relación a
otros lenguajes aunque va mejorando en cada nueva versión de la JVM (no hay
ejecutable).

Código de bytecode
*.class

Máquina virtual de
Java (JVM)

*.class en un único
fichero .jar

o De arquitectura neutral y portable – ya que Java es interpretado permite que sea


independiente de la plataforma en la que se ejecuta.
El lema de Java es “escribe una vez, ejecuta en cualquier lugar” (write once, run
anywhere). El programa se escribe y compila una vez y se ejecuta en cualquier
plataforma que tenga instalada la JVM.

UT1 Introducción a la programación


-Pág. 9 de 15 -
______
__________ Compilador ______
__________ PC ______ IBM Compatible
__________

Lenguaje ______
convencional Compilador
______
RS - 6000
______ RS - 6000

dependi

platafor
ente de
binario
Código

ma
la
__________
__________ ______ J
__________ Compilador
______ V
Java IBM Compatible
Lenguaje Java ______ M
(.java)
Bytecode .class

RS - 6000
Intérprete

o Multihilo – permite la ejecución de varias tareas simultáneamente. Esta característica es


especialmente útil en la programación gráfica (GUI – animaciones) y en la
programación en red (un servidor puede atender a múltiples clientes al mismo tiempo)

1.10.- La plataforma Java.

Java no es sólo un lenguaje de programación sino toda una plataforma de desarrollo que,
además del lenguaje que da nombre a la plataforma, consta de:

a) La JVM – Java Virtual Machine – la máquina virtual de Java


Es la máquina abstracta (en realidad es software) que lee los ficheros .class que
contienen bytecodes y los traduce a código máquina.
La JVM:
- se requiere para ejecutar cualquier programa Java
- es dependiente de la máquina
- existe también dentro de los navegadores (para poder ejecutar los applets)

- Pág. 10 de 15 -
Entorno en
Entorno en
tiempo de
tiempo de
ejecución –
compilación
plataforma Java

.java Cargador de
Librería de
clases (class
clases Java
Los bytecodes se loader)
pueden distribuir
localmente o a través de
Compilador java la red

Intérprete Just in Time


Java Compilador
.class
bytecodes

Runtime System

JVM

Sistema Operativo

Hardware

Justo antes de ejecutar un programa, Java utiliza un cargador de clases (class loader)
para ubicar los bytecodes de todas las clases a utilizar por el programa en la memoria
del ordenador.

b) La API de Java – Java Application Programming Interface - es una


colección de componentes software, clases, que el programador puede incluir en sus
programas. La API ofrece capacidades de todo tipo: gráficas, matemáticas,
componentes de red, etc. Todos estos componentes se agrupan en librerías de clases
relacionadas (paquetes).

 El JRE (Java Runtime Environment) proporciona la máquina virtual (JVM) y las


clases java principales. Para ejecutar programas Java simplemente (no para
desarrollarlos) es suficiente tener instalado el JRE en el sistema.

1.11.- Herramientas de desarrollo (JDK o Java SDK – Java


Software Development Kit).
Para desarrollar un programa Java hay que tener instalado el JDK en el sistema. Incluye el JRE,
junto con el compilador, debugger y otras herramientas de desarrollo.

 javac – compilador a bytecodes


 javadoc – generador de documentación
 java –máquina virtual
 jdb – depurador de consola

El JDK puede descargarse desde la página de Oracle:

http://www.oracle.com/technetwork/java/index.html

UT1 Introducción a la programación


-Pág. 11 de 15 -
1.12.- Versiones de Java.

Java ha evolucionado muy rápidamente desde su aparición en 1995.

La versión inicial fue Java 1.0. Java 1.1 introdujo cambios significativos. A partir de aquí la
numeración de las nuevas versiones es algo confusa. La siguiente versión fue Java 2 v.1.2.
Actualmente la última versión es Java v.5.0 conocida también como Java 1.5.

Han sido desarrolladas diferentes ediciones de Java para diferentes tipos de aplicaciones:

 Java 2 Platform Standard Edition (J2SE) - es Java 2 SDK para escribir,


desarrollar y ejecutar applets y aplicaciones en Java
 Java 2 Platform Edition Empresarial (J2EE) - Java Edición
Empresarial, versión ampliada de la J2SE que incluye las API necesarias para
construir aplicaciones para arquitectura distribuidas multicapa.
 Java 2 Platform MicroEdition (J2ME) – edición especial para dispositivos
móviles.

1.13.- Tipos de aplicaciones Java.

Aplicaciones normales – programas autónomos que se ejecutan en un ordenador que


tiene la JVM. Pueden producir salida de texto en consola o utilizar un interface gráfico
(GUI).
Applets – es un programa diseñado para ejecutarse dentro de un navegador compatible
con Java. La salida es gráfica.
Aplicaciones web – aplicación que se ejecuta en un servidor. Las aplicaciones web
utilizan tecnologías llamadas servlets y JSP – Java Server Pages. Las aplicaciones web
interactúan normalmente con bases de datos.

1.14.- Editar, compilar y ejecutar un programa Java.


El único software que se necesita para desarrollar y ejecutar un programa Java es el JDK y un
editor de textos.

El fichero fuente se escribe con el editor y se salva como un fichero con extensión .java.

El compilador java, javac, se invoca desde la línea de comandos para producir un fichero con
extensión .class.

El fichero .class se invoca también desde línea de comandos llamando a java, la máquina
virtual.

- Pág. 12 de 15 -
Editar código
fuente

.java

Compilar (javac)
Salida .java

Si errores
compilación

.class
(bytecode)

Ejecutar
bytecode

Si errores
ejecución o
resultado
incorrecto

1.15.- Entornos de desarrollo.


Existen numerosos entornos de desarrollo (IDE – Integrated Development Environment) que
facilitan la tarea de editar, compilar y ejecutar un programa Java. Entre otros: Eclipse, Dr. Java,
JCreator, Borland JBuilder.

Nosotros utilizaremos a lo largo del curso 2 entornos:

a) BlueJ - es un excelente entorno de desarrollo diseñado por la Universidad de Kent


específicamente para la enseñanza y aprendizaje de la POO en Java. Incluye
herramientas educacionales tales como visualización e interacción de objetos que
permiten aprender desde el inicio los conceptos de la POO de una manera sencilla.
Es gratuito. Se pede descargar desde http://www.bluej.org
b) NetBeans – es un entorno de desarrollo integrado profesional gratuito de código
abierto. Incluye una gran variedad de herramientas que ayudan en el desarrollo de
cualquier tipo de aplicación Java: aplicaciones web, applets, aplicaciones con GUI,
JSP, ….
Actualmente hay una versión especial NetBeans/BlueJ que permite abrir y trabajar
con proyectos que han sido creados en BlueJ. BlueJ es un entorno para aprender
Java pero para desarrollar grandes proyectos es preciso hacer una transición hacia

UT1 Introducción a la programación


-Pág. 13 de 15 -
un IDE más profesional como puede ser NetBeans. Con esta nueva edición esta
transición desde BlueJ hacia NetBeans puede ser muy sencilla.
NetBeans/BlueJ Edition en una variante de la versión Standard de NetBeans con
dos deferencias significativas:
- puede abrir y trabajar con proyectos creados en BlueJ
- la interface Standard de NetBeans ha sido simplificada

- Pág. 14 de 15 -
Cuestiones UT1 – Introducción a la Programación

C1. ¿Dónde se ubican los programas para poder ser ejecutados en el ordenador?
C2. El código ______________ es el código que utilizan internamente los ordenadores.
C3. Define lenguaje máquina.
C4. Define algoritmo. Expresa el algoritmo que te permite “calentar el desayuno en el
microondas” cada mañana.
C5. ¿Qué es un programa? Un programa está escrito en un ___________ de
____________.
C6. Ventajas de un lenguaje de alto nivel.
C7. Un programa escrito en un lenguaje de alto nivel, ¿es comprensible directamente por la
máquina? ¿Qué se necesita?
C8. Diferencia entre intérprete y compilador. Ventajas e inconvenientes de uno y otro.
C9. La salida de un compilador es un ______________. La entrada a un programa montador
es un ____________ y la salida es un ________________.
C10. ¿En qué momento se detectan los errores sintácticos en un programa?
C11. ¿Qué significa que un programa sea legible? ¿Y reutilizable?
C12. Un estilo, un determinado enfoque a la hora de construir y organizar un programa es un
__________________ de programación.
C13. Indica la frase que define la programación procedural. Ídem para la POO.
C14. El ______________ es el bloque principal de construcción en la POO y tiene
___________, _____________ y ______________.
C15. Ventajas de la POO.
C16. Tengo en mi casa un microondas cuya marca es Fagor y tiene una potencia máxima de
1200 w. Es capaz de calentar, descongelar y tiene función de grill. Identifica, para mi objeto
Microondas qué serán sus atributos (estado) y sus métodos (comportamiento).
C17. Explica los conceptos de abstracción y encapsulación.
C18. ¿Qué se hace en las fases de implementación y pruebas?
C19. ¿UML es una metodología de desarrollo de software? Razona la respuesta.
C20. ¿Por qué se dice que Java es compilado e interpretado a la vez?
C21. ¿Qué identifican las extensiones .java y .class?
C22. ¿Cuál es la función de la máquina virtual de Java (JVM)?
C23. Un fichero .class, ¿qué tipo de contenido tiene? ¿es directamente ejecutable?
C24. Java es de arquitectura neutral y portable, ¿qué significa esto?
C25. ¿Qué es un applet?
C26. ¿Qué es la API de Java?
C27. ¿Qué necesitamos instalar en nuestro equipo para poder desarrollar y ejecutar programas
Java?
C28. ¿Qué es javac, javadoc y java?
C29. Tienes escrito en papel un programa fuente java y has de instalarlo y ejecutarlo en el
ordenador. No dispones de ningún entorno de desarrollo que te facilite la tarea de editar,
compilar, …. Indica que pasos sigues hasta poder ejecutar el programa.

UT1 Introducción a la programación


-Pág. 15 de 15 -

También podría gustarte