Bloque II. Elementos del lenguaje de programación Java

Documentos relacionados
5. Sentencias selectivas o condicionales

Unidad Didáctica 2. Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones

fundamentos de programación (unidad 4) programación estructurada en Java

Tema 2. El lenguaje JAVA

Java para programadores

Variables. Una variable no es más que un nombre simbólico que identifica una dirección de memoria: vs.

Para leer la entrada de consola, lo primero que se hace es construir un Scanner que este asociado al flujo de entrada estándar System.

CONCEPTOS BASICOS DEL LENGUAJE JAVA

Carlos Montenegro. Programación Orientada a Objetos Proyecto Curricular de Ingeniería de Sistemas

Programa Java. El lenguaje de programación Java. Comentarios. Programa Java. Palabras reservadas. Identificadores

Fundamentos de programación

Estatutos de Control C# Estatutos de Decisión (Selección)

Centro Asociado Palma de Mallorca. Antonio Rivero Cuesta

TEMA 4. ESTRUCTURAS DE CONTROL

Todo programa en 'C' consta de una o más funciones, una de las cuales se llama main.

Programación de Computadores 4 Iteraciones y Decisiones. Prof. Javier Cañas. Universidad Técnica Federico Santa María Departamento de Informática

INTRODUCCIóN A LA PROGRAMACIóN APUNTES DE JAVA APUNTES DE JAVA

Elementos de un programa en C

Programación n Orientada a Objetos Sentencias Java Parte I. Ing. Julio Ernesto Carreño o Vargas MsC.

Elementos léxicos del lenguaje de programación Java

VARIABLES, CONSTANTES Y EXPRESIONES ASIGNACIÓN. TIPOS ELEMENTALES. PRECEDENCIA DE LOS ESTRUCTURAS DE CONTROL. CONDICIONAL E

El lenguaje C. 1. Identificadores, constantes y variables

Los caracteres de Java pueden agruparse en letras, dígitos, espacios en blanco, caracteres especiales, signos de puntuación y secuencias de escape.

Práctica 3 mtp. metodoloxía e tecnoloxía da programación. Presentar detalles básicos sobre la sintaxis del lenguaje de programación Java.

Ciclos. Recordando Estructuras de Control Básicas: SELECCIÓN (condición) SECUENCIAL

Identificadores, palabras reservadas, tipos de datos, operadores aritméticos y el sistema estándar de salida en Java

Un identificador le da nombre único a un elemento en un programa (Variables, procedimientos, etc.). No puede contener operadores como + - * /

4. Operadores Operador asignación

Programación Orientada a Objetos Sentencias Java Parte I Ing. Julio Ernesto Carreño Vargas MsC.

RESUMEN DE CONCEPTOS BASICOS DE PROGRAMACION JAVA

Instrucciones de control

Java para no Programadores

Desde los programas más simples escritos en un lenguaje de programación suelen realizar tres tareas en forma secuencial.

Ubicación e historia

Introducción a las sentencias de control

Control de Flujo. Estructuras de Control! Experiencia Educativa de Algorítmica CONTROL DE FLUJO

Tema 3 Elementos básicos de programación

! Una variable declarada con final no puede volver a ser reinicializada. numero = 2;! ! Para definir constantes

Fundamentos del Lenguaje de Programación Java

Expresiones Aritméticas. Programación digital I Escuela de Sistemas Facultad de Ingeniería Gilberto Diaz

Programcaión Básica. Secuencias de Control y Repetición. Arturo Vega González.

LENGUAJE. Tema 2 Elementos de un programa

FACULTAD DE INGENIERÍA

Tema 3.- Predicados y sentencias condicionales

Objetivos de la sesión. Aplicación de consola 7/30/11. Código con que se inicia un programa en Visual C# (aplicación de consola)

Estructuras de Control 3

ESTRUCTURAS REPETITIVAS

8. Sentencia return y métodos

Objetivo de aprendizaje del tema

TEMA 5. CONTROL DE FLUJO DEL PROGRAMA. Sentencia Instrucción Expresión Operadores + Operandos Sintaxis: Sentencia ;


UNIDAD ACADÉMICA PROFESIONAL TIANGUISTENCO

2. Estructura de un programa en Java

Tema 2. El lenguaje de programación Java (Parte 1)

Introducción a Java (II) Dr. (c) Noé Alejandro Castro Sánchez

Estructuras de control

Pero nos están faltando otros operadores imprescindibles:

Algoritmos. Medios de expresión de un algoritmo. Diagrama de flujo

