SlideShare una empresa de Scribd logo
www.ceminfosv.com                        Programación I                    UGB, San Miguel
               Universidad Capitán General Gerardo Barrios, SM.                  Guía Nº 2 - Computo II-09

               Asignatura: Programación I                                 Fecha: 14 de Septiembre de 2009

               Docente: Lic. Marvin Antonio Romero Flores



Objetivo:

-   Demostrar las formas más comunes de declarar variables y constantes, así como la realización de
    conversiones.
-   Demostrar el alcance de las variables y la forma en que preservan los valores.



Para la realización de esta guía se necesitará lo siguiente:




                                          r l
                                        do gue
    1. Guía de Práctica No. 1 y Nº 2
    2. Computadora con software Microsoft Visual Basic 2005 ó 2008.
                                     lva i
                                   Sa n M
                                 El , Sa
                       GB
                 U




    Diseñado y Escrito por: Lic. Marvin Romero                           marfonline@gmail.com
www.ceminfosv.com                    Programación I                    UGB, San Miguel

                                             Parte I:
     Demostración del alcance de las variables y la forma en que
                       preservan valores (I)
En este ejercicio se comprobara la forma en que funcionan los alcances de variables en Visual Basic y
la forma en que podemos aprovechar su manejo para preservar valores en memoria con eficiencia.

1. Cree una solución en Blanco, llamada con su nombre Apellidos primero y Nombres después,
   seguido de las palabras GUIA2, así: “romero flores marvin antonio Guia2”

2. Agregue a su solución un proyecto Windows – Aplicación de Consola, llamado ValRef.

3. Edite el programa de tal forma que aparezca como sigue:




                                      r l
                                    do gue
                                 lva i
                               Sa n M
                             El , Sa
                     GB
               U




4. Construya la solución (oprima las teclas Ctrl-Mayus-B). Establezca el nuevo proyecto como
   proyecto de inicio (Proyecto de inicio) y guarde todos los cambios que ha realizado. en la solución
   (oprima las teclas Ctrl-Mayus-S). Inicie la depuración para comprobar el comportamiento de su
   programa (Oprima F5).


   Diseñado y Escrito por: Lic. Marvin Romero                       marfonline@gmail.com
www.ceminfosv.com                     Programación I                     UGB, San Miguel

5. Este programa es type safe, dado que todas las variables deberán declararse antes de ser
   utilizadas (Option Explicit) y las conversiones tienen que hacerse de forma explícita (Option Strict).

6. El programa declara una variable de memoria, llamada Texto, que se verá sometida a
   modificaciones en su contenido (línea 7); de initio, se le asigna un valor de Texto original, mismo
   que es mostrado en la consola (línea 8). La variable será proporcionada como argumento a dos
   procedimientos, uno de los cuales tratara el dato como valor (líneas 17 a la 20), y otro como
   referencia (líneas 22 a la 25).

7. Uso del dato como tipo valor. En la línea 9 se proporciona la variable como argumento de un
   procedimiento llamado Valor; dicho procedimiento recibe el valor y le da trata-miento como tipo
   valor. En la línea 18 se modifica el valor de Texto, por Texto Valor, y se muestran los efectos del
   cambio en la línea 19. Después de ejecutar Valor (), se muestra el contenido de la variable Texto
   (línea 10); es posible observar que, aunque se modificó el valor de la variable en el procedimiento,




                                       r l
   el valor original no se modifico en lo absoluto. Esto se debe a que el dato fue manejado como tipo




                                     do gue
   valor, lo que provoca que el argumento genere su propia copia del dato, dejan-do al dato original
   intacto.
                                  lva i
                                Sa n M
8. Uso del dato como tipo referencia. En la línea 11 se proporciona la variable como argumento de
   un procedimiento llamado Referencia; dicho procedimiento recibe el valor y le da tratamiento
   como tipo referencia. En la línea 23 se modifica el valor de Texto, por Texto Referencia, y se
   muestran los efectos del cambio en la línea 24.
                              El , Sa


Después de ejecutar Referencia, se muestra el contenido de la variable Texto (línea 12); es posible
notar que el valor original se modifico. Esto se debe a que el dato fue manejado como tipo referencia,
                     GB




lo que provoca que el argumento no genere su propia copia del dato, sino que utilice para el manejo
de información la misma position de memoria que el valor original.
                U




Si todo ocurre de la forma esperada, obtendremos la siguiente salida:




                                           FIN DE LA PARTE I




   Diseñado y Escrito por: Lic. Marvin Romero                         marfonline@gmail.com
