UNIVERSIDAD CENTRAL DEL ECUADOR FACULTAD DE FILOSOFÍA, LETRAS Y CIENCIA DE LA EDUCACIÓN PROGRAMACION ESTRUCTURADA
WILMER SUCUY PARALELO: 2° Semestre “C” Carrera: Pedagogía De Las Ciencias Experimentales (Informática)
ASIGNATURA: PROGRAMACION ESTRUCTURADA
DOCENTE: M.Sc. VICTOR ZAPATA
PERÍODO: 2018 – 2018 QUITO – ECUADOR
OBJETIVOS ESPECIFICOS
Desarrollar y compilar aplicaciones de baja complejidad desde una línea de comandos utilizando los conceptos básicos del lenguaje
utilizar operadores lógicos, aritméticos y sentencias de control en el desarrollo de una aplicación Java, basada en un conjunto de requerimientos dados
Desarrollar aplicaciones Java de complejidad aplicando conceptos de herencia y polimorfismo
Desarrollar aplicaciones Java de complejidad media utilizando el Framework de colecciones de plataforma Java
Utilizar el concepto de control de errores mediante el manejo de excepciones en una aplicación Java, basad en un conjunto de requerimientos dados
CONCEPTOS BÁSICOS 1. ¿Por qué JAVA? Seguramente la primera inquietud que nace antes de aprender un nuevo lenguaje de programación es ¿Por qué un nuevo lenguaje?, ¿No es suficiente con los existentes? Java nace como un proyecto de investigación, para enfrentarse a un ecosistema donde un conjunto de dispositivos distribuidos interconectados por una red y sistemas embebidos iniciaban con una expansión acelerada, el objetivo inicial fue conseguir un lenguaje robusto, portable, confiable y sobre todo que pudiera funcionar sobre distintos dispositivos y plataformas. El resultado de esta investigación dio nacimiento al lenguaje Java, el cual evolucionó y se consolidó como un "lenguaje universal" para construir abstracciones para tecnologías empresariales comunes, permitiendo a la vez desplegar aplicaciones que consumen el mínimo de recursos del sistema, pueden ejecutarse sobre cualquier plataforma de hardware y software y pueden ser extendidas dinámicamente. El ejemplo más concreto de la universalidad de Java es el API de conectividad a Base de Datos (JDBC); JDBC provee una Interfaz de conectividad independiente del vendedor para acceder a bases de datos relacionales. Esta abstracción ha sido tan exitosa que es prácticamente imposible encontrar un vendedor de base de datos que no soporte JBDC.
Hoy podemos considerar a Java como el lenguaje y la plataforma más adecuadas para el desarrollo de aplicaciones empresariales que requieren de gran rendimiento y escalabilidad, y es esta la principal razón por la cual un profesional de TI necesita conocer Java. 1.1 Objetivos del lenguaje Java como lenguaje consideró en su diseño los siguientes objetivos: ·Simple y Orientado a Objetos ·Independiente de la Arquitectura de Hardware y de la plataforma de software ·Multidispositivo ·Seguro ·Multithreading
Sabias qué: El Nombre original con el que fue concebido Java fue Oak (Roble). Java es una clase de café asiático.
Simple La Simplicidad del Lenguaje Java se debe a que aprovecha muchas de las características útiles de sus antecesores como C y C++, y fue eliminando la complejidad existente. Se elimina complejidad como Defines, la sobre carga de operadores, sentencias del tipo go to, manejo de structs, punteros y sobre todo el manejo manual de la memoria.
Orientado a Objetos ¿Qué es un Objeto? En el mundo real un objeto es todo lo que nos rodea, por ejemplo un pizarrón, un teléfono móvil, una factura del pago de un servicio. Dentro de nuestro curso consideraremos dos componentes fundamentales de todos los objetos:
Comportamiento ¿Qué hace, qué acciones puede realizar, qué se hace con el objeto? Características cualidades, aspectos que lo distinguen, definen el estado.
Un gato tiene color, peso, nombre; atributos propios que dan la peculiaridad al objeto.
Un gato maulla, duerme, come, se mueve; actividades especiales que caracterizan su comportamiento.
¿Qué es un Objeto de Software? Los objetos de Software son la representación de un objeto real o de conceptos abstractos (como una conexion de base de datos) utilizando un lenguaje de programación. Las características de los objetos se encuentran representados por atributos y su comportamiento por métodos. Por lo tanto, los objetos de SW son un conjunto de métodos y atributos relacionados entre si.
Paradigmas de la P.O.O La Programación Orientada a Objetos tiene tres paradigmas que deben ser respetados cuando se utilicen para el desarrollo de aplicaciones, independientemente del lenguaje de programación utilizado. Estos paradigmas son los siguientes: Encapsulamiento Es una técnica que permite proteger las características del objeto (estado), con lo que se evitan manipulaciones incorrectas. Para acceder o modificar alguna de las características de un objeto, se utilizan los métodos getters y setters respectivamente. Estos métodos ocultan la implementación es decir permiten que se conozca lo que el objeto hace sin que importe cómo se lo hace. Los métodos getters/setters (G/S) permiten obtener el valor de una variable y modificar su valor respectivamente.
Herencia La herencia es una característica sumamente importante en la programación orientada a objetos la cual tiene como concepto clave la reusabilidad. En Java esta característica determina que una clase hija (subclase)herede tanto atributos como métodos de la clase padre (superclase), pudiendo sobreescribir alguno de ellos si se quisiera modificar su comportamiento.
Cabe destacar que no existe la herencia múltiple, es decir una clase solamente puede heredar o tener una clase padre.
Polimorfismo El Polimorfismo es una característica de la programación orientada a objetos que quiere decir muchas formas, el cual maximiza la reusabilidad y extensibilidad de nuestro código. En términos de programación, el polimorfismo permite que un solo nombre de clase o de método representen diferente código seleccionado mediante algún mecanismo automático, de esta forma, puesto que un nombre puede representar diferente código, también puede representar muchos comportamientos distintos
Como se puede apreciar en el gráfico anterior, todas las figuras geométricas comparten métodos comunes como dibujar() ya que todas son subclases de FiguraGeométrica (herencia). La implementación de dibujar es propia de cada figura, sin embargo gracias al polimorfismo el método con el mismo nombre "dibujar()" permiten que este se comporte de manera diferente dependiendo del tipo de figura específica.
Recuerda Polimorfismo: Mismo nombre, distinto comportamiento Robusto Java tiene como objetivo el desarrollar software robusto, altamente confiable y seguro. Para convertirse en un lenguaje Robusto Java realiza controles estrictos de posibles problemas en tiempo de compilación, así como luego en tiempo de ejecución. Para conseguir una detección temprana de problemas Java es estricto con los tipos y las conversiones en tiempo de compilación, es así que para tipos de datos como Arrays o Strings en lugar de usar punteros aritméticos (que pueden generar corrupción de datos en memoria), estos tipos de datos (Arrays o Strings) existen como parte del lenguaje. Otra de las características que le dan la calidad de Robusto al Java es el manejo automático de memoria mediante el componente conocido como Garbage Collector, este se encarga de limpiar la memoria de objetos que no están siendo referenciados y elimina el Memory allocation manual (malloc) que si no se libera ocasiona la caída de las aplicaciones. Multithreaded Si bien los computadores actuales tienen la capacidad de realizar varias operaciones a la vez, por su capacidad de procesamiento multinúcleo, el poder realizar aplicaciones que tomen ventaja de esta alta capacidad de procesamiento es en realidad complicado. El principal inconveniente de una aplicación multihilo es el manejo de bloqueos de recursos, para esto Java introduce dentro de su API un conjunto de clases y métodos para el manejo de recursos ThreadSafe, esto es que pueden ser utilizadas por un conjunto de hilos sin que existan bloqueos o algún tipo de lectura o escritura inadecuados por este conjunto. Java provee además la capacidad al desarrollador de crear procesos ligeros más conocidos como Threads (Hilos) de una forma sencilla, además de permitirle ejecutarlos, detenerlos, esperar o notificar. El modelo de Threads en Java se apega al paradigma monitor-variable condicional para poder evitar los bloqueos. Independiente de la Arquitectura de Hardware y Plataforma de Software Considerando que desde su concepción Java fue pensado para soportar múltiples arquitecturas de hardware (es decir maquinas con distintos tipos de procesadores), desde dispositivos móviles hasta super servidores, Java optó por no compilar las aplicaciones en código de máquina de forma directa, sino que realiza una compilación a un código de más
alto nivel que puede ser ejecutado por una"máquina hipotética" (Java Virtual Machine JVM1) que reside sobre la máquina real. A este código intermedio se le conoce como Byte Code. Fig. Ejemplo de Byte Code El Byte Code esta diseñado para ser fácilmente interpretado por cualquier máquina o transformado dinámicamente en código nativo si se requiere de un mejor rendimiento.
La principal ventaja de contar con Byte Codes es la Portabilidad, es decir cualquier aplicación escrita en Java y compilada puede ser ejecutada de forma indistinta en cualquier Plataforma de Software con una JVM, la característica de portabilidad de Java se extiende más allá de las aplicaciones desarrolladas sino también a cada uno de sus componentes, es así que el compilador "Javac" esta escrito en Java, mientras que la JVM esta escrita en Ansi C y es POSIX compatible. La independencia de plataforma se representa con el principio WORA (Write Once RunEverywhere-Escriba su código una vez y ejecútelo donde desee). Multidispositivo La gran flexibilidad de Java, ha permitido que aplicaciones desarrolladas con este lenguaje sean capaces de ejecutarse en dispositivos tan diversos tales como televisores, reproductores blu-ray, tarjetas de crédito, tarjetas inteligentes, tarjetas SIM, y dispositivos móviles de gama baja hasta smartphones. Ente los proyectos que utilizan JAVA dedicados a dispositivos se cuentan los siguientes:
1
JAVATV
JAVACARD
SUNSPOT
Más detalle en la sección de Componentes.
Java -Plataforma Más allá del lenguaje, Java se extiende hasta configurarse como una plataforma, una plataforma para aplicaciones empresariales gracias a las especificaciones y estándares de la Arquitectura JEE.
JEE o Java Platform Enterprise Edition es una arquitectura que permite satisfacer las necesidades de aplicaciones empresariales, dentro del espectro de aplicaciones que son posibles de desarrollar sobre esta plataforma encontramos aplicaciones simples de escritorio, aplicaciones distribuidas, aplicaciones web ricas en contenido, aplicaciones para sistemas embebidos, aplicaciones móviles y gran cantidad de middleware especializado. La Arquitectura JEE extiende el lenguaje Java y le da la capacidad de generar aplicaciones que pueden resolver problemas empresariales complejos, esta es la principal razón para que Java sea un lenguaje vigente y de gran utilidad. JEE ha ido evolucionando desde una plataforma para el despliegue de aplicaciones empresariales, a una plataforma enfocada en el rendimiento, y la facilidad de desarrollo de aplicaciones distribuidas, así como en el estándar de TI para aplicaciones empresariales. La versión actual de JEE es la versión 7 lanzada en Junio de 2013 y sus componentes son los siguientes:
Última modificación: lunes, 23 de abril de 2018, 20:23 Saltar Navegación
Navegación
Página Principal Área personal
o
o Páginas del sitio o Mi perfil o Curso actual
PE1
Participantes
Insignias
General
15 de abril - 21 de abril
22 de abril - 28 de abril
29 de abril - 5 de mayo
6 de mayo - 12 de mayo
13 de mayo - 19 de mayo
20 de mayo - 26 de mayo
27 de mayo - 2 de junio
3 de junio - 9 de junio
10 de junio - 16 de junio
17 de junio - 23 de junio
o Mis cursos Saltar Administración
Administración
CONCEPTOS BÁSICOS
Administración del curso
Ajustes de mi perfil
Definición de Java
Java es un lenguaje de programación orientado a objetos que se incorporó al ámbito de la informática en los años noventa. La idea de Java es que pueda realizarse programas con la posibilidad de ejecutarse en cualquier contexto, en cualquier ambiente, siendo así su portabilidad uno de sus principales logros. Fue desarrollado por Sun Microsystems, posteriormente adquirido por Oracle. En la actualidad puede utilizarse de modo gratuito, pudiéndose conseguir sin problemas un paquete para desarrolladores que oriente la actividad de programar en este lenguaje. Puede ser modificado por cualquiera, circunstancia que lo convierte en lo que comúnmente se denomina “código abierto”. Cuando se programa con un lenguaje, se utiliza un tipo de código que la máquina es incapaz de reconocer. Es por ello que se requiere de un proceso de compilación, esto es, de “traducir” el lenguaje utilizado para que la máquina sea capaz de reconocerlo y procesarlo. Cada vez que un código requiere ser ejecutado en un ambiente distinto, deberá compilarse nuevamente. Con el desarrollo de Java se intentó evitar este tipo de circunstancia, haciendo que el código corriera en cualquier ambiente. El modo en que se logró este objetivo es desarrollando una máquina virtual que ejecutase el código compilado; esto significa que la “traducción” ya no se hace para que sea comprendida por un determinado sistema operativo; se hace para que la interprete la “máquina virtual”, que puede correr en cualquier sistema operativo. De esta manera, solo es necesario realizar una compilación, que podrá ser utilizada en cualquier entorno que tenga instalada la máquina virtual java. Como en cualquier lenguaje de estas características, existen diversos entornos de desarrollo que tienen como función facilitar el proceso de programar con Java. Algunos ejemplos al respecto pueden ser Eclipse, JCreator, NetBeans, Jbuilder, etc. Estos ofrecen un lugar para escritura de código, señalización de errores, compilación, etc. Son gratuitos, por los que pueden obtenerse en la red con facilidad. En la actualidad, este lenguaje de programación ha ganado una enorme popularidad como consecuencias de su portabilidad, su simpleza y sus grandes posibilidades de utilización. Está especialmente extendido su uso en dispositivos móviles, circunstancia que se profundizará en el futuro. No obstante, el lenguaje también tiene sus detractores; por ejemplo, una crítica recurrente se relaciona con un rendimiento deficiente. Futuras innovaciones al respecto, no obstante, pueden solucionar el problema de forma definitiva. En defensa del lenguaje puede decirse que ha logrado la mayoría de los objetivos para los que se desarrolló.
... Via Definicion.mx: https://definicion.mx/java/
UNIVERSIDAD CENTRAL DEL ECUADOR FACULTA DE FILOSOFIA LETRAS Y CIENCIAS DE LA EDUCACION Ejercicios con Operadores Logicos WILMER SUCUY EERCICIO No 1
Ejercicio2
Ejercicio3
Ejercicio4
Ejercicio5
Ejercicio6
Ejercicio7
Ejercicio8
Ejercicio9
Ejercicio10
Ejercicio11
Ejercicio12
Ejercicio13
Ejercicio14
Ejercicio15
Ejercicio16
Ejercicio17
Ejrcicio18
Ejercicio19
Ejecuciรณn de try, catch
import java.util.Scanner; public class deber1 {
int int int int
public static void main(String[] args) { // TODO Auto-generated method stub lado=0; altura=0; base=0; areac,areat=0;
Scanner progra=new Scanner(System.in); try { System.out.println("Ingrese un lado del cuadrado"); lado=progra.nextInt(); System.out.println("Ingrese la altura del triangulo"); altura=progra.nextInt(); System.out.println("Ingrese la base del triangulo"); base=progra.nextInt(); areac=lado*lado; System.out.println("El Area del Cuadrado es:/n "+areac); areat=base*altura/2; System.out.println("El Area del Triangulo es:/n "+areat); } catch(Exception e){ //e.printStackTrace(); System.out.println("Se presento un error"); } } }
import java.util.Scanner; public class deber2 { public static void main(String[] args) { // TODO Auto-generated method stub int num=0; int resul=0; Scanner progra=new Scanner(System.in); try { System.out.println("Ingrese un numero"); num=progra.nextInt();
resul=num/2; System.out.println("El Resultado de la Division :"+resul);
}
} catch(Exception e){ //e.printStackTrace(); System.out.println("Se presento un error"); }
}
import java.util.Scanner; public class deber3 { public static void main(String[] args) {
// TODO Auto-generated method stub int hora=0; int minutos=0; int segundos=0; int hora12=0; int minu12=0; int segun12=0; Scanner progra=new Scanner(System.in); try { System.out.println("Ingrese la hora "); hora=progra.nextInt(); System.out.println("Ingrese los minutos "); minutos=progra.nextInt(); System.out.println("Ingrese los segundos "); segundos=progra.nextInt(); System.out.println("la hora es :"+hora+":"+minutos+":"+segundos); hora12=13-hora; minu12=60-minutos; segun12=60-segundos; System.out.println("Lo Faltante del 12 horas "+hora12+":"+minu12+":"+segun12); } catch(Exception e){ //e.printStackTrace(); System.out.println("Se presento un error"); } } }