prgtema02
TRANSCRIPT
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
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
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.
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
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.
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
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.
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
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.
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
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.
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
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.
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
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.
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
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.
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
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.
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
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.
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
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.
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
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.
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
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.
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
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.
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
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.
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