SlideShare una empresa de Scribd logo
1 de 10
marfonline@gmail.com                     UGB San Miguel                     Lic. Marvin Romero

               Universidad Capitán General Gerardo Barrios, SM.                  Guía Nº 3

               Asignatura: Programación Computacional I

               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:




                                   igu ro
    1. Guía de Práctica No. 1 y Nº 2



                                  M ome
    2. Computadora con software Microsoft Visual Basic.




                                      el
                                an R
                             , S vin
                          GB ar
                         U M
                            c.
                   Li




    www.miceminfo.net               Busca en FB como CEMINFO                    Blog, Foros, y más...
marfonline@gmail.com                 UGB San Miguel                   Lic. Marvin Romero


                                             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 GUIA3, así: “romero flores marvin antonio Guia3”

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:




                                igu ro
                               M ome
                                   el
                             an R
                          , S vin
                       GB ar
                      U M
                         c.
                 Li




4. Construya la solución (oprima las teclas Ctrl-Mayus-B, ó Clic Derecho sobre la solución y
   seleccione Generar). Establezca el nuevo proyecto como proyecto de inicio (Clic derecho sobre el
   proyecto, opción Establecer como Proyecto de inicio) y guarde todos los cambios que ha




   www.miceminfo.net            Busca en FB como CEMINFO                  Blog, Foros, y más...
marfonline@gmail.com                  UGB San Miguel                     Lic. Marvin Romero

   realizado. en la solución (oprima las teclas Ctrl-Mayus-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).

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




                                 igu ro
   (línea 10); es posible observar que, aunque se modificó el valor de la variable en el procedimiento,



                                M ome
   el valor original no se modifico en lo absoluto. Esto se debe a que el dato fue manejado como tipo
   valor, lo que provoca que el argumento genere su propia copia del dato, dejan-do al dato original




                                    el
   intacto.
                              an R
8. Uso del dato como tipo referencia. En la línea 11 se proporciona la variable como argumento de
                           , S vin

   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
                        GB ar


   muestran los efectos del cambio en la línea 24.
                       U M



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,
                          c.




lo que provoca que el argumento no genere su propia copia del dato, sino que utilice para el manejo
                  Li




de información la misma position de memoria que el valor original.

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




                                           FIN DE LA PARTE I




   www.miceminfo.net             Busca en FB como CEMINFO                   Blog, Foros, y más...
marfonline@gmail.com                  UGB San Miguel                  Lic. Marvin Romero



                                              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.




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




                                M ome
                                    el
                              an R
                           , S vin
                        GB ar
                       U M
                          c.
                  Li




                             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.




   www.miceminfo.net             Busca en FB como CEMINFO                Blog, Foros, y más...
marfonline@gmail.com                   UGB San Miguel                     Lic. Marvin Romero

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.




                                 igu ro
                                M ome
                                    el
                              an R
                           , S vin

7. Vea en Salida (Lista de errores) cómo se procesa solamente el proyecto recién desarrollado.
                        GB ar


   Cuando su proyecto ya no presente errores, podrá construirse la solución, y ejecutarse con
                       U M



   confianza.

8. Construya la solución (oprima las teclas Ctrl-Mayús-B). Establezca el nuevo proyecto como
                          c.




   proyecto de inicio (Proyecto de inicio) y guarde todos los cambios que haya realizado en la
                  Li




   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.



   www.miceminfo.net             Busca en FB como CEMINFO                    Blog, Foros, y más...
marfonline@gmail.com                   UGB San Miguel                      Lic. Marvin Romero

   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:




                                 igu ro
                                M ome
                                    el
                              an R
                           , S vin
                                           FIN DEL EJERCICIO
                        GB ar
                       U M
                          c.
                  Li




   www.miceminfo.net              Busca en FB como CEMINFO                    Blog, Foros, y más...
marfonline@gmail.com                   UGB San Miguel                  Lic. Marvin Romero


                                              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:




                                 igu ro
                                M ome
                                    el
                              an R
                           , S vin
                        GB ar
                       U M
                          c.
                  Li




   www.miceminfo.net              Busca en FB como CEMINFO                Blog, Foros, y más...
