PROGRAMACIÓN 1
Un programa es un conjunto de instrucciones que realizan una tarea. Los lenguajes de
programación permiten escribir estos programas. Traducen órdenes, al lenguaje de los ordenadores,
Lo que se conoce como código máquina.
Generaciones de lenguajes
-Código máquina: Primera generación de lenguajes (1GL)
Todavía los ordenadores es el único código que entienden, por lo que cualquier forma de programar
Debe de ser convertida a código máquina.
-Lenguaje ensamblador: Segunda generación de lenguajes (2GL)
Tras escribir el programa en código ensamblador, un programa (llamado también ensamblador) se
Encargará de traducir el código ensamblador a código máquina. Cada programa sólo funcionará
Para la máquina en la que fue concebido el programa.
-Lenguajes de alto nivel: Lenguajes de tercera generación (3GL)
En este caso el código vale para cualquier máquina pero deberá ser traducido mediante software
Especial que adaptará el código de alto nivel al código máquina correspondiente. FORTRAN LISP
COBOL BASIC Pascal C.
-Lenguajes de cuarta generación (4GL): Lenguajes en los que apenas hay código y en su lugar
Aparecen indicaciones sobre qué es lo que el programa debe de obtener. Se consideraba que el
Lenguaje SQL (muy utilizado en las bases de datos).
En esta generación también lenguajes orientados a objetos:
De estos destacó inmediatamente C++. Visual Basic, Delphi ; En 1995 aparece Java como
Lenguaje totalmente orientado a objetos y en el año 2000 aparece C# un lenguaje que toma la forma
De trabajar de C++ y del propio Java.
Lenguajes para la web: Lenguajes híbridos que se mezclan con el código HTML con el que se
Crean las páginas web. Son lenguajes interpretados como JavaScript o VB Script, o lenguajes
Especiales para uso en servidores como ASP, JSP o PHP.
-Lenguajes de quinta generación o de inteligencia artificial: Se trabaja en ellos actualmente.
Intérpretes y compiladores
A la hora de convertir un programa en código máquina, se pueden utilizar dos tipos de software:
Intérpretes y compiladores.
En el caso de los intérpretes se convierte cada línea a código máquina y se ejecuta ese código
Máquina antes de convertir la siguiente línea. De esa forma si las dos primeras líneas son correctas y
La tercera tiene un fallo de sintaxis, veríamos el resultado de las dos primeras líneas y al llegar a la
Tercera se nos notificaría el fallo y finalizaría la ejecución. No hace falta cargar todas las líneas para
Empezar a ver resultados (lo que hace que sea una técnica idónea para programas que se cargan
Desde Internet). Lenguajes interpretados son JavaScript, Python,…
Compiladores :
Se trata de software que traduce las instrucciones de un lenguaje de programación de alto nivel a
Código máquina. La diferencia con los intérpretes reside en que se analizan todas las líneas antes de
Empezar la traducción. Lenguajes compilados son C, Pascal,…
Ciclo de vida de una aplicación:
Las instrucciones o comandos forman parte de las sentencias del programa.
Los pasos son para crear un programa son:
Análisis
Diseño
Codificación
Pruebas
Mantenimiento
Versión alfa. Es una primera versión terminada que se revisa a fin de encontrar errores. Estas
Pruebas conviene que sean hechas por personal no informático.
Versión beta. Versión casi definitiva del software en la que no se estiman fallos, pero que se
Distribuye a los clientes para que encuentren posibles problemas. A veces está versión acaba siendo
La definitiva (como ocurre con muchos de los programas distribuidos libremente por Internet).
Cuando un programa obtiene una salida que no es la esperada, se dice que posee errores. Los
Errores son uno de los caballos de batalla de los programadores ya que a veces son muy difíciles de
Encontrar (de ahí que hoy en día en muchas aplicaciones se distribuyan parches para subsanar
Errores no encontrados en la creación de la aplicación)
Programación estructurada, modular y orientada a objetos
Estructurada:
Las bases de la programación estructurada fueron enunciadas por Niklaus Wirdth. Según este
Científico cualquier problema algorítmico podía resolverse con el uso de estos tres tipos de
Instrucciones:
♦ Secuenciales. Instrucciones que se ejecutan en orden normal. El flujo del programa ejecuta la
Instrucción y pasa a ejecutar la siguiente.
♦ Alternativas. Instrucciones en las que se evalúa una condición y dependiendo si el resultado es
Verdadero o no, el flujo del programa se dirigirá a una instrucción o a otra.
♦ Iterativas. Instrucciones que se repiten continuamente hasta que se cumple una determinada
Condición.
Programación modular:
Completa la programación anterior permitiendo la definición de módulos independientes cada uno
De los cuales se encargará de una tarea del programa.
Programación orientada a objetos:
Es la más novedosa, se basa en intentar que el código de los programas se parezca lo más posible a
La forma de pensar de las personas. Las aplicaciones se representan en esta programación como una
Serie de objetos independientes que se comunican entre sí.
Noción de algoritmo
Conjunto ordenado y finito de operaciones que permite hallar la solución de un problema.
Por ejemplo en el caso de que nos encontremos en casa con una bombilla fundida en una lámpara,
Un posible algoritmo sería:
2
(1) Comprobar si hay bombillas de repuesto
(2) En el caso de que las haya, sustituir la bombilla anterior por la nueva
(3) Si no hay bombillas de repuesto, bajar a comprar una nueva a la tienda y
Sustituir la vieja por la nueva
Los algoritmos son la base de la programación de ordenadores, ya que los programas de ordenador
Se puede entender que son algoritmos escritos en un código especial entendible por un ordenador.
Debe recoger todas las posibilidades.
Por lo que los tres pasos anteriores pueden ser mucho más largos:
[1] Comprobar si hay bombillas de repuesto
(1.1) Abrir el cajón de las bombillas
(1.2) Observar si hay bombillas
[2] Si hay bombillas:
(2.1) Coger la bombilla
(2.2) Coger una silla
(2.3) Subirse a la silla
(2.4) Poner la bombilla en la lámpara
[3] Si no hay bombillas
(3.1) Abrir la puerta
3.2) Bajar las escaleras…
Elementos que conforman un algoritmo:
♦ Entrada: Los datos iniciales que posee el algoritmo antes de ejecutarse.
♦ Proceso: Acciones que lleva a cabo el algoritmo.
♦ Salida: Datos que obtiene finalmente el algoritmo.
Expresiones lógicas
Son expresiones que dan como resultado un valor lógico (verdadero o falso). Suelen ser siempre
Comparaciones entre datos. Por ejemplo x>8 da como resultado verdadero si x vale más que 8. Los
Operadores de relación (de comparación) que se pueden utilizar son:
> Mayor que
< Menor que
>= Mayor o igual
>= Menor o igual
!= Distinto que
= = Igual que
También se pueden unir expresiones utilizando los operadores AND (&&), el operador OR || o
El operador NOT (!). Estos operadores permiten unir expresiones lógicas.
En C/C++ se considera falso el valor 0 y verdadero a cualquier valor distinto de cero.
Se pueden mezclar operadores lógicos con relacionales: (2<3) && (10<=30) equivale a false &&
True, y el resultado es false.