prgtema02

31
PROGRAMACI ´ ON TEMA 2. ELEMENTOS DE UN PRO- GRAMA CENTRO: CENTRO ESPEC ´ IFICO DE EDUCACI ´ ON A DIS- TANCIA DE LA COMUNIDAD VALENCIANA (CEEDCV) WEB: http: // www. ceedcv. es A ˜ NO ACAD ´ EMICO: 2013/2014 PROFESOR: FRANCISCO ALDARIAS RAYA EMAIL: paco. aldarias@ ceedcv. es MODULO: PROGRAMACI ´ ON CICLO FORMATIVO: CFGS: DESARROLLO DE APLICACIONES WEB DEPARTAMENTO: INFORM ´ ATICA CURSO: 1 o

Upload: jose-marin

Post on 20-Jan-2016

88 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: prgtema02

PROGRAMACIONTEMA 2. ELEMENTOS DE UN PRO-GRAMA

CENTRO: CENTRO ESPECIFICO DE EDUCACION A DIS-TANCIA DE LA COMUNIDAD VALENCIANA(CEEDCV)

WEB: http: // www. ceedcv. es

ANO ACADEMICO: 2013/2014

PROFESOR: FRANCISCO ALDARIAS RAYAEMAIL: paco. aldarias@ ceedcv. es

MODULO: PROGRAMACIONCICLO FORMATIVO: CFGS: DESARROLLO DE APLICACIONES WEBDEPARTAMENTO: INFORMATICACURSO: 1o

Page 2: prgtema02

TEMA 2. ELEMENTOS DE UN PROGRAMA

Licencia de Creative Commons.

PROGRAMACION

TEMA 2. ELEMENTOS DE UN PROGRAMA

por Francisco Aldarias Raya

es licencia bajo

http://creativecommons.org/licenses/by-nc-sa/3.0/es/

Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 Espana License.

Creado a partir de la obra en http://www.ceedcv.es

Bajo las condiciones siguientes:

Reconocimiento - Debe reconocer los creditos de la obra de la maneraespecificada por el autor o el licenciador (pero no de una manera quesugiera que tiene su apoyo o apoyan el uso que hace de su obra).

No comercial - No puede utilizar esta obra para fines comerciales.

Compartir bajo la misma licencia - Si altera o transforma esta obra, ogenera una obra derivada, solo puede distribuir la obra generada bajouna licencia identica a esta.

Version 1. 2011-2012

Version 2. 2013-2014

Changeset: 8:6ce2db2b1f01

Ultima actualizacion 25 de octubre de 2013

FRANCISCO ALDARIAS RAYA

[email protected]

Departamento de Informatica.

Centro Especıfico de Educacion a Distancia de la Comunidad Valenciana. (CEED)

http://www.ceedcv.es

En Valencia (Espana).

Documento realizado con software libre: linux debian, LATEX.

2.2 FRANCISCO ALDARIAS RAYA. CFGS: DESARROLLO DE APLICACIONES WEB.

PROGRAMACION 2013/2014.

Page 3: prgtema02

INDICE TEMA 2. ELEMENTOS DE UN PROGRAMA

Indice

1. TIPOS 4

2. CONSTANTES 9

3. LITERALES 10

4. COMENTARIOS 10

5. IDENTIFICADORES 11

6. VARIABLES 12

7. BINARIO 14

7.1. Pasar de binario a decimal. . . . . . . . . . . . . . . . . . . . . . . . 14

7.2. Pasar de decimal a binario. . . . . . . . . . . . . . . . . . . . . . . . 14

7.3. Calculo rapido para convertir entre binario y decimal. . . . . . . . . . 15

7.4. OR o Suma binaria sin acarreos . . . . . . . . . . . . . . . . . . . . 15

7.5. AND o producto binario sin acarreos . . . . . . . . . . . . . . . . . . 16

7.6. XOR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

7.7. Calculadora binaria . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

8. OPERADORES 17

8.1. Operadores Aritmeticos . . . . . . . . . . . . . . . . . . . . . . . . . 17

8.2. Operadores Relacionales . . . . . . . . . . . . . . . . . . . . . . . . 18

8.3. Operadores Logicos . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

8.4. Operadores Unarios . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

8.5. Operadores de Bits . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

8.6. Operadores de Asignacion . . . . . . . . . . . . . . . . . . . . . . . 22

8.7. Operador Ternario . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

8.8. Precedencia de operadores . . . . . . . . . . . . . . . . . . . . . . . 23

9. CAST 24

10.ORIENTACION 25

10.1.Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

10.2.Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

10.3.Fuentes bibliograficas . . . . . . . . . . . . . . . . . . . . . . . . . . 26

FRANCISCO ALDARIAS RAYA. CFGS: DESARROLLO DE APLICACIONES WEB.

PROGRAMACION 2013/2014.2.3

Page 4: prgtema02

TEMA 2. ELEMENTOS DE UN PROGRAMA 1 TIPOS

10.4.Temporalizacion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

10.5.Cuando se imparte . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

11.EJERCICIOS PROPUESTOS 26

11.1.Ejercicio0201 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

11.2.Ejercicio0202 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

11.3.Ejercicio0203 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

11.4.Ejercicio0204 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

11.5.Ejercicio0205 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

11.6.Ejercicio0206 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

11.7.Ejercicio0207 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

11.8.Ejercicio0208 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

11.9.Ejercicio0209 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

11.10.Ejercicio0210 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

11.11.Ejercicio0211 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

11.12.Ejercicio0212 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

11.13.Ejercicio0213 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

11.14.Ejercicio0214 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

12.EJERCICIOS OBLIGATORIOS 30

12.1.prgt2e1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

1. TIPOS

Definicion Tipo de datos:El tipo de datos indica que va a contener una variable.

Los tipos de datos pueden ser:

• Simples: Son tipos nucleares que no se derivan de otros tipos, como losenteros, de coma flotante, booleanos y de caracter.

• Compuestos: Formado por tipos simples: Los tipos compuestos sebasan en los tipos simples, e incluyen las cadenas, las matrices y tantolas clases como las interfaces, en general.

Cada tipo de datos simple soporta un conjunto de literales que le pueden serasignados, para darles valor.

Clasificacion de los tipos simples:

2.4 FRANCISCO ALDARIAS RAYA. CFGS: DESARROLLO DE APLICACIONES WEB.

PROGRAMACION 2013/2014.

Page 5: prgtema02

1 TIPOS TEMA 2. ELEMENTOS DE UN PROGRAMA

1.- Enteros:

Estos tipos son byte, short, int y long, que guardan el signo valor, estosrepresentan un numero y no pueden representar elementos fraccionarios.

Ejemplo: Ejemplos de enteros.

../prgcodigo/prgcod02/Enteros.java

public class Enteros

