domingo, 27 de julio de 2014

UNIDAD 2. CONCEPTOS FUNDAMENTALES DE PROGRAMACIÓN EN VISUAL BASIC

VISUAL BASIC
    
    Visual Basic (“Beginner’s All purpose Symbolic Instrucction Code”) es uno de los lenguajes de programación más usado por los programadores. En el pasado, el Basic era conocido como el lenguaje para principiantes, pero ahora los programadores profesionales lo han tomado como su herramienta aprovechando la potencia de la Versión Visual Basic 6.0. Todas las aplicaciones o programas escritos con Visual Basic 6.0 se ejecutarán en computadores que tengan un sistema operativo cliente Windows como Windows 95, Windows 98, Windows Me y Windows XP o un sistema operativo de red como Windows NT, Windows 2000 y Windows 2003.


                                                 Como crear un programa en Visual Basic

DEFINICIÓN DE PROGRAMA 
   
     Cuando hablamos específicamente de programa en informática, estamos haciendo referencia a un software. Se trata de aplicaciones y recursos que permiten desarrollar diferentes tareas en una computadora (ordenador), un teléfono u otros equipos tecnológicos.

    Para desarrollar un programa informático, se necesita apelar a los lenguajes de programación que posibilitan el control de las máquinas. A través de diversas reglas semánticas y sintácticas, estos lenguajes especifican los datos que transmite el software y que tendrá que operar la computadora.

    Existen diferentes tipos de programas en informática. El software de base, por ejemplo, es aquel que le brinda a la persona el control sobre los elementos físicos de la computadora, que se conocen como hardware. Dentro del software de base puede nombrarse a los sistemas operativos, como Windows o Linux.

    Los programas ofimáticos también son muy importantes. Entre estas herramientas aparecen los procesadores de texto como Microsoft Word y Apache OpenOffice Writer; las hojas de cálculo como Calc, Lotus 1-2-3 y Microsoft Excel; y los programas que permiten gestionar el correo electrónico como Lotus Notes, Microsoft Outlook y Eudora.


    Es importante resaltar que la noción de programa en informática refiere tanto a programas que exigen un pago para adquirir su licencia y así poder utilizarlos, como a programas de distribución gratuita. Pese a las licencias que protegen a los programas informáticos, muchas veces dichos derechos son vulnerados y los programas se comercializan de manera ilegal a través de la piratería.


TIPOS DE PROGRAMAS 

    Un programa, por lo general, estará compuesto por una secuencia de acciones, algunas de las cuales serán alternativas o repetitivas. En determinados programas sencillos, no se da esta mezcla de acciones, en cuyo caso se pueden clasificar como sigue:
  •   Programas lineales: consisten en una secuencia de acciones primitivas (su ejecución es lineal en el orden en que han sido escritas).
  •   Programas alternativos: consisten en el anidamiento de acciones alternativas (las tablas de decisión se realizan mediante programas alternativos).
  •   Programas cíclicos: son aquellos en los que un conjunto de acciones se repiten un número determinado o indeterminado de veces (un programa de este tipo se denomina bucle).

Otra clasificación relativa a la aplicación desarrollada por el programa es:
  •   Programas de gestión: se caracterizan por el manejo de gran cantidad de datos con pocos cálculos (resuelven problemas de gestión).
  •  Programas técnicos-científicos: al contrario que los anteriores, realizan gran cantidad de cálculos con pocos datos (revuelven problemas matemáticos, físicos, etc.).
  •  Programas de diseño (CAD): se caracterizan por la utilización de técnicas gráficas para resolver problemas de diseño.
  •  Programas de simulación: intentan reflejar una situación real, para facilitar su estudio.
  •  Programas educativos (EAO): utilizan las ventajas del ordenador para la docencia.
  •  Programas de inteligencia artificial: se utilizan para simular el razonamiento humano.
TIPOS DE PROGRAMACIÓN

