Ir al contenido principal

Estructuras de Control - Parte 1



Introd
ucción

Por lo regular en un programa los enunciados son ejecutados uno después del otro, en el ordén en que aparecen escritos. Esto se conoce como ejecución secuencial. Sin embargo, existen enunciados que le permiten al programador especificar que el enunciado siguiente a ejecutar pueda ser otro diferente al que sigue en secuencia. Esto se conoce como transferencia de control. Todos los programas pueden ser escritos en términos de solo tres estructuras de control, a saber, la estructura de secuencia, la estructura de selección y la estructura de repetición o bucle.

La estructura de selección Si..entonces (if)

Dado que las expresiones lógicas toman el valor verdadero y falso, se necesita una sentencia de control para la toma de decisiones, cuando se desea ejecutar una acción si una expresión es verdadera o falsa. Para ello útilizaremos la sentencia de selección if (si), el enunciado en pseudocódigo es el siguiente:

si (exp. lógica simple o compuesta)
acciones a ejecutar
fin_si

Cuando la expresión lógica contenida por los parentesis es verdadera, se ejecutan las instrucciones dentro de la estructura de selección, cuando es falsa, el programa ignora la estructura y se sigue ejecutando la instrucción siguiente a la estructura de control.

La estructura de Selección si/sino (if/else)

La estructura de selección Si ejecuta una acción indicada solo cuando la condición es verdadera, de lo contrario la acción es pasada por alto. La estructura de selección si/sino (en algunos textos de programación puede aparecer como si/de_lo_contrario) permite que el programador especifique la ejecución de una acción distinta cuando la condición es falsa. Por ejemplo, el enunciado en seudocódigo:



Imprime "Aprobado", si la calificación del alumno es mayor o igual a 11, e imprime "No aprobado" si la calificación es menor que 11. En cualquiera de los casos, después de haber impreso alguno de los mensajes, el programa ejecutará el enunciado siguiente al si.

INVESTIGACION PERSONAL: Repasar sobre Operadores y conectores lógicos

Sentencias Selectivas Anidadas

Dentro de las sentencias que figuran dentro de una sentencia if, pueden colocarse también otras sentencias selectivas. De esta manera:

Supongamos que deseamos imprimir en pantalla la nota de un alumno, clasificandolo en "aprobado", "no aprobado", y "deficiente". El algoritmo quedaría de esta manera.


Es muy importante que se útilize un buen sangrado en cada sentencia selectiva, para que sea mas legible el código, y además que se comente el código, para que no te pierdas si llevas escritas varias lineas, y también por si alguna otra persona, desea actualizar tu código.

La Sentencia de Selección Según Sea (Case)

Esta sentencia se útiliza para elegir entre diferentes alternativas. Esta se compone de varias sentencias sentencias simples, cuando se ejecuta, una y solo una de las sentencias simples se selecciona y ejecuta.

La sintaxis es la siguiente:


El valor de selector debe ser un tipo ordinal, y los valores constantes deben tener el mismo tipo que el selector. Se pueden útilizar sentencias if anidadas, pero la sentencia según sea es mas legible. Vamos a realizar en pseudocódigo el ejemplo anterior, pero esta vez útilizando la sentencia según-sea.

segun sea (nota) hacer
100..60: escribir ("aprobado")
59..30: escribir ("reprobado")
29..0: escribir ("deficiente")

Si te das cuenta, ha sido omitida la clausula "sino" del algoritmo, esta es opcional y se puede omitir.




Comentarios

Entradas populares de este blog

II Semestre - JAVA: EJERCICIOS SOBRE JERARQUIAS DE HERENCIA

Debate: Discutir las formas en que la herencia promueve la reutilización de software, se ahorra tiempo durante el desarrollo del programa y ayuda a prevenir errores. Ejercicio: Diseñar una jerarquía de herencia para los estudiantes en una universidad. Usar la clase Student como la superclase de la jerarquía, a continuación, extender Student con las clases de UndergraduateStudent y GraduateStudent . Continúe extendiendo la jerarquía tando como sea posible(como muchos niveles). Por ejemplo, Freshman , Sophomore , Junior y Senior podría heredar de UndergraduateStudent , asi mismo  DoctoralStudent y MastersStudent podría ser subclases de GraduateStudent . Despues de diseñar la jerarquía debatir las relaciones que existen entre las clases. [Nota: No es necesario escribir ningún código para este ejercicio.] Debate Algunos programadores prefieren no utilizar el acceso protegido, porque creen que rompe la encapsulación de la superclase. Discutir los méritos relativos de acceso pr...

II SEMESTRE: JAVA - Arrays Bidimensionales

Un Array bidimensional se diferencia del unidimensional simplemente porque este está basado en tablas, lo cual indica una composición de FILAS y COLUMNAS, esto quiere decir que para acceder a un elemento en particular de un array debe indicarse la coordenada completa, es decir: x=matriz[1][1]; x almacena el valor de la coordenada (1,1) de una matriz dada. Veamos un ejemplo:

II Semestre - JAVA: Conceptos Generales sobre Programación Orientada a Objetos

Saludos: Encontré este buen material teórico acerca de Programación Orientada a Objetos (POO), utilicen este tutorial para repasar algunos conceptos o aprender unos nuevos. Espero sus preguntas acerca de lo leído. Conceptos básicos de la Programación Orientada a Objetos Recuerden que la participacion en clase y en este blog viene siendo evaluada