marfonline@gmail.com                  UGB San Miguel                     Lic. Marvin Romero

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




                                 igu ro
   la consola una variable no definida en esos procedimientos.




                                M ome
   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




                                    el
   razón se trata de una variable local. Esta variable estará disponible sólo para Main (), pero no para
                              an R
   otros procedimientos.
                           , S vin

   En la línea 12 se declara la variable Texto3, que tiene un alcance a nivel bloque de código y estará
   disponible desde que se declara (línea 12) hasta que se encuentre el estatuto que marca el final
                        GB ar


   del bloque de código (en este caso End If, en la línea 14).
                       U M



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




   existe declarada para el bloque en que se declara.
                 Li




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.




   www.miceminfo.net             Busca en FB como CEMINFO                   Blog, Foros, y más...
marfonline@gmail.com                  UGB San Miguel                 Lic. Marvin Romero

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.



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?
___________________________________________________________________________________
___________________________________________________________________________________




                                 igu ro
c) ¿Qué valor posee Texto1 cuando es desplegada en la consola en la línea 40?



                                M ome
___________________________________________________________________________________
___________________________________________________________________________________




                                    el
                              an R
Como podrá darse cuenta, el programa no genera conflicto con la doble declaración de la variable;
simplemente utiliza aquella que tenga menor alcance.
                           , S vin

Si todo ocurrió como se esperaba, la salida será la siguiente:
                        GB ar
                       U M
                          c.
                  Li




   www.miceminfo.net             Busca en FB como CEMINFO               Blog, Foros, y más...
marfonline@gmail.com                 UGB San Miguel                   Lic. Marvin Romero


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

___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________
___________________________________________________________________________________




                                igu ro
___________________________________________________________________________________



                               M ome
___________________________________________________________________________________
___________________________________________________________________________________




                                   el
___________________________________________________________________________________
                             an R
                          , S vin

                                            FIN DEL EJERCICIO.
                       GB ar
                      U M
                         c.
                 Li




   www.miceminfo.net            Busca en FB como CEMINFO                  Blog, Foros, y más...

Más contenido relacionado

La actualidad más candente

Guia practica condicionales en java con NetBeans 01
Guia practica condicionales en java con NetBeans 01Guia practica condicionales en java con NetBeans 01
Guia practica condicionales en java con NetBeans 01Emerson Garay
 
Guia5 Vb.Net Estructura de decisión
Guia5 Vb.Net Estructura de decisiónGuia5 Vb.Net Estructura de decisión
Guia5 Vb.Net Estructura de decisiónMarvin Romero
 
Librería swing java
Librería swing javaLibrería swing java
Librería swing javapgpg2006
 
Usar el depurador en Eclipse Mars.
Usar el depurador en Eclipse Mars.Usar el depurador en Eclipse Mars.
Usar el depurador en Eclipse Mars.Isabel Gómez
 
C6 net beansentradasysalidas
C6 net beansentradasysalidasC6 net beansentradasysalidas
C6 net beansentradasysalidasalenco
 
Ej02 programación secuencial y condicionales (1)
Ej02 programación secuencial y condicionales (1)Ej02 programación secuencial y condicionales (1)
Ej02 programación secuencial y condicionales (1)Eimer Ramirez
 

La actualidad más candente (9)

20
2020
20
 
Guia practica condicionales en java con NetBeans 01
Guia practica condicionales en java con NetBeans 01Guia practica condicionales en java con NetBeans 01
Guia practica condicionales en java con NetBeans 01
 
Guia5 Vb.Net Estructura de decisión
Guia5 Vb.Net Estructura de decisiónGuia5 Vb.Net Estructura de decisión
Guia5 Vb.Net Estructura de decisión
 
Swing
SwingSwing
Swing
 
Programacion en JAVA 2
Programacion en JAVA 2Programacion en JAVA 2
Programacion en JAVA 2
 
Librería swing java
Librería swing javaLibrería swing java
Librería swing java
 
Usar el depurador en Eclipse Mars.
Usar el depurador en Eclipse Mars.Usar el depurador en Eclipse Mars.
Usar el depurador en Eclipse Mars.
 
