La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Teclado y Pantalla (Java estándar)

Presentaciones similares


Presentación del tema: "Teclado y Pantalla (Java estándar)"— Transcripción de la presentación:

1 Teclado y Pantalla (Java estándar)
import java.io.*; class U{ static public BufferedReader kb= new BufferedReader( new InputStreamReader(System.in)); static public String readLine(String x) throws IOException{ System.out.print(x); return kb.readLine(); } static public int readInt(String x) return Integer.parseInt(readLine(x));

2 Clase 2: Programación Estructurada
Asignación raiz=(-b+Math.sqrt(b*b-4*a*c))/(2*a); sintaxis: variable=expresión; semántica evaluar expresión asignar resultado (salvo si variable es de tipo “menor”) notas a igual precedencia, evaluación de izq a der paréntesis confirman o modifican orden de evaluación si operadores de distinto tipo, entonces resultado double inicialización: tipo var=expr;//final para ctes tipos: byte<short<int<long<float<double no se puede asignar de un tipo mayor a uno menor. Alternativa casting: (tipo)(expresión) J.Alvarez

3 Clase 2: Programación Estructurada
Funciones static public int azar(int x,int y){ return x + (int)(Math.random()*(y-x+1)); } Uso(invocación): U.azar(1,6) Clase.nombre(argumentos) Clase se omite si función está en misma clase Semántica copiar argumentos en parámetros ejecutar instrucciones devolver valor de exp de inst return J.Alvarez

4 Selección de instrucciones
Clase 2: Programación Estructurada Selección de instrucciones if(a%4==0 && a%100!=0 || a%400==0) U.println(“366 dias”); else U.println(“365 dias”); sintaxis if(condición) inst1; else inst2; semántica Si cond es true entonces realizar inst1; si es false inst2 (opcional) selección múltiple (ejecutar una inst entre n opciones) if(cond1) inst1; else if(cond2) inst2; else instn; J.Alvarez

5 Condición(expresión boolean)
Clase 2: Programación Estructurada Condición(expresión boolean) 0. Operador ! (not) 1. Expresiones aritméticas 2. Operadores comparación (<, <=,>,>=) 3. Operadores de igualdad (==, !=) 4. Operador && (true si ambos true) 5. Operador || (true si alguno true) Tipo boolean boolean b=false;//variable, cte y asignación b=bisiesto(2006);//invocación función if(b) dias=366; else dias=365; //uso static public boolean bisiesto(int x){ return x%4==0 && x%100!=0 || x%400==0; } J.Alvarez

6 Clase 2: Programación Estructurada
J.Alvarez

7 Clase 2: Programación Estructurada
Recursión double potencia(double x,int y){ if(x==0&&y==0) U.abortar(“potencia(0,0)”); if(y==0) return 1; if(y<0) return 1/potencia(x,-y); double p=potencia(x,y/2); if(y%2==0) return p*p; else return x*p*p; } notas al menos un caso base que devuelve resultado llamadas recursivas convergen a caso base J.Alvarez

8 Operadores especiales
Clase 2: Programación Estructurada Operadores especiales asignación (resultado: valor asignado) int ns,n,c; s=n=c=0; //s=(n=(c=0)); asoc der a izq while((n=U.leerInt(“nº?”))!=0)//menor prior U.println(“prom=“+(s=s+n)/(c=c+1)); asignación aritméticos U.println(“prom=“+(s+=n)/(c+=1)); incremento y decremento ++var --var (var++ y var-- devuelven valor previo) expresión condicional int c = a>b ? a : b;//cond? exp1: exp2 long fact(int x){return x==0? 1: x*fact(x-1);} J.Alvarez

9 Instrucciones especiales
Clase 2: Programación Estructurada Instrucciones especiales for(int i=1; i<=n; ++i){...} for(inst1;cond;inst2){insrucciones} {inst1; while(cond){...; inst2;}} switch(U.readInt()%10){//para int y char case 0: U.print(“cero”); break; ... case 8: U.print(“ocho”); break; default: U.print(“nueve”); } toma el mismo tiempo elegir cualquier caso Prop. String enPalabras(int x) //x: entero positivo de dos dígitos ej: enPalabras(78) entrega “setenta y ocho” J.Alvarez

10 Instrucciones especiales: do-while
ejemplo //obtener una respuesta si o no String s; do s=U.readLine(“si o no?”); while(!s.equals(“si”) && !s.equals(“no”)); sintaxis do{ instrucciones; }while(cond); semántica while(true){ if(!cond) break; }

11 Clase 2: Programación Estructurada
Instrucciones especiales: break y continue sintaxis externo: while(cond){ ... interno: while(cond){ if(cond) break/continue nombre;//opcional } semántica break quiebra (sale) del ciclo nombrado continue pasa a la sgte iteración del ciclo nombrado si nombre se omite, quiebra/continua ciclo interno ciclo puede ser while, for o do-while J.Alvarez


Descargar ppt "Teclado y Pantalla (Java estándar)"

Presentaciones similares


Anuncios Google