Archivo de la categoría: Java

INSTRUCCIONES DE CONTROL DE JAVA


Algoritmos:

Cualquier problema de computación puede resolverse ejecutando una serie de acciones en un orden especifico. Un procedimiento para resolver un problema en terminos de: 1.- las acciones a ejecutar. 2.- el orden en el que se ejecutan estas acciones. El siguiente ejemplo demuestra que es importante especificar de manera correcta el orden en el que se ejecutan las acciones.

Considere el “Algoritmo para levantarse y arreglarse” que sigue un ejecutivo para levantarse de la cama e ir a trabajar: (1) levantarse; (2) quitarse la pijama; (3) bañarse; (4) vestirse; (5) desayunar; (6) transportarse al trabajo.

Esta  rutina logra que el ejecutivo llegue el trabajo bien preparado para tomar decisiones criticas. Al proceso de especificar el orden en el que se ejecutan las instrucciones (acciones) en un programa, se le llama control del programa.

Seudocodigo:

El seudocodigo es un lenguaje informal que ayuda a los programadores a desarrollar algoritmos sin tener que preocuparse por los escritos detalles de la sintaxis del lenguaje Java. El seudocodigo que presentaremos es especialmente útil para desarrollar algoritmos que se convertiran en porciones estructuradas de programas en Java. El seudocodigo es similar al lenguaje cotidiano; es conveniente y amigable con el usuario, aunque no es realmente un lenguaje de programacion de computadoras. Empezaremos a utilizar el seudocodigo en la figura 1 aparece un programa de seudocodigo de ejemplo:

El seudocodico no se ejecuta en las computadoras. En vez de ello, ayuda al programador a “organizar” un programa antes de que intente escribirlo en un lenguaje de programacion como Java.

Instrucción de selección simple if

Los programas utilizan instrucciones de selección paea elegir entre los cursos alternativos de acción. Por ejemplo, suponga que la calificación para aprobar un examen es 60. La instrucción en seudocodigo

Si la calificación del estudiante es mayor o igual a 60

       Imprimir “Aprobado”

determina si la condición “Si la calificación del estudiante es mayor o igual a 60” es verdadera o falsa. Si la condicion es verdadera se imprime “Aprobado”, y se “ejecuta”. Si la condicion es falsa se ignora la instrucción “Imprimir” y se ejecuta.  La instrucción anterior if en seudocodigo puede escribirse en Java de la siguienta manera:

if(calificacionEstudiante >=60)

        System.out.println(“Aprobado”);

Observe que el codigo en Java corresponde en gran medida con el seudocodigo. Esta es una de las propiedades que hace del seudocodigo una herramienta de desarrollo de programas tan util.

La figura 2 muestra la instrucción if de seleccion simple. Esta figura contiene lo que quiza sea el simbolo mas importante en un diagrama de actividad: el rombo o simbolo de decision, el cual indica que se tomara una decision. El flujo de trabajo continuara a lo largo de una ruta determinada por las condiciones de guardia asociadas de ese simbolo, que puedan ser verdaderas o falsas. Cada flecha de transicion que sale un simbolo de decision tiene una condicion de guardia.

La instruccion if es una instruccion de control de una sola entrada/salida. Los diagramas de actividad para las instrucciones de control restantes tambien contienen estados iniciales, flechas de transicion, estados de accion que indican las acciones a realizar, simbolos de decision que indican las decisiones a tomar, y estados finales.

Instrucción de selección soble if… else

La instruccion if de seleccion simple realiza una accion indicada solamente cuando la condicion es verdadera; de no ser asi, se evita dicha acción. La instrucción if… else de seleccion doble permite al programador especificar una accion a realizar cuando la condicion es verdadera, y otra distinta cuando la condicion es falsa. Por ejemplo, la instrucción en seudocodigo:

Si la calificacion del estudiante es mayor o igual a 60

        Imprimir “Aprobado”

