Está en la página 1de 174

Unidad 1.

Programacin (I)
1.1. Objetivos del tema.
Solo pretender que centremos un poco lo que es la tarea de la programacin, y que sobre todo es un aspecto de lgica, lgica aplastante.

1.2. Introduccin.
Intentar dar una definicin de lo que es programar en la actualidad es muy atrevido, por lo que el que desee una de esas definiciones solo tiene que acudir a Internet y encontrara seguro un sin fin de ellas. Pero para escribir un programa, una aplicacin, un paquete informtico, hay que combinar varios elementos.

Tcnica. Diseo. Imaginacin.

Tcnica, que se puede aprender, y que es lo que se quiere ensear en este curso de iniciacin. Diseo, estilo, gusto, que es ms difcil ensearlo, pues es una cuestin personal, y se trata de ofrecer nuestro producto en un formato agradable para quien lo va a utilizar. Imaginacin, conocida la tcnica de programacin, est capacidad se puede adquirir con la experiencia, es ms difcil, porque la capacidad de poder crear, imaginar la solucin, o forma en la cual se desea plantear o mostrar lo que se quiere obtener, es una capacidad individual que cada uno tiene ms o menos desarrollada.

Estos elementos nos permitirn combinar otros tres elementos, que son

El hardware, el ordenador. Los procedimientos, funciones, clases y objetos. Las estructuras de datos.

Hardware, conocer los distintos elementos con los que se puede contar para poder llegar a obtener una solucin optima a nuestro problema. En programacin hay una gran variedad de tipos de programas, y un amplio espectro de perifricos en el mercado. Su conocimiento nos puede facilitar la solucin de un problema.

Procedimientos, funciones, son las herramientas de las que nos valemos en la programacin para la resolucin de un programa, para resolver un problema.

Estructuras de datos, los dos elementos anteriores nos permiten sacar el rendimiento de un programa, pero un programa utiliza datos, pocos o muchos, pero siempre informacin, por lo tanto hay que manejar de forma adecuada dicha informacin.

1.3. Elementos de programacin.


Podramos denominar los siguientes apartados como elementos de la programacin.

Tener claro que queremos hacer. Dominar los elementos a nuestro alcance. Imaginar espacialmente la solucin que deseamos obtener. Aplicar dicha solucin.

Tener claro que queremos hacer, en condiciones normales, la creacin de un programa parte de una fase de diseo que da como resultado final como tiene que ser un programa y lo que hay que hacer es transcribir a cdigo dicho resultado. Por lo tanto antes de iniciar la escritura de un programa es imprescindible saber de forma clara y sin paliativos que es lo que queremos hacer, si una silla o un barco.

Normalmente una buena aplicacin suele conllevar un ahorro en el tiempo final, por que no hay que retroceder ni tampoco corregir. Dominar los elementos a nuestro alcance, implica tener un conocimiento y dominio de los elementos mencionados anteriormente. Imaginar espacialmente la solucin que deseamos obtener, la progresin en la tcnica de la programacin, con el tiempo nos llevar a imaginar, por decirlo de alguna forma, la solucin o la forma de enfocar como deseamos hacer el programa que nos encargan, pero eso a otro nivel, os ir pasando a lo largo del curso, ya que con los ejercicios

que iremos planteando, a medida que los vayamos leyendo de forma inconsciente os ira apareciendo la forma de enfocarlos.

Aplicar dicha solucin, y solo quedar con todos los datos aplicarlos a la solucin que en principio creemos ms adecuada, y que luego modificaremos muchas veces. Hay un principio, si funciona no lo toques, pero claro ..., as que cada cual decida cuando parar.

1.4. Lo principal de un programador.


Tener las ideas claras, saber de forma exacta que es lo que tienes y a donde has de llegar. Tener claro en que orden quieres hacerlo. Lo mas importante en programacin son los conceptos. Si se tienen claros, a continuacin, podrs buscar las herramientas que necesitas en el lenguaje que usas y realizars correctamente tu labor. Memorizar cosas no es importante, es ms importante saber donde esta un manual y buscar ah la informacin, que necesitemos. El cambiar a otro lenguaje de programacin, si los conceptos son slidos, no supondr ningn trauma, pues cambiarn las instrucciones que usas, pero no el orden en que se tienen que realizar los pasos. Dominar la herramienta de programacin de que dispones. Realizar las pruebas adecuadas de funcionamiento correcto del programa. La fase de depuracin y pruebas de un programa son importantsimas, porque eso nos lleva a un producto final fiable y de probada eficacia, lo cual da fiabilidad al producto, y al programador que lo crea. Un programa que no da confianza no se utiliza.

1.5. Caractersticas.
Se podran aadir o quitar, pero estas son importantes.

1 Legibilidad.
Debe ser posible leerlo y entenderlo con facilidad, el uso de nombre de variables adecuados y comentarios, facilita este apartado.

2 Portabilidad.
Crear estructuras que permitan su codificacin en distintos lenguajes.

3 Modificabilidad.
Ha de facilitar su mantenimiento, es decir, debe permitir que se modifique o actualice en funcin de las necesidades del problema a resolver. Para ello es conveniente comentar adecuadamente el cdigo. Un programa debe quedar escrito y documentado de tal forma que otra persona que venga detrs pueda modificarlo o ampliarlo sin excesiva dificultad.

4 Eficiencia.
Se debe aprovechar al mximo los recursos del ordenador, minimizando el empleo de memoria y el tiempo de ejecucin. Adems, como es obvio, debe resolver el problema para el que ha sido planteado.

5 Modularidad.
Se debe procurar no tener que resolver el mismo problema varias veces. A igual problema, igual solucin, lo que conlleva la elaboracin de mdulos para resolver problemas concretos.

6 Estructuracin.
Lo programas deben tener nica y exclusivamente estructuras lineales, alternativas y cclicas, exclusivamente, o dicho de otra forma, no es conveniente utilizar instrucciones de salto, aunque estn disponibles en el lenguje de programacin.

1.6. Problemas en los programas.


Cuando se tienen problemas con un programa, lo mejor es ir haciendo pruebas por zonas, visualizando contenidos mediante las herramientas, opciones de depuracin del entorno que utilizamos, de las variables que nos interesan y comprobando que se ejecutan las zonas del programa que a nosotros nos interesan que se ejecute. Cuando se disea una rutina, funcin, procedimiento o mtodo nuevo, esta debe probarse fuera del programa, para asegurarse de su correcto diseo y que devuelve correctamente los resultados, asignndole en la prueba todos los valores posibles para verificar su correcto funcionamiento. En un programa pequeo eso es muy fcil de probar y de controlar su ejecucin correcta. Copiar un programa no es malo, no suele hacerse, suelen copiarse ideas, o mejorar cosas que se observan en otros paquetes, pero lo importante si se hace, es saber como funciona y entenderlo, si no, no nos aportar nada.

Ejercicios propuestos de la Unidad


Pg. 1.1

Aviso legal: Este curso es gratuito siempre que se visualice desde la pgina web de aulaClic. No est permitido utilizar estos cursos en empresas, academias o centros de enseanza. Antonio Arjona Cornejo. Todos los derechos reservados. Prohibida la reproduccin por cualquier medio. octubre-2010.
Buscar

Bsqueda personalizada

Ejercicios unidad 1: Programacin


No va a ser lo habitual, pero en este caso plantense cualquier actividad de las que realizamos al final de un da y trate de desglosarla en pasos. Primero en dos o tres, pero luego esos dos o tres pasos, cada uno de ellos ha de dividirlos en dos o tres o ms a su vez, y a ver hasta donde es capaz de llegar. Si no tienes muy claro las operaciones a realizar, aqu te ayudamos.

Aviso legal: Este curso es gratuito siempre que se visualice desde la pgina web de aulaClic. No est permitido utilizar estos cursos en empresas, academias o centros de enseanza.

Antonio Arjona Cornejo. Todos los derechos reservados. Prohibida la reproduccin por cualquier medio. octubre-2010.
Buscar

Bsqueda personalizada

Ayuda ejercicios unidad 1: Programacin


Las actividades de un da podran ser:

Levantarse Asearse Desayunar Realizar las actividades matutinas Almorzar ...

Levantarse se puede dividir en Suena el despertador. Levantar la ropa de la cama Abrir la ventana.

Pero Levantar la ropa de la cama se puede dividir en Sujeta la ropa Desplzala hacia atrs Suelta la ropa

En fin, por ah va el tema.

Aviso legal: Este curso es gratuito siempre que se visualice desde la pgina web de aulaClic. No est permitido utilizar estos cursos en empresas, academias o centros de enseanza. Antonio Arjona Cornejo. Todos los derechos reservados. Prohibida la reproduccin por cualquier medio. octubre-2010.
Buscar

Bsqueda personalizada

Unidad 2. Estructura y representacin de un programa (I)


2.1. Objetivos del tema.
Veamos lo que es un programa, en cuanto a sus elementos mnimos, y estructura mnima, poco a poco iremos ampliando e introduciendo el resto de elementos.

2.2. Introduccin.
Un ordenador tiene como misin la de realizar, o facilitar las tareas que de otra forma se realizaran en una forma tediosa e incomoda. Los ordenadores son capaces de ejecutar programas. Los programas estn realizados por personas y los ejecutan los ordenadores. Los programas utilizan informacin en su ejecucin, y como resultado de su ejecucin facilitan, o no, nuevos datos. Los datos que se utilizan en los programas forman parte de las instrucciones que ejecuta el programa.

2.3. Escribir un programa.


Toda actividad necesita de un argot, jerga y convenios para poderse entender entre las personas que se dedican a una misma labor. No es que se pretenda aislarse del resto de las personas, sino que es necesario ese convenio y un lenguaje especfico que a cada cosa

le asigne su nombre caracterstico y propio, y de esa forma facilite la comunicacin entre las personas. De esta forma surge en cada profesin una serie de smbolos y palabras para facilitar el trabajo.

Existe varias formas de representar un programa de forma previa a su codificacin y a partir de los datos que nos entregan como consecuencia de la fase previa de anlisis.

Seudocdigo Ordinogramas.

Lo que sigue es un pequeo ejemplo de un programa muy sencillo, en formato de seudocdigo.

Inicio Escribir Clculo del rea de un tringulo

Leer Introduzca la base del tringulo, Base Leer Introduzca la altura del tringulo, Altura

Area = (Base * Altura) / 2 Escribir El rea del tringulo es Fin , Area

Esta forma de escribir, o de describir dicho programa se denomina pseudocdigo.

Como se puede comprobar, es una forma sencilla de describir un programa en un formato muy prximo al ser humano, pero tambin se puede desarrollar de forma grfica.

Para ello los smbolos utilizados bsicamente son:

Y a continuacin vemos el ejemplo de antes representado mediante organigrama.

Ambos sistemas son vlidos, cada cual puede elegir el que ms le guste.
Pg. 2.1

Aviso legal: Este curso es gratuito siempre que se visualice desde la pgina web de aulaClic. No est permitido utilizar estos cursos en empresas, academias o centros de enseanza. Antonio Arjona Cornejo. Todos los derechos reservados. Prohibida la reproduccin por cualquier medio. octubre-2010.
Buscar

Bsqueda personalizada

Unidad 2. Estructura y representacin de un programa (II)


Expliquemos lo visto.

Escribir Clculo del rea de un tringulo

Esto es una instruccin que incorpora un texto que se llama literal, y en un programa de verdad en lugar de estar en castellano estar en ingles.

Instruccin Literal

Escribir Clculo

El fin de sta instruccin es el de poder comunicarse con la persona que est utilizando el programa, y poder emitir mensajes, de ayuda, de ttulo, etc

Leer Base del tringulo, Base

Esto es una instruccin que es capaz de visualizar un texto y esperar a que el usuario escriba un dato.

Instruccin Literal Dato

Leer Introduzca Base

El fin de sta instruccin es el de poder recibir datos por teclado desde la persona que est utilizando el programa.

Inicio .. / .. Fin

Esta es la forma de delimitar el programa en su inicio y final, cada lenguaje dispone de una sintaxis ms o menos similar, Begin End, Todos los programas de una u otra forma tienen delimitado donde empieza y donde acaban, el sistema cambia en funcin de la sintaxis de cada uno de los lenguajes de programacin.

Los programas no son solamente como lo visto en el ejemplo, son algo ms complejos e incorporan estructuras que ya incorporaremos ms adelante.

Ejercicios propuestos de la Unidad


Pg. 2.2

