Está en la página 1de 27

Unidad 5.

Las instrucciones (I)


5.1. Objetivos del tema.
Hemos visto lo que es la estructura de un programa, los datos, que esos datos en realidad se convierten en variables de
distinto tipo dentro de un programa, y que esas variables generan o creamos con ellas expresiones.
Ahora, una vez que tenemos expresiones, hay que utilizarlas para algo, las expresiones pueden ir de forma aislada o
formar parte de las instrucciones de un programa.
5.2. Introduccin.
Un programa se construye a base de escribir una serie de instrucciones propias del lenguaje que utilizamos y con el fin de
poder llegar a que ese programa realice la labor para la cual se ha diseado.
Las instrucciones de un lenguaje de programacin son las que nos permiten crear la estructura del programa.
En los programas vamos creando bloques con las instrucciones, de forma que a base de ir sumando bloques llegamos a
construir un programa ms o menos complejo.
El mejor ejemplo podramos verlo en un edificio.
Un edificio se construye a base de ir aadiendo ladrillos, muchos ladrillos, que se apoyan unos en otros.
Un programa se puede ver como algo similar.
Pero un edificio se sustenta sobre una estructura.
A nivel de programacin, esa estructura se basa en los procedimientos y funciones que escribimos en el programa, y esos
procedimientos, funciones y mtodos, los llenamos de instrucciones.
5.3. Instrucciones.
La secuencia de instrucciones escritas en un orden lgico, que indican las operaciones a realizar para resolver un
problema, es lo que denominamos programa.
Las instrucciones sin las expresiones en la mayora de los casos no tienen razn de ser.

1 Smbolos.
En un tema anterior pusimos los smbolos ms utilizados en los organigramas.
Cada uno de esos smbolos se traduce en una instruccin en un programa.

Inicio o final de programa, procedimiento, funcin o mtodo.

Condicin dentro de un programa, se convierte en un

If condicin then accin else accin.
Si se cumple la condicin entonces hacemos y sino se cumple hacemos esto otro.

Este rectngulo normalmente albergar operaciones de clculo, expresiones.

A = A + B

Entrada de datos por teclado, es la forma de recabar informacin del usuario.


Visualizar datos en el monitor, de esa forma podemos ofrecer informacin al usuario.

Imprimir el dato en la impresora del sistema.


Realizar una entrada o salida de datos desde o hacia un dispositivo, que no se especifica de forma
explicita.

Realizar una entrada o salida de datos desde o hacia un dispositivo que es de acceso
direccionable, normalmente un disco duro.

Conector dentro de pgina, la flecha apunta a un smbolo que est en la misma pgina.

Conector fuera de pgina, la flecha apunta a un smbolo que est fuera de la pagina actual.

2 Estructuras.
Cuando creamos un programa, creamos una estructura que se va ejecutando de
forma lineal y en determinados momento necesitamos tomar decisiones, o hacer que
algo se repita.

Con las instrucciones podemos crear esos tres tipos de posibilidades,

Ejecucin lineal o secuencial.
Ejecucin alternativa, tomar una decisin.
Ejecucin repetitiva.

3 Lineal, secuencial.
Si volvemos a los ejercicios que realizamos al principio, aunque aun no hayamos
utilizado ningn lenguaje, podremos ver como de forma instintiva hemos utilizado
instrucciones de forma lineal con expresiones.

Cada smbolo del organigrama, o cada lnea del seudo cdigo es una instruccin.
La estructura que se ha utilizado en esos ejercicios es una estructura lineal.

La imagen que tenemos a la derecha es un ejemplo de estructura secuencial, si nos
fijamos en los smbolos del organigrama, veremos que no hay ninguna accin de
repeticin, no hay ninguna flecha que vuelva hacia arriba a un punto por el que ya hemos pasado.

Tampoco hay ningn punto en el que se divida el programa entre dos posibilidades despus de una pregunta.


Unidad 5. Las instrucciones (II)
4 Alternativas.
En la imagen de la izquierda podemos observar como hay una decisin
y la posibilidad de que se ejecute una u otra rama
del programa, eso es una estructura alternativa.

Las estructuras alternativas pueden tener dos salidas, cuando
cumple, la derecha y cuando no cumple la izquierda.

La parte de no se cumple, la izquierda, es optativa, es decir, no hay
porque escribir una accin cuando una condicin no se cumple, a lo
mejor solo nos piden que visualicemos los nmeros primos, entonces si
un nmero no es primo pasaremos al siguiente y ya est, no hay por que
hacer nada.

En un organigrama, cuando se usa un smbolo de decisin, es
decir un Si el nmero es primo, la salida de la derecha
siempre es la que indicar la accin que se ejecutar cuando
se cumpla la condicin, salvo que se indique mediante texto
lo contrario.

Estas instrucciones pueden estar anidadas, unas dentro de
otras.

En el ejemplo podemos observar como dentro de la
pregunta de Tiempo mayor que 180, hay a su vez otra
condicin en la que preguntamos por Resto mayor que
cero.

Y se podran seguir anidando condiciones.






5 Repetitivas.
Las estructuras repetitivas, permiten que se pueda ejecutar una parte del programa un nmero determinado de veces.
Cuantas veces nos han dicho, mientras no te comas la merienda, no iras con tus amigos a jugar al baln, - bueno ahora es
a la PlayStation-, o aquello de hasta que no te ordenes la habitacin, no sales.
Pues hemos nombrado los dos tipos base de estructura repetitiva que existen, mientras y hasta.

Mientras se cumple una condicin.
Repite hasta que se cumple una condicin


Una estructura repetitiva esta formada por una serie de
instrucciones que estn escritas en el interior de otra instruccin
que permite que esas instrucciones se ejecuten un nmero
determinado de veces, mientras se cumple una condicin, o hasta
que se cumpla una condicin.

Si observamos las imgenes veremos que en una la condicin que
controla cuando se ejecuta el bucle, est al principio y en la otra
est al final.

La diferencia permite que en un caso, mientras, While, solo se
ejecuta las instrucciones del interior del bucle si la condicin se
cumple al llegar al bucle.

En el caso del hasta, Repeat, las instrucciones del interior del bucle
se ejecutarn siempre al menos una vez, ya que la condicin se
analiza al final.