Se lo contrario

       Imprimir “Reprobado”

La instrucción anterior if… else en seudocodigo puede escribirse en Java como:

if(calificacion >= 60)

System.out.println(“Aprobado”);

else

System.out.println(“Reprobado”);

La figura 3 muestra flujo de control en la instrucción if… else. Una vez mas, los simbolos en el diagrama de actividad UML representan estados de acción y decisiones.

Instrucciones if… else anidadas

Un programa puede evaluar varios casos colocando instrucciones if … else dentro de otras instrucciones if … else, para crear instrucciones if … else anidadas. Por ejemplo, el siguiente seudocodigo representa una instrucción if … else anidada que imprime A para las calificaciones de examenes mayores o iguales a 90, B para las calificaciones en el rango de 80 a 89, C para las calificaciones en el rango de 70, D para las calificaciones en el rango de 60 a 90 y F para todas las demas calificaciones:

Si la calificación del estudiante es mayor o igual a 90

      Imprimir “A”

de lo contrario

                 Si la calificación del estudiante es mayor o igual a 80

  Imprimir “B”

      de lo contrario

Si la calificación del estudiante es mayor o igual a 70

Imprimir “C”

de lo contrario

Si la calificación del estudiante es mayor o igual a 60

Imprimir “D”

de lo contrario

Imprimir “F”

Las dos formas son identicas, excepto por el espaciado y la sangria, que el compilador ignora. La segunda forma es más popular ya que evita usar mucha sangría hacia la derecha en el codigo. Dicha sangría a menudo deja poco espacio en una linea de codigo, forzando a que las lineas se dividan y empeorando la legibilidad del programa.

Problema del esle suelto

El compilador de Java siempre asocia un esle con el if que le procede inmediatamente, a menos que se le indique otra cosa mediante la colocación de llaves ({ y }). Por ejemplo:

¡Cuidado! Esta instrucción if … else anidada no se ejecuta como parece ser. El compiladoren realidad interpreta la instrucción asi en donde el cuerpo del primer if es un if … else anidado. La instrucción if más externa evalúa si x es mayor que 5. De ser así, la ejecución continúa evaluando si y es tambien mayor que 5. Si la segunda condición es verdadera, se muestra la cadena apropiada (“x e y son 5”). No obstante, si la segunda condición es falsa se muestra la cadena (“x es <= 5”), aun cuando sabemos que x es mayor que 5. Para forzar a que la instrucción if … else anidada se ejecute como se tenia pensado originalmente, deb escribirse de la siguiente manera:

Instrucción de Repetición while

Una instrucción de repetición permite al programador especificar que un programa debe repetir una acción mientras cierta condición sea verdadera. La instrucción en seudocodigo:

Mientras existan más artículos en mi lista de compras

Comprar el siguiente articulo y quitarlo de mi lista

Describe la repetición que ocurre durante una salida de compras. La condición (“existan más artículos en mi lista de compras”) puede ser verdadera o falsa. Si es verdadera, entonces se realiza la acción (“Comprar el siguiente articulo y quitarlo de mi lista”). Esta acción se realizará en forma repetida mientras la condición sea verdadera.

Como ejemplo de la instrucción de repetición while en Java, considere un segundo de programa diseñado para encontrar la primera potencia de 3 que sea mayor a 100. Suponga que la variable producto de tipo int  se inicializa en 3. Cuando la siguiente instrucción while termine de ejecutarse, producto contendrá el resultado:

Observe las referencias en el algoritmo para un total y un contador. Un total es una variable que se utiliza para acumular la suma de varios valores. Un contador es una variable que se utiliza para contrar. En este caso, el contador de calificaciones indica cual de las 10 calificaciones esta a punto de escribir el usuario.

Ejercicio en Java:

Repeticion controlada por contador como el contador de calificaciones y suma del promedio de la clase se muestra en las figuras:

Creando de la clase LibroCalificaciones en Java

Continua de la clase LibroCalificaciones…

