Vous êtes sur la page 1sur 16

CAPÍTULO 3

MARCO TEÓRICO

Este capítulo pretende dar una introducción a la programación, para ello se ha


comenzado con la definición de lenguaje de programación, continuando con una
reseña de la evolución y clasificación de los lenguajes de programación desde el
inicio hasta nuestros días.
Posteriormente se explica de manera sencilla en que consisten los lenguajes de
programación visuales, para continuar con una revisión de Visual Studio, además
de conceptos y terminología necesarios para programar en este lenguaje.
Finalmente se explica lo que es una base de datos, conceptos y terminología, para
comprender la importancia del uso de estas dentro de los sistemas de información.
3.1 Introducción a los lenguajes de programación
Con la idea de facilitar las tareas tediosas y cansadas de las personas, el hombre
ha venido inventado diversas herramientas a lo largo de nuestra historia, que nos
permiten tener una mejor calidad de vida. Las computadoras son uno más de los
inventos del hombre, aunque debemos decir que las tecnologías para su
fabricación y explotación han tenido un desarrollo sorprendente a partir de la
segunda mitad del siglo XX. Esta herramienta por sí sola no es capaz de efectuar
ninguna tarea, es tan sólo un conjunto de cables y circuitos que necesitan recibir
instrucciones por parte de los humanos para desempeñar alguna tarea.
El problema en si, se puede expresar en ¿cómo vamos a poder hacer que un
conjunto de circuitos desempeñen una determinada tarea y nos entreguen los
resultados que nosotros esperamos?, es decir, ¿de qué manera se puede lograr la
comunicación entre el hombre y la computadora?
Fue así como, tratando de dar una solución al problema planteado, surgieron los
lenguajes de programación, que son como un lenguaje cualquiera, pero
simplificado y con ciertas normas, para poder trasmitir nuestras ordenes a la
computadora.
Por otro lado, como se sabe, un conjunto de circuitos no entendería ningún
lenguaje que nosotros conozcamos, por más sencillo que éste parezca. Los
circuitos en todo caso, sólo reconocen presencia o ausencia de energía, es decir
que debemos hablarle a la máquina en su propio lenguaje (presencia y ausencia
de energía, 0 y 1), o nuestro lenguaje deberá de ser traducido a un lenguaje
binario cuyo alfabeto es el 0 y el 1, mediante las herramientas desarrolladas para
llevar a cabo esta tarea, las cuales reciben el nombre de traductores, y como
veremos más adelante, los hay de muchos tipos, dependiendo de características
más específicas del lenguaje a traducir y de la manera de llevar a cabo su
traducción. Como es de suponer, para crear un lenguaje de programación,
deberemos crear la herramienta que lo traduce, y es justamente de ellas, de las
que hablaremos a continuación, para describir como han ido evolucionando en los
últimos 60 años.
1.1.1 Los inicios
1946: Konrad Zuse, un ingeniero Alemán, mientras trabajaba en los Alpes de
Bavaria, desarrolló el lenguaje Plankalkul, el cual, fue aplicado entre otras cosas
para jugar al ajedrez.
1949: Aparece Short Code, que viene a ser el primer lenguaje que fue usado en un
dispositivo de cómputo electrónico, aunque se debe decir que se trata de un
lenguaje traducido a mano.
1951: Grace Hopper , trabajando para Remington Rand, comenzó el trabajo de
diseño del primer compilador conocido ampliamente, el A-0, el cual, al ser liberado
por la compañía en
1957, lo hizo con el nombre de MATH-MATIC.
1952: Alick E. Glennie, durante su tiempo libre en la Universidad de Manchester,
concibe un sistema de programación llamado AUTOCODE, que viene a ser un
compilador muy rudimentario.
1957: aparece FORTRAN (FORmula TRANslating) sistema traductor de fórmulas
matemáticas. Fue desarrollado por un equipo, al frente del cual se encontraba
John Backus quien después vendría a contribuir en el desarrollo del compilador
para el lenguaje ALGOL y de la notación usada para la especificación sintáctica de
los lenguajes, conocida como BNF (Backus Naur Form).
A partir de los años sesenta, empiezan a surgir diferentes lenguajes de
programación, atendiendo a diversos enfoques, características y propósitos.
1.1.2 Evolución de los lenguajes de programación
Tratando de resumir un poco, se presentan los siguientes cuadros evolutivos,
donde aparecen los lenguajes que por su uso y comercialización, han resultado
ser los más populares a lo largo de este medio siglo.