Aviso legal: Este curso es gratuito siempre que se visualice desde la pgina web de aulaClic. No est permitido utilizar estos cursos en empresas, academias o centros de enseanza. Antonio Arjona Cornejo. Todos los derechos reservados. Prohibida la reproduccin por cualquier medio. octubre-2010.
Buscar

Bsqueda personalizada

Ejercicios unidad 2: Estructura y representacin de un programa


Siguiendo cualquiera de los dos sistemas expuestos, realizar los siguientes ejercicios.

Introducir dos nmeros y calcular la suma de los mismos, visualizando el resultado final. Repetir para la resta y la multiplicacin.

Hallar el rea y la longitud de una circunferencia, solicitando el radio de la misma R . Area = PI * R al cuadrado, Longitud = 2 * PI * R .

3 4

Hallar el rea de un tringulo. Area = Base por Altura / 2. Introducir un nmero A y calcular B. comprobar el resultado. B= A * (A+5) / A + (A*5),

Si no tienes muy claro las operaciones a realizar, aqu te ayudamos.

Aviso legal: Este curso es gratuito siempre que se visualice desde la pgina web de aulaClic. No est permitido utilizar estos cursos en empresas, academias o centros de enseanza. Antonio Arjona Cornejo. Todos los derechos reservados. Prohibida la reproduccin por cualquier medio. octubre-2010.
Buscar

Bsqueda personalizada

Ayuda ejercicios unidad 2: Estructura y representacin de un programa


Ofrecemos la versin en organigrama.

Aviso legal: Este curso es gratuito siempre que se visualice desde la pgina web de aulaClic. No est permitido utilizar estos cursos en empresas, academias o centros de enseanza. Antonio Arjona Cornejo. Todos los derechos reservados. Prohibida la reproduccin por cualquier medio. octubre-2010.
Buscar

Bsqueda personalizada

Unidad 3. Los datos (I)


3.1. Objetivos del tema.
Hemos visto en el tema anterior como un programa es algo muy fcil, claro el ejemplo era muy fcil, pero se trataba de dejar visto, que es as. Ahora vamos a ver que en el tema anterior hemos utilizado datos, pero que en realidad los datos son algo ms.

3.2. Introduccin.
Los datos en un programa es uno de los elementos vitales del mismo, pero en la vida cotidiana los utilizamos a diario tambin, si nos fijamos en los datos que utilizamos, nos daremos cuenta que son letras y nmeros, nmeros solo o solo letras. Tambin, cuando a lo largo del da alguien nos da un dato pequeo, normalmente no memorizamos, pero si es largo o complejo, lo apuntamos, Por qu?, por que tenemos nuestras limitaciones, por la edad, por lo despistados que somos etc.. Los ordenadores tambin disponen de memoria, y tambin manejan informacin, datos, y en funcin de lo voluminosos que sean los datos, los almacenarn en la memoria central del ordenador, o en un soporte, en el disco duro o lo grabaremos en un disquete o disco compacto, etc..

3.3. Los tipos de datos.


Informticamente los datos son de dos tipos bsicos, nmeros y letras, o numricos y alfanumricos. Con los datos numricos realizamos operaciones de clculo y con los alfanumricos representamos informacin y la almacenamos para el uso en el programa.

El dato numrico utilizar en memoria un espacio adecuado para el valor que puede tomar. Como la memoria en un ordenador es vital, conviene aprovecharla al mximo. Un valor numrico puede tomar un valor desde cero, olvidemos los nmeros negativos, hasta ...., hasta un valor que es imposible escribir, o sea, infinito. Pero eso en un ordenador es imposible de asumir. Por lo tanto lo que hacemos es que creamos rangos, y a cada rango le asignamos un tipo de dato.

Cmo se crean los rangos? Pensemos en que un ordenador solo sabe utilizar un uno y un cero, ausencia de voltaje y presencia de voltaje elctrico, sistema binario, pero nosotros utilizamos lo que denominamos el sistema decimal, es decir diez elementos en lugar de dos. En este sistema, cada uno de los dgitos utilizados se denomina bit, ( Binary digit).

Por lo tanto para almacenar un nmero del cero al nueve, necesitaremos una combinacin de ceros y unos que permitan representar cada uno de esos nmeros, y como son diez, se necesitan diez combinaciones.

0 1 2 3 4 5 6 7 8 9

0 1 10 11 100 101 110 111 1000 1001

Esa sera la combinacin para representar los diez dgitos del cero al nueve.

Cada uno de esos dgitos los denominamos bits, por lo tanto el cinco necesita tres bits para representarlo. Si siguiramos esa secuencia podramos ir creando todos los nmeros decimales en binario.

Estos bit se agrupan en grupos de

1 bit. 4 bit un cuarteto. 8 bit un octeto, un octeto es un byte. 1024 bytes, es un Kilobyte. Kb. 1024 Kb son un Megabyte, Mgb 1024 Mgb. son un Gigabyte.

Si nos preguntamos porque se usa 1024 en lugar de 1000, la respuesta es que hay que buscar bloques de 8 bits, que son un byte, 1024 es 2
10

Los datos alfanumricos no tiene problema en su representacin, pues cada carcter ocupa un byte en memoria, tantos caracteres tantos bytes, dentro de las limitaciones del lenguaje de programacin que se este utilizando. El motivo de utilizar un byte para cada carcter es que el nmero de caracteres mximo distintos en un idioma latino, o anglosajon, tomando los nmeros como caracteres independientes, incluidos letras acentuadas y caracteres de puntuacin no supera los 256, con un byte podemos obtener 256 combinaciones distintas, del 0 al 255. Actualmente se utiliza un sistema de dos bytes que de forma unilateral implanto una empresa de software, por lo cual, aunque nosotros usemos un carcter para almacenarlo se utilizaran dos.

Esto permite que se puedan representar hasta 65535 combinaciones de smbolos, necesario para los lenguajes orientales, que usan smbolos en lugar de letras.

Pero los nmeros son datos compactos, no se pueden andar separando de forma arbitraria, ya que hay que realizar operaciones de clculo con ellos, por lo tanto han de ocupar uno, dos o x bytes, pero contiguos, para as poder operar matemticamente. Por lo tanto los nmeros que podemos representar en un sistema depender del nmero de bytes que pongamos juntos para representar ese nmero.

Por ejemplo si ponemos un solo byte a disposicin del sistema, solo podremos representar nmeros entre el 0 y el 255. Un byte son 8 bits, las combinaciones son 2 que es igual a 256, que son los nmeros que podemos representar. Como eso es muy pobre, el rango ms pequeo que se utiliza es el de dos bytes, que permiten manejar nmeros entre 32767 y + 32768, como nmeros enteros. Aunque eso parece un rango muy pequeo, en programacin los nmeros enteros se usan para contar cosas, y en un porcentaje muy elevado de casos es suficiente ese rango, siempre que se haga un uso adecuado de los recursos.
8

Claro la pregunta sale sola pero nmeros hay .... ? , claro que hay ms, pero esos ya se han dado en clasificar en otro tipo de datos, los llamados nmeros reales.

Los nmeros reales se representan con otro sistema, no creeremos que se puede asignar espacio en memoria para el nmero 12345678901234567890, o bien para el

0,12345678901234567890, eso no es factible. Por lo tanto en funcin del tamao del espacio usado en memoria se puede abarcar ms o menos valores.

Esta tabla muestra los valores mximos y mnimos en funcin del nmero de bytes utilizados en lun lenguaje de programacin.. Pensemos que hace aos un nmero entero utilizaba dos bytes, ahora en los lenguajes modernos utiliza 4, por lo que se aumenta el nmero de valores posibles vlidos.
Pg. 3.1

Aviso legal: Este curso es gratuito siempre que se visualice desde la pgina web de aulaClic. No est permitido utilizar estos cursos en empresas, academias o centros de enseanza. Antonio Arjona Cornejo. Todos los derechos reservados. Prohibida la reproduccin por cualquier medio. octubre-2010.
Buscar

Bsqueda personalizada

Unidad 3. Los datos (II)

Byte s Byte nmeros 1

Mximo

Mnimo

255

Booleano Integer rangos Long largo Single precisin nmeros (positivos) Single precisi n nmeros(negativ os) Double precisin nmeros(positiv os) Double precisin nmeros (negativos) Entero

2 2 4

True 32,767 2,147,483,647

False -32,768 -2,147,483,648

3.402823E+38

1.401298E-45

-1.401298E-45

-3.402823E+38

1.797693134862315D +308

4.940656458412465D -324

4.940656458412465D324

1.797693134862315D +308

Pero para representar las letras sucede lo mismo, tambin hay que buscar una combinacin de ceros y unos. Y como adems hay que representar otra serie de caracteres de control que se utilizan en otras tareas, todos y cada uno de ellos necesita de una representacin en binario de su valor en el sistema o idioma que nosotros utilizamos.

La suma de todos esos nmeros, letras y caracteres de control aproximadamente es de unos 170 elementos.

Ejercicios propuestos de la Unidad


Pg. 3.2

Aviso legal: Este curso es gratuito siempre que se visualice desde la pgina web de aulaClic. No est permitido utilizar estos cursos en empresas, academias o centros de enseanza. Antonio Arjona Cornejo. Todos los derechos reservados. Prohibida la reproduccin por cualquier medio. octubre-2010.
Buscar

Bsqueda personalizada

Ejercicios unidad 3: Los datos


Con la tabla de referencia anterior,

Byte s Byte nmeros Booleano Integer rangos Long largo Single precisin nmeros (positivos) Single precisi n nmeros(negativ os) Double 8 4 4 Entero 1 2 2 4

Mximo

Mnimo

255 True 32,767 2,147,483,647

0 False -32,768 -2,147,483,648

3.402823E+38

1.401298E-45

-1.401298E-45

-3.402823E+38

1.797693134862315D

4.940656458412465D

precisin nmeros(positiv os) Double precisin nmeros (negativos) 8

+308

-324

4.940656458412465D324

1.797693134862315D +308

responde a estas cuestiones.

Deseo contar los espectadores de un partido de ftbol, qu tipo de dato utilizaras en el programa.

Deseo saber cuntos espectadores entran a ver una obra de teatro, qu tipo de dato utilizaras en el programa.

Deseo saber cuntas botellas se llenan al final del da en una fbrica, que tiene una capacidad mxima de fabricacin de 1000 botellas por minuto.

Si deseo representar en un programa un texto con el cual informar de un error de ejecucin al usuario, que tipo de dato utilizara.

Si no tienes muy claro las operaciones a realizar, aqu te ayudamos.

Aviso legal: Este curso es gratuito siempre que se visualice desde la pgina web de aulaClic. No est permitido utilizar estos cursos en empresas, academias o centros de enseanza. Antonio Arjona Cornejo. Todos los derechos reservados. Prohibida la reproduccin por cualquier medio. octubre-2010.
Buscar

Bsqueda personalizada

Ayuda ejercicios unidad 3: Los datos


1 Se podran utilizar, tipos de datos de tipo Byte, Integer o Long, depender de lo malo que sea el partido, pero lo lgico sera utilizar un Long. 2 En este caso un Integer sera suficiente, un teatro es un recinto pequeo, no llegar nunca a los 65000, o 32767 si utilizamos signo, espectadores. 3 Dado el nmero posible de valores que puede alcanzar el resultado sera multiplicar 24 * 60 * 1000 que dara como resultado un tipo de dato Long. 4 En el momento que utilizamos texto, el tipo de dato es obligatoriamente alfanumrico.

Los nmeros se pueden representar tambin como datos alfanumricos, al fin y al cabo la A es un carcter igual que el 1, pero entonces no podemos operar matemticamente con l.

Aviso legal: Este curso es gratuito siempre que se visualice desde la pgina web de aulaClic. No est permitido utilizar estos cursos en empresas, academias o centros de enseanza. Antonio Arjona Cornejo. Todos los derechos reservados. Prohibida la reproduccin por cualquier medio. octubre-2010.
Buscar

Bsqueda personalizada

Unidad 4. Las expresiones (I)


4.1. Objetivos del tema.
Hemos visto en el tema anterior que en un programa uno de los apartados a utilizar son los datos. Los datos en si no son nada si no se utilizan, y la forma de utilizarlos es en expresiones, dentro de una instruccin, o de forma aislada, vamos a ver que son las expresiones y su evaluacin.

4.2. Introduccin.
Las instrucciones es la forma de hacer que un programa haga la tarea para la cual lo estamos escribiendo, pero esas instrucciones tienen que manejar datos, y al final lo que hacemos es escribir expresiones que se evalan y que producen un resultado que permite resolver o tomar una decisin. Para utilizar los datos necesitamos crear esas expresiones, las expresiones las crearemos utilizando los datos y los operadores que me permiten dar sentido a esa expresin para que produzca un resultado.

