Está en la página 1de 5

6. Elementos
formales
del
lenguaje
Java
(II)

En
este
documento
podrás
encontrar
información
relacionada
con
la
sintaxis
general

necesaria
para
la
construcción
de
programas
en
Java
basados
en
condiciones
y

asignaciones.


6.1 
Representación
de
condiciones


Como
sabemos,
una
condición
se
representa
con
una
expresión
booleana
que
verifica
lo

que
se
requiere
para
que
se
ejecute
o
no,
un
conjunto
de
instrucciones.
De
acuerdo
con

esto,
podemos
formalizar
su
escritura
en
el
lenguaje
Java
de
la
siguiente
forma:


if(<Expresión
booleana>){

.

.

.

}


Si
requerimos
tener
en
cuenta
el
caso
en
el
que
no
se
cumpla
la
condición,
haremos
lo

siguiente:


if(<Expresión
booleana>){

.

.

.

}
else
{

.

.

.

}


Tengamos
en
cuenta
que
no
usamos
punto
y
coma
(;)
para
definir
la
terminación
de
un

bloque
condicional,
dado
que
esta
definición
se
hace
con
corchetes.


Dentro
de
cada
par
de
corchetes
se
puede
definir
un
conjunto
arbitrario
de
instrucciones

de
acuerdo
con
las
tareas
que
se
deban
realizar;
estas
instrucciones
pueden
ser
incluso

otras
condiciones
o
cualquier
elemento
de
control
que
conozcamos
más
adelante.
A
modo

de
ejemplo,
veamos
la
representación
en
lenguaje
Java,
del
ejercicio
resuelto
en
la
lectura

4
del
curso:



POLITÉCNICO GRANCOLOMBIANO EN ALIANZA CON WHITNEY INTERNATIONAL UNIVERSITY SYSTEM

Adrian
Nicolás
Malaver
Barrera


Algoritmo
Descuentos
 


Entradas


libros, cuadernos, lapices: Entero

total: Real


Pre:
{libros>=0 Y cuadernos>=0 Y lapices>=0 Y total>= 0}


Inicio
 



 totalConDescuento ← total



 si(libros>3 O cuadernos>6) entonces

inicio_si

totalConDescuento ← total*0.75

sino

si((libros=1 O libros=2) Y cuadernos>3 Y lapices>=4) entonces

inicio_si

totalConDescuento ← total*0.85

fin_si

fin_si


Fin
 


Salidas


totalConDescuento: Real


Pos:
{totalConDescuento >= 0 Y totalConDescuento <= total}



int libros, cuadernos, lápices;

float total, totalConDescuento;

totalConDescuento = total;


if(libros>3 || cuadernos>6){

Adrian
Nicolás
Malaver
Barrera


totalConDescuento = total*0.75;

} else {

if((libros==1 || libros==2) && cuadernos>3 && lapices>=4){

totalConDescuento = total*0.85;

}


6.2 Bloques
condicionales
con
una
sola
instrucción


Cuando
dentro
de
una
condición
hay
una
sola
instrucción,
es
posible
dejar
de
usar

corchetes.
Por
ejemplo:

if(x>3 || y>6)
total = 185;
else
total = 192;

Esto
reduce
el
tamaño
del
código,
pero
muchas
veces,
al
querer
añadir
más
instrucciones

(en
verde)
al
bloque
condicional,
olvidamos
incluir
los
corchetes,
incurriendo
en
errores

como
este:


 Incorrecto  Correcto

if(x>3 || y>6) if(x>3 || y>6){

total = 185; total = 185;

total2 = 134; total2 = 134;

else } else {

total = 192; total = 192;

z = 16; z = 16;

total = total * z + 18;
 total = total * z + 18;

}


Adrian
Nicolás
Malaver
Barrera


 Incorrecto  Correcto

if(x>7) if(x>7){

total = 45; total = 45;

else } else {

total = 46; total = 46;

q = 170; q = 170;

}


Este
caso
es
más
complicado
de
corregir,
dado
que

al
código
compila,
pero
la
línea
de
código



q = 170;
siempre
se
ejecuta,
por
quedar
fuera

del
bloque
if.

Por
situaciones
como
esta,
se
recomienda
usar
siempre
corchetes
para
definir
claramente

dónde
comienza
y
donde
termina
la
definición
de
un
bloque.


6.3 Bloques
de
selección
entera


Cuando
se
requiere
ejecutar
un
conjunto
de
instrucciones
de
acuerdo
con
una
selección

entera,
es
posible
hacerlo
de
la
siguiente
manera:


switch(<Expresión
numérica
de
tipo
int o char>){


 case
<Valor
constante
1>:


 
 //Instrucciones
si
se
da
el
caso
1


 
 break;



 case
<Valor
constante
2>:


 
 //Instrucciones
si
se
da
el
caso
1


 
 break;


 .


 .


 .


 case
<Valor
constante
n>:


 
 //Instrucciones
si
se
da
el
caso
n


 
 break;


Adrian
Nicolás
Malaver
Barrera



 default:


 
 //Instrucciones
si
no
se
da
ningún
caso


 
 break;

}


En
este
caso,
la
expresión
inicial
se
evalúa,
y
de
acuerdo
con
el
resultado,
se
ejecuta
el

conjunto
de
instrucciones
definido
para
un
caso
(case)
particular.
Es
importante
tener
en

cuenta
que
dicho
conjunto
de
instrucciones
no
se
delimita
usando
corchetes,

simplemente
se
rompe
la
ejecución
usando
la
expresión
break.
Finalmente,
si
no
se
da

ningún
caso,
es
posible
definir
un
comportamiento
por
defecto
usando
la
palabra

default.


Veamos
el
código
en
Java
del
ejemplo
presentado
en
la
lectura
4:

switch(selección){

case 1:

resultado = a+b;

case 2:

resultado = a-b;

case 3:

resultado = a*b;

case 4:

resultado = a/b;

default:

resultado = 0;

Adrian
Nicolás
Malaver
Barrera


También podría gustarte