Los bucles mientras y repite, pueden usarse indistintamente, pero
evidentemente el motivo de su existencia es porque no siempre se
pueden sustituir uno por el otro.
En los bucles, se realiza aquellas acciones que nos sean necesarias
en el programa, pero una de las situaciones habituales es la de
realizar operaciones donde se cuentan, o se incrementan valores.
En los dos ejemplos que vemos a continuacin, podemos observar
como en los dos casos se realiza la misma accin, que es la de
visualizar unos valores que van de diez a veinte.


Sin embargo, si observamos los dos ejemplos, veremos como hay
diferencias en el de la izquierda, el nmero uno, la accin de
incremento del contador, se realiza despus de la accin de
visualizar la variable X, mientras que en la de la derecha, el nmero dos, es al revs.

SI seguimos observando los ejemplos, podemos ver como en un caso el valor inicial de X es diez, y en el otro nueve.

Si seguimos observando, veremos que las condiciones de salida del bucle cambian, en un caso por igual a veinte y en otro
por ser mayor que veinte.

En el primer caso cuando X vale veinte en la condicin de salida, ese nmero todava no ha sido visualizado.
En el segundo caso, cuando X vale veinte en la condicin de salida, ese nmero ya ha sido visualizado, esos son los
matices.

La programacin est llena de matices y tonteras de ste tipo, pero es esa la diferencia entre que funcione
correctamente o no.
Un programa no puede ir bien para el noventa por ciento de los valores, si no para el cien por cien de los mismos.
Traduccin, en un bucle lo importante es siempre:

Con que valores o condiciones empiezas,
En que momento realizas la progresin,
Cuando realizas la accin que te interesa en el bucle
En que momento abandonas el bucle, condicin de salida.

Si estas condiciones las tenemos presentes, el uso de los bucles carece de problemas.
Lo siguiente es tener presente en que momento hay que utilizar de forma obligatoria un bucle While o un bucle Repeat.

Con el tiempo veremos que el ms utilizado acaba siendo el mientras, pues casi siempre nos interesa tener controlado que
se cumpla determinada condicin antes de entrar en el bucle.

Otro matiz, si en un bucle Repite la condicin es hasta que sea de color verde en un bucle mientras la condicin se
invierte y ser mientras sea de color verde.

Aunque nadie se lo creer, con lo que hemos visto, a nivel de creacin de la estructura de un programa, no hay nada ms
que explicar, eso les da una idea, por un lado de lo sencillo que es hacer un programa, y de lo importante que es tener
hasta aqu claro todo lo que se ha visto.

Evidentemente que la programacin no es solo lo que se ha visto, todava quedan temas por ver, muchos temas, pero en
realidad, para crear un programa, no hace falta nada ms de lo que se ha visto.
El resto de temas pendientes de ver se apoya en lo visto, de ah la importancia de tener claro todo lo visto.

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.

Unidad 6. Programa (II)
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.

Unidad 7. Las clases (I)
7.1. Objetivos del tema.
Hemos visto los componentes de un programa, hemos ido nombrndolos de dentro hacia fuera, es decir

Dato
Variable
Expresin
Instruccin
Estructuras
Procedimientos y funciones.

Nos queda ver el o un elemento que contiene a todos estos, que es la clase.
La clase es el elemento estructural que aglutina todos los anteriores y permite que expresemos nuestros programas.
La clase est a su vez utilizada dentro del programa.
7.2. Introduccin.
Si nuestro estilo de programacin no contempla, comparte, o lo que cada uno desee, el uso de clases y objetos, el
escalafn acaba con los procedimientos y funciones, y estos se utilizan directamente dentro del programa.
Ni uno es malo, ni el otro es perfecto, son sistemas, estilos y filosofas distintas, pero no se puede negar que el uso de
clases es positivo dentro de la programacin.
En la actualidad el tipo de programacin que se realiza es lo que denominamos, P. O. O., programacin orientada a
objetos.
Dicho de otra forma, la materia explicada en temas anteriores, se colocan en el interior de lo que denominamos clases,
con las que crearemos los objetos.
Un objeto es un elemento derivado de una clase.
La clase es un elemento estructural en un programa que dispone de

Propiedades que al fin y al cabo son datos, vistos anteriormente.
Mtodos que son procedimientos y funciones, en cuyo interior tenemos las estructuras bsicas de
programacin vistos en el tema cinco y en el tema anterior.
Eventos que se construyen tambin mediante cdigo.
7.3. Clase.
En programacin, un objeto es un ente que es capaz de realizar tareas y reaccionar ante aquello que tiene a su alrededor,
ante los eventos que lo rodean, sea un partido de ftbol, una pelcula, una sensacin, y al que dotamos de una serie de
caractersticas, alto, bajo, grande pequeo y que se definen cuando creamos el objeto y que podemos dejar que quien
vaya a utilizarlo los pueda modificar, pero siempre bajo nuestro control, claro, para eso el objeto lo hemos creado
nosotros.

Como lo que no se hace en informtica es crear varias veces lo mismo, las clases las escribimos una sola vez, y lo que se
hace es crear algo as como un molde con el que luego vamos haciendo copias.

Para profesionalizar la parrafada de antes, al molde se le llama clase, y a esa clase le dotamos de una fisonoma,
caracterstica, a los elementos que describen esa fisonoma, lo llamamos propiedades.
Las tareas que queramos que sea capaz de realizar las denominamos mtodos.
Y a la capacidad de reaccionar a los estmulos exteriores lo llamamos eventos.
7.4. Propiedades.
Un ejemplo muy cercano, el ser humano, si deseamos crear una clase que imite al ser humano le podramos crear una
serie de caractersticas, propiedades, como

Sexo
Altura
Color del pelo
Color de los ojos

Por lo tanto las propiedades describen el objeto.
Podemos crear caractersticas internas, que no se podrn utilizar fuera del objeto, y otras que sern externas y que s que
se vern en el objeto y podrn ser modificadas lo que permitir crear objetos de distintos tipos.
Estas caractersticas externas son las que de verdad denominamos propiedades, pues es posible que sean modificadas por
quien utiliza la clase, quien de verdad genera despus el objeto.
Las caractersticas internas, por llamarlas as, son en realidad variables de la clase, las propiedades tambin lo son, pero se
ven por parte del usuario.
7.5. Mtodo.
Y como queremos que sea capaz de hacer cosas le ensearemos mtodos.