{

public static void main(String [] arg)

{

byte midato1 = 1;

short midato2 = 100;

int midato3 = 10000;

long midato4 = 100000000;

System.out .println (" midato = " + midato1 );

System.out .println (" midato = " + midato2 );

System.out .println (" midato = " + midato3 );

System.out .println (" midato = " + midato4 );

}

}

2.- Numeros en coma flotante:

Estos son float y double y pueden almacenar numeros en coma flotante y consigno, esto quiere decir que nos permiten representar numeros decimales.

Todos los literales de coma flotante son del tipo double salvo que seespecifique lo contrario, por eso si se intenta asignar un literal en comaflotante a una variable de tipo float el compilador nos dara un error (tiposincompatibles):

Ejemplo: Uso de float.

Al compilar dara error. Esto se solucionarıa indicando que el valor 2.6 es detipo float con una f al final 2.6f

../prgcodigo/prgcod02/TiposDecimales.java

public class TiposDecimales

{

public static void main(String [] arg)

{

float valor;

//Esto dara un error. Debe ser valor =2.6f;

valor = 2.6;

System.out .println ("Valor del dato= " + valor);

}

}

3.- El tipo Caracter:

Estos son de tipo char, que almacena la representacion de los caracteres(letras o numeros), un caracter esta almacenado en 16 bits, y siguen unestandar que es el Unicoide.

Los caracteres en Java se pueden especificar de forma normal o consecuencias de escape, utilizando la barra invertida \ seguida de una letra: \ro utilizando la barra invertida con una u seguida de un numero hexadecimal

FRANCISCO ALDARIAS RAYA. CFGS: DESARROLLO DE APLICACIONES WEB.

PROGRAMACION 2013/2014.2.5

Page 6: prgtema02

TEMA 2. ELEMENTOS DE UN PROGRAMA 1 TIPOS

\u0000d, en este caso hemos especificado la secuencia de escape y sucodigo unicoide correspondiente del retorno de carro.

SECUENCIA DE ESCAPESECUENCIA SIGNIFICADO\’ Comilla simple\" Comilla doble\b Espacio en Blanco\n Nueva Linea\t Tabulador\uxxxx Caracter Unicode

Ejemplo: Tipo Caracter

Se puede apreciar que los caracteres puede guardarse como un numero ocomo un caracter entre comillas simples.

../prgcodigo/prgcod02/TipoCaracter.java

public class TipoCaracter

{

public static void main(String [] arg)

{

char valor , valor1;

// el caracter tiene que estar encerrado entre comillas simples.

valor = ’A’;

valor1 = 65;

System.out.println (" Caracter "+valor );

System.out.println (" Caracter "+ valor1 );

}

}

/*

EJECUCION:

Caracter A

Caracter A

*/

4.- El tipo booleano:

Este solo guarda dos valores: verdadero (true) o falso(false), y no comoocurre en otros lenguajes que toman los valores 0 y 1.

Generalmente su utilizacion es muy frecuente para determinar el flujo de losprogramas.

Ejemplo: Tipo Boolean

Como valor1 es true (cierto), hara la instruccion del if, si fuera valor1 falseharia la instruccion del else.

../prgcodigo/prgcod02/TipoBoolean.java

public class TipoBoolean

{

public static void main(String [] arg)

{

boolean valor1;

valor1 = true;

if (valor1) {

System.out .println (" valor1 = verdadero ");

2.6 FRANCISCO ALDARIAS RAYA. CFGS: DESARROLLO DE APLICACIONES WEB.

PROGRAMACION 2013/2014.

Page 7: prgtema02

1 TIPOS TEMA 2. ELEMENTOS DE UN PROGRAMA

} else {

System.out .println (" valor1 = falso ");

}

}

}

/* EJECUCION

valor1 = verdadero

*/

Descripcion detallada de los tipos de datos simples:

1.- byte

Datos enteros. Utiliza 8 bits. Rango: -128 a 127 Ejemplo: byte a=100;

2.- short

Datos enteros. Utiliza 16 bits. Rango: -32768 a 32767 Ejemplo: short a=1000;

3.- int

Datos enteros. Utiliza 32 bits. Rango: -2147483647 a +2147483648 Ejemplo:int a=2300;

4.- long

Datos enteros. Utiliza 64 bits. Ejemplo: long a=100000;

5.- char

Datos enteros y caracteres. Rango: 0 a 65535 Utiliza 16 bits. Ejemplo: chara=’c’, b=99; Como el valor decimal del caracter c es 99, a y b contienen lomismo.

6.- float

Datos numericos en coma flotante. Utiliza 32 bits. Ejemplo: float a=3.14,b=1/2;

7.- double

Datos numericos en coma flotante. Utiliza 64 bits. Ejemplo: double a=3.14,b=1e6; Siendo 1e6 = 1x106 = 1000000

Ejemplo: Programa que compara la salida de la operacion 10/4 usandovariables double e int.

../prgcodigo/prgcod02/Tipointdouble.java

/* Tipointdouble.java

*/

class Tipointdouble {

public static void main ( String args []){

int a=10; // variable entera

double b=10.0; // variable punto flotante

System.out.println ("a= " + a);

System.out.println ("b= " + b);

a = a / 4;

b = b / 4;

System.out.println ("a/4= " + a);

FRANCISCO ALDARIAS RAYA. CFGS: DESARROLLO DE APLICACIONES WEB.

PROGRAMACION 2013/2014.2.7

Page 8: prgtema02

TEMA 2. ELEMENTOS DE UN PROGRAMA 1 TIPOS

System.out.println ("b/4= " + b);

}

}

/* EJECUCION

a= 10

b= 10.0

a/4= 2

b/4= 2.5

*/

Ejemplo: Programa que muestra la tabla ascii.

../prgcodigo/prgcod02/Ascii.java

class Ascii

{

public static void main(String [] args)

{

int i,j;

char c;

System.out.println (" Ascii entre A y z");

for(c = ’A’; c <= ’z’; c++) {

i=(int)c;

System.out.print(i+": "+c+"\t");

}

System.out.println ("\ nAscii entre a y z");

for(c = ’a’,j=1; c <= ’z’; c++,j++) {

i=(int)c;

System.out.print(j+" "+i+": "+c+"\t");

if ( j %5 == 0) System.out.println ("");

}

--j;

System.out.print ("\ nLetras entre a y z son "+j);

}

}

