0% encontró este documento útil (0 votos)
448 vistas14 páginas

Estructura Selectiva: Definición y Tipos

El documento describe diferentes tipos de estructuras selectivas o condicionales en programación, incluyendo: (1) Estructuras selectivas simples que evalúan una sola condición; (2) Estructuras selectivas dobles que evalúan una condición y otra alternativa si la primera es falsa; (3) Estructuras selectivas múltiples que permiten evaluar múltiples condiciones encadenadas. También se proveen ejemplos de cómo implementar cada tipo de estructura selectiva en pseudocódigo.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
448 vistas14 páginas

Estructura Selectiva: Definición y Tipos

El documento describe diferentes tipos de estructuras selectivas o condicionales en programación, incluyendo: (1) Estructuras selectivas simples que evalúan una sola condición; (2) Estructuras selectivas dobles que evalúan una condición y otra alternativa si la primera es falsa; (3) Estructuras selectivas múltiples que permiten evaluar múltiples condiciones encadenadas. También se proveen ejemplos de cómo implementar cada tipo de estructura selectiva en pseudocódigo.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

ESTRUCTURA SELECTIVA

DEFINICION.- Estas estructuras se identifican porque en la fase de solucin del problema existe
algn punto en el cual es necesario establecer una pregunta, para decidir si ciertas acciones deben
realizarse o no.

Las condiciones se especifican usando expresiones lgicas. La representacin de una estructura


selectiva se hace con palabras en pseudocdigo (if then else o en espaol si entonces - sino) y
en flujograma con una figura geomtrica en forma de rombo.
Las estructuras selectivas o alternativas se clasifican en:

1.- Simples:
Se identifican porque estn compuestos nicamente de una condicin.
La estructura si entonces evala la condicin y en tal caso: Si la condicin es verdadera,
entonces ejecuta la accin Si (o acciones si son varias). Si la condicin es falsa, entonces no se hace
nada.

3.- Compuestas:

En la solucin de problemas encontramos numerosos casos en los que luego de tomar una
decisin y marcar el camino correspondiente a seguir, es necesario tomar otra decisin. Dicho
proceso puede repetirse numerosas veces. En aquellos problemas en donde un bloque
condicional incluye otro bloque condicional se dice que un bloque est anidado dentro del otro.

ESTRUCTURA SELECTIVA SIMPLE SI ENTONCES

La especificacin formal de algoritmos tiene realmente utilidad cuando el algoritmo requiere una
descripcin ms complicada que una lista sencilla de instrucciones. Este es el caso cuando existen
un nmero de posibles alternativas resultantes de la evaluacin de una determinada condicin.

Estas estructuras se identifican porque en la fase de solucin del problema existe algn punto en
el cual es necesario establecer una pregunta, para decidir si ciertas acciones d eben realizarse o
no.

Las condiciones se especifican usando expresiones lgicas. La representacin de una estructura


selectiva se hace con palabras en pseudocdigo (if - then - else o en espaol si - entonces - sino) y
en flujograma con una figura geomtrica en forma de rombo.

ESTRUCTURAS SELECTIVAS SIMPLES.

Se identifican porque estn compuestos nicamente de una condicin. La estructura si - entonces


evala la condicin y en tal caso:
Si la condicin es verdadera, entonces ejecuta la accin Si (o acciones si son varias).

Si la condicin es falsa, entonces no se hace nada.

Espaol Ingls

Si <condicin> If <condicin>

Entonces then

<accin Si> <accin Si>

fin_si endif

SIMPLES

Las estructuras selectivas simples o condicionales estn compuesta nicamente de una sola
condicin si es verdadera ejecutara la accin o acciones si la condicin es falsa no har nada.

if (condicin) entre parntesis esta la condicin que se debe evaluar

accin (si la condicin entre parntesis es verdadera se ejecutara la accin o acciones, porque,
puede estar conformado por varias acciones)

end

Antes de mostrar el ejemplo vamos a explicar algunos comandos que vamos a utilizar:

# => este comando nos permite poner un comentario, puede ser a principio de linea o en cualquier
posicin de ella.

puts => este comando nos permite imprimir cualquier texto en pantalla, puede ser el resultado de
una operacin o un texto escrito entre comillas.

Ejemplo:

edad = 19 # asignamos un valor a la variable edad

if (edad > 17)

puts Es mayor de edad

end

Si ejecutamos el programa que hemos desarrollado el resultado sera: Es mayor de edad, porque,
la condicin que esta entre parntesis es verdadera, porque, edad que tiene asignado 19 es mayor
a 17, en cambio, si el valor asignado a la variable edad fuera menor a 18, no mostrara ningn
resultado.
DOBLES