Caminar.
Hablar
Leer
Escribir
Correr

De sta forma, escribiendo los mtodos, es decir el lugar donde se escribe el cdigo de nuestro programa, se le dota de
capacidades ejecutivas a la clase, las capacidades que dispondr el objeto que de ella se derive.
7.6. Eventos.
Y para que sea capaz de reaccionar ante lo que tiene a su alrededor, le dotaremos de sentidos, que sera la forma de poder
reaccionar a lo que hay a su alrededor.

Vista
Odo
Olfato
Gusto
Tacto

Con eso conseguimos que un objeto sea capaz de reaccionar a los actos que se producen a su alrededor, y nosotros
generaremos los eventos en los cuales tengamos inters.
Si no necesitamos saber si llueve o no, habr evento EstaLloviendo, etc..
Y podramos seguir ensendole cosas, podramos seguir escribiendo mtodos y creando propiedades que definan a una
persona, en la misma clase, o creando una nueva que herede las capacidades de la que ya existe.

Longitud del pelo.
Ancho de la cintura
Ancho del pecho
Longitud de las piernas.

Unidad 7. Las clases (II)
7.7. Polimorfismo.
Pero las personas no son todas iguales, y cada una dispone de distintas habilidades, por lo que podremos dotar de ms
habilidades a sta clase, a sta persona.
Pintar
Dibujar
Sumar
Bailar

De esa forma, si nos fijamos cambiando el color de los ojos o del pelo, o del sexo, a partir de un mismo punto de partida,
podemos crear distintos tipos de personas.
7.8. Herencia.
Lo que no vamos a hacer nunca tampoco es escribir una parte de un programa de nuevo, cuando ya lo hemos escrito
anteriormente, por lo que lo que se va haciendo es crear clases, moldes base que luego vamos enriqueciendo a partir de
las ya existentes, a este concepto de aprovechamiento de lo ya existente lo denominamos herencia.
De esa forma podemos crear una clase base denominada persona con las caractersticas estndar, o un bebe, si queremos
llamarlo as, al que hemos de ir enseando a hacer cosas.

El bebe solo lo definiramos por ejemplo con

Sexo
Altura
Color pelo
Color ojos
Color de la piel

Le ensearemos solo a

Hablar
Leer
Escribir
Andar
Correr

Y le dotaremos de la posibilidad de reaccionar ante

Calor
Fro
Seco
Mojado

Y despus crearamos una nueva clase que heredara esas capacidades y le aadiramos otras nuevas.

De esa forma podramos entrenarlo para que fuera un gran cocinero.
Le potenciaramos la posibilidad de percibir los olores y los sabores.
Mejoraramos su habilidad en el manejo de las manos.

Podramos crear una clase que fuera un matemtico, al cual le potenciaramos sus capacidades mentales para el clculo y
la lgica.
7.9. Ocultacin.
Pero en el manejo de estas posibilidades nunca permitiramos que el diseador de la clase cocinero o matemtico pudiera
cambiar el color del pelo, o de los ojos.
Esta caracterstica que permite proteger las caractersticas del bebe se denomina ocultacin.

Unidad 7. Las clases (III)
7.10. Aplicacin.
Con lo que hemos comentado, si es capaz de asumir, madurar, y comprender lo que ha ledo, el pasar de la fase de
abstraccin a la real le supondr muy poco esfuerzo, ya que los conceptos base de la P. O. O., son los comentados, solo
queda la aplicacin.

Veamos un ejemplo un tanto irreal.

Desarrollamos una clase que denominamos Humano

Clase Humano
Propiedad Sexo
Propiedad Altura
Propiedad Raza
Propiedad ColorOjos
Propiedad ColorPelo

Metodo Caminar
Fin de metodo

Metodo Hablar
Fin de metodo

Metodo Leer
Fin de metodo

Metodo Escribir
Fin de metodo
Fin de Clase

Cada uno de esos mtodos, contendr el cdigo adecuado para que se realice la accin que tiene como misin.

Por ejemplo el mtodo Leer, podra ser

Metodo Leer(NombreLibro)

Fin de metodo

Y recibira como parmetro el nombre de un libro, el cual habra que leer.
En el interior del mtodo podramos tener escrito algo como

Metodo Leer(NombreLibro)

AbrirLibro(NombreLibro)

Mientras haya Hojas
Mientras haya Lineas
Mientras haya palabras
Leer palabra
Fin de mientras
CambiarDeLinea
Fin de mientras
CambiardePagina
Fin de mientras

CerrarLibro

Fin de metodo

Pero podramos aadir un parmetro que fuera leer en voz alta, o podramos aadir una condicin que fuera leer si no
estas cansado.

Por lo tanto podra quedar

Mientras haya Palabras
Leer Palabra
Si hay que leer en voz alta
Mujer.Hablar Palabra
Fin de condicin
Fin de mientras
O podra ser tambin

Mientras haya Palabras Y NoEstoyCansado
Leer Palabra
Fin de mientras


O evidentemente todo junto.

Mientras haya Palabras y NoEstoyCansado
Leer Palabra
Si hay que leer en voz alta
Mujer.Hablar Palabra
Fin de condicin
Fin de mientras

NoEstoyCansado sera una funcin que podra analizar el estado anmico del objeto Mujer y devolver Cierto o Falso, de tal
forma, que si es cierto se sigue leyendo y si no, se abandona la lectura.

As que podramos llegar a algo parecido a lo siguiente.

Metodo Leer(NombreLibro)

AbrirLibro(NombreLibro)

Mientras haya Hojas Y NoEstoyCansado
Mientras haya Lineas Y NoEstoyCansado
Mientras haya Palabras Y NoEstoyCansado
Leer Palabra
Si hay que leer en voz alta
Mujer.Hablar Palabra
Fin de condicin
Fin de mientras
CambiarDeLinea
Fin de mientras
CambiardePagina
Fin de mientras

CerrarLibro
Fin de metodo