C6 net beansentradasysalidas
C6 net beansentradasysalidasC6 net beansentradasysalidas
C6 net beansentradasysalidas
 
Ej02 programación secuencial y condicionales (1)
Ej02 programación secuencial y condicionales (1)Ej02 programación secuencial y condicionales (1)
Ej02 programación secuencial y condicionales (1)
 

Similar a Var y Cons VB

Similar a Var y Cons VB (20)

Guia laboratorio Nº 1 vb.net
Guia laboratorio Nº 1 vb.netGuia laboratorio Nº 1 vb.net
Guia laboratorio Nº 1 vb.net
 
Ejemplo 1 -_calculo_simple (1)
Ejemplo 1 -_calculo_simple (1)Ejemplo 1 -_calculo_simple (1)
Ejemplo 1 -_calculo_simple (1)
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 
Primer programa en 1
Primer programa en 1Primer programa en 1
Primer programa en 1
 
LOGICA DE PROGRAMCION GUIA DE PROYECTOS A REALIZAR
LOGICA DE PROGRAMCION GUIA DE PROYECTOS A REALIZARLOGICA DE PROGRAMCION GUIA DE PROYECTOS A REALIZAR
LOGICA DE PROGRAMCION GUIA DE PROYECTOS A REALIZAR
 
Guia3 - Programacion I VB .NET
Guia3 - Programacion I VB .NETGuia3 - Programacion I VB .NET
Guia3 - Programacion I VB .NET
 
Guia practicaiuprg3
Guia practicaiuprg3Guia practicaiuprg3
Guia practicaiuprg3
 
Tallermacros 180406032042
Tallermacros 180406032042Tallermacros 180406032042
Tallermacros 180406032042
 
Taller macros
Taller macrosTaller macros
Taller macros
 
Segundo punto taller macros
Segundo punto taller macrosSegundo punto taller macros
Segundo punto taller macros
 
Guia5, Consumo de Bibliotecas de Clases en Proyectos de Windows Forms
Guia5, Consumo de Bibliotecas de Clases en Proyectos de Windows FormsGuia5, Consumo de Bibliotecas de Clases en Proyectos de Windows Forms
Guia5, Consumo de Bibliotecas de Clases en Proyectos de Windows Forms
 
Macros
MacrosMacros
Macros
 
P01 secuencial
P01 secuencialP01 secuencial
P01 secuencial
 
Macro.
Macro.Macro.
Macro.
 
Taller macro
Taller macroTaller macro
Taller macro
 
MACROS EN EXCEL.
MACROS EN EXCEL.MACROS EN EXCEL.
MACROS EN EXCEL.
 
Mannual de moviles
Mannual de movilesMannual de moviles
Mannual de moviles
 
04 practica lenguaje programacion - componentes
04   practica lenguaje programacion - componentes04   practica lenguaje programacion - componentes
04 practica lenguaje programacion - componentes
 
Taller
TallerTaller
Taller
 
PESEINT MANUAL
PESEINT MANUALPESEINT MANUAL
PESEINT MANUAL
 

Más de Marvin Romero

Procesos e Hilos, Sistemas Operativos
Procesos e Hilos, Sistemas OperativosProcesos e Hilos, Sistemas Operativos
Procesos e Hilos, Sistemas OperativosMarvin Romero
 
Gestion Procesos, Sistemas Operativos
Gestion Procesos, Sistemas OperativosGestion Procesos, Sistemas Operativos
Gestion Procesos, Sistemas OperativosMarvin Romero
 
Guía de Ejercicios de Fundamentos de Programación
Guía de Ejercicios de Fundamentos de ProgramaciónGuía de Ejercicios de Fundamentos de Programación
Guía de Ejercicios de Fundamentos de ProgramaciónMarvin Romero
 
Guia de Ejercicios Fundamentos de Programacion
Guia de Ejercicios Fundamentos de ProgramacionGuia de Ejercicios Fundamentos de Programacion
Guia de Ejercicios Fundamentos de ProgramacionMarvin Romero
 
Todo sobre Sistemas Operativos
Todo sobre Sistemas OperativosTodo sobre Sistemas Operativos
Todo sobre Sistemas OperativosMarvin Romero
 
