Colegio de informática IMB-PC by zhangyun

VIEWS: 40 PAGES: 18

									Colegio de informática IMB-PC
Programación
Sergio Morales




                         Douglas Ariel Contreras Castañaza
                          4to. Bachillerato en Construcción
El siguiente trabajo contiene información sobre la
programación Se conoce como programación de
computadoras a la implementación de un algoritmo en un
determinado lenguaje de programación, conformando un
programa. Mientras que un algoritmo se ejecuta en una
máquina abstracta que no tiene limitaciones de memoria o
tiempo, un programa se ejecuta en una máquina real, que sí
tiene esas limitaciones. El lenguaje de programación puede
ser de alto nivel o bajo nivel, en función del grado de
abstracción.
       INTRODUCCION A VISUAL BASIC
Visual Basic es un lenguaje de programación de los llamados "visuales", puesto que
parte de la programación que se realiza con él se basa en la utilización de
elementos visuales. La palabra "Visual" hace referencia al método que se utiliza para
crear la interfaz gráfica de usuario. En lugar de escribir numerosas líneas de código
para describir la apariencia y la ubicación de los elementos de la interfaz,
simplemente podemos agregar objetos prefabricados en su lugar dentro de la
pantalla, que ahorran mucho tiempo de programación y que sobrepasan el
concepto de la programación convencional en cuanto a la estructura secuencial
del programa.

Tradicionalmente el lenguaje Basic (Beginners All-Purpose Symbolic Instruction Code)
se ha considerado como el lenguaje adecuado para principiantes en el mundo de
la programación, si bien se le achaca que no tiene la potencia suficiente para cubrir
todas las expectativas de los programadores avanzados. Cierto es que aunque nos
permite la creación de componentes y trabajar con objetos, otros lenguajes tienen
más potencia en la programación orientada a objetos, pero a medida que han
avanzado en las versiones de Visual Basic, ha aumentado su versatilidad. Este curso
pretende ser una iniciación a la programación en Visual Basic, que posteriormente
puede implementarse con otros cursos avanzados en el sentido de profundizar en el
concepto de la programación. La versatilidad a la que se hace alusión viene del
hecho de que una vez realizado este curso se tiene la base suficiente para abordar
otros aspectos de la programación actual. En primer lugar, podríamos abordar la
programación de VBA (Visual Basic para Aplicaciones), que nos permitirá programar
rutinas de código que nos proporcionarán mayor potencia y funcionalidad de
nuestras aplicaciones ofimáticas, por ejemplo para los programas del paquete
Microsoft Office: Microsoft Word, Microsoft Excel, Microsoft Access..., las macros que
se pueden programar en estos programas se escriben en VBA, que es un lenguaje
basado en Visual Basic, es decir una vez conocido este, aprender VBA consiste en
tener en cuenta las especificaciones que hace sobre el Visual Basic que ya
conocemos, la idea a transmitir es que no hay que aprender nada nuevo desde el
principio, sino que con poco esfuerzo, rápidamente podemos empezar a crear
nuestras propias macros.

En segundo lugar, y teniendo en cuenta el auge que está teniendo Internet
actualmente, el conocer Visual Basic nos abre una ventana a la programación para
Internet. En la creación de páginas Web se utiliza el lenguaje HTML, en combinación
con otros que le proveen de funcionalidad, uno de ellos es el VBScript, que en
realidad no es otra cosa que una adaptación de Visual Basic, dicho de otra forma,
conociendo Visual Basic, cuesta muy poco aprender VBScript, lo que nos permitirá
programar ASP (Active Server Pages). Esto quedará mejor explicado con un ejemplo:
Suponer que queremos programar una página Web que además de los enlaces a
otras páginas nos permita, por ejemplo, consultar una base de datos en Access, esta
consulta no se puede programar con HTML ya que no dispone de órdenes para ello,
necesitamos enlazar la página en HTML a una página ASP, la cual programaremos
mezclando HTML y VBScript, que es la que mediante el VBScript nos permitirá ejecutar
la consulta a la base de datos.
                                Algoritmo