www.ceminfosv.com                     Programación I                 UGB, San Miguel


                                              Parte II:
Declaración más común de variables y Constantes, y realización de
                        conversiones

En este ejercicio se utilizará una aplicación de consola para comprobar la declaración y uso de
variables en un proceso.

1. Abra la solución que creo en el ejercicio anterior.

2. Agregue a su solución un proyecto de tipo Consola, llamado AreaRectangulo.




                                       r l
                                     do gue
3. Edite el programa de tal forma que aparezca como sigue.

                                  lva i
                                Sa n M
                              El , Sa
                     GB
                U




                             Construcción de un solo proyecto
4. Al agregar éste, se tendrán dos proyectos en la solución. En ocasiones, cuando las soluciones son
   muy grandes, reconstruir una completamente para saber si se tienen problemas en el proyecto
   que se está desarrollando puede implicar un consumo innecesario de recursos de procesamiento.




   Diseñado y Escrito por: Lic. Marvin Romero                      marfonline@gmail.com
www.ceminfosv.com                      Programación I                     UGB, San Miguel

5. Para construir únicamente un proceso, y no todos los de la solución, basta con seleccionar el
   proyecto en Explorador de Soluciones, desplegar el menú contextual y seleccionar la opción
   Generar. De esa forma se construirá sólo el proyecto seleccionado.

6. Seleccione en Explorador de Soluciones el proyecto; para ello coloque el puntero sobre el nombre
   del proyecto AreaRectangulo, haga clic con el botón derecho del ratón para desplegar el menú
   contextual y seleccione Generar.




                                       r l
                                     do gue
                                  lva i
                                Sa n M
                              El , Sa


7. Vea en Salida (Lista de errores) cómo se procesa solamente el proyecto recién desarrollado.
   Cuando su proyecto ya no presente errores, podrá construirse la solución, y ejecutarse con
   confianza.
                     GB




8. Construya la solución (oprima las teclas Ctrl-Mayús-B). Establezca el nuevo proyecto como
   proyecto de inicio (Proyecto de inicio) y guarde todos los cambios que haya realizado en la
                U




   solución (oprima las teclas Ctrl-Mayús-S). Inicie la depuración para comprobar el comportamiento
   de su programa (F5).

9. La línea 4 declara una constante, a la cual se le asigna como valor el mensaje que ha de aparecer
   como encabezado del programa (línea 9); en la línea 5 se muestra una declaración de variable en
   su forma más sencilla; en la línea 6 se comprueba que es posible asignar un valor inicial al
   momento de la declaración; en la línea 7 se comprueba la posibilidad de declarar múltiples
   variables de múltiples tipos en una misma línea (aunque esta práctica no se recomienda porque
   podría hacer perder claridad al código).

10. En la línea 9 se muestra el título del programa en la consola, en la 10 se muestra el mensaje que
    pregunta la base del rectángulo y en la 11 se asigna a la variable Entrada el valor que el usuario
    ingresa desde la consola.

11. Como el dato se recibe en formato String desde la consola, la línea 12 se encarga de convertirlo en
    Integer, utilizando para ello la función específica Clnt; el resultado es asignado a la variable Base.


   Diseñado y Escrito por: Lic. Marvin Romero                          marfonline@gmail.com
www.ceminfosv.com                      Programación I                     UGB, San Miguel

   La misma mecánica se seguirá para preguntar y convertir la altura del rectángulo, con la diferencia
   de que se utilizará para la conversión la función genérica CType.

12. La línea 17 calcula el área del rectángulo, asignando el valor a la variable Resultado. Como
    Resultado es de tipo Single, posee de forma intrínseca el método ToString, que es utilizado en la
    línea 18 para mostrar los resultados.

13. Todas las conversiones que realizamos en este programa pudieron haberse obviado, dado que el
    programa no es ‘type safe', es decir, el CLR hubiera realizado la conversión cast en caso de que
    nosotros no la hubiéramos llevado a cabo de manera explícita.

14. Proporcione un valor de 10 para la base y 15 para la altura, y vea los resultados .

   Si todo ocurre como se espera, obtendremos lo siguiente:




                                       r l
                                     do gue
                                  lva i
                                Sa n M
                                           FIN DEL EJERCICIO
                              El , Sa
                      GB
                U




   Diseñado y Escrito por: Lic. Marvin Romero                          marfonline@gmail.com
www.ceminfosv.com                      Programación I                 UGB, San Miguel

                                              Parte III:
     Demostración del alcance de las variables y la forma en que
                       preservan valores (II)
