viernes, 11 de marzo de 2011

Exceptions about progressive or continous

Una impresora además de gastar papel y tinta también gasta electricidad.
A printer besides consuming paper and ink too consumes electricity.

Debemos guardar la información antes de cerrar un programa.
We should save the information before closing a program.

El buscó la mejor opción al hacer una inversión.
He searched the best option on making a inversion.

Nunca dejes el tanque de agua de un coche sin llenar porque se puede quemar el motor.
Never leave the water tank of a car without filling because it can burns the motor.

Después de obtener ganancias reinvierte para obtener más.
After earning money reinvests for earn more.

En lugar de desperdiciar papel para hacer un registro, mejor usa una computadora.
Instead of wasting paper for make a registry better use a computer.

Mi coche gasta mucha gasolina a pesar de ser nuevo.
My car consume much gasoline in spite of being new.

lunes, 7 de marzo de 2011

PROGRESSIVE PAST

1. They were requesting a chance to deliver the payment voucher, besides they were hoping a discount for that payment on time.

2. Did are they requesting a chance to deliver the payment voucher?

3. Did aren't they requesting a chance to deliver the payment voucher?

4. Who was requesting a chance to deliver the payment voucher?

5. What were they requesting to deliver the payment voucher?

6. Fot what were they requesting a chance?

7. They were requesting a chance to deliver the payment voucher, did aren't they?

sábado, 5 de marzo de 2011

¿Qué es un procedimiento?

Un procedimiento es un bloque de instrucciones de Visual Basic incluido entre una instrucción de declaración (“Function”, “Sub”, “Operator”, “Ge”, “Set”) y una declaración “End” correspondiente. En Visual Basic, todas las instrucciones ejecutables deben incluirse en algún procedimiento.

Los procedimientos se invocan desde otras partes del código. Esto se conoce como una llamada a procedimiento. Cuando finaliza la ejecución de un procedimiento, éste devuelve el control al código que lo invocó, que recibe el nombre de código de llamada. El código de llamada es una instrucción o una expresión contenida en una instrucción, que hace referencia al procedimiento por su nombre y le transfiere el control.

Visual Basic utiliza varios tipos de procedimientos:
  • Procedimientos Sub: ejecutan acciones pero no devuelven un valor al código de llamada.
  • Los procedimientos de control de eventos son procedimientos “Sub” que se ejecutan en respuesta a un evento provocado por una acción del usuario o por un suceso en un programa.
  • Procedimientos Function: devuelven un valor al código de llamada. Pueden realizar otras acciones antes de volver.
  • Procedimientos de propiedad: devuelven y asignan valores de propiedades en objetos o módulos.
  • Procedimientos de operador: definen el comportamiento de un operador estándar cuando uno o los dos operandos son una clase definida recientemente o una estructura.
  • Procedimientos genéricos en Visual Basic: definen uno o varios parámetros de tipo además de sus parámetros normales, de forma que el código de llamada puede pasar tipos de datos específicos cada vez que realiza una llamada.

Todas las líneas de código ejecutable de una aplicación deben encontrarse dentro de un procedimiento, por ejemplo, Main, calculate o Button1_Click. La aplicación se leerá con mayor facilidad si subdivide los procedimientos grandes en procedimientos más pequeños.

Los procedimientos son útiles para realizar tareas repetitivas o compartidas, como cálculos de uso frecuente, manipulación de texto y controles, y operaciones con bases de datos. Se puede llamar a un procedimiento desde distintos lugares del código; de modo que los procedimientos se prestan a servir de unidades de creación de la aplicación.

La estructuración del código en procedimientos aporta las siguientes ventajas:

  • Los procedimientos permiten desglosar los programas en unidades lógicas independientes. Es más fácil depurar unidades individuales que todo un programa sin procedimientos.
  • Después de desarrollar los procedimientos para el uso en un programa, puede utilizarlos en otros programas, a menudo con pocas o ninguna modificación. Esto ayuda a evitar la duplicación del código.

