6.1. Objetivos del tema.
Hemos visto todos los componentes de un
programa, veamos ahora un programa.
6.2. Introducción.
Un programa esta dividido en varios
bloques.
Declaraciones.
Procedimientos y funciones de usuario.
Programa principal.
A su vez en el programa encontramos tres
fases.
Entrada de datos.
Proceso de los mismos.
Obtención de resultados.
La programación ha avanzado mucho desde
sus inicios, actualmente la programación no se entiende sin el uso de clases y
sus correspondientes objetos que derivan de las mismas.
6.3. Declaraciones.
La parte de declaraciones puede ser muy
amplia, dependerá del lenguaje de programación, de sus requerimientos.
Como mínimo se tendrá que declarar las
variables que intervengan en el programa, de tal forma que queden disponibles
para su utilización en el programa.
Después tenemos los procedimientos y las
funciones, que en función del lenguaje o de los criterios que deseemos aplicar,
podríamos decir que pertenecen a éste apartado, ya que tanto un procedimiento,
función o clase, antes de su utilización deben existir en el programa, por lo
tanto según deseemos aplicar los criterios podríamos incluirlos aquí o no.
Hay que tener presente que las sintaxis y
las estructuras de cada lenguaje de programación son muy importantes a la hora
de hablar de la estructura de un programa, ya que ésta viene marcada por el
mismo.
En fin para resumir, en la fase de
declaraciones debemos ubicar todo aquello que después deseemos utilizar.
6.4. Clases.
El estilo de programación actual está
basado en las clases.
Las clases no es nada más que una forma
distinta de ver la forma de escribir un programa, pero le añade una serie de
ventajas que ante no estaban disponibles de una forma tan cómoda como se
consigue con las clases.
Nos permiten escribir el código de forma
que queda protegido, encapsulado y no es posible su modificación.
Además por el concepto de clase, esa
forma de enfocar el programa, nos va a permitir que de un mismo enfoque de
clase, podamos obtener distintos resultados.
Como ejemplo pensemos en los planos de
una casa que sean interactivos y en los que antes de poder ver los planos de la
casa, “los planos nos pregunten”:
¿Cuántos metros cuadrados quiere que tenga
la casa?
¿Cuántas habitaciones quiere?
¿Quiere terraza?
¿Cuántos baños desea?, etc..
Y después de estas preguntan viéramos los
planos en función de esos parámetros.
En función de la respuesta la casa sería
de una forma o de otra, sin embargo la clase “Casa” siempre sería la misma,
cambiaría el resultado en función de los parámetros que le hubiéramos
facilitado.
Pero imagínese que en la clase casa, se
nos olvido escribir la pregunta “Desea garaje”, la casa se quedaría sin
preguntar si quiere o no garaje, pero con escribir un método que sea capaz de
añadir un garaje, la Clase quedaría actualizada, y sin necesidad de modificar
lo que ya tenemos escrito.
Una
clase es única, sin embargo sus resultados diversos.
Para conseguir eso es necesario que
disponga de los datos para poder desarrollar distintas casas.
De los distintos métodos para cada una de
las características de la casa.
Los métodos son la parte ejecutiva de la
clase, y se escriben mediante le uso de procedimientos y funciones en función
de su diseño.
La parte de captura de información, o la
asignación de datos a la clase, es lo que denominamos propiedades.
La clase podrá o no responder a impulsos
externos, esa capacidad se denomina evento.
6.5. Procedimientos.
Por lo tanto en lugar de repetir el
código a lo largo del programa lo que se hace es escribirlo en el interior de
un procedimiento y llamar a la ejecución del mismo cada vez que haga falta.
Eso facilita la escritura del programa,
la modificación del mismo y su claridad.
Podemos ver en el ejemplo lateral como
podría ser el organigrama de un programa cualquiera, sencillo, pero válido.
Como podemos ver el organigrama aunque claro es largo y pesado de leer,
imagínense eso con un programa de verdad, no sería práctico, de escribir ni de
seguir.
Si nos fijamos en las acciones de se
programa, podemos observar que hay cuatro pasos.
Carga.
Visualización.
Proceso.
Visualización.
Como podemos ver la visualización se
repite.
Sin embargo podemos dividir ese programa
en bloques, cada bloque es un procedimiento.
Y
el programa principal quedaría como sigue:
Como podemos observar, el procedimiento
Visualizar se ejecuta dos veces, pero esta escrito solo una vez, lo que hacemos
es llamarlo en dos ocasiones.
Además es mucho más sencillo seguir el
programa así, que con todo el código a la vista, ya que solo tenemos que acudir
a leer aquellos procedimientos que nos interesen.
Los procedimientos pueden o no recibir
datos para la ejecución del mismo.
Los procedimientos pueden o no devolver
datos, tras la ejecución del mismo.
Un procedimiento participa de la
resolución de la estructura de un programa, forma parte de la misma, y con una
correcta utilización de los mismos conseguiremos un programa ordenado y fácil
de modificar, a la vez que fácil de entender por terceros y de modificar en un
futuro.
El uso de procedimientos debe ir
acompañado de un uso razonable de las variables.
6.6. Funciones.
Una función es una parte de nuestro
código que formará parte de una expresión especializada en realizar algún tipo
de operación, cálculo, comparación, dibujo, ...
Por lo tanto una función no suele
utilizarse para resolver la estructura de un programa, sino para que se pueda
mejorar el mismo.
Si en un programa hay que verificar si un
valor cumple una determinada condición y si es cierto realizar una acción y
sino otra, lo correcto es que se cree una función y se utilice como parte de la
instrucción condicional.
Cuando se ejecuta la función, ésta
devolverá un valor, en el ejemplo supongamos que devuelve cierto o falso en
función de los valores.
En el programa nosotros podremos utilizar
la función dentro de nuestras expresiones, con lo que se facilita la escritura
del mismo y se simplifica.
En el ejemplo podemos ver como la función
esta dentro de la instrucción condicional, y el resultado de su ejecución hará
que se ejecute una u otra de las ramas del programa.
En el ejemplo con seudocódigo podemos
observar como la función se integra como una expresión en el interior de la
condición, y su resultado será el que provoque la acción en el entonces o en el
si no.
Si
Función(A,B) entonces
Acción
Si no
Acción
Fin
de condición.
En éste ejemplo vemos un ejemplo más, en
éste caso la función recibiría un valor numérico, y devolvería cierto si el
número es primo, y falso si no lo es.
En caso de cumplirse se ejecutaría la
acción de escribir que el número sí es primo, en caso contrario se escribiría
en pantalla, que el número no es primo.
Si
NumeroPrimo(Numero) entonces
Escribir “El número es primo ”,Numero
Si no
Escribir “Este número no es primo”, Numero
Fin
de condición.
Por lo tanto nosotros podemos crear las
funciones que necesitamos, y estas se integran como parte de la instrucción que
escribimos, lo que proporciona claridad y legibilidad al programa.
Al fin y al cabo un programa bien escrito
se convierte en un libro, y debe de ser fácil poderlo leer.
6.7. Conclusiones.
Hemos visto los datos y las expresiones.
Se ha explicado las estructuras de
programación,
Secuencial
Alternativa
Repetitiva
En éste tema se ha visto, muy por encima,
sin entrar a fondo, clases, lo que son los procedimientos y las funciones, los
hemos nombrado y dejado caer su existencia.
Si lo visto hasta ahora lo tienen
asimilado, hemos dado un gran paso.
No hay comentarios:
Publicar un comentario