Figura 1.1 Evolución de los lenguajes imperativos y orientados a


objetos
Figura 1.2 Evolución de los lenguajes declarativos
3.2 Clasificación de los lenguajes de programación

Como ya lo citamos anteriormente y como se puede observar en las figuras 1.1 y


1.2, la existencia de tantos lenguajes obedece a que cada uno de ellos está
encaminado a resolver ciertas tareas, dentro de la amplia problemática de la
explotación de la información, o bien, a que su arquitectura, o su forma de llevar a
cabo la programación, tiene un enfoque particular.
3.2.1 Clasificación en base al estilo de programación.

De acuerdo con el estilo de programación, podemos clasificar los lenguajes en las


siguientes categorías:
1.2.1.1 Lenguajes imperativos
Son aquellos lenguajes, que basan su funcionamiento en un conjunto de
instrucciones secuénciales, las cuales, al ejecutarse, van alterando las regiones de
memoria donde residen todos los valores de las variables involucradas en el
problema que se plantea resolver. Es decir, se cambia progresivamente el estado
del sistema, hasta alcanzar la solución del problema. [b]
Como un ejemplo ilustrativo vamos a escribir un programa en un lenguaje de este
tipo para calcular el factorial de un número positivo x.

READ(x);
fac := 1 ;
for i = 1 to x
{
fac := fac * i ;
}
WRITELN(fac);

1.2.1.2 Lenguajes declarativos

En este paradigma, más que el ¿cómo? desarrollar paso a paso un proceso, nos
interesa el ¿qué? deseamos obtener a través del programa. Quizás el lenguaje
declarativo que nos sea más familiar, es SQL, el cual es utilizado para interactuar
con la información de bases de datos, concentrándose (como se podrá observar
en el siguiente ejemplo), sólo en los resultados que van a ser obtenidos, dejándole
al traductor la tarea de cómo llegar a ellos y presentárnoslos. [b]

SELECT * FROM alumnos WHERE sexo = "M" ORDER BY edad

1.2.1.3 Lenguajes funcionales

Son lenguajes basados en funciones, las cuales se representan mediante


expresiones, que nos permiten obtener ciertos resultados a partir de una serie de
argumentos. De hecho las expresiones están formadas por un conjunto de
términos, que a su vez pueden encapsular otras expresiones, para con la
evaluación de todas ellas, llegar a la solución deseada. Para describir la idea,
retomaremos el ejemplo del factorial escrito en el lenguaje funcional Haskell. [b]

fac :: Integer -> Integer


fac 0 = 1
fac x = x * fac (x-1)

3.2.1.4 Lenguajes Lógicos

Este tipo de lenguajes se basan en el cálculo de predicados, la cual es una teoría


matemática que permite entre otras cosas, lograr que una computadora
basándose en un conjunto de hechos y de reglas lógicas, pueda derivar en
soluciones inteligentes. El mismo ejemplo del factorial, se vería de la siguiente
manera, escrito en PROLOG.

factorial (0, 1)
factorial (X, Fac) :- Y is X-1, fac(Y, F2), Fac is F2 * X .
3.2.1.5 Lenguajes orientados a objetos

Este último paradigma, algunas veces se mezcla con alguno de los dos modelos
anteriores, sin embargo mantiene características propias, que lo diferencian
claramente. Los programas de este tipo, se concentran en los objetos que van a
manipular, y no en la lógica requerida para manipularlos. Ejemplos de objetos
pueden ser: estudiantes, coches, casas etc., cada uno de los cuales tendrá ciertas
funciones (métodos) y ciertos valores que los identifican, teniendo además, la
facultad de comunicarse entre ellos a través del paso de mensajes. Cabe
mencionar con más detalle los elementos fundamentales que deben de poseer
este tipo de lenguajes:

o Abstracción: Determinación de las características de los objetos,


que sirven para identificarlos y hacerlos diferentes a los demás.