Reglas para asignar nombres a variables y constantes

Un nombre de elemento en Visual Basic debe observar las reglas siguientes:

  • Debe comenzar por un carácter alfabético o un signo de subrayado (_).
  • Sólo puede contener caracteres alfabéticos, dígitos decimales y signos de subrayado.
  • Debe contener por lo menos un carácter alfabético o un dígito decimal, si empieza con un signo de subrayado.
  • No puede superar los 1023 caracteres de longitud.

El límite de longitud de 1023 caracteres también se aplica a la cadena completa de un nombre completo, como:

outerNamespace.middleNamespace.innerNamespace.thisClass.thisElement.

Algunos ejemplos de nombres de elementos válidos:

aB123__45
_567

Algunos ejemplos de nombres de elementos no válidos; el primero contiene sólo un subrayado, el segundo comienza con un dígito decimal y el tercero contiene un carácter no válido ($):

_
12ABC
xyz$wv

Ámbito de la variable

El ámbito de una variable está formado por todo código que puede hacer referencia a la variable sin tener que calificar su nombre. El ámbito de una variable está determinado por la ubicación en la que se haya declarado la variable. El código de una región determinada puede utilizar las variables definidas en dicha región sin necesidad de especificar los nombres de las variables.

El ámbito de un elemento declarado es el conjunto de todo el código que puede hacer referencia a él sin calificar su nombre o marcarlo como disponible mediante “Imports (Instrucción)”. Un elemento puede tener uno de los niveles de ámbito siguientes:

  • Ámbito de bloque
  • Ámbito de procedimiento
  • Ámbito de módulo
  • Ámbito de espacio de nombres

Estos niveles de ámbito progresan desde el más restringido (bloque) al más amplio (espacio de nombres), donde ámbito más restringido significa el conjunto de código más pequeño que puede hacer referencia al elemento sin calificación.

Niveles de ámbito


Un elemento de programación está disponible en toda la región en la que se declara. Todo el código de la misma región puede hacer referencia al elemento sin calificar su nombre.

Ámbito de bloque


Un bloque es un conjunto de instrucciones incluido dentro de las instrucciones de declaración de inicio y fin, como lo siguiente:

  • Do y Loop
  • For [Each] y Next
  • If y End If
  • Select y End Select
  • SyncLock y End SyncLock
  • Try y End Try
  • While y End While
  • With y End With

Si declara una variable dentro de un bloque, sólo puede utilizarla dentro de ese bloque. En el ejemplo siguiente, el ámbito de la variable de entero cube es el bloque entre “If” y “End If”, y las referencias a cube dejan de ser posibles cuando termina la ejecución del bloque.

If n<1291 cube="n^3">

Ámbito de procedimiento

Un elemento declarado en un procedimiento no está disponible fuera de él. Solamente el procedimiento que contiene su declaración puede utilizarlo. Las variables en este nivel también se denominan variables locales. Se declaran con Instrucción Dim (Visual Basic), con o sin la palabra clave Static (Visual Basic).

Los ámbitos de procedimiento y de bloque están estrechamente relacionados. Si se declara una variable dentro de un procedimiento, pero fuera de un bloque dentro del procedimiento, puede considerarse que la variable tiene ámbito de bloque, donde el bloque es el procedimiento completo.

Ámbito de módulo

El término nivel de módulo se aplica por igual a módulos, clases y estructuras. Puede declarar elementos a este nivel si sitúa la instrucción de declaración fuera de cualquier procedimiento o bloque pero dentro del módulo, clase o estructura.

Cuando se incluye una declaración en el nivel de módulo, el nivel de acceso seleccionado determina el ámbito. El espacio de nombres que contiene el módulo, la clase o la estructura también afecta al ámbito.

