2. SALTO CONDICIONAL
1. CONTENIDO
Definición
En programación, un salto
condicional es una instrucción
o grupo de instrucciones que
se pueden ejecutar o no en
función del valor de una
condición.
Los tipos más conocidos de
sentencias condicionales son
el SI..ENTONCES (if..then), el
SI..ENTONCES…SI NO
(if..then..else) y el SEGÚN
(case o switch), aunque también podríamos mencionar al manejo
de excepciones como una alternativa más moderna para evitar el
"anidamiento" de sentencias condicionales.
Las sentencias condicionales constituyen, junto con los bucles,
los pilares de la programación estructurada, y su uso es
evolución de una sentencia en lenguaje ensamblador
ejecutaba la siguiente línea o no en función del valor de
condición.
una
que
una
Instrucciones de salto
Si-Entonces o Si-Entonces-Sino: La instrucción Si...
Entonces permite controlar qué procesos tienen lugar en
función del valor de una o varias variables o de las
decisiones del usuario. Escribiremos esta instrucción de la
siguiente manera:
Si [Condición] Entonces
Instrucción 1
Instrucción 2
·
·
Instrucción n
SiNo
Instrucción A
Instrucción B
·
·
Instrucción Z
FinSi
3. Según: En este caso hay un Indicador es una variable o
una función cuyo valor es comparado en cada caso con los
valores "Valor (i)", si en algún caso coinciden ambos
valores, entonces se ejecutarán las Instrucciones
correspondientes.
Assembler:
Instrucción Descripción
jmp etiqueta Salto incondicional directo
je etiqueta Salto por igual
jne etiqueta Salto por no igual
jg etiqueta Salto por mayor
jng etiqueta Salto por no mayor
jge etiqueta Salto por mayor igual
jnge etiqueta Salto por no mayor igual
jl etiqueta Salto por menor
jnl etiqueta Salto por no menor
Según variable hacer
Caso valor1;
Instrucciones1;
Caso valor2;
Instrucciones2;
Caso valor3;
Instrucciones3;
…
De Otro Modo
Instrucciones n;
Fin Según
4. Ejemplos
SI Entonces: Crear un programa que pida un número entero
distinto de cero y nos muestre en pantalla un mensaje
indicándonos si el número es par o impar.
Según: Crear un programa que pida al usuario un número de día
y un número de mes, evalúe si la entrada es correcta y en caso
de que así sea calcule el día del año que es, considerando un año
no bisiesto.
1. Inicio
2. Mostrar “Introduzca el número del día y número del mes”
3. Pedir NDia, Nmes
4. Si Ndia>= 1 y Ndia <= 31 y Nmes >= 1 y Nmes <=
Entonces
Según Nmes Hacer
Caso, = 1
DDA = NDia [DDA es día del año]
Caso, = 2
DDA = NDia + 31
Caso, = 3
DDA = NDia + 59
Caso, = 4
DDA = NDia + 90
Caso, = 5
DDA = NDia + 120
Caso, = 6
DDA = NDia + 151
Caso, = 7
DDA = NDia + 181
Caso, = 8
DDA = NDia + 212
Caso, = 9
DDA = NDia + 243
Caso, = 10
DDA = NDia + 273
1.Inicio
2. Mostrar “Introduzca un número” : Pedir Num
3. Res = Num mod 2
4. Si Res = 0 Entonces
Mostrar “El número es par”
SiNo
Mostrar “El número es impar”
FinSi
5. Fin
jle etiqueta Salto por menor igual
jnle etiqueta Salto por no menor igual
js etiqueta Salto negativo
5. Assembler: Programa que dados tres valores enteros declarados
en la sección de datos, determina el mayor y lo guarda en una
variable denominada mayor.
# Programa que revisa tres numeros y escoge el mayor
.section .data
a: .long 4
b: .long 2
c: .long 3
mayor: .long 0
.section .text
.globl _start
_start:
movl a, %eax
movl b, %ebx
movl c, %ecx
cmpl %ebx, %eax
jg amayorb
cmpl %ecx, %ebx
jl bmenorc
movl %ebx, mayor
jmp fin
bmenorc:
movl %ecx, mayor
jmp fin
amayorb:
cmpl %ecx, %eax
jl amenorc
movl %eax,mayor
jmp fin
amenorc:
movl %ecx, mayor
fin: movl $1, %eax
movl $0, %ebx
int $0x80
Caso, = 11
DDA = NDia + 304
Caso, = 12
DDA = NDia + 334
FinSegún
Mostrar “El”, NDia, “del”, Nmes, “es el día”, DDA, “del
año”
SiNo
Mostrar “Datos proporcionados no válidos”
FinSi
5. Fin
6. 2. RESUMEN
Los saltos condicionales son instrucciones que se ejecutan solo si
cumplen la condición y si no cumplen la condición no se ejecutan, nos
muestran varios tipos de condicionales, tenemos el if-else-sino que
antes de ejecutar la función verifica que se cumpla la condición y sino
pasa al else y la condición termina, también tenemos el Según, este
presenta una serie de casos y en cada caso una instrucción que se
ejecuta solo caso indicado cumple la condición, además tememos las
instrucciones condicionales en el lenguaje asemmbler, cada una indica
una condición y se ejecuta la que se cumple.
SUMMARY
Conditional jumps are statements that are executed only if they fulfill the
condition and if they do not fulfill the condition they are not executed,
they show us several types of conditionals, we have the if-else-but before
executing the function verifies that the condition is fulfilled and But it
happens to the else and the condition ends, we also have the According,
this presents a series of cases and in each case an instruction that is
executed only if indicated fulfills the condition, in addition we fear the
conditional instructions in the language asemmbler, each one indicates a
Condition and is executed the one that is fulfilled.
RECOMENDACIONES
Para expresar condiciones disponemos de símbolos matemáticos
como =, >, <, etc. así como de los operadores y (and) y ó (or).
CONCLUSIONES
Los saltos condicionales permiten pasar de una etapa a otra sin ser
éstas consecutivas, sin activar las etapas intermedias.
APRECIACIÓN DEL EQUIPO
Los saltos condicionales nos permiten condicionar ciertas funciones ya
que solo queremos que ejecute para unas y para otras no.
GLOSARIO DE TÉRMINOS
Bucles: Es una sentencia que se realiza repetidas veces a un fragmento
aislado de código, hasta que la condición asignada a dicho bucle deje de
cumplirse.
Asemmbler: Es un programa que toma las instrucciones básicas de
computación y las convierte en un patrón de bits (ceros y unos) que el
procesador de la computadora puede utilizar para realizar sus
operaciones básicas.
LINKOGRAFÍA
http://www.sc.ehu.es/sbweb/webcentro/automatica/WebCS1/salto_condi
cional.htm
https://es.wikipedia.org/wiki/Sentencia_condicional
http://aprenderaprogramar.es/index.php?option=com_content&view=artic
le&id=322:instrucciones-condicionales-si-entonces-sino-if-then-else-
3.
4.
5.
6.
7.
8.