Tema 3 - Estructuras de Control Condicionales v2

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 7

Tema 3.

Estructuras de control condicional


3.1 Evaluar expresiones Booleanas
1. Pregunta de definición
a) define el concepto de variable booleana
b) ¿qué posibles valores puede tener una variable booleana?
c) ¿qué operaciones conoces que se puedan realizar con variables booleanas?

2. Programando en Processing, ¿cuál es la diferencia entre usar un solo signo igual (=) y
usar dos signos igual (==)? ¿Para qué se usa cada una de las dos opciones?

3. Qué funciones permiten operar variables booleanas, para crear expresiones


booleanas.

4. Evalúa cada una de las siguientes expresiones condicionales:


a) x > 3
b) ( 4 > x ) && ( x > 3 )
c) ( (x*x) > x)
para los cuatro casos siguientes:
A. x = 4, x entero
B. x = 2, x entero
C. x = 7/2, x entero
D. x = 7.0/2, x real

3.2 Escribir Expresiones Booleanas


5. Una máquina gestionada con tres sensores de emergencia A, B y C (pueden estar
encendidos o apagados), debe detenerse si se produce alguna de las siguientes
situaciones:
a) el sensor A está encendido y B y C apagados, o bien
b) el sensor B está apagado y A o C encendidos, o
c) están los tres apagados.
Escribe una expresión que evalúe si se ha de parar la máquina en función del valor de
los sensores.
Fundamentos de Programación
1º GEDI

6. En una determinada asignatura los alumnos realizan un examen de control (nC), un


examen final (nF) y una práctica final (nPF).
Las condiciones para aprobar la asignatura son:
a) la nota del examen final (nF) debe ser igual o superior a 5, y
b) la nota promedio debe ser igual o superior a 3,6.
La nota promedio se calcula como un 35% de la nota del examen de control (nC) + un
25% de la nota del examen final (nF) + un 40% de la práctica final (nPF).

Escribe una expresión booleana que diga si un alumno aprueba o no la asignatura.

3.3 Evaluación de estructuras de control


7. Dado el siguiente código:
int c=12;
boolean que;

que = (c < 33);


if ( que ){
println(“La c es menor que 33”);
}else{
println(“La c es mayor o igual a 33”);
}

¿Puedes indicar qué se escribirá en pantalla?


¿Puedes simplificar el código?

8. ¿Qué se escribirá en la consola de programación si ejecutamos el siguiente programa?


int x = 45;
print(x);
if(x > 35) {
println(“¡Es más grande que 35!”);
} else {
if (x > 60) {
println("¡Es más grande que 60!”);
}else{
println("¡Es 35 o más pequeño!”);
}
}

¿Encuentras algún problema en este código?

Page 2 of 7
Fundamentos de Programación
1º GEDI

3.4 Escritura de estructuras de control

9. Escribe un programa que calcule el precio de un Poke Bowl en función de las opciones
que ha elegido el cliente al montar su Poke:
Tamaño
“Grande” 12 euros
“Regular” 8 euros
Base
Una base 0 euros
Dos bases 2 euros
Proteína
Dos proteínas incluidas en el precio de tamaño regular
Tres proteínas incluidas en el precio de tamaño grande
Cada proteína añadida 2 euros
Green
Cuatro greens incluidos en el precio de tamaño regular
Cinco greens incluidos en el precio de tamaño grande
Cada green añadido 1 euros
Salsa
Una salsa 0 euros
Salsa añadida 1 euro
Topping
Un topping 0 euros
Cada Topping añadido 1 euro

Las variables que se usan son las siguientes:


String tamaño;
int numeroBases, numeroProteínas, numeroGreens, numeroSalsas, numeroToppings;

El programa debe escribir por pantalla el precio del Poke Bowl, a partir de los valores de las
variables, que contienen las opciones que ha elegido el cliente.

Page 3 of 7
Fundamentos de Programación
1º GEDI

Tema 3. PLUS Estructuras de control condicional


3.1 Evaluar expresiones Booleanas PLUS
1. Haz la tabla de verdad de las siguientes expresiones Booleanas, considerando que
todas las variables son de tipo booleano:
a) La función AND con dos variables de entrada
b) La función AND con tres variables de entrada
c) La función AND con cuatro variables de entrada
d) La función OR con dos variables de entrada
e) La función OR con tres variables de entrada
f) La función OR con cuatro variables de entrada

2. Evalúa las siguientes expresiones condicionales (booleanas) escritas en lenguaje


Processing y da el resultado:
a) ( 5 > 2 ) && ( 20 <= 320 )
b) ( 5 > 2 ) || ( 20 == 320 )
c) !( 3 == 7 )

3. Haz la tabla de verdad de las siguientes expresiones Booleanas, considerando que


todas las variables son de tipo booleano:
a) (A && !B) || (A && B)
b) (A || B || !C)
c) (B || !C) && !A
d) (A && !C)
e) !A && !B
Para cada expresión, indica explícitamente para qué casos da TRUE.