4.3. Expresiones.
Las expresiones estn compuestas por datos, y los datos en un programa se almacenan en variables. Las denominamos de esa forma porque su valor cambia a lo largo de la ejecucin del programa, cuando un dato est almacenado en una variable y su valor es esttico, por ejemplo declaramos la variable Pi = 3,1415, entonces la denominamos constante. Las variables, como ya se coment antes, almacenan datos, y los datos hemos quedado que bsicamente eran de dos tipos numricos y alfanumricos. Con las variables alfanumricas almacenamos datos de texto, para el uso que sea pertinente en el programa. Con las variables numricas almacenamos datos de valor numrico, con las que podemos realizar operaciones de clculo.

Si las variables son numricas, en realidad, y recordando el cuadro de posibles valores del tema anterior, las variables numricas en realidad podrn ser:

Byte Integer Long Real

Hay que tener presente que el nombre de los tipos cambiar en funcin del lenguaje utilizado, por ejemplo el Real tambin podemos encontrarlo como simple y doble precisin.

La expresin es la unin de una serie de variables unidas por operadores que expresan una condicin, un clculo, una comparacin. En estas expresiones los operadores se evalan en el siguiente orden,

Parntesis, de dentro a fuera. Signo. Potencia. Productos y divisiones. Suma y restas. Concatenacin. Relacionales. Negacin. Conjuncin. Disyuncin.

Cuando hay expresiones que contienen operadores de ms de una categora, se resuelven antes las que tienen operadores aritmticos, a continuacin las que tienen operadores de comparacin y por ltimo las de operadores lgicos. Los operadores de comparacin tienen todos la misma prioridad; es decir, se evalan de izquierda a derecha, en el orden en que aparecen. Los operadores lgicos y aritmticos se evalan en el siguiente orden de prioridad:

Tipos de operadores.

Aritmticos lgicos Exponenciacin Negacin Multiplicacin y divisin Divisin de enteros Mdulo aritmtico (Mod) Adicin y substraccin

Relacionales

Operadores

Igualdad Desigualdad, distinto Menor que Mayor que Menor o igual que Mayor o igual que

Negacin lgica Conjuncin Disyuncin Exclusin lgica Equivalencia Implicacin

En cada lenguaje de programacin cada operador tiene un smbolo asignado, en la mayora coinciden, pero hay algunos que cambian de forma significativa, por lo que cuando se entre en cada lenguaje se expondrn los mismos.

Cuando hay multiplicacin y divisin en la misma expresin, cada operacin se evala a medida que aparece, de izquierda a derecha. Del mismo modo, cuando se presentan adiciones y substracciones en una misma expresin, cada operacin se evala tal como aparecen de izquierda a derecha. Es posible usar parntesis para saltar el orden de preferencia y forzar que algunas partes de una expresin se evalen antes que otras. Las operaciones entre parntesis se realizan antes que las de fuera. Sin embargo, dentro de los parntesis, la precedencia de los operadores se mantiene.

El operador de concatenacin de cadenas (&) o (+) no es realmente un operador aritmtico, pero en orden de prioridad se encuentra a continuacin de todos los operadores aritmticos y antes que todos los operadores de comparacin.

4.4. Como se distinguen los tipos de variable?


La diferenciacin entre un tipo y otro de variables, se realiza de dos formas bsicamente,

En la creacin a la hora de definirlas se les asigna un tipo, pero el nombre no lleva ningn carcter identificativo,

En la creacin a la hora de definirlas se les asigna un tipo y adems el nombre lleva un carcter que la identifica como tal tipo, si se utiliza el sistema de notacin hungara.

La notacin hungara, consiste en prefijos en minsculas que se aaden a los nombres de las variables, y que indican su tipo. El resto del nombre indica, lo ms claramente posible, la funcin que realiza la variable.
Pg. 4.1

Aviso legal: Este curso es gratuito siempre que se visualice desde la pgina web de aulaClic. No est permitido utilizar estos cursos en empresas, academias o centros de enseanza. Antonio Arjona Cornejo. Todos los derechos reservados. Prohibida la reproduccin por cualquier medio. octubre-2010.
Buscar

Bsqueda personalizada

Unidad 4. Las expresiones (II)


4.5. Operadores.
Indican que tipo de accin se ha de realizar con dos variables. Hemos quedado que las variables contienen datos. Los datos son para manejarlos y obtener otros datos a partir de ellos. Para eso hay que realizar distintos tipos de operaciones y cada operacin ha de estar representada por un operador. Los operadores se dividen por el tipo de operacin que realizan.

Las distintas operaciones que se pueden realizar en un programa son:

Aritmticas. Lgicas. Condicin. Relacionales.

Sumas restas ... Condicin And Condicin, o Condicin Or

Mayor o Igual, >=, <=, =, >, <

Que se corresponde con los tipos de operadores descritos anteriormente. Luego para cada tipo de operacin son necesarios unos smbolos que identifiquen la accin que se desea realizar. A continuacin exponemos los operadores en un formato que suele ser habitual, pero que despus habr que volver a ver en el lenguaje correspondiente.

Con el fin de poder realizar los ejemplos, se han utilizado los smbolos que se utilizan en Visual Basic.

1 Aritmticos.
Para indicar clculos de tipo matemtico. Suma Resta Multiplicacin Divisin Resto divisin Raz cuadrada Exponenciacin Ejemplos. Variable = Variable + 1 un Contador. Variable = Variable + OtraVariable llamamos Acumulador. Suma, y lo Suma y adems es + * /, Divisin entera, o DIV Mod Sqr ^

Variable = Variable * 3 + OtraVariable

2 Lgicos.
And, Or, Not, Xor, Imp. Eqv Los operadores lgicos unen dos o ms condiciones para formar una nica expresin. 2.1 And. Se utiliza para efectuar una conjuncin lgica de dos expresiones.

Sintaxis resultado = expresin1 And expresin2

La sintaxis del operador And consta de las siguientes partes:

Parte resultado

Descripcin Obligatorio; cualquier variable numrica.

Comentarios Si y slo si ambas expresiones se evalan como True, el resultado es True. Si cualquiera de las expresiones es False, el resultado es False. La siguiente tabla ilustra cmo se determina el resultado:

La tabla de verdad es: Expresin1 True True False False Expresin2 True False True False Resultado True False False False

El operador And ejecuta tambin una comparacin bit a bit para identificar los bits de dos expresiones numricas que tienen la misma posicin y establece el bit correspondiente en el resultado segn la siguiente tabla de decisin lgica:

La tabla de verdad es : Bit 0 0 1 1 Bit 0 1 0 1 Resultado 0 0 0 1

2.2 Or. Se utiliza para ejecutar una disyuncin lgica sobre dos expresiones.

Sintaxis resultado = expresin1 Or expresin2

La sintaxis del operador Or consta de las siguientes partes:

Parte resultado

Descripcin Obligatorio; cualquier variable numrica.

Comentarios Si cualquiera de las expresiones, o ambas, es True, el resultado es True. La siguiente tabla indica cmo se determina el resultado: La tabla de verdad es: Expresin1 True True False False Expresin2 True False True False Resultado True True True False

El operador Or ejecuta una comparacin bit a bit para identificar los bits de dos expresiones numricas que tienen la misma posicin y establece el bit correspondiente en el resultado segn la siguiente tabla de decisin lgica: La tabla de verdad es: Bit1 0 0 1 1 Bit2 0 1 0 1
Pg. 4.2

Resultado 0 1 1 1

Aviso legal: Este curso es gratuito siempre que se visualice desde la pgina web de aulaClic. No est permitido utilizar estos cursos en empresas, academias o centros de enseanza. Antonio Arjona Cornejo. Todos los derechos reservados. Prohibida la reproduccin por cualquier medio. octubre-2010.
Buscar

Bsqueda personalizada

Unidad 4. Las expresiones (III)


2.3 Not. Se utiliza para ejecutar una negacin lgica sobre una expresin.

Sintaxis resultado = Not expresin

La sintaxis del operador Not consta de las siguientes partes:

Parte resultado expresin

Descripcin Obligatorio; cualquier variable numrica.

Obligatorio; cualquier expresin.

Comentarios La siguiente tabla muestra cmo se determina el resultado: Expresin Trae False Resultado False True

Adems, el operador Not invierte los valores de bit de cualquier variable y establece el bit correspondiente en resultado, de acuerdo con la siguiente tabla de decisin lgica: La tabla de verdad es: Bit1 0 1 Resultado 1 0

2.4 Xor. Se utiliza para realizar una exclusin lgica entre dos expresiones.

Sintaxis

[resultado =] expresin1 Xor expresin2

La sintaxis del operador Xor consta de las siguientes partes:

Parte resultado

Descripcin Obligatorio; cualquier variable numrica.

Comentarios Si una y slo una de las expresiones es True, el resultado es True. Sin embargo, si cualquiera de las expresiones es Null, el resultado es tambin Null. Cuando ninguna de las expresiones es Null, el resultado se determina de acuerdo con la siguiente tabla: La tabla de verdad es: Expresin1 True True False False Expresin2 True False True False Resultado False True True False

El operador Xor funciona como operador lgico y bit a bit. Ejecuta una comparacin bit a bit para identificar los bits de dos expresiones utilizando lgica de O exclusivo para obtener el resultado, segn la siguiente tabla de decisin lgica: La tabla de verdad es: Bit1 0 0 1 1 Bit2 0 1 0 1
Pg. 4.3

Resultado 0 1 1 0

Aviso legal: Este curso es gratuito siempre que se visualice desde la pgina web de aulaClic. No est permitido utilizar estos cursos en empresas, academias o centros de enseanza. Antonio Arjona Cornejo. Todos los derechos reservados. Prohibida la reproduccin por cualquier medio. octubre-2010.
Buscar

Bsqueda personalizada

Unidad 4. Las expresiones (IV)


2.5 Imp. Se utiliza para efectuar una implicacin lgica de dos expresiones.

Sintaxis resultado = expresin1 Imp expresin2

La sintaxis del operador Imp consta de las siguientes partes:

Parte resultado

Descripcin Obligatorio; cualquier variable numrica.

Comentarios

La siguiente tabla ilustra cmo se determina el resultado: La tabla de verdad es: Expresin1 True True False False Expresin2 True False True False Resultado True False True True

El operador Imp ejecuta una comparacin bit a bit para identificar los bits de dos expresiones numricas que tienen la misma posicin y establece el bit correspondiente en el resultado segn la siguiente tabla de decisin lgica: La tabla de verdad es: Bit1 0 0 1 1 2.6 Eqv. Se utiliza para efectuar una equivalencia lgica de dos expresiones. Bit2 0 1 0 1 Resultado 1 1 0 1

Sintaxis resultado = expresin1 Eqv expresin2

La sintaxis del operador Eqv consta de las siguientes partes:

Parte resultado

Descripcin Obligatorio; cualquier variable numrica.

Comentarios

Si cualquiera de las expresiones es de tipo Null, el resultado es tambin Null. Si ninguna de las expresiones es Null, el resultado se determina segn la siguiente tabla: La tabla de verdad es: Expresin1 True True False False Expresin2 True False True False Resultado True False False True

El operador Eqv ejecuta una comparacin bit a bit para identificar los bits de dos expresiones numricas que tienen la misma posicin y establece el bit correspondiente en el resultado segn la siguiente tabla de decisin lgica: La tabla de verdad es: Bit1 0 0 1 1 Bit2 0 1 0 1 Resultado 1 0 0 1

3 Cadenas, strings.
El smbolo utilizado habitualmente es el + y el &, que no representa una suma, sino la concatenacin o unin de dos variables alfanumricas, creando una nueva con el contenido de ambas.

4 Relacionales
>, >=, <>, <, <=, =. Son los smbolos que se usan en una comparacin para indicar como hacerla, si A ha de ser mayor que B, etc.

Ejercicios propuestos de la Unidad


Pg. 4.4

Aviso legal: Este curso es gratuito siempre que se visualice desde la pgina web de aulaClic. No est permitido utilizar estos cursos en empresas, academias o centros de enseanza. Antonio Arjona Cornejo. Todos los derechos reservados. Prohibida la reproduccin por cualquier medio. octubre-2010.
Buscar

Bsqueda personalizada

Ejercicios unidad 4: Las expresiones