Unidad 7. Las clases (IV)
Una vez que disponemos de la clase ya escrita, el siguiente paso es poderla utilizar.

Eso se realiza ya dentro de nuestro programa.

El primer paso sera declarar un objeto del tipo de la Clase, recordemos que cuando declaramos una variable, es porque va
a almacenar un dato, ese dato tendr un tipo, y la variable ha de concordar con ese tipo de dato.
Con los objetos ocurre lo mismo, si declaramos un objeto, es porque deseamos que ese objeto realice una serie de
acciones, el objeto es capaz de realizar esas acciones porque la clase de la que se deriva, posee esas capacidades.
Por lo tanto hay que crear el objeto de la clase que nosotros sabemos que posee esas caractersticas.

Un ejemplo, desde un programa se pueden utilizar las libreras de Office, y se puede declarar un objeto que llamemos Hoja
y que se crea con las mismas caractersticas y habilidades que puede tener Excel, o se podra hacer tambin con Word,
declaramos un objeto que llamamos Documento del tipo Word, y podramos escribir un documento de Word a partir del
contenido de una base de datos, sin pulsar una sola tecla, y lo ms divertido, podramos ver como el documento se escribe
solo en pantalla.

Ancdotas a parte, un objeto es eso, un elemento en nuestro programa con las capacidades de realizar las cosas de la
clase de la cual deriva.

En el programa el primer paso sera asignar al objeto los valores de las propiedades que definirn al objeto.

Mujer.Sexo = M
Mujer.Altura = 180
Mujer.Raza = Blanca
Mujer.ColorOjos = Verde
Mujer.ColorPelo = Negro
La siguiente fase ya sera su utilizacin.

Mujer.Leer

O

Mujer.Escribir

Por lo que el programa podra quedar


Inicio Programa
Declarar Mujer del tipo Humano

Mujer.Sexo = M
Mujer.Altura = 180
Mujer.Raza = B
Mujer.ColorOjos = Verde
Mujer.ColorPelo = Negro

Mujer.Leer
Fin de programa

Claro est que esto es la mnima expresin de lo que podra ser, pero solo pretende ser eso, un ejemplo.
7.11. Conclusiones.
Evidentemente la aplicacin es ms compleja, pero lo es, por los tecnicismos necesarios en la escritura de los programas,
no porque cambie lo expuesto anteriormente.
Si los conceptos estn claros, la comprensin de la tarea de programar se facilita en gran medida.

Programar es dominar una tcnica, la tcnica no cambia, lo que cambian son los lenguajes.
Para llegar a la tcnica y tener agilidad en el planteamiento y comprensin de los planteamientos de un programa, es
necesaria la experiencia, y la experiencia solo se logra con la prctica y el trabajo del da a da.

Unidad 8. VB Studio Net 2005 (I)
8.1. Objetivos del tema.
Con el fin de empezar con un lenguaje de programacin vamos a ver en este tema una introduccin a Visual Basic.
En cuanto al tema de la historia de Vb, Qbasic, Basic etc, en Internet hay informacin suficiente.
8.2. Introduccin.
Es un lenguaje de programacin que actualmente respeta prcticamente todas las caractersticas de la P. O. O..
Anteriormente la generacin de un programa ejecutable con Basic generaba un ejecutable, actualmente genera un archivo
intermedio que se ejecuta posteriormente por la mquina virtual de Studio Net.
Esta caracterstica, que hoy incorporan otros lenguajes de programacin, convierte a VB en un lenguaje portable en el
momento que exista una mquina virtual para otros sistema operativos distintos de Windows.
8.3. Caractersticas.
Es fcil de utilizar, igualmente para personas que estn inicindose como para expertos en la materia.
El entorno de diseo para un entorno grfico es muy cmodo y fcil de utilizar.
Es un lenguaje orientado a objetos.
Existe un amplio espectro de objetos en el mercado para poderse integrar en el lenguaje.
No dispone de punteros.

8.4. Advertencias.
El problema de las maysculas de otros lenguajes aqu no se da, e incluso el editor de texto de VB unifica el nombre de las
variables cuando las escribes de otra forma.


8.5. Entorno utilizado.
En sta documentacin se ha utilizado la versin y entorno de programacin de Studio Net 2005.
En el siguiente link se puede acceder a informacin y descarga del producto gratuito si despus deseas registrarte.

http://www.microsoft.com/spanish/msdn/vstudio/express/default.mspx



8.6. El entorno de programacin VB2005.
La labor de programacin es una tarea ms, como otro de los trabajos que hay en la vida, el problema es cuando el trabajo
se hace a gusto o no.
Por lo tanto a la hora de realizar cualquier trabajo hay que intentar disponer de las mejores situaciones posibles.
Para programar disponer de un entorno de programacin potente es importante, dado que te facilita en buena medida la
labor.
EL entorno de Vb est preparado para facilitar toda una serie de tareas del da a da en la escritura de un programa.

Depuracin.
Organizacin.
Ayudas
Corrector sintctico
Compilacin.

El entorno en si es muy amplio y explicarlo en su totalidad no es el motivo de sta documentacin, vamos a abordar
solamente la parte que nos interesa para sta fase de iniciacin a la programacin con ste lenguaje.
8.7. Descarga.
Seguir los pasos que se indican en la pgina de Microsoft.

Unidad 8. VB Studio Net 2005 (II)
8.8. Iniciar.
Finalizada la descarga y la instalacin, podemos empezar nuestro primer proyecto en VB.
En el escritorio de Windows dispondremos de un icono, con el texto que hayamos deseado asignarle y con el
que accederemos a la aplicacin.
En funcin de cmo hayamos configurado en la instalacin nos aparecer un tipo de inicio u otro, el que sigue puede ser
uno de ellos, pero tambin puede aparecer una ventana con un enlace a las ltimas noticias sobre Studio net y con los
ltimos proyectos abiertos a la izquierda.



En esta opcin si nos fijamos podemos ver las pestaas de una serie de ventanas que posteriormente sern tiles en el
desarrollo de nuestros programas.
Empezando de izquierda a derecha, la pestaa de Cuadro de herramientas que nos visualizar los objetos disponibles para
el diseo de los formularios de nuestros programas.