4. En una determinada asignatura los alumnos realizan un examen de control (de nota
nC), un examen final (de nota nF) y una práctica final (de nota nPF). La nota de la
asignatura (Nota) se calcula como Nota = 0.2 * nC + 0.5 * nF + 0.3 * nPF.

La siguiente expresión booleana se usa para saber si un alumno aprueba la asignatura:


(nC >= 6.5) && ( ((nF >= 5) && (nPF >= 4)) ||((nF >= 4.4) && (nPF >= 5))) && (Nota >=
5)

Averigua si quitando de la expresión la parte “&& (Nota >= 5)” el resultado es el


mismo, es decir, podemos saber si el alumno aprueba la asignatura con Nota superior
o igual a 5.

Page 4 of 7
Fundamentos de Programación
1º GEDI

3.2 Escribir Expresiones Booleanas PLUS


5. Escribe en lenguaje Processing utilizando expresiones condicionales (booleanas) que se
evalúen a cierto cuando la variable x se encuentre en cada uno de los siguientes casos:
a) en el intervalo (3,7]
b) en el intervalo [3,7]
c) en el intervalo [3,9)
d) en el intervalo (1,9) o en el intervalo (4,11)
e) en la intersección de los intervalos (1,9) y (4,11)
f) fuera del intervalo [3,7]
g) fuera del intervalo (6,9]

6. Se debe controlar el nivel de agua de un depósito. El nivel del agua debe encontrarse
entre dos alturas, A y B, con la altura A mayor que la altura B (A > B).
Para controlar el nivel, disponemos de dos sensores SA y SB, que se activan a 1 (o
cierto) cuando el nivel de agua supera la altura correspondiente (SA controla si se
supera la altura A y SB controla si se supera B).
En caso de que el nivel de agua no se encuentre entre las alturas A y B, se dará la señal
de alarma, es decir, activar a 1 (cierto) una variable ALARMA.
Escribe la expresión que permite activar esta ALARMA en función del valor de los
sensores de altura.

7. Para una determinada obra civil, se debe realizar el diseño del control de calidad de las
vigas de acero S355 que van a ser usadas. Dicho control supone hacer un ensayo de
tracción a rotura, de una viga por cada lote, para calcular el límite elástico, la tensión
de rotura y el alargamiento. El límite elástico del acero S355 para el espesor nominal
de las vigas usadas (<= 40mm) es 355 N/mm², su tensión de rotura es 470 N/mm² y el
alargamiento mínimo es 20%. Escribe una expresión booleana que indique si el ensayo
se ha superado, y por tanto el control de calidad es correcto.

Page 5 of 7
Fundamentos de Programación
1º GEDI

3.3 Evaluación de estructuras de control PLUS


8. Describe con tus propias palabras la necesidad de las estructuras de control
condicional. ¿Cuántas hay en programación?

9. Dado el siguiente código:


int c=12;
boolean que;
que = (c < 33);
if ( !que ){
println(“La c es mayor o igual a 33”);
} else {
println(“La c es menor que 33”);
}

¿Puedes indicar qué se escribirá en pantalla?


¿Puedes simplificar el código?

10. ¿Qué se escribirá en la consola de programación si ejecutamos el siguiente programa?


int x = 45;
print(x);
if (x > 60) {
println("¡Es más grande que 60!”);
}else {
if (x > 35){
println("¡Es más grande que 35!”);
}else{
println("¡Es 35 o más pequeño!”);
}
}

Page 6 of 7
Fundamentos de Programación
1º GEDI

11. ¿Puedes escribir la declaración y la inicialización de variables que necesita el código


siguiente?
¿Puedes describir en una sola frase qué hace el código?
if ((numero > 99) && (numero < 1000))
{
unidades = numero%10;
centenas = int(numero/100);
if (unidades == centenas)
tipoNumero = "El número es igual al inverso";
else
tipoNumero = "El número no es igual al inverso";
println(tipoNumero);
}
else
println(“El número no es de tres cifras");

3.4 Escritura de estructuras de control PLUS


12. Escribe un programa que muestre en pantalla un mensaje que indique si con 15 euros
me puedo comprar un Poke Bowl “Grande” (problema 3.4-9), de una base, con 4
proteínas, 5 greens, una salsa y dos toppings.

13. Escribe un programa que muestre en pantalla un mensaje que indique si un


determinado número almacenado en una variable entera llamada NUMERO, es par o
impar.

14. Escribe un programa que a partir de las longitudes de los lados de un triángulo.
determine y escriba un mensaje correspondiente a su tipo (1. EQUILÁTERO, 2.
ISÓSCELES, O 3. ESCALENO).
Las longitudes de los lados se almacenan en tres variables:
int lado1, lado2, lado3;

Page 7 of 7

También podría gustarte