En matemáticas, ciencias de la computación, y disciplinas relacionadas,
un algoritmo (del latín, dixit algorithmus y éste a su vez del matemático
persa al-Jwarizmi) es una lista bien definida, ordenada y finita de
operaciones que permite hallar la solución a un problema. Dado un
estado inicial y una entrada, a través de pasos sucesivos y bien definidos
se llega a un estado final, obteniendo una solución. Los algoritmos son
objeto de estudio de la algoritmia, y su definición queda formalizada
por el modelo computacional de la Máquina de Turing.

Su importancia radica en mostrar la manera de llevar a cabo procesos y
resolver mecánicamente problemas matemáticos o de otro tipo. Al
igual que las funciones matemáticas, los algoritmos reciben una entrada
y la transforman en una salida, comportándose como una caja negra.
Sin embargo, para que un algoritmo pueda ser considerado como tal,
debe ser determinista, eficiente, tener un número finito de instrucciones
y debe acabar. Por determinista se entiende que, si se sigue el mismo
proceso más de una vez, se llega siempre al mismo resultado; por
eficiente, que el consumo de tiempo y memoria debe estar cercano o
ser el menor posible.

El concepto de algoritmo, aunque similar y obviamente relacionado, no
debe confundirse con el concepto de programa. Mientras el primero es
la especificación de un conjunto de pasos (operaciones, instrucciones,
órdenes,...) orientados a la resolución de un problema, el segundo es
ese conjunto de operaciones especificadas en un determinado
lenguaje de programación y para un computador concreto, susceptible
de ser ejecutado (o compilado o interpretado). Un algoritmo,
estrictamente hablando, no puede ejecutarse hasta que se
implementa, ya sea en un lenguaje de programación, en un circuito
eléctrico, en un aparato mecánico, usando papel y lápiz, o en algún
otro modelo de computación.

En la vida cotidiana se emplean algoritmos en multitud de ocasiones para resolver
diversos problemas. Algunos ejemplos se encuentran en los instructivos (manuales de
usuario), los cuales muestran algoritmos para usar el aparato en cuestión o inclusive en
las instrucciones que recibe un trabajador por parte de su patrón. También existen
ejemplos de índole matemática, como el algoritmo de la división para calcular el
cociente de dos números, el algoritmo de Euclides para calcular el máximo común
divisor de dos enteros positivos, o el método de Gauss para resolver un Sistema lineal
de ecuaciones.
      Características de los algoritmos

 El científico de computación Donald Knuth ofreció una lista de cinco
 propiedades, que son ampliamente aceptadas como requisitos para
 un algoritmo:

Carácter finito. "Un algoritmo siempre debe terminar después de un
número finito de pasos".

Precisión. "Cada paso de un algoritmo debe estar precisamente
definido; las operaciones a llevar a cabo deben ser especificadas de
manera rigurosa y no ambigua para cada caso".

Entrada. "Un algoritmo tiene cero o más entradas: cantidades que le son
dadas antes de que el algoritmo comience, o dinámicamente mientras
el algoritmo corre. Estas entradas son tomadas de conjuntos específicos
de objetos".

Salida. "Un algoritmo tiene una o más salidas: cantidades que tienen
una relación específica con las entradas".

Eficacia. "También se espera que un algoritmo sea eficaz, en el sentido
de que todas las operaciones a realizar en un algoritmo deben ser
suficientemente básicas como para que en principio puedan ser hechas
de manera exacta y en un tiempo finito por un hombre usando lápiz y
papel".



 Knuth admite que, aunque su descripción pueda ser intuitivamente
 clara, carece de rigor formal, puesto que no está exactamente claro
 qué significa "precisamente definido", "de manera rigurosa y no
 ambigua", o "suficientemente básicas", y así sucesivamente.

 A partir del caracter finito y de la salida se deduce que ante una
 misma situación inicial (o valores de entrada) un algoritmo debe
 proporcionar siempre el mismo resultado (o salida), con excepción de
 los algoritmos probabilistas.
      LENGUAJES ENSAMBLADORES