Programación estructurada (PE)
    La programación estructurada está compuesta por un conjunto de técnicas que han ido evolucionando aumentando considerablemente la productividad del programa reduciendo el tiempo de depuración y mantenimiento del mismo.
    
    Esta programación estructurada utiliza un número limitado de estructuras de control, reduciendo así considerablemente los errores.
Esta técnica incorpora:
  • Diseño descendente (top-dow): el problema se descompone en etapas o estructuras jerárquicas.
  • Recursos abstractos (simplicidad): consiste en descompones las acciones complejas en otras más simples capaces de ser resueltas con mayor facilidad.
  • Estructuras básicas: existen tres tipos de estructuras básicas:
  • Estructuras secuenciales: cada acción sigue a otra acción secuencial mente. La salida de una acción es la entrada de otra.
  • Estructuras selectivas: en estas estructuras se evalúan las condiciones y en función del resultado de las mismas se realizan unas acciones u otras. Se utilizan expresiones lógicas.
  • Estructuras repetitivas: son secuencias de instrucciones que se repiten un número determinado de veces.                                                                                                                                              Las principales ventajas de la programación estructurada son:
  • Los programas son más fáciles de entender
  • Se reduce la complejidad de las pruebas
  • Aumenta la productividad del programador
  • Los programas queden mejor documentados internamente.                                                                                                                                                                                                            Programación modular
    En la programación modular consta de varias secciones dividas de forma que interactúan a través de llamadas a procedimientos, que integran el programa en su totalidad.
    En la programación modular, el programa principal coordina las llamadas a los módulos secundarios y pasa los datos necesarios en forma de parámetros.
A su vez cada módulo puede contener sus propios datos y llamar a otros módulos o funciones.

Programación orientada a objetos (POO)

    Se trata de una técnica que aumenta considerablemente la velocidad de desarrollo de los programas gracias a la reutilización de los objetos.
   El elemento principal de la programación orientada a objetos es el objeto.
   El objeto es un conjunto complejo de datos y programas que poseen estructura y forman parte de una organización.
   Un objeto contiene varios datos bien estructurados y pueden ser visibles o no dependiendo del programador y las acciones del programa en ese momento.

 PARTES PRINCIPALES DE UN PROGRAMA

   Dentro del bloque de instrucciones de un programa se pueden diferenciar tres partes fundamentales. En algunos casos, estas tres partes están perfectamente delimitadas, pero en la mayoría sus instrucciones quedan entremezcladas a lo largo del programa, si bien mantienen una cierta localización geométrica impuesta por la propia naturaleza de las mismas.
  •  Entrada de datos: la constituyen todas aquellas instrucciones que toman datos de un dispositivo externo, almacenándolos en la memoria central para que puedan ser procesados.
  •  Proceso o algoritmo: está formado por las instrucciones que modifican los objetos a partir de su estado inicial hasta el estado final, dejando éstos disponibles en la memoria central.
  •  Salida de resultados: conjunto de instrucciones que toman los datos finales de la memoria central y los envían a los dispositivos externos.
INSTRUCCIONES EN VISUAL BASIC 

    En Visual Basic, una instrucción es una instrucción completa. Puede contener palabras clave, operadores, variables, constantes y expresiones. 


INSTRUCCIONES DE CONTROL

    Son instrucciones que no realizan trabajo efectivo alguno salvo la evaluación de expresiones, generalmente lógicas, con el objetivo de controlar la ejecución de otras instrucciones o alterar el orden de ejecución normal de las instrucciones de un programa. Prácticamente la totalidad de lenguajes de programación de alto nivel soportan tres tipos de instrucciones de control:
  • Instrucciones condicionales o alternativas.
  • Instrucciones de salto.
  • Instrucciones repetitivas.

Instrucciones condicionales o alternativa:
  • Alternativa simple:Se evalúa una condición, ejecutándose un grupo de sentencias si el resultado es “verdadero”, y no ejecutándose este grupo de sentencias si el resultado es “falso”.
  • Alternativa doble:Se evalúa la condición, ejecutándose un grupo de sentencias si el resultado es “verdadero”, y ejecutándose otro grupo alternativo de sentencias si el resultado es “falso”.
  • Alternativa múltiple (o selector):En lugar de una condición, se evalúa una expresión con múltiples pero finitos resultados, ejecutándose en función del resultado de la expresión, un grupo de sentencias entre múltiples posibles.