Aqu vemos la pestaa de la caja de
herramientas a la izquierda y a la derecha ya
desplegada.
Se puede visualizar de varias formas, en funcin
de las necesidades de diseo del formulario.


La ventana de explorador de soluciones es la
que permite ver todos los elementos que
componen el proyecto actual, dispone de varios
estilos de visualizacin.


La ventana de propiedades nos permite acceder a
todas las propiedades de los objetos del
formulario que tengamos seleccionado en ese
momento

Al seleccionar una propiedad en la parte inferior
de la ventana aparece una pequea leyenda de
las caractersticas de dicha propiedad.









Unidad 8. VB Studio Net 2005 (III)
8.9. Crear un nuevo proyecto.
En visual cada aplicacin que creamos necesita de un directorio donde se depositan todos los elementos que lo
componen, como en otras aplicaciones,
Cada uno de estas aplicaciones se denominan proyectos o soluciones.
El archivo que arranca cada solucin posee la extensin .SLN y esta en el directorio que se crea para la aplicacin.

Para iniciar un proyecto nuevo seleccionaremos la opcin Archivo Nuevo proyecto., de la barra de herramientas.


En ese momento se pone en marcha un asistente, como no, y nos pedir el tipo de proyecto que deseamos crear.

Para los ejemplos que vamos a ir viendo seleccionaremos la opcin que vemos en la imagen, Windows Aplicacin de
Consola.

Son ejercicios sencillos que no necesitan de la complejidad de un formulario, y as no nos distraemos de lo importante.



El nombre del proyecto, podemos cambiarlo por el nombre que deseemos, y su ubicacin ser la que l tiene por defecto,
podemos dejarla o bien crear la nuestra propia.

Hay que tener presente que cada proyecto se ubica en un directorio, donde estarn
todos los archivos que se creen para dicho proyecto.

Al pulsar Aceptar, nos crea la estructura bsica del proyecto que hemos seleccionado, y
ya podemos empezar a escribir nuestro primer programa.

Esto es lo que veremos cuando finaliza el asistente.

El cdigo que escribiremos lo ubicaremos dentro del Main.
Ms adelante iremos mejorando nuestras estructuras.


En ste punto podramos aadir unas lneas de cdigo:


Dim dato1, dato2, resultado As Integer

dato1 = 20
dato2 = 10

resultado = dato1 + dato2

System.Console.WriteLine("dato1 + dato2 = " & resultado)


Por lo que nuestro programa quedara:

Module Module1

Sub Main()
Dim dato1, dato2, resultado As Integer

dato1 = 20
dato2 = 10

resultado = dato1 + dato2

System.Console.WriteLine("dato1 + dato2 = " & resultado)
System.Console.ReadKey()
End Sub

End Module

Ya tenemos un pequeo ejemplo.

Aunque quedara mejor as:

Module Module1

Sub Main()
Dim dato1 As Integer
Dim dato2 As Integer
Dim resultado As Integer

dato1 = 20
dato2 = 10

resultado = dato1 + dato2

System.Console.WriteLine("dato1 + dato2 = " & resultado)
System.Console.ReadKey()
End Sub

End Module

Pero solo es cuestin de estilo.
Unidad 8. VB Studio Net 2005 (IV)
8.10. Estructura de un programa VB.
Independientemente del lenguaje que utilicemos para programar, todos los programas tienen un punto de inicio, una fase
de ejecucin y una finalizacin.

En VB en modo consola, y si se desea en modo grfico tambin, la fase de inicio es el denominado Main del programa,
desde donde empieza la ejecucin del mismo, siguiendo las instrucciones que en l hayamos escrito, como podemos ver
en el ejemplo anterior.

Comentemos las lneas de nuestro ejemplo:

Module Module1

Es el nombre del mdulo que en ste caso contiene el Main, y que si deseamos podemos cambiar de nombre, y al final
disponemos de un End Module..

Sub Main()

Es el punto de inicio de nuestro programa, y podemos observar como al final disponemos de un End Sub.

Dim dato1 As Integer
Dim dato2 As Integer
Dim resultado As Integer

Declaramos las tres variables del ejemplo como enteras.

dato1 = 20
dato2 = 10
resultado = dato1 + dato2

Asignamos unos datos y realizamos la operacin de suma.

System.Console.WriteLine("dato1 + dato2 = " & resultado)

El & lo que consigue es unir el texto entre comillas y el valor de la variable resultado en una sola frase.

Tcnicamente es incorrecto, pues para ello ambos datos deberan ser del tipo alfanumrico, pero bueno as es la sintaxis
en el algunos casos con Microsoft.

Para visualizar el resultado.

System.Console.ReadKey()

As paramos la ejecucin del programa y podemos ver los valores en la ventana.

End Sub
End Module

Los finales de la estructura, del main y del mdulo principal.

8.11. Ejecutar el programa.
Si pulsamos en la barra de herramientas el smbolo del Play, ,
o pulsamos F5, veremos el resultado de la ejecucin del programa.

En la imagen vemos el resultado de la ejecucin.

Unidad 8. VB Studio Net 2005 (V)
8.12. Aadir una clase.
La resolucin de los ejercicios deberamos realizarla utilizando clases, de esa forma nos habituamos a un sistema de
programacin adecuado y actual.

El ejemplo anterior se puede resolver como sigue, creando una clase.
Para ello en el men seleccionamos Proyecto Agregar clase y le asignamos el nombre que deseemos, en el ejemplo
PrimeraClase.
Nos dejar un espacio en blanco creado, en el cual hemos de aadir nuestro cdigo.

Public Class PrimeraClase

End Class

Resolvemos el ejemplo de antes.

Public Class PrimeraClase
Dim D1 As Integer
Dim D2 As Integer

Sub New(ByVal Dato1 As Integer, ByVal Dato2 As Integer)
Select Case Dato1 = 0 Or Dato2 = 0
Case True
System.Console.WriteLine("Valores del objeto incorrectos")
Case Else
D1 = Dato1
D2 = Dato2
End Select
End Sub