A principios de la década de 1950, y con el fin de facilitar la labor de los
programadores, se desarrollaron códigos nemotécnicos para las
operaciones y direcciones simbólicas. La palabra nemotécnico se
refiere a una ayuda para la memorización. Uno de los primeros pasos
para mejorar el proceso de preparación de programas fue sustituir los
códigos de operaciones numéricos del lenguaje de máquina por
símbolos alfabéticos, que son los códigos nemotécnicos. Todas las
computadoras actuales tienen códigos nemotécnicos aunque,
naturalmente, los símbolos que se usan varían en las diferentes marcas y
modelos. La computadora sigue utilizando el lenguaje de máquina
para procesar los datos, pero los programas ensambladores traducen
antes los símbolos de código de operación especificados a sus
equivalentes en lenguaje de máquina.
Este procedimiento preparó avances posteriores. Si la computadora era
capaz de traducir símbolos convenientes en operaciones básicas, ¿por
qué no hacer también que realizara otras funciones rutinarias de
codificación, como la asignación de direcciones de almacenamiento a
los datos? La técnica de direccionamiento simbólico permite expresar
una dirección no en términos de su localización numérica absoluta, sino
en términos de símbolos convenientes para el programador.
Durante las primeras etapas del direccionamiento simbólico, el
programador asigna un nombre simbólico y una dirección real a un
dato. Por ejemplo, el programador podría asignar el valor total de
mercancía adquirida durante un mes por un cliente de una tienda de
departamentos a la dirección 0063, y darle el nombre simbólico TOTAL.
Se podría asignar el valor de la mercancía devuelta sin usar durante el
mes a la dirección 2047 y dársele el nombre simbólico CRÉDITO. Así,
durante el resto del programa, el programador se referirá a los nombres
simbólicos, más que a las direcciones, cuando fuera preciso procesar
estos datos. Por ejemplo, se podría escribir la instrucción "S CRÉDITO
TOTAL" para restar el valor de las mercancías devueltas del importa total
de compras para obtener el importe de la factura mensual del cliente.
A continuación, el programa ensamblador traduciría la instrucción
simbólica a esta cadena de bits:




Más adelante se hizo otra mejora. Se dejó a la computadora la tarea de
asignar y recordar las direcciones de las instrucciones. Lo único que
tenía que hacer el programador era indicar a la computadora la
dirección de la primera instrucción, y el programa ensamblador se
encargaba de almacenar, de manera automática, todas las demás en
forma secuencial a partir de ese punto. Así, si se agregaba más tarde
otra instrucción al programa, no era necesario modificar las direcciones
de todas las instrucciones que seguían al punto de inserción (como
tendría que hacerse en el caso de programas escritos en lenguaje de
máquina). En vez de ello, el procesador ajustaba automáticamente las
localidades de memoria la próxima vez que se ejecutaba el programa.
En la actualidad, los programadores no asignan números de dirección
reales a los datos simbólicos, simplemente especifican dónde quieren
que se coloque la primera localidad del programa, y el programa
ensamblador se encarga de lo demás: asigna localidades tanto para
las instrucciones como para los datos.
.
      LENGUAJES DE ALTO NIVEL
Los primeros programas ensambladores producían sólo una instrucción
en lenguaje de máquina por cada instrucción del programa fuente.
Para agilizar la codificación, se desarrollaron programas ensambladores
que podían producir una cantidad variable de instrucciones en
lenguaje de máquina por cada instrucción del programa fuente. Dicho
de otra manera, una sola macroinstrucción podía producir varias líneas
de código en lenguaje de máquina. Por ejemplo, el programador
podría escribir "LEER ARCHIVO", y el programa traductor produciría una
serie detallada de instrucciones al lenguaje de máquina previamente
preparadas, con lo que se copiaría un registro del archivo que estuviera
leyendo el dispositivo de entrada a la memoria principal. Así, el
programador no se tenía que ocupar de escribir una instrucción por
cada operación de máquina realizada.
El desarrollo de las técnicas nemotécnicas y las macroinstrucciones
condujo, a su vez, al desarrollo de lenguajes de alto nivel que a menudo
están orientados hacia una clase determinada de problemas de
proceso. Por ejemplo, se han diseñado varios lenguajes para procesar
problemas científico-matemático, asimismo han aparecido otros
lenguajes que hacen hincapié en las aplicaciones de proceso de
archivos.
A diferencia de los programas de ensamble, los programas en lenguaje
de alto nivel se pueden utilizar con diferentes marcas de computadores
sin tener que hacer modificaciones considerables. Esto permite reducir
sustancialmente el costo de la reprogramación cuando se adquiere
equipo nuevo. Otras ventajas de los lenguajes de alto nivel son:
    o        Son más fáciles de aprender que los lenguajes
       ensambladores.
    o        Se pueden escribir más rápidamente.
   o          Permiten tener mejor documentación.
   o          Son más fáciles de mantener.
   o          Un programador que sepa escribir programas en uno de
       estos lenguajes no está limitado a utilizar un solo tipo de máquina.

       LENGUAJES COMPILADOS