Instrucciones de salto:
    Se utilizan para realizar un salto, es decir, para transferir el control a un punto del programa donde seguirá la ejecución del mismo, pero perdiendo toda posibilidad de retornar de forma controlada la ejecución del programa al punto de llamada.
    No se aconseja su utilización porque crean un código difícil de leer y mantener, estando su uso muy restringido en programación estructurada.
Podemos hablar de dos tipos de sentencias de salto:
  • Salto condicional: alteran la secuencia de ejecución de un programa sólo y exclusivamente en el caso de que una condición específica sea cierta.
  • Salto incondicional: alteran la secuencia de ejecución de un programa siempre al no ir acompañadas de una condición de limite en determinadas ocasiones la realización del salto a otra parte del programa.
Instrucciones repetitivas:
    Este tipo de instrucciones también son conocidas como bucles, ciclos o lazos. Lo que hacen es que mientras se verifique una condición, un segmento del algoritmo o programa se repita consecutivamente.
En cada repetición del bucle (o iteración) se evalúa la expresión de control del bucle (o condición), que determinará si continuamos realizando otra iteración o bien salimos definitivamente del bucle.

INSTRUCCIONES EJECUTABLES
    
     Instrucciones ejecutables, que inician acciones. Estas instrucciones pueden llamar a un método o función, y pueden repetirse en bloques de código o crear una bifurcación en otro bloque de código. Puedes  recorrer varias instrucciones con un bucle o evaluar una expresión. Las instrucciones ejecutables incluyen instrucciones de asignación, que asignan un valor o expresión a una variable o constante.

INSTRUCCIONES DECLARATIVAS
    
    Las instrucciones de declaración son aquellas  utilizadas para definir procedimientos, variables, propiedades, matrices y constantes, y asignarles nombre. Cuando se declara un elemento de programación, también se puede definir su tipo de datos, nivel de acceso y ámbito. Sirven para declarar librerías, variables, constantes, arreglos , punteros, estructuras.

CONSTANTE
    
    Son elementos, números, fechas, cadenas de caracteres y expresiones que contienen operadores lógicos o aritméticos, ellas mantienen un valor fijo durante el desarrollo y  la ejecución del programa.

Características:
  • Comenzar con una letra.
  • Poseer un mismo nombre único.
  • No tener más de 255 caracteres de longitud.
  • No tener espacios

VARIABLES

    Una variable es una partida de datos cuyo valor puede cambiar en el programa (durante el desarrollo y ejecución).
     Los diferentes tipos de variables dependen del lenguaje de programación, por lo general estas suelen ser enteras, reales, carácter, lógicas y de cadena.
     Tanto las variables como las constantes tienen un nombre o identificador generalmente conformado por caracteres alfanuméricos (ciertos lenguajes de programación admiten el carácter de subrayado ‘_’ como válido en los identificadores), y el primero de éstos debe ser una letra.
     Estas son utilizadas para almacenar valores que pueden cambiar durante la ejecución de un programa, existen 3 tipos de variables:
  • Variables de objeto
  • Variables de entorno
  • Variables declaradas

Características y condiciones:
  • Iniciar con una letra.
  • No tener espacios.
  • Su longitud no debe superar los 245 caracteres.
  • Poseer un nombre único dentro de su alcance.
                                                       ejemplo de constantes y variables 


EXPRESIÓN ARITMÉTICA

    En informática y lenguajes de programación, se entiende por expresión aritmética a aquella donde los operadores que intervienen en ella son numéricos, el resultado es un número y los operadores son aritméticos. Los operadores aritméticos más comúnmente utilizados son: + , - , * , / y  %.
    El signo más (+) se emplea para adicionar dos valores, el signo menos (-) para restar un valor de otro, el asterisco (*) para multiplicar dos valores, la división (/) para dividir un valor por otro, y el signo % para obtener el resto de una división entera. Estos símbolos se conocen como operadores binarios, pues operan sobre dos valores o variables.

