10.05.2014 Views

programación i - Universidad ORT Uruguay

programación i - Universidad ORT Uruguay

programación i - Universidad ORT Uruguay

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Programación I 29<br />

Sean:<br />

x = 3<br />

y = 4<br />

z = 2<br />

f = false<br />

¿Cuánto vale cada una de las siguientes expresiones?<br />

a) (x>z) && (y>z)<br />

b) (x + y / 2) z + y)<br />

Respuestas:<br />

a) verdadero<br />

b) falso, 5 no es menor que 3.5<br />

c) verdadero<br />

d) verdadero. Ya al evaluar "not f" se sabe que la expresión entera es verdadera pues es<br />

un "or".<br />

e) falso. El primer término es falso, por lo cual, dado que es un "and", la expresión<br />

entera es falsa. Se dice que se hace evaluación de "corto circuito" cuando apenas se detecta el<br />

resultado de la expresión se deja de hacer la evaluación. Tiene como ventaja el ahorro de<br />

tiempo.<br />

2.8.2 Uso de variables booleanas<br />

Se desea un programa que lea datos hasta que se ingrese el valor 99 e indicar al final si pasó el<br />

valor 37 entre los datos ingresados. Analizar la siguiente solución:<br />

paso = false<br />

leo dato<br />

mientras (dato != 99)<br />

si (dato == 37)<br />

paso = true<br />

en otro caso<br />

paso= false<br />

leo dato<br />

si (paso)<br />

mostrar “SI”<br />

en otro caso<br />

mostrar “NO”<br />

Realizar la corrida a mano. ¿Qué sucede? En realidad, el programa mostrará si el último dato<br />

antes del 99 era o no el 37.<br />

Una solución correcta es:<br />

paso = false<br />

leo dato<br />

mientras (dato != 99)<br />

si (dato == 37)<br />

paso = true<br />

leo dato<br />

si (paso)<br />

mostrar “SI”<br />

en otro caso

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!