Algoritmo y Estructura de Datos I

Slides:



Advertisements
Presentaciones similares
Curso de java básico (scjp)
Advertisements

Curso de Java Capitulo 2: Introducción a Java Profesor:
Nicolás Serrano Febrero 2009
Informática I – 4to año Volumen II.
Introducción Abdelahad, Corina Natalia Abdelahad, Yanina Zoraida
Algoritmo y Estructura de Datos I I Facultad de Ingeniería y Arquitectura Juan José Montero Román. Sesión 6 - Uso de estructuras.
Algoritmo y Estructura de Datos I
UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO
ESTRUCTURAS DE SECUENCIA
Juan José Montero Román.
Algoritmo y Estructura de Datos I
Algoritmo y Estructura de Datos I I Facultad de Ingeniería y Arquitectura Juan José Montero Román. Sesión 15 - Archivos.
Algoritmo y Estructura de Datos I
Algoritmo y Estructura de Datos I
Facultad de Ingeniería y Arquitectura Introducción a la Computación 2007 – I (14va Semana) Lunes 11 de Junio Ing. Juan José Montero Román.
Algoritmo y Estructura de Datos I I Facultad de Ingeniería y Arquitectura Ing. Juan José Montero Román. Sesión 8.
Algoritmo y Estructura de Datos I I Facultad de Ingeniería y Arquitectura Juan José Montero Román. Sesión 6.
Introducción a la Computación (7ma Semana) Lunes 16 de Abril del 2007
Introducción a la Computación
Facultad de Ingeniería y Arquitectura Introducción a la Computación 2007 – I (11va Semana) Lunes 14 de Mayo Ing. Juan José Montero Román.
Algoritmo y Estructura de Datos I I Facultad de Ingeniería y Arquitectura Ing. Juan José Montero Román. Sesión 11.
Algoritmo y Estructura de Datos I
Introducción a la Computación (8va Semana) Lunes 23 de Abril del 2007
Algoritmo y Estructura de Datos I
Algoritmo y Estructura de Datos I I Facultad de Ingeniería y Arquitectura Ing. Juan José Montero Román. Sesión 3.
Facultad de Ingeniería y Arquitectura Introducción a la Computación 2006 – II (8va Semana) Lunes 25 de Setiembre del 2006 Juan José Montero Román.
Facultad de Ingeniería y Arquitectura Introducción a la Computación 2006 – II (7ma Semana) Lunes 18 de Setiembre del 2006 Juan José Montero Román.
Variables y pruebas de escritorio
Conceptos Básicos de Java
Material Elaborado por: Lic. Saily González. CONTENIDO 2.1- Estructura de una Aplicación JAVA 2.2- Elementos básicos de la Programación JAVA Comentarios.
Tema 7: Polimorfismo Antonio J. Sierra. Índice Introducción. Sobrecarga de métodos. Objetos como parámetros. Paso de argumentos. Devolución de objetos.
Lenguaje Java Nicolás Serrano Febrero Command prompt Es la ventana de comandos del anterior sistema operativo: MS-DOS Se pueden definir y ver las.
POO Java Módulo 3 Elementos de programas Identificadores
UNIVERSIDAD DE MANAGUA I CUATRIMESTRE INTRODUCCION A LA PROGRAMACION
Características de “C”
Características de “C” Y Esta conformado por un Ambiente Integrado. Y Es un Lenguaje de Nivel medio. Y Es un compilador. YContiene un conjunto de palabras.
SCJP SUN CERTIFIED PROGRAMMER FOR JAVA 6. SEMANA TRES ASIGNACION.
El lenguaje de programación Java
JAVA J.A.C..
Tema 2: Los tipos de datos
Java. Java nació el año 1991, por un par de ingenieros de la Sun Microsystems.
Sintaxis de C# (Declaraciones y Tipos)
INTRODUCCIÓN A LA COMPUTACIÓN
Curso Programación en Java
Computación II Repaso de java Karina Figueroa Mora.
Lenguaje de programación Java UNIVERSIDAD REGIONAL DEL SURESTE.
Resumen Fundamentos de Programación/ Programación I
El Concepto de Tipo Los tipos permiten indicar la característica de los valores (datos) manipulados en un programa. Toda variable tiene asociado un tipo.
Fundamentos de Programación Tipos de Datos en Java
Programación orientada a objetos. El método main es el comportamiento por el cual comienzan todos los programas en Java, de la misma forma en la que C,
ELO3291 Estructuras fundamentales de la programación en Java ELO-329: Diseño y programación orientados a objetos Agustín J. González.
ELO3291 Estructuras fundamentales de la programación en Java ELO-329: Diseño y programación orientados a objetos Agustín J. González.
HERAMIENTAS DE PRODUCCIÓN
Fundamentos de Programación
Ing. Esp. Ricardo Cujar.  Lenguaje de programación orientado a objetos.  Desarrollado por Sun MicroSystems.  Independiente del Sistema Operativo gracias.
Prof. Víctor Aquino Urrutia
Tipos de datos básicos en Java
EL TIPO DE DATO LOGICO y constantes.
CONSTANTES DENTRO DE UN CÁLCULO O EN LOS PASOS PARA SOLUCIONAR UN PROBLEMA, EXISTIRÁN VALORES QUE NUNCA VAN A CAMBIAR Y SE LOS CONOCE COMO CONSTANTES.
Informática Ingeniería en Electrónica y Automática Industrial
Elementos básicos.  Fuertemente tipeado.  Sintaxis similar a C/C++.  Sin punteros: garbage collection.  Portable.  Integra librerías para objetos.
LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) V. GESTIÓN DE TIPOS Y GENERACIÓN DE CÓDIGOS.
Características de “C” Esta conformado por un Ambiente Integrado. Es un Lenguaje de Nivel medio.Es un compilador. Contiene un conjunto de palabras reservadas.
Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos.
LICETH CAJAS 3RO ASI 26/10/2010. Es un lenguaje de programación diseñado para crear una amplia gama de aplicaciones que se ejecutan en.NET Framework,
Reutilización de código Elementos básicos del lenguaje Java Definición de variables, expresiones y asignaciones Fundamentos de Programación Departamento.
Programación en Java Introducción a Java. Reseña histórica Surge en 1991 por Sun Microsystems Desarrollado para electrodomésticos Se buscaba un código.
Control, adquisición y monitoreo con Arduino y Visual Basic .net
Taller de Java Universidad de los Andes
Transcripción de la presentación:

Algoritmo y Estructura de Datos I Facultad de Ingeniería y Arquitectura Algoritmo y Estructura de Datos I 2006 - I Sesión 1 Juan José Montero Román. jmonteror@usmp.edu.pe

Sesión 1

Presentación y uso del Eclipse Para comenzar a trabajar con Eclipse Dar doble click al icono del Eclipse en cual se encontrara en su escritorio y aparecerá el ambiente de trabajo del Eclipse (Workbench) El Workbench es una colección de ventanas. Cada ventana contiene un menú bar, una barra de herramientas y una barra de acceso rápido

Comenzando a trabajar en Eclipse todo documento, carpeta, archivo de código fuente (.java) y código compilado (.class) tiene que estar contenido dentro de un proyecto Proyecto Paquete Clase Campos Metodo Constructor Metodo Patrones del bean

CREACION DE UN PROYECTO

CREACION DE UN PAQUETE

CREACION DE UNA CLASE

CREACION DE UNA CLASE - II

CREACION DE UN METODO

COMPILAR Y EJECUTAR UN PROGRAMA

EXPORTAR UN PROYECTO

IMPORTAR UN PROYECTO O PAQUETE

IMPORTAR UN PROYECTO O PAQUETE Paquete a importar Carpeta o partición que contiene al paquete

IMPORTAR UN PROYECTO O PAQUETE