Estructuras (CAPAS) de un sistema operativo
Estructuras (CAPAS) de un sistema operativoEstructuras (CAPAS) de un sistema operativo
Estructuras (CAPAS) de un sistema operativoMarvin Romero
 
Clasificación de los Sistemas Operativos
Clasificación de los Sistemas OperativosClasificación de los Sistemas Operativos
Clasificación de los Sistemas OperativosMarvin Romero
 
Introducción a los Sistemas Operativos
Introducción a los Sistemas OperativosIntroducción a los Sistemas Operativos
Introducción a los Sistemas OperativosMarvin Romero
 
Importancia de los Sistemas Operativos
Importancia de los Sistemas OperativosImportancia de los Sistemas Operativos
Importancia de los Sistemas OperativosMarvin Romero
 
Máquina de von neumann
Máquina de von neumannMáquina de von neumann
Máquina de von neumannMarvin Romero
 
Estructuras de Control en Lenguaje C
Estructuras de Control en Lenguaje CEstructuras de Control en Lenguaje C
Estructuras de Control en Lenguaje CMarvin Romero
 
Variables, Constantes y Tipos de datos en C
Variables, Constantes y Tipos de datos en CVariables, Constantes y Tipos de datos en C
Variables, Constantes y Tipos de datos en CMarvin Romero
 
Importancia de la programación estructurada opt
Importancia de la programación estructurada optImportancia de la programación estructurada opt
Importancia de la programación estructurada optMarvin Romero
 
Historia y caracteristicas del lenguaje c opt
Historia y caracteristicas del lenguaje c optHistoria y caracteristicas del lenguaje c opt
Historia y caracteristicas del lenguaje c optMarvin Romero
 
Jornalizacion Sistemas Operativos I-2012
Jornalizacion Sistemas Operativos I-2012Jornalizacion Sistemas Operativos I-2012
Jornalizacion Sistemas Operativos I-2012Marvin Romero
 
Jornalizacion Fundamentos de Programación I-2012
Jornalizacion Fundamentos de Programación I-2012Jornalizacion Fundamentos de Programación I-2012
Jornalizacion Fundamentos de Programación I-2012Marvin Romero
 
Metodologías y Técnicas de Diseño de Software
Metodologías y Técnicas de Diseño de SoftwareMetodologías y Técnicas de Diseño de Software
Metodologías y Técnicas de Diseño de SoftwareMarvin Romero
 
Especificación de requerimientos, Ingenieria de Software
Especificación de requerimientos, Ingenieria de SoftwareEspecificación de requerimientos, Ingenieria de Software
Especificación de requerimientos, Ingenieria de SoftwareMarvin Romero
 
Planificacion y gestion de proyectos primera parte
Planificacion y gestion de proyectos primera partePlanificacion y gestion de proyectos primera parte
Planificacion y gestion de proyectos primera parteMarvin Romero
 

Más de Marvin Romero (20)

Procesos e Hilos, Sistemas Operativos
Procesos e Hilos, Sistemas OperativosProcesos e Hilos, Sistemas Operativos
Procesos e Hilos, Sistemas Operativos
 
Gestion Procesos, Sistemas Operativos
Gestion Procesos, Sistemas OperativosGestion Procesos, Sistemas Operativos
Gestion Procesos, Sistemas Operativos
 
Guía de Ejercicios de Fundamentos de Programación
Guía de Ejercicios de Fundamentos de ProgramaciónGuía de Ejercicios de Fundamentos de Programación
Guía de Ejercicios de Fundamentos de Programación
 
Guia de Ejercicios Fundamentos de Programacion
Guia de Ejercicios Fundamentos de ProgramacionGuia de Ejercicios Fundamentos de Programacion
Guia de Ejercicios Fundamentos de Programacion
 
Todo sobre Sistemas Operativos
Todo sobre Sistemas OperativosTodo sobre Sistemas Operativos
Todo sobre Sistemas Operativos
 
Estructuras (CAPAS) de un sistema operativo
Estructuras (CAPAS) de un sistema operativoEstructuras (CAPAS) de un sistema operativo
Estructuras (CAPAS) de un sistema operativo
 