Naturalmente, un programa que se escribe en un lenguaje de alto nivel
también tiene que traducirse a un código que pueda utilizar la
máquina. Los programas traductores que pueden realizar esta
operación se llaman compiladores. Éstos, como los programas
ensambladores avanzados, pueden generar muchas líneas de código
de máquina por cada proposición del programa fuente. Se requiere
una corrida de compilación antes de procesar los datos de un
problema.
Los compiladores son aquellos cuya función es traducir un programa
escrito en un determinado lenguaje a un idioma que la computadora
entienda (lenguaje máquina con código binario).
Al usar un lenguaje compilado (como lo son los lenguajes del popular
Visual Studio de Microsoft), el programa desarrollado nunca se ejecuta
mientras haya errores, sino hasta que luego de haber compilado el
programa, ya no aparecen errores en el código.
       LENGUAJES INTERPRETADOS
Se puede también utilizar una alternativa diferente de los compiladores
para traducir lenguajes de alto nivel. En vez de traducir el programa
fuente y grabar en forma permanente el código objeto que se produce
durante la corrida de compilación para utilizarlo en una corrida de
producción futura, el programador sólo carga el programa fuente en la
computadora junto con los datos que se van a procesar. A
continuación, un programa intérprete, almacenado en el sistema
operativo del disco, o incluido de manera permanente dentro de la
máquina, convierte cada proposición del programa fuente en lenguaje
de máquina conforme vaya siendo necesario durante el proceso de los
datos. No se graba el código objeto para utilizarlo posteriormente.
La siguiente vez que se utilice una instrucción, se le debe interpretar otra
vez y traducir a lenguaje máquina. Por ejemplo, durante el
procesamiento repetitivo de los pasos de un ciclo, cada instrucción del
ciclo tendrá que volver a ser interpretado cada vez que se ejecute el
ciclo, lo cual hace que el programa sea más lento en tiempo de
ejecución (porque se va revisando el código en tiempo de ejecución)
pero más rápido en tiempo de diseño (porque no se tiene que estar
compilando a cada momento el código completo). El intérprete elimina
la necesidad de realizar una corrida de compilación después de cada
modificación del programa cuando se quiere agregar funciones o
corregir errores; pero es obvio que un programa objeto compilado con
antelación deberá ejecutarse con mucha mayor rapidez que uno que
se debe interpretar a cada paso durante una corrida de producción.


      LENGUAJES DE PROGRAMACIÓN DECLARATIVOS
Se les conoce como lenguajes declarativos en ciencias
computacionales a aquellos lenguajes de programación en los cuales
se le indica a la computadora qué es lo que se desea obtener o qué es
lo que se esta buscando, por ejemplo: Obtener los nombres de todos los
empleados que tengan más de 32 años. Eso se puede lograr con un
lenguaje declarativo como SQL.
La programación declarativa es una forma de programación que
implica la descripción de un problema dado en lugar de proveer una
solución para dicho problema, dejando la interpretación de los pasos
específicos para llegar a dicha solución a un intérprete no especificado.
La programación declarativa adopta, por lo tanto, un enfoque
diferente al de la programación imperativa tradicional.
En otras palabras, la programación declarativa provee el "qué", pero
deja el "cómo" liberado a la implementación particular del intérprete.
Por lo tanto se puede ver que la programación declarativa tiene dos
fases bien diferenciadas, la declaración y la interpretación.
Es importante señalar que a pesar de hacer referencia a intérprete, no
hay que limitarse a "lenguajes interpretados" en el sentido habitual del
término, sino que también se puede estar trabajando con "lenguajes
compilados".
DESCRIPCION DEL ENTORNO DE VISUAL BASIC

 Para desarrollar el curso se ha utilizado Visual Basic 6.0 en castellano, y
 todas las referencias e imágenes serán sobre esa versión, si bien se
 podría seguir el curso con la versión anterior, puesto que las diferencias
 radicarán, más que en que no se pueda realizar, en la forma de hacer
 o llamar a las cosas.

 Cuando ejecutamos VB, después de cargar el entorno, nos aparece el
 siguiente cuadro:
Nos ofrece tres solapas: Nuevo, con las diferentes opciones que nos
permite crear VB, en principio sólo utilizaremos EXE estándar, que nos
llevará a un formulario vacío desde el cual comenzaremos a
desarrollar nuestra aplicación. Existente, nos permite abrir proyectos
que ya existen para continuar implementándolos. Recientes, lo mismo
pero sobre los últimos proyectos que hayamos estado desarrollando.

Una vez que hayamos elegido EXE estándar, aceptamos y aparece la
siguiente ventana (salvo por las diferencias de tamaño, necesarias
para que entre la imagen), en la cual vemos que tenemos un proyecto
abierto que en principio cuenta con un formulario vacío.
Posteriormente, si los necesitamos podremos insertarle tantos
formularios al proyecto como queramos.




La ventana principal está formada además de por la barra de menús y la barra de
botones superiores, de un conjunto de ventanas con funciones diversas, cada una
de ellas es configurable en cuanto tamaño, o incluso se pueden ocultar para ganar
espacio para otras. Las principales son:

    Ventana del Proyecto: Es la ventana que va a contener el objeto activo
     del proyecto, en la imagen superior vemos que contiene el formulario
     vacío, que utilizaremos para el diseño gráfico. Pero cuando le queramos
     añadir código, la ventana de código también estará contenida aquí.
   Explorador de proyectos: Ventana superior derecha, nos permite
    visualizar los objetos que contiene el proyecto actual agrupados por
    categorías, en nuestro caso y por el momento solo hay un formulario
    colgando de la carpeta formularios. Además en la parte superior
    izquierda de esta ventana hay dos botones que nos permiten
    intercambiar la vista de diseño gráfico con la ventana de código en la
    ventana del proyecto. No obstante para pasar a la ventana de código
    bastaría con hacer doble click sobre cualquier control.
   Ventana de propiedades: Situada debajo de la anterior, contiene el
    conjunto de propiedades, con el valor actual correspondiente, de cada
    uno de los objetos. Es aquí donde podremos modificar los valores
    iniciales de esas propiedades, en lo que se conoce como tiempo de
    diseño.
   Ventana de posición del formulario: Situada debajo de la anterior,
    permite la colocación del formulario en la pantalla, representado la
    misma con una imagen a escala.
   Caja de herramientas: Situada a la izquierda, contiene los controles que
    podemos ir colocando en el formulario, para ello bastará con hacer
    doble click sobre uno de ellos, o pulsar sobre el control y "dibujarlo"
    sobre el formulario.



    1. Barra de titulo: muestra el nombre del proyecto y del formulario q se
       está diseñando actualmente
    2. Barra de menús: agrupa los menús despegables que contienes todas
       las operaciones que pueden llevarse a cabo con Visual Basic 6.0.
    3. Barra de herramientas estándar: contienen los botones que se
       utilizan con mayor frecuencia cuando se trabaja con un proyecto.
       Simplifica la elección de opciones de los menús Archivo, Edición, Ver
       y Ejecutar; además, en el área derecha presenta la ubicación
       (coordenadas) y el tamaño del objeto seleccionado
    4. Ventana de formulario: es el área donde se diseña la interfaz gráfica,
       es decir, es donde se inserta electo gráficos, como botones,
       imágenes, casilla de verificación, cuadros de listas, etc.
    5. Cuadro de herramientas: presenta todos los controles necesarios
       para diseñar una aplicación, como cuadros de texto, etiquetas,
       cuadros de listas, botones de comandos, etc.

    6. Ventana de proyecto: muestra los elementos involucrados en el
       proyecto, como formularios, módulos, controles oxc, etc. Cada
       elemento puede seleccionarse en forma independiente para su
       edición.

    7. Ventana de posición del formulario: muestra la ubicación que tendrá
       el formulario en la pantalla, cuando ejecute la aplicación. Esta
       ubicación puede cambiarse si se hace clic con el botón izquierdo
       del mouse.