Guía práctica de estudio 05: Diagramas de flujo

Expresiones y sentencias

Operadores de comparación

Programación Estructurada

1.00 Clase 3. Tipos de datos en Java

Curso de Java Introducción a la Programación III

Principios de Computadoras II

FUNDAMENTOS DE JAVA PARA LA CONCURRENCIA

Universidad de Pamplona Materia: Programación 1 Docente: Ing. Lusbin Raúl Vargas LENGUAJE C ESTRUCTURA DE UN PROGRAMA EN C

Estructuras básicas de la programación en Java

JavaScript. Contenidos. Introducción El lenguaje Validación de formularios. Programación en Internet DLSI - Universidad de Alicante 1

GUÍA BÁSICA DE SCHEME v.4

FACULTAD DE INGENIERÍA

Fundamentos de JAVA. Angel Kuri Enero, /2/2006

Ficha de Aprendizaje N 13

Prácticas: Introducción a la programación en Java. Informática (1º Ingeniería Civil) Curso 2011/2012

Nombran variables, funciones, clases y objetos

Estructuras de control repetitivas/iterativas

Partes de un programa en Java. A. Ejemplo de un Programa en Java /* Programa Ejemplo de Java: Muestra una Ventana Archivo: Ejemplo1.

GESTIÓN DE EXCEPCIONES EN JAVA. CAPTURA CON BLOQUES TRY CATCH Y FINALLY. EJEMPLOS RESUELTOS. (CU00927C)

Arrays unidimensionales. Dim.Option Base. Erase. Ejemplos en Visual Basic (CU00311A)

Guía - Taller # 2 (JAVA)

Metodología y Tecnología de la Programación

INTELIGENCIA ARTIFICIAL 2015 TALLER RÁPIDO DE PROGRAMACIÓN EN JAVA

11. Algunas clases estándar de Java (II)

La Plataforma J2SE (Java 7) PROGRAMA HOLA MUNDO

Clases en Java. Declaración de clases en Java 02/09/16. Ing. Roberto Martínez Román - public class Alumno { private int matricula;

República Bolivariana de Venezuela Aldea Universitaria Liceo Fray Pedro de Agreda. Lenguaje C++ Contadores y Acumuladores

Lo que necesitaremos para programar en Java, será un editor de texto o IDE y la JDK.

Estructuras de Control

Programación estructurada (Introducción a lenguaje C)

Agradecimientos. Nota de los autores. 1 Problemas, algoritmos y programas 1

Estructuras de Repetición (Repita para)

Tema 4. Operadores y Expresiones

Modulo 1 El lenguaje Java

Computación III. Objetivo de aprendizaje del tema

Prof. Dr. Paul Bustamante

1 ELEMENTOS BASICOS DEL LENGUAJE

Unidad II. Fundamentos de programación en Java. Ing. José Luis Llamas Cárdenas

Estructuras en LabVIEW.

Lección 10: Estructuras de Control. Autor: José Navarro. Referencias: C. Horstmann, Big Java Late Objects, Caps 3-4

James Gosling, creador de Java

Transcripción:

Bloque II. Elementos del lenguaje de programación Java 1.Introducción a los lenguajes de programación 2. Estructura de un programa 3. Datos y expresiones simples 4. Instrucciones de control 5. Entrada/salida simple 6. Arrays, secuencias y tablas 7. Métodos DEPARTAMENTO DE MATEMÁTICAS, Michael González Harbour y José Luis Montaña 1 4. Instrucciones de control Las instrucciones de un programa pueden ser: simples: - expresiones: de asignación, incremento o decremento - llamadas a métodos - creación de objetos - instrucciones de control: if, switch, while, do-while, for compuestas: - se encierran entre llaves {, y también se llaman bloques - pueden contener muchas instrucciones y declaraciones; - las declaraciones del bloque sólo son visibles en él, y en los bloques contenidos en él DEPARTAMENTO DE MATEMÁTICAS, Michael González Harbour y José Luis Montaña 2

4.1. Instrucción condicional simple La instrucción condicional simple permite tomar decisiones empleando una variable booleana: Java if (condición) { if (condición) { else { Pseudocódigo si condición entonces instrucciones fsi si condición entonces instrucciones si no instrucciones fsi La condición: expresión booleana (lógica o relacional) DEPARTAMENTO DE MATEMÁTICAS, Michael González Harbour y José Luis Montaña 3 La instrucción condicional simple (cont.) También se puede escribir, aunque es menos recomendable (por ser menos visible el comienzo y final): if (condición) instrucción; else instrucción; Ejemplo: poner un texto aprobado o suspenso según la nota if (nota>=5.0) { System.out.println("Aprobado"); else { System.out.println("Suspenso"); DEPARTAMENTO DE MATEMÁTICAS, Michael González Harbour y José Luis Montaña 4

Instrucciones condicionales anidadas Las instrucciones if también se pueden anidar: el else se asocia al if anterior más próximo que no tenga else, siempre que esté en el mismo bloque que el else. Ejemplo: poner "cum laude" en el ejemplo anterior si nota>=9 if (nota>=5.0) { System.out.print("Aprobado"); if (nota>=9.0) { System.out.println(" cum laude"); else { System.out.println(""); else { System.out.println("Suspenso"); DEPARTAMENTO DE MATEMÁTICAS, Michael González Harbour y José Luis Montaña 5 Expresiones condicionales Como expresión condicional se pueden usar operaciones relacionales y lógicas Ejemplo: Intervalo: condición a en (5.0,6.3] if (a>5.0 && a<=6.3)... Ejemplo: Intervalo contrario: condición a no está en (5.0,6.3] if (a<=5.0 a>6.3)... if (!(a>5.0 && a<=6.3))... DEPARTAMENTO DE MATEMÁTICAS, Michael González Harbour y José Luis Montaña 6

Ejemplo: año bisiesto boolean esbisiesto; int año=...; if (año % 4 == 0) { if (año % 100 == 0) { if (año % 400 == 0) { esbisiesto=true; else { esbisiesto=false; else { esbisiesto=true; else { esbisiesto=false; Son bisiestos los años múltiplos de 4, excepto los múltiplos de 100 que no sean múltiplos de 400 DEPARTAMENTO DE MATEMÁTICAS, Michael González Harbour y José Luis Montaña 7 Ejemplo: año bisiesto (cont.) if (esbisiesto) { System.out.println("El año "+año+" es bisiesto"); else { System.out.println("El año "+año+" no es bisiesto"); DEPARTAMENTO DE MATEMÁTICAS, Michael González Harbour y José Luis Montaña 8

4.2. Instrucción condicional múltiple Permite tomar una decisión de múltiples posibilidades, en función de un valor no booleano Si este valor es discreto (byte, short, int, long, char, o enumerado), podemos utilizar una instrucción switch DEPARTAMENTO DE MATEMÁTICAS, Michael González Harbour y José Luis Montaña 9 Instrucción condicional múltiple (cont.) Java switch (expresión discreta) { case valor1: break; case valor2: break; case valor3: case valor4: break; default: Pseudocódigo si exp=valor1 -> exp=valor2 -> exp=valor3 exp= valor4 -> exp=ninguno de los anteriores -> instrucciones fsi DEPARTAMENTO DE MATEMÁTICAS, Michael González Harbour y José Luis Montaña 10

Instrucción switch (cont.) El funcionamiento es el siguiente: - se compara la expresión con el primer valor - si coincide, se ejecutan las instrucciones puestas bajo ese valor, y todas las siguientes que se encuentren, hasta encontrar un break. - si no coincide, se compara con el segundo valor, y así sucesivamente - si no coincide con ningún valor, se ejecutan las instrucciones que haya en la parte default, si existe. - después de un break, la instrucción switch termina y seguimos por la siguiente instrucción - los valores deben ser constantes, no variables, - no puede haber ninguno coincidente. DEPARTAMENTO DE MATEMÁTICAS, Michael González Harbour y José Luis Montaña 11 Ejemplo: nota media (entera) con letra public class NotaEntera { private int notamedia; public NotaEntera (int nota) { notamedia=nota; public String convierte() { String notaletra; switch (notamedia) { case 0: case 1: case 2: case 3: case 4: notaletra="suspenso"; break; DEPARTAMENTO DE MATEMÁTICAS, Michael González Harbour y José Luis Montaña 12

Ejemplo: nota media (entera) con letra (cont.) case 5: case 6: notaletra="aprobado"; break; case 7: case 8: notaletra="notable"; break; case 9: case 10: notaletra="sobresaliente"; break; default: notaletra="error"; return notaletra; DEPARTAMENTO DE MATEMÁTICAS, Michael González Harbour y José Luis Montaña 13 Instrucción condicional múltiple no discreta Cuando la decisión no es discreta, usamos una "escalera" de instrucciones if: Java if (condición1) { else if (condición2) { else if (condición3) {... else { Pseudocódigo si condición1 -> condición2 -> condición3 -> ninguna de las anteriores -> fsi DEPARTAMENTO DE MATEMÁTICAS, Michael González Harbour y José Luis Montaña 14

Instrucción condicional múltiple no discreta (cont.) Las condiciones se examinan empezando por la de arriba Tan pronto como una se cumple, sus instrucciones se ejecutan y la instrucción se abandona. Si ninguna de las condiciones es cierta se ejecuta la última parte else. La instrucción switch es mucho más eficiente que la instrucción condicional múltiple en switch sólo se toma una decisión en el if múltiple se evalúan muchas condiciones. DEPARTAMENTO DE MATEMÁTICAS, Michael González Harbour y José Luis Montaña 15 Ejemplo: nota media (real) con letra public class NotaReal { private double notamedia; public NotaReal(double nota) { notamedia=nota; public String convierte() { String notaletra; if (notamedia<0.0) { notaletra="error"; else if (notamedia<5.0) { notaletra="suspenso"; else if (notamedia<7.0) { notaletra="aprobado"; else if (notamedia<9.0) { notaletra="notable"; DEPARTAMENTO DE MATEMÁTICAS, Michael González Harbour y José Luis Montaña 16

Ejemplo: nota media (real) con letra (cont.) else if (notamedia<=10.0) { notaletra="sobresaliente"; else { notaletra="error"; return notaletra; DEPARTAMENTO DE MATEMÁTICAS, Michael González Harbour y José Luis Montaña 17 4.3. Instrucciones de lazo o bucle Permiten ejecutar múltiples veces unas instrucciones se corresponden a la composición iterativa de teoría La cantidad de veces se puede establecer mediante: una condición: - se comprueba al principio: las instrucciones del lazo se hacen cero o más veces - se comprueba al final: las instrucciones del lazo se hacen una o más veces un número fijo de veces: se usa una variable de control DEPARTAMENTO DE MATEMÁTICAS, Michael González Harbour y José Luis Montaña 18

4.3.1. Lazo con condición de permanencia al principio Es el lazo while: Java while (condicion) { Pseudocódigo mientras condición hacer fmientras DEPARTAMENTO DE MATEMÁTICAS, Michael González Harbour y José Luis Montaña 19 Ejemplo Calcular el primer entero positivo tal que la suma de él y los anteriores sea mayor que 100 public class SumaMayor100 { public static void main(string[] args) { int suma =0; int i=0; while (suma<=100) { i++; suma=suma+i; System.out.println("La suma de i=1.."+i+" es "+suma); DEPARTAMENTO DE MATEMÁTICAS, Michael González Harbour y José Luis Montaña 20

Ejemplo 2: lazo infinito o indefinido Cálculo de las distancias entre dos puntos del globo terráqueo, múltiples veces. import fundamentos.*; public class Dist { public static void main(string[] args) { double dist; // Kilómetros double lon1,lat1,lon2,lat2; // grados Lectura pantalla = new Lectura("Círculo Máximo"); pantalla.creaentrada("latitud 1",0.0); pantalla.creaentrada("longitud 1",0.0); pantalla.creaentrada("latitud 2",0.0); pantalla.creaentrada("longitud 2",0.0); DEPARTAMENTO DE MATEMÁTICAS, Michael González Harbour y José Luis Montaña 21 Ejemplo 2: lazo infinito o indefinido (cont.) while (true) { pantalla.espera("introduce coordenadas y pulsa OK"); lat1=pantalla.leedouble("latitud 1"); lon1 =pantalla.leedouble("longitud 1"); lat2 =pantalla.leedouble("latitud 2"); lon2 =pantalla.leedouble("longitud 2"); lat1=math.toradians(lat1); lat2=math.toradians(lat2); lon1=math.toradians(lon1); lon2=math.toradians(lon2); dist=math.todegrees(math.acos(math.sin(lat1)* Math.sin(lat2)+ Math.cos(lat1)*Math.cos(lat2)*Math.cos(lon1-lon2)))* 60.0*1.852; pantalla.println("la distancia es: "+dist+" Km"); DEPARTAMENTO DE MATEMÁTICAS, Michael González Harbour y José Luis Montaña 22

4.3.2. Lazo con condición de permanencia al final Es el lazo do-while: Java do { while (condicion); Pseudocódigo hacer mientras condición; DEPARTAMENTO DE MATEMÁTICAS, Michael González Harbour y José Luis Montaña 23 Ejemplo Calcular el máximo de unos números positivos hasta que el introducido sea cero import fundamentos.*; public class Maximo { public static void main(string[] args) { double max = 0.0; double num; Lectura pantalla = new Lectura("Máximo"); pantalla.creaentrada("número",0.0); DEPARTAMENTO DE MATEMÁTICAS, Michael González Harbour y José Luis Montaña 24

Ejemplo (cont.) do { pantalla.espera("introduce número y pulsa OK (0 = fin)"); num = pantalla.leedouble("número"); if (num>max) { max=num; pantalla.println("el máximo es: "+max); while (num!=0); pantalla.println("pulsa Cerrar"); DEPARTAMENTO DE MATEMÁTICAS, Michael González Harbour y José Luis Montaña 25 4.3.3 Lazo con variable de control Es el lazo for: for (decl-inicialización; cond-permanencia; expr-incremento;) { Es equivalente a: { Java decl-inicialización; while (cond-permanencia) { expr-incremento; Pseudocódigo decl-inicialización; mientras cond-permanencia hacer expr-incremento fmientras DEPARTAMENTO DE MATEMÁTICAS, Michael González Harbour y José Luis Montaña 26

Ejemplo: suma de los 100 primeros enteros positivos Existe también una sintaxis especial de pseudocódigo: Java int suma=0; for (int i=1; i<=100; i++) { suma=suma+i; Pseudocódigo entero suma=0; para i=1 hasta i=100 hacer suma:=suma+i; fpara También para incrementos distintos de uno (ej: nº pares): Java int suma=0; for (int i=2; i<=100; i=i+2) { suma=suma+i; Pseudocódigo entero suma=0; para i=2 paso 2 hasta i=100 hacer suma:=suma+i; fpara DEPARTAMENTO DE MATEMÁTICAS, Michael González Harbour y José Luis Montaña 27 Recomendaciones sobre el lazo for Debe usarse para lazos con variable de control y de una manera uniforme Es conveniente declarar la variable de control en el lazo Es conveniente que la expresión de incremento sea eso Es conveniente que la expresión de permanencia sea simple Nunca cambiar el valor de la variable de control en las instrucciones. DEPARTAMENTO DE MATEMÁTICAS, Michael González Harbour y José Luis Montaña 28

Variantes de lazos Hacia atrás: Vacío: for (int n=10; n>=-6; n--)... for (int n=0; n<finish; n++)...//si finish<0 Anidado for (int i=1; i<=10; i++) { for (int j=1; j<=20; j++) {... DEPARTAMENTO DE MATEMÁTICAS, Michael González Harbour y José Luis Montaña 29 Ejemplo: uso de la clase Grafica Es una clase sencilla para hacer gráficos de funciones reales. Permite: almacenar puntos mostrarlos como puntos o líneas mostrar el gráfico puede mostrar varios gráficos en la misma ventana DEPARTAMENTO DE MATEMÁTICAS, Michael González Harbour y José Luis Montaña 30

Ejemplo (cont.) import fundamentos.*; public class FuncionesTrigonometricas { public static void main(string[] args) { // Gráficas de funciones trigonometricas Grafica g = new Grafica ("Seno y Coseno","x","y"); double x; // El primer gráfico g.ponsimbolo(true); g.poncolor(grafica.azul); g.pontitulo("seno"); // Angulos desde 0 a 3*PI con incremento de PI/16 for (double x1=0.0; x1<=math.pi*3.0; x1=x1+math.pi/16.0) { g.inserta(x1,math.sin(x1)); DEPARTAMENTO DE MATEMÁTICAS, Michael González Harbour y José Luis Montaña 31 Ejemplo (cont.) // El segundo gráfico g.otragrafica(); g.ponsimbolo(true); g.poncolor(grafica.rojo); g.pontitulo("coseno"); // Angulos desde 0 a 10 radianes con incremento de 0.1 radianes for (int i=0; i<=100; i++) { x = i/10.0; g.inserta(x,math.cos(x)); g.pinta(); DEPARTAMENTO DE MATEMÁTICAS, Michael González Harbour y José Luis Montaña 32

4.3.4. Instrucciones de salto en lazos Hay tres instrucciones que permiten saltarse las instrucciones restantes del lazo: break: - termina el lazo continue: - termina las instrucciones del lazo, pero sigue en él return: - termina un método; si estamos en un lazo, lógicamente también lo termina DEPARTAMENTO DE MATEMÁTICAS, Michael González Harbour y José Luis Montaña 33