o Encapsulamiento: Proceso que agrupa y almacena los elementos


que definen la estructura y el comportamiento de una abstracción, en
un mismo lugar.

o Modularidad: Es la propiedad de agrupar las abstracciones que


guardan cierta relación lógica, y a la vez minimizar la
interdependencia entre las diversas agrupaciones.

o Jerarquía: Consiste en establecer un orden o una clasificación de


las abstracciones.

Además de estos elementos fundamentales, también existen otros tres elementos


secundarios, que aunque son deseados, no son indispensables para clasificar un
lenguaje dentro de este estilo

o Tipificación: Mecanismo que intenta restringir el intercambio entre


abstracciones que poseen diversas características.
o Persistencia: Es la propiedad de un objeto a continuar existiendo a
través del
tiempo y/o del espacio.
o Concurrencia: Es la propiedad que distingue a los objetos activos,
de los que no lo están.

Programa Fuente Traductor Programa


Objeto
Escrito por el programador. Programa que logra el El que entiende
la máquina.
entendimiento.

Figura 1.3 Compilación de un programa

3.2.2 Clasificación en base al proceso de traducción y ejecución.

Ahora bien, si tomamos como referencia las herramientas usadas en el proceso de


traducción y ejecución de los programas, vamos a tener la siguiente clasificación
de lenguajes:

3.2.2.1 Lenguajes ensamblados

Se refiere al lenguaje ensamblador, que viene a ser una representación simbólica


de las instrucciones correspondientes al lenguaje ensamblador de alguna
arquitectura específica, con lo que, casi siempre, la correspondencia entre las
instrucciones de este lenguaje, y las del lenguaje máquina son de 1 a 1, si bien
existen algunas excepciones, que dan lugar a lo que se conoce como lenguajes
macro-ensambladores.

3.2.2.2 Lenguajes compilados

Son aquellos, que son traducidos de un lenguaje de alto nivel (como FORTRAN o
PASCAL) a lenguaje máquina o bien a lenguaje ensamblador, produciendo un
programa objeto permanente.

3.2.2.3 Lenguajes interpretados

Estos lenguajes, tienen la particularidad, de que no producen código objeto, sino


que cada instrucción es analizada y ejecutada a la vez, lo que ofrece mucha
interacción con los usuarios, pero a la vez resultan ineficientes, cuando se desea
ejecutar repetitivamente un programa.

3.2.2.4 Lenguajes preprocesados

Son lenguajes que son traducidos primeramente a un lenguaje intermedio de más


bajo nivel, para posteriormente volverlos a traducir y producir el programa objeto.
Éste tipo de lenguajes fueron creados, con la idea de proporcionar un lenguaje
mas potente que el lenguaje intermedio, mediante la implementación de algunas
macroinstrucciones.

3.2.2.5 Lenguajes de cuarta generación 4GL

Estos lenguajes se distinguen por formar parte de un entorno de desarrollo, que


comprende el manejador de una base de datos, y todo lo que de esto se deriva,
como la administración de un diccionario de datos, el control de accesos, el
manejo de la consistencia de la información y otras características enfocadas a
facilitar los programas de acceso y explotación de la información. Como ejemplos
podemos citar a los 4 grandes: PROGRESS, SYSBASE, INFORMIX, y ORACLE.

3.2.2.6 Lenguajes visuales

Se les llama de esta manera a los lenguajes que forman parte de una aplicación
dotada de una Interfase gráfica, la cual por medio de iconos y otras herramientas
visuales y simbólicas, pretenden facilitar las tareas rutinarias de los
programadores, como son el diseño y desarrollo de formularios e informes. Los
ejemplos más comerciales de estos lenguajes son: Visual Studio, Visual Java,
Visual Fox, etc.

3.2.2.7 Lenguajes de propósito específico

Son aquellos lenguajes desarrollados con la finalidad de resolver problemas de


una naturaleza muy determinada, tal como SPSS para problemas estadísticos,
MATLAB para cálculos científicos y de ingeniería, CAD/CAM para el diseño de
piezas y programación de máquinas de control numérico, como tornos y
fresadoras, GPSS para simulación de sistemas, CORBA para el manejo de
interfaces en ambientes cliente-servidor, etc.