Los elementos para los que se declara el nivel de acceso Private (Visual Basic) están disponibles para todos los procedimientos del módulo, pero no para el código de otros módulos. La instrucción” Dim” en el nivel de módulo toma “Private” como valor predeterminado si no utiliza ninguna palabra nivel de acceso. No obstante, el ámbito y el nivel de acceso serán más patentes si utiliza la palabra clave “Private” en la instrucción “Dim”.

En el ejemplo, todos los procedimientos definidos en el módulo pueden hacer referencia a la variable de cadena strMsg. Cuando se llama al segundo procedimiento, muestra el contenido de la variable de cadena strMsg en un cuadro de diálogo:


Private strMsg As String
Sub initializePrivateVariable ()
strMsg=”This variable cannot be used out side this module.”
End Sub
Sub usePrivateVariable ()
MsgBox (strMsg)
End Sub

Ámbito de espacio de nombres


Si declara un elemento en el nivel de módulo mediante la palabra clave “Friend (Visual Basic)” o “Public (Visual Basic)”, dicho elemento quedará disponible para todos los procedimientos del espacio de nombres en los que se declare. La siguiente modificación del ejemplo anterior permite que el código haga referencia a la variable de cadena strMsg en cualquier parte del espacio de nombres de su declaración.


Public strMsg As String

El ámbito de espacio de nombres incluye espacios de nombres anidados. Un elemento disponible de un espacio de nombres también está disponible en cualquier espacio de nombres anidado en su interior.

Si un proyecto no contiene “Namespace (Instrucción)”, todo lo que incluya el proyecto estará en el mismo espacio de nombres. En este caso, el ámbito de espacio de nombres se puede considerar como el ámbito del proyecto. Los elementos “Public” de un módulo, clase o estructura también están disponibles para cualquier proyecto que haga referencia a sus proyectos.

¿Cómo se declara una constante?

La instrucción “Const” se utiliza para declarar una constante y establecer su valor. Al declarar una constante, puede asignar un nombre significativo a un valor. Una vez que se declara una constante, no se puede modificar ni se le puede asignar un nuevo valor.

Una constante puede declararse dentro de un procedimiento o en la sección de declaraciones de un módulo, clase o estructura. Las constantes de clase o nivel de estructura son de manera predeterminada “Private” pero también se pueden declarar como “Public”, “Friend”, “Protected” o “Protected Friend” para el nivel de acceso al código adecuado.

La constante debe tener un nombre simbólico válido (las reglas son las mismas que se aplican para la creación de nombres de variables) y una expresión que se componga de constantes numéricas o de cadena, y operadores; no obstante, no se pueden utilizar llamadas a funciones.

Para declarar una constante:

- Escriba una declaración que incluya un especificador de acceso, la palabra clave “Const” y una expresión.

Public Const DaysInYear=365
Private Const WorkDays=250

Cuando “Option Strict” es “On”, debe declarar una constante explícitamente especificando un tipo de datos (“Boolean”, “Byte”, “Char”, “DateTime”, “Decimal”, “Double”, “Integer”, “Long”, “Short”, “Single” o “String”). Cuando “Option Strict” es “Off”, el compilador asigna a la constante un tipo de datos.

Para declarar una constante con “Option Strict On”

- Con “Option Strict On”, escriba una declaración que incluya la palabra clave As y un tipo de datos explícito.

“Public Const” MyInteger “As Integer”=42
“Private Const” DaysInWeek “As Short”=7
“Protected Friend Const” Funday “As String”=”Sunday”

Pueden declararse varias constantes en una sola línea, si bien para facilitar la lectura del código se recomienda declarar solamente una constante por línea. Si declara varias constantes en una línea única, deben tener todas ellas el mismo nivel de acceso (Public, Private, Friend, Protected o Protected Friend).

Para declarar varias constantes en una sola línea:

- Separe las declaraciones con una coma y un espacio.

Public Const Four As Integer=4, Five As Integer=5, Six As Integer=44

¿Cómo se declara una variable?