/* EJECUCION:

Ascii entre A y z

65: A 66: B 67: C 68: D 69: E 70: F 71: G 72: H 73: I

74: J 75: K 76: L 77: M 78: N 79: O 80: P 81: Q 82: R

83: S 84: T 85: U 86: V 87: W 88: X 89: Y 90: Z 91: [

92: \ 93: ] 94: ^ 95: _ 96: ‘ 97: a 98: b 99: c 100: d

101: e 102: f 103: g 104: h 105: i 106: j 107: k 108: l 109: m

110: n 111: o 112: p 113: q 114: r 115: s 116: t 117: u 118: v

119: w 120: x 121: y 122: z

Ascii entre a y z

1 97: a 2 98: b 3 99: c 4 100: d 5 101: e

6 102: f 7 103: g 8 104: h 9 105: i 10 106: j

11 107: k 12 108: l 13 109: m 14 110: n 15 111: o

16 112: p 17 113: q 18 114: r 19 115: s 20 116: t

21 117: u 22 118: v 23 119: w 24 120: x 25 121: y

26 122: z

Letras entre a y z son 26

*/

Pasarnos del valor maximo:

Vamos a ver el caso de pasarnos del lımite maximo de un tipo de dato numerico.

Ejemplo: ../prgcodigo/prgcod02/intGrande.javapublic class intGrande {

public static void main(String [] args) {

2.8 FRANCISCO ALDARIAS RAYA. CFGS: DESARROLLO DE APLICACIONES WEB.

PROGRAMACION 2013/2014.

Page 9: prgtema02

2 CONSTANTES TEMA 2. ELEMENTOS DE UN PROGRAMA

int j = 2147483647;

int i = j + 1;

System.out.println ("El valor obtenido es " + i);

}

}

/* EJECUCION:

El valor obtenido es -2147483648

*/

El valor 2147483647 (es decir 231 − 1 ) es el mas grande que puede tolerar unint. Pero veamos que pasa al sumarle uno mas. El compilador se queda mudo ycae en nuestra trampa. Ejecutamos el programa y obtenemos:

El valor obtenido es -2147483648

Desastroso, ?Verdad? Veamos lo que paso: Tenıamos el valor maximo para losint:

01111111111111111111111111111111 : 2147483647 en numeros binarios.

00000000000000000000000000000001 : le sumamos 1

10000000000000000000000000000000 : Resultado: -2147483648 complemento a 2

Esta anomalıa se la conoce como overflow (desbordamiento). El procesadorpuede identificar un resultado con este problema comparando los signos. Es deesperar que si sumamos dos numeros positivos, no nos de como resultado unnumero negativo. Pero el interprete de Java no nos avisa, por lo tanto tenemos quecuidarnos al trabajar cerca de los extremos.

2. CONSTANTES

Las constantes son variable que no cambian su valor.

ESTILO:

Las constantes se declaran en mayusculas y las variables en minusculas.

Ejemplo:

final double PI = 3.14 // Constante

double area = 0.0; // Variable

SINTAXIS:

final [static] tipo-de-dato nombre-constante = valor;

Siendo:

• final

Es un atributo que le pones ya sea a una variable o a un metodo, paraindicar que ya no puede ser cambiado una vez declarado.

• static

Que la propiedad o metodo es estatico, no se puede instanciar, siempreusas lo definido en la clase.

FRANCISCO ALDARIAS RAYA. CFGS: DESARROLLO DE APLICACIONES WEB.

PROGRAMACION 2013/2014.2.9

Page 10: prgtema02

TEMA 2. ELEMENTOS DE UN PROGRAMA 4 COMENTARIOS

3. LITERALES

Una literal es un valor constante formado por una secuencia de caracteres.Cualquier declaracion en Java que defina un valor constante - un valor que nopueda ser cambiado durante la ejecucion del programa - es una literal.

Son ejemplos de literales los numeros, los caracteres y las cadenas decaracteres.

• Literales numericas

Se pueden crear literales numericas a partir de cualquier tipo de datoprimitivo.

Ejemplos:

123 // literal int

123.456 // literal double

123L // literal long

123.456F // literal float

• Literales booleanas

Las literales boolenas consisten de las palabras reservadas true y false.

• Literales de caracteres

Las literales de caracteres se expresan por un solo caracter entrecomillas sencillas Ejemplos:

’a’, ’ %’, ’7’

• Literales de cadena

Una cadena es una combinacion de caracteres. Las cadenas en Javason instancias de la clase String, por ello cuentan con metodos quepermiten combinar, probar y modificar cadenas con facilidad. Lasliterales de cadena se representan por una secuencia de caracteresentre comillas dobles.

Ejemplos:

"hola", "cadena123", "12345"

4. COMENTARIOS

Los comentarios en un programa representa la documentacion interna. Esdecir, permite aclarar cosas del programa.

Tipos:

• Una linea. Usaremos: //.

• Varias lıneas. Usaremos: /* al inicio y usaremos: */ al final.

2.10 FRANCISCO ALDARIAS RAYA. CFGS: DESARROLLO DE APLICACIONES WEB.

PROGRAMACION 2013/2014.

Page 11: prgtema02

5 IDENTIFICADORES TEMA 2. ELEMENTOS DE UN PROGRAMA

Ejemplos: ../prgcodigo/prgcod02/HolaMundoC.java

/* Esto es un comentario

* de varias lineas

* */

public class HolaMundoC {

// Esto es un comentario de 1 linea

public static void main(String [] args) {

System.out.println ("Hola Mundo ");

}

}

Este punto se vera de forma mas extensa en la asignatura Entornos deDesarrollo, tema Documentacion de Programas.

5. IDENTIFICADORES

Un identificador es un nombre que identifica a una variable, a un metodoo funcion miembro, a una clase. Todos los lenguajes tienen ciertas reglas paracomponer los identificadores:

• Todos los identificadores han de comenzar con una letra, el caractersubrayado ( ) o el caracter dollar ( $ ).

• Puede incluir, pero no comenzar por un numero

• No puede incluir el caracter espacio en blanco

• Distingue entre letras mayusculas y minusculas

• No se pueden utilizar las plabras reservadas como identificadores

ESTILO:

Hay ciertas convenciones que hacen que el programa sea mas legible, peroque no afectan a la ejecucion del programa.

La primera y fundamental es la de encontrar un nombre que sea significativo,de modo que el programa sea lo mas legible posible.

El tiempo que se pretende ahorrar eligiendo nombres cortos y poco significati-vos se pierde con creces cuando se revisa el programa despues de cierto tiempo.

Tipo de identificador Convencion Ejemplo

nombre de una claseComienza por letramayuscula

String, Rectangulo,CinematicaApplet

nombre de funcioncomienza con letraminuscula

calcularArea, getVa-lue, setColor

nombre de variablecomienza por letraminuscula

area, color, appletSi-ze

nombre de constanteEn letras mayuscu-las

PI, MAX ANCHO

FRANCISCO ALDARIAS RAYA. CFGS: DESARROLLO DE APLICACIONES WEB.

PROGRAMACION 2013/2014.2.11

Page 12: prgtema02

TEMA 2. ELEMENTOS DE UN PROGRAMA 6 VARIABLES

