Você está na página 1de 7

Unidad 6.

Programa (I)
6.1. Objetivos del tema.
Hemos visto todos los componentes de un programa, veamos ahora un programa.
6.2. Introduccin.
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.
Obtencin de resultados.

La programacin ha avanzado mucho desde sus inicios, actualmente la


programacin 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
programacin, de sus requerimientos.
Como mnimo se tendr que declarar las variables que intervengan en el programa,
de tal forma que queden disponibles para su utilizacin en el programa.
Despus tenemos los procedimientos y las funciones, que en funcin del lenguaje o
de los criterios que deseemos aplicar, podramos decir que pertenecen a ste
apartado, ya que tanto un procedimiento, funcin o clase, antes de su utilizacin
deben existir en el programa, por lo tanto segn deseemos aplicar los criterios
podramos incluirlos aqu o no.
Hay que tener presente que las sintaxis y las estructuras de cada lenguaje de
programacin 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
despus deseemos utilizar.

6.4. Clases.

El estilo de programacin actual est basado en las clases.


Las clases no es nada ms que una forma distinta de ver la forma de escribir un
programa, pero le aade una serie de ventajas que ante no estaban disponibles de
una forma tan cmoda como se consigue con las clases.
Nos permiten escribir el cdigo de forma que queda protegido, encapsulado y no es
posible su modificacin.
Adems 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:

Cuntos metros cuadrados quiere que tenga la casa?


Cuntas habitaciones quiere?
Quiere terraza?
Cuntos baos desea?, etc..

Y despus de estas preguntan viramos los planos en funcin de esos parmetros.


En funcin de la respuesta la casa sera de una forma o de otra, sin embargo la
clase Casa siempre sera la misma, cambiara el resultado en funcin de los
parmetros que le hubiramos facilitado.

Pero imagnese que en la clase casa, se nos olvido escribir la pregunta Desea
garaje, la casa se quedara sin preguntar si quiere o no garaje, pero con escribir un
mtodo que sea capaz de aadir un garaje, la Clase quedara 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 mtodos para cada una de las caractersticas de la casa.
Los mtodos son la parte ejecutiva de la clase, y se escriben mediante le uso de
procedimientos y funciones en funcin de su diseo.
La parte de captura de informacin, o la asignacin 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.
En todo programa hay una parte del mismo que se repite, y que
si no se inscribe en el mbito de un procedimiento debera
estar escrito un sin fin de veces.
Por lo tanto en lugar de repetir el cdigo a lo largo del
programa lo que se hace es escribirlo en el interior de un
procedimiento y llamar a la ejecucin del mismo cada vez que
haga falta.
Eso facilita la escritura del programa, la modificacin del mismo
y su claridad.
Podemos ver en el ejemplo lateral como podra ser el
organigrama de un programa cualquiera, sencillo, pero vlido.
Como podemos ver el organigrama aunque claro es largo y
pesado de leer, imagnense eso con un programa de verdad, no
sera prctico, de escribir ni de seguir.
Si nos fijamos en las acciones de se programa, podemos
observar que hay cuatro pasos.

Carga.
Visualizacin.
Proceso.
Visualizacin.

Como podemos ver la visualizacin se repite.

Sin embargo podemos dividir ese programa en bloques, cada


bloque es un procedimiento.

Y el programa principal quedara 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.

Adems es mucho ms sencillo seguir el programa as, que con


todo el cdigo 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 ejecucin del mismo.


Los procedimientos pueden o no devolver datos, tras la ejecucin del mismo.

Un procedimiento participa de la resolucin de la estructura de un programa, forma


parte de la misma, y con una correcta utilizacin de los mismos conseguiremos un
programa ordenado y fcil de modificar, a la vez que fcil de entender por terceros
y de modificar en un futuro.
El uso de procedimientos debe ir acompaado de un uso razonable de las variables.

6.6. Funciones.

Un procedimiento se escribe para resolver la estructura de


un programa, y podr o no devolver o recibir datos.
Una funcin es una parte de nuestro cdigo que formar
parte de una expresin especializada en realizar algn tipo
de operacin, clculo, comparacin, dibujo, ...
Por lo tanto una funcin 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 condicin y si es cierto realizar una accin y sino otra, lo correcto es
que se cree una funcin y se utilice como parte de la instruccin condicional.

Cuando se ejecuta la funcin, sta


devolver un valor, en el ejemplo
supongamos que devuelve cierto
o falso en funcin de los valores.

En el programa nosotros
podremos utilizar la funcin
dentro de nuestras expresiones,
con lo que se facilita la escritura
del mismo y se simplifica.

En el ejemplo podemos ver como la funcin esta dentro de la instruccin


condicional, y el resultado de su ejecucin har que se ejecute una u otra de las
ramas del programa.

En el ejemplo con seudocdigo podemos observar como la funcin se integra como


una expresin en el interior de la condicin, y su resultado ser el que provoque la
accin en el entonces o en el si no.
Si Funcin(A,B) entonces
Accin
Si no
Accin
Fin de condicin.
En ste ejemplo vemos un ejemplo ms, en ste caso la funcin recibira un valor
numrico, y devolvera cierto si el nmero es primo, y falso si no lo es.
En caso de cumplirse se ejecutara la accin de escribir que el nmero s es primo,
en caso contrario se escribira en pantalla, que el nmero no es primo.

Si NumeroPrimo(Numero) entonces
Escribir El nmero es primo ,Numero
Si no
Escribir Este nmero no es primo, Numero
Fin de condicin.

Por lo tanto nosotros podemos crear las funciones que necesitamos, y estas se
integran como parte de la instruccin 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 fcil
poderlo leer.

6.7. Conclusiones.
Hemos visto los datos y las expresiones.
Se ha explicado las estructuras de programacin,

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.

Ejercicios unidad 6: Programa


1. -

Introducir dos nmeros A y B, e indicar cual es el mayor de ambos.

2. -

Introducir dos nmeros A y B, e indicar cual es el menor.

3. -

Introducir dos nmeros A y B.

Si A es mayor que B calcular y visualizar A + B y A / B.

Si A no es mayor que B calcular y visualizar A * B y B - A.


4. -

Introducir dos nmeros A y B y visualizarlos en orden creciente.

5. -

Introducir dos nmeros A y B y visualizar el resultado de:

Si A es mayor que B calcular A / B.


Si A es menor que B calcular A * B.
Si A es igual que B calcular A + B.
6. -

Introducir dos nmeros A y B.

Si A es distinto que B calcular y visualizar A + B y A / B.


Si A es igual que B calcular y visualizar A * B y B - A.
7. -

Visualizar los nmeros entre 10 y 20

8. -

Visualizar los nmeros entre 10 y 20 y sumarlos.