En la evaluacin de las expresiones, se ha subrayado la parte de la expresin que se va a evaluar y despus su resultado en negrita.
2

((3+2 ) - 15) / 2 * 5 ((5) - 15) / 2 * 5 (25 - 15) / 2 * 5 etc


2

Evaluamos (3+2) El resultado es 5, ahora evaluamos (5)


2.

El resultado es 25, ahora evaluamos (25 - 15),

El ejemplo completo.
2

Se escribe Se interpreta

((3+2 ) - 15) / 2 * 5 ((3+2 ) - 15) / 2 * 5 ((5) - 15) / 2 * 5 (25 - 15) / 2 * 5


2 2

10 / 2 * 5 5*5 Resultado 25

Se escribe Se interpreta

5 - 2 > 4 AND NOT 0.5 = 1 / 2 5 - 2 > 4 AND NOT 0.5 = 1 / 2 3 > 4 AND NOT 0.5 = 1 / 2 False AND NOT 0.5 = 1 / 2 False AND NOT True False AND False

Resultado

False

Siempre se llega a una expresin simple.

Dadas las siguientes variables y constantes.

V alor V ariable

10

3,141592

2.7 18281

Pi

Evaluar las siguientes expresiones, para los valores anteriores.

1 2 3 4 5 6 7

2 * X + 0.5 * Y - 1/5 * Z Pi * Y 2 > Y OR 2 * Pi * X < = Z E (X - 1) / ( X * Z ) / ( X / Z) Don + Juan= Don Juan Or A= a X - Y + Z + Pi - E + 2.576689 (-3) * X+2*Y-1 / 2*z 2 * Y 2 - 6 * Y + 12

8 9

(2 * Y) 2 - 6 * Y + 12 (Y(2*X) - 6 * (Z / 10 ) ) / 2

10 X>3 AND Y = 4 or X + Y <= Z 11 X>3 AND (Y= 4 or X + Y >= Z) 12 NOT METODO+LOGIA = LOGIA+METODO

Si no tienes muy claro las operaciones a realizar, aqu te ayudamos.

Aviso legal: Este curso es gratuito siempre que se visualice desde la pgina web de aulaClic. No est permitido utilizar estos cursos en empresas, academias o centros de enseanza. Antonio Arjona Cornejo. Todos los derechos reservados. Prohibida la reproduccin por cualquier medio. octubre-2010.
Buscar

Bsqueda personalizada

Ayuda ejercicios unidad 4: Las expresiones


Se escribe 2 * X + 0.5 * Y - 1/5 * Z Se evala 2 * X + 0.5 * Y - 1/5 * Z 2 + 0.5 * Y - 1/5 * Z 2 + 2 - 1/5 * Z

2 + 2 - 0,2 * Z 2+2-2 4-2 Resultado 2

Se escribe Pi * X^2 > Y OR 2 * Pi * x < = Z Se evala Pi * X^2 > Y OR 2 * Pi * x < = Z Pi * 1 > Y OR 2 * Pi * x < = Z 3,141592 > Y OR 2 * Pi * x < = Z 3,141592 > Y OR 6.283184 < = Z False OR 6.283184 < = Z False OR True

Resultado True

Se escribe E Se evala E E E E

(X-1)

/ ( X * Z ) / ( X / Z) / ( X * Z ) / ( X / Z)

(X-1)

/ ( X * Z ) / ( X / Z) / 10 / ( X / Z) / 10 / 0,1

1 / 10 / 0,1 0,1 / 0,1 Resultado 1

Se escribe Don + Juan= Don Juan Or A= a

Se evala Don + Juan= Don Juan Or A= a Don Juan= Don Juan Or A= a True Or A= a True Or False

Resultado True

Se escribe X - Y + Z + Pi - E + 2.576689 Se evala X - Y + Z + Pi - E + 2.576689 -3 + Z + Pi - E + 2.576689 +7 + Pi - E + 2.576689 10,141592 - E + 2.576689 7,423311 + 2.576689 Resultado 10

Se escribe (-3) * X + 2 * Y - 1 / 2 * Z Se evala (-3) * X + 2 * Y - 1 / 2 * Z -3 + 2 * Y - 1 / 2 * Z -3 + 8 - 1 / 2 * Z -3 + 8 - 0.5 * Z -3 + 8 - 5 5-5 Resultado 0

Se escribe 2 * Y ^ 2 - 6 * Y + 12 Se evala 2 * Y ^ 2 - 6 * Y + 12 2 * 16 - 6 * Y + 12 32 - 6 * Y + 12

32 - 24 + 12 8 + 12 Resultado 20

Se escribe (2 * Y) - 6 * Y + 12 Se evala (2 * Y ) - 6 * Y + 12 8 - 6 * Y + 12 64 - 6 * Y + 12 64 - 24 + 12 40 + 12 Resultado 52 Se escribe (Y Se evala (Y


(2*X) 2 2

- 6 * (Z / 10 ) ) / 2 - 6 * (Z / 10 ) ) / 2

(2*X)

(Y - 6 * (Z / 10 ) ) / 2 (Y - 6 * 1) / 2 (16 - 6 * 1) / 2 (16 - 6) / 2 10 / 2 Resultado 5


2

Se escribe X > 3 AND Y = 4 OR X + Y < = Z Se evala X > 3 AND Y = 4 OR X + Y < = Z X > 3 AND Y = 4 OR 5 < = Z False AND Y = 4 OR 5 < = Z False AND True OR 5 < = Z False AND True OR True False OR True

Resultado True

Se escribe X > 3 AND (Y= 4 OR X + Y > = Z) Se evala X > 3 AND (Y= 4 OR X + Y > = Z) X > 3 AND (Y= 4 OR 5 > = Z) X > 3 AND (True OR 5 > = Z) X > 3 AND (True OR False) X > 3 AND True False AND True Resultado False

Se escribe NOT METODO+LOGIA = LOGIA+METODO Se evala NOT METODO+LOGIA = LOGIA+METODO NOT METODOLOGIA = LOGIA+METODO NOT METODOLOGIA = LOGIAMETODO NOT False

Resultado True
El smbolo +, se usa como concatenacin.

Aviso legal: Este curso es gratuito siempre que se visualice desde la pgina web de aulaClic. No est permitido utilizar estos cursos en empresas, academias o centros de enseanza. Antonio Arjona Cornejo. Todos los derechos reservados. Prohibida la reproduccin por cualquier medio. octubre-2010.
Buscar

Bsqueda personalizada

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 decisin. Ejecucin repetitiva. alternativa, tomar una

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.

Pg. 5.1

Aviso legal: Este curso es gratuito siempre que se visualice desde la pgina web de aulaClic. No est permitido utilizar estos cursos en empresas, academias o centros de enseanza. Antonio Arjona Cornejo. Todos los derechos reservados. Prohibida la reproduccin por cualquier medio. octubre-2010.
Buscar

Bsqueda personalizada

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 observar

el

ejemplo dentro

podemos de la

como

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 instrucciones que se permite ejecuten que un esas 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.

Ejercicios propuestos de la Unidad


Pg. 5.2

Aviso legal: Este curso es gratuito siempre que se visualice desde la pgina web de aulaClic. No est permitido utilizar estos cursos en empresas, academias o centros de enseanza. Antonio Arjona Cornejo. Todos los derechos reservados. Prohibida la reproduccin por cualquier medio. octubre-2010.
Buscar

Bsqueda personalizada

Ejercicios unidad 5: Las instrucciones


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, e indicar si son distintos. 4. - Introducir dos nmeros A y B, e indicar si no son iguales. 5. - Introducir dos nmeros A y B, e indicar si son iguales. 6. - Introducir dos nmeros A y B, e indicar cual no es el mayor. 7. - Introducir dos nmeros A y B, e indicar cual no es el menor.

8. - 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. 9. - Introducir dos nmeros A y B. Si A es menor que B calcular y visualizar A * B y B - A. Si A no es menor que B calcular y visualizar A + B y A / B. 10. - Introducir dos nmeros A y B y visualizarlos en orden creciente. 11. - Introducir dos nmeros A y B y visualizarlos en orden decreciente. 12. - 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. 13. - 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. 14. - Visualizar los nmeros entre 10 y 20 15. - Visualizar los nmeros entre 20 y 10. 16. - Visualizar los nmeros entre 10 y 20 y sumarlos. 17. - Visualizar los nmeros entre 20 y 10 que sean pares.

Si no tienes muy claro las operaciones a realizar, aqu te ayudamos.

Aviso legal: Este curso es gratuito siempre que se visualice desde la pgina web de aulaClic. No est permitido utilizar estos cursos en empresas, academias o centros de enseanza.

Antonio Arjona Cornejo. Todos los derechos reservados. Prohibida la reproduccin por cualquier medio. octubre-2010.
Buscar

Bsqueda personalizada

Ayuda ejercicios unidad 5: Las instrucciones


Ms adelante codificaremos estos ejercicios en el lenguaje que cada uno de ustedes seleccione.

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

Los ejercicios del 1 al 7 son iguales en su estructura, distintos en la condicin.

2 la condicin ser A< B 3 , 4 y 5, la condicin ser A<> B o A = B, en funcin de si deseamos salir por afirmacin o por negacin.

Inicio Ejercicio Uno. Declarar A y B como enteras. Escribir Introducir dos valores e indicar cual es el mayor Leer Introduzca A, A Leer introduzca B, B Si A > B Entonces Escribir El mayor es A Si no Escribir El mayor es B Fin de condicin.

Final

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

7 la estructura es igual cambiando la condicin.

Introducir dos nmeros A y B. Si A es B mayor calcular que y

visualizar A +ByA/ Si A no que B B. es mayor y

calcular

visualizar A *ByBA.

Podemos comprobar que la estructura es la misma pero cambia el contenido de las acciones. Inicio Ejercicio Ocho. Declarar A y B como enteras. Escribir Introducir dos valores numricos Leer Introduzca A, A Leer introduzca B, B Si A > B Entonces Escribir A + B Escribir A / B Si no Escribir A * B Escribir B - A Fin de condicin. Final

Introducir nmeros A y B.

dos

Si

A es menor que calcular B y

visualizar A *B Si y B - A. A no es

menor que B calcular y

visualizar A + B y A / B.

Se repite la estructura cambiando la condicin y el contenido de las acciones. Introducir dos nmeros A y B y visualizarlos en orden creciente.

11, se repite la estructura la condicin.

cambiando

Introducir dos nmeros A y B y visualizar el resultado de: Si B Si A es mayor A / B. menor que que

calcular A es

B calcular A * B. Si A es igual que B calcular A + B.

En ste ejercicio aparece un nuevo smbolo, A comparado con B, por eso la condicin puede tener tres salidas, pero han de estar documentadas, como se puede observar en el mismo. Inicio Ejercicio Doce. Declarar Resultado, A y B como enteras. Escribir Introducir dos valores numricos Leer Introduzca A, A Leer introduzca B, B Si A > B Entonces Resultado = A / B Si no Si A < B Entonces Resultado = A * B Si no Resultado = A + B Fin de condicin Fin de condicin. Escribir El resultado es , Resultado Final

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.

Los siguientes ejercicios, son bucles, y las soluciones estn hechas en la mayora de los casos con bucles del tipo Repeat. Sera conveniente que los hicieran tambin con el bucle While.

Visualizar los nmeros entre 10 y 20

Inicio Ejercicio Catorce. Declarar X como Entera. Escribir Visualizamos los nmeros entre diez y veinte X = 10 Inicio de repite Escribir X X = X + 1 Hasta que X > 20 Final

Inicio Ejercicio Catorce. Declarar X como Entera. Escribir Visualizamos los nmeros entre diez y veinte X = 9 Inicio de repite X = X + 1 Escribir X Hasta que X = 20 Final

Visualizar los nmeros entre 20 y 10.

Visualizar los nmeros entre 10 y 20 y sumarlos.

Inicio Ejercicio Dieciseis. Declarar X y Suma como Entera. Escribir Visualizamos los nmeros entre diez y veinte X = 10

Inicio de repite Escribir X Suma = Suma + X X = X + 1 Hasta que X > 20 Escribir El Valor de la suma es , Suma Final Visualizar los nmeros entre 20 y 10 que sean pares.

La condicin X Mod 2 significa si el resto de la divisin de X por 2 es cero, o sea que es par.

Inicio Ejercicio Diecisiete. Declarar X como Entera. Escribir Visualizamos los nmeros entre diez y veinte X = 21 Inicio de repite X = X 1 Si X Mod 2 = 0 Entonces

Escribir X Fin de condicin Hasta que X = 10 Final