6. VARIABLES

Definicion Variable: Una variable es una zona de memoria dondese almacena informacion de un tipo de datos

Para nombrar las variables usaremos identificadores permitidos, no pudiendoseutilizar como variables las palabras reservadas o clave del lenguaje como while,double, etc.

Definicion Visibilidad o Ambito o Scope de una variable: Zonade un programa que una variable es visible y puede ser utilizada.

Las variables se declaran dentro de un bloque el cual va entre llaves, y solo sonvisibles dentro de el. Cuando termina el bloque se destruyen.

En Java las variables no pueden ser declaradas fuera de una clase. Lasfunciones miembro podran acceder a las variables miembro de la clase, pero no alas variables miembro de otra funcion miembro.

Tipos de variables:

• Variables miembro de una clase:

Son accesibles a traves del objeto de la clase.

Valores por defecto

DESCRIPCION CANTIDADNumericas 0Caracteres ’\0’

Cadenas nullObjetos null

• Variables locales:

son las variables declaradas dentro de un metodo o funcion de unaclase. Estas variables no pueden ser declaradas como static. No seinicializan por defecto.

Variables estaticas o de clase:

Son propias unicamente de la clase y no de los objetos que pueden crearsede la misma, por lo tanto, sus valores son compartidos por todos los objetos de laclase. Van precedidas del modificador static.

Para invocar a una variable estatica no se necesita crear un objeto de la claseen la que se define:

• Si se invoca desde la clase en la que se encuentra definido, basta conescribir su nombre.

2.12 FRANCISCO ALDARIAS RAYA. CFGS: DESARROLLO DE APLICACIONES WEB.

PROGRAMACION 2013/2014.

Page 13: prgtema02

6 VARIABLES TEMA 2. ELEMENTOS DE UN PROGRAMA

• Si se le invoca desde una clase distinta, debe anteponerse a su nombre,el de la clase en la que se encuentra seguido del operador punto (.)<NombreClase>.variableEstatica.

Suelen emplearse para definir constantes comunes a todos los objetos de laclase.

Ejemplo: Programa que declara variables miembro y locales.

Las variables que pongamos despues de public class, son variables miembros,que podran ser accedidas por las funciones de la clase.

Las variables locales, son las variables que se declaran dentro de la funcion ysolo se podra usar dentro de la funcion.

La creacion de objetos se vera mas adelante. Lo importante es ver que lasvariables locales de las funciones, son diferentes aunque se llamen igual, y lavariable miembro m, es global a ambas funciones.

../prgcodigo/prgcod02/Variables.java

public class Variables {

static int m=5; // variable miembro

public static void main (String args []) {

int l; // variable local

l = m + 2;

System.out.println ("Suma: "+l);

}

}

/* EJECUCION:

7

*/

Ejemplo: Programa que crea un objeto en donde utiliza la variable miembro.

En el main se crea un objeto a, a partir de la clase Variables2, este objetotendra, la variable m, y dos funciones. La funcion de la clase se llama con a.f1();

../prgcodigo/prgcod02/Variables2.java

public class Variables2 {

static int m =5;

public static void f1 () {

int l ;

l = m +2;

System . out . println (" Suma : "+ l );

}

public static void f2 () {

int l ;

l = m +1;

System.out.println (" Suma : " + l );

}

public static void main ( String [] args ) {

Variables2 a = new Variables2 ();

a.f1();

a.f2();

}

}

/* Ejecucion :

Suma : 7

Suma : 6

*/

FRANCISCO ALDARIAS RAYA. CFGS: DESARROLLO DE APLICACIONES WEB.

PROGRAMACION 2013/2014.2.13

Page 14: prgtema02

TEMA 2. ELEMENTOS DE UN PROGRAMA 7 BINARIO

7. BINARIO

El sistema de numeracion binario dispone de 2 sımbolos para representar losnumeros que son 0 y 1. Con 1 bit tenemos dos estados, que se obtiene de 21 = 2, con 2 bits tenemos 22 = 4 estados, y con 8 bits tenemos 28 = 256 estados.

A cada estado se le asigna un numero decimal.

BINARIO DECIMAL00 001 110 211 3

7.1. Pasar de binario a decimal.

Aplicaremos el Teorema Fundamental de la numeracion:

1011 = X ∗ 23 +X ∗ 22 +X ∗ 21 +X ∗ 20 = 1 ∗ 23 + 0 ∗ 22 + 1 ∗ 21 + 1 ∗ 20 = 11

Sustituimos la X por el valor binario. Tomamos 2i, valiendo i desde 0 hasta elnumero de dıgitos menos 1.

7.2. Pasar de decimal a binario.

Dividiremos por 2, hasta que el cociente sea menor que 2. Y cogeremos elultimo cociente y los restos en orden inverso a como se obtienen.

11 | 2

---- 2

1 5 |--- 2

1 2 |---

0 1

Conclusion:

1110) = 10112)

Notacion:

• Para indicar 11 en base 10 pondremos 1110)

• Para indicar 1011 en base 2 podremos 10112)

2.14 FRANCISCO ALDARIAS RAYA. CFGS: DESARROLLO DE APLICACIONES WEB.

PROGRAMACION 2013/2014.

Page 15: prgtema02

7 BINARIO TEMA 2. ELEMENTOS DE UN PROGRAMA

7.3. Calculo rapido para convertir entre binario y decimal.

Es posible hacer los calculos de una forma rapida, para ello tendremos delantela siguiente plantilla, la cual se obtiene como 20,21,22,etc:

___ ___ ___ ___ ___ ___ ___ ___

128 64 32 16 8 4 2 1

• Pasar de Binario a Decimal.

Rellenamos en la parte superior el valor binario, y sumamos la parteinferior donde aparece un uno.

Ejemplo. Pasar de Binario a Decimal: 1001

___ ___ ___ ___ __1 __0 __0 __1

128 64 32 16 8 4 2 1

10012) = 8 + 0 + 0 + 1 = 910)

• Pasar de Decimal a Binario.

Tomamos el primer valor mas pequeno o igual a valor busado y leponemos 1. Y restamos el valor tomado al total. Ası hasta que la restanos de 0.

Pasar de Binario a Decimal: 9

___ ___ ___ ___ __1 ___ ___ __1

128 64 32 16 8 4 2 1

Restamos al 9 - 8 = 1, cogemos el 4 bit a 1. Podemos obtener 1 con el1er bit. 1 - 1 = 0. Bits elegidos el primero y el cuarto, los bits no cogidosse pondran a 0. Luego 910) = 10012).

7.4. OR o Suma binaria sin acarreos

La suma binaria, es 0, solo cuando los dos operandos son 0.

OR0 + 0 = 00 + 1 = 11 + 0 = 11 + 1 = 1