En este ejercicio se comprobará la forma en que funcionan los alcances de variables en Visual Basic y
la forma en que podemos aprovechar su manejo para preservar valores en memoria con eficiencia.

1. Abra la solución que creo al inicio de esta guía n° 2.

2. Agregue a su solución un proyecto Windows - Consola, llamado Alcance.

3. Edite el programa de tal forma que aparezca como sigue:




                                       r l
                                     do gue
                                  lva i
                                Sa n M
                              El , Sa
                     GB
                U




   Diseñado y Escrito por: Lic. Marvin Romero                       marfonline@gmail.com
www.ceminfosv.com                     Programación I                    UGB, San Miguel

4. Construya la solución (oprima las teclas Ctrl-Mayús-B). Establezca el nuevo proyecto como
   proyecto de inicio (Proyecto de Inicio) y guarde todos los cambios que haya realizado en la
   solución (oprima las teclas Ctrl-Mayús-S). Inicie la depuración para comprobar el comportamiento
   de su programa (Oprima F5).

5. Este programa es type safe, dado que todas las variables deberán declararse antes de ser
   utilizadas (Option Explicit) y las conversiones tienen que hacerse de forma explícita (Option Strict)
   (líneas 1 y 2).

6. Se declaran variables con diferente alcance en las líneas 5, 9 y 12. En la línea 5 se declara la
   variable Texto1; ésta tiene un alcance a nivel módulo, debido a que se declara dentro del módulo,
   fuera de cualquier procedimiento.

   Esta variable podrá ser utilizada por todos los procedimientos del módulo, es decir, Main(),
   Procedimiento1() y Procedimiento2(); esto se comprueba en la líneas 8 y 29, pues se despliega en




                                       r l
   la consola una variable no definida en esos procedimientos.




                                     do gue
   En la línea 9 se declara la variable Texto2, que tiene un alcance a nivel procedimiento, por estar
   declarada dentro de un procedimiento específico, pero fuera de un bloque de código; por esa
                                  lva i
                                Sa n M
   razón se trata de una variable local. Esta variable estará disponible sólo para Main (), pero no para
   otros procedimientos.

   En la línea 12 se declara la variable Texto3, que tiene un alcance a nivel bloque de código y estará
                              El , Sa


   disponible desde que se declara (línea 12) hasta que se encuentre el estatuto que marca el final
   del bloque de código (en este caso End If, en la línea 14).
                     GB




   Si se trata de utilizar la variable Texto3 después de la línea 14, pensando que es una variable local
   (de alcance a nivel procedimiento), nuestro programa generará error, ya que la variable sólo
   existe declarada para el bloque en que se declara.
                U




7. Comprobación de la variable estática. En la línea 15 se manda ejecutar Procedimiento1 (); en
   dicho procedimiento se define una variable estática llamada Texto4 (línea 25). Esta variable
   tendrá un tiempo de vida que excede el tiempo de vida del procedimiento que la declara, ya que
   por ser estática, mantendrá los valores en memoria aun después de concluida la ejecución del
   procedimiento.

   En la línea 26 se asigna a Texto4 la constante String Valor + que se concatenará con el valor que
   tenga la misma Texto4; en virtud de que la variable es estática, el valor que va adoptando se
   comporta como un acumulador, que nunca pierde el valor que tenía, obtenido de procesamientos
   anteriores.

   Las líneas 16 y 17 mandan ejecutar Procedimiento1 (), a fin de que se compruebe que
   efectivamente la variable mantiene su valor al correr de las múltiples ejecuciones del
   procedimiento.




   Diseñado y Escrito por: Lic. Marvin Romero                         marfonline@gmail.com
www.ceminfosv.com                    Programación I                UGB, San Miguel

8. Comprobación de shadowing. Ya vimos que en la línea 5, Texto 1 se definió con un alcance a nivel
   módulo y, al momento de declarar la variable, se le asignó el valor Alcance módulo. En
   Procedimiento2(), se vuelve a definir la variable Textol (línea 37) y se le asigna al momento de
   declaración el valor Shadow.

9.

a) ¿Qué alcance tiene la variable Texto1, declarada en la línea 37?
___________________________________________________________________________________
___________________________________________________________________________________

b) ¿Qué valor posee Texto1 cuando es desplegada en la consola en la línea 38?
___________________________________________________________________________________
___________________________________________________________________________________




                                       r l
                                     do gue
c) ¿Qué valor posee Texto1 cuando es desplegada en la consola en la línea 40?
___________________________________________________________________________________
___________________________________________________________________________________
                                  lva i
                                Sa n M