Otra la clase PruebaLibroCalificaciones crea un objeto de la clase LibroCalificaciones:

El resultado de la clase PruebaLibroCalificaciones. Al dividir dos enteros se produce una division entera: se pierde cualquier parte fraccionaria del cálculo.

Click el archivo de codigo de LibroCalificaciones y PruebaLibroCalificaciones en java de  (winrar zip)

Anuncios

EL DESARROLLO DE UN PROGRAMA


Que es un programa:

Es alguna vez haya utilizado un ordenador para escribir un documento o para divertirse con algun juego. Esto lo que hace un programa de ordenador. Un programa no es  nada mas que una serie de instrumentos dadar al ordenador en un lenguaje. Y si el ordenador no entiende alguna instruccion, lo comunicara generalmente mendiante mensajes visualizados en la pantalla.

Lenguajes de programación:

Un programa tiene que escribirse en un lenguaje entendible  por el ordenador. Los elementos fisicos (memoria, CPU, etc) de que dispone el ordenador para representar los datos son de tipo binario. Por lo tanto, para representar y manipular informacion numerica, alfabetica y alfanumerica se emplean cadenas de bits.

Por ejemplo, cuando un programa le dice al ordenador al visualice un mensaje sobre el monitor, o que lo imprima sobre la impresora, las instrucciones correspondientes para llevar a cabo esta accion, para que puedan ser entendibles por el ordenador, tienen que estar almacenadas en la memoria como cadenas de bits.

¿Que lo hace distinto de los demas lenguajes?

Creados por el compilador de java, son independientes de la arquitectura. Se ejecutan indistintamente en una gran variedad de equipos con diferentes microprocesadores y sistemas operativos.

  • En momento, es público. Puede conseguirse un JDK (Java Developer’s Kit). No se sabe si en un futuro seguirá siendolo.
  • Permite escribir Applets (pequeños programas que se insertan en una página HTML) y se ejecutan en el ordenador local.
  • Es facil de aprender y esta bien estructurado.
  • Las aplicacione son fiables. Puede controlarse su seguridad frente al acceso a recurso del sistema y es capaz de gestionar permisos y criptografia.

¿Que es Java?

Es un lenguaje de desarrollo de proposito general y como tal es válido para realizar todo tipo de aplicaciones profesionales.

¿Que se puede programar con Java?

Si tenia preconcebida la idea de que con Java sólo se programan applets para páginas web, está completamente equivocado. Ya que Java es un lenguaje de proposito general, puede programarse en él cualquier cosa:

  • Aplicaciones independientes: Como cualquier otro lenguaje de proposito general.
  • Applets: Pequeñas aplicaciones que se ejecutan en un documento HTML, siempre y cuando el navegador soporte Java, como ocurre con los navegadores HotJava y las ultimas versiones de Netscape y el explorador de Internet de Microsoft.

Caracteristicas del lenguaje:

  • Es intrinsecamente orientado a objetos.
  • Funciona perfectamente en red.
  • Aprovecha características de la mayoria de los lenguajes modernos evitado sus inconvenientes. En particular los del C++
  • Tiene una gran funcionalidad gracias a sus librerías (clases).
  • NO tiene punteros manejables por el programador, aunque los maneja interna y transparentemente.
  • Genera aplicaciones con pocos errores posibles.

Compiladores:

Para traducir un programa escrito en un lenguaje de alto nivel a lenguaje máquina se utiliza un programa llamado compilador. Este programa tomará como datos nuestro programa escrito en lenguaje de alto nivel y dará como resultado el mismo programa pero escrito en lenguaje maquina, programa que ya puede ejecutar directa o indirectamente el ordenador.

¿Que es una maquina virtual?

Una maquina que no existe físicamente sino que es simulada en un ordenador por un programa. ¿Por que utilizar una maquina virtual? Porque, tratarse de un  programa, es muy facil instalarla en cualquier ordenador, basta con copiar ese programa en su disco duro.