Nota: No hay que confundir el OR con la Suma Binaria, la cual lleva acarreos.

En decimal 3+2=5, pero en binario:

• 11 OR 10 = 11

FRANCISCO ALDARIAS RAYA. CFGS: DESARROLLO DE APLICACIONES WEB.

PROGRAMACION 2013/2014.2.15

Page 16: prgtema02

TEMA 2. ELEMENTOS DE UN PROGRAMA 7 BINARIO

• 11 + 10 = 101

Ejemplo de OR:

1010

1011 OR

----------

1011

Se aprecia que 1010 es 10, y 1011 es 11, la suma es 22, en nuestro caso nosda 1011 que es 11.

7.5. AND o producto binario sin acarreos

El producto binario es 1, cuando son 1 ambos operandos.

AND0 * 0 = 00 * 1 = 01 * 0 = 01 * 1 = 1

No hay que confundir el AND con el producto binario.

Ejemplo de AND:

1010

1011 AND

----------

1010

7.6. XOR

Tomo el valor de 9 si son iguales, y 1 si son diferentes.

XOR0 * 0 = 00 * 1 = 11 * 0 = 11 * 1 = 0

Ejemplo de XOR:

1010

1011 XOR

----------

0001

2.16 FRANCISCO ALDARIAS RAYA. CFGS: DESARROLLO DE APLICACIONES WEB.

PROGRAMACION 2013/2014.

Page 17: prgtema02

8 OPERADORES TEMA 2. ELEMENTOS DE UN PROGRAMA

7.7. Calculadora binaria

Existe en linux una calculadora binaria, en el menu aplicaciones, accesorios,calculadora, Debemos coger la cientıfica.

Ver figura 1 en la paginas 17

Figura 1: Calculadora binaria

Al ser operaciones binaria bit a bit, debemos usar or y and, en lugar de + y *.

8. OPERADORES

8.1. Operadores Aritmeticos

Los operadores aritmeticos permite realizar operaciones matematicas.

Operadores AritmeticosOPERADOR OPERACION+ Suma- Resta* Multiplicacion/ Division% Resto Division

Tabla 1: Operadores Aritmeticos

Los operadores tienen prioridad, esto implica que se evaluan antes los quetienen mas prioridad y despues lo de menos.

Ejemplo: ../prgcodigo/prgcod02/Operadores.java

FRANCISCO ALDARIAS RAYA. CFGS: DESARROLLO DE APLICACIONES WEB.

PROGRAMACION 2013/2014.2.17

Page 18: prgtema02

TEMA 2. ELEMENTOS DE UN PROGRAMA 8 OPERADORES

public class Operadores {

public static void main (String args []) {

int a=4,b=2,c=2,op=0;

System.out.println ("a="+a+" b="+b+" c="+c);

op=a+b;System.out.println ("a+b="+op);

op=a-b;System.out.println ("a-b="+op);

op=a*b;System.out.println ("a*b="+op);

op=a/b;System.out.println ("a/b="+op);

op=a %b;System.out.println ("a %b="+op);

op=a+b*c;System.out.println ("a+b*c="+op);

}

}

/* EJECUCION:

a=4 b=2 c=2

a+b=6

a-b=2

a*b=8

a/b=2

a %b=0

a+b*c=8

*/

8.2. Operadores Relacionales

Los operadores relacionales permite saber si son iguales o diferentes losoperandos de un expresion logica.

El valor que devuelve es true (cierto) o false (falso).

El valor logico devuelto se puede guardar en una variable de tipo boolean.

Operadores RelacionalesOPERADOR USO SIGNIFICADO< a < b Menor> a > b Mayor<= a <= b Menor o Igual>= a >= b Mayor o Igual! = a! = b Diferentes== a == b Igual

Ejemplo: ../prgcodigo/prgcod02/Relacionales.java

public class Relacionales {

public static void main (String args []) {

int a=4,b=2;

boolean op;

System.out.println ("a="+a+" b="+b);

op=a<b;System.out.println ("a<b es "+op);

op=a>b;System.out.println ("a>b es "+op);

op=a<=b;System.out.println ("a<=b es "+op);

op=a>=b;System.out.println ("a>=b es "+op);

op=a!=b;System.out.println ("a!=b es "+op);

op=a==b;System.out.println ("a==b es "+op);

}

}

/* EJECUCION:

a=4 b=2

a<b es false

a>b es true

2.18 FRANCISCO ALDARIAS RAYA. CFGS: DESARROLLO DE APLICACIONES WEB.

PROGRAMACION 2013/2014.

Page 19: prgtema02

8 OPERADORES TEMA 2. ELEMENTOS DE UN PROGRAMA

a<=b es false

a>=b es true

a!=b es true

a==b es false

* */

Se puede observar que para ver si son iguales dos operandos se indica con ==en lugar de =.

8.3. Operadores Logicos

Los operadores logicos permiten sirven para construir operaciones logicas.

Operadores LogicosOPERADOR USO SIGNIFICADO&& a && b a y b|| a||b a o b! !a no A

Seguidamente se muestra la tabla de verdad de los operadores logicos, siendola letra V Verdad (true), y la letra F False (False).

Tabla de Verdad de los operadores logicosA B ! A A || B A && B

V V F V VF V V V FV F F V FF F V F F

Las tablas de verdad de los operadores logicos, son las mismas que la de losoperadores binarios NOT, OR, AND, cambiando 0 por False, y 1 por True.

Ejemplo: ../prgcodigo/prgcod02/Logicos.java

public class Logicos {

public static void main (String args []) {

int a=1,b=2,c=1;

boolean e;

e= a>b && c==a;

System.out.println ("1. "+e);

e= a>b || c==a;

System.out.println ("2. "+e);

e= (a>b || c==a) && (a!=c);

System.out.println ("3. "+e);

}

}

/* EJECUCION:

1. false

2. true

3. false

*/

FRANCISCO ALDARIAS RAYA. CFGS: DESARROLLO DE APLICACIONES WEB.

PROGRAMACION 2013/2014.2.19

Page 20: prgtema02

TEMA 2. ELEMENTOS DE UN PROGRAMA 8 OPERADORES

8.4. Operadores Unarios

Los operadores unarios son aquellos que solo tienen un operando. Ejemplo:++A solo tiene el operando A. Sin embargo, A+B tiene dos operandos que son A yB, y por tanto + es un operador binario.

Operadores UnariosOPERADOR USO SIGNIFICADO- -A Cambio de signo

++ ++APre Incremento de A. A++ equiva-le a A=A+1

A++Post Incremento de A. A++ equi-vale a A=A+1

-- --APre Decremento de A. --A equi-vale a A=A-1

A--Post Decremento de A. A– equi-vale a A=A-1

Existe equivalencias entre operadores binarios y unarios.