Como podrá darse cuenta, el programa no genera conflicto con la doble declaración de la variable;
simplemente utiliza aquella que tenga menor alcance.
                              El , Sa

Si todo ocurrió como se esperaba, la salida será la siguiente:
                     GB
                U




     Diseñado y Escrito por: Lic. Marvin Romero                   marfonline@gmail.com
www.ceminfosv.com                    Programación I                    UGB, San Miguel

10. Modifique la línea 21, sustituyendo el estatuto de declaración Static por Dim. Ejecute el programa
    nuevamente, y explique qué sucede.

___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________




                                      r l
___________________________________________________________________________________




                                    do gue
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
                                 lva i
                               Sa n M
___________________________________________________________________________________


                                             FIN DEL EJERCICIO.
                             El , Sa
                     GB
               U




   Diseñado y Escrito por: Lic. Marvin Romero                       marfonline@gmail.com

Más contenido relacionado

PDF
PDF
Practica Uno Delphi
PPSX
Librería swing java
PDF
Java
PDF
Programacion en JAVA 2
PDF
Introduccion a VB6
PDF
Trabajo de Tecnología
Practica Uno Delphi
Librería swing java
Java
Programacion en JAVA 2
Introduccion a VB6
Trabajo de Tecnología

La actualidad más candente (10)

PDF
Trabajo de tecnología
PPTX
Logica subprogramas
PDF
Abstral herencias
DOCX
Informe#20
PDF
Visual Basic
PDF
Windows forms c# visual basic .net ejercicios
PDF
Sesion12-componentes Visuales java
PPT
Lenguajes para definir transformaciones
PDF
Jessica paola digitak pdf
PDF
Manual p se int
Trabajo de tecnología
Logica subprogramas
Abstral herencias
Informe#20
Visual Basic
Windows forms c# visual basic .net ejercicios
Sesion12-componentes Visuales java
Lenguajes para definir transformaciones
Jessica paola digitak pdf
Manual p se int
Publicidad

Similar a Guia 2 Programacion VB.NET (20)

PDF
Guia3 funciones byval byref, alcance de variables
PDF
Guia laboratorio Nº 1 vb.net
PDF
Guia3 - Programacion I VB .NET
PDF
Guia5 Vb.Net Estructura de decisión
PDF
Variables, Arreglos y Tipos de Datos en VB .NET
PDF
Guia 4 VB .NET
PDF
Guia6, If.. End IF
PDF
Guia5, Consumo de Bibliotecas de Clases en Proyectos de Windows Forms
PDF
Guia 4, creacion y consumo de bibliotecas de clase usando namespaces personal...
PDF
Introducción gambas
PDF
Importancia De La ProgramacióN Estructurada
PPT
4 variables, arreglos, estructuras y enum
PDF
Guia 5, consumo de DLL en Windows Forms
PPTX
Tutorial de visual c++
PDF
Guia 2, Formularios MDI
PPTX
Constantes y variables enitmar
PDF
Clase no 01_definiciones_basicas
PPTX
PDF
Guia3 funciones byval byref, alcance de variables
Guia laboratorio Nº 1 vb.net
Guia3 - Programacion I VB .NET
Guia5 Vb.Net Estructura de decisión
Variables, Arreglos y Tipos de Datos en VB .NET
Guia 4 VB .NET
Guia6, If.. End IF
Guia5, Consumo de Bibliotecas de Clases en Proyectos de Windows Forms
Guia 4, creacion y consumo de bibliotecas de clase usando namespaces personal...
Introducción gambas
Importancia De La ProgramacióN Estructurada
4 variables, arreglos, estructuras y enum
Guia 5, consumo de DLL en Windows Forms
Tutorial de visual c++
Guia 2, Formularios MDI
Constantes y variables enitmar
Clase no 01_definiciones_basicas
Publicidad

Más de Marvin Romero (20)

