Buscar este blog

martes, 27 de marzo de 2012

INSTRUCCIONES

Primero, un ejercicio para recordar clases anteriores:

- Realizar una función que compruebe si el valor de una variable está comprendido entre el -5 y el 100.


Resultado: (a>-5) AND (a<100)


INSTRUCCIONES

Las instrucciones rompen la secuencialidad de un programa.
Son la máxima de la programación estructurada.

Existen varios tipos de instrucciones:

  1. INSTRUCCIONES ALTERNATIVAS:
    - Simples.
    - Dobles (o compuestas).
    - Múltiples.
  2. REPETITIVAS:
    - Mientras.
    - Hasta.
    - Para.

ALTERNATIVA SIMPLE:

Síntaxis:

SI (<expresión>)
INICIO
.
.
.
FIN


Si la exprexión devuelve Verdadero, entonces se ejecuta el cuerpo de la instrucción. Si la expresión devuelve Falso, entonces no se ejecuta y salta directamente al FIN.


Ejemplo:


a <-- 101
SI (a>0)
INICIO
    escribe ("Es positivo")
FIN


En este caso, como 101 es mayor que 0, la expresión se cumple y se ejecutaría el cuerpo. Con lo cual, imprimiría en pantalla "Es positivo".



ALTERNATIVA DOBLE O COMPUESTA:

Síntaxis:

SI (<expresión>)
INICIO
.
.
.
FIN

SINO

INICIO
.
.
.
FIN

Primero evalúa la primera expresión. Si esta es Verdadera, ejecuta el cuerpo de esa primera instrucción. Si devuelve falso, ejecutaría el cuerpo de la segunda instrucción.

Ejemplo:

a <-- 999
SI (a > 0)
INICIO
   escribir ("Es positivo")
FIN

SINO

INICIO
   escribir ("Es negativo")
FIN

En este caso, 999 es mayor que 0, por lo cual, se ejecutaría la primera instrucción e imprimiría en pantalla "Es positivo". Si a <-- -5, la primera instrucción devolvería Falso, y ejecutaría la siguiente, imprimiendo en pantalla "Es negativo".


ALTERNATIVA MÚLTIPLE:

Síntaxis:

CASO (variable)
INICIO
   
   VALOR: 1
   INICIO
   .
   .
   .
   FIN 
   VALOR: 2
   INICIO
   .
   .
   .
   FIN
   SINO
   INICIO
   .
   .
   .
   FIN

FIN   

En este caso tenemos varios cuerpos (3).

Primero evalúa el primer Valor: 1, si devuelve Verdadero, ejecuta la instrucción. 

Si devuelve Falso, salta a evaluar el Valor: 2. Si este devuelve Verdadero, ejecuta su instrucción. 

Si devuelve Falso, salta al último cuerpo y ejecuta su instrucción.

Ejemplo:

opcion <-- "a"
CASO (opcion)

INICIO
  
 VALOR: "a"
 INICIO
 escribir ("Has elegido la primera opción")
 FIN


 VALOR: "b"
 INICIO
 escribir ("Has elegido la segunda opción")
 FIN


 SINO


 INICIO
 escribir ("Opción incorrecta")
 FIN


FIN


Nota: El último SINO, no es obligatorio. Si ninguna condición se cumple, simplemente no se ejecuta nada.




EJERCICIOS PRÁCTICOS:

1. Leer dos datos de teclado (2 números) y que el programa nos diga cual es el mayor.


Resultado:

leer (a)
leer (b)


SI (a>b)
INICIO
  escribir ("El número mayor es ", a)
FIN
SINO
INICIO
  escribir ("El número mayor es ", b)
FIN

2. Leer un número de teclado. Comprobar si el número introducido es par.


Resultado:

leer (a)

SI (a mod2 = 0)
INICIO
  escribir ("el número es par")
FIN
SINO
INICIO
  escribir ("el número es impar")
FIN


NOTA: CONCATENACIÓN DE LITERALES Y VARIABLES.

Si en una frase queremos escribir cadenas de texto (literales) y variables juntas, debemos introducir las cadenas de texto entre comillas "", y concatenar la variable con una coma (,).

Ejemplo:

nombre <-- pepe

"Hola ", nombre



REPETITIVA MIENTRAS

Síntaxis:

MIENTRAS (condicion)
INICIO
.
.
.
FIN

Quiere decir, que mientras la condición devuelva Verdadero, se va a ejecutar la instrucción una y otra vez, hasta que la condición devuelva Falso.

Si la primera evaluación devuelve Falso, entonces no se llega a ejecutar la instrucción ninguna vez.

Ejemplo:

a <-- 10
MIENTRAS (a>=0)
INICIO
escribir (a)
a <-- a-1
FIN.

En este ejemplo la variable "a" vale 10.
La condición dice que mientras "a" sea igual o mayor que 0, se ejecute "Escribir (a)",

Después al valor de "a" en ese momento se le resta 1, y se vuelve a evaluar.

Ahora "a" valdrá 9. Como la condición se sigue cumpliendo, se escribirá en pantalla el número 9 y se le volverá a restar 1.

Así hasta que "a" valga -1. En ese caso la condición devuelve Falso, y termina el bucle.

Este ejemplo imprime en pantalla: 109876543210


REPETITIVA HASTA:

Síntaxis:

REPETIR
INICIO
.
.
.
FIN
HASTA (condicion)

En este tipo de instrucción repetitiva, primero se ejecuta el cuerpo y luego se evalúa la condición. Si ésta es Verdadera, se vuelve a ejecutar el cuerpo. así hasta que la condición sea Falsa.

La mayor diferencia con la instrucción REPETITIVA MIENTRAS, es que en este caso, el cuerpo se ejecuta al menos una vez.

Ejemplo:

 a <-- 10
REPETIR
INICIO
  escribir (a)
a <-- a-1
FIN
HASTA (a => 0) 


REPETITIVA PARA

Síntaxis:

PARA variable = valor1 HASTA valor2
INICIO
.
.
.
FIN

En este tipo, se repite el cuerpo del bucle tantas veces como el rango de valores hayamos especificado en la variable.

Ejemplo:

i <-- 10
PARA i = 10 HASTA 0
INICIO
  escribir (i)
FIN

Se repite hasta que el valor 1 alcanza el valor2, incrementando o decrementando según sea necesario.

Por ejemplo, si valor1 es 10 y valor2 es 20, irá incrementado valor hasta que llegue a 20 (inclusives).

Si valor1 es 20 y valor2 es 10, irá decrementando valor hasta que llegue a 10 (inclusives). 


EJERCICIO FINAL

Dado un número por teclado, escribir la tabla de multiplicar de ese número:


Resultado:

leer (a)

PARA b = 0 HASTA 10

INICIO

  escribir (a, "x", b, "= ", a*b)

FIN


by Dani (Foxmulder).



 





 


No hay comentarios:

Publicar un comentario