EquivalenciasEQUIVALENCIA 1 EQUIVALENCIA 2 EQUIVALENCIA 3x=x+1 equivale a x+=1 equivale a ++x

x=x-1 equivale a x-=1 equivale a --x

El pre-incremento como ++i, primero suma 1 a la i, y despues realiza lasoperaciones. El post incremento i++ primero realiza la instruccion y luego suma1.

Ejemplo: Se puede apreciar que suma 1 despues de imprimir el valor de i.

../prgcodigo/prgcod02/Unarios1.java

public class Unarios1 {

public static void main(String arg[]) {

int i = 1;

System.out.println(i++);

System.out.println(i++);

}

}

/* EJECUCION

* 1

* 2

*/

Ejemplo: ../prgcodigo/prgcod02/Unarios.java

public class Unarios {

public static void main (String args []) {

int a=1;

a++; // a vale 2

System.out.println ("1. "+a);

a= 1 + -a; // a vale 1-2=-1

2.20 FRANCISCO ALDARIAS RAYA. CFGS: DESARROLLO DE APLICACIONES WEB.

PROGRAMACION 2013/2014.

Page 21: prgtema02

8 OPERADORES TEMA 2. ELEMENTOS DE UN PROGRAMA

System.out.println ("2. "+a);

a= 0 + (++a); // a vale 0 -1 +1 = 0

System.out.println ("3. "+a);

a= 0 + (a++); // a vale 0 + 0 = 0

System.out.println ("4. "+a);

}

}

/* EJECUCION:

1. 2

2. -1

3. 0

4. 0

*/

8.5. Operadores de Bits

Los operadores de bits trabajan con los numeros a nivel binario.

Operadores BitsOPERADOR USO SIGNIFICADO& A & B AND logico. A AND B| A|B OR logico. A OR B^ A ^ B XOR logico. A XOR B

<< A << BDesplaza a la izquierda A B bits rellenan-do con ceros por la derecha

>> A >> BDesplaza a la derecha A B bits rellenandocon el bit de signo ceros por la izquierda

Ejemplo: ../prgcodigo/prgcod02/Bits.java

public class Bits {

public static void main (String args []) {

int a;

a=2;

String b= Integer.toBinaryString(a);

System.out.println ("1. Decimal :"+a+" Binario :"+b);

a = a << 1; // Desplaza 1 bit izq , num=num*2

b= Integer.toBinaryString(a);

System.out.println ("2. Decimal :"+a+" Binario :"+b);

a=2;

a= a >> 1; // Desplaza 1 bit der , num=num/2

b= Integer.toBinaryString(a);

System.out.println ("3. Decimal :"+a+" Binario :"+b);

}

}

/* EJECUCION:

1. Decimal :2 Binario :10

2. Decimal :4 Binario :100

3. Decimal :1 Binario :1

*/

FRANCISCO ALDARIAS RAYA. CFGS: DESARROLLO DE APLICACIONES WEB.

PROGRAMACION 2013/2014.2.21

Page 22: prgtema02

TEMA 2. ELEMENTOS DE UN PROGRAMA 8 OPERADORES

8.6. Operadores de Asignacion

Los operadores de bits trabajan con los numeros a nivel binario.

Operadores AsignacionOPERADOR USO SIGNIFICADO= A = B Guarda el valor de B en A.+= A += B A=A+B-= A -= B A=A-B*= A *= B A=A*B/= A /= B A=A/B%= A %= B A=A %B

Ejemplo: ../prgcodigo/prgcod02/Asignacion.java

public class Asignacion {

public static void main (String args []) {

int a=1;

a+=2;

System.out.println ("1. "+a);

a/=2;

System.out.println ("2. "+a);

}

}

/* EJECUCION:

1. 3

2. 1

*/

8.7. Operador Ternario

Operador CondicionOPERADOR USO SIGNIFICADO

?: (c?v1:v2)Si es cierto c devuelve el v1 si esfalsa devuelve el v2.

Ejemplo: ../prgcodigo/prgcod02/Condicion.java

public class Condicion {

public static void main (String args []) {

int a1=1,a2=2,a3;

boolean b1;

b1 = ( a1 <1? true:false );

System.out.println ("1. "+b1);

a3 = ( a2 <1?6:7);

System.out.println ("2. "+a3);

}

}

/* EJECUCION:

1. false

2. 7

*/

2.22 FRANCISCO ALDARIAS RAYA. CFGS: DESARROLLO DE APLICACIONES WEB.

PROGRAMACION 2013/2014.

Page 23: prgtema02

8 OPERADORES TEMA 2. ELEMENTOS DE UN PROGRAMA

8.8. Precedencia de operadores

La precendencia de operadores indica que operadores se calculan antes queotros. Es decir, que operador se evalua primero. Ejemplo operadores son +,-,*,etc.Los parentesis permiten indicar que se calcula primero.

La tabla indica que tienen mayor prioridad los que estan al inicio de la tabla,y si estan en la misma fila, tienen la misma prioridad y se calculara antes, elque esta mas a la izquierda. Por ejemplo: 3*4/2, tanto * como / tienen la mismaprioridad, y debemos evaluar primero 3*4 y no 4/2, el resultado sera 12/2=6.

Precedencia de Operadores.PRIORIDAD OPERADORES DESCRIPCIONMAYOR () Parentesis

-- ~ ! ++ & Unarios

* / %Multiplicacion,Division y Resto

+ - Suma y Resta<< >> >>> Desplazamiento< <= > >= Relacionales& AND^ XOR| OR&& AND booleano|| OR booleano?: Condicional

MENOR = *= += -= %= <<= >>= Asignacion

Ejemplo: Se aplican calculos segun la precedencia.

Partimos de la expresion matematica 2+5*3, si calculamos de izquieda aderecha 2+5=10, y 10*3 = 30. Deberıa dar 30, pero da 17 ya que * tiene masprecedencia que +. El calculo serıa 5*3=15, y 15+2=17.

../prgcodigo/prgcod02/Precedencia.java

public class Precedencia {

public static void main (String args []) {

int a;

a=2+5*3; // * mas precedencia que +.

System.out.println ("1. "+a);

a=2+(5*3);

System.out.println ("2. "+a);

a=2+5*1+4/2;

System.out.println ("3. "+a);

}

}

/* EJECUCION:

1. 17

2. 17

3. 9

*/

FRANCISCO ALDARIAS RAYA. CFGS: DESARROLLO DE APLICACIONES WEB.

PROGRAMACION 2013/2014.2.23

Page 24: prgtema02

TEMA 2. ELEMENTOS DE UN PROGRAMA 9 CAST

9. CAST

Antes de usar una variable debemos declarar su tipo.

Ejemplo: int a;

Pero para que podamos guardar una variable entera en un variable float,debemos antes hacer un cast, o conversion de tipos.

