Podramos decir que Visual Basic es un lenguaje orientado a eventos. En las aplicaciones tradicionales o "por procedimientos", la aplicacin es la que controla qu partes de cdigo y en qu secuencia se ejecutan. La ejecucin comiena con la primera lnea de cdigo y contin!a con una ruta prede"inida a travs de la aplicacin, llamando a los procedimientos seg!n se necesiten. En una aplicacin controlada por eventos, el cdigo no sigue una ruta predeterminada# ejecuta distintas secciones de cdigo como respuesta a los eventos. Los eventos pueden desencadenarse por acciones del usuario, por mensajes del sistema o de otras aplicaciones, o incluso por la propia aplicacin. La secuencia de estos eventos determina la secuencia en la que se ejecuta el cdigo, por lo que la ruta a travs del cdigo de la aplicacin es di"erente cada ve que se ejecuta el programa. Para manejar los o$jetos y controles del lenguaje %ay que conocer tres conceptos asociados a ellos& Propiedades: Para todos los o$jetos y controles de Visual Basic, %ay de"inidas una serie de propiedades que nos permiten controlarlos& nom$re, tama'o, color, posicin, etc..., la mayora de las propiedades ser(n comunes, pero evidentemente, %a$r( o$jetos que tengan unas determinadas propiedades espec"icas. Eventos: )ada o$jeto lleva asociados unos determinados eventos que le pueden ocurrir, por ejemplo a un $otn, le puede ocurrir que el usuario pulse con el $otn principal del ratn so$re l, eso es el evento No!reDe"Bot#n$C"i%&'(, $ien cuando esto ocurra, se dispara este evento, al cual nosotros le a'adiremos el cdigo de lo que queremos que %aga la aplicacin cuando el usuario pulse el $otn. )*todos: *on procedimientos asociados a un o$jeto, es decir, nos permiten realiar acciones como por ejemplo escri$ir un te+to en un o$jeto, necesitaramos usar el mtodo Print, con la siguiente sinta+is& No!reDe"O!+eto.Print ,Te-to deseado,. Encontraremos tanto propiedades, eventos como mtodos comunes, si $ien, dependiendo de los o$jetos que utilicemos encontraremos elementos espec"icos y e+clusivos del o$jeto. El esquema de programacin es muy sencillo, para crear una aplicacin, primero crearemos un "ormulario vaco so$re el que iremos poniendo los controles que deseemos, en tiempo de dise'o podremos especi"icar las propiedades iniciales de esos controles. Posteriormente escri$iremos el "cdigo respuesta" a los eventos que queramos controlar de nuestros o$jetos. En ese "cdigo respuesta", que es lo que llamaremos tiempo de ejecucin, podremos modi"icar algunas propiedades de los o$jetos, lanar mtodos, ejecutar rutinas, llamar a otros procedimientos etc.. DESCRIPCIN DEL ENTORNO. Para desarrollar el curso se %a utiliado Visual Basic ,.- en castellano, y todas las re"erencias e im(genes ser(n so$re esa versin, si $ien se podra seguir el curso con la versin anterior, puesto que las di"erencias radicar(n, m(s que en que no se pueda realiar, en la "orma de %acer o llamar a las cosas. )uando ejecutamos VB, despus de cargar el entorno, nos aparece el siguiente cuadro& .os o"rece tres solapas& N.evo, con las di"erentes opciones que nos permite crear VB, en principio slo utiliaremos E/E est0ndar, que nos llevar( a un "ormulario vaco desde el cual comenaremos a desarrollar nuestra aplicacin. E-istente, nos permite a$rir proyectos que ya e+isten para continuar implement(ndolos. Re%ientes, lo mismo pero so$re los !ltimos proyectos que %ayamos estado desarrollando. /na ve que %ayamos elegido E/E est0ndar, aceptamos y aparece la siguiente ventana 0salvo por las di"erencias de tama'o, necesarias para que entre la imagen1, en la cual vemos que tenemos un proyecto a$ierto que en principio cuenta con un "ormulario vaco. Posteriormente, si los necesitamos podremos insertarle tantos "ormularios al proyecto como queramos. La ventana principal est( "ormada adem(s de por la $arra de men!s y la $arra de $otones superiores, de un conjunto de ventanas con "unciones diversas, cada una de ellas es con"igura$le en cuanto tama'o, o incluso se pueden ocultar para ganar espacio para otras. Las principales son& Ventana de" Pro1e%to: Es la ventana que va a contener el o$jeto activo del proyecto, en la imagen superior vemos que contiene el "ormulario vaco, que utiliaremos para el dise'o gr("ico. Pero cuando le queramos a'adir cdigo, la ventana de cdigo tam$in estar( contenida aqu. E-p"orador de pro1e%tos: Ventana superior derec%a, nos permite visualiar los o$jetos que contiene el proyecto actual agrupados por categoras, en nuestro caso y por el momento solo %ay un "ormulario colgando de la carpeta "ormularios. 2dem(s en la parte superior iquierda de esta ventana %ay dos $otones que nos permiten intercam$iar la vista de dise'o gr("ico con la ventana de cdigo en la ventana del proyecto. .o o$stante para pasar a la ventana de cdigo $astara con %acer do$le clic3 so$re cualquier control. Ventana de propiedades: *ituada de$ajo de la anterior, contiene el conjunto de propiedades, con el valor actual correspondiente, de cada uno de los o$jetos. Es aqu donde podremos modi"icar los valores iniciales de esas propiedades, en lo que se conoce como tiempo de dise'o. Ventana de posi%i#n de" 2or."ario: *ituada de$ajo de la anterior, permite la colocacin del "ormulario en la pantalla, representado la misma con una imagen a escala. Ca+a de 3erraientas: *ituada a la iquierda, contiene los controles que podemos ir colocando en el "ormulario, para ello $astar( con %acer do$le clic3 so$re uno de ellos, o pulsar so$re el control y "di$ujarlo" so$re el "ormulario. PRI)ER E4E)PLO. )rearemos un E/E est0ndar, al cual le insertaremos de la caja de %erramientas un $otn, el cual podemos posicionar donde queramos y esta$lecerle el tama'o deseado. .uestro primer programa ya "uncionara en el sentido de que si lo ejecut(semos a%ora, ya podramos pulsar el $otn tantas veces como quisisemos 0no %ara nada, pero tampoco provocara un error1. Para que al pulsar el $otn "ocurra algo", de$emos escri$ir el cdigo que deseamos que se ejecute cuando el usuario pulse el $otn 0que el usuario pulse el $otn, signi"ica para Visual que se dispara el evento C"i%& del o$jeto Coand51. Por lo tanto el cdigo de$eremos escri$irlo en el procedimiento Coand5$C"i%&'(. La "orma m(s cmoda de %acer esto consiste en %acer do$le clic3 so$re el $otn de nuestro "ormulario, esto nos llevar( a la ventana de cdigo y adem(s nos escri$ir( en ella el enca$eado y "inal del evento que necesitamos, dej(ndolo preparado para que podamos escri$ir nuestro cdigo& )omo cdigo escri$iremos la lnea& Print ,6as p."sado e" !ot#n, que escri$e en el "ormulario el te+to encerrado entre comillas. Para ejecutar nuestro programa tenemos diversas opciones, incluyendo la generacin de un ejecuta$le, pero en la "ase de desarrollo de un programa es la opcin m(s lenta. 4igamos que %asta que no %ayamos terminado de implementar el programa, no crearemos el ejecuta$le. La "orma m(s cmoda consiste en ejecutarlo sin compilar, es decir, interpretando las rdenes, de esta "orma detectamos m(s r(pidamente posi$les errores. Para ello iremos al men! E+e%.tar 7 Ini%iar, o pulsaremos 56, 0tam$in podemos iniciar la ejecucin pulsando el $otn de la $arra de $otones de Visual Basic1. Veremos nuestro "ormulario en pantalla y cada ve que pulsemos el $otn, se escri$ir( en el mismo el te+to que indicamos entrecomillado, esto lo podemos %acer tantas veces como queramos. El "ormulario es redimensiona$le, lo podemos situar donde queramos, tiene el cuadro de control est(ndar de 7indo8s, y todo ello sin que %allamos dedicado ni un pensamiento al respecto. Para detener la ejecucin del programa, podemos pulsar la 9 del cuadro de control del "ormulario, o pulsar el $otn de la $arra de $otones de Visual Basic. Este es el mtodo $(sico de programacin que desarrollaremos en Visual Basic& /no o varios "ormularios a los que les insertaremos controles, los cuales gestionaremos mediante eventos que desencadenen los usuarios. )omo respuesta a los eventos, de$eremos programar el cdigo que deseemos ejecutar en cada momento. 8UARDAR UN PRO9ECTO. )rearemos una carpeta en nuestro disco duro, por ejemplo& )&:;is 4ocumentos:Visual Basic:Proyectos, donde almacenaremos tanto los proyectos como los "ormularios. Podemos guardar los "ormularios o el proyecto separadamente, pero lo m(s cmodo es ir al men! Ar%3ivo 7 8.ardar pro1e%to. 4e esta "orma nos sale primero una ventana para que guardemos los "ormularios que componen nuestro proyecto, en la cual le podemos indicar la carpeta y el nom$re que queremos asignar. )uando tengamos guardados todos los "ormularios del proyecto, nos sale otra ventana para %acer lo mismo con el proyecto. <uardaremos el ejemplo anterior en la carpeta predeterminada, asignando :or5 al "ormulario y Pro1e%to5 al proyecto. Posteriormente para acceder al mismo, $astar( con a$rir el proyecto Pro1e%to5, lo cual nos a$rir( todos los "ormularios que contenga. )uando se desarrolla un aplicacin, se tra$aja con un arc%ivo de proyecto para administrar todos los di"erentes arc%ivos que se crean. /n proyecto consta de& /n arc%ivo de proyecto que realia el seguimiento de todos los componentes 0.v$p1 /n arc%ivo para cada "ormulario 0."rm1. /n arc%ivo de datos $inarios para cada "ormulario que contiene datos so$re propiedades de controles del "ormulario 0."r+1. Estos arc%ivos no se pueden modi"icar y los genera autom(ticamente cualquier arc%ivo ."rm que tenga propiedades en "ormato $inario, como Pi%t.re o I%on. =pcionalmente, un arc%ivo para cada mdulo de clase 0.cls1. =pcionalmente, un arc%ivo para cada mdulo est(ndar 0.$as1. =pcionalmente, uno o m(s arc%ivos con controles 2ctive9 0.oc+1. =pcionalmente, un !nico arc%ivo de recursos 0.res1. =pcionalmente, un !nico arc%ivo de espacio de tra$ajo de proyecto de Visual Basic 0.v$81. El archivo de proyecto es simplemente una lista de todos los arc%ivos y o$jetos asociados con el proyecto, as como in"ormacin acerca de las opciones de entorno esta$lecidas. Esta in"ormacin se actualia cada ve que se guarda el proyecto. >odos los arc%ivos y o$jetos tam$in se pueden compartir con otros proyectos. )uando %a completado todos los arc%ivos del proyecto podremos convertir el proyecto en un arc%ivo ejecuta$le 0.e+e1& en el men! Ar%3ivo, eligiendo el comando 8enerar proyecto.exe. E+er%i%io 5. Ejecutar Visual Basic, 2$rir un E/E est0ndar, pulsando en la / de cada una, cerrar todas las ventanas menos la principal, de "orma que dejemos la siguiente visualiacin& En el men! 6erraientas ? Op%iones, ir a la solapa A%op"e, activar todas las casillas que no estuviesen activas menos la del "E+aminador de o$jetos" y 2ceptar. )on esto conseguimos que cuando queramos visualiar una ventana de las del entorno esta se acople junto con las dem(s para que no aparecan solapadas. @r al men! Ver y elegir& E-p"orador de pro1e%tos, Ventana Propiedades y Ventana posi%i#n de" 2or."ario. 4e$eremos redimensionar cada una %asta o$tener apro+imadamente& 2%ora %aciendo do$le clic3 en :or5 del E-p"orador de pro1e%tos aparecer( la ventana del "ormulario carg(ndose la ventana de propiedades, y ya slo nos queda volver al men! Ver para elegir C.adro de 3erraientas, el cual se posiciona a la iquierda de la ventana principal. Podremos esta$lecer di"erentes con"iguraciones del entorno, siendo esta qui( la m(s adecuada para comenar a "amiliariarse con el entorno. )omo la ventana Posi%i#n de" 2or."ario no es necesaria permanentemente, conviene ocultarla para que se ample la de Propiedades. )uando tengamos que decidir la posicin del "ormulario en pantalla 0cuando se ejecute1, $astar( con mostrarla entonces. E+er%i%io ;. 2$rir un E9E est(ndar, o$tendremos un "ormulario vaco, pulsando en el $otn 0Ver cdigo1 saldr( la ventana de cdigo vaca, en el cuadro superior iquierdo desplegaremos y elegiremos :or, veremos como autom(ticamente nos pone el evento Private S.! :or$Load'(, que es el evento predeterminado para el o$jeto :or, lo ignoramos puesto que no es el que necesitamos 0posteriormente el editor lo eliminar( ya que no va a contener cdigo1. En el cuadro superior derec%o desplegamos y elegimos el evento D!"C"i%&, 0do$le clic31, es decir el usuario desencadenar( la accin cuando %aga do$le clic3 so$re el "ormulario. En este evento escri$imos un mensaje 0recordar que el te+to de$e ir entrecomillado1 usando el mtodo Print. 2ntes de ejecutar visualiaremos la ventana Posi%i#n de" 2or."ario si no esta$a ya presente y colocaremos el "ormulario apro+imadamente en medio de la pantalla. Ejecutaremos y adem(s de o$servar como el "ormulario aparece en la posicin que %emos asignado, veremos como al %acer do$le clic3 so$re el mismo aparece el mensaje. E"eentos de" "en<.a+e. Introd.%%i#n. )omo todo lenguaje de programacin, Visual Basic tiene un conjunto de varia$les y estructuras que el programador puede usar. Empearemos introduciendo conceptos poco a poco ya que la e+tensin del lenguaje %ara necesaria la dedicacin de muc%o tiempo para conocerlo todo antes de empear a realiar el primer programa. 2 medida que avancemos se ir(n a'adiendo conceptos, slo los m(s importantes en cada caso ya que estudiarlos en pro"undidad %ara del curso una la$or muy tediosa. *irva como ejemplo que el control Te-t!o- tiene AB propiedades, CA eventos y DD mtodos. )ierto es que muc%os elementos son comunes a otros controles, por eso slo veremos los m(s signi"icativos de cada uno. En cualquier caso, cuando el alumno desee conocer un determinado control con mayor pro"undidad puede recurrir a la ayuda, que sorprendentemente est( muy $ien organiada y clara. Varia!"es. Las varia$les que podemos usar en Visual pueden ser de los siguientes tipos& Inte<er& .!mero entero que oscila entre los valores EBC.F,G y BC.F,F Lon<& .!mero entero 0entero largo1 que oscila entre los valores EC.DAF.AGB.,AG y C.DAF.AGB.,AF Sip"e& .!mero real que oscila entre los valores EB.A-EHBG y B.A-EHBG Do.!"e& .!mero real que oscila entre los valores ED.GEHB-G y D.GEHB-G Variant& Puede representar di"erentes tipos de datos en distintas situaciones. Strin<& )adena de caracteres, sirve para almacenar te+tos, apro+imadamente %asta ,6--- caracteres. Boo"ean& *lo admite dos estados, Verdadero 0>rue1 0ED1 o 5also 05alse1 0-1. Date& 2lmacena "ec%a y %ora. 2!n %ay m(s tipos, pero en principio slo vamos a usar estos, para lo cual de$eremos seguir el siguiente proceso& Primero para poder usar una varia$le de$emos declararla, esto lo %aremos mediante la sentencia Di, esto nos crea la varia$le y reserva el espacio necesario para ella, utiliaremos la siguiente sinta+is& Di No!re$de$"a$varia!"e As tipo El nom$re de la varia$le puede tener %asta A- caracteres y de$e empear por letra. El tipo de$e ser uno de los disponi$les, cuando escri$amos la sentencia, al llegar al tipo veremos como nos sale un cuadro de lista donde nos muestra las posi$ilidades para el mismo, podemos escri$irlo nosotros o con las "lec%as del cursor $uscarlo y pulsando espacio o intro que lo escri$a el sistema. Podemos especi"icar la longitud& Di Cadena As Strin<=>, esta sentencia nos declara una varia$le de tipo string y longitud "ija de A caracteres. *i no especi"icamos longitud, la cadena tendr( longitud varia$le. Para declarar vectores $asta con poner el tama'o entre parntesis& Di Ve%tor';?( As Inte<er, declara un vector de C6 posiciones que van de la - a la CA, y del tipo @nteger. =tro aspecto a tener en cuenta es dnde %acemos la declaracin, ya que si la %acemos dentro de un procedimiento espec"ico, esta slo tendr( valide dentro de l, si queremos que la varia$le pueda ser usada por varios procedimientos de$eremos declararla en el (rea <eneral. El segundo paso es la inicialiacin del valor de la varia$le, cosa que de$eremos %acer salvo que nos sirvan los valores por de"ecto& - para las numricas y "" para las al"anumricas. Esto de$eremos %acerlo dentro de alg!n procedimiento ya que en el (rea <eneral no es posi$le, aunque sea una varia$le com!n. La sinta+is adecuada es& No!re$de$"a$varia!"e @ Va"or o e-presi#n Nota& *i queremos usar varia$les del sistema como Date o Tie que contienen la "ec%a y %ora del sistema respectivamente, no es necesario que las declaremos. E+ep"o. 2$rir Pro1e%to5, esto lo podemos %acer desde el men! Ar%3ivo 7 A!rir pro1e%to, o desde la ventana inicial cuando a$rimos Visual Basic, $usc(ndolo tanto en la solapa E-istente como en la solapa Re%ientes. El o$jetivo es incluir un contador que me in"orme del n!mero de veces que %e pulsado el $otn, para ello necesitaremos usar una varia$le. *i declaro la varia$le en el procedimiento Private S.! Coand5$C"i%&'(, esta se inicialiar( cada ve que pulsemos el $otn, con lo que por muc%o que la incrementemos, no conseguiremos que nos muestre el n!mero de veces que lo %emos pulsado. .ecesitamos declararla "uera del procedimiento, $ien pues escri$imos la declaracin al inicio del cdigo& Di %ontador As Inte<er, "uera de cualquier procedimiento 0(rea <eneral1, con esto conseguimos que sea una varia$le p!$lica para nuestro "ormulario y que slo se inicialice al ejecutar el programa. 2dem(s o$servaremos como el editor de cdigo nos separa esta declaracin del resto de procedimientos mediante una lnea %oriontal. ;odi"icamos el procedimiento Private S.! Coand5$C"i%&'(, de "orma que nos quede& Print ,6as p."sado e" !ot#n,A %ontadorA ,ve%es,, a'adimos de$ajo de esta& %ontador @ %ontador B 5 y ejecutamos. )omenando por - veremos como se incrementa el n!mero cada ve que pulsemos el $otn. El siguiente paso en la depuracin del programa sera conseguir que comenase por D y no por -. *i inicialiamos la varia$le contador a D en el procedimiento Private S.! Coand5$C"i%&'(, tenemos el mismo pro$lema que antes, no conseguimos que se incremente ya que cada ve que pulsemos, vuelve a valer D. Podemos pensar que la solucin est( en inicialiarla a D "uera de cualquier procedimiento, pero eso no es posi$le, ya que en lo que se conoce como el (rea <eneral 0donde %emos declarado la varia$le1 slo podemos declarar varia$les, pero no inicialiarlas. La solucin est( en usar un evento que se dispare autom(ticamente una sola ve al inicio de la ejecucin de nuestro programa. Ese evento es el Load del o$jeto :or, este evento se dispara cada ve que se carga el "ormulario y en l se suelen poner los par(metros comunes y especi"icaciones iniciales del "ormulario. En la ventana de cdigo, desplegamos el cuadro com$inado de la iquierda y veremos los o$jetos de los que disponemos, seleccionamos :or, en el cuadro com$inado de la derec%a veremos que autom(ticamente sale el evento Load y nos escri$e en el cdigo el enca$eamiento y pie del procedimiento Private S.! :or$Load'(. *i necesit(semos usar otro evento del o$jeto :or, $astara con desplegar el cuadro com$inado de la derec%a donde veramos todos los que tiene disponi$le ese o$jeto. En este procedimiento escri$imos la inicialiacin de la varia$le a D, qued(ndonos la ventana de cdigo& Operadores. Para construir e+presiones, adem(s de varia$les o constantes utiliaremos los operadores, que se clasi"ican de la siguiente "orma y respetando la jerarqua que con la que aparecen& ARIT)CTICOS. D E+ponenciacin. = ;ultiplicacin 7 4ivisin E 4ivisin entera )OD ;dulo 0resto de la divisin entera1 B *uma F Iesta AL:ANU)CRICOS. G, B )oncatenan te+tos. L8ICOS. NOT .egacin AND J OR = CO)PARATIVOS. H ;enor que H@ ;enor o igual que I ;ayor que I@ ;ayor o igual que @ @gual que HI, J@ 4istinto que Estr.%t.ras. 2 continuacin veremos las estructuras que podemos usar en Visual Basic& ESTRUCTURAS DE DECISIN I2& Esta estructura nos permite desviar el "lujo de programa dependiendo de si se cumple una condicin. La sinta+is es& I2 Condi%i#n t3en )onjunto de ordenes que se ejecutar(n cuando la Condi%i#n sea verdadera. E"se )onjunto de ordenes que se ejecutar(n cuando la Condi%i#n sea "alsa. End I2 Se"e%t& 4ependiendo del valor de una e+presin o varia$le ejecuta una opcin u otra. La sinta+is es& Se"e%t Case E-presi#n Case Va"or5 )onjunto de ordenes que se ejecutar(n cuando la E+presin tenga ValorD. Case Va"or; )onjunto de ordenes que se ejecutar(n cuando la E+presin tenga ValorC. ............ Case E"se )onjunto de ordenes que se ejecutar(n cuando la E+presin no sea ning!n valor anterior. End Se"e%t ESTRUCTURAS DE BUCLE Las estructuras de $ucle permiten ejecutar una o m(s lneas de cdigo repetidamente. Las estructuras de $ucle que acepta Visual Basic son& Do...Loop& /tiliaremos el $ucle Do para ejecutar un $loque de instrucciones un n!mero inde"inido de veces. Kay algunas variantes en la instruccin Do...Loop, pero cada una eval!a una condicin numrica para determinar si contin!a la ejecucin. )omo ocurre con I2...T3en, la condicin de$e ser un valor o una e+presin que d como resultado :a"se 0cero1 o Tr.e 0distinto de cero1. Las instrucciones se ejecutan siempre y cuando condicin sea Tr.e, la sinta+is es& Do K3i"e %ondi%i#n instrucciones Loop )uando Visual Basic ejecuta este $ucle Do, primero eval!a condicin. *i condicin es :a"se 0cero1, se salta todas las instrucciones. *i es Tr.e 0distinto de cero1, Visual Basic ejecuta las instrucciones, vuelve a la instruccin Do K3i"e y prue$a la condicin de nuevo. Por tanto, el $ucle se puede ejecutar cualquier n!mero de veces, siempre y cuando condicin sea distinta de cero o Tr.e. .unca se ejecutan las instrucciones si condicin es :a"se inicialmente. =tra variante de la instruccin Do...Loop ejecuta las instrucciones primero y prue$a condicin despus de cada ejecucin. Esta variacin garantia al menos una ejecucin de instrucciones& Do instrucciones Loop K3i"e condicin Kay otras dos variantes an(logas a las dos anteriores, e+cepto en que repiten el $ucle siempre y cuando condicin sea :a"se en ve de Tr.e. 6a%e e" !.%"e %ero o 0s ve%es 6a%e e" !.%"e a" enos .na veL Do Unti" condicin instrucciones Loop Do instrucciones Loop Unti" condicin :or...Ne-t Los $ucles Do "uncionan $ien cuando no se sa$e cu(ntas veces se necesitar( ejecutar las instrucciones del $ucle. *in em$argo, cuando se sa$e que se van a ejecutar las instrucciones un n!mero determinado de veces, es mejor elegir el $ucle :orMNe-t. 2 di"erencia del $ucle Do, el $ucle :or utilia una varia$le llamada contador que incrementa o reduce su valor en cada repeticin del $ucle. La sinta+is es la siguiente& :or contador L iniciar To finalizar MStep incrementoN instrucciones Ne-t McontadorN Los argumentos contador, iniciar, finalizar e incremento son todos numricos. Nota El argumento incremento puede ser positivo o negativo. *i incremento es positivo, iniciar de$e ser menor o igual que finalizar o no se ejecutar(n las instrucciones del $ucle. *i incremento es negativo, iniciar de$e ser mayor o igual que finalizar para que se ejecute el cuerpo del $ucle. *i no se esta$lece Step, el valor predeterminado de incremento es D. 2l ejecutar el $ucle :or, Visual Basic& D. Esta$lece contador al mismo valor que iniciar. C. )omprue$a si contador es mayor que finalizar. *i lo es, Visual Basic sale del $ucle. 0*i incremento es negativo, Visual Basic comprue$a si contador es menor que finalizar.1 B. Ejecuta instrucciones. A. @ncrementa contador en D o en instrucciones, si se especi"ic. 6. Iepite los pasos C a A. E+ep"o. 2$rir Pro1e%to5. El o$jetivo es modi"icar el programa de "orma que al pulsar el $otn la primera ve, el te+to que muestre sea "Kas pulsado el $otn D ve", en lugar de lo que muestra a%ora que es& "Kas pulsado el $otn D veces". Kay que incluir una estructura @", de "orma que cuando %ontador valga D %aga una cosa, y cuando tenga un valor di"erente %aga otra. La ventana de cdigo, mostrar(& 2dem(s modi"icar el tama'o del "ormulario y el $otn, as como su posicin, de "orma que el resultado sea& *alir guardando todos los cam$ios. E+er%i%io 5. )rear un nuevo proyecto, vamos a ver como utiliar varia$les que contengan te+to. 4e$eremos declarar tres varia$les de tipo Strin<& No!re, Ape""idos y Todo. En el "ormulario pondremos un $otn de "orma que al pulsarlo el programa %aga lo siguiente& asigne a las varia$les No!re y Ape""idos los te+tos correspondientes, mediante concatenacin construya la varia$le Todo, compuesta de los contenidos de No!re y Ape""idos mostrando por pantalla el contenido de la varia$le Todo. A1.da& Para asignar valores a una varia$le de tipo *tring, de$eremos encerrar entre comillas el te+to& No!re @ ,Ra#n,. *i %acemos concatenacin normal entre la varia$les el resultado mostrar( los te+tos sin separacin, podramos incluir un espacio al "inal del nom$re o al inicio de los apellidos, pero la mejor "orma de %acerlo consistir( en concatenar un espacio en $lanco& Todo @ No!re G , , G Ape""idos. E+er%i%io ;. )rear un nuevo proyecto, vamos a ver como usar una estructura de $ucle. @nsertaremos un $otn de "orma que al pulsarlo nos muestre por pantalla cinco lneas que se corresponder(n a cinco pasos del $ucle. @ncluso numeraremos cada lnea con un contador. A1.da& Para realiar este ejercicio, $asta con usar un $ucle de tipo :or, ya que cada ve que pulsemos el $otn reiniciaremos la cuenta de las lneas. E+er%i%io N. )rear un nuevo proyecto, vamos a ver como mantener un acumulador. @nsertaremos un $otn de "orma que al pulsarlo nos muestre por pantalla cinco lneas que se corresponder(n a cinco pasos del $ucle. @ncluso numeraremos cada lnea con un contador. 2dem(s, a di"erencia del ejercicio anterior, cuando volvamos a pulsar el $otn la numeracin de las lneas de$e continuar correlativamente. A1.da& Para realiar este ejercicio, $asta con usar un $ucle de tipo :or, pero para que cada ve que pulsemos el $otn, contin!e la cuenta de las lneas, de$eremos declarar otra varia$le que inicialiaremos en el :or$Load del "ormulario. Esta nueva varia$le ser( la que mostraremos y como slo se inicialia una ve mantendr( el !ltimo valor asignado pudiendo as seguir a secuencia. 4entro del $ucle :or de$eremos ocuparnos de incrementar nosotros la varia$le mediante& A%.."ador @ A%.."ador B 5. 0En ve de A%.."ador, de$eremos poner el nom$re de la varia$le que %ayamos de"inido para la tarea1. )omo el orden de ejecucin es de derec%a a iquierda, primero incrementa la varia$le en uno y luego se lo asigna a la misma varia$le, con lo que conseguimos que se vaya incrementando de uno en uno. :.n%iones 1 pa"a!ras reservadas. Visual Basic tiene un conjunto de "unciones que podremos usar. 2 continuacin veremos las m(s representativas, si $ien %ay muc%as m(s. *e aconseja ir a la ayuda para ampliar o pro"undiar so$re la cuestin Pa"a!ras reservadas. Re& .os permite incluir comentarios so$re el programa en medio del cdigo, la sinta+is es& Re Coentario 2dem(s, se puede conseguir lo mismo sin necesidad de escri$ir Iem, utiliando la comilla simple, es decir, la anterior orden es equivalente a& OCoentario =$servaremos como el editor de cdigo reconoce los comentarios ya que les aplica como color del te+to el verde. E-it S.!& .os permite aca$ar la ejecucin del procedimiento en el que lo pongamos, y en punto del mismo donde se %alle situado. End& .os permite aca$ar la ejecucin del programa en el punto del mismo donde se %alle situado. :.n%iones. )s<Bo-: ;uestra un mensaje en un cuadro de di(logo, espera a que el usuario %aga clic en un $otn y devuelve un tipo Inte<er correspondiente al $otn elegido por el usuario. Sinta-is )s<Bo-'promptM, buttonsNM, titleNM, helpfile, contextN( La sinta+is de la "uncin )s<Bo- consta de estos argumentos& Parte Des%rip%i#n prompt Iequerido. )adena que representa el prompt en el cuadro de di(logo. La longitud m(+ima de prompt es de apro+imadamente D-CA caracteres, seg!n el anc%o de los caracteres utiliados. buttons =pcional. E+presin numrica que corresponde a la suma de los valores que especi"ican el n!mero y el tipo de los $otones que se pretenden mostrar, el estilo de icono que se va a utiliar, la identidad del $otn predeterminado y la modalidad del cuadro de mensajes. *i se omite este argumento, el valor predeterminado para buttons es -. title =pcional. E+presin de cadena que se muestra en la $arra de ttulo del cuadro de di(logo. *i se omite title, en la $arra de ttulo se coloca el nom$re de la aplicacin. helpfile =pcional. E+presin de cadena que identi"ica el arc%ivo de 2yuda que se utilia para proporcionar ayuda interactiva en el cuadro de di(logo. *i se especi"ica helpfile, tam$in se de$e especi"icar context. context =pcional. E+presin numrica que es igual al n!mero de conte+to de 2yuda asignado por el autor al tema de 2yuda correspondiente. *i se especi"ica context, tam$in se de$e especi"icar helpfile. Va"ores El argumento buttons tiene estos valores& Constante Va"or Des%rip%i#n V!OPOn"1 - ;uestra solamente el $otn A%eptar. V!OPCan%e" D ;uestra los $otones A%eptar y Can%e"ar. V!A!ortRetr1I<nore C ;uestra los $otones An."ar, Reintentar e I<norar. V!9esNoCan%e" B ;uestra los $otones SQ, No y Can%e"ar. V!9esNo A ;uestra los $otones SQ y No. V!Retr1Can%e" 6 ;uestra los $otones Reintentar y Can%e"ar. V!Criti%a" D, ;uestra el icono de ensa+e %rQti%o. V!R.estion BC ;uestra el icono de pre<.nta de adverten%ia. V!E-%"aation AG ;uestra el icono de ensa+e de adverten%ia. V!In2oration ,A ;uestra el icono de ensa+e de in2ora%i#n. V!De2a."tB.tton5 - El primer $otn es el predeterminado. V!De2a."tB.tton; C6, El segundo $otn es el predeterminado. V!De2a."tB.ttonN 6DC El tercer $otn es el predeterminado. V!De2a."tB.tton> F,G El cuarto $otn es el predeterminado. V!App"i%ation)oda" - 2plicacin modal# el usuario de$e responder al cuadro de mensajes antes de poder seguir tra$ajando en la aplicacin actual. V!S1ste)oda" A-O, *istema modal# se suspenden todas las aplicaciones %asta que el usuario responda al cuadro de mensajes. V!)s<Bo-6e"pB.tton D,BGA 2grega el $otn 2yuda al cuadro de mensaje. V!)s<Bo-Set:ore<ro.nd ,66B, Especi"ica la ventana del cuadro de mensaje como la ventana de primer plano. V!)s<Bo-Ri<3t 6CACGG El te+to se alinea a la derec%a. V!)s<Bo-Rt"Readin< D-AG6F, Especi"ica que el te+to de$e aparecer para ser ledo de derec%a a iquierda en sistemas %e$reo y (ra$e. El primer grupo de valores 0- a 61 descri$e el n!mero y el tipo de los $otones mostrados en el cuadro de di(logo# el segundo grupo 0D,, BC, AG, ,A1 descri$e el estilo del icono, el tercer grupo 0-, C6,, 6DC1 determina el $otn predeterminado y el cuarto grupo 0-, A-O,1 determina la modalidad del cuadro de mensajes. )uando se suman n!meros para o$tener el valor "inal del argumento buttons, se utilia solamente un n!mero de cada grupo. Nota& Estas constantes las especi"ica Visual Basic para 2plicaciones. Por tanto, el nom$re de las mismas puede utiliarse en cualquier lugar del cdigo en ve de sus valores reales. Va"ores dev.e"tos Constante Va"or Des%rip%i#n v!OP D A%eptar v!Can%e" C Can%e"ar v!A!ort B An."ar v!Retr1 A Reintentar v!I<nore 6 I<norar v!9es , SQ v!No F No E+ep"o. La siguiente orden genera un cuadro al cual le indicamos ttulo, te+to, le ponemos tres $otones& *, .o y )ancelar. 2dem(s le incluimos el icono de pregunta& )s<Bo- ,SEsta se<.ro de T.e T.iere %ontin.arU,V v!9esNoCan%e" B v!R.estionV ,Con2ira%i#n, El resultado en ejecucin es& Inp.tBo-: ;uestra un mensaje en un cuadro de di(logo, espera que el usuario escri$a un te+to o %aga clic en un $otn y devuelve un tipo *tring con el contenido del cuadro de te+to. Sinta-is Inp.tBo-'promptM, titleNM, defaultNM, xposNM, yposNM, helpfile, contextN( La sinta+is de la "uncin Inp.tBo- consta de estos argumentos& Parte Des%rip%i#n prompt Iequerido. )adena que se muestra como mensaje en el cuadro de di(logo. La longitud m(+ima de prompt es de apro+imadamente D-CA caracteres, seg!n el anc%o de los caracteres utiliados. title =pcional. E+presin de cadena que se muestra en la $arra de ttulo del cuadro de di(logo. *i omite title, en la $arra de ttulo se coloca el nom$re de la aplicacin. default =pcional. E+presin de cadena que se muestra en el cuadro de te+to como respuesta predeterminada cuando no se suministra una cadena. *i omite default, se muestra el cuadro de te+to vaco. xpos =pcional. E+presin numrica que especi"ica, en t8ips, la distancia en sentido %oriontal entre el $orde iquierdo del cuadro de di(logo y el $orde iquierdo de la pantalla. *i se omite xpos, el cuadro de di(logo se centra %oriontalmente. ypos =pcional. E+presin numrica que especi"ica, en t8ips, la distancia en sentido vertical entre el $orde superior del cuadro de di(logo y el $orde superior de la pantalla. *i se omite ypos, el cuadro de di(logo se coloca a apro+imadamente un tercio de la altura de la pantalla, desde el $orde superior de la misma. helpfile =pcional. E+presin de cadena que identi"ica el arc%ivo de 2yuda que se utiliar( para proporcionar ayuda interactiva para el cuadro de di(logo. *i se especi"ica helpfile, tam$in de$er( especi"icarse context. context =pcional. E+presin numrica que es el n!mero de conte+to de 2yuda asignado por el autor al tema de 2yuda correspondiente. *i se especi"ica context, tam$in de$er( especi"icarse helpfile. Coentarios )uando se especi"ica tanto helpfile como context, el usuario puede presionar 5D para ver el tema de A1.da correspondiente a context. 2lgunas aplicaciones como por ejemplo, ;icroso"t E+cel, tam$in agregan autom(ticamente un $otn A1.da a" %.adro de di0"o<o. *i el usuario %ace clic en A%eptar o presiona Entrar , la "uncin @nputBo+ devuelve lo que %aya en el cuadro de te+to. *i el usuario %ace clic en Can%e"ar, la "uncin devuelve una cadena de caracteres de longitud cero 0""1. Nota& *i deseamos especi"icar m(s que el primer argumento con nom$re, de$emos utiliar Inp.tBo- en una e+presin. *i deseamos omitir algunos argumentos de posicin, de$emos incluir el delimitador de coma correspondiente. E+ep"o. La siguiente orden genera un cuadro al cual le indicamos te+to, ttulo y asignamos el te+to que escri$a el usuario a la varia$le cadena& Di %adena As Strin< %adena @ Inp.tBo-',Introd.L%a e" no!re de" .s.ario,V ,Identi2i%a%i#n,( =$servar que como asignamos el resultado de la "uncin @nputBo+ a una varia$le, de$emos encerrar los argumentos entre parntesis. El resultado en ejecucin es& E+ep"o. )rear un E9E estandar, llamar E+ep"o; al "ormulario, al cual le insertaremos un $otn en la parte in"erior derec%a, ponerle como nom$re BotonSa"ir y como )aption Sa"ir 0 si queremos que el usuario pueda activar el $otn con la com$inacin de teclas 2L> H *, de$eremos anteponer a la letra * del caption el sm$olo P1. 2 este $otn le insertaremos cdigo de "orma que cuando el usuario pulse, salga un cuadro por pantalla pidiendo con"irmacin para salir del programa, si el usuario pulsa *, de$e aca$ar la ejecucin y si pulsa .o, no de$e %acer nada. @nsertar otro $otn en la parte in"erior iquierda, ponerle como nom$re Boton:e%3a y como )aption :e%3a 1 3ora de" sistea 0 si queremos que el usuario pueda activar el $otn con la com$inacin de teclas 2L> H 5, de$eremos anteponer a la letra 5 del caption el sm$olo P1 2 este $otn le insertaremos cdigo de "orma que cuando el usuario pulse, imprima en el "ormulario la "ec%a en "ormato largo, es decir, da de la semana, da, nom$re del mes y a'o con A ci"ras. 4e$ajo de$e imprimir la %ora del sistema. El "ormulario en dise'o quedar(& J la ventana de cdigo& E4ERCICIOS PRACTICOS E4ERCICIOS CON LABELSV TE/TBO/ES 9 BOTONES EN VISUAL BASIC Vamos a plantear el enunciado para una serie de ejercicios y posteriormente mostraremos la solucin a los mismos. E4ERCICIO E4E)PLO RESUELTO NW5 >rans"ormar en cdigo el pseudocdigo que se muestra a continuacin, relativo a proporcionar el volumen de un cilindro dados su altura y di(metro. 5. Ini%io C. ;ostrar Q@ntroduca el di(metro, en metrosR & Pedir 4 B. ;ostrar Q@ntroduca la altura, en metrosR & Pedir K A. I L 4?C & Pi L B,DAD6OB 6. V L Pi S 0I T C1 S K ,. ;ostrar QEl volumen del cilindro es deR, V, Qmetros c!$icosR X. :in SOLUCIN E4ERCICIO E4E)PLO NW5 )reamos un "ormulario donde insertamos dos La$els 0podemos usar arrays de controles como La$elD0-1 yLa$elD0D11 simplemente dos controles como La$elD y La$elC, dos >e+tBo+ 0podemos decir lo mismo que para los la$els1y un La$el para resultados al que vamos a ponerle nosotros el nom$re y que llamaremos 0La$elIesultados1, as como un $otn al que llamaremos Button)alcular. El primer La$el mostrar( el mensaje de solicitud del di(metro y el segundo La$el el correspondiente a la altura. 2 travs de los >e+tBo+ el usuario introducir( los datos solicitados y a travs del La$el de resultados mostraremos los resultados. El cdigo ser( algo as& C#di<o 'versionesVB enos re%ientes( Iem )urso Visual Basic aprenderaprogramar.com Option E-p"i%it Iem 4eclaracin de varia$les )onst Pi 2s *ingle L B.DAD6OC,6A 4im IU, KU, V 2s *ingle Iem )ontenido del "ormulario Private S.! :or$Load'( 5ormD.)aption L ")(lculo volumen cilindro" Button)alcular.)aption L ")alcular Volumen" La$elD.)aption L "@ntroduca aqu el di(metro, en metros" La$elC.)aption L "@ntroduca aqu la altura, en metros" End S.! Iem )(lculo y muestra resultados Private S.! B.ttonCa"%."ar$C"i%&'( I L Val0>e+tD1 ? C K L Val0>e+tC1 V L Pi S 0I T C1 S K La$elIesultados.5ont*ie L D- La$elIesultados.5ontBold L >rue La$elIesultados.2lignment L C La$elIesultados L "El volumen del cilindro es de " P V P " metros c!$icos" End S.!
El resultado gr("ico ser( similar a este&
E+er%i%ios res.e"tos !0si%os 1 de estr.%t.ras de de%isi#n en Vis.a" Basi% Y.Z 5( Escri$ir un programa que agregue un valor de la suma *e de$e crear& N La$el 0En el ter%er La$el cam$ia el Border*tyle de Z F None a 5 E :i-ed Sin<"e1 5 >e+tBo+ 5 )ommandButton 4e$e quedar as Kay dos "ormas de %acerlo& :ora sip"e'Nive": :a%i"( y :ora sip"e'Nive": Nora"(. Ver(n porque. :ora sip"e'Nive": :a%i"(: El pro$lema de la "orma simple es que al agregar el primervalor y al darle sumar nos agrega el primer valor ingresado, en ve de esperar los otros valores que se van a sumar. Por ejemplo& 5( *i ingreso 5 en lugar de quedar el La!e"N en $lanco te muestra el primer valor ingresado, en ve de quedarse en $lanco el La!e"N, para poder ingresar el siguiente valor sumarlo y mostrar el resultado. Prue$enlo y veran porque. 2qu esta el cdigo 04arle do$le clc3 al CoandB.tton e introducir lo siguiente1 Option E-p"i%it Di *uma As Do.!"e VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV Private S.! )ommandDV)lic301 Di Valor As Do.!"e Valor L >e+tD *uma L *uma H Valor La$elB L *uma End S.! :ora sip"e'Nive": Nora"(: Esta es la "orma en que vemos si se %a ingresado datos o no en el Te-tBo- usando condicionales, y tam$in nos ayuda a sumar de "orma cmoda como las calculadora de Kindo[s. 4e$e quedarte as& 2qu esta el cdigo 04arle do$le clc3 al CoandB.tton e introducir lo siguiente1 Di =peracion As Strin< Di @nicio As Boo"ean Di PrimerValor, Valor*iguiente, *uma
Private S.! )ommandDV)lic301 PrimerValor L Val0>e+tD.>e+t1 >e+tD.>e+t L ,, @nicio L :a"se =peracion L ,S.a, End S.! Private S.! )ommandCV)lic301 >e+tD.>e+t L ,, La$elB L ,, Valor*iguiente L Z @nicio L :a"se End S.! Private S.! )ommandBV)lic301 I2 >e+tD L ,, T3en )s<Bo- ,Usted no 3a in<resado s. n.ero, End I2 Valor*iguiente L >e+tD.>e+t Se"e%t Case =peracion Case ,S.a, *uma L PrimerValor H Valor*iguiente La$elB L *uma End Se"e%t End S.! ;( Escri$ir un programa que lea ? n!meros enteros y escri$a la media aritmtica 0Promedio1 de los mismos Se 3a%e de tres aneras Priera anera *e de$e crear& ? >e+tBo+ X La$el 0En el \"tio La$el cam$ia el Border*tyle de Z F None a 5 F :i-ed Sin<"e1 5 )ommandButton 4e$e quedarte as 2qu esta el cdigo 04arle do$le clc3 al CoandB.tton e introducir lo siguiente1 Private S.! )ommandDV)lic301 Di PrimerValor As Inte<er, *egundoValor As Inte<er, >ercerValor As Inte<er, )uartoValor As Inte<er, WuintoValor As Inte<er PrimerValor L >e+tD *egundoValor L >e+tC >ercerValor L >e+tB )uartoValor L >e+tA WuintoValor L >e+t6 La$elF L 0PrimerValor H *egundoValor H >ercerValor H )uartoValor H WuintoValor1 ?? End S.! Se<.nda anera: Esta manera es para que cuando se nos olvide poner el alg!n valor en cualquierTe-tBo-, nos muestre un mensaje de que "alta ingresar un valor en tal Te-tBo- Se de!e %rear: ? >e+tBo+ X La$el 0En el !ltimo La!e" cam$ia el Border*tyle de Z F None a 5 F :i-ed Sin<"e1 5 )ommandButton 4e$e quedarte as 2qu esta el cdigo 04arle do$le clc3 al CoandB.tton e introducir lo siguiente1 Private S.! )ommandDV)lic301 Di PrimerValor As Inte<er, *egundoValor As Inte<er, >ercerValor As Inte<er, )uartoValor As Inte<er, WuintoValor As Inte<er PrimerValor L Va"0>e+tD1 *egundoValor L Va"0>e+tC1 >ercerValor L Va"0>e+tB1 )uartoValor L Va"0>e+tA1 WuintoValor L Va"0>e+t61 I2 >e+tD L ,, T3en )s<Bo- ,:a"ta e" .n va"or en "a %asi""a 5, E"seI2 >e+tC L ,, T3en )s<Bo- ,:a"ta e" .n va"or en "a %asi""a ;, E"seI2 >e+tB L ,, T3en )s<Bo- ,:a"ta e" .n va"or en "a %asi""a N, E"seI2 >e+tA L ,, T3en )s<Bo- ,:a"ta e" .n va"or en "a %asi""a >, E"seI2 >e+t6 L ,, T3en )s<Bo- ,:a"ta e" .n va"or en "a %asi""a ?, E"se La$elF L 0PrimerValor H *egundoValor H >ercerValor H )uartoValor H WuintoValor1 ? 6 End I2 End S.! Ter%era 2ora: Para eso de$emos crear una ,)atriL de Contro"es,, lo que signi"ica que de$emos crear ] veces un TE/T5 )omo se muestra gr("icamente. )reamos un Te-tBo- Le damos clic3 derec%o del )o.se y nos saldr( el siguiente cuadro lo cual sale una opcin que dice %opiar. 2%ora acercamos el cursor en el espacio del "ormulario le damos %"i%& derec%o y pegar. = lo m(s "(cil apretamos la tecla Ctr" y la tecla V las dos 0teclas a la ve1 Luego de %a$erle dado pegar te va a salir un cuadro que te dice lo siguiente& "Ja e+iste un control llamado >e+tD X4eseas crear una matri de controlesY" Les das clic3 en SI o en A%eptar )reas ? >e+tD X La$els y .n )ommandButton El "ormulario de$e quedarte as 2qu esta el cdigo 04arle do$le clc3 al CoandB.tton e introducir lo siguiente1 Private S.! )ommandDV)lic301 Di PrimerValor As Inte<er, *egundoValor As Inte<er, >ercerValor As Inte<er, )uartoValor As Inte<er, WuintoValor As Inte<er PrimerValor L Va"0>e+tD0Z11 *egundoValor L Va"0>e+tD0511 >ercerValor L Va"0>e+tD0;11 )uartoValor L Va"0>e+tD0N11 WuintoValor L Va"0>e+tD0>11 I2 >e+tD051 L ,, T3en )s<Bo- ,:a"ta e" .n va"or en "a %asi""a 5, E"seI2 >e+tD0;1 L ,, T3en )s<Bo- ,:a"ta e" .n va"or en "a %asi""a ;, E"seI2 >e+tD0N1 L ,, T3en )s<Bo- ,:a"ta e" .n va"or en "a %asi""a N, E"seI2 >e+tD0>1 L ,, T3en )s<Bo- ,:a"ta e" .n va"or en "a %asi""a >, E"seI2 >e+tD0?1 L ,, T3en )s<Bo- ,:a"ta e" .n va"or en "a %asi""a ?, E"se La$elF L 0PrimerValor H *egundoValor H >ercerValor H )uartoValor H WuintoValor1 ?? End I2 End S.! N( El alquiler de un ve%culo cuesta XZ.ZZZ !o"Qvares por da m(s X?Z !o"Qvares por cada 3ilmetro recorrido. Escri$ir un programa que lea por teclado el n!mero dedQas en a"T.i"er y el n\eros de &i"#etros re%orridos y .estre e" onto tota" T.e se de!e pa<ar. *e de$e crear& ; >e+tBo+ > La$el 0En el !ltimo La!e" cam$ia el Border*tyle de Z F None a 5 F :i-ed Sin<"e1 5 )ommandButton 4e$e quedarte as 2qu esta el cdigo 04arle do$le clc3 al CoandB.tton e introducir lo siguiente1 Private S.! )ommandDV)lic301 ODe%"araos "as %onstantes Const 2lquiler4el2uto L XZZZZ Const ZilometrosIecorrido L X?Z
Di 4ias4e2lquiler As Inte<er Di ZilometrosIecorridos As Inte<er
4ias4e2lquiler L Va"0>e+tD1 Zilometros L Va"0>e+tC1
I2 >e+tD L ,, T3en )s<Bo- ,No 3as in<resado "os dias, E"seI2 >e+tC L ,, T3en )s<Bo- ,No 3as in<resado "os &i"oetros, E"se La$elB L 04ias4e2lquiler S 2lquiler4el2uto1 H 0ZilometrosIecorrido S Zilometros1 End I2
End S.! >( Escri$ir un programa que lea por teclado un numero entero, el cual representa un monto en $olvares y muestre cuantos $illetes de ?Z.ZZZ, ;Z.ZZZ, 5Z.ZZZ, ?.ZZZ,;.ZZZ y 5.ZZZ y cuantas monedas de ?ZZ, 5ZZ, ?Z, ;Z, 5Z, ? y 5 constituyen esa cantidad. 2qu usaremos Inp.tBo- *e de$e crear& 5N >e+tBo+ 5N La$el 5 )ommandButton 4e$e quedarte as 2qu esta el cdigo 04arle do$le clc3 al CoandB.tton e introducir lo siguiente1 Option E-p"i%it Private S.! )ommandDV)lic301 Di ;onto As Lon<
OIn<resaos "os datos ;onto L Inp.tBo-0,In<rese s. onto,1
>e+tD L ;onto : ?ZZZZ >e+tC L ;onto : ;ZZZZ >e+tB L ;onto : 5ZZZZ >e+tA L ;onto : ?ZZZ >e+t6 L ;onto : ;ZZZ >e+t, L ;onto : 5ZZZ >e+tF L ;onto : ?ZZ >e+tG L ;onto : 5ZZ >e+tO L ;onto : ?Z >e+tD- L ;onto : ;Z >e+tDD L ;onto : 5Z >e+tDC L ;onto : ? >e+tDB L ;onto : 5
End S.! ?( Escri$ir un programa que solicite al usuario la introduccin de un n!mero de tresdgitos y que lo imprima en orden inverso. E+ep"o: Para una entrada de Y]?,la salida de$er( ser ?]Y. *e de$e crear& ; >e+tBo+ ; La$el 5 )ommandButton 4e$e quedarte as 2qu esta el cdigo 04arle do$le clc3 al CoandB.tton e introducir lo siguiente1 Private S.! )ommandDV)lic301
Di .umero As Inte<er Di )alculo/no As Inte<er, Iespuesta/no As Inte<er Di )alculo4os As Inte<er, Iespuesta4os As Inte<er
.umero L >e+tD
)alculo/no L .umero : 5ZZ Iespuesta/no L .umero )od 5ZZ
)alculo4os L Iespuesta/no : 5Z Iespuesta4os L Iespuesta/no )od 5Z
>e+tC L Iespuesta4os G )alculo4os G )alculo/no
End S.! Y( 4ados tres valores enteros, los cuales representan las longitudes de los lados de un tri(ngulo, escri$ir un programa que determine si el tri(ngulo es is#s%e"esV eT.i"0tero o es%a"eno. *e de$e crear& > La$el N >e+tBo+ 5 )ommandButton 4e$e quedar as 2qu esta el cdigo 04arle do$le clc3 al CoandB.tton e introducir lo siguiente1 Private S.! )ommandDV)lic301 Di Lado/no As Inte<er, Lado4os As Inte<er, Lado>res As Inte<er
Lado/no L >e+tD Lado4os L >e+tC Lado>res L >e+tB
I2 Lado/no L Lado4os And Lado4os L Lado>res T3en La$elA L ,Es eT.i"0tero, E"seI2 Lado/no L Lado4os Or Lado/no L Lado>res Or Lado4os L Lado>res OrLado4os L Lado/no Or Lado>res L Lado/no Or Lado>res L Lado4os T3en La$elA L ,Isos%e"es, E"se La$elA L ,Es%a"eno, End I2 End S.! X( Escri$ir un programa que dada la %ora en 66&))&SS calcule y muestre la %ora un segundo despus. 4onde& 66 es la %ora )) son los minutos SS son los segundos *e de$e crear& N >e+tBo+ N )ommandButton 4e$e quedar as 2qu esta el cdigo 04arle do$le clc3 al CoandB.tton e introducir lo siguiente1 Private S.! )ommandBV)lic301 Varia$leKora L >e+tD Varia$le;inutos L >e+tC Varia$le*egundos L >e+tB Varia$le*egundos L Varia$le*egundos H 5 I2 Varia$le*egundos L YZ T3en Varia$le*egundos L Z Varia$le;inutos L Varia$le;inutos H 5 I2 Varia$le;inutos L YZ T3en Varia$le;inutos L Z Varia$leKora L Varia$leKora H 5 @" Varia$leKora [ 5; T3en Varia$leKora L 5 End I2 End I2 End I2 >e+tD L Varia$leKora >e+tC L Varia$le;inutos >e+tB L Varia$le*egundos End S.! VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV Private S.! )ommandDV)lic301 >e+tD L ,, >e+tC L ,, >e+tB L ,, End S.! VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV Private S.! )ommandCV)lic301 End End S.! VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV NOTA: A( El )ommandButtonB es el $otn 6ora B( El )ommandButtonD es el $otn Borrar C( El )ommandButtonC es el $otn Sa"ir