Está en la página 1de 6

DIRECCIN REGIONAL DE EDUCACIN PUNO

INSTITUTO DE EDUCACIN SUPERIOR TECNOLGICO PBLICO - MACUSANI

COMPUTACIN E INFORMTICA
RM. N 102-90-ED de Creacin y Funcionamiento, RD N 008 -200 -ED de Re!a"idacin Portal web: www.tecnomacusani.edu.pe Cel: 962868118 e-mail: istpmacusani@hotmail.com

GUA DE APRENDIZAJE SENTENCIAS DE CONTROL


Las sentencias de control se utilizan en VB 6.0 para que el programa lleve un curso lgico y tome decisiones en base a condiciones que se puedan presentar mientras ste se ejecuta. Como ya se a visto anteriormente! las condiciones pueden devolver dos posibilidades en una decisin! puede devolver verdadero "#rue$ o %also "%alse$& as' puede llevar el programa a ejecutar una serie de instrucciones de acuerdo a una respuesta! para ello se utilizan las estructuras de decisin. LAS ESTRUCTURAS DE DECISIN SON: If ... Then ... Select Case ...

Estructura de decisin If ... Then ...


(ste tipo de estructura "que ya a sido utilizado en varios programas anteriores$ ejecuta una serie de instrucciones! en base a una respuesta a una condicin. #iene la siguiente )orma* If condicin Then Instrucciones si condicin es verdadera [Else] Instrucciones si condicin es falsa End If +onde la condicin re,ne las especi)icaciones descritas en la seccin anterior que devuelve verdadero o )also! entre la palabra # en y (lse "si se coloca (lse$ se escriben una serie de instrucciones que se ejecutan si la condicin devuelve verdadero. (ntre (lse y (nd -)! se colocan las instrucciones en caso de que la instruccin devuelve %also. La palabra (lse no es obligatoria! si no se coloca en caso de que la condicin sea )alsa no ay ejecucin de instrucciones. .uedando de la siguiente )orma* If condicin Then Instrucciones si condicin es verdadera End If #ambin es posible que se encuentre el caso de que aya m/s de una condicin que se desea comparar! as' por ejemplo! si se cumple una condicin se ejecutan una serie de instrucciones! en caso de que sea )also tal vez se desee comparar otra condicin y veri)icar si es verdadera! as' sucesivamente asta encontrar la condicin que se cumple! para esto se utiliza la siguiente secuencia* If condicin1 Then Instrucciones si condicin1 es verdadera [ElseIf condicin2 Then] [Instrucciones si condicin2 es verdadera] [ElseIf condicin3 Then] [Instrucciones si condicin3 es verdadera] ... [Else] [Instrucciones si todas las condiciones son falsas] End If 0uede agregar cualquier cantidad de (lse-) tantas veces como quiera asta lograr el objetivo de alcanzar la secuencia que se quiere ejecutar seg,n la condicin. Cuando ya una condicin se cumple se ejecutan las instrucciones que est/n dentro de esta condicin y al terminar la secuencia se va asta el )inal (sta secuencia es muy valiosa si las condiciones no incluyen la misma variable o incluyen m/s de una variable. 1a que si desea comparar una variable es m/s )/cil utilizar la secuencia 2elect Case. E e!"#$ Instruccin I%:

..:: 1::..

#ro$ramacin con %& .0

Ing. Ronald Mamani Mayta

(l siguiente programa tiene la )inalidad de utilizar la instruccin -) en toda la mayor'a de los casos que se pueda presentar durante la codi)icacin de un programa. 3gregue a un )ormulario un cuadro de te4to "#e4t5$ y un botn de comando "Command5$ y escriba el siguiente cdigo* Private Sub For !"oad#$ Te%t1 & '' Co and1.Ca(tion & 'Co (arar' End Sub Private Sub Co and1!Clic)#$ *i +alor ,s *ouble- .es(uesta If Te%t1 & '' Then +alor & 0 Else +alor & C*bl#Te%t1$ End If If +alor 1 0 Then .es(uesta & 'El +alor es ElseIf +alor & 0 Then .es(uesta & 'El +alor es Else .es(uesta & 'El +alor es End If Te%t1 & .es(uesta End Sub ,s Strin/

ne/ativo' cero' (ositivo'

(jecute la aplicacin e introduzca un valor numrico en el cuadro de te4to. Luego aga clic en el botn de comando y espere la respuesta. 2i tiene alguna duda sobre la codi)icacin de este programa puede repasar la e4plicacin de la estructura de decisin -)! y veri)icar los detalles sobre la )uncin de dic a estructura.

Estructura de decisin Se#ect Case&&&


La estructura 2elect Case se utiliza si desea comparar una sola variable a un conjunto de condiciones y ejecutar la secuencia seg,n el caso que se cumpla. (l caso del programa anterior pudo utilizar esta estructura. 2elect Case tiene la siguiente )orma* Select Case +ariable Case +alor12 instrucciones si +ariable es i/ual a +alor1 Case +alor2- +alor32 instrucciones si +ariable es +alor2 o +alor3. Case Is 1 +alor32 instrucciones si +ariable es enor a valor3. Case +alor4 To +alor52 instrucciones si +ariable est6 entre +alor4 7 +alor5 End Select (sta e4plicacin se encuentra las cuatro combinaciones posibles de casos que se pueden presentar. (n la seccin que muestra Case -s! se puede colocar menor o igual "67$ ! menor "6$! mayor "8$ o mayor o igual "87$ y acer la comparacin de la variable respecto a un valor. (l programa del ejemplo anterior podr'a colocarse entonces como cdigo* Private Sub For !"oad#$ Te%t1 & '' Co and1.Ca(tion & 'Co (arar' End Sub Private Sub Co and1!Clic)#$ *i +alor ,s *ouble- .es(uesta ,s Strin/ If Te%t1 & '' Then +alor & 0

..:: 2::..

#ro$ramacin con %& .0

Ing. Ronald Mamani Mayta

+alor & C*bl#Te%t1$ End If Select Case +alor Case Is102 .es(uesta&'El valor es ne/ativo' Case 02 .es(uesta&'El valor es cero' Case Else2 'El valor es (ositivo' End Select Te%t1&.es(uesta End Sub 9educiendo el n,mero de l'neas y las complicaciones de la codi)icacin. (4iste otro tipo de estructuras llamadas estructuras de bucles! ejecutan las instrucciones repetidamente! mientras o asta que se cumpla una condicin. LAS ESTRUCTURAS DE 'UCLES SON: +o ... Loop %or ... :e4t %or (ac ... :e4t

Else

(l bucle +o ... Loop*


(ste bucle utiliza dos )ormas b/sicas "aunque se pueden colocar de distinta manera$ para ejecutar un conjunto de instrucciones mientras o asta se cumpla una condicin. La siguiente instruccin* *o 8hile condicion Sentencias [E%it *o] "oo( 2e utiliza para realizar el conjunto de instrucciones mientras se cumpla una condicin! as'! si la condicin devuelve verdadero "#rue$ o distinto de cero! se ejecutan el conjunto de instrucciones! luego se regresa al inicio y se vuelve a veri)icar la condicin! si es verdadera de nuevo o distinta de cero! se vuelve a ejecutar la secuencia asta que la condicin devuelva %also o cero. (ste bucle se puede escribir m/s r/pidamente de la siguiente manera* 8hile condicin Sentencias 8end (ste caso no tiene la opcin de salir del bucle si se deseara. 2i la condicin devuelve %also o cero en la primera evaluacin no se ejecutar/ ninguna vez! a menos que se coloque de la siguiente )orma* *o Sentencias [E%it *o] "oo( 8hile condicion +e esta )orma se ejecuta primero el conjunto de instrucciones y luego se eval,a la condicin. 2e repetir/ la ejecucin de acuerdo a la respuesta obtenida en la condicin de acuerdo a lo se;alado anteriormente. #ambin se puede cambiar la estructura +o ... Loop de tal manera que se ejecute el conjunto de instrucciones cuando la condicin devuelva %also o cero! para ello se debe cambiar la palabra < ile de la instruccin por la palabra =ntil. +e tal manera quedar'a* *o 9ntil condicin Sentencias [E%it *o] "oo( O bien: *o Sentencias [E%it *o] "oo( 9ntil condicion

..:: 3::..

#ro$ramacin con %& .0

Ing. Ronald Mamani Mayta

E e!"#$& Su!a (asta cien: (l siguiente programa despliega "cuando se ace clic en el botn de comando$ una caja de entrada para obtener un valor que se sumar/. Cuando la suma tome el valor 500 o mayor el proceso se detendr/* 3gregue un botn de comando "Command5$ y una etiqueta "Label5$ a un )ormulario! escriba el siguiente cdigo! puede copiar y pegar* 0rivate 2ub Command5>Clic?"$ 2tatic 2uma 3s +ouble +o < ile 2uma 6 500 :um 7 -nputBo4"@(scriba un n,mero@! @Aensaje@! @0@$ 2uma 7 2uma B :um Label5 7 2uma Loop (nd 2ub (jecute la aplicacin e interact,e colocando valores asta llegar asta 500! veri)ique que se detiene el proceso. (ste programa no se coloc en la 2eccin detallada de 0rogramas ya que es de )/cil comprensin y muc os de los procesos utilizados ya an sido ampliamente e4plicados.

E# )uc#e *$r &&& Ne+t:


(l bucle %or ... :e4t se utiliza para ejecutar un n,mero determinado de veces el conjunto de instrucciones que contiene. #iene la siguiente )orma* For +ariable & +alorInicial To +alorFinal [Ste( +alorIncre ento]Sentencias [E%it For] :e%t [+ariable] +onde variable es una variable que va a cambiar desde un valor inicial a un valor )inal! con un incremento dado por 2tep "opcional$. (4it %or se puede utilizar en alguna parte del interior de las sentencias si se desea dar )in al bucle. (l valor incremento puede ser positivo! para ir incrementando la variable o negativo para ir disminuyendo! lgicamente si es positivo el valor inicial debe ser menor al valor )inal o si es negativo el valor inicial debe ser mayor al valor )inal. 2i no se coloca el incremento "2tep$ este asumir/ uno a menos que la variable cambie dentro de las sentencias. E e!"#$ de Uti#i,acin de *$r: (n un )ormulario agregue un botn de comando "Command5$ y un control cuadro de imagen "0icture5$ de CD00 o m/s de 3nc o "<idt $ y 5000 de alto "Eeig t$. (scriba el siguiente cdigo* Private Sub Co and1!Clic)#$ *i ; ,s "on/ For ; & 240 To Picture1.8idth Ste( 1000 Picture1.Current; & ; Picture1.Current< & Picture1.=ei/ht > 300 Picture1.Print ',?ui' :e%t End Sub (jecute el programa! presione clic sobre el botn de comando! se escribir/ en el cuadro de imagen la palabra F3qu'G varias veces seg,n el anc o del cuadro de imagen. #ambin se puede eliminar la seccin " 2tep 5000$ y colocar en las sentencias despus de la l'nea 0icture5.0rint* ; & ; @ 1000 (s la )orma de incrementar la variable directamente en las sentencias de instrucciones.

Bucle %or (ac ... :e4t*


(s una modalidad del bucle %or ... :e4t! pero ste permite recorrer una matriz o una coleccin de datos "Ver Hbjeto Collection$ cuando no se sabe el n,mero de elementos de contienen. #iene la siguiente )orma* For Each Ele ento In CollectionABatriC

..:: 4::..

#ro$ramacin con %& .0

Ing. Ronald Mamani Mayta

Sentencias [E%it For] :e%t +onde (lemento es una variable de tipo Variant si es una Aatriz o un Hbjeto si es una coleccin de objetos. #ambin te la opcin (4it %or para salir del bucle en el momento que se desea. OTRAS SENTENCIAS:

2entencia Ioto*
La sentencia Ioto permite dirigir la secuencia de instrucciones a otro lugar mas in)erior en vez de seguir la secuencia de l'neas como generalmente se ejecuta un programa. Cuando esta sentencia se coloca! se debe colocar a su lado el nombre de un subprocedimiento! este nombre debe colocarse m/s abajo "en el lugar donde se desea que se dirija el programa$ seguido de dos puntos y luego las sentencias o instrucciones que se desea que se ejecute! por ejemplo* (s muy importante resaltar que las l'neas de secuencia de las instrucciones por realizarse de arriba acia abajo no e4cluye al subprocedimiento! por lo tanto para )inalizar la ejecucin de instrucciones antes del subprocedimiento debe agregarse la palabra (4it 2ubJ%unction que corresponda para no ejecutar las l'neas contenidas en el procedimiento. (sta sentencia tambin se utilizan en el caso que se produzca un error en la ejecucin de un procedimiento! en este caso se escribir'a en la primera l'nea del procedimiento* Dn Error Eoto :o breSub(rocedi iento 1 debajo en la parte in)erior del procedimiento colocar las l'neas correspondientes a las acciones que se deben tomar en caso de producirse un error. (sto se ve ejempli)icado en el siguiente programa* E e!"#$ N$ -.& Sentencia G$t$: (ste programa tiene por objetivo veri)icar si un n,mero introducido es divisible entre los valores C! K y L simult/neamente. 0ara ello! agregue un botn de comando "Command5$! adem/s agregue dos cuadros de te4to "#e4t5$ y "#e4tC$! el segundo identi)icado con una etiqueta que muestre FM+ivisible entre C! K y LNG! luego agregue el siguiente cdigo* Private Sub Co and1!Clic)#$ Dn Error EoTo Error+alor Te%t2 & *ivisibleEntre2!3!3#Te%t1$ E%it Sub Error+alor2 If Err.:u ber & 13 Then Bs/Fo% 'Error en el valor introducido'- - 'IntroduCca un valor' Te%t1 & '' Te%t1.SetFocus End If End Sub Private Function *ivisibleEntre2!3!3#:u ero ,s Inte/er$ ,s Foolean If :u ero Bod 2 1G 0 Then EoTo :oEs*ivisible End If If :u ero Bod 3 1G 0 Then EoTo :oEs*ivisible End If If :u ero Bod 3 1G 0 Then EoTo :oEs*ivisible End If *ivisibleEntre2!3!3 & True E%it Function :oEs*ivisible2 *ivisibleEntre2!3!3 & False End Function

..:: 5::..

#ro$ramacin con %& .0

Ing. Ronald Mamani Mayta

(jecute la aplicacin! introduzca un valor entero en el primer cuadro de te4to y presione clic sobre el botn de comando! #e4tC mostrar/ Verdadero si el valor es divisible entre C! K y L o )also si no lo es. 0ruebe con distintos n,meros. Los detalles sobre la codi)icacin de este programa est/n en la 2eccin +etallada de programas.

2entencia <it *
3 esta sentencia tambin se le llama Bloque <it ! ya que agrupa un conjunto de instrucciones con respecto a un objeto! control o estructura. La sentencia <it se utiliza cuando se desea ejecutar un conjunto de instrucciones con re)erencia a un objeto! control o estructura para no acer re)erencia en cada paso a esta sino una sola vez. 0or ejemplo la secuencia* 8ith "abel1 ForderSt7le&1 Ca(tion&':o bre2' Enabled&True 8idth&1H14 End 8ith Cam'ia "a( )ro)iedade( e(ti"o de 'orde, ca)tion, en(am'"ado y anc*o de "a eti+ueta uno, con nece(idad de e(cri'ir ,a'e"1 ("o una

..:: 6::..

También podría gustarte