Ejemplo: int a=1; float f=2.0; f=a;

Hay que evitar la conversion de tipos. Hay veces que la conversion de tiposprovoca perdida de informacion.

Tipos de cast:

• Implıcita: Donde guardamos debe tener mayor precision.

Ejemplo: int a=1; float f=2.0; f=a; En este caso f tiene mayor precisionque a.

• Explicita: Se fuerza la conversion con la operacion de cast. Ejemplo: inta=1; float f=2.0; f=(cast)a;

Hay conversiones entre tipos no permitidas. Ejemplo: Entre int y boolean, realesy booleanos.

Ejemplo: ../prgcodigo/prgcod02/Cast.java

public class Cast {

public static void main (String args []) {

// Sin perida float=int

int i1=2;

float f1;

f1=i1;

System.out.println ("1. "+f1);

// Perdida. int = double

int i2=10;

double d1 =3.1416;

i2= (int)d1;

System.out.println ("2. "+i2);

// Sin perdida por mayor precision. short=byte

short s1;

byte b1=3;

s1=b1;

System.out.println ("3. "+s1);

// Error. Por perdida de precision

short s2=200;

byte b2; // bytes numero maximo 127

// b2=s2; // Error

}

}

/* EJECUCION:

1. 2.0

2. 3

3. 3

* */

En el ejemplo se aprecia que:

1.- f1=i1 Conversion implıcita de i1 (int) en f1 (float) Sin perdida de datos.

2.24 FRANCISCO ALDARIAS RAYA. CFGS: DESARROLLO DE APLICACIONES WEB.

PROGRAMACION 2013/2014.

Page 25: prgtema02

10 ORIENTACION TEMA 2. ELEMENTOS DE UN PROGRAMA

2.- i2=(cast)d1 Conversion explicita de d1 (double) en i2 (int) Hay perdida dedatos. Con cast obligamos a que haga la conversion.

3.- s1=b1 Conversion implıcita de b1 (byte) en s1(short). No hay perdida. Tienemayor precision short (precision mayor de 127), que byte (como maximo tomael valor de 127).

4.- b2=s2 Conversion implica, da error. No deja hacerlo. Por intentar meter 200en byte que solo admite como maximo el valor 127.

Segun el tema 1 del libro de Schaum [SA05], en la conversion de tipos el tipochar es caso especial. Un tipo char siempre se puede utilizar en una expresion connumeros enteros como si fuese un numero entero mas.

Ejemplo: Conversiones entre char e int.

Convierte un caracter A en un numero en n=c+1; Si c es A, c+1 sera B.Convierte una numero en un letra en c=(char)n. Si n es A+1, n tomara el valorentero de la C.

../prgcodigo/prgcod02/TipoChar01.java

public class TipoChar01 {

public static void main(String [] arg) {

char c=’A’;

int n;

n = c + 1 ;

System.out.println ("n: "+n);

n=’A’+1;

c = (char)(n);

System.out.println ("c: "+c);

}

}

/* EJECUCION

n: 66

c: B

*/

10. ORIENTACION

10.1. Objetivos

Los objetivos son:

• Identificar distintos tipos de variables y su utilidad

• Modificar el codigo de un programa para crear y utilizar variables.

• Saber crear y utilizar constantes y literales.

• Saber clasificar, reconocer y utilizar en expresiones los operadores dellenguaje.

• Saber el funcionamiento de la conversion de tipo explicita e implicita.

• Saber como se emplean los comentarios

FRANCISCO ALDARIAS RAYA. CFGS: DESARROLLO DE APLICACIONES WEB.

PROGRAMACION 2013/2014.2.25

Page 26: prgtema02

TEMA 2. ELEMENTOS DE UN PROGRAMA 11 EJERCICIOS PROPUESTOS

10.2. Software

Se recomienda el siguiente software:

• Sistema Operativo: Linux

• IDE: Geany, Netbeans.

• CVS: Git

10.3. Fuentes bibliograficas

1.- Libro [MP11] Tema 1. Elementos de un programa informatico.

2.- Libro [FQ08] Capitulo 2. Caracterısticas de Java

3.- Libro [CUM13] Capitulo 1. Introduccion

4.- Geany http://www.geany.org/

5.- Netbeans http://netbeans.org/

10.4. Temporalizacion

Esta materia se impartira a distancia en:

DESCRIPCION CANTIDADTotal de horas del tema 19Total de semanas 2Total de horas por semana 9,5Total de horas de tutorıas grupales por semana 2Total de horas del curso 230

10.5. Cuando se imparte

El tema 2 se imparte en la evaluacion 1.

EVALUACION EVALUACION 1 EVALUACION 2 EVALUACION 3TEMA 1 2 3 4 5 6 7 8 9 10 11 12

11. EJERCICIOS PROPUESTOS

Crear un repositorio en el cvs llamado prgt2e2xxx para los ejemplos yprgt2e3xxx para los ejercicios propuestos siendo xxx tu apellido y sube el proyectoque contenga todos los programas.

2.26 FRANCISCO ALDARIAS RAYA. CFGS: DESARROLLO DE APLICACIONES WEB.

PROGRAMACION 2013/2014.

Page 27: prgtema02

11 EJERCICIOS PROPUESTOS TEMA 2. ELEMENTOS DE UN PROGRAMA

11.1. Ejercicio0201

Modifica el siguiente programa para hacer que compile y funcione:

../prgcodigo/prgcod02/VariablesMiembro.java

static int m=5; // variable miembro

public class VariablesMiembro1 {

public static void main (String args []) {

int l; // variable local

l = m + 2;

System.out.println ("Suma: "+l);

}

}

11.2. Ejercicio0202

Realiza un programa en Java, que muestre la tabla de verdad de los operadoresbinarios, OR, AND, XOR, NOT, tomando dos variables A y B que tomen todos losposibles valores.

Ejemplo:

Tabla de Verdad de los operadores binariosA B NOT A A AND B A OR B A XOR Bfalse false truefalse true truetrue false falsetrue true false

Los valores que faltan en la tabla deberan obtenerse con el programa medianteexpresiones logicas.

Se puede poner en columnas usando, el caracter \t, o la funcion format() de laclase String.

11.3. Ejercicio0203

1.- Pasa a binario los siguientes numeros en decimal:

• 10

• 15

• 255

• 1024

2.- Pasa a decimal los siguientes numeros en binario:

• 1111111

• 10000000

FRANCISCO ALDARIAS RAYA. CFGS: DESARROLLO DE APLICACIONES WEB.

PROGRAMACION 2013/2014.2.27

Page 28: prgtema02

TEMA 2. ELEMENTOS DE UN PROGRAMA 11 EJERCICIOS PROPUESTOS

• 10101

• 111001

Usa la calculadora para comprobar que son correctos.