Las estructuras selectivas dobles estn compuestas nicamente de una sola condicin, si es
verdadera ejecutara la accin o acciones y si la condicin es falsa ejecutara las acciones para la
condicin falsa. Esta estructura selectiva solo se debe utilizar nicamente cuando existen dos
condiciones, si hubiera ms de dos condiciones se puede utilizar varias selectivas simples o una
selectiva mltiple.

if (condicin)

accin (si la condicin entre parntesis es verdadera se ejecutara la accin o acciones, porque,
puede estar conformado por varias lineas)

else

accin (si la condicin entre parntesis es falsa se ejecutara la accin o acciones, porque, puede
estar conformado por varias lineas)

end

Ejemplo:

Siguiendo con el ejemplo anterior asignaremos el mismo valor a la variable edad

edad = 19 # asignamos un valor a la variable edad

if (edad > 17)

puts Es mayor de edad

else

puts Es menor de edad

end

Si ejecutamos el programa que hemos desarrollado el resultado seria: Es mayor de edad, porque,
la condicin que esta entre parntesis es verdadera, porque, edad que tiene asignado 19 es mayor
a 17, en cambio, si el valor asignado a la variable edad fuera menor a 18, el resultado seria Es
menor de edad, porque, la condicin es falsa.

MLTIPLES

Las estructuras selectivas mltiples o anidadas estn compuesta mltiples selectivas simples que
estn unidas por el comando elsif el resultado que se obtiene con una selectiva multiple se puede
obtener con varias selectivas simples, entonces, cual es la diferencia? el codigo es mas pequeo,
aunque, yo siempre he recomendado a mis alumnos que cuando recien se esta aprendiendo a
programar es recomendable que al principio se trabaje con selectivas simples, a medida que se va
aprendiendo y ganando destreza se puede comenzar a utilizar las selectivas multiples en los casos
que ellos crean conveniente y necesarios.

if (condicin)

accin (si la condicin entre parntesis es verdadera se ejecutara la accin o acciones, porque,
puede estar conformado por varias lineas)

elsif (condicin)

accin (si la condicin entre parntesis es verdadera se ejecutara la accin o acciones, porque,
puede estar conformado por varias lineas)

elsif (condicin)

accin (si la condicin entre parntesis es verdadera se ejecutara la accin o acciones, porque,
puede estar conformado por varias lineas)

end

Ejemplo:

Siguiendo con el ejemplo anterior asignaremos el mismo valor a la variable edad

edad = 19 # asignamos un valor a la variable edad

if (edad > 17)

puts Es mayor de edad

elsif (edad < 18)

puts Es menor de edad

end

Si ejecutamos el programa que hemos desarrollado el resultado seria: Es mayor de edad, porque,
la condicin que esta entre parntesis de la primera condicin es verdadera, porque, en las
selectivas mltiples cada condicin debe ser nica, porque, cuando ingresa en una de ellas ah
termina el programa, si el valor asignado a la variable edad fuera menor a 18, el resultado seria Es
menor de edad, porque, hubiera ingresado en la segunda condicin y no en la primera.

Seguiremos compartiendo mas informacin con ejemplos de estructuras selectivas mas complejas
para que el proceso de aprendizaje de programacin en Ruby o cualquier otro lenguaje sea mucho
mas fcil y amigable para ustedes. Apoyanos con un like en nuestro fan page y suscribiendote a
nuestro blog, porque, el saber que otros valoran el trabajo y el esfuerzo que uno realiza es la
mayor recompensa que se puede recibir, porque, el conocimiento es un bien que crece a medida
que se comparte.
LA ESTRUCTURA SELECTIVA SI ENTONCES/SINO

La estructura selectiva si entonces/sino permite que el flujo del diagrama se bifurque por dos
ramas diferentes en el punto de la toma de decisin(es). Si al evaluar la condicin (o condiciones)
el resultado es verdadero, entonces se sigue por un camino especfico y se ejecuta(n) cierta(s)
operacin(es). SI el resultado es falso entonces se sigue por otro camino y se ejecuta(n) otra(s)
operacin(es).

Construya un diagrama de flujo tal que dado como dato la calificacin de un alumno en un
examen, escriba Aprobado si su calificacin es mayor o igual que 8 y reprobado en caso
contrario.

Datos de entrada:

Calificacin del alumno.

(Definicin de variable)

CAL. Variable de tipo real que expresa la calificacin del alumno.

Resultado esperado o datos de salida:

La palabra Aprobado o Reprobado segn sea el resultado de la evaluacin a la calificacin.