OPERADOR ARITMÉTICOS, DE RELACIÓN Y LÓGICOS :

    Los operadores aritméticos se utilizan para realizar muchas de las operaciones aritméticas habituales que implican el cálculo de valores numéricos representados por literales, variables, otras expresiones, llamadas a funciones y propiedades, y constantes. También se clasifican como operadores aritméticos los operadores de desplazamiento de bits, que actúan al nivel de bits individuales de los operandos y cambian sus modelos de bits a la izquierda o la derecha.
    Las operaciones aritméticas son las que operan sobre valores numéricos y entregan otro valor numérico como resultado. Los valores numéricos son los que tienen tipo entero, real o complejo.
Las siguientes son algunas operaciones aritméticas básicas, junto con el operador que las representa:
  • la suma +;
  • la resta -;
  • la multiplicación *;
  • la división /;
  • el módulo % (resto de la división);
  • la potencia ** («elevado a»).

    En general, si los operandos son de tipo entero, el resultado también será de tipo entero. Pero basta que uno de los operandos sea real para que el resultado también lo sea. Esta regla suele causar confusión en el caso de la división. Al dividir números enteros, el resultado siempre es entero, y es igual al resultado real truncado, es decir, sin su parte decimal.
Si uno de los operandos es complejo, el resultado también será complejo.
    El operador de módulo entrega el resto de la división entre sus operandos.
Un uso bastante común del operador de módulo es usarlo para determinar si un número es divisible por otro.
    Una relación entre / y % que siempre se cumple para los números enteros.
Hay dos operadores aritméticos unarios:

  • el positivo +, y
  •  el negativo -.
El positivo entrega el mismo valor que su operando, y el negativo también pero con el signo cambiado

Operaciones de relación
Las operaciones de relación sirven para comparar valores. Sus operandos son cualquier cosa que pueda ser comparada, y sus resultados siempre son valores lógicos.
Algunas operaciones relacionales son:

  • el igual a == (no confundir con el = de las asignaciones);
  •  el distinto a !=;
  •  el mayor que >;
  • el mayor o igual que >=;
  • el menor que <;
  • el menor o igual que <=;
Operaciones lógicas

    Los operadores lógicos son los que tienen operandos y resultado de tipo lógico. Los operadores lógicos comparan expresiones Boolean y devuelven un resultado Boolean. Los operadores And, Or, AndAlso, OrElse y Xor son binarios porque toman dos operandos, mientras que el operador Not es unario porque toma un solo operando. Algunos de estos operadores también pueden realizar operaciones lógicas bit a bit en valores enteros.

Operadores lógicos binarios
   
    El And (Operador, Visual Basic) realiza la conjunción lógica de dos expresiones Boolean. Si ambas expresiones se evalúan como True, And devuelve True. Si al menos una de las expresiones se evalúa como False, And devuelve False.
   El Or (Operador, Visual Basic) realiza la disyunción o inclusión lógicas de dos expresiones Boolean. Si una de las expresiones o ambas se evalúan como True, Or devuelve True. Si ninguna de las expresiones se evalúa como True, Or devuelve False.
   Xor (Operador, Visual Basic) realiza la exclusión lógica de dos expresiones Boolean. Si exactamente una expresión, pero no ambas, se evalúa como True, Xor devuelve True. Si ambas expresiones se evalúan como True o como False, Xor devuelve False

Operador lógico unario
   
    El Not (Operador, Visual Basic) realiza la negación lógica en una expresión Boolean. Produce el contrario lógico de su operando. Si la expresión se evalúa como True, Not devuelveFalse; si la expresión se evalúa como False, Not devuelve True. Debido a que Object es la clase base de todos los tipos de referencia en .NET Framework, este comportamiento es heredado por los tipos de referencia que no reemplazan el método ToString.