Clasificación de los Sistemas Operativos
Clasificación de los Sistemas OperativosClasificación de los Sistemas Operativos
Clasificación de los Sistemas Operativos
 
Introducción a los Sistemas Operativos
Introducción a los Sistemas OperativosIntroducción a los Sistemas Operativos
Introducción a los Sistemas Operativos
 
Importancia de los Sistemas Operativos
Importancia de los Sistemas OperativosImportancia de los Sistemas Operativos
Importancia de los Sistemas Operativos
 
Máquina de von neumann
Máquina de von neumannMáquina de von neumann
Máquina de von neumann
 
Estructuras de Control en Lenguaje C
Estructuras de Control en Lenguaje CEstructuras de Control en Lenguaje C
Estructuras de Control en Lenguaje C
 
Variables, Constantes y Tipos de datos en C
Variables, Constantes y Tipos de datos en CVariables, Constantes y Tipos de datos en C
Variables, Constantes y Tipos de datos en C
 
Importancia de la programación estructurada opt
Importancia de la programación estructurada optImportancia de la programación estructurada opt
Importancia de la programación estructurada opt
 
Historia y caracteristicas del lenguaje c opt
Historia y caracteristicas del lenguaje c optHistoria y caracteristicas del lenguaje c opt
Historia y caracteristicas del lenguaje c opt
 
Jornalizacion Sistemas Operativos I-2012
Jornalizacion Sistemas Operativos I-2012Jornalizacion Sistemas Operativos I-2012
Jornalizacion Sistemas Operativos I-2012
 
Jornalizacion Fundamentos de Programación I-2012
Jornalizacion Fundamentos de Programación I-2012Jornalizacion Fundamentos de Programación I-2012
Jornalizacion Fundamentos de Programación I-2012
 
Metodologías y Técnicas de Diseño de Software
Metodologías y Técnicas de Diseño de SoftwareMetodologías y Técnicas de Diseño de Software
Metodologías y Técnicas de Diseño de Software
 
Especificación de requerimientos, Ingenieria de Software
Especificación de requerimientos, Ingenieria de SoftwareEspecificación de requerimientos, Ingenieria de Software
Especificación de requerimientos, Ingenieria de Software
 
Cocomo ejemplo
Cocomo ejemploCocomo ejemplo
Cocomo ejemplo
 
Planificacion y gestion de proyectos primera parte
Planificacion y gestion de proyectos primera partePlanificacion y gestion de proyectos primera parte
Planificacion y gestion de proyectos primera parte
 