Variables de Java tipoDato identificador Sintaxis tipoDato identificador Tipo Primitivo Tipo referenciado Tipo Descripción byte Entero de un Byte Números enteros short Entero corto int Entero long Entero largo float Coma flotante de precisión simple Números Reales double Coma flotante de precisión doble char Un sólo carácter boolean Un valor booleano (verdadero o falso) Tipo Descripción String Cadena de caracteres Ejemplo int a; short b,c,d; long factorial=1; double mTotal, precio, area=3.489;

Constantes en Java final tipoDato identificador Sintaxis final tipoDato identificador Tipo Primitivo Tipo referenciado Tipo Descripción byte Entero de un Byte Números enteros short Entero corto int Entero long Entero largo float Coma flotante de precisión simple Números Reales double Coma flotante de precisión doble char Un sólo carácter boolean Un valor booleano (verdadero o falso) Tipo Descripción String Cadena de caracteres Ejemplo int a; short b,c,d; long factorial=1; double mTotal, precio, area=3.489;

Operadores de Java Aritméticos Relaciónales condicionales Operador Uso Descripción + op1 + op2 Suma op1 y op2 - op1 - op2 Resta op2 de op1 * op1 * op2 Multiplica op1 y op2 / op1 / op2 Divide op1 por op2 % op1 % op2 Obtiene el resto de dividir op1 por op2 Relaciónales Operador Uso Devuelve true si > op1>op2 op1 es mayor que op2 >= op1 >= op2 op1 es mayor o igual que op2 < op1 < op2 op1 es menor que op2 <= op1 <= op2 op1 es menor o igual que op2 == op1 == op2 op1 y op2 son iguales != op1 != op2 op1 y op2 son distintos condicionales Operador Uso Devuelve true si && op1 && op2 op1 y op2 son verdaderos || op1 || op2 uno de los dos es verdadero ! ! op op es falso

Comentarios en Java Comentarios de Línea // comentario de línea Comentario de Bloque /* Comentario de bloque */

Sesión 2

Procesamiento de Datos Ingreso de Datos: mecanismos que se emplean para poder ingresar datos Procesamiento de Datos Datos Información El lenguaje de programación Java no proporciona una clase que facilite el ingreso de datos en forma tradicional

Ingreso de Datos: La Clase LE La Clase LE, es una clase creada con JAVA SWING y nos va permitir ingresar datos, mostrar datos y mostrar mensajes de error o de validación de los mismos, pero de una forma visual. Esta clase se encuentra incluida en el paquete biblioteca, por lo que es necesario importar dicho paquete.

Ingreso de Datos: La Clase LE Se va realizar una dependencia de paquetes: nuestro paquete dominioDeLaAplicacion y biblioteca import biblioteca.*; //import biblioteca.LE; public class Prg1{ }

contiene métodos para ingresar diferentes tipos de datos Ingreso de Datos: La Clase LE contiene métodos para ingresar diferentes tipos de datos leerChar(String) leerDouble(String) leerFloat(String) leerInt(String) leerLong(String) leerShort(String) leerString(String)

Ingreso de Datos: La Clase LE public static void main(String[] args) { int dias; dias = LE.leerInt("Ingrese numero de días"); }

contiene métodos para mostrar mensajes Salida de Datos: La Clase LE contiene métodos para mostrar mensajes mostrarInformación(String) mostrarResultado(String) mostrarError(String)

Salida de Datos: con LE public static void main(String[] args) { } LE.mostrarInformacion("INFORMACIÒN : Sueldo por día es US$75"); }

Salida de Datos: con LE public static void main(String[] args) { int dias; double sueldoBruto; ………………………………. dias = LE.leerInt("Ingrese numero de días"); sueldoBruto = 75 * dias; LE.mostrarResultado("El Sueldo del Mes es US$"+ sueldoBruto); }

Salida de Datos: con LE public static void main(String[] args) { LE.mostrarError("Error, ingresa Número válido"); }