8. La Ventana propiedades muestra todas las propiedades del control
   actualmente seleccionado, en este caso muestra las propiedades
   del Form1, luego podemos ver que abajo dice "Form1 Form", lo que
   está en negrita es el nombre del objeto, y lo que le sigue es el tipo de
   objeto, en este caso es un Formulario (Form)
          RECURSOS MÁS UTILIZADOS EN VISUAL BASIC

   Campo de tabla en forma gráfica
    Ejemplo en vb6 para cargar un recordset Ado en un Listview y poder
    visualizar una columna en forma gráfica.
   Columna con solo números
    Configurar una columna de un dataGridView para que solo se puedan
    ingresar valores de tipo numérico
   ExecuteScalar
    Consultar valores de una base de datos con el método ExecuteScalar
    del objeto Command de Ado.Net
   Guardar y eliminar
    Ejemplo en vb.net para crear , eliminar registros y guardar cambios
    realizados en un control DataGridView
   Formulario maestro detalle
    Crear un formulario Maestro detalle simple en vb.net y visualizar los datos
    en dos controles DataGridview
   Imagecombo
    vb.net : Cargar imágenes en un combo usando el evento DrawItem del
    ComboBox
   Alternar color de filas
    Usar el objeto AlternatingRowsDefaultCellStyle de un DataGridview para
    alternar los colores de filas de la grilla
   Buscar en DataGridView
    Simple función para buscar un registro o fila con el método Find en un
    BindingSource enlazado a un DataGridView
   Obtener Links
    vb.net - Obtener los links de una página web, usando un webbrowser y
    otro ejemplo mediante la clase system.Net para obtener la página y
    buscando los links con expresiones regulares con la clase RegEx
   Método Compute de un Dataset o DataTable
    Proyecto de ejemplo en Visual basic.net para calcular expresiones
    usando el método Compute en un conjunto de registros
   Filtrar DataGridView
    Rutina para filtrar los registros de un control BindingSource mediante la
    propiedad Filter y luego enlazarlo a un control DataGridview
   Cargar tabla de sql en un ListView
    Código de ejemplo en vb.net 2005 para cargar todas las tablas de una
    base de datos sql server en un combo y visualizar los registros en un
    control ListView





   Exportar a Excel usando macros
    código fuente con ejemplos en vb6 para exportar datos a Microsft Excel
   Obtener esquema de una tabla
    Como recuperar el esquema de una tabla de sql server en vb.net
    usando el método GetSchemaTable del objeto SqlDataReader
   Update de estructura de base de datos
    Código fuente en Vb6 , que usa Ado , Adox y Access 2000, para pasar la
    estructura de tablas desde una base de datos hacia otra bd. También
    un ejemplo para hacer Dump en Access
   Cargar Campo en ComboBox
    Ejemplo en Visual basic.net para cargar los datos de un campo de una
    tabla de sql server en un combo
   wmi
    Código en vb.net que usa wmi para obtenter datos del sistema, en este
    caso la temperatura del disco duro
   Excel - Formula
    Rutina para crear un libro de excel desde vb 6.0 , y sumar valores
    mediante la función SUM
   PrintForm
    Imprimir un formulario en Visual basic.net con el PrintForm component
   ComboBox Office xp
    Ejemplo para c# y vb.net que permite aplicarle apariencia de Office xp
    a los controles ComboBox
   Sumar DataGridView
    Simple ejemplo en visual basic.net para sumar los valores de una
    columna en un control DataGridview
   DataGridView desplegable
    Código fuente para desplegar un control DataGridView junto a un
    DropDownList ComboBox
   Función Max de sql
    Simple ejemplo para obtener el valor máximo de un campo numérico
    mediante la función Max de sql. Usa Microsoft Ado y Access
   Backup restore
    Ejemplo en vb 6.0 para crear copias y respaldos de bd sql server
    mediante la referencia a Microsoft SQLDMO Object library
Visual Basic es un programa que nos permite crear una interfaz grafica
   de una manera sencilla, con un método muy útil que nos permite
                        ahorrar mucho tiempo.
www.monografias.com
www.wikipedia.com
www.adrnformacion.com

								
To top