programacion orientada a objetos
martes, 26 de noviembre de 2013
martes, 5 de noviembre de 2013
lunes, 28 de octubre de 2013
Estructuras de Control
Secuenciales
Condicionales
Repetitivas
Secuenciales
Las secuenciales son aquellas que se ejecutan en el mismo orden que se han escrito.
Leer(A); - Primera en ejecutarse.
Leer(C); - Segunda en ejecutarse.
Escribir(A); - Tercera en ejecutarse.
Escribir(A+C); - Cuarta en ejecutarse.
Leer(B); - Quinta en ejecutarse.
Leer(C); - Segunda en ejecutarse.
Escribir(A); - Tercera en ejecutarse.
Escribir(A+C); - Cuarta en ejecutarse.
Leer(B); - Quinta en ejecutarse.
Condicional
Las estructuras condicionales las clasificaremos en dos tipos:
- Condicionales Simples
- Condicionales Dobles
Condicionales Simple
Son aquellas que si se cumple una condición ejecutara un o varias acciones, en caso contrario de que no se cumpla la condición, no las ara. La sintaxis que seguiremos es la siguiente:
SI Condición Entonces
Acción1;
Acción2;
Acción3;
Fsi;
Acción1;
Acción2;
Acción3;
Fsi;
Donde Condición puede ser una variable bool o una expresión que devuelva como resultado del tipo bool. En resumen, la condición tiene que ser o bien falsa o bien cierta.
Por ejemplo, si queremos pedir la edad del usuario y si es mayor de edad mostrar un mensaje, lo haremos de la siguiente forma:
Leer(Edad);
Si Edad => 18 entonces
Escribir(‘Eres mayor de edad’);
FSi
Si Edad => 18 entonces
Escribir(‘Eres mayor de edad’);
FSi
Condicionales Dobles
Las condicionales dobles, si la condición se cumple ejecuta unas acciones y sino ejecutara otras. Su sintaxis es la siguiente:
SI Condición Entonces
Acción1;
Acción2;
Acción3;
SINO
Acción4;
Acción5;
Fsi;
Acción1;
Acción2;
Acción3;
SINO
Acción4;
Acción5;
Fsi;
En el ejemplo que hemos visto anteriormente si se complica que la edad era mas grande de 18 mostrábamos un mensaje pero sino la cumplía no se mostraba nada, si queremos que se muestre un mensaje diciendo si es mayor de edad o no, lo podríamos hacer la siguiente forma.
Leer(edad);
SI Edad < 18 entonces
Escribir(‘Eres menor de edad’);
SINO
Escribir(‘Eres mayor de edad’);
Fsi;
SI Edad < 18 entonces
Escribir(‘Eres menor de edad’);
SINO
Escribir(‘Eres mayor de edad’);
Fsi;
También lo podíamos hacer de esta otra manera:
Leer(edad);
Si Edad >= 18 entonces
Escribir(‘Eres mayor de edad’);
SINO
Escribir(‘Eres menor de edad’);
Fsi;
Leer(edad);
Si Edad >= 18 entonces
Escribir(‘Eres mayor de edad’);
SINO
Escribir(‘Eres menor de edad’);
Fsi;
Iterativa o repetitiva
De estructuras iterativas tenemos dos tipos:
- Para
- Mientras
Sintaxis:
Para
Cuando aun estudiaba recuerdo que a un alumno lo castigaron con repetir 1000 una frase que ahora mismo no recuerdo. Hasta lo aprendido si quisiéramos hacer un programa que escribiera 1000 veces no hablare en clase, tendremos que escribir un algoritmo con la acción Escribir(No hablare en clase) mil veces!!!!! Un algoritmo no muy eficaz. Entonces es cuando pedimos ayuda a la estructura de control PARA, la cual repetirá una o varias acciones tantas veces como le indiquemos. Vamos a ver su sintaxis:
PARA nombreVariable:=valorInicio HASTA ValorFinal Hacer
Acción1;
Acción2;
FPara;
Acción1;
Acción2;
FPara;
Lo que ara el PARA es repetir X veces lo que se encuentra ente PARA y FPara, y para indicarle cuantas veces tiene que repetir las acciones pondremos un valor inicial a una variable y esta variable cada vez que acabe de hacer una iteración (todas las acciones), se incrementara en uno. Vamos a hacer un programa que escriba 1000 veces no hablare en clase.
PARA i := 1 HASTA 1000 HACER
Escribir(‘No hablare en clase’);
FPara;
Escribir(‘No hablare en clase’);
FPara;
Con 3 finías nos hemos ahorrado 997!!
Si nos fijamos en el ejemplo hay una asignación i := 1 cuando se inicia el PARA primero de todo pone el valor 1 dentro de la variable i y luego la va incrementando en uno hasta llegar a mil. También podíamos haber puesto i := 100 pero luego nos faltarían 899 para llegar a mil, o asignarle una variable i := p o una suma i := 4+10, etc…
Pero que pasa si nuestro profesor dice, para que no puedas hacer trampas quiero que al final de cada frase pongas el numero de vez escrita la frase. Pues simplemente tendríamos que hacer lo siguiente:
PARA i := 1 HASTA 1000 HACER
Escribir(‘No hablare en clase Num. Linia: ’ , i);
FPara;
Escribir(‘No hablare en clase Num. Linia: ’ , i);
FPara;
Como en la variable i se guarda la iteración que se esta ejecutando, simplemente la tendremos que poner como en el ejemplo.
Mientras
El MIENTRAS repetirá una secuencia de acciones mientras se cumpla una condición. Su sintaxis es la siguiente:
Mientras Condición Hacer
Acción1;
Acción2;
FMientras;
Acción2;
FMientras;
Mientras la Condición sea cierta ira repitiendo las acciones, si la condición no se llega a cumplir nunca, nuestro programa se quedara colgado ya que nunca acabara. Vamos a ver un ejemplo en el cual escribimos los valores pares del 1 al 1000.
i := 1
MIENTRAS i <= 1000 HACER
SI (i mod 2)=0 ENTONCES Escriure(i);
i:= i + 1;
FMientras
i := 1
MIENTRAS i <= 1000 HACER
SI (i mod 2)=0 ENTONCES Escriure(i);
i:= i + 1;
FMientras
Mientras i sea mas pequeño que 1000 se ejecutara lo que hay dentro del mientras, en cada iteración miramos si el valor de ‘i’ es par con la comprobación (i mod 2)=2, si es cierto significa que es un valor par entonces lo escribimos, y luego aumentamos en uno el valor de la variable i
domingo, 27 de octubre de 2013
Suscribirse a:
Comentarios (Atom)
