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

REFERENCIAS

• Data, S. B. (2019, 24 diciembre). Tipos de datos de aprendizaje automático con ejemplos. sitiobigdata.com. https://sitiobigdata.com/2019/12/24/tipos-de-datos-de-aprendizaje-automatico-con-ejemplos/#:%7E:text=Los%20datos%20categ%C3%B3ricos%20pueden%20tomar,no%20tienen%20un%20significado%20matem%C3%A1tico.
• Entorno de desarrollo - Visual Basic. (s. f.). Visual Basic. https://sites.google.com/site/visualbasicviba/caracteristicas/entorno-de-desarrollo
• Content, R. R. (2020, 8 junio). ¿Qué es un lenguaje de programación y qué tipos existen? Rock Content. https://rockcontent.com/es/blog/que-es-un-lenguaje-de-programacion/

• 5.- OPERADORES ARITMETICOS, RELACIONALES Y LOGICOS. - Emarin PROGRAMACION. (s. f.). Emarin PROGRAMACION. https://sites.google.com/site/emarinprogramacion/home/5---operadores-aritmeticos-relacionales-y-logicos

• Versiones - Visual Basic. (s. f.). Visual Basic. https://sites.google.com/site/visualbasicviba/versiones

• HISTORIA - EVOLUCIÓN VISUAL BASIC. (2012, 10 mayo). EVOLUCIÓN VISUAL BASIC. https://sites.google.com/site/evolucionvisualbasic/classroom-news/page