PDF
Procesos e Hilos, Sistemas Operativos
PPTX
Gestion Procesos, Sistemas Operativos
PDF
Guía de Ejercicios de Fundamentos de Programación
PDF
Guia de Ejercicios Fundamentos de Programacion
PPS
Todo sobre Sistemas Operativos
PPT
Estructuras (CAPAS) de un sistema operativo
PPTX
Clasificación de los Sistemas Operativos
PPTX
Introducción a los Sistemas Operativos
PPTX
Importancia de los Sistemas Operativos
PPTX
Máquina de von neumann
PDF
Estructuras de Control en Lenguaje C
PDF
Variables, Constantes y Tipos de datos en C
PDF
Importancia de la programación estructurada opt
PDF
Historia y caracteristicas del lenguaje c opt
PDF
Jornalizacion Sistemas Operativos I-2012
PDF
Jornalizacion Fundamentos de Programación I-2012
PDF
Metodologías y Técnicas de Diseño de Software
PDF
Especificación de requerimientos, Ingenieria de Software
PDF
Cocomo ejemplo
PDF
Planificacion y gestion de proyectos primera parte
Procesos e Hilos, Sistemas Operativos
Gestion Procesos, Sistemas Operativos
Guía de Ejercicios de Fundamentos de Programación
Guia de Ejercicios Fundamentos de Programacion
Todo sobre Sistemas Operativos
Estructuras (CAPAS) de un sistema operativo
Clasificación de los Sistemas Operativos
Introducción a los Sistemas Operativos
Importancia de los Sistemas Operativos
Máquina de von neumann
Estructuras de Control en Lenguaje C
Variables, Constantes y Tipos de datos en C
Importancia de la programación estructurada opt
Historia y caracteristicas del lenguaje c opt
Jornalizacion Sistemas Operativos I-2012
Jornalizacion Fundamentos de Programación I-2012
Metodologías y Técnicas de Diseño de Software
Especificación de requerimientos, Ingenieria de Software
Cocomo ejemplo
Planificacion y gestion de proyectos primera parte

Último (20)

PDF
Tips de Seguridad para evitar clonar sus claves del portal bancario.pdf
PDF
informe_fichas1y2_corregido.docx (2) (1).pdf
PPTX
IA de Cine - Como MuleSoft y los Agentes estan redefiniendo la realidad
PPTX
Acronis Cyber Protect Cloud para Ciber Proteccion y Ciber Seguridad LATAM - A...
PPTX
COMO AYUDAN LAS TIC EN LA EDUCACION SUPERIOR.pptx
PDF
Influencia-del-uso-de-redes-sociales.pdf
DOCX
Zarate Quispe Alex aldayir aplicaciones de internet .docx
PPTX
Power Point Nicolás Carrasco (disertación Roblox).pptx
PDF
clase auditoria informatica 2025.........
PPTX
Historia Inteligencia Artificial Ana Romero.pptx
PPTX
historia_web de la creacion de un navegador_presentacion.pptx
PDF
TRABAJO DE TECNOLOGIA.pdf...........................
PDF
Maste clas de estructura metálica y arquitectura
PPTX
sa-cs-82-powerpoint-hardware-y-software_ver_4.pptx
PDF
MANUAL TECNOLOGÍA SER MINISTERIO EDUCACIÓN
PPT
El-Gobierno-Electrónico-En-El-Estado-Bolivia
PDF
SAP Transportation Management para LSP, TM140 Col18
PDF
CyberOps Associate - Cisco Networking Academy
PDF
Ronmy José Cañas Zambrano - Potenciando la tecnología en Venezuela.pdf
PPT
introduccion a las_web en el 2025_mejoras.ppt
Tips de Seguridad para evitar clonar sus claves del portal bancario.pdf
informe_fichas1y2_corregido.docx (2) (1).pdf
IA de Cine - Como MuleSoft y los Agentes estan redefiniendo la realidad
Acronis Cyber Protect Cloud para Ciber Proteccion y Ciber Seguridad LATAM - A...
COMO AYUDAN LAS TIC EN LA EDUCACION SUPERIOR.pptx
Influencia-del-uso-de-redes-sociales.pdf
Zarate Quispe Alex aldayir aplicaciones de internet .docx
Power Point Nicolás Carrasco (disertación Roblox).pptx
clase auditoria informatica 2025.........
Historia Inteligencia Artificial Ana Romero.pptx
historia_web de la creacion de un navegador_presentacion.pptx
TRABAJO DE TECNOLOGIA.pdf...........................
Maste clas de estructura metálica y arquitectura
sa-cs-82-powerpoint-hardware-y-software_ver_4.pptx
MANUAL TECNOLOGÍA SER MINISTERIO EDUCACIÓN
El-Gobierno-Electrónico-En-El-Estado-Bolivia
SAP Transportation Management para LSP, TM140 Col18
CyberOps Associate - Cisco Networking Academy
Ronmy José Cañas Zambrano - Potenciando la tecnología en Venezuela.pdf
introduccion a las_web en el 2025_mejoras.ppt