Construya un diagrama de flujo que acepte el precio de 4 artculos, y realice la suma, si la suma es
mayor a 1500 imprimir El precio est fuera de presupuesto en caso contrario El precio est
dentro del presupuesto.

Datos de entrada:

El precio de cuatro artculos.

(Definicin de variable)

A1. Variable de tipo real que expresa el precio del artculo 1.

A2. Variable de tipo real que expresa el precio del artculo 2.

A3. Variable de tipo real que expresa el precio del artculo 3.

A4. Variable de tipo real que expresa el precio del artculo 4.

Resultado esperado o datos de salida:

El enunciado El precio est fuera de presupuesto o El precio est dentro del presupuesto,
segn sea el resultado de la evaluacin.
ESTRUCTURAS SELECTIVAS ANIDADAS (EN CASCADA)

En numerosos casos en el desarrollo de la solucin de problemas, encontramos que luego de


tomar una decisin y marcar el camino correspondiente a seguir, es necesario tomar otra decisin.

Luego de evaluar las condiciones, se seala nuevamente la rama correspondiente a seguir y


nuevamente podemos tener que tomar otra decisin. El proceso puede repetirse numerosas
veces.

En el siguiente ejemplo tenemos una estructura selectiva SI ENTONCES que contiene dentro de
ella otra estructura selectiva SI ENTONCES / SINO.

Algoritmo 01.

Dados como dato 3 nmeros enteros, identifique cul es el mayor. Considere que

los nmeros pueden ser iguales. Desarrolle el algoritmo correspondiente.

VARIABLES Fin Si Fin Si


A,B,C son enteros Sino Sino
INICIO Si A = B Entonces Si B > C Entonces
LEER A,B,C Si A > C Entonces ESCRIBIR B es mayor
Si A > B Entonces ESCRIBIR A y B son los
Si A > C Entonces mayores Sino
ESCRIBIR A es el mayor Si B = C Entonces
Sino ESCRIBIR B y C son
Si A = C Entonces mayores
Sino ESCRIBIR A,B y C son
Si A = C Entonces iguales Sino
ESCRIBIR ESCRIBIR C es el mayor
A y C son los mayores Sino
ESCRIBIR C Fin Si
Sino Fin Si
ESCRIBIR C es el mayor es el mayor Fin Si
Fin Si
Fin Si Fin Si FIN
ESTRUCTURAS REPETITIVAS

Las estructuras repetitivas se utilizan cuando se quiere que un conjunto de instrucciones se


ejecuten un cierto nmero finito de veces, por ejemplo, escribir algo en pantalla cierta cantidad de
veces, mover un objeto de un punto a otro cierta cantidad de pasos, o hacer una operacin
matemtica cierta cantidad de veces. Se les llama bucle o ciclo a todo proceso que se repite cierto
nmero de veces dentro de un pseudocdigo o un programa y las estructuras repetitivas nos
permiten hacerlo de forma sencilla.

FOR (PARA)

Esta estructura ejecuta las acciones del cuerpo del bucle un nmero especificado de veces, y de
modo automtico controla el nmero de iteraciones o pasos.

WHILE (MIENTRAS)

Repite el cuerpo del bucle mientras se cumpla una determinada condicin.

DO- WHILE (HACER MIENTRAS)

La estructura HACER MIENTRAS cumple la misma funcin que la estructura MIENTRAS. La


diferencia est en que la estructura MIENTRAS comprueba la condicin al inicio y repetir lo hace
al final. Es por ello que la estructura HACER MIENTRAS se ejecuta por lo menos una vez.
ESTRUCTURA REPETITIVA FOR

Cualquier problema que requiera una estructura repetitiva se puede resolver empleando la
estructura while. Pero hay otra estructura repetitiva cuyo planteo es ms sencillo en ciertas
situaciones.
En general, la estructura for se usa en aquellas situaciones en las cuales CONOCEMOS la cantidad
de veces que queremos que se ejecute el bloque de instrucciones. Ejemplo: cargar 10 nmeros,
ingresar 5 notas de alumnos, etc. Conocemos de antemano la cantidad de veces que queremos
que el bloque se repita. Veremos, sin embargo, que en el lenguaje Java la estructura for puede
usarse en cualquier situacin repetitiva, porque en ltima instancia no es otra cosa que una
estructura while generalizada.

Representacin grfica:

En su forma ms tpica y bsica, esta estructura requiere una variable entera que cumple la
funcin de un CONTADOR de vueltas. En la seccin indicada como "inicializacin contador", se
suele colocar el nombre de la variable que har de contador, asignndole a dicha variable un valor
inicial. En la seccin de "condicin" se coloca la condicin que deber ser verdadera para que el
ciclo contine (en caso de un falso, el ciclo se detendr). Y finalmente, en la seccin de
"incremento contador" se coloca una instruccin que permite modificar el valor de la variable que
hace de contador (para permitir que alguna vez la condicin sea falsa)

