Vous êtes sur la page 1sur 6

Estructuras de Control Selectivo

Una estructura selectiva es la que me permite realizar o no, una o un grupo de


instrucciones para una situacin o evento especfico. Las situaciones o eventos son muy
variados, entre los cuales podramos mencionar: determinar cundo un nmero es positivo o
cundo negativo. Indicar si una palabra comienza con una letra especfica. Determinar si un
valor dado pertenece a un intervalo. Indicar si un punto en el plano cartesiano pertenece a una lnea
recta o no. Conocer si un cuerpo geomtrico es esbelto. Indicar si tres puntos sobre el plano
cartesiano forma un tringulo, etc. Y as se pueden nombrar un sinfn de situaciones.

Cundo utilizar la estructura selectiva?

Hay dos situaciones que determinan el uso o no de una estructura de control selectivo en un
programa de computadora:
Explcito en el enunciado del problema
Producto del anlisis del problema

En el primer caso, luego de leer el texto del enunciado del problema, se puede determinar el
uso de una selectiva. Ejemplos:

Sumar los valores, si el primero es mayor que el segundo Multiplicar todos los positivos, etc.
En cambio, en la segunda situacin, hay que analizar lo que se pide calcular y luego decidir si
necesita o no la selectiva. Por ejemplo, si piden calcular el valor de X en la siguiente expresin
algebraica:

En general, se puede hablar de tres grandes tipos de estructuras de control selectivo, esas son:

Selectiva simple
Selectiva doble
Selectiva mltiple
La estructura simple es aquella en la cual se le indica a la computadora qu instrucciones debe
realizar, en caso de que la situacin (condicin lgica) que se revisa sea verdadera. En este tipo de
estructura, si la situacin que se estudia resulta no verdadera, falsa, la estructura no hace nada.

La estructura doble, adems de indicar qu instrucciones debe realizar la computadora cuando se


cumple la condicin establecida, indica qu instrucciones realizar si la condicin analizada es falsa.

La mltiple no solo contempla dos posibilidades, sino que contempla ms de dos. Esta estructura
selectiva, sintcticamente es un poco diferentes que la simple y doble.

Sintaxis

Cmo escribir, en JavaScript, una estructura de control selectivo? La sintaxis estar en funcin del
tipo de selectiva a utilizar, por lo que se mostrar la sintaxis para selectiva simple, doble.

Sintaxis Selectiva Simple

En JavaScript, hay una palabra que indica el inicio de una estructura selectiva simple, y es : if
(minsculas recuerden que JavaScript es sensible a las maysculas y minisculas). La palabra if,
viene de traducir si en ingls. En ese caso, la sintaxis de la selectiva simple es como se muestra en
la figura.

Sintaxis de selectiva simple


Sintaxis Selectiva Doble

Algunas veces, se hace necesario, que para una situacin analizada, en funcin de la respuesta, el
programa haga una u otra cosa. Es decir, que el programa sepa qu instrucciones realizar
cuando una condicin lgica resulte verdadera y que sepa qu instrucciones realizar si, por el
contrario, resulta falsa. Para programar este tipo de situaciones se utiliza una estructura selectiva
doble. Al igual que la selectiva simple, la palabra que indica el inicio de una estructura selectiva
doble es : if, y la sintaxis de la selectiva doble se muestra en la figura

Sintaxis de selectiva doble

Ejemplo 1

Se tienen tres cuerpos geomtricos de madera slida, de los cuales se conoce el radio de una esfera,
la arista de un cubo y el radio y altura de un cono, todas ledas en metros.
Disear un programa en JavaScript que realice lo siguiente:
1. Superficie promedio (en m2), si la altura del cubo es mayor o igual a la de la esfera.
2. Indicar si el volumen del cono est en el intervalo [2.56 , 45.98).
3. Calcular la raz cuadrada del volumen del cuerpo geomtrico con mayor volumen.

La codificacin completa JavaScript, de toda la aplicacin es la siguiente:


// Tres Cuerpos Geomtricos

// Delcaracin de varialbes
var A, R, h, r;
var D, pi, scub, sesf, g, scon, ssup, sprom;
var vcub, vesf, vcon, vmayor, raiz;