Var y Cons VB

  • 1. marfonline@gmail.com UGB San Miguel Lic. Marvin Romero Universidad Capitán General Gerardo Barrios, SM. Guía Nº 3 Asignatura: Programación Computacional I 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: igu ro 1. Guía de Práctica No. 1 y Nº 2 M ome 2. Computadora con software Microsoft Visual Basic. el an R , S vin GB ar U M c. Li www.miceminfo.net Busca en FB como CEMINFO Blog, Foros, y más...
  • 2. marfonline@gmail.com UGB San Miguel Lic. Marvin Romero 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 GUIA3, así: “romero flores marvin antonio Guia3” 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: igu ro M ome el an R , S vin GB ar U M c. Li 4. Construya la solución (oprima las teclas Ctrl-Mayus-B, ó Clic Derecho sobre la solución y seleccione Generar). Establezca el nuevo proyecto como proyecto de inicio (Clic derecho sobre el proyecto, opción Establecer como Proyecto de inicio) y guarde todos los cambios que ha www.miceminfo.net Busca en FB como CEMINFO Blog, Foros, y más...
  • 3. marfonline@gmail.com UGB San Miguel Lic. Marvin Romero realizado. en la solución (oprima las teclas Ctrl-Mayus-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). 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 igu ro (línea 10); es posible observar que, aunque se modificó el valor de la variable en el procedimiento, M ome el valor original no se modifico en lo absoluto. Esto se debe a que el dato fue manejado como tipo valor, lo que provoca que el argumento genere su propia copia del dato, dejan-do al dato original el intacto. an R 8. Uso del dato como tipo referencia. En la línea 11 se proporciona la variable como argumento de , S vin 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 GB ar muestran los efectos del cambio en la línea 24. U M 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, c. lo que provoca que el argumento no genere su propia copia del dato, sino que utilice para el manejo Li de información la misma position de memoria que el valor original. Si todo ocurre de la forma esperada, obtendremos la siguiente salida: FIN DE LA PARTE I www.miceminfo.net Busca en FB como CEMINFO Blog, Foros, y más...
  • 4. marfonline@gmail.com UGB San Miguel Lic. Marvin Romero 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. igu ro 3. Edite el programa de tal forma que aparezca como sigue. M ome el an R , S vin GB ar U M c. Li 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. www.miceminfo.net Busca en FB como CEMINFO Blog, Foros, y más...
  • 5. marfonline@gmail.com UGB San Miguel Lic. Marvin Romero 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. igu ro M ome el an R , S vin 7. Vea en Salida (Lista de errores) cómo se procesa solamente el proyecto recién desarrollado. GB ar Cuando su proyecto ya no presente errores, podrá construirse la solución, y ejecutarse con U M confianza. 8. Construya la solución (oprima las teclas Ctrl-Mayús-B). Establezca el nuevo proyecto como c. proyecto de inicio (Proyecto de inicio) y guarde todos los cambios que haya realizado en la Li 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. www.miceminfo.net Busca en FB como CEMINFO Blog, Foros, y más...
  • 6. marfonline@gmail.com UGB San Miguel Lic. Marvin Romero 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: igu ro M ome el an R , S vin FIN DEL EJERCICIO GB ar U M c. Li www.miceminfo.net Busca en FB como CEMINFO Blog, Foros, y más...
  • 7. marfonline@gmail.com UGB San Miguel Lic. Marvin Romero 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: igu ro M ome el an R , S vin GB ar U M c. Li www.miceminfo.net Busca en FB como CEMINFO Blog, Foros, y más...
  • 8. marfonline@gmail.com UGB San Miguel Lic. Marvin Romero 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 igu ro la consola una variable no definida en esos procedimientos. M ome 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 el razón se trata de una variable local. Esta variable estará disponible sólo para Main (), pero no para an R otros procedimientos. , S vin En la línea 12 se declara la variable Texto3, que tiene un alcance a nivel bloque de código y estará disponible desde que se declara (línea 12) hasta que se encuentre el estatuto que marca el final GB ar del bloque de código (en este caso End If, en la línea 14). U M 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 c. existe declarada para el bloque en que se declara. Li 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. www.miceminfo.net Busca en FB como CEMINFO Blog, Foros, y más...
  • 9. marfonline@gmail.com UGB San Miguel Lic. Marvin Romero 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. 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? ___________________________________________________________________________________ ___________________________________________________________________________________ igu ro c) ¿Qué valor posee Texto1 cuando es desplegada en la consola en la línea 40? M ome ___________________________________________________________________________________ ___________________________________________________________________________________ el an R Como podrá darse cuenta, el programa no genera conflicto con la doble declaración de la variable; simplemente utiliza aquella que tenga menor alcance. , S vin Si todo ocurrió como se esperaba, la salida será la siguiente: GB ar U M c. Li www.miceminfo.net Busca en FB como CEMINFO Blog, Foros, y más...
  • 10. marfonline@gmail.com UGB San Miguel Lic. Marvin Romero 9. Modifique la línea 21, sustituyendo el estatuto de declaración Static por Dim. Ejecute el programa nuevamente, y explique qué sucede. ___________________________________________________________________________________ ___________________________________________________________________________________ ___________________________________________________________________________________ ___________________________________________________________________________________ ___________________________________________________________________________________ ___________________________________________________________________________________ ___________________________________________________________________________________ ___________________________________________________________________________________ ___________________________________________________________________________________ ___________________________________________________________________________________ ___________________________________________________________________________________ ___________________________________________________________________________________ igu ro ___________________________________________________________________________________ M ome ___________________________________________________________________________________ ___________________________________________________________________________________ el ___________________________________________________________________________________ an R , S vin FIN DEL EJERCICIO. GB ar U M c. Li www.miceminfo.net Busca en FB como CEMINFO Blog, Foros, y más...