Aviso legal: Este curso es gratuito siempre que se visualice desde la pgina web de aulaClic. No est permitido utilizar estos cursos en empresas, academias o centros de enseanza. Antonio Arjona Cornejo. Todos los derechos reservados. Prohibida la reproduccin por cualquier medio. octubre-2010.
Buscar

Bsqueda personalizada

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.
Pg. 6.1

Aviso legal: Este curso es gratuito siempre que se visualice desde la pgina web de aulaClic. No est permitido utilizar estos cursos en empresas, academias o centros de enseanza. Antonio Arjona Cornejo. Todos los derechos reservados. Prohibida la reproduccin por cualquier medio. octubre-2010.
Buscar

Bsqueda personalizada

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.

Ejercicios propuestos de la Unidad


Pg. 6.2

Aviso legal: Este curso es gratuito siempre que se visualice desde la pgina web de aulaClic. No est permitido utilizar estos cursos en empresas, academias o centros de enseanza. Antonio Arjona Cornejo. Todos los derechos reservados. Prohibida la reproduccin por cualquier medio. octubre-2010.
Buscar

Bsqueda personalizada

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.

Si no tienes muy claro las operaciones a realizar, aqu te ayudamos.

Aviso legal: Este curso es gratuito siempre que se visualice desde la pgina web de aulaClic. No est permitido utilizar estos cursos en empresas, academias o centros de enseanza. Antonio Arjona Cornejo. Todos los derechos reservados. Prohibida la reproduccin por cualquier medio. octubre-2010.
Buscar

Bsqueda personalizada

Ayuda ejercicios unidad 6: Programa


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

Inicio Funcion Mayor(A,B) Declarar Result como Alfanumrico Si C > D Entonces Result = Si no Result = El mayor es B Fin de condicin. Mayor = Result Final de Funcion El mayor es A

Inicio Ejercicio Uno. Declarar A y B como enteras. Escribir Introducir dos valores e indicar cual es el mayor Leer Introduzca A, A Leer introduzca B, B

Escribir El mayor es , Mayor(A,B)

Final

El ejercicio dos es igual, cambiando el valor de la pregunta en la funcin por menor, A <B

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.

Esta es una solucin, pero tambin se puede hacer esto otro, todo es cuestin de gustos. Observar que la entrada de datos se realiza en el procedimiento.

El ejercicio no se debe resolver con una funcin pues se devuelven dos datos, y su solucin debe pasar por un procedimiento. Tambin observar que el procedimiento se llama como si fuera una instruccin ms del programa, no forma parte de una instruccin.

Procedimiento Proceso(A,B) Si A > B Entonces Escribir A + B Escribir A / B Si no Escribir A * B Escribir B - A Fin de condicin. Fin de procedimiento

Inicio Ejercicio Tres. Declarar A y B como enteras. Escribir Introducir dos valores numricos Leer Introduzca A, A Leer introduzca B, B

Proceso(A,B) Final

O la otra opcin.

Procedimiento Proceso() Declarar A y B como enteras. Leer Introduzca A, A Leer introduzca B, B

Si A > B Entonces Escribir A + B Escribir A / B Si no Escribir A * B Escribir B - A Fin de condicin. Fin de procedimiento

Inicio Ejercicio Tres. Escribir Introducir dos valores numricos Proceso Final

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

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.

En ste ejercicio aparece de nuevo el smbolo, A comparado con B, por eso la condicin puede tener tres salidas, pero han de estar documentadas, como se puede observar en el mismo.

Procedimiento Proceso() Declarar Resultado, A y B como enteras.

Leer Introduzca A, A Leer introduzca B, B Si A > B Entonces Resultado = A / B Si no Si A < B Entonces Resultado = A * B Si no Resultado = A + B Fin de condicin Fin de condicin. Escribir El resultado es , Resultado

Fin de procedimiento

Inicio Ejercicio Cinco. Escribir Introducir dos valores numricos Proceso() Final

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.

Los siguientes ejercicios, son bucles, y las soluciones estn hechas en la mayora de los casos con bucles del tipo Repeat. Sera conveniente que los hicieran tambin con el bucle While.

Visualizar los nmeros entre 10 y 20

Procedimiento Proceso() Declarar X como Entera. Escribir Visualizamos los nmeros entre diez y veinte X = 10 Inicio de repite Escribir X X = X + 1 Hasta que X > 20 Fin de procedimiento

Inicio Ejercicio Siete. Proceso Final

Procedimiento Proceso() Declarar X como Entera. Escribir Visualizamos los nmeros entre diez y veinte X = 9 Inicio de repite X = X + 1 Escribir X

Hasta que X = 20 Final de procedimiento

Inicio Ejercicio Siete. Proceso Final

Visualizar los nmeros entre 10 y 20 y sumarlos.

Procedimiento Proceso() Declarar X y Suma como Entera. Escribir Visualizamos los nmeros entre diez y veinte y su suma X = 10 Inicio de repite Escribir X Suma = Suma + X X = X + 1 Hasta que X > 20

Escribir El Valor de la suma es , Suma Final de procedimiento

Inicio Ejercicio Ocho. Proceso Final

Funcion Calcula() Declarar X y Suma como Entera. X = 10 Inicio de repite Escribir X Suma = Suma + X X = X + 1 Hasta que X > 20 Final de funcion

Inicio Ejercicio Ocho. Escribir Visualizamos los nmeros entre diez y veinte y su suma Escribir El Valor de la suma es , Calcula Final

Aviso legal: Este curso es gratuito siempre que se visualice desde la pgina web de aulaClic. No est permitido utilizar estos cursos en empresas, academias o centros de enseanza. Antonio Arjona Cornejo. Todos los derechos reservados. Prohibida la reproduccin por cualquier medio. octubre-2010.
Buscar

Bsqueda personalizada

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.
Pg. 7.1

Aviso legal: Este curso es gratuito siempre que se visualice desde la pgina web de aulaClic. No est permitido utilizar estos cursos en empresas, academias o centros de enseanza. Antonio Arjona Cornejo. Todos los derechos reservados. Prohibida la reproduccin por cualquier medio. octubre-2010.
Buscar

Bsqueda personalizada

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.
Pg. 7.2

Aviso legal: Este curso es gratuito siempre que se visualice desde la pgina web de aulaClic. No est permitido utilizar estos cursos en empresas, academias o centros de enseanza. Antonio Arjona Cornejo. Todos los derechos reservados. Prohibida la reproduccin por cualquier medio. octubre-2010.
Buscar

Bsqueda personalizada

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

Pg. 7.3

Aviso legal: Este curso es gratuito siempre que se visualice desde la pgina web de aulaClic. No est permitido utilizar estos cursos en empresas, academias o centros de enseanza. Antonio Arjona Cornejo. Todos los derechos reservados. Prohibida la reproduccin por cualquier medio. octubre-2010.
Buscar

Bsqueda personalizada

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

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.

Ejercicios propuestos de la Unidad


Pg. 7.4

Aviso legal: Este curso es gratuito siempre que se visualice desde la pgina web de aulaClic. No est permitido utilizar estos cursos en empresas, academias o centros de enseanza. Antonio Arjona Cornejo. Todos los derechos reservados. Prohibida la reproduccin por cualquier medio. octubre-2010.
Buscar

Bsqueda personalizada

Ejercicios unidad 7: Las clases


Plantese el crear una clase Casa, que sea capaz de crear una casa de cualquier tipo, en cuanto a nmero de habitaciones, baos, etc.. Adale la posibilidad de tener varias casas en un mismo edificio, el nmero de plantas, el nmero de casas por planta. Posteriormente, adale la capacidad de que la casa pueda tener piscina, barbacoa, jardn, garaje.

Si no tienes muy claro las operaciones a realizar, aqu te ayudamos.

Aviso legal: Este curso es gratuito siempre que se visualice desde la pgina web de aulaClic. No est permitido utilizar estos cursos en empresas, academias o centros de enseanza. Antonio Arjona Cornejo. Todos los derechos reservados. Prohibida la reproduccin por cualquier medio. octubre-2010.
Buscar

Bsqueda personalizada

Ayuda ejercicios unidad 7: Las clases

Clase Casa Propiedad M2Cocina Propiedad M2Baos Propiedad M2Salon Propiedad Habitaciones Propiedad M2Habitacion Propiedad Baos

Metodo CrearHabitacion Declarar X X = 0 Mientras X < Habitaciones DibujarHabitacion M2Habitacion X = X + 1 Fin de mientras Fin de metodo

Metodo CrearBao DibujarBao M2Baos Fin de metodo

Metodo CrearSalon DibujarSalon Fin de metodo M2Salon

Metodo CrearCocina DibujarCocina Fin de metodo Fin de Clase M2Cocina

Inicio Programa Declarar Piso del Tipo Casa

Piso.M2Salon = 20 Piso.M2Bao = 8

Piso.M2Habitacion = 12

Piso.CrearSalon Piso.CrearBao

.. / .. Fin de programa

Esta solucin es eso, solo una versin, y que cada cual puede mejorar y reinterpretar.

Aviso legal: Este curso es gratuito siempre que se visualice desde la pgina web de aulaClic. No est permitido utilizar estos cursos en empresas, academias o centros de enseanza. Antonio Arjona Cornejo. Todos los derechos reservados. Prohibida la reproduccin por cualquier medio. octubre-2010.
Buscar

Bsqueda personalizada

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.
Pg. 8.1

Aviso legal: Este curso es gratuito siempre que se visualice desde la pgina web de aulaClic. No est permitido utilizar estos cursos en empresas, academias o centros de enseanza. Antonio Arjona Cornejo. Todos los derechos reservados. Prohibida la reproduccin por cualquier medio. octubre-2010.
Buscar

Bsqueda personalizada

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, hayamos deseado asignarle y con el que accederemos a la aplicacin.

con el texto que

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 momento que tengamos seleccionado en ese

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

Pg. 8.2

Aviso legal: Este curso es gratuito siempre que se visualice desde la pgina web de aulaClic. No est permitido utilizar estos cursos en empresas, academias o centros de enseanza. Antonio Arjona Cornejo. Todos los derechos reservados. Prohibida la reproduccin por cualquier medio. octubre-2010.
Buscar

Bsqueda personalizada

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, hayamos deseado asignarle y con el que accederemos a la aplicacin.

con el texto que

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 elementos componen los que el proyecto actual, dispone de

varios estilos de

visualizacin.

La ventana acceder a todas del formulario que momento

de

propiedades

nos

permite

las propiedades de los objetos tengamos seleccionado en ese

Al parte inferior de la leyenda propiedad. de las

seleccionar una propiedad en la ventana aparece una pequea caractersticas de dicha

Pg. 8.2

Aviso legal: Este curso es gratuito siempre que se visualice desde la pgina web de aulaClic. No est permitido utilizar estos cursos en empresas, academias o centros de enseanza. Antonio Arjona Cornejo. Todos los derechos reservados. Prohibida la reproduccin por cualquier medio. octubre-2010.
Buscar

Bsqueda personalizada

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 & resultado)

dato2

"

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 resultado) System.Console.ReadKey() End Sub

dato2

"

&

End Module

Ya tenemos un pequeo ejemplo.

Aunque quedara mejor as:

Module Module1

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

Dim resultado As Integer

dato1 = 20 dato2 = 10

resultado = dato1 + dato2

System.Console.WriteLine("dato1 resultado) System.Console.ReadKey() End Sub

dato2

"

&

End Module

Pero solo es cuestin de estilo.


Pg. 8.3

Aviso legal: Este curso es gratuito siempre que se visualice desde la pgina web de aulaClic. No est permitido utilizar estos cursos en empresas, academias o centros de enseanza. Antonio Arjona Cornejo. Todos los derechos reservados. Prohibida la reproduccin por cualquier medio. octubre-2010.

Buscar

Bsqueda personalizada

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 Dim dato2

As Integer 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 resultado)

dato2

" &

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 ,o

herramientas el smbolo del Play,

pulsamos F5, veremos el resultado de la ejecucin del programa.

En la imagen vemos el resultado de la ejecucin.


Pg. 8.4

Aviso legal: Este curso es gratuito siempre que se visualice desde la pgina web de aulaClic. No est permitido utilizar estos cursos en empresas, academias o centros de enseanza. Antonio Arjona Cornejo. Todos los derechos reservados. Prohibida la reproduccin por cualquier medio. octubre-2010.
Buscar

Bsqueda personalizada

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 incorrectos") Case Else D1 = Dato1 D2 = Dato2 End Select End Sub del objeto

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

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
Pg. 8.5