// Lectura de los datos


A = parseFloat ( prompt ("Arista del cubo (metros) " , ""));
R = parseFloat ( prompt ("Radio de la esfera (metros) " , ""));
h = parseFloat ( prompt ("Altura del cono (metros) " , ""));
r = parseFloat ( prompt ("Rario del cono (metros) " , ""));

// 1) Sup prom, si A es mayor a dimetro esfera


D = 2 * R;

if (A >= D) {
// Calculo de superfices totales de los cuerpos
scub = 6 * A*A;
sesf = 4 * Math.PI * R * R;
g = Math.sqrt (h * h + r * r);
scon = Math.PI * r * r + Math.PI * r * g;
ssup = scub + sesf + scon;
sprom = ssup/3;
alert ("1) Superficie promedio de los cuerpos (m2) = " + sprom);
}

// Volumenes de los cuerpos


vcub = Math.pow (A,3);
vesf = 4/3 * Math.PI * Math.pow (R,3);
vcon = Math.PI * Math.pow(r,2) * h /3;
// 2) Indicar si volumen del cono esta en [2.56 , 45.98)
if (vcon >= 2.56 && vcon < 45.98) {alert ("2) El volumen del cono pertenece al
intervalo [2.56 , 45.98) "); }

// 3) Raz cuadrada del mayor volumen


if (vcub >= vesf && vcub >= vcon) {vmayor = vcub;}
if (vesf >= vcub && vesf >= vcon) {vmayor = vesf;}
if (vcon >= vcub && vcon >= vesf) {vmayor = vcon;}

raiz = Math.sqrt (vmayor);


alert ("3) La raz del volumen del cuerpo con mayor volumen es : " + raiz);

Ejemplo 2

Disear el programa anterior, utilizando selectivas dobles para mejorar la salida de las respuestas.

Solucin
Se va a adicionar la rama falsa a los dos primeros clculos, con el objetivo de que den una respuesta
al usuario, en caso de que la condicin lgica en ambos sea falsa, y de esa manera, el usuario tenga
una respuesta. Se muestra slo la codificacin de las dos primeras preguntas. Para la primera
pregunta, la codificacin quedara as:

// 1) Sup prom, si A es mayor a dimetro esfera


D = 2 * R;

if (A >= D) {
// Calculo de superfices totales de los cuerpos
scub = 6 * A*A;
sesf = 4 * Math.PI * R * R;
g = Math.sqrt (h * h + r * r);
scon = Math.PI * r * r + Math.PI * r * g;
ssup = scub + sesf + scon;
sprom = ssup/3;
alert ("1) Superficie promedio de los cuerpos (m2) = " + sprom);
} else {
alert ("1) El cubo no es mayor o igual que la esfera");
}
Para la segunda pregunta, la codificacin queda as:

// 2) Indicar si volumen del cono esta en [2.56 , 45.98)


if (vcon >= 2.56 && vcon < 45.98) {alert ("2) El volumen del cono pertenece al
intervalo [2.56 , 45.98) "); } else {
alert ("2) El volumen del cono no est en [2.56 , 45.98)");
}

Ejercicios propuestos.

De un alumno de introduccin a la programacin se conocen las notas de toda la asignatura,


de las cuales se realizaron 4 exmenes parciales y 3 evaluaciones cortas, con un porcentaje
de 60 % y 10 % respectivamente, se le pide que disee una aplicacin en JavaScript que
calcule lo siguiente:

1) Nota Previa del estudiante.


2) Indicar si aprob el segundo parcial.
3) Si la Nota del tercer parcial es 3 o 4 puntos, calcule el promedio de los parciales,
en caso contrario muestre el promedio de las evaluaciones cortas.

Se leen tres valores enteros, disear una aplicacin en JavaScript que realice los siguientes
resultados:

1) Sumar los nmeros que sean positivos.


2) Contar todos los que sean negativos.
3) Si el primer valor ledo es mayor a cero, multiplicar los nmeros que se
encuentran en (10, 50), en caso contrario que muestre el valor del primer nmero.
4) Dividir el mayor entre el menor.
5) Calcular el promedio de los que sean mayores a 20.

Vous aimerez peut-être aussi