Pre-saberes Trabajo Colaborativo Practico

Embed Size (px)

Citation preview

  • UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA PRE-SABERES TRABAJO COLABORATIVO PRCTICO DEL CURSO: PROGRAMACIN ORIENTADA A OBJETOS

    UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA

    ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA

    PRE-SABERES TRABAJO COLABORATIVO PRCTICO

    Programa Ingenieria de Sistemas

    Programacin Orientada a Objetos

    CESAR ORLANDO JIMENEZ ANGARITA

    (Director Nacional)

    Zona: Centro Bogot Cundinamarca,

    Cead: Jos Acevedo y Gmez

    Diciembre 2014

  • UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA PRE-SABERES TRABAJO COLABORATIVO PRCTICO DEL CURSO: PROGRAMACIN ORIENTADA A OBJETOS

    ASPECTOS DE PROPIEDAD INTELECTUAL Y VERSIONAMIENTO

    Curso Acadmico Modulo Programacin Orientada a Objetos

    Libros de la Biblioteca Virtual de Unad en Programacin Orientada a Objetos

    Consulta de Internet Programacin Orientada a Objetos

    Autor: Deitel y Deitel Introduccin DOO con UML y los Patrones de Diseo JDBC tm, SERVLETS, JSP tm Editorial Pearson Prentice Hall Quinta Edicin. David Arnow Gerald Weiss Introduccin a la Programacin con Java tm Actualizacin a la Versin 2 de Java Editorial Addison Wesley. Fcd Javier Ceballos Java 2 Curso de Programacin 2 Edicin Editorial Alfaomega Ra-Ma. Agustin Froute Java 2 Manual Usuario tutorial 3 Edicin Editorial Alfaomega Ra-Ma 5. Herbert shildt Fundamentos de Programacin Java 2 Editorial Mc Graw Hill . para conocer el lenguaje de programacin JAVA. Arnow, D., Weiss, G., Introduccin a la programacin con JAVA, Addison wesley, 2000. Larman, C., UML y patrones, Prentice Hall, 1998. Meyer, B., Construccin de software orientado a objetos, Prentice Hall, segunda edicin, 1997. Wu, T., Introduccin a la programacin orientada a objetos con Java, Mc Graw Hill, 2000. Joyanes, L., Programacin orientada a objetos, Segunda edicin, Mc Graw Hill, 1998. Grez Voss, Introduccin Orientada a Objetos, Editorial Mc Graw Hill, 1994. Joyanes, L., C++ a su alcance un enfoque orientada a objetos, Editorial, Mc Graw Hill, 1994. Cesar Becerra Santamara, C++ Una Herramienta para la Programacin Orientada a Objetos, Editorial Mc Graw Hill, 1.993. Fco Javier Ceballos, Programacin Orientada a Objetos con C++,Editorial Alfaomega, 1.998. Nathan Meyers, Programacin JAVA en Linux, Editorial Prentice Hall, 2.000.

  • UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA PRE-SABERES TRABAJO COLABORATIVO PRCTICO DEL CURSO: PROGRAMACIN ORIENTADA A OBJETOS

    INDICE DE CONTENIDO

    Pg.

    PRESENTACION

    ASPECTOS DE PROPIEDAD INTELECTUAL Y VERSIONAMIENTO

    INDICE DE CONTENIDO

    LISTADO DE TABLAS

    CARACTERSTICAS GENERALES

    DESCRIPCIN DE PRCTICAS PRE-SABERES TRABAJO COLABORATIVO PRACTICO Instalacin de Java Eclipse Instlacin del Editor de Java Eclipse Pasos Para crear un programa con java Eclipse Objetivos bsicos de programacin en Java Eclipse Estructuras de prgramacin secuencial en Java Eclipse Estructuras condicionales simples y complejas en Java Eclipse Estructuras condicionales anidadas en Java Eclipse Condiciones compuestas con operadores lgicos en Java Eclipse Estructura repetitiva while en Java Eclipse Estructura repetitiva for en Java Eclipse Estructura repetitiva do while en Java Eclipse Cadena de caracteres en Java Eclipse Declaracin de una clase y definicn de objeto en Java Eclipse Declaracin de Metodos en Java Eclipse Ejercicios Propuestos por el tutor: Ejercicios a Realizar por el Estudiante:

  • UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA PRE-SABERES TRABAJO COLABORATIVO PRCTICO DEL CURSO: PROGRAMACIN ORIENTADA A OBJETOS

    CARACTERSTICAS GENERALES

    Introduccin Actualmente una de las reas ms importantes en la industria y el mbito acadmico es la orientacin a objetos, el curso que a continuacin se relaciona tiene el nombre de Programacin Orientada a Objetos el cual es terico prctico, de 3 crditos y hace parte de la formacin profesional en el programa de Ingeniera de Sistemas. Modelado y Programacin Orientada a Objetos como Introduccin a Java y Uml Desarrollo de Software Orientado a Objetos como son el Modelado de Requisitos, Modelado de Analisis, Modela de Diseo, Modelado de Implementacin y Modelado de Prueba de un producto software.

    Justificacin El uso de y aplicaciones de herramientas enfocadas a la POO, hacen que el profesional en Ingeniera sea capaz de disear y desarrollar aplicaciones que permitan dar soluciones integrales a las necesidades del medio que lo rodea utilizando un compilador de JAVA. El curso de POO le permite al estudiante desarrollar su creatividad con el animo de dar soluciones a problemas cotidianos de su trabajo, le da la capacitada de comparar la programacin estructurada con la programacin orientada a objetos y enfrentar los retos del cambio, le permite desarrollar su capacidad de comunicacin, y su espritu Investigativo y crtico con una lenguaje de programacin orientado a objetos.

    Intencionalidades

    formativas

    Propsitos: Dar a conocer a los estudiantes de una forma clara los conceptos fundamentales de la Programacin Orientada a Objetos en JAVA. Dar a Conocer a los estudiantes las ventajas de aplicar la Programacin Orientada a Objetos ya que simplifica la construccin de programas y lo motiva para estudiar las caractersticas del lenguaje JAVA. Capacitar a los estudiantes a comprender y utilizar herramientas de Programacin Orientadas a Objetos como JAVA, para el diseo de aplicaciones. Objetivos: Que el estudiante Describa los conceptos que caracterizan de desarrollo de software Orientada a Objetos Utilizando JAVA. Que el estudiante Valore en que medida las tcnicas Programacin Orientada a Objetos favorecen la calidad del software, analizando sobre todo cmo facilitan la reutilizacin y extensibilidad en JAVA. Que el estudiante entienda la importancia de trabajar Herramientas Programacin Orientadas a Objetos, para el desarrollo de nuevas aplicaciones empresariales en JAVA. Metas:

  • UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA PRE-SABERES TRABAJO COLABORATIVO PRCTICO DEL CURSO: PROGRAMACIN ORIENTADA A OBJETOS

    Desarrollara aplicaciones teniendo en cuenta los fundamentos tericos, y el manejo de objetos como principal elemento de

    Construccin de soluciones en JAVA.

    Tendr la capacidad de analizar, disear y desarrollar software

    utilizando el entorno de Programacin Orientada a Objetos con JAVA.

    Adquiera destrezas en el uso de las herramientas como el JAVA para

    el desarrollo de aplicaciones que den soluciones confiables y

    permitan mejorar procesos.

    Competencias:

    El estudiante comprende e interpreta todos los conceptos

    fundamentales de la Programacin Orientada a Objetos, para poder

    analiza, disear, desarrollar e implantar aplicaciones ms robustas y

    con cdigo reutilizable con JAVA.

    El estudiante adquiere destrezas en el uso de procedimientos que le permitan analizar, disear y desarrollar aplicaciones haciendo uso de la programacin Orientada a Objetos con JAVA.

    Denominacin de

    practicas

    Pre-Saberes Trabajo Colaborativo Prctico: Estructuras en Java

    Utilizando Java Eclipse o Jcreato

    Nmero de horas 8 Horas por laboratorio Plataforma Campus virtual, un total 16 Horas

    Porcentaje 15/500 Puntos de la plataforma Campus Virtual

    Curso Evaluado por

    proyecto

    SI_X__ NO__

    Seguridad industrial Primer Trabajo Colaborativo Prctico Campus Virtual

  • UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA PRE-SABERES TRABAJO COLABORATIVO PRCTICO DEL CURSO: PROGRAMACIN ORIENTADA A OBJETOS

    DESCRIPCIN DE PRCTICAS

    PRE-SABERE TRABAJO COLABORATIVO PRACTICO N Estructuras en Java Utilizando Java Eclipse o Jcreator LE

    Tipo de practica

    Presencial Autodirigida Remota X

    Otra Cul

    Porcentaje de evaluacin 15 Puntos Plataforma Campus Virtual

    Horas de la practica 4 Horas Laboratorio CV y 12 Horas Independientes

    Temticas de la prctica Estructuras con Java Utilizando Java Eclipse o Jcreator LE

    Intencionalidades formativas Propsito(s):

    Desarrollar destreza en los estudiantes de las estructuras

    dinmicas que permitan conceptuar los fundamentos bsicos

    en el desarrollo programas informticos mediante la utilizacin

    de un lenguaje de programacin Java.

    Comprender las tcnicas bsicas del diseo de Estructuras No

    dinmicas en algoritmos y la lgica de programacin en Java.

    Adquirir destrezas y habilidades en la toma decisiones,

    utilizando las estructuras No dinmicas y mediante la

    mediacin Tutorial, lecturas complementarias, trabajo individual

    y cooperativo para el desarrollo de algoritmos en Java.

    Codificar estructuras No dinmicas en un lenguaje de

    programacin diferentes supuestos semnticos y problemas

    cotidianos en JAVA.

    Meta(s):

    El estudiante desarrolla el proyecto y los diferentes talleres en forma adecuada, utilizando las diferentes tcnicas y estrategias estudiadas a lo largo del curso de Java. El estudiante est en capacidad de desarrollar software, partiendo de los diferentes supuestos planteados, y quedando motivado para seguir en la lnea de programacin de computadoras con lenguaje de programacin JAVA. El estudiante desarrolla habilidades que lo lleven por el camino del pensamiento crtico, permitindoles aprender, comprender, practicar y aplicar nueva informacin, que parte de experiencias del medio ambiente, hasta llegar al auto concepto, formando un individuo critico y pensador. Competencia(s):

    El estudiante describe y analiza de manera adecuada y sistematizada las tcnicas y pautas para la construccin y secuencia de un algoritmo codificado en JAVA.

  • UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA PRE-SABERES TRABAJO COLABORATIVO PRCTICO DEL CURSO: PROGRAMACIN ORIENTADA A OBJETOS

    El estudiante disea y aplica algoritmos y diagramas de flujo en la construccin de programas, como tcnica principal en la resolucin de un determinado problema en JAVA. El estudiante mediante lecturas y mediaciones sobre tcnicas de construccin de software analiza, sistematiza y pone en prctica las buenas practicas de desarrollo de algoritmos y de programacin en lenguaje JAVA.

    Fundamentacin Terica:

    Instalacin de Java Eclipse Instlacin del Editor de Java Eclipse Pasos Para crear un programa con java Eclipse Objetivos bsicos de programacin en Java Eclipse Estructuras de prgramacin secuencial en Java Eclipse Estructuras condicionales simples y complejas en Java Eclipse Estructuras condicionales anidadas en Java Eclipse Condiciones compuestas con operadores lgicos en Java Eclipse Estructura repetitiva while en Java Eclipse Estructura repetitiva for en Java Eclipse Estructura repetitiva do while en Java Eclipse Cadena de caracteres en Java Eclipse Declaracin de una clase y definicn de objeto en Java Eclipse Declaracin de Metodos en Java Eclipse

    Descripcin de la prctica:

    El estudiante debe instalar Java o actualizar y debe descargar Java Eclipse o Jcreator en su casa,

    este software debe ser bajado a travs de internet de la pgina Sum Macrosystem

    El estudiante debe descargar el Pre-Saberes Trabajo Colaborativo Prctico para la prctica de

    la Plataforma Campus Virtual del curso Acadmico de Programacin Orientada a Objetos.

    El estudiante mediante la herramienta de copiar y pegar debe practicar e investigar el cdigo de los

    diferentes ejercicios propuestos en esta gua para que vaya adquiriendo destreza en el lenguaje de

    programacin Java.

    El estudiante debe de estar en capacidad de investigar los diferentes cdigos de java ya que

    todos los ejercicios que propone la gua de laboratorio estn propuestos con Librerias

    java.swing.*, o ambiente grafico y el estudiante debe tener las condiciones de pasarlo con

    Librerias java.io.*, o ambiente en cdigo de lnea y Librerias.java.applet todos los

    propuestos en estas.

    Recursos a utilizar en la prctica (Equipos / instrumentos)

    Computadores Modernos con buena Configuracin y con software licenciado

    Software a utilizar en la prctica u otro tipo de requerimiento para el desarrollo de la

  • UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA PRE-SABERES TRABAJO COLABORATIVO PRCTICO DEL CURSO: PROGRAMACIN ORIENTADA A OBJETOS

    prctica:

    Instalacin de la Java o Actualizarlo e Instancian del Java Eclipse o Jcreator Le o Java Eclipse

    Metodologa

    Conocimiento previo para el desarrollo de la prctica. El estudiante de ver el Curso Acadmico de Programacin Orientada a Objetos tiene que tener buenas bases de Algoritmos, Introduccin a Programacin, Estructura de Datos, Bases de Datos, Redes de Comunicacin,

    Forma de trabajo: El estudiante analizara primero todo los programas propuestos por el tutor de La Plataforma Virtual los cuales estn analizados, diseados y desarrollados completamente listos para que su cdigo sea copiado y pegado en un arachivo de JAVA para compilar y luego ser ejecutados, luego el estudiante de haber analizado el cdigo se enfrentara a la tarea de desarrollar una serie de programas por s solo. Procedimiento: El Estudiante debe investigar como puede pasar estos mismos programas

    utilizando las libreras import java.io.* y Librerias applet

    Sistema de Evaluacin

    El sistema de evaluacin estar a cargo de los tutores de la Plataforma Campus Virtual ya que se

    crearon dos foros uno teorico y otro practico.

    Informe o productos a entregar

    El estudiante despus de adquirir destreza y conocimiento acerca de lenguaje de programacin JAVA debe realizar todos los programas propuesto por el tutor de la Plataforma Campus Virtual que estn desarrollados completamente con libreras javax.siwng y debe pasarlos con cdigo comando utilizando Librerias java.io.* y Librerias.applet. para esto debe revisar las referencias bibliogrficas de la Guia Laboratorio.

    Rbrica de evaluacin

    UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA "UNAD"

    ESCUELA CIENCIAS BASICAS TECNOLOGIA E INGENIERIA

    PROGRAMA INGENIERIA DE SISTEMAS

    PRE-SABERES TRABAJO COLABORATIVO TEORICO

    Estructuras con Java Utilizando Java Eclipse o Jcreator

    Rbrica de Evaluacin Pre-Saberes Trabajo Colaborativo Prctico:

    tem Evaluado Valoracin Baja Valoracin

    Media

    Valoracin Alta Mximo

    Puntaje

    Estructura del

    Programa

    codificado en

    Java Eclipse o

    Programas sin

    formato (0)

    Programas

    Medianamente

    con formato

    (00.5)

    Programas con

    formato (1)

    1

  • UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA PRE-SABERES TRABAJO COLABORATIVO PRCTICO DEL CURSO: PROGRAMACIN ORIENTADA A OBJETOS

    Jcreator Le

    Redaccin y

    Ortografa

    documentacin

    del programa

    Programas No

    documentados

    (0)

    Programas

    Medianamente

    documentados

    (0.5)

    Programas Bien

    documentados

    (1)

    1

    Los Programas

    Compilan

    Correctamente

    Los Programas

    No Compilan

    Correctamente

    (0)

    Los Programas

    Compilan

    Medianamente

    (0.5)

    Los Programas

    Compilan

    Correctamente

    (1)

    1

    Los Programas

    Compilan con

    librera java.io

    Correctamente

    Los Programas

    No Compilan

    Correctamente

    (0)

    Los Programas

    Compilan

    Medianamente

    (3)

    Los Programas

    Compilan

    Correctamente

    (5)

    5

    Los Programas

    Compilan con

    librerias applets

    Correctamente

    Los Programas

    No Compilan

    Correctamente

    (0)

    Los Programas

    Compilan

    Medianamente

    (3)

    Los Programas

    Compilan

    Correctamente

    (5)

    5

    Los Programas

    Ejecutan

    Correctamente

    Los Programas

    No Ejecutan

    Correctamente

    (0)

    Los Programas

    Ejecutan

    Medianamnete

    (0.5)

    Los Programas

    Ejecutan

    Correctamente

    (1)

    1

    Fines del

    programa

    Programa no

    cumple con lo

    sugerido (0)

    Programa regular

    con lo sugerido

    (0.5)

    Programa

    Cumple con lo

    sugerido (1)

    1

    TOTAL DE

    PUNTOS

    POSIBLES

    15

    Nota: Estudiante que no se presente al componente practico en las fechas propuestas en la agenda propuesta para este curso acadmico de Programacin Orientada a Objetos y que no desarrollen las guas propuestas para estos laboratorios, tendr una nota total de CERO: (0)

    Retroalimentacin

    La retroalimentacin de los diferentes productos sern evaluados por el tutor Plataforma Campus

    Virtual.

    Ejercicios Propuestos por el tutor: Gua de Laboratorio Estructuras en Java utilizando el lenguaje de programacin Java trabajos con java.swing.*; o ambiente grafico :

  • UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA PRE-SABERES TRABAJO COLABORATIVO PRCTICO DEL CURSO: PROGRAMACIN ORIENTADA A OBJETOS

    Instalacin de Java Descarga Java Para poder hacer este curso debemos instalar el compilador de Java y la mquina virtual de Java. ESTAS HERRAMIENTAS Las Podemos descargar de: Kit de desarrollo de Java SE (JDK).

    Una Vez Que de Tenemos el JDK ( Java Development Kit) procedemos a instalarlo:

    La versin a instalar conviene que sea la ltima (en este momento disponemos la versin 6):

    Haremos la instalacin por defecto por lo que presionamos el botn Accept

    Haremos la instalacin por defecto por lo que presionamos el botn Next

  • UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA PRE-SABERES TRABAJO COLABORATIVO PRCTICO DEL CURSO: PROGRAMACIN ORIENTADA A OBJETOS

    Esperamos unos minutos mientras se procede a la instalacin de Java:

    Luego aparece un dilogo donde debemos especificar el directorio donde almacenar el JRE y tambin procedemos a efectuar la instalacin por defecto presionando el botn "Next":

    Una vez finalizado el proceso de instalacin debe aparecer un dilogo similar a este: y por ultimo presionamos el botn Finish.

  • UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA PRE-SABERES TRABAJO COLABORATIVO PRCTICO DEL CURSO: PROGRAMACIN ORIENTADA A OBJETOS

    Instalacin del editor Eclipse

    En el Concepto anterior procedimos a Instalar el Lenguaje Java (dichas concentraciones Herramientas de Podemos ejecutar y Compilar Programas codificados en java), Pero Ahora NECESITAMOS Instalar el Eclipse Que Es Un editor para Codificar los Programas (SI Bien Podemos utilizar Other editores). Descarga Para la Descarga el editor Java Eclipse lo debemos hacer del siguiente libk: Eclipse IDE para desarrolladores de Java Una Vez Que descargamos el Eclipse la Instalacin muy sencilla, Creamos Una Carpeta Llamada del eclipse y procedemos a descomprimir el archivo descargado indicando Solamente La carpeta Donde se Instala. Ahora nos dirigimos a La Carpeta Donde s instalaron los Archivos y procedemos a ejecutar el Programa eclipse.exe aparece Primero Mensaje del Eclipse:

    Luego la primera vez que ejecutemos el editor Eclipse aparece un dilogo para seleccionar la carpeta donde se almacenarn los programas que desarrollaremos.

    Luego de configurar la carpeta donde se crearn los proyecto aparece el editor con una pantalla de presentacin (Bienvenida) y presionamos el botn Ok

    Esta ventana de bienvenida la podemos cerrar seleccionando el cono: "Workbench", con lo que aparece el entorno de trabajo del Eclipse (si queremos nuevamente ver la ventana de bienvenida podemos activarla desde el men de opciones: Ayuda -> bienvenida

  • UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA PRE-SABERES TRABAJO COLABORATIVO PRCTICO DEL CURSO: PROGRAMACIN ORIENTADA A OBJETOS

    El entorno de trabajo de Java Eclipse es:

  • UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA PRE-SABERES TRABAJO COLABORATIVO PRCTICO DEL CURSO: PROGRAMACIN ORIENTADA A OBJETOS

    Pasos para crear un programa con el editor de Java Eclipse

    El Java Eclipse es un entorno de trabajo profesional, por lo que en un principio puede parecer complejo el desarrollo de nuestros primeros programas. Todo programa en Java Eclipse requiere la creacin de un "Proyecto", para esto debemos seleccionar desde el men de opciones:

    Desde la barra de Mens de Java Eclipse: presionando

    O desde la barra de conos de Java Eclipse:

    Ahora aparece una ventana de dilogo donde debemos definir el nombre de nuestro proyecto. En el campo de texto "Project Name" ingresamos como nombre: Proyecto1 y dejamos todas las otras opciones del dilogo con los valores por defecto. Presionamos el botn "Finish". Ahora en la ventana de "Package" aparece el proyecto que acabamos de crear:

  • UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA PRE-SABERES TRABAJO COLABORATIVO PRCTICO DEL CURSO: PROGRAMACIN ORIENTADA A OBJETOS

    Como segundo paso veremos que todo programa en Java Eclipse requiere como mnimo una clase.

    Como segundo paso veremos que todo programa en Java Eclipse requiere como mnimo una clase. Para crear una clase debemos seleccionar desde el men de opciones de Java Eclispse:

    O desde la barra de conos de JavA Eclipse:

    En la ventana de dilogo que aparece debemos definir el nombre de la clase (en nuestro primer ejemplo la llamaremos Clase1, luego veremos que es importante definir un nombre que represente al objetivo de la misma), los otros datos del dilogo los dejamos con los valores por defecto: Luego de presionar el botn "Finish" tenemos el archivo donde podemos codificar nuestro primer programa:

    Ms adelante veremos los archivos que se crean en un proyecto, ahora nos dedicaremos a codificar nuestro primer programa. En la ventana de edicin ya tenemos el esqueleto de una clase de Java Eclipse que el entorno Eclipse nos cre automticamente.

  • UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA PRE-SABERES TRABAJO COLABORATIVO PRCTICO DEL CURSO: PROGRAMACIN ORIENTADA A OBJETOS

    public class Clase1 { }

    Todo programa en Java Eclipose debe definir la funcin main. Esta funcin la debemos codificar dentro de la clase: "Clase1". Procedemos a digitar lo siguiente:

    public class Clase1 { public static void main (String [] parametro) { System.out.println ("Hola Mundo Java"); } }

    Es decir tenemos codificado en el entorno de Java Eclipse nuestro primer programa:

    Es decir tenemos codificado en el entorno de Java Eclipse nuestro primer programa:

    Como ltimo paso debemos compilar y ejecutar el programa, esto lo podemos hacer desde el men de opciones de Java Eclipse:

    O desde la barra de conos de Java Eclipse:

    Si no hay errores de codificacin debemos ver el resultado de la ejecucin en una ventana de Java Eclipse llamada "Console" que aparece en la parte inferior: Lo ms importante es que queden claros los pasos que debemos dar para crear un proyecto en Java Eclpse. El objetivo de una clase, la funcin main etc. los veremos a lo largo de este curso.

  • UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA PRE-SABERES TRABAJO COLABORATIVO PRCTICO DEL CURSO: PROGRAMACIN ORIENTADA A OBJETOS

    Conceptos Bsicos de lgica de Programa

    El curso est diseado, para ser desarrollado por una persona que no conoce nada de programacin y se utilice Java Eclipse como primer lenguaje. El objetivo fundamental de este tutorial es permitir que el estudiante pueda resolver problemas de distinta ndole (matemticos, administrativos, grficos, contables etc.) empleando como herramienta la computadora. Hay que tener en cuenta que para llegar a ser programador se debe recorrer un largo camino donde cada tema es fundamental para conceptos futuros. Es importante no dejar temas sin entender y relacionar. La programacin es una actividad nueva para el estudiante, no hay en los estudios primarios y secundarios una materia parecida. Es bueno tenerse paciencia cuando los problemas no se resuelven por completo, pero es de fundamental importancia dedicar tiempo al anlisis individual de los problemas. Qu es un programa?

    Programa: Conjunto de instrucciones que entiende un ordenador para realizar una actividad.

    Todo Programa tiene un objetivo bien definido: un procesador de texto es un programa que permite cargar, modificar e imprimir textos, un programa de ajedrez permite jugar al ajedrez contra el ordenador u otro contrincante humano. La actividad fundamental del programador es resolver problemas empleando el ordenador como herramienta fundamental. Para la resolucin de un problema hay que plantear un algoritmo. Algoritmo: Son los pasos a seguir para resolver un problema.

    Diagrama de flujo

    Un diagrama de flujo es la representacin grfica de un ALGORITMO. Los smbolos grficos a utilizar para el planteo de diagramas de flujo son

  • UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA PRE-SABERES TRABAJO COLABORATIVO PRCTICO DEL CURSO: PROGRAMACIN ORIENTADA A OBJETOS

    Estos son los elementos esenciales que intervienen en el desarrollo de un diagrama de flujo. Planteo de un problema utilizando diagramas de flujo. Para plantear un diagrama de flujo debemos tener muy en claro el problema a resolver. Ejemplo: Calcular el sueldo mensual de un operario conociendo la cantidad de horas trabajadas y el pago por hora. Podemos identificar: Datos conocidos: Horas trabajadas en el mes. Pago por hora. Proceso: Clculo del sueldo multiplicando la cantidad de horas por el pago por hora. Informacin resultante: Sueldo mensual. Si hacemos un anlisis todo problema est constituido por: Datos conocidos: Datos con los que se cuenta al plantear el problema. Proceso: Operaciones a realizar con los datos conocidos. Informacin resultante: Es la informacin que resuelve el problema. Esta forma de expresar un problema identificando sus datos conocidos, procesos e informacin resultante puede llegar a ser engorrosa para problemas complejos donde hay muchos datos conocidos y procesos.

  • UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA PRE-SABERES TRABAJO COLABORATIVO PRCTICO DEL CURSO: PROGRAMACIN ORIENTADA A OBJETOS

    Es por eso que resulta mucho ms efectivo representar los pasos para la resolucin del problema mediante un diagrama de flujo.

    Resulta mucho ms fcil entender un grfico que un texto. El diagrama de flujo nos identifica claramente los datos de entrada, operaciones y datos de salida. En el ejemplo tenemos dos datos de entrada: Horas Trabajadas y Costo Hora, a las entradas las representamos con un paralelogramo y hacemos un paralelogramo por cada dato de entrada. La operacin se representa con un rectngulo, debemos hacer un rectngulo por cada operacin. A la salida la representamos con la hoja rota. El diagrama de flujo nos da una idea del orden de ejecucin de las actividades en el tiempo. Primero cargamos los datos de entrada, luego hacemos las operaciones necesarias y por ltimo mostramos los resultados. Codificacin del problema con el lenguaje Java. No debemos perder de vista que el fin ltimo es realizar un programa de computacin que permita automatizar una actividad para que muchos procesos sean desarrollados por la computadora. El diagrama de flujo es un paso intermedio para poder ser interpretado por la computadora. El paso siguiente es la codificacin del diagrama de flujo en un lenguaje de computacin, en nuestro caso emplearemos el lenguaje Java Eclipse. Lenguaje de computacin: Conjunto de instrucciones que son interpretadas por una computadora para realizar operaciones, mostrar datos por pantalla, sacar listados por impresora, entrar datos por teclado, etc.

    Conceptos bsicos para codificar un programa.

    Variable: Es un depsito donde hay un valor. Consta de un nombre y pertenece a un tipo.

  • UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA PRE-SABERES TRABAJO COLABORATIVO PRCTICO DEL CURSO: PROGRAMACIN ORIENTADA A OBJETOS

    Para el ejemplo planteado la variable horasTrabajadas almacena la cantidad de horas trabajadas por el operario. La variable valorHora almacena el precio de una hora de trabajo. La variable sueldo almacena el sueldo a abonar al operario. En el ejemplo tenemos tres variables. Tipos de variable: Una variable puede almacenar: Valores Enteros (100, 260, etc.) Valores Reales (1.24, 2.90, 5.00, etc.) Cadenas de caracteres ("Juan", "Compras", "Listado", etc.) Eleccin del nombre de una variable: Debemos elegir nombres de variables representativas. En el ejemplo el nombre horasTrabajadas es lo suficientemente claro para darnos una idea acabada sobre su contenido. Podemos darle otros buenos nombres. Otros no son tan representativos, por ejemplo hTr. Posiblemente cuando estemos resolviendo un problema dicho nombre nos recuerde que almacenamos las horas trabajadas por el operario pero cuando pase el tiempo y leamos el diagrama probablemente no recordemos ni entendamos qu significa hTr.

    Consideraciones a tener en cuenta en cada proyecto.

    Hay que tener en cuenta que el entorno de programacin "Eclipse" no ha sido desarrollado

    pensando en un principiante de la programacin.

    Lo mismo ocurre con el propio lenguaje Java, es decir su origen no tiene como principio el aprendizaje de la programacin. Debido a estos dos puntos veremos que a medida que avanzamos con el tutorial muchos conceptos que iremos dejando pendientes se irn aclarando. Codificaremos el problema propuesto para repasar los pasos para la creacin de un proyecto en Eclipse, creacin de la clase principal, definicin de la funcin main y el posterior desarrollo del algoritmo del problema.

    Pasos.

    Creacin del proyecto (tema visto anteriormente). Podemos asignarle como nombre:

    SueldoOperario (normalmente uno busca un nombre representativo al programa que desarrolla)

  • UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA PRE-SABERES TRABAJO COLABORATIVO PRCTICO DEL CURSO: PROGRAMACIN ORIENTADA A OBJETOS

    Creacin de la clase, definimos como nombre el mismo que le asignamos al proyecto (Esto no es obligatorio como veremos ms adelante en un proyecto puede tener varias clases). Es decir le damos como nombre de la clase SueldoOperario.

    Inicializamos el campo que solicita el Name con SueldoOperario. Codificamos en algoritmo SueldoOperario

    import javax.swing.*; public class SueldoOperario { public static void main(String[] args) { int horasTrabajadas; float costoHora; float sueldo; horasTrabajadas=Integer.parseInt(JOptionPane.showInputDialog(null,"Ingrese la cantidad de horas:")); costoHora=Float.parseFloat(JOptionPane.showInputDialog(null,"Ingrese el valor de la hora:")); sueldo=horasTrabajadas * costoHora; System.out.print("El empleado debe cobrar:"); System.out.print(sueldo); }

  • UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA PRE-SABERES TRABAJO COLABORATIVO PRCTICO DEL CURSO: PROGRAMACIN ORIENTADA A OBJETOS

    Ejecutamos el programa

    Si no hay errores sintcticos procedemos a activar la ventana de la Consola con el mouse y cargamos por teclado los dos datos que se solicitan (La cantidad de horas trabajadas y el precio de la hora):

    Estos cinco pasos fundamentales debemos llevar a cabo cada vez que desarrollemos un nuevo programa en Java.

    Explicacin.

    Ahora veremos una explicacin de varias partes de nuestro programa y otras partes quedarn pendientes para ms adelante ya que en este momento difcilmente se entiendan. Conceptos que quedarn pendientes para explicar: Concepto de una clase. Veremos ms adelante que en Java todo debe estar contenido en clases, por lo que hasta el problema ms elemental debe estar contenido en una clase. Para declarar una clase utilizamos la sintaxis:

    public class SueldoOperario { }

  • UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA PRE-SABERES TRABAJO COLABORATIVO PRCTICO DEL CURSO: PROGRAMACIN ORIENTADA A OBJETOS

    El nombre de la clase no puede tener espacios en blanco, comienza con una letra mayscula y en caso de estar constituida por dos o ms palabras el primer caracter va en maysculas, no puede

    empezar con un nmero, pero si puede llevar nmeros a partir del segundo caracter. Toda clase

    debe tener una llave de apertura y una llave de cierre.

    Todo programa constituido por una nica clase debe tener definida la funcin main:

    public static void main(String[] args) { }

    La funcin main es la primera que se ejecuta y debe llevar la sintaxis indicada anteriormente (ms

    adelante veremos que significa el parmetro ar, las palabras claves public, static y void. La funcin

    main tiene una llave de apertura y una llave de cierre (similar a la clase). La funcin main debe

    estar contenida en la clase.

    Cuando se requieren utilizar otras clases debemos importarlas previo a la declaracin de la clase (en nuestro problema utilizamos la clase Scanner que se encuentra en el paquete java.util por lo que la importamos con la siguiente sintaxis:

    import javax.swing.*;

    En la main creamos un objeto de la clase swing que nos permitir ingresar por teclado los valores: Conceptos que deben quedar claros: Por el momento haremos todo el algoritmo dentro de la funcin main. Es decir el resto siempre ser lo mismo (declarar un proyecto, declarar una clase, definir una funcin main) Si observamos el diagrama de flujos vemos que debemos definir tres variables: (horasTrabajadas, costoHora,sueldo), aqu es donde debemos definir que tipos de datos se almacenarn en las mismas. La cantidad de horas normalmente ser un valor entero (ej. 100 - 150 - 230 etc.), pero el costo de la hora es muy comn que sea un valor real (ej. 5,35 - 7,50 etc.) y como el sueldo resulta de multiplicar las horas trabajadas por el costo por hora el mismo deber ser real.

    La definicin de las variables la hacemos en la main:

    int horasTrabajadas; float costoHora; float sueldo;

    Utilizamos la palabra clave int para definir variables enteras (en Java las palabras claves deben ir

    obligatoriamente en minsculas, sino se produce un error sintctico) Luego de la palabra clave

    debemos indicar el nombre de la variable, por ejemplo: horasTrabajadas (se propone que el

    nombre de la variable comience con minsculas y en caso de estar constituida por dos palabras o

    ms a partir de la segunda palabra el primer caracter se especifique con maysculas (un nombre

    de variable no puede tener espacios en blanco, empezar con un nmero, ni tampoco utilizar

    caracteres especiales)

    Debemos buscar siempre nombres de variables que nos indiquen que almacenan (no es

    conveniente llamar a nombres de variables con letras individuales)

    Para mostrar mensajes en la "Caja de Dialogo" utilizamos la siguiente sintaxis:

  • UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA PRE-SABERES TRABAJO COLABORATIVO PRCTICO DEL CURSO: PROGRAMACIN ORIENTADA A OBJETOS

    horasTrabajadas=Integer.parseInt(JOptionPane.showInputDialog(null,"Ingrese la cantidad de horas:")); costoHora=Float.parseFloat(JOptionPane.showInputDialog(null,"Ingrese el valor de la hora:"));

    Con esta sintaxis todo lo que se encuentra contenido entre comillas aparecer exactamente en la

    ventana de la "Caja de Dialogo".

    Si disponemos una variable:

    System.out.print(sueldo);

    Aparecer el contenido de la variable. Es decir el valor almacenado en la variable sueldo y no el

    mensaje "sueldo".

    Para hacer la entrada de datos por teclado en Java se complica. Utilizaremos una clase llamada javax.swing que nos facilita el ingreso de datos. Por eso tuvimos que importar la clase javax.swing que se encuentra en el paquete java.util en la primer lnea de nuestro programa.

    En la funcin main debemos crear un objeto de la clase javax.swing.* con la siguiente sintaxis: horasTrabajadas=Integer.parseInt(JOptionPane.showInputDialog(null,"Ingrese la cantidad de horas:"));

    Luego para cargar valores enteros por teclado debemos implementar la siguiente sintaxis:

    costoHora=Float.parseFloat(JOptionPane.showInputDialog(null,"Ingrese el valor de la hora:"));

    Pero si el dato a cargar se trata de un valor float luego debemos utilizar la siguiente sintaxis:

    costoHora=Float.parseFloat(JOptionPane.showInputDialog(null,"Ingrese el valor de la hora:"));

    Las operaciones que indicamos en el diagrama de flujo mediante la figura rectngulo la codificamos tal cual:

    sueldo=horasTrabajadas * costoHora; Podemos ver una relacin entre las instrucciones que debemos utilizar para cada smbolo del diagrama de flujo:

  • UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA PRE-SABERES TRABAJO COLABORATIVO PRCTICO DEL CURSO: PROGRAMACIN ORIENTADA A OBJETOS

    En el diagrama de flujo no indicamos la definicin de variables: int horasTrabajadas; float costoHora; float sueldo;

    No indicamos la creacin del objeto de la clase java.swing:

    import javax.swing.* No representamos con smbolos los mensajes a mostrar previo a la carga de datos por teclado:

    System.out.print(sueldo);

    Como hemos visto hasta ahora hay muchas partes de nuestro cdigo que no entendemos pero son indispensables para la implementacin de nuestros programas, a medida que avancemos con el curso muchos de estos conceptos se irn aclarando.

  • UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA PRE-SABERES TRABAJO COLABORATIVO PRCTICO DEL CURSO: PROGRAMACIN ORIENTADA A OBJETOS

    Estructura de un programa Cuando en un problema slo participan operaciones, entradas y salidas se la denomina una estructura secuencial. Los problemas diagramados y codificados previamente emplean solo estructuras secuenciales. La programacin requiere una prctica ininterrumpida de diagramacin y codificacin de problemas.

    Problema:

    Realizar la carga de dos nmeros enteros por teclado e imprimir su suma y su producto.

    Diagrama de flujo:

    Tenemos dos entradas num1 y num2 (recordar cules son los nombres de variables correctas), dos operaciones: realizacin de la suma y del producto de los valores ingresados y dos salidas, que son los resultados de la suma y el producto de los valores ingresados. En el smbolo de impresin podemos indicar una o ms salidas, eso queda a criterio del programador, lo mismo para indicar las entradas por teclado.

  • UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA PRE-SABERES TRABAJO COLABORATIVO PRCTICO DEL CURSO: PROGRAMACIN ORIENTADA A OBJETOS

    Programa:

    import javax.swing.*;

    public class SumaProductoNumeros

    {

    public static void main(String[] args)

    {

    int num1,num2,suma,producto;

    num1=Integer.parseInt(JOptionPane.showInputDialog(null,"Ingrese primer valor:"));

    num2=Integer.parseInt(JOptionPane.showInputDialog(null,"Ingrese segundo valor"));

    suma=num1 + num2;

    producto=num1 * num2;

    System.out.print("La suma de los dos valores es:");

    System.out.println(suma);

    System.out.print("El producto de los dos valores es:");

    System.out.println(producto);

    }

    }

    Realizar la carga del lado de un cuadrado, mostrar por pantalla el permetro del mismo (El permetro de un cuadrado se calcula multiplicando el valor del lado por cuatro)

    import javax.swing.*; public class PerimetroCuadrado { public static void main(String[] args) { int lado,perimetro; lado=Integer.parseInt(JOptionPane.showInputDialog(null,"Ingrese el lado del cuadrado:")); perimetro=lado * 4; System.out.print("El permetro del cuadrado es:"); System.out.print(perimetro); } }

    Escribir un programa en el cual se ingresen cuatro nmeros, calcular e informar la suma de los dos primeros y el producto del tercero y el cuarto.

    import javax.swing.*; public class SumaProducto4Numeros { public static void main(String[] args) { int num1,num2,num3,num4,suma,producto; num1=Integer.parseInt(JOptionPane.showInputDialog(null,"Ingrese primer valor:")); num2=Integer.parseInt(JOptionPane.showInputDialog(null,"Ingrese segundo valor:")); num3=Integer.parseInt(JOptionPane.showInputDialog(null,"Ingrese tercer valor:")); num4=Integer.parseInt(JOptionPane.showInputDialog(null,"Ingrese cuarto valor:")); suma=num1 + num2; producto=num3 * num4; System.out.print("La suma de los dos primero valores es:"); System.out.println(suma); System.out.print("El producto del tercer y cuarto valor es:"); System.out.print(producto); } }

  • UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA PRE-SABERES TRABAJO COLABORATIVO PRCTICO DEL CURSO: PROGRAMACIN ORIENTADA A OBJETOS

    Realizar un programa que lea cuatro valores numricos e informar su suma y promedio.

    import javax.swing.*; public class SumaPromedio { public static void main(String[] args) { int num1,num2,num3,num4,suma,promedio; num1=Integer.parseInt(JOptionPane.showInputDialog(null,"Ingrese primer valor:")); num2=Integer.parseInt(JOptionPane.showInputDialog(null,"Ingrese segundo valor:")); num3=Integer.parseInt(JOptionPane.showInputDialog(null,"Ingrese tercer valor:")); num4=Integer.parseInt(JOptionPane.showInputDialog(null,"Ingrese cuarto valor:")); suma=num1 + num2 + num3 + num4; promedio=suma/4; System.out.print("La suma de los cuatro valores es:"); System.out.println(suma); System.out.print("El promedio es:"); System.out.print(promedio); } }

    Se debe desarrollar un programa que pida el ingreso del precio de un artculo y la cantidad que lleva el cliente. Mostrar lo que debe abonar el comprador.

    import javax.swing.*;

    public class CostoCompra { public static void main(String[] args) { int cantidad; float precio; float importe; cantidad=Integer.parseInt(JOptionPane.showInputDialog(null,"Ingrese la cantidad de artculos a llevar:")); precio=Float.parseFloat(JOptionPane.showInputDialog(null,"Ingrese el valor unitario del producto:")); importe=precio * cantidad; System.out.print("El importe total a pagar es:"); System.out.print(importe); } }

  • UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA PRE-SABERES TRABAJO COLABORATIVO PRCTICO DEL CURSO: PROGRAMACIN ORIENTADA A OBJETOS

    Estructuras Condicionales Simples y Complejas Notodos los problemas pueden resolverse empleando estructuras secuenciales. Cuando hay que tomar una decisin aparecen las estructuras condicionales. En nuestra vida diaria se nos presentan situaciones donde debemos decidir. Elijo la carrera A o la carrera B? Me pongo este pantaln? Para ir al trabajo, elijo el camino A o el camino B? Al cursar una carrera, elijo el turno maana, tarde o noche? Por supuesto que en un problema se combinan estructuras secuenciales y condicionales.

    Estructura condicional simple.

    Cuando se presenta la eleccin tenemos la opcin de realizar una actividad o no realizar ninguna. Representacin Grfica.

    Podemos observar: El rombo representa la condicin. Hay dos opciones que se pueden tomar. Si la condicin da verdadera se sigue el camino del verdadero, o sea el de la derecha, si la condicin da falsa se sigue el camino de la izquierda. Se trata de una estructura CONDICIONAL SIMPLE porque por el camino del verdadero hay actividades y por el camino del falso no hay actividades. Por el camino del verdadero pueden existir varias operaciones, entrada y salidas, inclusive ya veremos que puede haber otras estructuras condicionales.

    Problema:

    Ingresar el sueldo de una persona si supera los 3000 pesos mostrar un mensaje en pantalla indicando que debe abonar impuestos.

  • UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA PRE-SABERES TRABAJO COLABORATIVO PRCTICO DEL CURSO: PROGRAMACIN ORIENTADA A OBJETOS

    Diagrama de flujo:

    Podemos observar lo siguiente: Siempre se hace la carga del sueldo, pero si el sueldo que ingresamos supera 3000 pesos se mostrar por pantalla el mensaje "Esta persona debe abonar impuestos", en caso que la persona cobre 3000 o menos no aparece nada por pantalla.

    Programa:

    import javax.swing.*; public class EstructuraCondicionalSimple1 { public static void main(String[] args) { float sueldo; sueldo=Float.parseFloat(JOptionPane.showInputDialog(null,"Ingrese el sueldo:")); if (sueldo>3000) { System.out.println("Esta persona debe abonar impuestos"); } } }

    La palabra clave "if" indica que estamos en presencia de una estructura condicional; seguidamente disponemos la condicin entre parntesis. Por ltimo encerrada entre llaves las instrucciones de la rama del verdadero. Es necesario que las instrucciones a ejecutar en caso que la condicin sea verdadera estn

    encerradas entre llaves { }, con ellas marcamos el comienzo y el fin del bloque del verdadero.

    Ejecutando el programa e ingresamos un sueldo superior a 3000 pesos. Podemos observar como aparece en pantalla el mensaje "Esta persona debe abonar impuestos", ya que la condicin del if es verdadera. Volvamos a ejecutar el programa y carguemos un sueldo menor o igual a 3000 pesos. No debe aparecer mensaje en pantalla.

  • UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA PRE-SABERES TRABAJO COLABORATIVO PRCTICO DEL CURSO: PROGRAMACIN ORIENTADA A OBJETOS

    Estructura condicional compuesta. Cuando se presenta la eleccin tenemos la opcin de realizar una actividad u otra. Es decir tenemos actividades por el verdadero y por el falso de la condicin. Lo ms importante que hay que tener en cuenta que se realizan las actividades de la rama del verdadero o las del falso, NUNCA se realizan las actividades de las dos ramas. Representacin grfica:

    En una estructura condicional compuesta tenemos entradas, salidas, operaciones, tanto por la rama del verdadero como por la rama del falso.

    Problema:

    Realizar un programa que solicite ingresar dos nmeros distintos y muestre por pantalla el mayor de ellos.

    Diagrama de flujo:

  • UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA PRE-SABERES TRABAJO COLABORATIVO PRCTICO DEL CURSO: PROGRAMACIN ORIENTADA A OBJETOS

    Se hace la entrada de num1 y num2 por teclado. Para saber cual variable tiene un valor mayor preguntamos si el contenido de num1 es mayor (>) que el contenido de num2, si la respuesta es verdadera vamos por la rama de la derecha e imprimimos num1, en caso que la condicin sea falsa vamos por la rama de la izquierda (Falsa) e imprimimos num2. Como podemos observar nunca se imprimen num1 y num2 simultneamente. Estamos en presencia de una ESTRUCTURA CONDICIONAL COMPUESTA ya que tenemos actividades por la rama del verdadero y del falso.

    Programa:

    import javax.swing.*; public class EstructuraCondicionalCompuesta1 { public static void main(String[] args) { int num1,num2; num1=Integer.parseInt(JOptionPane.showInputDialog(null,"Ingrese primer valor:")); num2=Integer.parseInt(JOptionPane.showInputDialog(null,"Ingrese segundo valor:")); if (num1>num2) { System.out.print(num1); } else { System.out.print(num2); } } }

    Cotejemos el diagrama de flujo y la codificacin y observemos que el primer bloque de llaves despus del if representa la rama del verdadero y el segundo bloque de llaves representa la rama del falso. Compilemos el programa, si hubo errores sintcticos corrijamos y carguemos dos valores, como por ejemplo: Ingrese el primer valor: 10 Ingrese el segundo valor: 4 10 Si ingresamos los valores 10 y 4 la condicin del if retorna verdadero y ejecuta el primer bloque. Un programa se controla y corrige probando todos sus posibles resultados. Ejecutemos nuevamente el programa e ingresemos: Ingrese el primer valor: 10 Ingrese el segundo valor: 54 54 Cuando a un programa le corregimos todos los errores sintcticos y lgicos ha terminado nuestra tarea y podemos entregar el mismo al USUARIO que nos lo solicit.

  • UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA PRE-SABERES TRABAJO COLABORATIVO PRCTICO DEL CURSO: PROGRAMACIN ORIENTADA A OBJETOS

    Operadores En una condicin deben disponerse nicamente variables, valores constantes y operadores relacionales.

    >Operadores Relacionales:

    > (mayor) < (menor) >= (mayor o igual) num2) { int suma,diferencia; suma=num1 + num2; diferencia=num1 - num2; System.out.print("La suma de los dos valores es:"); System.out.println(suma); System.out.print("La diferencia de los dos valores es:"); System.out.println(diferencia); } else { int producto,division; producto=num1 * num2; division=num1 / num2; System.out.print("El producto de los dos valores es:"); System.out.println(producto); System.out.print("La divisin de los dos valores es:");

  • UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA PRE-SABERES TRABAJO COLABORATIVO PRCTICO DEL CURSO: PROGRAMACIN ORIENTADA A OBJETOS

    System.out.println(division); } } }

    Se ingresan tres notas de un alumno, si el promedio es mayor o igual a siete mostrar un mensaje "Promocionado".

    import javax.swing.*; public class EstructuraCondicionalSimple2 { public static void main(String[] ar) { int nota1,nota2,nota3; nota1=Integer.parseInt(JOptionPane.showInputDialog(null,"Ingrese primera nota:")); nota2=Integer.parseInt(JOptionPane.showInputDialog(null,"Ingrese segunda nota: ")); nota3=Integer.parseInt(JOptionPane.showInputDialog(null,"Ingrese tercera nota:")); int promedio; promedio=(nota1 + nota2 + nota3) / 3; if (promedio>=7) { System.out.print("Promocionado"); } } }

    Se ingresa por teclado un nmero positivo de uno o dos dgitos (1..99) mostrar un mensaje indicando si el nmero tiene uno o dos dgitos.

    (Tener en cuenta que condicin debe cumplirse para tener dos dgitos, un nmero entero)

    import javax.swing.*; public class EstructuraCondicionalCompuesta3 { public static void main(String[] args) { int num; num=Integer.parseInt(JOptionPane.showInputDialog(null,"Ingrese un valor entero de 1 o 2 dgitos:")); if (num

  • UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA PRE-SABERES TRABAJO COLABORATIVO PRCTICO DEL CURSO: PROGRAMACIN ORIENTADA A OBJETOS

    Estructuras Condicionales Anidadas

    Decimos que una estructura condicional es anidada cuando por la rama del verdadero o el falso de una estructura condicional hay otra estructura condicional.

    El diagrama de flujo que se presenta contiene dos estructuras condicionales. La principal se trata de una estructura condicional compuesta y la segunda es una estructura condicional simple y est contenida por la rama del falso de la primer estructura. Es comn que se presenten estructuras condicionales anidadas an ms complejas.

    Problema:

    Confeccionar un programa que pida por teclado tres notas de un alumno, calcule el promedio e imprima alguno de estos mensajes: Si el promedio es >=7 mostrar "Promocionado". Si el promedio es >=4 y

  • UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA PRE-SABERES TRABAJO COLABORATIVO PRCTICO DEL CURSO: PROGRAMACIN ORIENTADA A OBJETOS

    Diagrama de flujo:

    Analicemos el siguiente diagrama. Se ingresan tres valores por teclado que representan las notas de un alumno, se obtiene el promedio sumando los tres valores y dividiendo por 3 dicho resultado (Tener en cuenta que si el resultado es un valor real solo se almacena la parte entera). Primeramente preguntamos si el promedio es superior o igual a 7, en caso afirmativo va por la rama del verdadero de la estructura condicional mostramos un mensaje que indica "Promocionado" (con comillas indicamos un texto que debe imprimirse en pantalla). En caso que la condicin nos de falso, por la rama del falso aparece otra estructura condicional, porque todava debemos averiguar si el promedio del alumno es superior o igual a cuatro o inferior a cuatro. Estamos en presencia de dos estructuras condicionales compuestas.

    Programa:

    import javax.swing.*; public class EstructuraCondicionalAnidada1 { public static void main(String[] ar) { int nota1,nota2,nota3; nota1=Integer.parseInt(JOptionPane.showInputDialog(null,"Ingrese primera nota:")); nota2=Integer.parseInt(JOptionPane.showInputDialog(null,"Ingrese segunda nota: ")); nota3=Integer.parseInt(JOptionPane.showInputDialog(null,"Ingrese tercera nota:")); int promedio=(nota1 + nota2 + nota3) / 3; if (promedio>=7) { System.out.print("Promocionado"); } else { if (promedio>=4) { System.out.print("Regular"); }

  • UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA PRE-SABERES TRABAJO COLABORATIVO PRCTICO DEL CURSO: PROGRAMACIN ORIENTADA A OBJETOS

    else { System.out.print("Reprobado"); } } } }

    Codifiquemos y ejecutemos este programa. Al correr el programa deber solicitar por teclado la carga de tres notas y mostrarnos un mensaje segn el promedio de las mismas. Podemos definir un conjunto de variables del mismo tipo en una misma lnea:

    int nota1,nota2,nota3; Esto no es obligatorio pero a veces, por estar relacionadas, conviene. A la codificacin del if anidado podemos observarla por el else del primer if. Para no tener problemas (olvidarnos) con las llaves de apertura y cerrado podemos ver la siguiente regla: Cada vrtice representa una llave de apertura y una de cierre:

  • UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA PRE-SABERES TRABAJO COLABORATIVO PRCTICO DEL CURSO: PROGRAMACIN ORIENTADA A OBJETOS

    Problemas propuestos

    Se cargan por teclado tres nmeros distintos. Mostrar por pantalla el mayor de ellos.

    import javax.swing.*; public class EstructuraCondicionalAnidada2 { public static void main(String[] ar) { int num1,num2,num3; num1=Integer.parseInt(JOptionPane.showInputDialog(null,"Ingrese primera Valor:")); num2=Integer.parseInt(JOptionPane.showInputDialog(null,"Ingrese segunda Valor: ")); num3=Integer.parseInt(JOptionPane.showInputDialog(null,"Ingrese tercera Valor:")); if (num1>num2) { if (num1>num3) { System.out.print(num1); } else { System.out.println(num3); } } else { if (num2>num3) { System.out.print(num2); } else { System.out.print(num3); } } } }

    Se ingresa por teclado un valor entero, mostrar una leyenda que indique si el nmero es positivo, nulo o negativo.

    import javax.swing.*; public class EstructuraCondicionalAnidada3 { public static void main(String[] ar) { int num; num=Integer.parseInt(JOptionPane.showInputDialog(null,"Ingrese primera Valor:")); if (num==0) { System.out.print("Se ingres el cero"); } else { if (num>0) { System.out.print("Se ingres un valor positivo"); } else { System.out.print("Se ingres un valor negativo"); } } } }

  • UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA PRE-SABERES TRABAJO COLABORATIVO PRCTICO DEL CURSO: PROGRAMACIN ORIENTADA A OBJETOS

    Confeccionar un programa que permita cargar un nmero entero positivo de hasta tres cifras y muestre un mensaje indicando si tiene 1, 2, o 3 cifras. Mostrar un mensaje de error si el nmero de cifras es mayor.

    import javax.swing.*; public class EstructuraCondicionalAnidada4 { public static void main(String[] ar) { int num; num=Integer.parseInt(JOptionPane.showInputDialog(null,"Ingrese un valor de hasta tres dgitos positivo")); if (num

  • UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA PRE-SABERES TRABAJO COLABORATIVO PRCTICO DEL CURSO: PROGRAMACIN ORIENTADA A OBJETOS

    if (porcentaje>=75) { System.out.print("Nivel medio"); } else { if (porcentaje>=50) { System.out.print("Nivel regular"); } else { System.out.print("Fuera de nivel"); } } } } }

  • UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA PRE-SABERES TRABAJO COLABORATIVO PRCTICO DEL CURSO: PROGRAMACIN ORIENTADA A OBJETOS

    Condiciones compuestas con operadores lgicos Hasta ahora hemos visto los operadores: Relacionales (>, =,

  • UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA PRE-SABERES TRABAJO COLABORATIVO PRCTICO DEL CURSO: PROGRAMACIN ORIENTADA A OBJETOS

    Este ejercicio est resuelto sin emplear operadores lgicos en un concepto anterior del tutorial. La primera estructura condicional es una ESTRUCTURA CONDICIONAL COMPUESTA con una CONDICION COMPUESTA. Podemos leerla de la siguiente forma: Si el contenido de la variable num1 es mayor al contenido de la variable num2 Y si el contenido de la variable num1 es mayor al contenido de la variable num3 entonces la CONDICION COMPUESTA resulta Verdadera. Si una de las condiciones simples da falso la CONDICION COMPUESTA da Falso y continua por la rama del falso. Es decir que se mostrar el contenido de num1 si y slo si num1>num2 y num1>num3. En caso de ser Falsa la condicin, analizamos el contenido de num2 y num3 para ver cual tiene un valor mayor. En esta segunda estructura condicional no se requieren operadores lgicos al haber una condicin simple.

    Programa:

    import javax.swing.*;

    public class CondicionesCompuestas1

    {

  • UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA PRE-SABERES TRABAJO COLABORATIVO PRCTICO DEL CURSO: PROGRAMACIN ORIENTADA A OBJETOS

    public static void main(String[] ar) {

    int num1,num2,num3;

    num1=Integer.parseInt(JOptionPane.showInputDialog(null,"Ingrese primera Valor:"));

    num2=Integer.parseInt(JOptionPane.showInputDialog(null,"Ingrese segunda Valor: "));

    num3=Integer.parseInt(JOptionPane.showInputDialog(null,"Ingrese tercera Valor:"));

    if (num1>num2 && num1>num3)

    {

    System.out.print(num1);

    }

    else

    {

    if (num2>num3)

    {

    System.out.print(num2);

    }

    else

    {

    System.out.print(num3);

    }

    }

    }

    }

    Operador ||

    Traducido se lo lee como ?O?. Si la condicin 1 es Verdadera O la condicin 2 es Verdadera, luego ejecutar la rama del Verdadero. Cuando vinculamos dos o ms condiciones con el operador ?Or", con que una de las dos condiciones sea Verdadera alcanza para que el resultado de la condicin compuesta sea Verdadero.

    Problema:

    Se carga una fecha (da, mes y ao) por teclado. Mostrar un mensaje si corresponde al primer trimestre del ao (enero, febrero o marzo) Cargar por teclado el valor numrico del da, mes y ao. Ejemplo: dia:10 mes:1 ao:2010.

  • UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA PRE-SABERES TRABAJO COLABORATIVO PRCTICO DEL CURSO: PROGRAMACIN ORIENTADA A OBJETOS

    Diagrama de flujo:

    La carga de una fecha se hace por partes, ingresamos las variables dia, mes y ao. Mostramos el mensaje "Corresponde al primer trimestre" en caso que el mes ingresado por teclado sea igual a 1, 2 3. En la condicin no participan las variables dia y ao.

    Programa:

    import javax.swing.*;

    public class CondicionesCompuestas2

    {

    public static void main(String[] ar)

    {

    int dia,mes,ao;

    dia=Integer.parseInt(JOptionPane.showInputDialog(null,"Ingrese nro de da:"));

    mes=Integer.parseInt(JOptionPane.showInputDialog(null,"Ingrese nro de mes: "));

    ao=Integer.parseInt(JOptionPane.showInputDialog(null,"Ingrese nro de ao:"));

    if (mes==1 || mes==2 || mes==3)

    {

    System.out.print("Corresponde al primer trimestre");

    }

    }

    }

  • UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA PRE-SABERES TRABAJO COLABORATIVO PRCTICO DEL CURSO: PROGRAMACIN ORIENTADA A OBJETOS

    Problemas propuestos

    Se ingresan tres valores por teclado, si todos son iguales se imprime la suma del primero con el segundo y a este resultado se lo multiplica por el tercero.

    import javax.swing.*; public class CondicionesCompuestas4 { public static void main(String[] ar) { int num1,num2,num3; num1=Integer.parseInt(JOptionPane.showInputDialog(null,"Ingrese primera Valor:")); num2=Integer.parseInt(JOptionPane.showInputDialog(null,"Ingrese segunda Valor: ")); num3=Integer.parseInt(JOptionPane.showInputDialog(null,"Ingrese tercera Valor:")); if (num1==num2 && num1==num3) { int suma=num1 + num2; System.out.print("La suma del primero y segundo:"); System.out.println(suma); int producto=suma * num3; System.out.print("La suma del primero y segundo multiplicado por el tercero:"); System.out.print(producto); } } }

    Se ingresan por teclado tres nmeros, si todos los valores ingresados son menores a 10, imprimir en pantalla la leyenda "Todos los nmeros son menores a diez".

    import javax.swing.*; public class CondicionesCompuestas5 { public static void main(String[] ar) { int num1,num2,num3; num1=Integer.parseInt(JOptionPane.showInputDialog(null,"Ingrese primera Valor:")); num2=Integer.parseInt(JOptionPane.showInputDialog(null,"Ingrese segunda Valor: ")); num3=Integer.parseInt(JOptionPane.showInputDialog(null,"Ingrese tercera Valor:")); if (num1

  • UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA PRE-SABERES TRABAJO COLABORATIVO PRCTICO DEL CURSO: PROGRAMACIN ORIENTADA A OBJETOS

    Posteriormente imprimir en pantalla en que cuadrante se ubica dicho punto. (1 Cuadrante si x > 0 Y y > 0 , 2 Cuadrante: x < 0 Y y > 0, etc.).

    import javax.swing.*; public class CondicionesCompuestas7 { public static void main(String[] ar) { int x,y; x=Integer.parseInt(JOptionPane.showInputDialog(null,"Ingrese coordenada x:")); y=Integer.parseInt(JOptionPane.showInputDialog(null,"Ingrese coordenada y:")); if (x>0 && y>0) { System.out.print("Se encuentra en el primer cuadrante"); } else { if (x0) { System.out.print("Se encuentra en el segundo cuadrante"); } else { if (x

  • UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA PRE-SABERES TRABAJO COLABORATIVO PRCTICO DEL CURSO: PROGRAMACIN ORIENTADA A OBJETOS

    } else { System.out.print("Sueldo a pagar:"); System.out.print(sueldo); } } } }

  • UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA PRE-SABERES TRABAJO COLABORATIVO PRCTICO DEL CURSO: PROGRAMACIN ORIENTADA A OBJETOS

    Estructura repetitiva while

    Hasta ahora hemos empleado estructuras SECUENCIALES y CONDICIONALES. Existe otro tipo de estructuras tan importantes como las anteriores que son las estructuras REPETITIVAS. Una estructura repetitiva permite ejecutar una instruccin o un conjunto de instrucciones varias veces. Una ejecucin repetitiva de sentencias se caracteriza por: - La o las sentencias que se repiten. - El test o prueba de condicin antes de cada repeticin, que motivar que se repitan o no las sentencias. Estructura repetitiva while. Representacin grfica de la estructura while:

    No debemos confundir la representacin grfica de la estructura repetitiva while (Mientras) con la estructura condicional if (Si) Funcionamiento: En primer lugar se verifica la condicin, si la misma resulta verdadera se ejecutan las operaciones que indicamos por la rama del Verdadero. A la rama del verdadero la graficamos en la parte inferior de la condicin. Una lnea al final del bloque de repeticin la conecta con la parte superior de la estructura repetitiva. En caso que la condicin sea Falsa contina por la rama del Falso y sale de la estructura repetitiva para continuar con la ejecucin del algoritmo. El bloque se repite MIENTRAS la condicin sea Verdadera. Importante: Si la condicin siempre retorna verdadero estamos en presencia de un ciclo repetitivo infinito. Dicha situacin es un error de programacin, nunca finalizar el programa.

  • UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA PRE-SABERES TRABAJO COLABORATIVO PRCTICO DEL CURSO: PROGRAMACIN ORIENTADA A OBJETOS

    Problema 1: Realizar un programa que imprima en pantalla los nmeros del 1 al 100. Sin conocer las estructuras repetitivas podemos resolver el problema empleando una estructura secuencial. Inicializamos una variable con el valor 1, luego imprimimos la variable, incrementamos nuevamente la variable y as sucesivamente.

    Diagrama de flujo:

    Si continuamos con el diagrama no nos alcanzaran las prximas 5 pginas para finalizarlo. Emplear una estructura secuencial para resolver este problema produce un diagrama de flujo y un programa en Java muy largo. Ahora veamos la solucin empleando una estructura repetitiva while:

  • UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA PRE-SABERES TRABAJO COLABORATIVO PRCTICO DEL CURSO: PROGRAMACIN ORIENTADA A OBJETOS

    Es muy importante analizar este diagrama: La primera operacin inicializa la variable x en 1, seguidamente comienza la estructura repetitiva while y disponemos la siguiente condicin ( x =100 ( si x es mayor o igual a 100) no provoca ningn error sintctico pero estamos en presencia de un error lgico porque al evaluarse por primera vez la condicin retorna falso y no se ejecuta el bloque de instrucciones que queramos repetir 100 veces. No existe una RECETA para definir una condicin de una estructura repetitiva, sino que se logra con una prctica continua solucionando problemas. Una vez planteado el diagrama debemos verificar si el mismo es una solucin vlida al problema (en este caso se debe imprimir los nmeros del 1 al 100 en pantalla), para ello podemos hacer un seguimiento del flujo del diagrama y los valores que toman las variables a lo largo de la ejecucin:

    x 1 2 3 4 . . 100 101 Cuando x vale 101 la condicin de la estructura repetitiva retorna falso, en este caso finaliza el diagrama.

    Importante: Podemos observar que el bloque repetitivo puede no ejecutarse ninguna vez si la condicin retorna falso la primera vez. La variable x debe estar inicializada con algn valor antes que se ejecute la operacin x=x + 1 en caso de no estar inicializada aparece un error de compilacin.

  • UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA PRE-SABERES TRABAJO COLABORATIVO PRCTICO DEL CURSO: PROGRAMACIN ORIENTADA A OBJETOS

    Programa:

    import javax.swing.*;

    public class EstructuraRepetitivaWhile1

    {

    public static void main(String[] ar)

    {

    int x;

    x=1;

    while (x

  • UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA PRE-SABERES TRABAJO COLABORATIVO PRCTICO DEL CURSO: PROGRAMACIN ORIENTADA A OBJETOS

    Diagrama de flujo:

    Podemos observar que se ingresa por teclado la variable n. El operador puede cargar cualquier valor. Si el operador carga 10 el bloque repetitivo se ejecutar 10 veces, ya que la condicin es ?Mientras x

  • UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA PRE-SABERES TRABAJO COLABORATIVO PRCTICO DEL CURSO: PROGRAMACIN ORIENTADA A OBJETOS

    System.out.print(x); System.out.print(" - ");

    x = x + 1;

    }

    }

    }

    Los nombres de las variables n y x pueden ser palabras o letras (como en este caso) La variable x recibe el nombre de CONTADOR. Un contador es un tipo especial de variable que se incrementa o decrementa con valores constantes durante la ejecucin del programa. El contador x nos indica en cada momento la cantidad de valores impresos en pantalla.

    Problema 3:

    Desarrollar un programa que permita la carga de 10 valores por teclado y nos muestre posteriormente la suma de los valores ingresados y su promedio.

    Diagrama de flujo:

    En este problema, a semejanza de los anteriores, llevamos un CONTADOR llamado x que nos sirve para contar las vueltas que debe repetir el while

  • UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA PRE-SABERES TRABAJO COLABORATIVO PRCTICO DEL CURSO: PROGRAMACIN ORIENTADA A OBJETOS

    . Tambin aparece el concepto de ACUMULADOR (un acumulador es un tipo especial de variable que se incrementa o decrementa con valores variables durante la ejecucin del programa) Hemos dado el nombre de suma a nuestro acumulador. Cada ciclo que se repita la estructura repetitiva, la variable suma se incrementa con el contenido ingresado en la variable valor. La prueba del diagrama se realiza dndole valores a las variables:

    valor suma x promedio 0 0 (Antes de entrar a la estructura repetitiva estos son los valores). 5 5 1 16 21 2 7 28 3 10 38 4 2 40 5 20 60 6 5 65 7 5 70 8 10 80 9 2 82 10 8 90 11 9

    Este es un seguimiento del diagrama planteado. Los nmeros que toma la variable valor depender de qu cifras cargue el operador durante la ejecucin del programa. El promedio se calcula al salir de la estructura repetitiva (es decir primero sumamos los 10 valores ingresados y luego los dividimos por 10) Hay que tener en cuenta que cuando en la variable valor se carga el primer valor (en este ejemplo 5) al cargarse el segundo valor (16) el valor anterior 5 se pierde, por ello la necesidad de ir almacenando en la variable suma los valores ingresados.

    Programa:

    import javax.swing.*; public class EstructuraRepetitivaWhile3 { public static void main(String[] ar) { int x,suma,valor,promedio; x=1; suma=0; while (x

  • UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA PRE-SABERES TRABAJO COLABORATIVO PRCTICO DEL CURSO: PROGRAMACIN ORIENTADA A OBJETOS

    Problema 4: Una planta que fabrica perfiles de hierro posee un lote de n piezas. Confeccionar un programa que pida ingresar por teclado la cantidad de piezas a procesar y luego ingrese la longitud de cada perfil; sabiendo que la pieza cuya longitud est comprendida en el rango de 1,20 y 1,30 son aptas. Imprimir por pantalla la cantidad de piezas aptas que hay en el lote.

    Diagrama de flujo:

    Podemos observar que dentro de una estructura repetitiva puede haber estructuras condicionales (inclusive puede haber otras estructuras repetitivas que veremos ms adelante) En este problema hay que cargar inicialmente la cantidad de piezas a ingresar ( n ), seguidamente se cargan n valores de largos de piezas. Cada vez que ingresamos un largo de pieza (largo) verificamos si es una medida correcta (debe estar entre 1.20 y 1.30 el largo para que sea correcta), en caso de ser correcta la CONTAMOS (incrementamos la variable cantidad en 1)

  • UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA PRE-SABERES TRABAJO COLABORATIVO PRCTICO DEL CURSO: PROGRAMACIN ORIENTADA A OBJETOS

    Al contador cantidad lo inicializamos en cero porque inicialmente no se ha cargado ningn largo de medida. Cuando salimos de la estructura repetitiva porque se han cargado n largos de piezas mostramos por pantalla el contador cantidad (que representa la cantidad de piezas aptas) En este problema tenemos dos CONTADORES:

    x (Cuenta la cantidad de piezas cargadas hasta el momento) cantidad (Cuenta los perfiles de hierro aptos)

    Programa:

    import javax.swing.*;

    public class EstructuraRepetitivaWhile4

    {

    public static void main(String[] ar)

    {

    int x,cantidad,n;

    float largo;

    x=1;

    cantidad=0;

    n=Integer.parseInt(JOptionPane.showInputDialog(null,"Cuantas piezar procesar:"));

    while (x=1.20 && largo

  • UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA PRE-SABERES TRABAJO COLABORATIVO PRCTICO DEL CURSO: PROGRAMACIN ORIENTADA A OBJETOS

    { public static void main(String[] ar) { int x,nota,conta1,conta2; x=1; conta1=0; conta2=0; while (x=7) { conta1=conta1 + 1; } else { conta2=conta2 + 1; } x=x + 1; } System.out.print("Cantidad de alumnos con notas mayores o iguales a 7:"); System.out.println(conta1); System.out.print("Cantidad de alumons con notas menores a 7:"); System.out.print(conta2); } }

    Se ingresan un conjunto de n alturas de personas por teclado. Mostrar la altura promedio de las personas.

    import javax.swing.*; public class EstructuraRepetitivaWhile6 { public static void main(String[] ar) { int n,x; float altura,suma,promedio; n=Integer.parseInt(JOptionPane.showInputDialog(null,"Cuantas personas hay:")); x=1; suma=0; while (x

  • UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA PRE-SABERES TRABAJO COLABORATIVO PRCTICO DEL CURSO: PROGRAMACIN ORIENTADA A OBJETOS

    float sueldo,gastos; n=Integer.parseInt(JOptionPane.showInputDialog(null,"Cuantos empleados tiene la empresa:")); x=1; conta1=0; conta2=0; gastos=0; while (x

  • UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA PRE-SABERES TRABAJO COLABORATIVO PRCTICO DEL CURSO: PROGRAMACIN ORIENTADA A OBJETOS

    } } }

    Realizar un programa que permita cargar dos listas de 15 valores cada una. Informar con un mensaje cual de las dos listas tiene un valor acumulado mayor (mensajes "Lista 1 mayor", "Lista 2 mayor", "Listas iguales")

    Tener en cuenta que puede haber dos o ms estructuras repetitivas en un algoritmo.

    import javax.swing.*; public class EstructuraRepetitivaWhile10 { public static void main(String[] ar) { int valor,x,suma1,suma2; x=1; suma1=0; suma2=0; System.out.println("Primer lista"); while (xsuma1) { System.out.print("Lista2 mayor."); } else { System.out.print("Listas iguales."); } } } }

    Desarrollar un programa que permita cargar n nmeros enteros y luego nos informe cuntos valores fueron pares y cuntos impares.

    Emplear el operador ?%? en la condicin de la estructura condicional:

    if (valor%2==0) //Si el if da verdadero luego es par.

  • UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA PRE-SABERES TRABAJO COLABORATIVO PRCTICO DEL CURSO: PROGRAMACIN ORIENTADA A OBJETOS

    import javax.swing.*; public class EstructuraRepetitivaWhile11

    {

    public static void main(String[] ar)

    {

    int n,x,valor,pares,impares;

    x=1;

    pares=0;

    impares=0;

    n=Integer.parseInt(JOptionPane.showInputDialog(null,"Cuantos nmeros ingresar:"));

    while (x

  • UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA PRE-SABERES TRABAJO COLABORATIVO PRCTICO DEL CURSO: PROGRAMACIN ORIENTADA A OBJETOS

    Estructura repetitiva for Cualquier problema que requiera una estructura repetitiva se puede resolver empleando la estructura while. Pero hay otra estructura repetitiva cuyo planteo es ms sencillo en ciertas situaciones. En general, la estructura for se usa en aquellas situaciones en las cuales CONOCEMOS la cantidad de veces que queremos que se ejecute el bloque de instrucciones. Ejemplo: cargar 10 nmeros, ingresar 5 notas de alumnos, etc. Conocemos de antemano la cantidad de veces que queremos que el bloque se repita. Veremos, sin embargo, que en el lenguaje Java la estructura for puede usarse en cualquier situacin repetitiva, porque en ltima instancia no es otra cosa que una estructura while generalizada. Representacin grfica:

    En su forma ms tpica y bsica, esta estructura requiere una variable entera que cumple la funcin de un CONTADOR de vueltas. En la seccin indicada como "inicializacin contador", se suele colocar el nombre de la variable que har de contador, asignndole a dicha variable un valor inicial. En la seccin de "condicin" se coloca la condicin que deber ser verdadera para que el ciclo contine (en caso de un falso, el ciclo se detendr). Y finalmente, en la seccin de "incremento contador" se coloca una instruccin que permite modificar el valor de la variable que hace de contador (para permitir que alguna vez la condicin sea falsa) Cuando el ciclo comienza, antes de dar la primera vuelta, la variable del for toma el valor indicado en la seccin de de "inicializacin contador". Inmediatamente se verifica, en forma automtica, si la condicin es verdadera. En caso de serlo se ejecuta el bloque de operaciones del ciclo, y al finalizar el mismo se ejecuta la instruccin que se haya colocado en la tercer seccin. Seguidamente, se vuelve a controlar el valor de la condicin, y as prosigue hasta que dicha condicin entregue un falso. Si conocemos la cantidad de veces que se repite el bloque es muy sencillo emplear un for, por ejemplo si queremo que se repita 50 veces el bloque de instrucciones puede hacerse as:

  • UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA PRE-SABERES TRABAJO COLABORATIVO PRCTICO DEL CURSO: PROGRAMACIN ORIENTADA A OBJETOS

    La variable del for puede tener cualquier nombre. En este ejemplo se la ha definido con el nombre f. Analicemos el ejemplo:

    La variable f toma inicialmente el valor 1.

    Se controla automticamente el valor de la condicin: como f vale 1 y esto es menor que 50, la condicin da verdadero.

    Como la condicin fue verdadera, se ejecutan la/s operacin/es.

    Al finalizar de ejecutarlas, se retorna a la instruccin f++, por lo que la variable f se incrementa en uno.

    Se vuelve a controlar (automticamente) si f es menor o igual a 50. Como ahora su valor es 2, se ejecuta nuevamente el bloque de instrucciones e

    incrementa nuevamente la variable del for al terminar el mismo.

    El proceso se repetir hasta que la variable f sea incrementada al valor 51.

    En este momento la condicin ser falsa, y el ciclo se detendr. La variable f PUEDE ser modificada dentro del bloque de operaciones del for, aunque esto podra causar problemas de lgica si el programador es inexperto. La variable f puede ser inicializada en cualquier valor y finalizar en cualquier valor. Adems, no es obligatorio que la instruccin de modificacin sea un incremento del tipo contador (f++). Cualquier instruccin que modifique el valor de la variable es vlida. Si por ejemplo se escribe f=f+2 en lugar de f++, el valor de f ser incrementado de a 2 en cada vuelta, y no de a 1. En este caso, esto significar que el ciclo no efectuar las 50 vueltas sino slo 25.

    Problema 1:

    Realizar un programa que imprima en pantalla los nmeros del 1 al 100.

    Diagrama de flujo:

    Podemos observar y comparar con el problema realizado con el while. Con la estructura while el CONTADOR x sirve para contar las vueltas. Con el for el CONTADOR f cumple dicha funcin. Inicialmente f vale 1 y como no es superior a 100 se ejecuta el bloque, imprimimos el contenido de

  • UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA PRE-SABERES TRABAJO COLABORATIVO PRCTICO DEL CURSO: PROGRAMACIN ORIENTADA A OBJETOS

    f, al finalizar el bloque repetitivo se incrementa la variable f en 1, como 2 no es superior a 100 se repite el bloque de instrucciones. Cuando la variable del for llega a 101 sale de la estructura repetitiva y contina la ejecucin del algoritmo que se indica despus del crculo. La variable f (o como sea que se decida llamarla) debe estar definida como una variable ms.

    Programa:

    import javax.swing.*; public class EstructuraRepetitivaFor1 { public static void main(String[] ar) { int f; for(f=1;f

  • UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA PRE-SABERES TRABAJO COLABORATIVO PRCTICO DEL CURSO: PROGRAMACIN ORIENTADA A OBJETOS

    Programa: import javax.swing.*; public class EstructuraRepetitivaFor2 { public static void main(String[] ar) { int suma,f,valor,promedio; suma=0; for(f=1;f

  • UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA PRE-SABERES TRABAJO COLABORATIVO PRCTICO DEL CURSO: PROGRAMACIN ORIENTADA A OBJETOS

    Los contadores aprobados y reprobados deben imprimirse FUERA de la estructura repetitiva. Es fundamental inicializar los contadores aprobados y reprobados en cero antes de entrar a la estructura for. Importante: Un error comn es inicializar los contadores dentro de la estructura repetitiva. En caso de hacer esto los contadores se fijan en cero en cada ciclo del for, por lo que al finalizar el for como mximo el contador puede tener el valor 1.

    Programa import javax.swing.*; public class EstructuraRepetitivaFor3 { public static void main(String[] ar) { int aprobados,reprobados,f,nota; aprobados=0; reprobados=0; for(f=1;f=7) { aprobados=aprobados+1; } else { reprobados=reprobados+1; } } System.out.print("Cantidad de aprobados:"); System.out.println(aprobados); System.out.print("Cantidad de reprobados:"); System.out.print(reprobados); } }

  • UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA PRE-SABERES TRABAJO COLABORATIVO PRCTICO DEL CURSO: PROGRAMACIN ORIENTADA A OBJETOS

    Problema 4: Escribir un programa que lea 10 nmeros enteros y luego muestre cuntos valores ingresados fueron mltiplos de 3 y cuntos de 5. Debemos tener en cuenta que hay nmeros que son mltiplos de 3 y de 5 a la vez.

    Diagrama de flujo:

    Tengamos en cuenta que el operador matemtico % retorna el resto de dividir un valor por otro, en este caso: valor%3 retorna el resto de dividir el valor que ingresamos por teclado, por tres. Veamos: si ingresamos 6 el resto de dividirlo por 3 es 0, si ingresamos 12 el resto de dividirlo por 3 es 0. Generalizando: cuando el resto de dividir por 3 al valor que ingresamos por teclado es cero, se trata de un mltiplo de dicho valor.

  • UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA PRE-SABERES TRABAJO COLABORATIVO PRCTICO DEL CURSO: PROGRAMACIN ORIENTADA A OBJETOS

    Ahora bien por qu no hemos dispuesto una estructura if anidada? Porque hay valores que son mltiplos de 3 y de 5 a la vez. Por lo tanto con if anidados no podramos analizar los dos casos. Es importante darse cuenta cuando conviene emplear if anidados y cuando no debe emplearse.

    Programa: import javax.swing.*; public class EstructuraRepetitivaFor4 { public static void main(String[] ar) { int mul3,mul5,valor,f; mul3=0; mul5=0; for(f=1;f

  • UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA UNAD ESCUELA DE CIENCIAS BASICAS TECNOLOGIA E INGENIERIA PRE-SABERES TRABAJO COLABORATIVO PRCTICO DEL CURSO: PROGRAMACIN ORIENTADA A OBJETOS

    Diagrama de flujo:

    Tenemos un contador llamado cantidad y f que es el contador del for. La variable entera n se c