Aviso legal: Este curso es gratuito siempre que se visualice desde la pgina web de aulaClic. No est permitido utilizar estos cursos en empresas, academias o centros de enseanza. Antonio Arjona Cornejo. Todos los derechos reservados. Prohibida la reproduccin por cualquier medio. octubre-2010.
Buscar

Bsqueda personalizada

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.
Pg. 9.1

Aviso legal: Este curso es gratuito siempre que se visualice desde la pgina web de aulaClic. No est permitido utilizar estos cursos en empresas, academias o centros de enseanza. Antonio Arjona Cornejo. Todos los derechos reservados. Prohibida la reproduccin por cualquier medio. octubre-2010.

Buscar

Bsqueda personalizada

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.

su

vez

luego llama

desde CALCULA se

a REPRESENTA y se le enva

tres variables que se recogen igual.


Pg. 9.2

Aviso legal: Este curso es gratuito siempre que se visualice desde la pgina web de aulaClic. No est permitido utilizar estos cursos en empresas, academias o centros de enseanza. Antonio Arjona Cornejo. Todos los derechos reservados. Prohibida la reproduccin por cualquier medio. octubre-2010.
Buscar

Bsqueda personalizada

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, referencia. por valor y por

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.
Pg. 9.3

Aviso legal: Este curso es gratuito siempre que se visualice desde la pgina web de aulaClic. No est permitido utilizar estos cursos en empresas, academias o centros de enseanza. Antonio Arjona Cornejo. Todos los derechos reservados. Prohibida la reproduccin por cualquier medio. octubre-2010.
Buscar

Bsqueda personalizada

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 Dim dato2 As Integer As Integer

Dim resultado As Integer

dato1 = 20 dato2 = 10

resultado = dato1 + dato2

System.Console.WriteLine("dato1 resultado) System.Console.ReadKey() End Sub End Module

dato2

"

&

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.

Pg. 10.1

Aviso legal: Este curso es gratuito siempre que se visualice desde la pgina web de aulaClic. No est permitido utilizar estos cursos en empresas, academias o centros de enseanza. Antonio Arjona Cornejo. Todos los derechos reservados. Prohibida la reproduccin por cualquier medio. octubre-2010.
Buscar

Bsqueda personalizada

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 Dim dato2 As Integer As Integer

Dim resultado As Integer

dato1 = 20 dato2 = 10

resultado = dato1 + dato2

System.Console.WriteLine("dato1 resultado) System.Console.ReadKey() End Sub End Module

dato2

"

&

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.


Pg. 10.1

Aviso legal: Este curso es gratuito siempre que se visualice desde la pgina web de aulaClic. No est permitido utilizar estos cursos en empresas, academias o centros de enseanza. Antonio Arjona Cornejo. Todos los derechos reservados. Prohibida la reproduccin por cualquier medio. octubre-2010.
Buscar

Bsqueda personalizada

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 resultado) System.Console.ReadKey() End Sub

Dato2

{0}

"

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 resultado) System.Console.ReadKey() End Sub

dato2

{0}

",

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.
Pg. 10.2

Aviso legal: Este curso es gratuito siempre que se visualice desde la pgina web de aulaClic. No est permitido utilizar estos cursos en empresas, academias o centros de enseanza. Antonio Arjona Cornejo. Todos los derechos reservados. Prohibida la reproduccin por cualquier medio. octubre-2010.
Buscar

Bsqueda personalizada

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


Pg. 10.3

Aviso legal: Este curso es gratuito siempre que se visualice desde la pgina web de aulaClic. No est permitido utilizar estos cursos en empresas, academias o centros de enseanza. Antonio Arjona Cornejo. Todos los derechos reservados. Prohibida la reproduccin por cualquier medio. octubre-2010.
Buscar

Bsqueda personalizada

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.
Pg. 10.4

Aviso legal: Este curso es gratuito siempre que se visualice desde la pgina web de aulaClic. No est permitido utilizar estos cursos en empresas, academias o centros de enseanza. Antonio Arjona Cornejo. Todos los derechos reservados. Prohibida la reproduccin por cualquier

medio. octubre-2010.
Buscar

Bsqueda personalizada

Unidad 10. Primer programa en VB, procedimientos (V)


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) datos por pantalla x = x + 1 un contador s = s + x

//

Visualizar

// Incremento de

// 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.

Ejercicios propuestos de la Unidad


Pg. 10.5

Aviso legal: Este curso es gratuito siempre que se visualice desde la pgina web de aulaClic. No est permitido utilizar estos cursos en empresas, academias o centros de enseanza. Antonio Arjona Cornejo. Todos los derechos reservados. Prohibida la reproduccin por cualquier medio. octubre-2010.
Buscar

Bsqueda personalizada

Ejercicios unidad 10: Primer programa en VB, procedimientos


1 Introducir dos nmeros y calcular la suma de los mismos, visualizando el resultado final. Repetir para la resta y la multiplicacin.

Hallar el rea y la longitud de una circunferencia, solicitando el radio de la misma R . Area = PI * R al cuadrado, Longitud = 2 * PI * R .

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.

4 5

Visualizar los nmeros entre 10 y 20. Visualizar los nmeros entre 10 y 20 y sumarlos.

Si no tienes muy claro las operaciones a realizar, aqu te ayudamos.

Aviso legal: Este curso es gratuito siempre que se visualice desde la pgina web de aulaClic. No est permitido utilizar estos cursos en empresas, academias o centros de enseanza. Antonio Arjona Cornejo. Todos los derechos reservados. Prohibida la reproduccin por cualquier medio. Octubre-2010.
Buscar

Bsqueda personalizada

Ayuda ejercicios procedimientos

unidad

10:

Primer

programa

en

VB,

Dado que estructuralmente los ejercicios estn resueltos, exponemos solo el cdigo de los mismos.

Introducir dos nmeros y calcular la suma de los mismos, visualizando el resultado final. Repetir para la resta y la multiplicacin.

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

resultado = D1 + D2

