Вы находитесь на странице: 1из 5

6.

ElementosformalesdellenguajeJava(II)
Enestedocumentopodrsencontrarinformacinrelacionadaconlasintaxisgeneral
necesariaparalaconstruccindeprogramasenJavabasadosencondicionesy
asignaciones.

6.1 Representacindecondiciones
Comosabemos,unacondicinserepresentaconunaexpresinbooleanaqueverificalo
queserequiereparaqueseejecuteono,unconjuntodeinstrucciones.Deacuerdocon
esto,podemosformalizarsuescrituraenellenguajeJavadelasiguienteforma:
if(<Expresinbooleana>){
.
.
.
}

Sirequerimostenerencuentaelcasoenelquenosecumplalacondicin,haremoslo
siguiente:

if(<Expresinbooleana>){
.
.
.
}else{
.
.
.
}

Tengamosencuentaquenousamospuntoycoma(;)paradefinirlaterminacindeun
bloquecondicional,dadoqueestadefinicinsehaceconcorchetes.
Dentrodecadapardecorchetessepuededefinirunconjuntoarbitrariodeinstrucciones
deacuerdoconlastareasquesedebanrealizar;estasinstruccionespuedenserincluso
otrascondicionesocualquierelementodecontrolqueconozcamosmsadelante.Amodo
deejemplo,veamoslarepresentacinenlenguajeJava,delejercicioresueltoenlalectura
4delcurso:

POLITCNICO GRANCOLOMBIANO EN ALIANZA CON WHITNEY INTERNATIONAL UNIVERSITY SYSTEM

AdrianNicolsMalaverBarrera


AlgoritmoDescuentos

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

totalConDescuento <= total}

int libros, cuadernos, lpices;


float total, totalConDescuento;

totalConDescuento = total;

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

AdrianNicolsMalaverBarrera


totalConDescuento = total*0.75;
} else {
if((libros==1 || libros==2) && cuadernos>3 && lapices>=4){
totalConDescuento = total*0.85;
}
}

6.2 Bloquescondicionalesconunasolainstruccin
Cuandodentrodeunacondicinhayunasolainstruccin,esposibledejardeusar
corchetes.Porejemplo:
if(x>3 || y>6)
total = 185;
else
total = 192;

Estoreduceeltamaodelcdigo,peromuchasveces,alquereraadirmsinstrucciones
(enverde)albloquecondicional,olvidamosincluirloscorchetes,incurriendoenerrores
comoeste:

Incorrecto

if(x>3 || y>6)

Correcto

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;


}

AdrianNicolsMalaverBarrera

Incorrecto

if(x>7)

if(x>7){

total = 45;
else

Correcto

total = 45;
} else {

total = 46;

total = 46;

q = 170;

q = 170;
}

Estecasoesmscomplicadodecorregir,dadoque
alcdigocompila,perolalneadecdigo
q = 170;siempreseejecuta,porquedarfuera
delbloqueif.

Porsituacionescomoesta,serecomiendausarsiemprecorchetesparadefinirclaramente
dndecomienzaydondeterminaladefinicindeunbloque.

6.3 Bloquesdeseleccinentera
Cuandoserequiereejecutarunconjuntodeinstruccionesdeacuerdoconunaseleccin
entera,esposiblehacerlodelasiguientemanera:
switch(<Expresinnumricadetipoint o char>){

case<Valorconstante1>:

//Instruccionessisedaelcaso1

break;

case<Valorconstante2>:

//Instruccionessisedaelcaso1

break;

case<Valorconstanten>:

//Instruccionessisedaelcason

break;

AdrianNicolsMalaverBarrera

default:

//Instruccionessinosedaningncaso

break;
}

Enestecaso,laexpresininicialseevala,ydeacuerdoconelresultado,seejecutael
conjuntodeinstruccionesdefinidoparauncaso(case)particular.Esimportanteteneren
cuentaquedichoconjuntodeinstruccionesnosedelimitausandocorchetes,
simplementeserompelaejecucinusandolaexpresinbreak.Finalmente,sinoseda
ningncaso,esposibledefiniruncomportamientopordefectousandolapalabra
default.

VeamoselcdigoenJavadelejemplopresentadoenlalectura4:
switch(seleccin){
case 1:
resultado = a+b;

case 2:
resultado = a-b;

case 3:
resultado = a*b;

case 4:
resultado = a/b;

default:
resultado = 0;
}

AdrianNicolsMalaverBarrera

Вам также может понравиться