Public Sub Sumar()
Dim Resultado As Integer
Resultado = D1 + D2
System.Console.WriteLine("dato1 + dato2
= " & Resultado)
System.Console.ReadKey()
End Sub
End Class

En el siguiente tema se explica ms a fondo la estructura de la
clase.

8.13. Renombrar una clase.
Con modificar el nombre en el fuente del programa es
suficiente.
Pero eso no modifica todas las apariciones de la clase en el
programa, para ello hay que utilizar las opciones del men de
edicin.

Edicin Reemplazo rpido

Y actuar como pide el formulario que aparece en la imagen.
8.14. Eliminar una clase del proyecto.
Podemos hacerlo en el explorador de soluciones sin ningn problema

Unidad 9. Procedimientos (I)
9.1. Objetivos del tema.
Visto y nombrado los elementos de un programa y sus estructuras, as como la forma de representar las soluciones, ahora
hemos de profundizar sobre el uso de los procedimientos, el paso de parmetros y sus caractersticas.
Los veremos desde el punto de vista genrico, sin entrar en lenguajes en concreto.
9.2. Introduccin.
Un programa es una estructura ms o menos compleja, en funcin del tamao del mismo.
Pero el cdigo que lo compone no puede estar todo en el Main del mismo, sera difcil de entender y de modificar, adems
de muy largo, por lo tanto conviene trocear.
Si recordamos el ejercicio del primer tema, ese es el camino, pequeos trozos de programa, fciles de escribir y de
modificar.
9.3. Procedimientos o funciones?
En el peor de los casos, todo lo que se puede escribir en un procedimiento se puede resolver tambin con una funcin, o
al revs, tcnicamente!, en la realidad no debe abordarse as.
El procedimiento nos va a permitir resolver la estructura de un programa, cuando nos dan los resultados del anlisis de un
problema, nos dan una estructura, y esa estructura se resuelve mediante el uso de procedimientos.


9.4. Procedimientos.
Siempre hemos de procurar crear procedimientos que sean cortos.
Se ha de intentar seguir la pauta de que un procedimiento no supere en mucho la capacidad de lneas de una pantalla o de
una hoja de papel, no por ningn requisito tcnico, si no por comodidad nuestra, lo cual no impide en absoluto que
cuando nos interese lo superemos.


Un procedimiento debe de ser un espacio estanco, su forma de comunicacin con los datos que hay en el exterior debe
ser los que figuran en la lnea de parmetros.
Cualquier otra forma de utilizacin, tcnicamente
puede ser correcta, y de hecho habr alguna vez
que habr que saltarse esa norma, consejo, pero a
la larga se convierte en problemas.

Si creamos procedimientos sin dependencias del
programa en el que se ubican, podemos cambiarlo
de aplicacin para aprovecharlo sin necesidad de
reescribirlo, porque todos los datos que figuran en
su interior tienen como origen su lnea de
parmetros, y no existe otra forma de
comunicacin. As no pueden haber sorpresas.

Un procedimiento es un elemento de nuestro programa, este elemento puede recibir o no datos y devolver o no datos.

Unidad 9. Procedimientos (II)
9.5. mbito de los procedimientos.
El mbito de influencia de un procedimiento puede ser diverso, y su forma de utilizarse depender del lenguaje utilizado.
En ste ejemplo, el programa sabe que hay un procedimiento, A, pero desconoce lo que hay en su interior, eso es
conocido solo por el procedimiento A.




El procedimiento A y B son conocidos por el programa principal, A conoce a B y B conoce a A, pero A no conoce a B1,
ni B1 conoce a A.


9.6. Ambito de validez de las variables.
Con las variables sucede algo parecido, y adems es muy importante que se usen adecuadamente, para evitar errores,
aprovechar los recursos al mximo, y tambin para facilitar el modificacin y comprensin del programa.

Las variables de nivel de programa, pueden ser utilizadas por los procedimientos en su interior, no es aconsejable.
Es conveniente utilizar el paso de variables, ms que el uso de las globales, ya que eso le da independencia al
procedimiento.



9.7. Paso de variables a los procedimientos.
El paso de variables a los procedimientos es el camino adecuado para su correcta utilizacin.
Para ellos hay que seguir unas normas, que son de lo ms sencillas y absolutamente lgicas.



Si nosotros diseamos un procedimiento, ste tendr unas necesidades de datos.
Esos datos sern propios o externos, los propios no hay problema, pero los externos hemos de facilitrselos, para ello hay
unas normas.
El envo y recepcin han de realizarse en el mismo orden y con el mismo tipo de datos.
Si vemos el ejemplo, vemos que ambas coinciden en el color, digamos que sea el tipo, son del mismo tamao, digamos
que sea el dato que se enva.


El siguiente ejemplo vemos que no coinciden ni color, tipo, ni tamao dato, ni el nmero de parmetros que se envan y
reciben.




El nombre no tiene porque coincidir, pensemos que el mismo procedimiento puede utilizarse en varios programas, no
tienen porque coincidir los nombres de las variables por eso, si no sera un problema bastante serio.





Actualmente hay lenguajes que permiten que haya variables de uso opcional en la lnea de parmetros.



Pero eso es una excepcin.


Aqu podemos ver como en el programa principal se
enva dos variables a CALCULA, en este procedimiento
se reciben en el mismo orden y con el mismo tipo.

A su vez luego desde CALCULA se llama a REPRESENTA y
se le enva tres variables que se recogen igual.

Unidad 9. Procedimientos (III)
9.8. Formas de paso de datos a los
procedimientos.
Hay dos formas de pasar los datos a los procedimientos
y funciones, por valor y por referencia.

El paso de datos por referencia, es lo que nos permite
que un procedimiento sea independiente del programa
que lo llama.

De esa forma podemos conseguir que un procedimiento
trabaje con los datos de otro procedimiento o programa
sin necesidad de que las variables se llamen igual.

El paso de datos por referencia a un procedimiento, nos
da la posibilidad de poder modificar el valor de una
variable pasada en el procedimiento, y que ste sea
devuelto al programa principal o al procedimiento que
lo ha llamado.
Cuando se pasa un dato por valor el dato es recibido por
el procedimiento pero ste dato si se modifica en su
interior no se recibe modificado en el lugar en el que se
llama al procedimiento.

El paso de datos por valor a un procedimiento, nos da la
posibilidad de poder enviar el dato de una variable a un
procedimiento, y que la variable no pueda ser
modificada en su contenido al finalizar la ejecucin del
procedimiento y devolverse el control al programa
principal o al procedimiento que lo ha llamado.




















9.9. Uso de variables en los procedimientos.
El uso de variables en los procedimientos y funciones no requiere de ningn requisito que se distinga del que se haga en el
programa principal, ni por nombres, ni por ningn otro apartado que no sea lo que ha se ha expuesto en cuanto a tipos,
mbito y envo.
9.10. Pblicos o privados.
No estamos hablando de empresas, si no de los procedimientos.
Los procedimientos pueden ser pblicos o privados, depender del mbito en el cual deseamos que sean utilizados.
Cuando el procedimiento se desea utilizar solo en el programa actual, y que no sea llamado desde otro programa, se
declaran como privados, Private.
Cuando el procedimiento deseamos que sea algo de utilizacin genrica desde cualquier punto de la aplicacin entonces
lo declaramos como pblico, Public.
Normalmente los procedimientos pblicos suelen agruparse en mdulos fuera del programa, y agruparlos por temas, lo
cual permite tener el cdigo ordenado y fcilmente accesible.
Cuando desarrollamos una clase, el procedimiento o funcin que se declara como pblico, suele ser, se convierte en un
mtodo que el usuario puede utilizar en su objeto.

Unidad 10. Primer programa en VB, procedimientos (I)
10.1. Objetivos del tema.
Visto como se inicia en VB un programa, veamos ahora como resolver un ejercicio, basndonos en el uso de
procedimientos.
10.2. Introduccin.
A la hora de programar, podemos optar por varias soluciones, programacin clsica o con objetos.
Actualmente lo adecuado es utilizar objetos, por lo tanto deberamos elegir ese camino, pero es una decisin personal e
intransferible.
Si nos aclaramos mejor con procedimientos y funciones, sin profundizar en clases, podemos plantearnos las clases como
un segundo nivel, al que intentar llegar despus.
Pero el camino es el de empezar por los procedimientos, ya que como se ha comentado, un mtodo es un procedimiento
o una funcin.
10.3. Primer ejercicio.
Tomemos como punto de partida el del ejemplo del tema anterior, creemos un proyecto del tipo consola y dmosle un
nombre.

Archivo Nuevo proyecto, de la barra de herramientas.



El nombre del proyecto, podemos cambiarlo por el nombre que deseemos, y su ubicacin ser la que l tiene por defecto,
podemos dejarla o bien crear la nuestra propia.

Aparecer la ventana vaca a la que aadimos el cdigo.


Por lo que nuestro programa quedara:

Module Module1

Sub Main()
Dim dato1 As Integer
Dim dato2 As Integer
Dim resultado As Integer

dato1 = 20
dato2 = 10

resultado = dato1 + dato2

System.Console.WriteLine("dato1 + dato2 = " & resultado)
System.Console.ReadKey()
End Sub
End Module

Tal cual lo vemos funciona, y el ejercicio quedara resuelto, pero
vamos un poco ms all.

Esta es una solucin, pero as no se puede hacer un programa, un
programa es una estructura muy compleja, o puede llegar a serlo, y
para eso hace falta una estructura que sea resistente y eficiente.

Apliquemos lo que hemos visto de los procedimientos.

Unidad 10. Primer programa en VB, procedimientos (II)
10.4. Parmetros en los procedimientos.
El nombre que se le da a la lnea de entrada en un procedimiento es de parmetros, lnea de entrada, etc

Empecemos por pasar parmetros al procedimiento, por lo que en la lnea de parmetros tendr que aparecer las dos
variables.
Las variables tendrn que ir declaradas con el tipo que les corresponde.

Private Sub Procedimento(ByVal D1 As Integer, ByVal D2 As Integer)
Dim resultado As Integer

resultado = D1 + D2

System.Console.WriteLine("Dato1 + Dato2 = {0} " , resultado)
System.Console.ReadKey()
End Sub

Al procedimiento despus hay que llamarlo para que se ejecute desde el programa principal, y por lo tanto tambin tiene
que enviarse las variables que se supone tiene que recibir en la lnea de entrada al mismo.

Procedimiento(dato1,dato2)

En el programa principal, dichas variables debern estar declaradas para poderse utilizar.

Dim dato1 As Integer
Dim dato2 As Integer


Ahora veamos la solucin completa con los cambios.

Module Module1
Private Sub Procedimiento(ByVal D1 As Integer, ByVal D2 As Integer)
Dim resultado As Integer

resultado = D1 + D2

System.Console.WriteLine("dato1 + dato2 = {0} ", resultado)
System.Console.ReadKey()
End Sub

Sub Main()
Dim dato1 As Integer
Dim dato2 As Integer

dato1 = 20
dato2 = 10

Procedimiento(dato1, dato2)
End Sub

End Module

Comprobemos que las variables que se pasan lo son en el mismo orden, del mismo tipo y con el mismo dato, d1 desde
dato1 y d2 desde dato2.

Unidad 10. Primer programa en VB, procedimientos (III)
10.5. Estructuras en los procedimientos.
Todas las estructuras que hemos visto, o sea las tres que hay, son de aplicacin en el interior de un procedimiento, pero
nos falta ver cual es su sintaxis, as que empecemos por ah.
1 Estructuras alternativas.
Una estructura alternativa es una instruccin en la que se puede ejecutar una de entre varias posibilidades, la ms sencilla
es del tipo If.

if (Expresin) Then dat1 = dato


Donde expresin ser cualquier expresin cuyo resultado de evaluacin final siempre es del tipo cierto o falso.
Pueden ir o no acompaadas de un else, en funcin de que sea necesario para nuestro programa.

if (dato > 0) then
dat1 = dato
else
dat1 = 25
end if



Hay otra instruccin alternativa que es Select Case, que mucho ms estructurada y ms potente en cuanto a sencillez de
posibilidades de creacin de estructuras.
Aqu tenemos un ejemplo con los posibles valores que nos interese de X, pero hay un sin fin de posibilidades en cuanto a
posibles expresiones para evaluar.

Select case X

case 1
Instruccin;
Instruccin;
case 2
Instruccin;
Instruccin;
Case else
Console.writeline("error" )
End Select

Otro ejemplo de un Select Case

Select case Mes
case 1: nombremes = "Enero"
case 2: nombremes = "Febrero"
case 3: nombremes = "Marzo"
.. / ..
case 12: nombremes = "Diciembre"
Case Else
NombreMes = "Incorreccto"
End Select

En el ejemplo podemos observar varias formas de escribir la instruccin.

En caso de que en la estructura deseemos dar una salida para la situacin en la que no se cumpla ninguna de las
situaciones previstas, podemos utilizar la opcin de Case else

Case Else
NombreMes = "Incorreccto"
End Select

Dicho de otra forma es el equivalente del else en la instruccin If, vista anteriormente.

En el ejemplo tenemos una variable con un valor previsto de -1 y desconocemos cuales son las otras posibilidades, por lo
tanto utilizamos case else para el resto.

Select Case valor
case -1
Console.writeline("No existe")
Case else
Console.writeline("Encontrado en la posicin {0} " , valor)
End Select
Las estructuras alternativas pueden ir anidadas una en el interior de otra hasta alcanzar el nivel necesario para resolver la
estructura que se nos presenta.

if (x > 0) then
y = 15
if (x > 10) then
x = 2
else
x = 25
end if
else
x = 25
end if

Unidad 10. Primer programa en VB, procedimientos (IV)
2 Estructuras repetitivas.
Como mencionamos en su momento, disponemos de dos tipos de bucles, el de tipo Repite y el de tipo Mientras, vamos a
ver dichas instrucciones.
El bucle repite es una estructura en la que siempre se ejecutar un paso en el ciclo del bucle, dado que no existe ningn
impedimento que impida la entrada en el mismo.

El control de la estructura est al final del mismo.
Si observamos la imagen podemos observar como el smbolo en forma de rombo, que es el que
indica el control del bucle est situado al final de la estructura, y al principio solo hay
instrucciones.

La flecha indica al punto del programa en el cual se inicia la estructura o en el que est la
primera instruccin del bucle.

Si observamos las flechas podemos observar como la ltima instruccin del bucle es la
encargada de analizar la situacin en ese momento, para volver a iniciar una vez ms el ciclo o
seguir hacia la siguiente instruccin, ya fuera del bucle.

Su sintaxis es la siguiente.

do

instruccin
... / ...
instruccin
Loop Until (expresin de condicin)

Sin embargo si observamos la imagen del bucle mientras, podemos observar como a diferencia
del bucle repite, la instruccin de control est situada al inicio del mismo.
Esto implica que si al llegar al inicio del bucle, la condicin que expresamos en ese momento no
se cumple, el bucle no se ejecutar, no entraremos en el mismo, o si lo queremos ver as, el
bucle est protegido en su ejecucin.
Si observamos las flechas podemos observar como al acabar la ltima instruccin del bucle se
retorna al inicio del mismo, donde est la instruccin de control, en ese momento se analiza la
situacin y se vuelve a ejecutar una vez ms el ciclo, o se abandona el mismo, siguiendo a la
siguiente instruccin.
Su sintaxis es la siguiente.

While expresin de condicin

instruccin
... / ...
instruccin
End While
Hay una tercera opcin de bucle que es el For.
Este bucle se ejecuta para un valor inicial, hasta un valor final, con un incremento determinado, no deja de ser una
variacin de un bucle mientras.
For X = 0 to 20
instruccin
... / ...
instruccin
Next

Lo que con un bucle mientras, equivale a:

inicializacin;
While X <>20

instruccin
... / ...
instruccin
incremento
End While

Existe la instruccin exit for, exit do, dentro de los bucles, pero quizs sea poco didctico y no sea muy adecuado su
utilizacin en una primera fase del lenguaje, al igual que el uso del for, hasta que no se haya avanzado ms en el dominio
del mismo.
En los bucles, sean del tipo que sean, y se utilicen para lo que sea, siempre hay que tener presente el valor de partida, el
valor final, y el momento en el que se realiza el incremento del contador, si es que se usa, o de la instruccin que
provoque la progresin en el mismo.
Por ejemplo en la visualizacin de los nmeros del 0 al 9, utilizaremos una variable del tipo entero.
Le daremos un valor inicial de cero, en el bucle la primera instruccin ser visualizar, y la condicin del bucle ser mientras
que x sea menor que diez.
El resultado ser correcto.

Module Module1
Sub Main
Dim x as Integer = 0
while x < 10
Console.Writeline(x)
x = x + 1
End While
End Sub
End Module

Pero si alteramos el orden de las instrucciones, el valor cero inicial, ya no ser vlido, pues el primer valor que se
visualizar ser uno, y perdemos la visualizacin del cero. Adems la condicin final tampoco ser vlida, pues acabaremos
en diez, no en nueve, que es de lo que se trata.
Prubelo.
Por lo tanto hay que tener siempre presente, el punto de partida, los valores intermedios, el valor de la progresin, en
que momento, y cual es el ltimo valor que debe procesarse en el bucle.
Teniendo eso presente no debe haber nunca problemas en el manejo de los bucles.
3 Estructuras secuenciales.
Vistas las dos anteriores, una estructura secuencial no es ms que una ejecucin
lineal de un nmero indeterminado de instrucciones, sin que medie una estructura
alternativa o repetitiva, podra ser como ejemplo el siguiente.

instruccin
instruccin
instruccin

Como ejemplo podramos poner:

Console.writeln(x) // Visualizar datos por pantalla
x = x + 1 // Incremento de un contador
s = s + x // Acumulador
10.6. Conclusiones.
Hemos visto como se inicia un programa en VB, las distintas estructuras que se
utilizan en programacin, como se escriben y su uso dentro de los procedimientos,
falta ver las funciones.
Hemos de tener presente que en lo que podemos denominar programa principal,
que en muchas ocasiones es algo ficticio, o no muy prximo a la realidad, no se
escribe casi cdigo, si no llamadas a procedimientos, o declaracin y ejecucin de los objetos que se han declarado, y
donde realmente se escriben los programas es en los procedimientos, y funciones que se convierten en mtodos en las
clases.

También podría gustarte