2. 1. ¿QUÉ ES UN PROGRAMA?
Es un conjunto de instrucciones u órdenes que indican a un
ordenador las operaciones que debe realizar . Sin
embargo, el ordenador sólo es capaz de procesar
elementos que se caracterizan por ser binarios, por lo que
es necesario un lenguaje de programación para elaborar un
programa.
3. 1.1 ESCRITURA DE UN PROGRAMA
Los programas se escriben en código de
fuente, que se definen como un conjunto
de líneas de texto que conforman las
instrucciones que debe seguir el ordenador
para ejecutar dicho programa.
Éstos códigos son interpretados por el
ordenador por medio de el lenguaje
máquina, y para ello es necesario los
intérpretes, que traducen el código fuente a
código máquina y dan lugar al código
objeto que constituye el lenguaje máquina
y se distribuye en varios archivos que
corresponden a cada código fuente
compilado.
4. 2. LENGUAJES DE PROGRAMACIÓN
La programación se encarga de crear programas mediante
un conjunto de instrucciones escritas en un determinado
lenguaje, que dirigen a un ordenador para la ejecución de
una serie de operaciones, con el objetivo de resolver un
problema que se ha definido previamente.
Para la creación de un programa es preciso utilizar un
lenguaje de programación, es decir un conjunto de
instrucciones, operadores y sintaxis que pone a disposición
el programador.
LENGUAJES
DE ALTO
NIVEL
INTÉRPRETE
LENGUAJE
MÁQUINA
5. 2.1 LENGUAJES DE PROGRAMACIÓN
Se clasifican:
- Según el nivel de abstracción.
- Según la forma de ejecución.
6. 2.2 SEGÚN EL NIVEL DE ABSTRACCIÓN
Fue el primer lenguaje de programación.
Lenguajes escritos en código binario (0 y 1).
Forma cadenas binarias con las que se escriben las instrucciones que el
microprocesador de la computadora entiende nuestra peticiones.
Dejó de utilizarse por su gran dificultad y por la facilidad para cometer errores.
LENGUAJE MÁQUINA
7. 2.3 SEGÚN EL NIVEL DE ABSTRACCIÓN
VENTAJAS
Son lenguajes fáciles de utilizar.
Al dejar de utilizarse el lenguaje
máquina se sustituyó por el lenguaje
ensamblador, ya que permite al
programador escribir instrucciones de
un programa usando palabras
nemotécnicas, como ADD, DIV, SUB.
El lenguaje ensamblador depende
del programa intérprete llamado
ensamblador que convierte un fichero
escrito en lenguaje ensamblador en
código máquina o binario para que le
ordenador pueda leerlo.
DESVENTAJAS
Un programa escrito en un lenguaje
ensamblador tiene el inconveniente de
que no es comprensible para la
computadora, ya que no está
compuesto por ceros y unos. Para
traducir las instrucciones de un
programa escrito en un lenguaje
ensamblador a instrucciones de un
lenguaje máquina hay que utilizar un
programa llamado ensamblador.
Los lenguajes de este tipo pueden crear
programas muy rápidos, pero son difíciles
de aprender, son específicos de cada
procesador, si nos llevamos el programa
a otro computador será preciso reescribir
el programa desde el comienzo.
LENGUAJES DE BAJO NIVEL
8. 2.4 SEGÚN EL NIVEL DE ABSTRACCIÓN
Este tipo de lenguajes de programación son
independientes de la máquina, lo podemos usar en
cualquier computador con muy pocas modificaciones o
sin ellas, son muy similares al lenguaje humano, pero
precisan de un programa interprete o compilador que
traduzca este lenguaje de programación de alto nivel a
uno de bajo nivel como el lenguaje de máquina que la
computadora pueda entender.
Los lenguajes de programación de alto nivel son más
fáciles de aprender porque se usan palabras o
comandos del lenguaje natural, como por ejemplo del
inglés. Este es el caso del BASIC, el lenguaje de
programación más conocido.
LENGUAJES DE ALTO NIVEL
9. 2.5 SEGÚN LA FORMA DE EJECUCIÓN:
LENGUAJES COMPILADOS
Analizan el programa fuente y lo traducen a otro lenguaje
equivalente, creando un programa objeto, que es la
traducción de un programa en lenguaje de alto nivel a uno
en lenguaje máquina, para que así pueda ser interpretado y
ejecutado.
10. 2.6 SEGÚN LA FORMA DE EJECUCIÓN:
LENGUAJES INTERPRETADOS
El intérprete realiza la traducción del programa fuente
(programa escrito en lenguaje de alto nivel) al lenguaje
máquina directamente, ejecutando dicha traducción al
momento de ejecutar cada una de las instrucciones.
Normalmente no guarda el resultado de dicha traducción.
De este modo, el programa fuente siempre conserva su
forma original, con la desventaja de que cada vez que es
ejecutado debe ser traducido nuevamente.
Este proceso puede hacer más lenta la ejecución del
programa, por lo que los intérpretes suelen ser menos
usados que los compiladores
12. 3. HISTORIA Y EVOLUCIÓN DE LOS LENGUAJES DE
PROGRAMACIÓN
LENGUAJES DE PRIMERA
GENERACIÓN (antes de 1950)
El programador utilizado era el lenguaje máquina para
escribir instrucciones.
El único lenguaje que el hardware entendía era el
binario.
Este lenguaje dificultaba la escritura de programas
convirtiéndola en un proceso lento.
Debido a esta complejidad se generaban errores que
eran muy difícil de corregir.
La modificación de los programas resultaba
complicada.
Solo puede usarse en un tipo de computador, ya que
distintos computadores tiene diferentes lenguajes de
máquina.
Sin embargo, el lenguaje máquina tenía la ventaja de
explorar al máximo las posibilidades lógicas y la
capacidad física del equipo.
0010 0001 1010
1010 1011 1000
0110 1101 0001
COMPUTADOR
Lenguaje máquina
Hardware
13. 3.1 HISTORIA Y EVOLUCIÓN DE LOS LENGUAJES DE
PROGRAMACIÓN
LENGUAJES DE SEGUNDA GENERACIÓN (1950-1955)
Se empezó a dejar de utilizar el lenguaje máquina.
Se crearon lenguajes, denominado lenguaje ensamblador, con estrictas
gramaticales y semánticas, para que no se produzcan errores de interpretación
en el computador.
Se utilizó la notación simbólica para facilitar la programación, representaba las
operaciones que realizaba.
Lenguaje ensamblador:
Usan códigos como a para agregar o mvc para mover, y así sucesivamente.
Los programas de software de sistemas, como los sistemas operativos y los programas
de utilidad se escriben con frecuencia en un lenguaje ensamblador.
Con el lenguaje ensamblador, mejoró la programación, aunque todavía era necesario
escribir una orden por cada paso elemental que debía ejecutar la computadora.
Una instrucción del lenguaje ensamblador contiene un código y un operando.
14. 3.2 HISTORIA Y EVOLUCIÓN DE LOS LENGUAJES DE
PROGRAMACIÓN
LENGUAJES DE SEGUNDA GENERACIÓN (1950-1955)
Los primeros lenguajes ensambladores (con notación simbólica),
en aparecer fueron el AutoCoder y el Assembler, que en general
usan:
Códigos mnemotécnicos, fijos para cada lenguaje de
programación.
Direcciones simbólicas, a elección del programador,
pero siguiendo ciertas reglas.
En estos lenguajes se sigue manteniendo una
similitud con el set de instrucciones elementales del
computador
- Sirven para un solo tipo de computador.
- El programador debe conocer bien el equipo.
Al no estar en código binario, necesitan un programa
traductor que los convierta: "El ensamblador"
15. 3.3 HISTORIA Y EVOLUCIÓN DE LOS LENGUAJES DE
PROGRAMACIÓN
LENGUAJES DE TERCERA GENERACIÓN (1956-1965)
Se crearon los lenguajes de alto nivel con el fin de:
Independizar al programador de las características internas de la
máquina.
Permitirle concentrarse es la lógica del problema por resolver.
Se le liberó así de la necesidad de familiarizarse con el lenguaje de
máquina.
Una de las ventajas de los lenguajes de alto nivel es que con pequeñas
modificaciones se pueda procesar en una máquina un programa escrito para
otra maquina.
Cuando un lenguaje puede ser procesado por cualquier computadora, se dice
que el lenguaje ha sido estandarizado y se le asigna como lenguaje
"Universal“. * Para esto, cada instrucción de un lenguaje de alto nivel es
traducida por un computador o intérprete en una serie de órdenes en
lenguajes de máquinas.
El término "Alto nivel" significa que el lenguaje esta más orientado hacia la
gente, a diferencia de los lenguajes de "Bajo Nivel", ensambladores, que
están mas orientados hacia la máquina., debido a que éstos lenguajes tienen
relación con el lenguaje hablado y por ello son más fáciles de comprender.
Los lenguajes de alto nivel fueron elaborados para la programación de un
determinado tipo de aplicación, como el Fortran, diseñado para aplicaciones
Técnico-Científicas , y el primer lenguaje de programación de alto nivel.
16. 3.4 HISTORIA Y EVOLUCIÓN DE LOS LENGUAJES DE
PROGRAMACIÓN
LENGUAJES DE CUARTA GENERACIÓN
Los lenguajes de la cuarta generación son mas informales y obedecen a un menú o a
comandos. Derivan de lo lenguajes de alto nivel.
El más representativo, entre los destinados a interactuar con las bases de datos, es el SQL:
Los numerosos lenguajes, están orientados hacia la solución de problemas específicos, y son
más convencionales por lo que son superiores a los lenguajes de alto nivel.
Los paquetes integrados de software tienen variadas aplicaciones que permiten al usuario
estructurar sus propios programas o sistemas e incorporar sus datos sin conocimiento previo de
programación, ni conocimiento de los lenguajes de programación tradicionales.
Es un lenguaje declarativo de acceso a bases de datos
relacionales que permite especificar diversos tipos de
operaciones en ellas. Una de sus características es el
manejo del álgebra y el cálculo relacional que permiten
efectuar consultas con el fin de recuperar de forma
sencilla información de interés de bases de datos, así
como hacer cambios en ella.
17. 3.5 HISTORIA Y EVOLUCIÓN DE LOS LENGUAJES DE
PROGRAMACIÓN
LENGUAJES DE QUINTA GENERACIÓN (1998)
Surgieron de herramientas de lenguajes las cuales combinan la
creación de códigos basadas en reglas, la administración de
reutilización y otros avances.
Programación está basada en el conocimiento. Método para el
desarrollo de programas de computación en el que se le ordena a la
computadora realizar un propósito en vez de instruirla para hacerlo.
18. 4. TIPOS DE PROGRAMACIÓN
Programación modular
Está constituida por varios módulos
que interactúan a través de llamadas a
procedimientos. El módulo principal es
el encargado de llamar al resto de
módulos ya que esta programación
está basada en la técnica de diseño
descendente, que consiste en dividir el
problema original en diversos
subproblemas que se pueden resolver
por separado, para después
recomponer los resultados y obtener la
solución al problema, de esta manera
integra el programa en su totalidad.
19. 4.1 TIPOS DE PROGRAMACIÓN
Programación estructurada:
La programación estructurada nace como una solución a los problemas que presentaba la
programación no estructurada. Y es una técnica en la cual la estructura de un programa, es
decir, la exigencia de sus partes realiza tan claramente, como es posible, una tarea mediante el
uso de estructuras lógicas de control.
Está compuesta por un conjunto de técnicas que han ido evolucionando, aumentando
considerablemente la productividad del programa reduciendo el tiempo de depuración y
mantenimiento del mismo. Ésta programación utiliza un número limitado de estructuras de
control, reduciendo así de forma considerable los errores.
20. 4.2 TIPOS DE PROGRAMACIÓN
Programación estructurada:
Las principales ventajas de la programación estructurada
son:
Los programas son más fáciles de entender
Se reduce la complejidad de las pruebas
Aumenta la productividad del programador
Los programas quedan mejor documentados de forma
interna.
21. 4.3 TIPOS DE PROGRAMACIÓN
Programación orientada a objetos:
Es una nueva forma de programar que trata de
encontrar solución a estos problemas. Introduce
nuevos conceptos, que superan y amplían conceptos
antiguos ya conocidos. Entre ellos destacan los
siguientes:
Objeto: cápsula dividida en tres partes:
Relaciones: permiten que el objeto se inserte en la
organización y están formadas esencialmente por punteros a
otros objetos.
Propiedades: distinguen un objeto determinado de los
restantes que forman parte de la misma organización y tiene
valores que dependen de la propiedad de que se trate.
Métodos: son las operaciones que pueden realizarse sobre el
objeto, que normalmente estarán incorporados en forma de
programas (código) que el objeto es capaz de ejecutar.
clase: construcción que utilizada como un
modelo (o plantilla) para crear objetos de ese tipo.
El modelo describe el estado y el comportamiento
que todos los objetos de la clase comparten.
22. APLICACIONES PARA MÓVILES
Una aplicación móvil es un
software para dispositivos móviles
que se utiliza como herramienta
para una operación o tarea
específica.
La aplicación tiene el único y
principal fin de realizar una tarea
específica, a menudo básica y de
rápido y fácil uso para el usuario
común no avanzado