Una variable se declara para especificar su nombre y sus características. La instrucción de declaración para variables es “Instrucción Dim”. Su ubicación y contenido determinan las características de la variable.

Existen niveles de declaración para una variable:

- Valor local y variables miembros. Una variable local es aquella que se declara dentro de un procedimiento. Una variable miembro es un miembro de un tipo de Visual Basic; se declara en el nivel de módulo, dentro de una clase, estructura o módulo, pero no dentro de ningún procedimiento interno de esa clase, estructura o módulo.

- Variables compartidas y de instancias. La categoría de una variable miembro, en una clase o estructura, depende de que la variable este o no compartida. Si una variable se declara con la palabra clave “Shared”, es una variable compartida, y existe en una única copia compartida por todas las instancias de la clase o estrucutra. De lo contrario, es una variable de instancia, y se crea una copia independiente de ella para cada instancia de la clase o estructura. Una copia determinada de una variable de instancia solo estará disponible en la instancia para la cual se creó. Es independiente de una copia en cualquier otra instancia.

Para crear una variable:

1. Declare la variable con una instrucción “Dim”.

Dim newCustomer

2. Incluya las especificaciones para las características de la variable, como “Private”, “Static”, “Shadows” o ”WithEvents”.

Public Static newCustomer

No se necesita la palabra clave “Dim” si se utiliza otra palabra clave en la declaración.

3. Agregue a las especificaciones el nombre de la variable que debe seguir las reglas y convenciones de Visual Basic.

Public Static newCustomer

4. Agregue al nombre la cláusula As para especificar el tipo de datos de la variable.

Public Static newCustomer As Customer

Si no especifica el tipo de datos, tiene como valor predefinido “Object”.

5. Agregue a la cláusula “As” un signo igual (=) y agregue al signo igual el valor inicial de la variable.

Visual Basic asigna el valor específico a la variable cada vez que ejecuta la instrucción “Dim”. Si no especifica un valor inicial, Visual Basic asigna el valor inicial predeterminado para el tipo de datos de la variable cuando escribe por primera vez el código que contiene la instrucción “Dim”.
Si la variable es un tipo de referencia, puede crear una instancia de su clase incluyendo la palabra “New” en la cláusula “As”. Si no utiliza “New”, el valor inicial de la variable es “Nothing”.

viernes, 4 de marzo de 2011

Rules for the use of progressive present

1. If a verb finishes with the letter "e", this deletes for "i" latin letter, plus "ng".


  • believe/believing (creer/creyendo)
  • change/changing (cambiar/cambiando)
  • drive/driving (conducir/conduciendo)
  • give/giving (dar/dando)
  • have/having (tener/teniendo)
  • leave/leaving (salir/saliendo)
  • lose/losing (perder/perdiendo)
  • write/writing (escribir/escribiendo)
  • translate/translating (traducir/traduciendo)
  • take/taking (tomar/tomando)
  • type/typing (escribir a máquina/escribiendo a máquina)

2. If a verb finishes with double vowel (ee), adds "ing".


  • see/seeing (ver/viendo)
  • flee/fleeing (escapar/escapando)
  • disagree/disagreeing (estar en desacuerdo)

3. If a verb finishes with "ie", this deletes and adds "yng".


  • vie/vyng (luchar/luchando)

4. If a verb finishes with different letter (m, n, t, p, g), in some cases, adds other letter according to its ending.


  • connect/connectting (conectar/conectando)
  • design/designning (diseñar/diseñando)
  • develop/developping (desarrollar/desarrollando)
  • happen/happenning (suceder/sucediendo)
  • jump/jumpping (saltar/saltando)

5. If a verb finishes with the "l" letter, adds other "l" plus "ing".


  • control/controlling (controlar/controlando)
  • feel/feelling (alimentar/alimentando)

Comment: I think this kind of information about the progressive present is very important, because with it we can know the different kind of verbs in english and using the rules of progressive present for can speak and write in english of the correct form.