Intérpretes:

A diferencia de un  compilador, un interprete no genera un programa escrito en lenguaje maquina a partir del programa fuente, sino que efectúa la traducción y ejecución simultaneamente para cada una de las sentencias del programa.

Programación orientada a objetos:

Es una evolución lógica de la programación estructurada, en la que el concepto de variables locales a un procedimiento o función, que no son accesibles a otros procedimientos y funciones, se hace extensible a los propios subprogramas que acceden a estas variables.

¿Que es un objeto?

Es una persona, animal o cosa. Se distingue de otros objetos por tener unas determinadas caracteristicas y “sirve” para algo, o dicho de otra forma, se puede realizar distintas operaciones con/sobre es objeto, por ejemplo: Una casa es un objeto.

  • Caracteristicas: Número de pisos, altura total en metros, color de la fachada, número de ventanas, número de puertas, ciudad, calle y número donde esta ubicada… etc.
  • Operaciones: Construir, destruir, pintar fachada, modificar alguna de las caracteristicas, como por ejemplo: abrir una nueva ventana… etc.

En terminologiá de POO, a las caracteristicas del objeto se les denomina ATRIBUTOS y a las operaciones METODOS. Cada uno de estos metodos es un procedimiento o una función perteneciente a un objeto.

Terminologia Informal Terminologia Formal
CARACTERISTICAS ATRIBUTOS
Operaciones (Procedimientos y Funciones) Metodos

Un objeto está formado por una serie de caracteristicas o datos (atributos) y una serie de operaciones (métodos). No puede concebirse únicamente en función de los datos o de las operaciones sino en su conjunto.

Clases y Objetos:

De forma análoga a cómo se definen las variables en un lenguaje de programación, cuando se declaran un objeto hay que definir el tipo de objeto al que pertenece. Este tipo es la clase.

En C++ y JAVA, se definen dos variables X e Y de tipo entero de la forma siguiente:

int X, Y;

Y la forma de declarar objetos en JAVA es la misma:

Ccasa casa1, casa2;

En este caso, casa1 y casa2 son efectivamente variables, pero un tanto especiales son OBJETOS.  Ademas, el tipo de objetos es Ccasa. Este tipo es la CLASE del objeto.

Analogía:

VARIABLE –> OBJETO

TIPO –> CLASE

Interfaz de línea de ordenes:

Una vez visualizado el editor, escribiremos el texto correspondiente al programa fuente. Escribalo tal como se muestra a continuacion. Observe que cada sentencia del lenguaje Java finaliza con un punto y coma (;) y que cada linea  del programa se finaliza.

1er paso:

2do paso:

¿Que hace este programa?

La primera linea declara la clase de objetos Saludo, porque el esqueleto de cualquier aplicacion Java se basa en la definicion de una clase. A continuacion se escribe el cuerpo de la clase encerrado entre los caracteres “{ y }“.

Las siguientes lineas encerradas entre “/* y */” son simplemente un comentario.

Se escribe el metodo principal “main“. Observe que un metodo se destingue  por el modificador “()” que aparece despues de su nombre y que el bloque de codigo correspondiente al mismo define las acciones que tiene que ejecutar dicho metodo.

El metodo “println” del objeto “out” miembro de la clase “System” de la biblioteca Java, escribe como resultado la expresion que aparece especificada entre comillas. Observe que la sentencia completa finaliza con punto y coma “;“.

Guardar el programa escrito en el disco:

El programa editado esta ahora en la memoria. Para que este trabajo pueda tener continuidad, el programa escrito se debe grabar en el disco utilizando la orden correspondiente del editor. Muy importante: el nombre del programa fuente debe ser el mismo que el de la clase que contiene, respetando mayusculas y minusculas, por ejemplo: el nombre de la clase es Saludo y por lo tanto el fichero debe guardarse con el nombre Saludo.java.

Correo: thamen88@yahoo.es