3.3 Visual Studio

Visual Studio es una herramienta de programación desarrollada por la empresa


Microsoft que permite la creación de aplicaciones para ser utilizadas en el entorno
grafico de Windows, en cualquiera de sus versiones. Visual Studio integra un
grupo de programas, llamado Visual Studio. El grupo esta integrado por los
siguientes programas de desarrollo de aplicaciones: Visual Studio, Visual C++,
Visual FoxPro, Visual InterDev y finalmente Visual J++.
Los proyectos o aplicaciones que se crean con Visual Studio son ejecutables en
sistemas operativos de 32 bits, tal como lo son Windows 95, 98, NT, 2000, ME y
XP. Con Visual Studio es posible crear programas que manejen información de
una base de datos. Los formatos de
bases de datos que puede utilizar son: Access, FoxPro, Dbase y Paradox. Si se
posee conocimientos de alguna de estas bases de datos y dispone de archivos
creados con las mismas, puede realizar un programa con Visual Studio para que
gestione la información almacenada en esas bases de datos.

Es conveniente saber que significa en nombre Visual Studio: la palabra Visual


hace referencia a la característica principal del método que se utiliza para crear la
interfaz de usuario (GUI Graphic User Interfaz). Esta calidad de visual simplifica la
tarea, puesto que no hace falta escribir numerosas líneas de código para describir
la apariencia y la ubicación de los elementos de la interfaz, simplemente pueden
agregarse objetos prediseñados en su lugar dentro de la pantalla.

La palabra Studio hace referencia al lenguaje Studio, en informática, acrónimo de


Beginners All-purpose Symbolic Instruction Code (Código de Instrucciones
Simbólicas de Uso General para Principiantes). Se trata de un lenguaje de
programación de alto nivel desarrollado por los estadounidenses John Kemeny y
Thomas Kurtz en el Dartmouth College a mediados de la década de 1960. Otras
importantes implementaciones han sido C# (Studio Compilado), Integer y
Applesoft Studio (para el Apple II), GW- Studio (para computadoras personales),
Turbo Studio (de Borland) y Microsoft Quick Studio. El lenguaje ha cambiado en el
transcurso de los años. Las primeras versiones eran interpretadas y no
estructuradas. Las últimas son estructuradas y, a menudo, compiladas. Studio
suele enseñarse a los programadores principiantes porque es fácil de utilizar y de
comprender, y además porque contiene los mismos conceptos fundamentales que
muchos otros lenguajes considerados mas difíciles, como Pascal y C.
Visual Studio ha evolucionado a partir del lenguaje Studio original y contiene ahora
centenares de instrucciones, funciones y palabras clave, muchas de las cuales
están directamente relacionadas con la interfaz gráfica de Windows. Los
programas o aplicaciones de 32 bits son mas veloces porque aprovechan el
manejo de memoria de Windows, que es un sistema operativo de 32 bits, de este
modo aprovechan el espacio de direcciones largas, ofreciendo una notable
facilidad de manejo en un entorno multitarea. En consecuencia,
cuando se programa en Visual Studio se estará creando una aplicación de 32 bits
y mucho más rápido que las creadas con otros lenguajes de programación.

3.3.1 Ventajas de las aplicaciones creadas con Visual Studio

Las aplicaciones creadas con Visual Studio que se ejecutan en Windows ofrecen
las siguientes ventajas:
• Aprovechamiento máximo de los procesadores Pentium
• Cada aplicación Visual Studio se ejecuta en su propia área de memoria,
impidiendo de esta forma que un error provocado por otros programas interfiera
en ella.
• Mejor manejo de las opciones multitarea, permitiendo al usuario pasar de una
aplicación a otra con mayor facilidad y mayor confiabilidad de la información.
• Las aplicaciones creadas para administrar bases de datos pueden utilizar los
datos con los formatos más conocidos (Access, Paradox, SQL Server, etc.)
• Utiliza la tecnología ActiveX para crear funciones para otras aplicaciones y, con
la versión profesional, se pueden crear programas para ser ejecutados desde
un explorador de Internet.
• Las capacidades de Internet facilitan el proceso a documentos y aplicaciones a
través de Internet desde su propia aplicación, o la creación de aplicaciones de
servidor para Internet.
3.3.2 Ventajas de programar con Visual Studio
El entorno grafico de Windows contiene tres elementos principales: las ventanas,
los eventos y los mensajes. Cuando se crea una aplicación para Windows se debe
tener presente que en un entorno gráfico los programas siempre responden a
eventos. Por ejemplo, si oprime una tecla determinada ocurre “algo” o cuando da
doble clic con el mouse
sobre un objeto pasa “algo diferente”, estos son eventos a los que debe estar
preparada una aplicación creada con Visual Studio.