Salida de Datos: Formatos System.out.print(“Esta salida es sin salto”); System.out.print(“Esta es la segunda salida sin salto”); System.out.println(“Esta salida es con salto”); System.out.println(“Esta es la segunda salida con salto”); Esta salida es sin salto Esta es la segunda salida sin salto Esta salida es con salto Esta es la segunda salida con salto

Salida de Datos: Tabuladores de Texto Se usan dentro de los textos con la finalidad de separarlos, pueden ser para: Cambio de línea (“\n”) Espacio de Tabulación (“\t”)

Ejercicio: Programa 1 Diseñe un programa llamado Prg1 que permita sumar 3 números enteros

Ejercicio: Solución 1 package domapli; public class Prg1 { public static void main(String[] args) { // Declaración de variables int a,b,c,s; // Ingreso de Datos a=LE.leerInt("Ingrese el primer numero "); b=LE.leerInt("Ingrese el segundo numero "); c=LE.leerInt("Ingrese el tercer numero "); // Proceso de calculo s=a+b+c; // Visualización de Datos LE.mostrarInformacion("La suma es : "+ s); }

Ejercicio: Programa 2 Diseñe un programa que permita calcular el perímetro de un rectángulo y de un circulo sabiendo que Perímetro del Rectángulo = 2*(base + altura) y el Perímetro del Circulo = 2 * pi x r

package domapli; public class Prg2 { public static void main(String args[]){ // Declaración de variables int base, altura,radio; final double pi=3.14; // constante double perR,perC; // Ingreso de Datos base=LE.leerInt("Ingrese la Base de Rectángulo "); altura=LE.leerInt("Ingrese la altura de Rectángulo "); radio=LE.leerInt("Ingrese la radio del Circulo"); // Proceso de calculo perR=base*altura; // perimetro de un rectangulo perC=2 *pi*radio; //perimetro de un circulo // Visualización de Resultados LE.mostrarInformacion("El perímetro del rectángulo\t:"+ perR); LE.mostrarInformacion("El perímetro del circulo\t:"+ perC); }

Ejercicio: Programa 3 El calculo de un pago mensual de empleado de una empresa se efectúa de la siguientes manera: el sueldo básico se calcula en base al número total de horas trabajadas basada en una tarifa horaria de 35.20 soles, al sueldo básico se le aplica una bonificación del 20% obteniéndose el sueldo bruto, al sueldo bruto se le aplica un descuento del 10% obteniéndose el sueldo neto. Escriba un programa que calcule e imprima el sueldo básico, el sueldo bruto y el sueldo neto de un trabajador.

Ejercicio: Programa 4 Desarrolle un programa que permita ingresar 2 números a través del teclado y luego calcule la suma, resta, multiplicación y división de dichos números. Muestre el resultado de todas las operaciones.

Sesión 3

Funciones matemáticas y Manejo de cadenas La clase Math define dos constantes muy útiles, el número p y el número e. final double E= 2.7182818284590452354; final double PI = 3.14159265358979323846; System.out.println("Pi es " + Math.PI); System.out.println("e es " + Math.E);

Función Tipo de Datos Descripción Math.abs( x ) para int, long, float y double Valor Abosuluto Math.sin( double ) Valor Seno Math.cos( double ) Valor Coseno Math.tan( double ) Valor Tangente Math.asin( double ) Valor Arco Seno Math.acos( double ) Valor Arco Coseno Math.atan( double ) Valor Arco Tangente Math.exp( double ) Logaritmo Neperiano Math.log( double ) Logaritmo natural Math.sqrt( double ) Raiz Cuadrada Math.ceil( double ) Math.floor( double ) Math.rint( double ) Math.pow( a,b ) Potencia Math.round( x )        para double y float Redondear

double r=Math.sqrt(x); // raiz cuadrada Ejemplo: double x=4.0; double r=Math.sqrt(x); // raiz cuadrada LE.mostrarInformacion(“La raiz cuadrada de “+ x + “es " + r); int x=5, y=9 ; int max=Math.max(x,y) ; // mayor de de dos enteros LE.mostrarInformacion ("El mayor es " + max); int i = -9;double x = 0.3498; LE.mostrarInformacion ("|" + i + "| es " + Math.abs(i));LE.mostrarInformacion ("|" + x + "| es " + Math.abs(x));

Manejo de Cadenas: La Clase String Una String es una variable referenciada asociada a un objeto de la clase java.lang.String. Se emplea para almacenar cadenas de caracteres.

Otras dos características de las Strings son: Una String está indexada, es decir, cada uno de sus caracteres tiene asociado un índice: 0 para el primero, 1 para el segundo, etc. La cadena de caracteres almacenada por una String siempre se escribe entre comillas dobles. String nombre=”ANA MARIA”; A N M R I 1 2 3 4 5 6 7 8

Método Tipo de Dato Descripción length() Devuelve int Longitud de la cadena charAt(int) Devuelve char Carácter dada una posición equals( Object obj ) Devuelve boolean Si es igual equalsIgnoreCase(Object obj ) Si es igual sin considerar May o Min compareTo( String ) Devuelve un entero menor que cero si la cadena es léxicamente menor que str2. Devuelve cero si las dos cadenas son léxicamente iguales y un entero mayor que cero si la cadena es léxicamente mayor que str2. startsWith(String) Si comienza o termina con esta cadena endsWith(String) indexOf( int ) Devuelve si esta cadena comienza o termina con un cierto prefijo o sufijo lastIndexOf( int ) substring( int inicio ) Devuelve String Devuelve el primer/último índice de un carácter/cadena empezando la búsqueda a partir de un determinado desplazamiento. substring( int inicio, int fin); concat( String); replace( char antigua, char nueva); toLowerCase(); toUpperCase(); trim(); String.valueOf(x) x : int, double, float,long Convierte un tipo de dato a String

ejemplo String nombre=”Juan Pedro”; int cantidad=nombre.length(); // 10 String nomMay = nombre.toUpperCase(); // JUAN PEDRO String nomMin = nombre.toLowerCase(); // Juan pedro char c=nombre.charAt(0); // J

Ejercicio Diseñe un programa que lea 2 reales y los redondee a dos cifras. Utilice las funciones round() y floor() respectivamente

package domapli; import biblioteca.*; public class Prg1 { public static void main(String[] args) { //Declaracion de variables double x , y; //Ingreso de datos x=LE.leerDouble("Ingrese numero con mas de dos decimales"); y=LE.leerDouble("Ingrese numero con mas de dos decimales"); //Proceso de calculo y visualización LE.mostrarInformacion(x + " es aprox." + (double)Math.round(x*100)/100); LE.mostrarInformacion(y + " es aprox." + (double)Math.round(y*100)/100); LE.mostrarInformacion(x + " es aprox." + Math.floor(x*100)/100); LE.mostrarInformacion(y + " es aprox." + Math.floor(y*100)/100); } tangente=Math.tan(radianes); //Visualizacion de datos System.out.println("cos(" + angulo + ") es " + coseno); System.out.println("sin(" + angulo + ") es " + seno); System.out.println("tan(" + angulo + ") es " + tangente);

Diseñe un programa para generar dos numero aleatorios Ejercicio Diseñe un programa para generar dos numero aleatorios

package domapli; public class Prg2 { public static void main(String[] args) { LE.mostrarInformacion("Número aleatorio:" + Math.random()); LE.mostrarInformacion("Otro número aleatorio:" + Math.random()); }

Ejercicio Diseñe un programa que se ingrese primer nombre, segundo nombre y apellido y muestre sus iniciales

package domapli; import biblioteca.*; public class Prg3 { public static void main(String[] args) { //Declaracion de variables String primero, segundo, apellido; String initPrim, initSeg, initAp; String iniciales; // Ingreso de Datos primero=LE.leerString("Ingrese primer nombre"); segundo=LE.leerString("Ingrese segundo nombre"); apellido=LE.leerString("Ingrese apellido"); initPrim = primero.substring(0,1); initSeg = segundo.substring(0,1); initAp = apellido.substring(0,1); iniciales = initPrim.concat(initSeg); iniciales = iniciales.concat(initAp); LE.mostrarInformacion(iniciales); }

Sesión 4

Estructuras de Decision Estructuras de Decision Simple: if, Doble: if-else Simple Doble if (condicion1) { accion1; } else { accion2; Nota: Las condiciones son expresiones booleanas.

Estructuras de Decision Estructuras de decisión múltiple: if y switch-case Si Anidados Cuando if (condicion1) { accion1; } else if (condicion2) { accion2; else if (condicion3) { accion3; else { accionN; switch (variable) { case valor 1 : sentencias...break; case valor 2 : sentencias... break; case valor n : default : sentencias...

Ejercicio Diseñe un programa que reciba nombre del alumno y dos notas. Se debe mostrar el nombre del alumno en mayúscula y la mayor nota.

import biblioteca.*; public class Prg1 { public static void main(String[] args) { //Declaracion de variables String nombre, msg=””; int nota1,nota2,mayor; //Ingreso de datos nombre=LE.leerString("Ingrese nombre:"); nota1=LE.leerInt("Ingresar nota 1:"); nota2=LE.leerInt("Ingresar nota 2:"); //Proceso de calculo nombre=nombre.toUpperCase(); if(nota1>nota2) mayor=nota1; else mayor=nota2; //Visualizacion de datos msg="El alumno "+nombre; msg+="su mayor nota es "+mayor; if(mayor>10) msg+="y esta aprobado"; msg+="y esta desaprobado"; LE.mostrarInformacion(msg); }

Ejercicio Diseñe un programa que solicite un año e indique si es bisiesto o no; un año es bisiesto si es múltiplo de 4 excluyendo aquellos que son múltiplo de 100 y no de 400. - Los años exactamente divisibles entre 4 son años bisiestos. - Los años exactamente divisibles entre 100 no son años bisiestos. - Los años exactamente divisibles entre 400 sí son años bisiestos.

package domapli; import biblioteca.*; public class Prg2 { public static void main(String[] args) { //Declaracion de variables int año; //Ingreso de datos año=LE.leerInt("Ingrese el año"); //Calculo y visualizacion if((año%4==0 && año%100 !=0 ) || (año%100==0 && año%400==0)) LE.mostrarInformacion ("Año Bisiesto"); else LE.mostrarInformacion ("Año no Bisiesto"); }

Ejercicio Diseñe un programa que calcule el costo total de una hospitalización sabiendo el total de días y el costo de la habitación. El costo de la habitación serán de acuerdo la siguiente tabla: AREA COSTO 1 150 2 120 Otra 100

package domapli; import biblioteca.*; public class Prg1 { public static void main(String[] args) { //Declaracion de variables int dias, area; double costo, costoTotal; //Ingreso de datos dias=LE.leerInt("Ingrese el numero de días"); area=LE.leerInt("Ingrese el área"); //Proceso de calculo if(area==1) costo=150; else if(area==2) costo=120; else costo=100; costoTotal=costo*dias; //Visualizacion de datos LE.mostrarInformacion(“Costo Total:"+costoTotal); }

Categoría 5 66 en adelante 35 % Ejercicio Un teatro otorga descuentos según la edad del cliente. Tomar en cuenta que los niños menores de 5 años no pueden entrar al teatro y que existe un precio único en los asientos. Los descuentos se hacen tomando en cuenta el siguiente cuadro: Edad Descuento Categoría 1 05 - 14 35 % Categoría 2 15 - 19 25 % Categoría 3 20 - 45 10 % Categoría 4 46 - 65 25 % Categoría 5 66 en adelante 35 % Diseñe un programa que calcule el monto a pagar al teatro

Ejercicio Escriba un programa que lea un número desde el teclado entre 1 y 7 e imprima el nombre del día de semana correspondiente. ( lunes, martes,...etc).

mostrar el de mayor texto y su longitud de cadena. Ejercicio Diseñe un programa que lea un texto y los separe en dos textos de igual tamaño y compare cual de los texto es mayor alfabéticamente. mostrar el de mayor texto y su longitud de cadena.

Una pizzería, vende sus pizzas en tres tamaños: Pequeña (10 pulg. De diámetro) Mediana (12 pulg. De diámetro) Grandes (16 pulg. De diámetro) Una pizza puede ser sencilla (con sólo salsa y carne), o con ingredientes extras, tales como pepinillos, champiñones o cebollas. Los propietarios desean desarrollar un programa que calcule el precio de venta de una pizza, dándole el tamaño y el número de ingredientes extras. El precio de venta será 1.5 veces el costo total, que viene determinado por el área de la pizza, mas el numero de ingredientes. En particular el costo total se calcula sumando: Un costo fijo de preparación. Un costo base variable que es proporcional al tamaño de la pizza. Un costo adicional por cada ingrediente extra. Por simplicidad se supone que cada ingrediente extra tiene el mismo costo por unidad de área

Ejercicio Ingresar una fecha en el este formato (dd/mm/aaa) y calcular: el número de días de ese mes

Sesión 5

Estructuras de Repetición Estructura do..while Sintaxis do{ accion1; accion2; } while(condición) Se usa la sentencia do..while para hacer validación de entrada de datos.

Estructuras de Repetición Estructura do..while Ejemplo Se necesita ingresar un número de 3 cifras: int n; do{ n= LE.leerInt(“ingrese numero de 3 cifras”); }while ( ! (n>=100 && n<=999));

Estructuras de Repetición Estructura do..while Ejemplo Se necesita ingresar sexo (F/M): char sexo; do{ sexo= LE.leerChar(“ingrese sexo [F/M]”); }while ( sexo!=‘F’ && sexo!=‘M’));

Estructuras de Repetición Estructura do..while Ejemplo Repetición de la ejecución del programa public static void main(String args[]){ int op; do{ // todo el programa …… //………………………. op=LE.leerInt(“Desea continuar [S=1/N=0]”); }while ( op==1); }

Estructuras de Repetición Estructura while Sintaxis while(condición){ accion1; accion2; .. } La estructura while repite una acción o un conjunto de acciones mientras sea verdadera una determinada condición, para lo cual primero verifica la condición y luego ejecuta la acción. La acción puede ser una acción simple o una acción compuesta (bloque de acciones encerradas en llaves).

Estructuras de Repetición Uso de contadores y acumuladores Sintaxis int c=0; // contador int suma=0; //acumulador de suma de enteros Los contadores son variables del tipo entero cuya función es la de contar. Los acumuladores son variables que almacenan sumas o productos. El tipo de variable depende del tipo del cual se esta acumulando. Los acumuladores de suma se inicializan en cero. Los acumuladores de producto se inicializan en uno.

Estructuras de Repetición Uso de menú

Estructuras de Repetición Estructura for Sintaxis for ( inicialización; condición; incremento/decremento) { accion1; accion2; } La estructura de repetición for contempla todos los elementos de la repetición controlada por contador (repetición en la que se conoce el número de veces que se repetirá el cuerpo del bucle) al incluir al contador como parte de la propia estructura.

Estructuras de Repetición Estructura lógica para el manejo de errores Sintaxis try{ Sentencias; } catch(Exception e){ Sentencia para visualizar el error; //Opcional

Exception : Cualquier tipo de error Existen varios tipos de errores los comunes son: Exception : Cualquier tipo de error ArithmeticException : Las excepciones aritméticas son típicamente el resultado de división por 0: NullPointerException: Se produce cuando se intenta acceder a una variable o método antes de ser definido ClassCastException: El intento de convertir un objeto a otra clase que no es válida. ArrayIndexOutOfBoundsException: Es la excepción que más frecuentemente se produce. Se genera al intentar acceder a un elemento de un array más allá de los límites definidos inicialmente para ese array. etc…

Ejercicio Diseñe un programa que reciba 10 números enteros y determine cuanto números neutros , negativos y positivos hay

package domapli; import biblioteca.*; public class Prg1 { public static void main(String[] args) { //Declaracion de variables int n; int c=0,npos=0,nneg=0,nneu=0; // contadores //Ingreso de datos y Proceso de calculo while(c<10){ n=LE.leerInt("Ingrese numero"); if(n==0) nneu++; else if(n<0) nneg++; npos++; c++; } //Visualizacion de resultados LE.mostrarInformacion("Los numero neutros son: "+ nneu); LE.mostrarInformacion ("Los numero negativos son: "+ nneg); LE.mostrarInformacion ("Los numero positivos son: "+ npos);

Ejercicio Diseñe un programa que 6 notas y muestra las suma y el promedio de ellas.

Ejercicio Diseñe un programa que lea un número y lo convierta a binario (*) El programa debe tener un menú de opciones

Diseñe un programa que lea un texto y lo muestre al revés Ejercicio Diseñe un programa que lea un texto y lo muestre al revés

Ejercicio Diseñe un juego para adivinar el numero generado por el computador, se seguirá pidiendo el numero hasta que numero ingresado sea mayor del que genero el computador.

import biblioteca.*; public class Prg3 { public static void main(String[] args) { //Declaracion de variables int numMaq, numHombre=0, num; //Ingreso de datos numMaq = (int) (Math.random ()* 100); LE.mostrarInformacion("Adivina el número que pense"); do { num = Lectura.leerInt("Dame un número"); numHombre += num; } while (numMaq > numHombre); //Proceso de calculo y visualizacion if (numMaq == numHombre) LE.mostrarInformacion ("Ganaste"); else LE.mostrarInformacion("Perdiste"); LE.mostrarInformacion("El numero que pensé era: " + numMaq); }

Ejercicio Diseñe un programa que reciba los datos de 5 alumnos (nombre y sexo) y muestre la cantidad de mujeres y hombres que hay . Utilice un menú de opciones.

Ejercicio Diseñe un programa para calcular la suma e imprimir de N términos de la siguiente serie S = 1- 2 + 3- 4 + 5- 6...........

package domapli; import biblioteca.*; public class Prg5 { public static void main(String[] args) { int n, s=0; String serie=""; n=LE.leerInt("Ingrese n"); for (int i=1;i<=n; i++) if (i==1){ s=s+i; serie+=i; } else{ if(i%2==0){ s=s-i; serie+="-" + i; serie+="+" +i; LE.mostrarInformacion(serie); LE.mostrarInformacion ("La suma de la serie es:"+s);

Diseñe un programa que imprima lo siguiente Ejercicio Diseñe un programa que imprima lo siguiente % %% %%% %%%% %%%%% %%%%%% %%%%%%%

Ejercicio Diseñe un programa que lea Nombre y edad de 5 alumnos y calcule la edad promedio, así como también la mayor edad

Ejercicio Diseñe un programa para hallar la suma de N términos de la siguiente serie: 1 + 1/32 + 1/52 + 1/72 + 1/92 +....

Diseñe un programa que lea un texto y halle: Ejercicio Diseñe un programa que lea un texto y halle: Cantidad de vocales Cantidad de consonantes Cantidad de espacios en blanco

Ejercicio Diseñe un programa que genere éste grafico ******* * *

Ejercicio Diseñe un programa para hallar la suma de dos enteros. Utilice la estructura de manejo de errores

package domapli; import biblioteca.*; public class Prg8 { public static void main(String[] args) { int n,d; double p=0; //Ingreso de datos n=LE.leerInt("ingrese numerador"); d=LE.leerInt("ingrese denominador"); try{ p=n/d; LE.mostrarInformacion("La división es:"+ p); } catch(ArithmeticException e){ LE.mostrarInformacion ("No se realizo la division"); LE.mostrarInformacion ("Ocurrio el error :"+ e);

Sesión 6