System.Console.WriteLine("dato1 resultado) System.Console.ReadKey() End Sub

dato2

{0}

",

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

dato1 = Console.ReadLine() dato2 = Console.ReadLine()

Uno(dato1, dato2) End Sub End Module

Si en la solucin del ejercicio se tienen problemas del tipo Option Strict On no permite la conversin de String en Integer, la solucin pasa por: dato1 = CInt(Console.ReadLine()) dato2 = CInt(Console.ReadLine())

Que es la solucin correcta.

O bien por realizar el siguiente cambio, en la barra de Men seleccionar la opcin Proyecto Propiedades. Y a continuacin, seleccionar la pestaa de compilar y en la opcin Option Strict que est en On, cambiarlo a Off.

Hallar el rea y la longitud de una circunferencia, solicitando el radio de la misma R . Area = PI * R al cuadrado, Longitud = 2 * PI * R .

Private Sub Dos(Rad as Double) Dim Longitud As Double Dim Area As Double

Area = PI * Rad ^ 2 Longitud = 2 * PI * Rad Console.WriteLine() Console.WriteLine("El rea de la circunferencia es {0} ", Area) Console.WriteLine() Console.WriteLine("La longitud de la circunferencia es {0} ", Longitud) Console.WriteLine() Console.Write("Pulse cualquier tecla para finalizar ... ") Console.Read() End Sub

Y en el Main: Const PI As Double = 3.1416

Sub Main() Dim Radio As Double

Console.WriteLine("Hallar el rea y la longitud de la circunferencia") Console.WriteLine()

Console.Write(" Cual es el radio ? ") Radio = CDbl(Console.ReadLine())

Dos (Radio) End Sub

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.

Private Sub Tres(A As Long, B As Long) Select Case A Case Is > B Console.WriteLine("{0} es mayor que {1} y la divisin es {2} ", A, B, A / B) Case Is < B Console.WriteLine("{0} es menor que {1} y la

multiplicacin es {2} ", A, B, A * B) Case Is = B Console.WriteLine("{0} es igual que {1} y la suma es {2} ", A, B, A + B) End Select Console.WriteLine() Console.Write("Pulse cualquier tecla para finalizar ... ") Console.Read() End Sub

Y en el Main

Sub Main

Dim A As Long Dim B As Long

Console.WriteLine("Calcular con dos nmeros A y B") Console.WriteLine()

Console.Write("Introduce un nmero A A = CLng(Console.ReadLine()) Console.Write("Introduce un nmero B B = CLng(Console.ReadLine())

")

")

Tres(A,B)

End Sub

Visualizar los nmeros entre 10 y 20

Private Sub Cuatro() Dim X As Integer

Console.WriteLine("Visualizar los nmeros entre 10 y 20.") Console.WriteLine()

Suma = 0 X = 10 Do Console.WriteLine(X) X = X + 1 Loop Until X > 20

Console.WriteLine() Console.Write("Pulse cualquier tecla para continuar ... ") Console.Read() End Sub

Y en el Main Sub Main Cuatro() End Sub

En ste ejercicio se ha optado por agrupar todo el cdigo en el procedimiento. 5 Visualizar los nmeros entre 10 y 20 y sumarlos.

Private Sub Cinco() Dim Suma As Long Dim X As Integer

Console.WriteLine("Visualizar los nmeros entre 10 y 20 y sumarlos") Console.WriteLine() Suma = 0 X = 10 Do Console.WriteLine(X) Suma = Suma + X X = X + 1 Loop Until X > 20

Console.WriteLine("El valor de la suma es Console.WriteLine()

{0} ", Suma)

Console.Write("Pulse cualquier tecla para continuar ... ") Console.Read() End Sub

CAMBIAR DE SITIO EL INCREMENTO, EL VALOR INICIAL DE X Y LA CONDICION

Private Sub Cinco() Dim Suma As Long Dim X As Integer

Console.WriteLine("Visualizar los nmeros entre 10 y 20 y sumarlos") Console.WriteLine() Suma = 0 X = 9 Do X = X + 1 Console.WriteLine(X) Suma = Suma + X Loop Until X = 20

Console.WriteLine("El valor de la suma es Console.WriteLine()

{0} ", Suma)

Console.Write("Pulse cualquier tecla para continuar ... ") Console.Read() End Sub

Y en el Main Sub Main Cinco() End Sub

En ste ejercicio se ha optado por agrupar todo el cdigo en el procedimiento.

Aviso legal: Este curso es gratuito siempre que se visualice desde la pgina web de aulaClic. No est permitido utilizar estos cursos en empresas, academias o centros de enseanza. Antonio Arjona Cornejo. Todos los derechos reservados. Prohibida la reproduccin por cualquier medio. octubre-2010.
Buscar

Bsqueda personalizada

Unidad 11. Funciones (I)


11.1. Objetivos del tema.
Visto y nombrado los elementos de un programa y sus estructuras, as como la forma de representar las soluciones y el uso de procedimientos, ahora hemos de profundizar sobre el uso de las funciones, el paso de parmetros y sus caractersticas. Las veremos desde el punto de vista genrico, sin entrar en lenguajes en concreto.

11.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. Y la solucin era el dividir el programa y crear procedimientos. Ahora vamos a ver las funciones, pero las funciones a pesar de que en su interior pueden albergar el mismo tipo de estructuras que un procedimiento, tienen un fin distinto dentro de un programa.

11.3. Creacin.

Hay una mxima que s podra servir, y es que en el momento en que en el programa aparece cdigo repetido, ya podemos empezar a pensar en la creacin de una funcin o un procedimiento, segn corresponda. Tambin hay que tener en cuenta que la llamada a una funcin o un procedimiento consume recursos y tiempo de ejecucin, pero en la actualidad se piensa poco en esos parmetros. Resolver de forma recursiva el factorial de un nmero es bonito, pero y si el nmero es algo grande? Con un procedimiento resuelvo el programa y voy creando la estructura del mismo. Una funcin es un trozo de cdigo especializado en hacer algo en concreto, por ejemplo, el ejercicio del rea de un triangulo o de una circunferencia, se resolvi mediante un procedimiento, pero su solucin correcta es la de una funcin, por qu?, pues normalmente el rea del triangulo es un dato que voy a calcular y que puede aparecer hasta en una expresin habitualmente.

Si utilizo procedimientos, la solucin puede ser algo as:

Altura = 5 Base = 10 AreaTriangulo(Base,Altura,Area)

Escribe El rea del triangulo es , Area

Esta es la solucin con un procedimiento, ejecutamos el procedimiento y nos devuelve un dato llamado Area, que lo usamos en el texto de informe al usuario.

Escribe

El

rea

del

triangulo

es

AreaTriangulo(Base,Altura)

Como podemos ver

con una funcin es mucho ms elegante cdigo resultante. el

Cuando escribir una funcin o un procedimiento?, en el ejemplo podemos ver un criterio. Un procedimiento es una lnea de mi programa, lo llamo y se ejecuta, resuelvo el problema estructural del programa con ellos. Una funcin forma parte de una instruccin, una funcin siempre devuelve un dato, un procedimiento no tiene porque hacerlo.

En el caso de una funcin no nos sirve el criterio de que un procedimiento crezca en demasa, para crear una funcin, hay una diferencia de base entre un procedimiento y una funcin, y es que un procedimiento puede formar, o forma parte, de la resolucin lgica de un programa, parte de su estructura, pero una funcin es una parte de nuestro programa que est especializado en algo muy concreto y que solo sabe resolver ese tema, y no formar parte de la estructura del programa, colabora en su solucin.

Evidentemente que s convierte en ms legible un programa, el uso de una funcin, pero no es la forma de resolver un programa, por supuesto que su uso es necesario en programacin, pero hay que ver ese matiz entre ambas herramientas de programacin.

Un procedimiento, un mtodo, cuando crece se puede dividir en varios procedimientos, pero no en varias funciones.

En el diseo de una funcin, hay que mantener el criterio, de que solo se utilice las variables que se definan en la misma, y las que se reciban en la lnea de entrada, pero de forma todava mucho ms taxativa, una funcin, por naturaleza, es una parte de cdigo mucho ms reutilizable, normalmente, que un procedimiento, por lo tanto debe ser todava mucho ms aislado, autnomo.

De todos modos, ser la experiencia la que nos ira marcando cuando usar el procedimiento y cuando la funcin.

11.4. Funciones o Procedimientos.?


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, porque en algunas ocasiones para hacerlo, hay que cometer alguna incorreccin.

Una funcin devuelve siempre un nico dato, un procedimiento puede devolver uno o varios, o ninguno, pero es que si se usan adecuadamente las funciones, con un nico dato es suficiente.

11.5. Tipos de la funcin.


Hemos dicho que una funcin devuelve un dato, por lo tanto si devuelve un dato, ese dato debe de ser de un tipo, de ah que la funcin cuando se crea hay que declarar de que tipo es, y ese tipo es el del dato devuelto. Otra forma de clasificar las

funciones es dividirlas por las propias del lenguaje y las que diseemos nosotros, todos los lenguajes de

programacin disponen de funciones preescritas en el mismo.

En el ejemplo vemos una funcin escrita por nosotros, y vemos como en su interior utilizamos funciones del lenguaje en el que se escribe esa funcin.

La funcin del ejemplo es del tipo alfanumrico porque lo que devuelve es un dato alfanumrico.

Por lo tanto tendremos tantos tipos de funciones como tipos de datos disponga el lenguaje que estamos utilizando.
Pg. 11.1

Aviso legal: Este curso es gratuito siempre que se visualice desde la pgina web de aulaClic. No est permitido utilizar estos cursos en empresas, academias o centros de enseanza. Antonio Arjona Cornejo. Todos los derechos reservados. Prohibida la reproduccin por cualquier

medio. octubre-2010.
Buscar

Bsqueda personalizada

Unidad 11. Funciones (II)


11.6. mbito de las funciones.
El mbito de una funcin va ligado al punto en el cual se utiliza y como se declara, igual que con los procedimientos.

Pueden ser pblicas o privadas, y pueden declararse en el programa actual o en un mdulo disponible para toda la aplicacin, proyecto.

11.7. Paso de variables a las funciones.


El paso de variables a las funciones cumple los mismos requisitos que el de los procedimientos. 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.

11.8. Formas de paso de datos a las funciones.


Hay dos formas de pasar los datos a los procedimientos y funciones, referencia. por valor y por

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 o una funcin, 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 una funcin, nos da la posibilidad de poder modificar el valor de una variable pasada en la funcin, y que ste sea devuelto al programa principal o al procedimiento que lo ha llamado.

Otro apartado, es que por la definicin intrnseca de lo que debe ser una funcin, no sea correcto realizar ese tipo de

actuaciones, paso por referencia en una funcin, ya que eso en realidad me permitira devolver no un dato, si no varios en la misma, uno en la funcin y otros en la lnea de parmetros recibidas, en lo las que

variables

contradice la filosofa de lo que debe ser una funcin.

Pero hemos de saberlo y comprobar que el lenguaje lo permite o no, y de esa forma si llega el momento utilizarlo.

Cuando se pasa un dato por valor el dato es recibido por el procedimiento o funcin, pero ste dato si se modifica en su interior no se recibe modificado en el lugar en el que se realiza la llamada a la funcin.

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

Aviso legal: Este curso es gratuito siempre que se visualice desde la pgina web de aulaClic. No est permitido utilizar estos cursos en empresas, academias o centros de enseanza. Antonio Arjona Cornejo. Todos los derechos reservados. Prohibida la reproduccin por cualquier

medio. octubre-2010.
Buscar

Bsqueda personalizada

Unidad 11. Funciones (III)


11.9. Estructura de una funcin.
Al igual que en un procedimiento, podemos utilizar todas las estructuras que conocemos. Pero hemos de aadir algo que en un procedimiento quizs no es tan riguroso. Hay que asegurarse que los datos que vamos a utilizar son vlidos, por lo tanto debemos comprobar su validez antes de entrar en lo que es el cuerpo de la funcin. Por otro lado en funcin del lenguaje utilizado, podremos utilizar o no el nombre de la funcin en la misma varias veces.

As que lo ms sencillo es declarar una variable temporal a la que le asignamos un valor por defecto y que despus cuando finalice la ejecucin de la funcin asignaremos al nombre de la misma.

Hay que pensar que tanto una funcin como un procedimiento son mini programas, pero en el caso de una funcin an ms.

Esta es una forma de plantear una funcin, pero el momento y el estilo de cada uno es personal e intransferible, por lo que a partir de ah cada cual puede ir creando su estilo.

Pg. 11.3

Aviso legal: Este curso es gratuito siempre que se visualice desde la pgina web de aulaClic. No est permitido utilizar estos cursos en empresas, academias o centros de enseanza. Antonio Arjona Cornejo. Todos los derechos reservados. Prohibida la reproduccin por cualquier medio. octubre-2010.
Buscar

Bsqueda personalizada

Unidad 12. Funciones en VB (I)


12.1. Objetivos del tema.
Vamos a ver en este tema las funciones en el lenguaje Visual Basic 2005.

12.2. Introduccin.
La programacin est basada en las estructuras. Estructuras de datos y estructuras de programas. Los programas son a su vez contenedores de estructuras de elementos individuales que ejecutan cdigo. El elemento ms pequeo es la instruccin. Despus nos encontramos con procedimientos y funciones. El siguiente nivel es la clase y por ltimo el programa.

Los procedimientos y las funciones, dependiendo de la estructura del lenguaje utilizado, y del estilo de programacin individual de cada uno, estn bien en mdulos independientes, de forma que son pblicos para toda la aplicacin, o de forma privada en el interior de un programa, o una clase.

En VB, las funciones son funciones y podrn o no pertenecer a una clase y ser un mtodo, se albergar en el interior de una clase, haciendo referencia al mismo mediante el nombre de la clase y a continuacin el de la funcin, mtodo, o si est en el mismo nivel, con utilizar la funcin es suficiente, como vemos en el ejemplo.

Console.Writeline(Factorial ,FuncionFactorial(3))

de

es

"

Pero no toda la resolucin de una clase se realiza mediante cdigo que se pueda o se tenga que traducir en un mtodo. La programacin adems se basa en la divisin de un problema grande, en varios pequeos, aquello de divide y vencers, por lo que por esa misma filosofa es imposible, e ilgico, que todo se convierta en mtodos. Los mtodos son la parte lgica visible de una clase, lgica en cuanto a que es aquello que cara al usuario le ayuda a resolver un problema en pasos comprensibles para l. Con las funciones sucede lo mismo, al fin y al cabo, no son nada ms que otra de las herramientas de programacin.

Para crear una funcin la sintaxis es la siguiente:

Private Function FuncionFactorial(ByVal n As Integer) As Integer

La programa o distinto, La funcin

funcin

puede

estar Private

en

el

en

un Public

mdulo

palabra

reservada

que

indica

que

es

una

Function

Despus funcin,

lo

que

sigue

es

el

nombre

de

la

FuncionFactorial Entre parntesis los datos que se reciben, indicando el tipo de cada uno de

ellos, El funcin, A lnea

(ByVal n as Integer) tipo de dato que Integer continuacin empieza el cdigo de la funcin que acaba con la se devuelve en la

End Function.

Private Function FuncionFactorial(ByVal n As Integer) As Integer If (n <= 1) Then FuncionFactorial = 1 Else FuncionFactorial = n * FuncionFactorial(n - 1) End If End Function

En el ejemplo vemos la funcin, esta funcin calcula el factorial de un nmero, otro tema es que sea la mejor solucin, pero es una funcin.

En el siguiente ejemplo se invierte el contenido de una variable de tipo string.

Public Function InvierteCadena(ByVal Cadena As String) As String Dim Result As String = "" Dim x As Integer

While x <> Len(Cadena) x = x + 1 Result = Mid(Cadena, x, 1) & Result End While InvierteCadena = Result End Function

El uso de la funcin anterior puede quedar :

Cadena = InvierteCadena(Cadena)
Pg. 12.1

Aviso legal: Este curso es gratuito siempre que se visualice desde la pgina web de aulaClic. No est permitido utilizar estos cursos en empresas, academias o centros de enseanza. Antonio Arjona Cornejo. Todos los derechos reservados. Prohibida la reproduccin por cualquier medio. octubre-2010.
Buscar

Bsqueda personalizada

Unidad 12. Funciones en VB (II)


12.3. Escribir la funcin.
Vemos el ejemplo de una funcin. Como hemos comentado antes, primero se indica el mbito de la funcin, pblico o privada, despus la palabra que ndica que es una funcin, no un procedimiento.

Public Function InvierteCadena(ByVal Cadena As String) As String Dim Result As String = "" Dim x As Integer

While x <> Len(Cadena) x = x + 1

Result = Mid(Cadena, x, 1) & Result End While InvierteCadena = Result End Function

El nombre de la funcin InvierteCadena y los argumentos que va a recibir, Cadena como string, y se recibe por valor, en VB hay que indicarlo, por defecto aparecer siempre por valor, ByVal.

Despus se inicia el cdigo de la funcin

Dim Result As String = "" Dim x As Integer

While x <> Len(Cadena) x = x + 1 Result = Mid(Cadena, x, 1) & Result End While

Finalizada la ejecucin de la funcin se asigna su resultado a la misma.

InvierteCadena = Result

Y la funcin que finalizar con la lnea

End Function

La devolucin del resultado de la ejecucin de la funcin se obtiene con la lnea

InvierteCadena = Result

O bien como sigue:

FuncionFactorial = n * FuncionFactorial(n - 1)

En este ejemplo lo que se muestra es una utilizacin recursiva de la misma.

El nombre de la funcin es la encargada de recibir el valor que se va a devolver al punto de llamada de la misma, y el dato que se le asigna debe ser del mismo tipo que se declara en la funcin.

Private Function FuncionFactorial(ByVal n As Integer) As Integer

Public Function InvierteCadena(ByVal Cadena As String) As String

12.4. Envo y recepcin de los datos.


La creacin de procedimientos y funciones, conlleva la necesidad de envo y recepcin de variables, de datos. Hay dos formas de enviar datos a un procedimiento,

Por valor Por referencia

En el primero de los casos la variable que recibe el procedimiento, puede ser utilizada en el interior del mismo, pero los cambios que sufra, no podrn ser devueltos al programa que lo ha llamado, el procedimiento recibe el valor de la variable, pero no la variable.

Por referencia, sin embargo la variable recibida podr ser utilizada y si ha sufrido cambio en su valor, ste podr ser devuelto al programa que lo ha llamado, el procedimiento recibe una referencia a la variable, por lo tanto los cambios que se realicen a la misma, perduran a la finalizacin del procedimiento, o funcin.

En VB se puede recibir datos por valor, ByVal, y por referencia, ByRef, tanto en un procedimiento, SUB, o una funcin, Function. Dicho de otra forma, podramos enviar datos por referencia a una funcin y recibir datos devueltos en el nombre de la funcin y en la variable que nosotros consideremos adecuado. Un ejemplo:

Private Function InvierteCadena(ByVal Cadena As String, ByRef R As String) As String Dim Result As String = "" Dim x As Integer

While x <> Len(Cadena) x = x + 1 Result = Mid(Cadena, x, 1) & Result End While InvierteCadena = Result R = Result End Function

En este ejemplo, se ha aadido a la funcin la variable

, ByRef R As String)

Que podemos observar que es por referencia, ByRef, y despus para probar que se puede utilizar:

R = Result

Al final de la funcin, y el resultado de ejecutar

Sub Main() Dim C As String = ARROZ Dim R As String Console.WriteLine("Valor funcin") Console.WriteLine("Cadena invertida {0} es {1} ", C, InvierteCadena("ARROZ", R)) por referencia en una

Console.WriteLine("La cadena invertida {0} es {1} ", C, R) Console.ReadKey()

End Sub

es el que sigue:

Valor por referencia en una funcin La cadena invertida ARROZ es ZORRA La cadena invertida ARROZ es ZORRA

Y como se puede comprobar, la funcin solo se ejecuta una vez. Pero a pesar de eso, no debemos utilizar esta estrategia, una funcin debe devolver el dato en su nombre.

12.5. Conclusiones.
El paso de datos se puede hacer por valor y por referencia, Los datos han de enviarse en el mismo orden en el que se reciben en la funcin. Han de ser del mismo tipo. No tienen porque llamarse de la misma forma. No hay valores opcionales.

Ejercicios propuestos de la Unidad


Pg. 12.2

Aviso legal: Este curso es gratuito siempre que se visualice desde la pgina web de aulaClic. No est permitido utilizar estos cursos en empresas, academias o centros de enseanza. Antonio Arjona Cornejo. Todos los derechos reservados. Prohibida la reproduccin por cualquier medio. octubre-2010.
Buscar

Bsqueda personalizada

Ejercicios unidad 12: Funciones en VB

1. Hallar el rea y la longitud de una circunferencia, solicitando el radio de la misma R . Area = PI * R al cuadrado, Longitud = 2 * PI * R . 2. Hallar el rea de un tringulo. Area = Base por Altura / 2. 3. Introducir un nmero A y visualizar si es o no primo. 4. Introducir una calificacin (entre cero y diez), equivalente alfabtico, segn la siguiente tabla. De 3 -------> M.D. e imprimir su

Desde 3 y menor que 5 -------> INS. Desde 5 y menor que 6 -------> SUF Desde 6 y menor que 7 -------> BIEN Desde 7 y menor que 9 -------> NOT. Desde 9 hasta 10 -------> SOB.

5. Introducir un valor en metros y visualizar su valor en millas terrestres, marinas , yardas y leguas. Milla terrestre = 1.609,34 m. Milla marina = 1.852,00 m. Yarda = 4.190 m. Legua = 0,9144 m. 6. Introducir una fecha en pantalla con el formato da, mes y ao en tres variables numricas, validar la fecha y emitir el mensaje de fecha incorrecta o correcta.

7. A partir de los siguientes valores de moneda extranjera, crear una funcin que a partir de un importe en pesetas devuelva su equivalente en la moneda que se indique. 1 Franco francs 1 Lira 1 Libra esterlina 1 Dlar americano 1 Marco alemn 1 Franco suizo 1 Florn holands 1 Escudo portugus 25,2400 0,0859 245,5560 150,2280 84,6480 101,7550 5,1170 0,8262 25,3920 0,0864 247,0340 151,1320 85,1570 102,3670 75,5690 0,8312

Si no tienes muy claro las operaciones a realizar, aqu te ayudamos.

Aviso legal: Este curso es gratuito siempre que se visualice desde la pgina web de aulaClic. No est permitido utilizar estos cursos en empresas, academias o centros de enseanza. Antonio Arjona Cornejo. Todos los derechos reservados. Prohibida la reproduccin por cualquier medio. octubre-2010.
Buscar

Bsqueda personalizada

Ayuda ejercicios unidad 12: Funciones en VB

1.- Hallar el rea y la longitud de una circunferencia, solicitando el radio de la misma R . Area = PI * R al cuadrado, Longitud = 2 * PI * R .

Module Module1

Private Function AreaCirculo(ByVal Radio As Double) As Double AreaCirculo = Radio * Radio * 3.1415 End Function

Private Function LongitudCirculo(ByVal Radio As Double) As Double LongitudCirculo = Radio * 2 * 3.1415 End Function

Sub Main() Dim Radio As Double

Console.WriteLine("Clculo del rea y longitud de un circulo") Radio = Console.ReadLine Console.WriteLine("Area de radio {0} es {1} ", Radio, AreaCirculo(Radio)) Console.WriteLine("Longitud Radio, LongitudCirculo(Radio)) Console.ReadKey() End Sub End Module radio {0} es {1} ",

2.- Hallar el rea de un tringulo. Area = Base por Altura / 2.

Module Module1

Private Function AreaTriangulo(ByVal Base As Double, ByVal Altura As Double) As Double AreaTriangulo = Base * Altura / 2 End Function

Sub Main() Dim Base As Double Dim Altura As Double

Console.WriteLine("Clculo del rea de un tringulo") Console.WriteLine("Introducir Base") Base = Console.ReadLine Console.WriteLine("Introducir Altura") Altura = Console.ReadLine Console.WriteLine("Area tringulo de base {0} y altura {1} es {2} ", Base, Altura, AreaTriangulo(Base, Altura))

Console.ReadKey() End Sub End Module

3.- Introducir un nmero A y visualizar si es o no primo.

Module Module1 Public Function Primos(ByVal Numero As Long) As Boolean Dim X As Integer = 3 Dim Final As Long Dim Result As Boolean = True

Select Case Numero Mod 2 <> 0 Case True Final = CLng(Numero / 2) + 1 While X < Final And Result Result = Numero Mod X <> 0 X = X + 1

End While Case Else If Numero > 2 Then Result = False End Select Primos = Result End Function

Sub Main() Dim Numero As Integer Console.WriteLine("Nmeros primos") Console.WriteLine("Introducir nmero") Numero = Console.ReadLine Select Case Objeto.Primos(Numero) Case True Console.WriteLine("El Numero) Case Else Console.WriteLine("El nmero {0} no es primo ", Numero) End Select Console.ReadKey() End Sub End Module nmero {0} es primo ",

4.- Introducir una calificacin (entre cero y diez), equivalente alfabtico, segn la siguiente tabla. De 3 -------> M.D.

e imprimir su

Desde 3 y menor que 5 -------> INS. Desde 5 y menor que 6 -------> SUF Desde 6 y menor que 7 -------> BIEN Desde 7 y menor que 9 -------> NOT. Desde 9 hasta 10 -------> SOB.

Module Module1 Private Function Calificacion(ByVal Nota As Single) As String Dim Texto As String = "" Select Case Nota Case 0 To 2.99 Texto = "M.D." Case 3 To 4.99 Texto = "Ins" Case 5 To 5.99 Texto = "Suf" Case 6 To 6.99 Texto = "Bien" Case 7 To 8.99 Texto = "Not" Case 9 To 10.0 Texto = "Sob" Case Else Texto = "Calificacin erronea" End Select Calificacion = Texto End Function

Sub Main() Dim Nota As Single Console.WriteLine("Introducir nota ") Nota = Console.ReadLine Console.WriteLine(Calificacion(Nota)) Console.ReadKey() End Sub End Module

5.- Introducir un valor en metros y visualizar su valor en millas terrestres, marinas , yardas y leguas. Milla terrestre = 1.609,34 m.

Milla marina = 1.852,00 m. Yarda = 4.190 m. Legua = 0,9144 m.

Module Module1 Private Function Conversion(ByVal M As Single, _ ByVal Single Dim C As Single Select Case T Case "T" C = CSng(M / 1609.34) Case "M" C = CSng(M / 1852) Case "L" C = CSng(M / 4190) Case "Y" C = CSng(M / 0.9144) End Select Conversion = C End Function T As String) As

Sub Main() Dim Metros As Single Dim Tipo as String Console.WriteLine("Convertir distancia en metros ") Console.WriteLine("Introducir distancia en metros") Metros = Console.ReadLine Console.WriteLine("Introducir M/T/L/Y ")

Tipo

= Console.ReadLine

Console.WriteLine(Conversion(Metros, Tipo)) Console.ReadKey() End Sub End Module

6.- Introducir una fecha en pantalla con el formato da, mes y ao en tres variables numricas, validar la fecha y emitir el mensaje de fecha incorrecta o correcta. Module Module1 Function Fecha(ByVal D As Integer, _ ByVal M As Integer, _ ByVal A As Integer) _ As Boolean

Dim Fec As Boolean

Select Case M Case 1, 3, 5, 7, 8, 10, 12 Fec = D > 0 And D < 32 Case 4, 6, 9, 11 Fec = D > 0 And D < 31 Case 2 Select Case A Mod 100 = 0 Case True Fec = (D > 0 And D < 29) Or (D = 29 And A Mod 400 = 0) Case Else Fec = (D > 0 And D < 29) Or (D = 29 And A Mod 4 = 0) End Select End Select Fecha = Fec End Function

Sub Main() Dim Dia As Integer Dim Mes As Integer Dim Year As Integer Console.WriteLine("Comprobar fecha ") Console.WriteLine("Introducir dia") Dia = Console.ReadLine Console.WriteLine("Introducir mes") Mes = Console.ReadLine Console.WriteLine("Introducir ao") Year = Console.ReadLine Select Case Fecha(Dia, Mes, Year) Case True Console.WriteLine("La fecha es correcta") Case Else Console.WriteLine("La fecha no es correcta") End Select Console.ReadKey() End Sub End Module

7.- A partir de los siguientes valores de moneda extranjera, crear una funcin que a partir de un importe en pesetas devuelva su equivalente en la moneda que se indique. Module Module1 Function ConversionMoneda(ByVal Pesetas As Single, _ ByVal Single Dim Result As Single Select Case Moneda Case "F" Result = CSng(Pesetas / 25.24) Case "L" Result = CSng(Pesetas / 0.0859) Case "I" Moneda As String) As

Result = CSng(Pesetas / 245.556) Case "D" Result = CSng(Pesetas / 150.228) Case "M" Result = CSng(Pesetas / 84.648) Case "S" Result = CSng(Pesetas / 101.755) Case "H" Result = CSng(Pesetas / 5.117) Case "P" Result = CSng(Pesetas / 0.826) End Select ConversionMoneda = Result End function

Sub Main() Dim Pesetas As Integer Dim Moneda As Char

Console.WriteLine("Convertir moneda ") Console.WriteLine("Introducir pesetas") Pesetas = Console.ReadLine Console.WriteLine("Introducir F/L/I/D/M/S/H/P") Moneda = Console.ReadLine Console.WriteLine("El importe de {0} pesetas en la moneda {1} es {2} ", Pesetas, Moneda, moneda

ConversionMoneda(Pesetas, Moneda)) Console.ReadKey() End Sub End Module

Las soluciones por las que se ha optado son mejorables, y solo pretenden ilustrar como abordar una funcin.

En estos ejercicios en algunos casos sera necesario aadir instrucciones del tipo

T = Ucase(T)

Siendo T una variable de tipo char, que puede venir indistintamente en minsculas o maysculas, de esa forma nos aseguramos su completo funcionamiento, convirtindola a maysculas.

Tambin se ha optado por utilizar una variable auxiliar, y luego que la funcin reciba su valor, no siendo eso imprescindible, pero sin embargo si vlido en cualquier lenguaje.

En funcin de cmo se tenga configurado VB, las lneas del tipo

Result = CSng(Pesetas / 101.755) C = CSng(M / 1609.34)

Pueden funcionar tambin con esta sintaxis.

Result = Pesetas / 101.755 C = M / 1609.34

CSng, CDbl, Cint, etc, son funciones de conversin de un valor numrico a un valor determinado, Single, doble, entero etc..

Ello viene obligado por la definicin del parmetro Option Strict, para acceder al mismo

Proyecto Propiedades Compilar

Si est en off, no exige la conversin obligada de tipos, es fuente de posibles errores, si est en On, s.

Su valor adecuado debera ser On, aunque obligue a la conversin de los datos.

Aviso legal: Este curso es gratuito siempre que se visualice desde la pgina web de aulaClic. No est permitido utilizar estos cursos en empresas, academias o centros de enseanza. Antonio Arjona Cornejo. Todos los derechos reservados. Prohibida la reproduccin por cualquier medio. octubre-2010.
Buscar

Bsqueda personalizada

También podría gustarte