FUNCIONES INTERNAS:

    Son funciones matemáticas diferentes de las operaciones básicas pero que se incorporan al lenguaje y que se consideran estándar. Dependen del lenguaje. Normalmente se encuentran en la librería de matemáticas del lenguaje de programación.

Función
Descripción
Tipo de argumento
Resultado
abs(x)
Valor absoluto de x
Entero o real
igual al argumento
arctan(x)
Arco tangente de x
Entero o real
real
cos(x)
Coseno de x
Entero o real
real
exp(x)
exponencial de x
Entero o real
real
ln(x)
Logaritmo Neperiano de x
Entero o real
real
log10(x)
Logaritmo decimal de x
Entero o real
real
redondeo(x) 
ó
round(x)*
redondeo de x
real
entero
seno(x)
ó
sin(x)*
seno de x
Entero o real
real
cuadrado(x)
ó
sqr(x)
cuadrado de x
Entero o real
igual al argumento
raizcua(x)
ó
sqrt(x)
raiz cuadrada de x
Entero o real
real
trunc(x)
truncamiento de x
real
entero

INGRESO DE DATOS Y GENERACIÓN DE REPORTES

 Ingreso de datos: Método InputBox

En Visual Basic los datos se ingresan usando el método InputBox(…) el cual abre una ventana de diálogo. La sintaxis de este método es :expresión.InputBox(Prompt[,Title][,Default][,XPos][,YPox]  [,HelpFile]  [,Context])

Donde
  • expression :Es el nombre de un determinado objeto Application. Si no se usa, asume Aplication.
  • Prompt :Cadena de caracteres, requerido. Es usado como información al usuario sobre lo que se le pide que ingrese.
  • Title : Cadena de caracteres de tipo Variant, opcional. Es usado para colocarlo en la barra de título de la ventana de diálogo.
  • Default : Es opcional. Es el valor que se asigna a la variable receptora, si no se digita ningún dato.
  • XPos:Es la posición horizontal (en pixels) a partir de la cual se visualizará la ventana
  • YPos :Es la posición vertical (en pixels)a partir de la cual se visualizará la ventana.
  • HelpFile : Es el nombre del archivo de ayuda.
  • Context   :Es la posición o ubicación dentro del tema de la ayuda, relativo a la instrucción.

Emisión de resultados: Función MsgBox(..)
    Para poder emitir o imprimir en pantalla el contenido de una variable o el resultado de un cálculo, se usa la función MsgBox (…), el cual abre una ventana en cual se visualizará todos los resultados emitidos. La sintaxis de este método es el siguiente:
MsgBox (Prompt [,Botones] [,Title] [,HelpFile] [Context])
Donde
  • Prompt:   Cadena de caracteres de hasta 1024 bytes. Si ocupa más de una línea se puede separar usando el carácter de retorno de carro CHR(13), o un carácter de avance de línea CHR(10) o una combinación de los dos: CHR(13)+CHR(10).
  • Botones: Permite mostrar u determinado tipo d botón a través de un icono. La siguiente tabla muestra la lista de las variables internas usadas para mostrar el icono.


El siguiente procedimiento permite ingresar la cantidad y el precio de compra de un producto y luego calcular el monto neto, después de aplicar el impuesto del IGV.

SUBRUTINAS

    Una subrutina o subprograma (también llamada procedimiento, función o rutina), como idea general, se presenta como un sub-algoritmo que forma parte del algoritmo principal, el cual permite resolver una tarea específica. Algunos lenguajes de programación, como Visual Basic .NET o Fortran, utilizan el nombre función para referirse a subrutinas que devuelven un valor.
    Se le llama subrutina a un segmento de código separado del bloque principal y que puede ser invocado en cualquier momento desde este o desde otra subrutina.
    Una subrutina al ser llamada dentro de un programa hace que el código principal se detenga y se dirija a ejecutar el código de la subrutina, en cambio cuando se llama a una macro, el compilador toma el código de la macro y lo implanta donde fue llamado, aumentando así el código fuente y por consiguiente el objeto.
  