En las aplicaciones tradicionales o por procedimientos, la aplicación es la que


controla que partes de código y en que secuencia se ejecutan. La ejecución
comienza con la primera línea de código y continúa con una ruta definida a través
de la aplicación, llamando a los procedimientos según se necesiten.

En una aplicación controlada por eventos, el código no sigue una ruta


predeterminada, ejecuta distintas secciones de código como respuesta a los
eventos. Los eventos pueden desencadenarse por acciones del usuario, por
mensajes del sistema o de otras aplicaciones, o incluso por la propia aplicación
Visual Studio. La secuencia de esos eventos determina la secuencia en la que se
ejecuta el código, por lo que la ruta a través del código de la aplicación es
diferente cada vez que se ejecuta el programa.

El código también puede desencadenar eventos durante su ejecución. Por


ejemplo, cambiar mediante programación el formato de texto hace que se
produzca el evento y se ejecuten los comandos correspondientes.

Otra ventaja es que Visual Studio utiliza una aproximación interactiva para el
desarrollo. En la mayoría de los lenguajes, si se comete un error al escribir el
código, el compilador intercepta este error cuando comienza a compilar la
aplicación. Debe encontrar y corregir el error y comenzar de nuevo con el ciclo de
compilación, repitiendo el procedimiento para cada error encontrado. Visual Studio
interpreta el código a medida que lo escribe, interceptando y resaltando la mayoría
de los errores de sintaxis en el momento. Además, para interceptar errores sobre
la marcha, visual Studio también compila parcialmente el código según se escribe.
Cuando este preparado para ejecutar y probar la aplicación, tardara poco tiempo
en terminar la compilación. Si el compilador encuentra un error, quedara resaltado
el código. Puede corregir el error y seguir compilando sin tener que comenzar de
nuevo.

3.4 Conceptos y metodología para programar en Visual Studio

Visual Studio puede trabajar de dos modos distintos en modo de diseño y modo de
ejecución. En modo de diseño el usuario construye interactivamente la aplicación
colocando controles en el formulario, definiendo sus propiedades y desarrollando
funciones para gestionar los eventos.

La aplicación se prueba en modo de ejecución. En ese caso el usuario actúa sobre


el programa (introduce eventos) y prueba como responde el programa. Hay
algunas propiedades de los controles que deben establecerse en modo de diseño,
pero muchas otras pueden cambiarse en tiempo de ejecución desde el programa
escrito. También hay propiedades que sólo pueden establecerse en modo de
ejecución y que no son visibles en modo de diseño.

Cada uno de los elementos gráficos que puede formar parte de una aplicación
típica de Windows es un tipo de control: los botones, las cajas de dialogo y texto,
las listas de selección desplegables, los botones de opción y selección, las barras
de desplazamiento, los gráficos, los menús y muchos otros tipos de elementos son
controles para Visual Studio, cada control debe tener un nombre a través de cual
se puede hacer referencia a él en el programa, Visual Studio proporciona nombres
por defecto a los controles que el usuario puede modificar.

En Visual Studio se llama formulario a una ventana, un formulario puede ser


considerado como una especie de contenedor para los controles. Una aplicación
puede tener varios formularios pero un único formulario puede ser suficiente para
las aplicaciones más sencillas.

A continuación se explicaran los conceptos básicos y terminología que debe


comprenderse para la creación de programas o proyectos en Visual Studio, se
describirán conceptos acerca de procedimientos, palabras clave o reservadas,
funciones, etc. Todos ellos necesarios para el desarrollo e implementación de
programas en Visual Studio.

Vous aimerez peut-être aussi