11.4. Ejercicio0204

Modifica el siguiente programa para hacer que compile y funcione:

../prgcodigo/prg02/Ejercicio01.java

public class Ejercicio01 {

static int n1=50;

public static void main(String [] args) {

int n2=30, suma=0, n3;

suma=n1+n2;

System.out.println ("LA SUMA ES: " + suma);

suma=suma+n3;

System.out.println(suma);

}

}

11.5. Ejercicio0205

¿Por que no compila el siguiente programa? Modifıcalo para hacer quefuncione.

../prgcodigo/prgcod02/Ejercicio02.java

class Ejercicio02 {

public static void main(String [] args) {

int n1=50,n2=30,

boolean suma =0;

suma=n1+n2;

System.out.println ("LA SUMA ES: " + suma);

}

}

11.6. Ejercicio0206

El siguiente programa tiene 3 fallos, averigua cuales son y modifica el programapara que funcione.

../prgcodigo/prgcod02/Ejercicio03.java

class Ejercicio3 {

public static void main(String [] args) {

int numero=2,

cuad=numero * numero;

System.out.println ("EL CUADRADO DE "+ NUMERO +" ES: " + cuad);

}

}

2.28 FRANCISCO ALDARIAS RAYA. CFGS: DESARROLLO DE APLICACIONES WEB.

PROGRAMACION 2013/2014.

Page 29: prgtema02

11 EJERCICIOS PROPUESTOS TEMA 2. ELEMENTOS DE UN PROGRAMA

11.7. Ejercicio0207

¿Que mostrara el siguiente codigo por pantalla?

../prgcodigo/prgcod02/Ejercicio04.java

class Ejercicio04 {

static public void main ( String [] args) {

int num =5;

num += num - 1 * 4 + 1; // Expresion 1

System.out.println(num);

num =4;

num %= 7 * num % 3 * 7 >> 1; // Expresion 2

System.out.println(num);

}

}

11.8. Ejercicio0208

Realiza un programa que calcule la longitud de una circunferencia de radio 3metros.

11.9. Ejercicio0209

Realiza un programa que calcule el area de una circunferencia de radio 5,2centımetros.

11.10. Ejercicio0210

Realiza un programa que muestre en pantalla, respetando los retornos de lınea,el siguiente texto:

Me gusta la programacion

cada dıa mas.

11.11. Ejercicio0211

Realiza un programa que genere letras aleatoriamente y determine si sonvocales o consonantes.

11.12. Ejercicio0212

Compilara el siguiente codigo:

../prgcodigo/prgcod02s/ejer9.java

class ejer9

{

public static void main(String [] args)

{

boolean adivina = ((97 ==’a’) && true);

System.out.println(adivina );

FRANCISCO ALDARIAS RAYA. CFGS: DESARROLLO DE APLICACIONES WEB.

PROGRAMACION 2013/2014.2.29

Page 30: prgtema02

TEMA 2. ELEMENTOS DE UN PROGRAMA 12 EJERCICIOS OBLIGATORIOS

int a=1;

int b=a>>>2;

System.out.println(b);

a=7 | 4;

System.out.println(a);

b=3 | 4;

System.out.println(b);

a=7 & 4;

System.out.println(a);

b=3 & 4;

}

}

11.13. Ejercicio0213

Dentro de una clase joven tenemos las variables enteras edad, ni-vel de estudios e ingresos. Necesitamos almacenar en la variable booleana jaspel valor:

• Verdadero. Si la edad es menor o igual a 28 y el nivel de estudios esmayor que tres, o bien, la edad es menor de 30 y los ingresos superanlos 28.000 (euros).

• Falso. En caso contrario.

Escribe el codigo importante necesario (2 lıneas).

11.14. Ejercicio0214

Realiza un programa con una variable entera t la cual contiene un tiempo ensegundos y queremos conocer este tiempo pero expresado en horas, minutos ysegundos.

12. EJERCICIOS OBLIGATORIOS

12.1. prgt2e1

1.- Clonar la practica del repositorio publico:

https://[email protected]/ceeddaw/prgt2e1.git

2.- Formatear el codigo. En Netbeans hay que seleccionar todo el programa e iral Menu Fuente, Formato. Una vez formateado el codigo sera mas legible.

3.- Modificar el programa clonado para que dado un importe en euros, nosindique el mınimo numero de billetes y la cantidad sobrante que se puedenutilizar para obtener dicha cantidad. Debe funcionar para cualquier importeen euros.

Por ejemplo: 232 euros

2.30 FRANCISCO ALDARIAS RAYA. CFGS: DESARROLLO DE APLICACIONES WEB.

PROGRAMACION 2013/2014.

Page 31: prgtema02

BIBLIOGRAFIA TEMA 2. ELEMENTOS DE UN PROGRAMA

• 232 Euros tenemos

• 1 billete de 200.

• 1 billetes de 20

• 1 billetes de 10

• Sobran 2 euros.

4.- Crear un repositorio en el cvs en bitbucket llamado prgt2e1xxx, siendo xxx elprimer apellido. Ejemplo para garcia serıa prgt2e1garcia.

5.- Renombrar el proyecto ponerle igual que el nombre del repositorioprgt2e1xxx. Para ellos pulsar el boton derecho del raton sobre el nombre delproyecto y pulsar renombrar.

6.- Subir el proyecto al cvs creado.

Recordar que hay que:

1.- Guardar los cambios

2.- Menu Team, Add (seleccionando el proyecto)

3.- Menu Team, Commit

4.- Menu Team, Push (sobre vuestro repositorio ya creado en bitbucket)

7.- Subir la direccion del repositorio al aula virtual, apartado practica2.

Ejemplo para garcıa serıa:

https://bitbucket.org/garcia/prgt2e1garcia.git

BIBLIOGRAFIA

[CUM13] M. ISABEL JIMENEZ CUMBRERAS. Programacion. Garceta, 1 edition,2013.

[FQ08] AGUSTIN FROUTE QUINTAS. Java 2. Manual del Usuario y Tutorial. 5edition, 2008. ISBN: 978-84-7897-875-5. PRECIO:40EUR. JAVA 2SE.

[MP11] JUAN CARLOS MORENO PEREZ. Programacion. Ra-ma, 1 edition,2011. ISBN: 978-84-9964-088-4. LIBRO ALUMNO CICLOS. PRECIO:35 EUR.

[SA05] JESUS SANCHEZ ALLENDE. Programacion en Java 2. Serie Schaum.McGrawhill, 1 edition, 2005. ISBN: 84-481-4591-7. LIBRO DE EJERCI-CIOS. JAVA 2. NIVEL BASICO.

FRANCISCO ALDARIAS RAYA. CFGS: DESARROLLO DE APLICACIONES WEB.

PROGRAMACION 2013/2014.2.31