Cuando el ciclo comienza, antes de dar la primera vuelta, la variable del for toma el valor indicado
en la seccin de de "inicializacin contador". Inmediatamente se verifica, en forma automtica, si
la condicin es verdadera. En caso de serlo se ejecuta el bloque de operaciones del ciclo, y al
finalizar el mismo se ejecuta la instruccin que se haya colocado en la tercer seccin.
Seguidamente, se vuelve a controlar el valor de la condicin, y as prosigue hasta que dicha
condicin entregue un falso.

Si conocemos la cantidad de veces que se repite el bloque es muy sencillo emplear un for, por
ejemplo si queremo que se repita 50 veces el bloque de instrucciones puede hacerse as:
La variable del for puede tener cualquier nombre. En este ejemplo se la ha definido con el nombre
f.
Analicemos el ejemplo:

- La variable f toma inicialmente el valor 1.

- Se controla automticamente el valor de la condicin: como f vale 1 y esto es menor

que 50, la condicin da verdadero.

- Como la condicin fue verdadera, se ejecutan la/s operacin/es.

- Al finalizar de ejecutarlas, se retorna a la instruccin f++, por lo que la

variable f se incrementa en uno.

- Se vuelve a controlar (automticamente) si f es menor o igual a 50.

Como ahora su valor es 2, se ejecuta nuevamente el bloque de instrucciones e

incrementa nuevamente la variable del for al terminar el mismo.

- El proceso se repetir hasta que la variable f sea incrementada al valor 51.

En este momento la condicin ser falsa, y el ciclo se detendr.

La variable f PUEDE ser modificada dentro del bloque de operaciones del for, aunque esto podra
causar problemas de lgica si el programador es inexperto.
La variable f puede ser inicializada en cualquier valor y finalizar en cualquier valor. Adems, no es
obligatorio que la instruccin de modificacin sea un incremento del tipo contador (f++).
Cualquier instruccin que modifique el valor de la variable es vlida. Si por ejemplo se escribe
f=f+2 en lugar de f++, el valor de f ser incrementado de a 2 en cada vuelta, y no de a 1. En este
caso, esto significar que el ciclo no efectuar las 50 vueltas sino slo 25.
Problema 1:

Realizar un programa que imprima en pantalla los nmeros del 1 al 100.

Diagrama de flujo:

Podemos observar y comparar con el problema realizado con el while. Con la estructura while el
CONTADOR x sirve para contar las vueltas. Con el for el CONTADOR f cumple dicha funcin.
Inicialmente f vale 1 y como no es superior a 100 se ejecuta el bloque, imprimimos el contenido de
f, al finalizar el bloque repetitivo se incrementa la variable f en 1, como 2 no es superior a 100 se
repite el bloque de instrucciones.
Cuando la variable del for llega a 101 sale de la estructura repetitiva y contina la ejecucin del
algoritmo que se indica despus del crculo.
La variable f (o como sea que se decida llamarla) debe estar definida como una variable ms.

Programa:

public class EstructuraRepetitivaFor1 {

public static void main(String[] ar) {

int f;

for(f=1;f<=100;f++) {

System.out.print(f);

System.out.print("-");
ESTRUCTURA REPETITIVA WHILE

Hasta ahora hemos empleado estructuras SECUENCIALES y CONDICIONALES. Existe otro tipo de
estructuras tan importantes como las anteriores que son las estructuras REPETITIVAS.

Una estructura repetitiva permite ejecutar una instruccin o un conjunto de instrucciones varias
veces.

Una ejecucin repetitiva de sentencias se caracteriza por:


- La o las sentencias que se repiten.
- El test o prueba de condicin antes de cada repeticin, que motivar que se repitan o no las
sentencias.

Estructura repetitiva while.

Representacin grfica de la estructura while:

No debemos confundir la representacin grfica de la estructura repetitiva while (Mientras) con la


estructura condicional if (Si)

Funcionamiento: En primer lugar se verifica la condicin, si la misma resulta verdadera se ejecutan


las operaciones que indicamos por la rama del Verdadero.
A la rama del verdadero la graficamos en la parte inferior de la condicin. Una lnea al final del
bloque de repeticin la conecta con la parte superior de la estructura repetitiva.
En caso que la condicin sea Falsa contina por la rama del Falso y sale de la estructura repetitiva
para continuar con la ejecucin del algoritmo.

El bloque se repite MIENTRAS la condicin sea Verdadera.

Importante: Si la condicin siempre retorna verdadero estamos en presencia de un ciclo repetitivo


infinito. Dicha situacin es un error de programacin, nunca finalizar el programa.

Problema 1:

Realizar un programa que imprima en pantalla los nmeros del 1 al 100.


Sin conocer las estructuras repetitivas podemos resolver el problema empleando una estructura
secuencial. Inicializamos una variable con el valor 1, luego imprimimos la variable, incrementamos
nuevamente la variable y as sucesivamente.

Diagrama de flujo:

Si continuamos con el diagrama no nos alcanzaran las prximas 5 pginas para finalizarlo. Emplear
una estructura secuencial para resolver este problema produce un diagrama de flujo y un
programa en Java muy largo.

Ahora veamos la solucin empleando una estructura repetitiva while:

Es muy importante analizar este diagrama:


La primera operacin inicializa la variable x en 1, seguidamente comienza la estructura repetitiva
while y disponemos la siguiente condicin ( x <= 100), se lee MIENTRAS la variable x sea menor o
igual a 100.
Al ejecutarse la condicin retorna VERDADERO porque el contenido de x (1) es menor o igual a
100. Al ser la condicin verdadera se ejecuta el bloque de instrucciones que contiene la estructura
while. El bloque de instrucciones contiene una salida y una operacin.
Se imprime el contenido de x, y seguidamente se incrementa la variable x en uno.

La operacin x=x + 1 se lee como "en la variable x se guarda el contenido de x ms 1". Es decir, si x
contiene 1 luego de ejecutarse esta operacin se almacenar en x un 2.

Al finalizar el bloque de instrucciones que contiene la estructura repetitiva se verifica nuevamente


la condicin de la estructura repetitiva y se repite el proceso explicado anteriormente.

Mientras la condicin retorne verdadero se ejecuta el bloque de instrucciones; al retornar falso la


verificacin de la condicin se sale de la estructura repetitiva y continua el algoritmo, en este caso
finaliza el programa.

Lo ms difcil es la definicin de la condicin de la estructura while y qu bloque de instrucciones


se van a repetir. Observar que si, por ejemplo, disponemos la condicin x >=100 ( si x es mayor o
igual a 100) no provoca ningn error sintctico pero estamos en presencia de un error lgico
porque al evaluarse por primera vez la condicin retorna falso y no se ejecuta el bloque de
instrucciones que queramos repetir 100 veces.

No existe una RECETA para definir una condicin de una estructura repetitiva, sino que se logra
con una prctica continua solucionando problemas.

Una vez planteado el diagrama debemos verificar si el mismo es una solucin vlida al problema
(en este caso se debe imprimir los nmeros del 1 al 100 en pantalla), para ello podemos hacer un
seguimiento del flujo del diagrama y los valores que toman las variables a lo largo de la ejecucin:

100

101 Cuando x vale 101 la condicin de la estructura repetitiva retorna falso,

en este caso finaliza el diagrama.


Importante: Podemos observar que el bloque repetitivo puede no ejecutarse ninguna vez si la
condicin retorna falso la primera vez.
La variable x debe estar inicializada con algn valor antes que se ejecute la operacin x=x + 1 en
caso de no estar inicializada aparece un error de compilacin.

Programa:

public class EstructuraRepetitivaWhile1 {

public static void main(String[] ar) {

int x;

x=1;

while (x<=100) {

System.out.print(x);

System.out.print(" - ");

x = x + 1;

Importante: Como podemos observar no hemos creado un objeto de la clase Scanner. Esto debido
a que en este programa no hay que ingresar datos por teclado. Para las salidas utilizamos la
funcin print, que se encuentra creada por defecto en cualquier programa que codifiquemos en
Java.

Recordemos que un problema no estar 100% solucionado si no hacemos el programa en Java que
muestre los resultados buscados.

Probemos algunas modificaciones de este programa y veamos que cambios se deberan hacer
para:

1 - Imprimir los nmeros del 1 al 500.


2 - Imprimir los nmeros del 50 al 100.
3 - Imprimir los nmeros del -50 al 0.
4 - Imprimir los nmeros del 2 al 100 pero de 2 en 2 (2,4,6,8 ....100).
Respuestas:
1 - Debemos cambiar la condicin del while con x<=500.
2 - Debemos inicializar x con el valor 50.
3 - Inicializar x con el valor -50 y fijar la condicin x<=0.
4 - Inicializar a x con el valor 2 y dentro del bloque repetitivo incrementar a x en 2
( x = x + 2 ).

También podría gustarte