Guia 2 Programacion VB.NET

  • 1. www.ceminfosv.com Programación I UGB, San Miguel Universidad Capitán General Gerardo Barrios, SM. Guía Nº 2 - Computo II-09 Asignatura: Programación I Fecha: 14 de Septiembre de 2009 Docente: Lic. Marvin Antonio Romero Flores Objetivo: - Demostrar las formas más comunes de declarar variables y constantes, así como la realización de conversiones. - Demostrar el alcance de las variables y la forma en que preservan los valores. Para la realización de esta guía se necesitará lo siguiente: r l do gue 1. Guía de Práctica No. 1 y Nº 2 2. Computadora con software Microsoft Visual Basic 2005 ó 2008. lva i Sa n M El , Sa GB U Diseñado y Escrito por: Lic. Marvin Romero marfonline@gmail.com
  • 2. www.ceminfosv.com Programación I UGB, San Miguel Parte I: Demostración del alcance de las variables y la forma en que preservan valores (I) En este ejercicio se comprobara la forma en que funcionan los alcances de variables en Visual Basic y la forma en que podemos aprovechar su manejo para preservar valores en memoria con eficiencia. 1. Cree una solución en Blanco, llamada con su nombre Apellidos primero y Nombres después, seguido de las palabras GUIA2, así: “romero flores marvin antonio Guia2” 2. Agregue a su solución un proyecto Windows – Aplicación de Consola, llamado ValRef. 3. Edite el programa de tal forma que aparezca como sigue: r l do gue lva i Sa n M El , Sa GB U 4. Construya la solución (oprima las teclas Ctrl-Mayus-B). Establezca el nuevo proyecto como proyecto de inicio (Proyecto de inicio) y guarde todos los cambios que ha realizado. en la solución (oprima las teclas Ctrl-Mayus-S). Inicie la depuración para comprobar el comportamiento de su programa (Oprima F5). Diseñado y Escrito por: Lic. Marvin Romero marfonline@gmail.com
  • 3. www.ceminfosv.com Programación I UGB, San Miguel 5. Este programa es type safe, dado que todas las variables deberán declararse antes de ser utilizadas (Option Explicit) y las conversiones tienen que hacerse de forma explícita (Option Strict). 6. El programa declara una variable de memoria, llamada Texto, que se verá sometida a modificaciones en su contenido (línea 7); de initio, se le asigna un valor de Texto original, mismo que es mostrado en la consola (línea 8). La variable será proporcionada como argumento a dos procedimientos, uno de los cuales tratara el dato como valor (líneas 17 a la 20), y otro como referencia (líneas 22 a la 25). 7. Uso del dato como tipo valor. En la línea 9 se proporciona la variable como argumento de un procedimiento llamado Valor; dicho procedimiento recibe el valor y le da trata-miento como tipo valor. En la línea 18 se modifica el valor de Texto, por Texto Valor, y se muestran los efectos del cambio en la línea 19. Después de ejecutar Valor (), se muestra el contenido de la variable Texto (línea 10); es posible observar que, aunque se modificó el valor de la variable en el procedimiento, r l el valor original no se modifico en lo absoluto. Esto se debe a que el dato fue manejado como tipo do gue valor, lo que provoca que el argumento genere su propia copia del dato, dejan-do al dato original intacto. lva i Sa n M 8. Uso del dato como tipo referencia. En la línea 11 se proporciona la variable como argumento de un procedimiento llamado Referencia; dicho procedimiento recibe el valor y le da tratamiento como tipo referencia. En la línea 23 se modifica el valor de Texto, por Texto Referencia, y se muestran los efectos del cambio en la línea 24. El , Sa Después de ejecutar Referencia, se muestra el contenido de la variable Texto (línea 12); es posible notar que el valor original se modifico. Esto se debe a que el dato fue manejado como tipo referencia, GB lo que provoca que el argumento no genere su propia copia del dato, sino que utilice para el manejo de información la misma position de memoria que el valor original. U Si todo ocurre de la forma esperada, obtendremos la siguiente salida: FIN DE LA PARTE I Diseñado y Escrito por: Lic. Marvin Romero marfonline@gmail.com
  • 4. www.ceminfosv.com Programación I UGB, San Miguel Parte II: Declaración más común de variables y Constantes, y realización de conversiones En este ejercicio se utilizará una aplicación de consola para comprobar la declaración y uso de variables en un proceso. 1. Abra la solución que creo en el ejercicio anterior. 2. Agregue a su solución un proyecto de tipo Consola, llamado AreaRectangulo. r l do gue 3. Edite el programa de tal forma que aparezca como sigue. lva i Sa n M El , Sa GB U Construcción de un solo proyecto 4. Al agregar éste, se tendrán dos proyectos en la solución. En ocasiones, cuando las soluciones son muy grandes, reconstruir una completamente para saber si se tienen problemas en el proyecto que se está desarrollando puede implicar un consumo innecesario de recursos de procesamiento. Diseñado y Escrito por: Lic. Marvin Romero marfonline@gmail.com
  • 5. www.ceminfosv.com Programación I UGB, San Miguel 5. Para construir únicamente un proceso, y no todos los de la solución, basta con seleccionar el proyecto en Explorador de Soluciones, desplegar el menú contextual y seleccionar la opción Generar. De esa forma se construirá sólo el proyecto seleccionado. 6. Seleccione en Explorador de Soluciones el proyecto; para ello coloque el puntero sobre el nombre del proyecto AreaRectangulo, haga clic con el botón derecho del ratón para desplegar el menú contextual y seleccione Generar. r l do gue lva i Sa n M El , Sa 7. Vea en Salida (Lista de errores) cómo se procesa solamente el proyecto recién desarrollado. Cuando su proyecto ya no presente errores, podrá construirse la solución, y ejecutarse con confianza. GB 8. Construya la solución (oprima las teclas Ctrl-Mayús-B). Establezca el nuevo proyecto como proyecto de inicio (Proyecto de inicio) y guarde todos los cambios que haya realizado en la U solución (oprima las teclas Ctrl-Mayús-S). Inicie la depuración para comprobar el comportamiento de su programa (F5). 9. La línea 4 declara una constante, a la cual se le asigna como valor el mensaje que ha de aparecer como encabezado del programa (línea 9); en la línea 5 se muestra una declaración de variable en su forma más sencilla; en la línea 6 se comprueba que es posible asignar un valor inicial al momento de la declaración; en la línea 7 se comprueba la posibilidad de declarar múltiples variables de múltiples tipos en una misma línea (aunque esta práctica no se recomienda porque podría hacer perder claridad al código). 10. En la línea 9 se muestra el título del programa en la consola, en la 10 se muestra el mensaje que pregunta la base del rectángulo y en la 11 se asigna a la variable Entrada el valor que el usuario ingresa desde la consola. 11. Como el dato se recibe en formato String desde la consola, la línea 12 se encarga de convertirlo en Integer, utilizando para ello la función específica Clnt; el resultado es asignado a la variable Base. Diseñado y Escrito por: Lic. Marvin Romero marfonline@gmail.com
  • 6. www.ceminfosv.com Programación I UGB, San Miguel La misma mecánica se seguirá para preguntar y convertir la altura del rectángulo, con la diferencia de que se utilizará para la conversión la función genérica CType. 12. La línea 17 calcula el área del rectángulo, asignando el valor a la variable Resultado. Como Resultado es de tipo Single, posee de forma intrínseca el método ToString, que es utilizado en la línea 18 para mostrar los resultados. 13. Todas las conversiones que realizamos en este programa pudieron haberse obviado, dado que el programa no es ‘type safe', es decir, el CLR hubiera realizado la conversión cast en caso de que nosotros no la hubiéramos llevado a cabo de manera explícita. 14. Proporcione un valor de 10 para la base y 15 para la altura, y vea los resultados . Si todo ocurre como se espera, obtendremos lo siguiente: r l do gue lva i Sa n M FIN DEL EJERCICIO El , Sa GB U Diseñado y Escrito por: Lic. Marvin Romero marfonline@gmail.com
  • 7. www.ceminfosv.com Programación I UGB, San Miguel Parte III: Demostración del alcance de las variables y la forma en que preservan valores (II) En este ejercicio se comprobará la forma en que funcionan los alcances de variables en Visual Basic y la forma en que podemos aprovechar su manejo para preservar valores en memoria con eficiencia. 1. Abra la solución que creo al inicio de esta guía n° 2. 2. Agregue a su solución un proyecto Windows - Consola, llamado Alcance. 3. Edite el programa de tal forma que aparezca como sigue: r l do gue lva i Sa n M El , Sa GB U Diseñado y Escrito por: Lic. Marvin Romero marfonline@gmail.com
  • 8. www.ceminfosv.com Programación I UGB, San Miguel 4. Construya la solución (oprima las teclas Ctrl-Mayús-B). Establezca el nuevo proyecto como proyecto de inicio (Proyecto de Inicio) y guarde todos los cambios que haya realizado en la solución (oprima las teclas Ctrl-Mayús-S). Inicie la depuración para comprobar el comportamiento de su programa (Oprima F5). 5. Este programa es type safe, dado que todas las variables deberán declararse antes de ser utilizadas (Option Explicit) y las conversiones tienen que hacerse de forma explícita (Option Strict) (líneas 1 y 2). 6. Se declaran variables con diferente alcance en las líneas 5, 9 y 12. En la línea 5 se declara la variable Texto1; ésta tiene un alcance a nivel módulo, debido a que se declara dentro del módulo, fuera de cualquier procedimiento. Esta variable podrá ser utilizada por todos los procedimientos del módulo, es decir, Main(), Procedimiento1() y Procedimiento2(); esto se comprueba en la líneas 8 y 29, pues se despliega en r l la consola una variable no definida en esos procedimientos. do gue En la línea 9 se declara la variable Texto2, que tiene un alcance a nivel procedimiento, por estar declarada dentro de un procedimiento específico, pero fuera de un bloque de código; por esa lva i Sa n M razón se trata de una variable local. Esta variable estará disponible sólo para Main (), pero no para otros procedimientos. En la línea 12 se declara la variable Texto3, que tiene un alcance a nivel bloque de código y estará El , Sa disponible desde que se declara (línea 12) hasta que se encuentre el estatuto que marca el final del bloque de código (en este caso End If, en la línea 14). GB Si se trata de utilizar la variable Texto3 después de la línea 14, pensando que es una variable local (de alcance a nivel procedimiento), nuestro programa generará error, ya que la variable sólo existe declarada para el bloque en que se declara. U 7. Comprobación de la variable estática. En la línea 15 se manda ejecutar Procedimiento1 (); en dicho procedimiento se define una variable estática llamada Texto4 (línea 25). Esta variable tendrá un tiempo de vida que excede el tiempo de vida del procedimiento que la declara, ya que por ser estática, mantendrá los valores en memoria aun después de concluida la ejecución del procedimiento. En la línea 26 se asigna a Texto4 la constante String Valor + que se concatenará con el valor que tenga la misma Texto4; en virtud de que la variable es estática, el valor que va adoptando se comporta como un acumulador, que nunca pierde el valor que tenía, obtenido de procesamientos anteriores. Las líneas 16 y 17 mandan ejecutar Procedimiento1 (), a fin de que se compruebe que efectivamente la variable mantiene su valor al correr de las múltiples ejecuciones del procedimiento. Diseñado y Escrito por: Lic. Marvin Romero marfonline@gmail.com
  • 9. www.ceminfosv.com Programación I UGB, San Miguel 8. Comprobación de shadowing. Ya vimos que en la línea 5, Texto 1 se definió con un alcance a nivel módulo y, al momento de declarar la variable, se le asignó el valor Alcance módulo. En Procedimiento2(), se vuelve a definir la variable Textol (línea 37) y se le asigna al momento de declaración el valor Shadow. 9. a) ¿Qué alcance tiene la variable Texto1, declarada en la línea 37? ___________________________________________________________________________________ ___________________________________________________________________________________ b) ¿Qué valor posee Texto1 cuando es desplegada en la consola en la línea 38? ___________________________________________________________________________________ ___________________________________________________________________________________ r l do gue c) ¿Qué valor posee Texto1 cuando es desplegada en la consola en la línea 40? ___________________________________________________________________________________ ___________________________________________________________________________________ lva i Sa n M Como podrá darse cuenta, el programa no genera conflicto con la doble declaración de la variable; simplemente utiliza aquella que tenga menor alcance. El , Sa Si todo ocurrió como se esperaba, la salida será la siguiente: GB U Diseñado y Escrito por: Lic. Marvin Romero marfonline@gmail.com
  • 10. www.ceminfosv.com Programación I UGB, San Miguel 10. Modifique la línea 21, sustituyendo el estatuto de declaración Static por Dim. Ejecute el programa nuevamente, y explique qué sucede. ___________________________________________________________________________________ ___________________________________________________________________________________ ___________________________________________________________________________________ ___________________________________________________________________________________ ___________________________________________________________________________________ ___________________________________________________________________________________ ___________________________________________________________________________________ ___________________________________________________________________________________ ___________________________________________________________________________________ ___________________________________________________________________________________ ___________________________________________________________________________________ r l ___________________________________________________________________________________ do gue ___________________________________________________________________________________ ___________________________________________________________________________________ ___________________________________________________________________________________ lva i Sa n M ___________________________________________________________________________________ FIN DEL EJERCICIO. El , Sa GB U Diseñado y Escrito por: Lic. Marvin Romero marfonline@gmail.com