Elementos de la declaración de una subrutina

Las declaraciones de subrutinas generalmente son especificadas por:
  •   Un nombre único en el ámbito: nombre de la función con el que se identifica y se distingue de otras. No podrá haber otra función ni procedimiento con ese nombre (salvo sobrecarga o polimorfismo en programación orientada a objetos).
  •  Un tipo de dato de retorno: tipo de dato del valor que la subrutina devolverá al terminar su ejecución.
  • Una lista de parámetros: especificación del conjunto de argumentos (pueden ser cero, uno o más) que la función debe recibir para realizar su tarea.
  • El código u órdenes de procesamiento: conjunto de órdenes y sentencias que debe ejecutar la subrutina.


UNIDAD 1. DIAGRAMA DE FLUJO.


    Un diagrama de flujo u organigrama es una representación diagramática que ilustra la secuencia de las operaciones que se realizarán para conseguir la solución de un problema. Los diagramas de flujo se dibujan generalmente antes de comenzar a programar el código frente a la computadora. Es la representación gráfica del algoritmo o proceso. Se utiliza en disciplinas como programación, economía, procesos industriales y psicología cognitiva.
    Los diagramas de flujo facilitan la comunicación entre los programadores y la gente del negocio. Estos diagramas de flujo desempeñan un papel vital en la programación de un problema y facilitan la comprensión de problemas complicados y sobre todo muy largos.
    Los diagramas de flujo son una manera de representar visualmente el flujo de datos a través de sistemas de tratamiento de información. Los diagramas de flujo describen que operaciones y en que secuencia se requieren para solucionar un problema dado.

   
    Estos diagramas utilizan símbolos con significados definidos que representan los pasos del algoritmo, y representan el flujo de ejecución mediante flechas que conectan los puntos de inicio y de fin de proceso.

EJEMPLO DE DIAGRAMA DE FLUJO EN LA INDUSTRIA PETROLERA

CARACTERÍSTICAS PRINCIPALES
  • Capacidad de Comunicación
    Permite la puesta en común de conocimientos individuales sobre un proceso, y facilita la mejor comprensión global del mismo.

  • Claridad 
    Proporciona información sobre los procesos de forma clara, ordenada y concisa.

SÍMBOLOS PARA LA ELABORACIÓN DE DIAGRAMAS DE FLUJO
COMO REALIZAR UN DIAGRAMA DE FLUJO


TIPOS DE DIAGRAMA DE FLUJO

  • Formato vertical: En él, el flujo y la secuencia de las operaciones, va de arriba hacia abajo. Es una      lista ordenada de las operaciones de un proceso con toda la información que se considere necesaria, según su propósito.
  • Formato horizontal: En él, el flujo o la secuencia de las operaciones, va de izquierda a derecha.
  • Formato panorámico: El proceso entero está representado en una sola carta y puede apreciarse de    una sola mirada mucho más rápido que leyendo el texto, lo que facilita su comprensión, aun para  personas no familiarizadas. Registra no solo en línea vertical, sino también horizontal, distintas  acciones simultáneas y la participación de más de un puesto o departamento que el formato vertical  no registra.
  • Formato Arquitectónico: Describe el itinerario de ruta de una forma o persona sobre el plano  arquitectónico del área de trabajo. El primero de los diagramas de flujos es eminentemente descriptivo,  mientras que los utilizados son fundamentalmente representativos.
DIAGRAMA DE FLUJO : DATOS SIMPLES Y DATOS ESTRUCTURADOS

TIPOS DE DATOS

Los datos  a procesar en un computador pueden clasificarse en:
  • Simples: ocupan una sola casilla de memoria, por lo tanto ,hace referencia a un único valor a la vez.
  • Estructurados: hacen referencia a un grupo de casilla de memoria. Dentro de estos a su vez: numéricos, alfanuméricos y lógicos