En el inicio de la historia de la informática es difícil determinar un punto de inicio, en cuanto a todos los descubrimientos que trajeron como consecuencia la construcción de los primeros ordenadores, y las herramientas utilizadas para realizar cálculos y poder procesar información. Por ejemplo el hombre primitivo usó piedrecillas para representar números y hacer sumas sencillas, luego de eso, después de generaciones apareció el Abaco. El Ábaco Se considera como el instrumento más antiguo del cálculo, su nombre se deriva del origen griego abax o abakon, que significa "superficie plana" o "tabla". El ábaco fue utilizado por diversas culturas y con el tiempo fue remplazado por otras formas para hacer cálculos, como en los Romanos, los cuales utilizaban mesas de Abaco y con el tiempo la remplazaron por métodos más modernos. Conforme los numerales indo-arábigos aparecieron en Europa el uso de la mesa de ábaco desapareció por completo, cuando los soldados de Napoleón invadieron Rusia en 1812, trajeron ábacos como trofeos o recuerdos del país. Las evidencias de este instrumento se encontraron en épocas antiguas de los griegos por las excavaciones arqueológicas. El abaco paso de ser de un uso extrardinario a algo común durante la dinastía (mongol) Yuan la técnica de uso paso a ser un sistema algorítmico completo
HISTORIA DE LA INFORMÁTICA
LA CALCULADORA
Jhon Neper es conocido por la creación de los logaritmos origen a la regla de cálculo, lugo de esto se ceo la calculadora la mecánica es una especie de ábaco, pero con ruedas dentadas en lugar de varillas y bolas, dotada de un mecanismo para el transporte de las unidades que se lleven, de una posición digital a la siguiente más significativa. Pascal diseñó una calculadora "machina arithmetica", para su padre, posteriormente Leonardo Da Vinci diseñó una sumadora que fue reconstruida en 1967 a partir de uno de sus códices y el historiador Franz Hammer, revisando la correspondencia del astrónomo Johannes Kepler descubrió que el alemán Whilem Schickard había inventado una calculadora que era una combinación de los rodillos de Neper con una sumadora-restadora similar a la de Pascal. El primero el diseñar la calculadora fue el filósofo y matemático Gottfried Leibniz, fue denominada calculadora universal, luego el estadounidense Frank Baldwin (1838-1925) construyó una calculadora a la que años más tarde le añadió la denominada rueda Odhner
CÁLCULO MATEMÁTICO
El matemático inglés Charles Babbage confirmó y rectificó que las tablas trigonométricas estaban plagadas de errores al haber sido calculadas a mano, realizó la denominada máquina de diferencias, un instrumento mecánico para calcular e imprimir tablas de funciones. lluego de esto Babbage desarrolló el proyecto de la máquina analítica. Se trataba de un ordenador mecánico de propósito general, preparado para realizar cualquier tipo de cálculo mediante un programa adecuado. Una amiga y colaboradora, la señorita , condesa de Lovelace, publicó una serie de programas para resolver ecuaciones trascendentes e integrales definidas, con la máquina analítica.
Los que introdujo la aritmética de punto flotante, eran máquinas de cálculo matemático sobre la base de relés, y dotadas de memoria, que se gobernaban a distancia mediante una máquina de escribir, la cual servía para entrar operandos, operaciones y para obtener los resultados. Asimismo realizó estudios sobre los hoy denominados robots, y sus aplicaciones en la industria, por lo cual no sólo es considerado un precursor de la informática sino también de la cibernética; como ejemplo práctico construyó una máquina de jugar al ajedrez, un autómata capaz de dar mate de rey y torre contra rey y que reaccionaba ante las jugadas irreglamentarias del contrario.
GENERACIÓN DE LOS ORDENADORES
PRIMERA GNERACIÓN
Los primeros ordenadores fueron electromecánicos, el primer ordenador fue desarrollado en 1941, el Z3 del alemán Konrad Zuse , Pesaba cinco toneladas y tenía más de 750000 piezas y 800 km de cable
La sustitución de los relés por tubos de vacío dio lugar a la Primera Generación de ordenadores electrónicos. El primero fue fabricado en 1945, se usó en el cálculo de trayectorias de proyectiles.
Acabada la guerra se utilizó para calcular el número pi con unos 2000 decimales, y para hacer los primeros diseños de la bomba de hidrógeno. Tenía 18000 tubos y pesaba 30000 kg. Era 300 veces más rápido que el. Sin embargo sólo tenía 20 registros de memoria, de 10 dígitos; estaba pues muy lejos de cualquier ordenador personal.
Echerk y Mauchly crearon la Electronic Control Co, que en 1950 fue adquirida por la Remington-Rand, allí diseñaron el primer ordenador electrónico de gestión, el UNIVAC (UNIversal Automatic Computer). El aparato tuvo gran éxito y copó el mercado, que hasta entonces había sido feudo de IBM
En 1945 mientras se construía el ENIAC, se incorporó alequipo el prestigioso matemático húngaro Johannes Von Neumann (1903-1957), quien propuso que los programas se almacenasen en la memoria como si fuesen datos, y no en una memoria especial, como se hacía desde el diseño de Babbage, equipo que se iba a llamar EDVAC. Los informes fueron tan precisos que otros se adelantaron y así el primer ordenador tipo Von Neumann fue el EDSAC (Electronic Delay Storage Automatic Calculator) construido el año 1949 por Maurice Wilkes (1913-2010) en la Universidad de Cambridge. De esta generación sólo llegó uno a España, un IBM 650, contratado por RENFE en 1958.
SEGUNA GENERACIÓN
Los primeros ordenadores transistorizados fueron dos pequeños modelos de NCR y RCA. Los primeros de IBM y Sperry Rand fueron el IBM 7070 (1960) y el UNIVAC 1107 (1962), respectivamente. Bull comercializó los Gamma 30 y 60. Durante esta época se introdujeron las unidades de cinta y discos magnéticos, y las lectoras de tarjetas perforadas e impresoras de alta velocidad. Así mismo aparecieron algunos lenguajes de programación,COBOL (1959), Algol (1960), el LISP(1962) y FORTRAN que fue creado en 1954 para IBM, por John Backus (1924-2007).
El segundo ordenador instalado en España, y primero de la segunda generación llegó en 1959, era un UNIVAC UCT, contratado por la antigua Junta de Energía Nuclear, actualmente CIEMAT. La era de la informática llegó realmente a nuestro país en 1961, en la Feria de Muestras de Barcelona, se presentó un IBM 1401.
Los primeros se instalaron en 1962, Sevillana de Electricidad (empresa del grupo ENDESA), Galerías Preciados (Actualmente propiedad de El Corte Inglés S.A.) yMinisterio de Hacienda. En 1967 IBM donó a la Universidad Complutense de Madrid un ordenador científico, modelo 7094
TERCERA GENERACIÓN
La principal característica de esta generación fue el uso del circuito integrado, que se incorporó a mediados de los años 1960. Destaca la familia IBM 360 en cuyo desarrollo invirtió 5000 millones de dólares de aquella época (1964) y sobre todo la IBM 370 (1970), el producto más famoso de esta generación. Sperry Rand, en 1965 introdujo la famosa serie 1100.
Durante esta época surgieron la multiprogramación y el tiempo compartido. También tuvo lugar la denominada "crisis del software" Se intentó la creación de lenguajes universales, el PL/1 (1964) y se estandarizaron los lenguajes más utilizados: Fortran (1966), Algol (1968) y el COBOL (1970). También datan de esta generación el BASIC (1964) y el Pascal (1971).
En España durante el trienio 1964-67 las tabuladoras fueron sustituidas masivamente por ordenadores, y prácticamente desaparecieron al entrar en la década de los 70. En 1970 el parque de ordenadores e distribuía así: Madrid 50%, Barcelona 34% y el resto lo tenían los grandes bancos del norte y algunas cajas de ahorros.
Los miniordenadores surgieron a finales de los 60, como elemento de transición entre las generaciones tercera y cuarta, con los circuitos integrados de media escala (MSI). Sus destinatarios fueron grandes y medianas empresas. Disponían de varias terminales y se organizaban en redes. Destaca la familia PDP 11 de la desparecida Digital Equipment Corporation.
CUARTA GENERACIÓN
El elemento que provocó el nacimiento de esta generación se considera habitualmente, aunque con cierta controversia, el microprocesador Intel 4004, desarrollado por Intel en 1971. El primer ordenador personal en EE.UU. fue el Altair 8800 (1974) diseñado por David Roberts en la desaparecida empresa MITS. Microsoft tuvo el acierto de construir un intérprete BASIC para él, MITS sobrevivió un par de años, pero Microsoft inició un despegue imparable, dando un gran salto al facilitar a IBM el sistema operativo MS-DOS para el PC, que a su vez lo adquirió a otra empresa. Las imágenes siguientes muestran microprocesadores bajo distintas escalas de ampliación.
En 1971 apareció el PET 2001 de Commodore, empresa absorbida por la holandesa Tulip muy conocida por su marca Conceptronics (y vuelta a vender en 2005 a Yeahronimo Media Ventures que quebró) y actualmente propiedad de Commodore Holdings Corporation, el TRS 80 de Radio Shack y el Apple II, fabricado en un garaje por dos jóvenes norteamericanos: Steven Jobs (1955-) y Stephen Wozniak (1950-). A partir de 1980 se produce una eclosión de marcas. Destaca el Sinclair ZX80, precedente del ZX81 y del Spectrum, fabricante absorbido por Amstrad, que consiguió gran éxito vendiendo productos de muy baja calidad fabricados en Corea. Amstrad, como es lógico, abandonó la informática, aunque sigue con equipos musicales y antenas de televisión, de muy baja calidad. En Agosto de 1981 se presentó el IBM PC, que dio lugar a la difusión masiva de la informática personal.
QUINTA GENERACIÓN
En octubre de 1981 el mundo de los ordenadores se vio sacudido por el anuncio hecho en Japón, de una iniciativa de investigación y desarrollo orientado a producir una nueva generación de ordenadores en la primera década de los años de los 90, a los que se les dio el nombre de ordenadores de quinta generación. Los ordenadores de esta generación deberían de ser capaces de resolver problemas muy complicados, algunos de los cuales requieren toda la experiencia, capacidad de razonamiento e inteligencia de las personas para ser resueltos. Deberían de ser capaces de trabajar con grandes subconjuntos de los lenguajes naturales y estar asentados en grandes bases de conocimientos. A pesar de su complejidad los ordenadores de esta generación se están diseñando para ser manejados por personas no expertas en informática.
Para conseguir estos fines tan ambiciosos estos equipos no tendrán un único procesador, sino un gran número agrupado en tres subsistemas fundamentales: un sistema inteligente, un mecanismo de inferencia y una interfaz de usuario inteligente. Los avances se sitúan en materia de teleinformática, y una progresiva disminución de tamaño y coste del equipo, así como de técnicas de programación y desarrollo de inteligencia artificial, y de control de procesos (robotización).
INTRODUCCIÓN A LA INFORMÁTICA
TÉRMINOS BÁSICOS
SubtPresencia de la Computación en nuestra vida diaria opic
Cajeros automáticos, teleconsultas, tarjetas inteligentes, correo electrónico, videófono, fax, carros con cerebros, microondas, neveras, etc.
Hadware
equipos y aparatos de computación.
Software
programas y archivos usados por el Hardware
Programa
serie de instrucciones para el computador.
Campo
unidad básica de información de un archivo.
Registro
conjunto específico de campos.
Archivo
conjunto ordenado de registros.
Computador
aparato electrónico capaz de interpretar y ejecutar comandos programados para operaciones de entrada, salida, cálculo y lógica.
Mirocomputador
computador de escritorio.
Minicomputador
computador mediano (servidor)
Macrocomputaor
computador grande (servidor, mainframe)
Usuario
cualquier persona que
obtenga beneficio de los computadores.
ARQUITECTURA BÁSICA DE UN COMPUTADOR
Medición de capacidad de almacenamiento
BIT
unidad de información más pequeña que maneja el PC. Tiene dos valores: 0 ó 1. Viene del inglés Binary digIT.
Byte
unidad básica de información que maneja el PC. Está formado
por ocho (8) bits.
o Kilobyte (Kb) 1.024 bytes
o Megabyte (Mb) 1.024.000 bytes
o Gigabyte (Gb) 1.024.000.000 bytes
o Terabyte (Tb) 1.024.000.000.000 bytes
Descripción de Interfases y Periféricos
Monitor
permiten la comunicación del PC con el exterior a través de
una pantalla. Se pueden clasificar por:
o Color
o Resolución
o Tamaño
Teclado
permite que el usuario se
comunique con el computador,
introduciendo signos.
Unidad de almacenamiento
permiten almacenar datos y/o
programas de manera permanente.
Ejemplo: Discos Duros, Discos
Flexibles, CD-ROM, Pen Drive, Cintas.
Impresora
permiten sacar copias en papel. Se pueden clasificar en:
o Matriciales o de Punto
o de Inyección de Tinta o Burbuja
o Láser
Scanner
permite transformar figuras,
contornos y texto
en información digital
Mouse
permite movilización
rápida del cursor
Modem
permite comunicación vía
telefónica entre computadores
Plotter
permite elaborar planos, gráficos, mapas.
Software más usado
• Sistemas Operativos (Windows, Unix, Linux)
• Procesadores de Palabras (Word)
• Hojas de Cálculo (Excel)
• Presentadores (Power Point)
• Base de Datos (Access, SQL)
• Browsers u Hojeadores (IE, Firefox, Avant, Netscape)
• Correo electrónico (Eudora, MS Outlook)
• Para planificación de Proyectos (Project, Primavera)
Organización interna de un pc
Memoria o almacenamiento
Principal: guarda la información de manera temporal. Trabaja con tarjetas SIMM. Se conoce como Memoria RAM (Random Access Memory).
Secundaria: permite el almacenamiento permanente de la información. Circuitos ROM (Read Only Memory) en el BIOS; Discos Duros, Discos Flexibles, CD-ROM, cintas, Pen Drives, etc.
Unidad Central de Procesamiento (CPU)
o Genera todas las actividades del computador.
o Reside en la Tarjeta Madre (Mother Board)
Interfases
permiten la entrada y salida de datos desde y hacia el computador.
PROGRAMACIÓN Y ALGORITMOS
QUE ES PROGRAMACIÓN
Se llama programación a la creación de un programa de computadora, un conjunto concreto de instrucciones que una computadora puede ejecutar. El programa se escribe en un lenguaje de programación, aunque también se pueda escribir directamente en lenguaje de máquina, con cierta dificultad. Un programa se puede dividir en diversas partes, que pueden estar escritas en lenguajes distintos.
TIPOS DE
PROGAMACIÓN
Programación no estructurada
(también conocida como
“Programación en Espagueti”).
Programación impeativa
describe la programación como una
secuencia instrucciones o comandos que cambian el estado de un programa. El código máquina en general está basado en el paradigma imperativo. Su contrario es la Programación Declarativa. En este paradigma se incluye el paradigma procedimental (procedural) entre otros
Programación declarativa
No se basa en el cómo se hace algo
(cómo se logra un objetivo paso a paso), sino que describe (declara) cómo es algo. En otras palabras, se enfoca en describir las propiedades de la solución buscada, dejando indeterminado el algoritmo (conjunto de instrucciones) usado para encontrar esa solución. Es más complicado de implementar que el paradigma imperativo, tiene desventajas en la eficiencia, pero ventajas en la solución de determinados problemas.
Programación funcional
es un paradigma de programación
declarativa basado en la utilización de funciones matemáticas.
Programación modular
los programas se desarrollan en módulos
independientes, que serán llamados en el programa principal.
Programación estructurada
es una forma de escribir programación
de forma clara, para ello utiliza únicamente tres estructuras: secuencial, selectiva e iterativa; siendo innecesario y no permitiéndose el uso de la instrucción o instrucciones de transferencia incondicional (GOTO). El principal inconveniente de este método de programación, es que se obtiene un único bloque de programa, que cuando se hace demasiado grande puede resultar problemático su
manejo, esto se resuelve empleando la programación modular,
definiendo módulos interdependientes programados y compilados por separado, cada uno de los cuales ha podido ser desarrollado con programación estructurada.
Programación por eventos
es un paradigma de programación en el
que tanto la estructura como la ejecución de los programas van determinados por los sucesos que ocurran en el sistema o que ellos mismos provoquen.
Programación secuencial
se establece una secuencia definida de
instrucciones u órdenes a ser seguidas por el computador, una vez que se ejecute el programa.
Programación por capas
es un estilo de programación en la que el
objetivo primordial es la separación de la lógica de negocios de la lógica de diseño, un ejemplo básico de esto es separar la capa de datos de la capa de presentación al usuario. La ventaja principal de este estilo, es que el desarrollo se puede llevar a cabo en varios niveles y en caso de algún cambio sólo se ataca al nivel requerido sin tener que revisar entre código mezclado.
Programación extrema
o eXtreme Programming (XP) es una
aproximación a la ingeniería de software formulada por Kent Beck.
Programación orientada
a objetos
está basado en la idea de
encapsular estado y operaciones en objetos. En general, la programación se resuelve comunicando dichos objetos a través de
mensajes (programación orientada a mensajes). Se puede incluir - aunque no formalmente- dentro de este paradigma, el paradigma basado en objetos, que además posee herencia y subtipos entre objetos. Ej.: Simula, Smalltalk, C++, Java, Visual Basic .NET, etc. Su principal ventaja es la reutilización de códigos y su facilidad para pensar soluciones a determinados problemas.
QUE ES UN ALGOITMO
Un algoritmo es una secuencia no ambigua, finita y ordenada de
instrucciones que han de seguirse para resolver un problema. Un programa
normalmente implementa (traduce a un lenguaje de programación concreto) un algoritmo. Puede haber programas que no se ajusten a un algoritmo (pueden no terminar nunca), en cuyo caso se denomina procedimiento a tal programa.
TIPOS
ALGORITMOS
No Computacionales
Los Algoritmos no computacionales , no requieren de procesos de un computador y existen pasos exclusivos para la resolución por parte del humano
Cualitativos
Los algoritmos cualitativos son secuencias lógicas y/o formales donde la resolución no intervienen cálculos numéricos
Computacionales
Los Algoritmos computacionales, los cuales se desarrollan en computadoras o calculadora y su resolución depende del cálculo
Cuantitativos
Algoritmos cuantitativos donde la resolución depende directamente de los cálculos matemáticos
De vuelta a atrás
Son algoritmos que han sido revocados al observar su comportamiento. Típicamente son aproximaciones del algoritmo original que son construidos para propósitos como competición o estudios.
Marcaje
Este algoritmo utiliza la automatización para fijar los precios de forma dinámica, basándose en factores como el comportamiento del cliente.
LENGUAJES DE PROGRAMACIÓN
Gráficos:
Es la representación gráfica de las operaciones que realiza un algoritmo (diagrama de flujo).
No Gráficos
Representa en forma descriptiva las operaciones que debe realizar un algoritmo (pseudocódigo)
PARTES
Entrada de los datos
Representa el hecho de permitir la introducción de datos por parte del problema hacia el algoritmo
Procesado de los datos
Representa el hecho de permitir realizar distintas operaciones o acciones para obtener la solución del problema
Salida de los resultados
Representa el hecho de permitir la salida de los resultados obtenidos, producto de la ejecución del algoritmo
DATOS
Numéricos
Reales
El tipo float permite representar números reales.
El nombre float viene del término punto flotante, que es la manera en que el computador representa internamente los números reales.
Enteros
Caracteres
Son aquel tipo de datos que una computadora es capaz de
reconocer. Es decir, es un conjunto ordenado y f nito en el que
la computadora tiene asociado un valor o expresión para 46 reconocerlo.
Lógicos
El tipo de dato lógico o booleano es en computación aquel que puede representar valores de lógica binaria, esto es 2 valores, que normalmente representan falso o verdadero. Se utiliza normalmente en la programación, estadística, electrónica, matemáticas (álgebra booleana) y otras
IDENTIFICADORES
Son aquellos nombres que pueden recibir tanto las variables como las constantes, dependiendo del contexto del algoritmo
Reglas para la creación
Contiene tanto números como letras
Siempre deben comenzar con una letra
No deben contener espacios en blanco
No deberán contener caracteres especiales, excepto "_"
El nombre a asignarse debe ser significativo
EXPRESIONES
En programación, una expresión es una combinación de constantes, variables o funciones, que es interpretada de acuerdo a las normas particulares de precedencia y asociación para un lenguaje de programación en particular. Cada expresión toma un valor que se determina tomando los valores de las variables y constantes implicadas y la ejecución de las operaciones indicadas. Como en matemáticas, la expresión es su valor evaluado, es decir, la expresión es una representación de ese valor.
OPERADORES
Denominamos como operadores aquellos elementos que se
relacionan de una forma distinta, es decir son aquellos
elementos que toman a los operandos y nos permiten construir una expresión u operación así como manipularla
Operadores aritméticos
aquellos operadores
que nos permiten efectuar o realizar operaciones matemáticas con v alores (Constantes o variables). Estos pueden ser utilizados mediante datos de tipo numérico como los enteros o reales.
OPERANDOS
el operando es una expresión en la cual el operador
puede actuar sobre ella, con el objetiv o de obtener algún
resultado deriv ado de sí misma.
VARIABLES
Las variables son espacios reservados en la memoria que, como su nombre indica, pueden cambiar de contenido a lo largo de la ejecución de un programa. Una variable corresponde a un área reservada en la memoria principal del ordenador.
Clasificación
Por su contenido
Variables Numéricas: Son aquellas en las cuales se almacenan valores numéricos, positivos o negativos, es decir almacenan números del 0 al 9, signos (+ y -) y el punto decimal.
Variables Lógicas: Son aquellas que solo pueden tener dos valores (cierto o falso) estos representan el resultado de una comparación entre otros datos.
Variables Alfanuméricas: Esta formada por caracteres alfanuméricos (letras, números y caracteres especiales).
Por su uso
Variables de Trabajo: Variables que reciben el resultado de una operación matemática completa y que se usan normalmente dentro de un programa.
Contadores: Se utilizan para llevar el control del numero de ocasiones en que se realiza una operación o se cumple una condición. Con los incrementos generalmente de uno en uno.
Acumuladores: Forma que toma una variable y que sirve para llevar la suma acumulativa de una serie de valores que se van leyendo o calculando progresivamente.
Estructuras algorítmicas
Son un grupo de formas de trabajo que permiten, mediante la manipulación de variables, realizar ciertos procesos específicos que nos lleven a la solución de problemas.
Tipos
Secuenciales
Asignación
Entrada
Salida
Condicionales
Simples
Multiples
Cíclicas
Hacer para
Hacer mientras
Repetir hasta
QUE S UN LENGUAJE DE PROGRAMACIÓN
Un lenguaje de programación es una técnica estándar de comunicación que permite expresar las instrucciones que han de ser ejecutadas en una computadora. Consiste en un conjunto de reglas sintácticas y semánticas que definen un lenguaje informático.
GENERALIDADES
Aunque muchas veces se usa lenguaje de programación y lenguaje
informático como si fuesen sinónimos, no tiene por qué ser así, ya que los
lenguajes informáticos engloban a los lenguajes de programación y a otros más, como, por ejemplo, el HTML.
Un lenguaje de programación permite a un programador especificar de
manera precisa: sobre qué datos una computadora debe operar, cómo
deben ser estos almacenados y transmitidos y qué acciones debe tomar bajo una variada gama de circunstancias. Todo esto, a través de un lenguaje que intenta estar relativamente próximo al lenguaje humano o natural, tal como sucede con el lenguaje Lexico.
Un programa escrito en un lenguaje de programación necesita pasar por un
proceso de compilación, es decir, ser traducido al lenguaje de máquina, o ser
interpretado para que pueda ser ejecutado por el ordenador. También existen lenguajes de scripting que son ejecutados a través de un intérprete y no necesitan compilación.
Hay distintos lenguajes que nos permiten dar instrucciones a un ordenador.
El más directo es el propio del ordenador, llamado "lenguaje de máquina" o "código máquina", formado por secuencias de ceros y unos.
Este lenguaje es muy poco intuitivo para nosotros, y difícil de usar. Por ello
se recurre a otros lenguajes más avanzados, más cercanos al propio lenguaje humano (lenguajes de alto nivel), y es entonces el mismo ordenador el que se encarga de convertirlo a algo que pueda manejar directamente
Se puede distinguir dos tipos de lenguajes, según se realice esta conversión: o En los intérpretes, cada instrucción que contiene el programa se va convirtiendo a código máquina antes de ejecutarla, lo que hace que sean más lentos. o En los compiladores, se convierte todo el programa en bloque a código máquina y después se ejecuta. Así, hay que esperar más que en un intérprete para comenzar a ver trabajar el programa, pero después éste funciona mucho más rápido.
COMPILACIÓN
Un programa podría tener partes escritas en varios lenguajes (generalmente
C, C++ y Asm), que se podrían compilar de forma independiente y enlazar juntas para formar un único ejecutable.
La mayoría de los lenguajes actuales son compiladores, y suelen incluir:
o Un editor para escribir o revisar los programas.
o El compilador propiamente dicho, que los convierte a código máquina.
o Otros módulos auxiliares, como enlazadores (linkers) para unir distintos subprogramas, y depuradores (debuggers) para ayudar a descubrir errores.
Estos dos pasos se pueden mandar hacer por separado, almacenando el resultado de la fase de compilación en archivos objetos (un típico .obj para. Microsoft Windows, .o para Unix), para enlazarlos posteriormente, o crear directamente el ejecutable con lo que la fase de compilación se almacena sólo temporalmente.
El código fuente del programa se debe someter a un proceso de transformación para convertirse en lenguaje máquina, interpretable por el
procesador. A este proceso se le llama compilación.
El programa escrito en un lenguaje de programación (comprensible por el ser
humano, aunque se suelen corresponder con lenguajes formales descritos
por gramáticas independientes del contexto) no es inmediatamente ejecutado en una computadora. La opción más común es compilar el programa, aunque también puede ser ejecutado mediante un intérprete informático.
Normalmente la creación de un programa ejecutable (un típico .exe para
Microsoft Windows) conlleva dos pasos. El primer paso se llama compilación (propiamente dicho) y traduce el código fuente escrito en un lenguaje de programación almacenado en un archivo a código en bajo nivel, (normalmente en código objeto no directamente al lenguaje máquina). El segundo paso se llama enlazado (del inglés link o linker) se junta el código
de bajo nivel generado de todos los ficheros que se han mandado compilar y se añade el código de las funciones que hay el las bibliotecas del compilador para que el ejecutable pueda comunicarse con el sistemas operativo y traduce el código objeto a código máquina.
OBJTIVOS
CORRECCIÓN
Un programa es correcto si hace lo que debe hacer. Para
determinar si un programa hace lo que debe es muy importante especificar claramente qué debe hacer el programa antes de desarrollarlo y una vez acabado compararlo con lo que realmente hace.
CLARIDAD
Es muy importante que el programa sea lo más claro y legible posible para mejorar el mantenimiento del software. Cuando se acaba de
escribir el código del programa, se deben buscar errores y corregirlos. Más concretamente, cuando el programa está concluido, es necesario hacerle ampliaciones o modificaciones, según la demanda de los usuarios, esta labor puede ser llevada acabo por el mismo programador que implementó el programa o por otros.
EFICIENCIA
Debe consumir la menor cantidad de recursos posible. Normalmente al hablar de eficiencia se suele hacer referencia al consumo de tiempo o memoria.
Lenguajes de Programación más conocidos
BASIC
que durante mucho tiempo se ha considerado un buen lenguaje para
comenzar a aprender, por su sencillez, aunque se podía tender a crear programas poco legibles. A pesar de esta "sencillez" hay versiones muy potentes, incluso para programar en entornos gráficos como Windows (es el caso de Visual Basic).
COBOL
que fue muy utilizado para negocios, aunque últimamente está bastante en desuso.
FOTRAN
concebido para ingeniería, operaciones matemáticas, etc.
También va quedando desplazado.
ENSAMBLADOR
muy cercano al código máquina, pero sustituye
las secuencias de ceros y unos (bits) por palabras más fáciles de recordar, como MOV, ADD, CALL o JMP.
C
el mejor considerado actualmente, porque no es difícil y permite un grado de control del ordenador muy alto, combinando características de lenguajes de alto y bajo nivel. Además, es muy transportable: existe un estándar, el ANSI C, lo que asegura que se pueden convertir programas en C de un ordenador a otro o de un sistema operativo a otro con bastante menos esfuerzo que en otros lenguajes.
PASCAL
el lenguaje estructurado por excelencia, y que en algunas
versiones tiene una potencia comparable a la del lenguaje C, como es el caso de Turbo Pascal en programación para DOS y Windows. Frente al C tiene el inconveniente de que es menos portable, y la ventaja de que en el caso concreto de la programación para DOS, Turbo Pascal no tiene nada que envidiar la mayoría de versiones del lenguaje C, pero resulta más fácil de aprender, es muy rápido, crea ficheros EXE más pequeños, etc.
Visual Basic
Fue creado en 1964 por Microsoft, como una herramienta destinado a principiantes, buscando una forma sencilla de realizar programas, empleando un lenguaje casi igual al usado en la vida ordinaria (en inglés), y con instrucciones muy sencillas y escasas, se buscaba con este lenguaje construir aplicaciones ricas en gráficos para convertirse en una herramienta de programación a largo plazo, estratégica, gráfica y orientada a objetos.
VERSIONES
-Visual Basic 1.0 para MS-DOS fue liberada en septiembre de 1992.
-Visual Basic 2.0 fue liberada en noviembre de 1992 . Venía en versiones Standard y Professional.
-Visual Basic 3.0 salió al mercado en verano de 1993, en versiones Standard y Professional. Incluía la versión 1.1 de Microsoft Jet Database Engine, que permitía acceso a bases de datos.
-Visual Basic 4.0 , surgida en agosto de 1995 , fue la primera versión que generaba aplicaciones tanto de 16 como de 32 bits para Windows .
-En Febrero de 1997 , Microsoft lanzó Visual Basic 5.0 , versión que generaba programas de 32 bits exclusivamente. En esta versión se tenía la posibilidad de crear controles personalizados ; también permitía compilar a código ejecutable nativo de Windows , logrando con ello incrementar la velocidad de ejecución de los programas generados , más notablemente en los de cálculo.
-Visual Basic 6 , salido a mediado de 1998 , muy mejorado , incrementó el número de áreas e incluyó la posibilidad de crear aplicaciones basadas en Web. Microsoft retiró el soporte de VB6 en marzo de 2008 , pero a pesar de ello las aplicaciones que genera son compatibles con plataformas más modernas , como Windows Vista , Windows Server 2008, Windows 7 y Windows 8.
El soporte estándar para Microsoft Visual Basic 6.0 finalizó el 31 de marzo de 2005, pero el extendido terminó en marzo de 2008.La comunidad de usuarios de Visual Basic expresó su grave preocupación y se firmó una petición para mantener el producto vivo.Microsoft se ha negado hasta el momento a cambiar su posición sobre el asunto.
TIPOS DE DATOS
Estos indican el tipo de valor que puede almacenar una variable
Números enteros
Byte
Pueden almacenar dentro del rango desde 0 a 255
Integer
Pueden almacenar dentro del rango -32.768 a 32.767
Long
Pueden almacenar dentro del rango -2.147.483.648 a 2.147.483. 648
Números decimales
Single
7 +/- 1e-45 hasta 3e38
Double
desde +/- 5e324 hasta 1.8e308
Cadenas de caracteres
Se definen con la palabra string y tienen un rango hasta 2 billones de caracteres
Tipos de valores lógicos en los que se almacena por ejemplo verdadero o falso, se utiliza la palabra Boolean y sus valores son true y false
Las fechas y horas que se utilizan para la palabra Date
Tipo Variant
Pueden almacenar cualquier tipo de de valor pero ocupan más memoria
OPERADORES
Aritméticos
Los operadores aritméticos nos permite, básicamente, hacer cualquier operación aritmética, que necesitamos (ejemplo: suma, resta, multiplicación, etc).
Binarios
+: Suma de dos o más valores o variables.
-: Resta de dos o más valores o variables.
*: Multiplicación de dos o más valores o variables.
/: División de dos o más valores o variables.
%: Modulo (obtención del residuo de una división) de dos o más valores o variables.
Unuarios
++: Aumenta el valor de una variable en una unidad.
--: Dismuniye el valor de una variable en una unidad.
-: Cambia el signo de una variable, es como multiplicar por -1
ENTORNO DE PROGRAMACIÓN
Existe un único entorno de desarrollo para Visual Basic, desarrollado por Microsoft: Microsoft Visual Basic x.0, correspondientes a versiones desde la 1.0 hasta la 6.0.
En la parte superior aparecen tres elementos, en este orden: la barra de título donde figura el nombre del proyecto en curso y su estado (diseño o ejecución); la barra de menú con 13 opciones desplegables y una barra de herramientas; esta última se puede personalizar, posibilitando la inclusión de prácticamente la totalidad de los comandos del IDE.
En la parte central, cubriendo la franja de mayor área, se encuentra el espacio de trabajo. Éste incluye y muestra las ventanas del proyecto, las vistas del código fuente de los módulos, los objetos y los controles que contienen las ventanas de la aplicación y el panel de controles.
El panel de controles, que aunque es móvil normalmente está ubicado a la derecha, por defecto cuenta con los siguientes controles:
Controles
PictureBox: Caja de imágenes
Label: Etiqueta
TextBox: Caja de texto
Frame: Marco
CommandButton: Botón de comando
CheckBox: Casilla de verificación
OptionButton: Botón de opción
ComboBox: Lista desplegable
ListBox: Lista
HScrollBar: Barra de desplazamiento horizontal
VScrollBar: Barra de desplazamiento vertical
Timer: Temporizador
DriveListBox: Lista de unidades de disco
DirListBox: Lista de directorios
FileListBox: Lista de archivos
Shape: Figura
Line: Línea
Image: Imagen
Data: Conexión a origen de datos
OLE: Contenedor de documentos embebidos compatibles con Object Linking and Embedding
LENGUAJE DE PROGRAMACIÓN
Un lenguaje de programación es una técnica estándar de comunicación que permite expresar las instrucciones que han de ser ejecutadas en una computadora. Consiste en un conjunto de reglas sintácticas y semánticas que definen un lenguaje informático.
Lenguaje de programación de bajo nivel
Son lenguajes totalmente orientados a la máquina.
Este lenguaje sirve de interfaz y crea un vínculo inseparable entre el hardware y el software.
Además, ejerce un control directo sobre el equipo y su estructura física. Para aplicarlo adecuadamente es necesario que el programador conozca sólidamente el hardware. Éste se subdivide en dos tipos:
Lenguaje máquina
Es el más primitivo de los lenguajes y es una colección de dígitos binarios o bits (0 y 1) que la computadora lee e interpreta y son los únicos idiomas que las computadoras entienden.
No entendemos muy bien lo que dice ¿verdad? Por eso, el lenguaje ensamblador nos permite entender mejor a qué se refiere éste código.
Lenguaje de programación de alto nivel
Tienen como objetivo facilitar el trabajo del programador, ya que utilizan unas instrucciones más fáciles de entender.
Además, el lenguaje de alto nivel permite escribir códigos mediante idiomas que conocemos (español, inglés, etc.) y luego, para ser ejecutados, se traduce al lenguaje de máquina mediante traductores o compiladores.
Traductor
Traducen programas escritos en un lenguaje de programación al lenguaje máquina de la computadora y a medida que va siendo traducida, se ejecuta.
Compilador
Permite traducir todo un programa de una sola vez, haciendo una ejecución más rápida y puede almacenarse para usarse luego sin volver a hacer la traducción.
PROGRAMACIÓN ORIENTADA A EVENTOSD VISUAL BASIC
La programación dirigida por eventos es un paradigma de programación en el que tanto la estructura como la ejecución de los programas van determinados por los sucesos que ocurran en el sistema, definidos por el usuario o que ellos mismos provoquen