- Paréntesis (comenzando por los más internos)
- Signo (-,+)
- Potencias y raíces POW() y SQRT()
- Producto y divisiones * /
- Sumas y Restas + -
- Concatenación “”+””
- Relacionales >, <, >=, <=, < >, !=, =
- Negación NOT()
- Conjunción AND
- Disyunción OR
Es un nombre, que define el programador, que sirve para denotar ciertos elementos de un programa.
Constante:Es un elemento de datos con nombre con un valor predefinido, que no puede ser alterado.
Variable:Es un elemento de datos cuyo valor puede cambiar durante el curso de la ejecución de un programa.
Algoritmo
Constituye una lista bien definida, ordenada y finita de operaciones, que permite encontrar la solución a un problema determinado. Dado un estado inicial y una entrada, es a través de pasos sucesivos y bien definidos que se llega a un estado final, en el que se obtiene una solución (si hay varias) o la solución (si es única).
Ejemplo:
Problema: Gestionar la lista de compras que una empresa realiza durante un mes.
Solución: Para resolver este problema de gestión muy general, se cuenta con las herramientas que se utilizan en otros problemas que ya tienen una resolución en la empresa (por ejemplo, un programa en Java con los datos en una base de datos). Así, para la solución del problema planteado, se proponen dos opciones:
- Usar la base de datos de trabajo para guardar, también en esta, la lista de productos que se requiere comprar.
- Guardar una lista en entradas que se actualiza cada vez que se captura o se incluye un nuevo producto que la empresa necesita, y que se borra o elimina al momento que el producto ya está abastecido, y en salidas, cada vez que algún empleado necesite una impresión de dicha lista.
Un algoritmo puede ser expresado en:
- Lenguaje natural (a veces, este no resulta muy claro, pero es muy útil para problemas simples)
- Pseudocódigo
- Diagramas de flujo
- Programas
Un programa informático se define como un conjunto de instrucciones que, una vez ejecutado, realiza una o varias tareas en una computadora. De esta forma, sin programas, una computadora no puede realizar las actividades para las que fue diseñada y creada.
El conjunto general de programas que posee una computadora se denomina software, término que se utiliza para definir al equipamiento o soporte lógico de una computadora.
Un programa se escribe con instrucciones en un lenguaje de programación, el cual, a su vez, está definido por su sintaxis, que establece e indica las reglas de escritura (la gramática), y por la semántica de los tipos de datos, instrucciones, definiciones, y todos los otros elementos que constituyen un programa.
Si un programa está escrito en un lenguaje de programación comprensible para el ser humano, se le llama código fuente. A su vez, el código fuente se puede convertir en un archivo ejecutable (código máquina) con la ayuda de un compilador, aunque también puede ser ejecutado de inmediato a través de un intérprete.
A su vez, un paradigma de programación provee (y determina) la visión y los métodos de un programador en la construcción de un programa o subprograma. Existen diferentes paradigmas que derivan en múltiples y variados estilos de programación y en diferentes formas de solución de problemas:
- Paradigma imperativo: En este paradigma se impone que cualquier programa es una secuencia de instrucciones o comandos que se ejecutan siguiendo un orden de arriba hacia abajo; este único enlace del programa se interrumpe exclusivamente para ejecutar otros subprogramas o funciones, después de lo cual se regresa al punto de interrupción.
- Paradigma estructurado: Este paradigma es un caso particular de paradigma imperativo, por lo que se imponen únicamente algunas estructuras de código, prohibiendo una continuación del cálculo de manera caótica. Por ejemplo, se impone que las instrucciones sean agrupadas en bloques (procedimientos y funciones) que comunican; por tanto, el código que se repite tiene la forma de un ciclo (loop, en inglés), gobernado por una condición lógica.
-
Paradigma declarativo: Un programa describe el problema a solucionar y la manera de resolverlo, pero no indica el orden de las acciones u operaciones que se deben seguir. En este caso, hay dos paradigmas principales:
- Paradigma funcional: Conforme a este, todo se describe como una función.
- Paradigma lógico: De acuerdo con este, todo se describe como un predicado lógico.
-
Paradigma orientado a objetos: Existen tres principios fundamentales que gobiernan este tipo de programación:
- Encapsulación: En este principio se encapsulan datos, estados, operaciones y, en ocasiones, también eventos, en objetos. El código sería ejecutado, entonces, según la ocurrencia de eventos o de creación/destrucción de instancia de objetos.
- Prototipos, clases y herencias: El prototipo y la clase son las abstracciones del objeto; otros prototipos se definen de acuerdo con un prototipo existente.
- Típificación y polimorfismo: Constituyen la comprobación del tipo con respecto a la jerarquía de las clases.
- Paradigma de programación por eventos: Un programa se concibe como una iteración infinita con dos objetos: detectar los eventos y establecer el cálculo capaz de tratar el evento.
-
Paradigmas paralelo, distribuido y concurrente: Un programa no se realiza con una sola unidad de cómputo, sino que emplea varias unidades de cálculo (reales en caso
paralelo y distribuido), las cuales pueden ser procesadores o computadoras y/o unidades centrales del mismo procesador.
En el caso de este paradigma, el programa se corta en subprogramas o rutinas que se ejecutan de manera independiente
sobre otras unidades de cómputo, ya sea de modo síncrono o asíncrono, compartiendo o no la misma memoria.
Un lenguaje de programación puede verifi car uno o más paradigmas. Por ejemplo, el lenguaje Java comprueba el paradigma orientado a objetos y el código que compone la parte de métodos de los objetos verifi ca el paradigma estructurado. Por su parte, el lenguaje de programación de páginas de Internet, JavaScript, funciona/trabaja conjuntamente con las páginas y el servidor del sitio; por tanto, es un lenguaje, inspirado por Java, que comprueba el paradigma de programación orientado a objetos, al tiempo que también funciona según el paradigma de la programación por eventos.
Historia de los lenguajes de programación
Históricamente, las primeras computadoras se programaban manualmente (de forma física), cambiando los dispositivos
físicos del equipo de cómputo; por ejemplo, la máquina analítica de Charles Babbage, programada por Ada Byron,
o la computadora ENIAC.
Al principio, en los albores de la computación, se introdujo el lenguaje ensamblador, que codifi ca, con códigos literales,
las operaciones del procesador, los registros y las direcciones de memoria. En la actualidad, algunas máquinas
virtuales aún se pueden programar en un lenguaje ensamblador adaptado. Otro dominio actual, por el cual se utiliza el
lenguaje ensamblador, es el desarrollo de interfaces específi cas con dispositivos de entrada/salida de los datos. La principal
ventaja del lenguaje ensamblador es un código efi caz, muy cercano al lenguaje máquina. En tanto, las principales
desventajas o defectos que presenta el lenguaje ensamblador son, en principio, su “verbosidad”, esto es, para escribir
cálculos, que parecen simples, se escriben páginas y páginas en el lenguaje ensamblador, y la difi cultad de corregir los
errores que pueden parecer errores de concepción del programa o errores de compilación.
Un gran avance en materia de programación fue la aparición de los lenguajes de programación de alto nivel, por
medio de los cuales se simplifi có la escritura de código.
- 1950 - Lenguaje ensamblador
- 1954 - FORTRAN
- 1958 - LISP, ALGOL
- 1959 - COBOL
- 1962 - APL
- 1964 - BASIC, PL/I
- 1968 - logo
- 1969 - SGPIL
- 1972 - PROLOG
- 1973 - C
- 1978 - SQL
- 1983 - Ada, C++, Objective C
- 1985 - Eiffel
- 1987 - PERL
- 1991 - HTTP, Python, Java
- 1993 - Ruby
- 1994 - Common Lisp
- 1995 - JavaScript, PHP
- 1997 - XML
- 2000 - C#
- 2001 - Kylix
- Definir el problema: saber que es el problema y comprenderlo.
- Analizar el problema: idear los pasos a seguir, identificar las entradas, salidas y procesos.
- Diseñar una solución: el análisis plantearlo mediante un algoritmo: diagrama de flujo y pseudocódigo.
- INICIO
- Paso1. Declarar variables
- Paso2. Entradas de datos
- Paso3. Proceso de datos
- Paso4. Salida de datos
- FIN
- Implementar la solución: El diagrama de flujo representarlo en un lenguaje de programación, realizar pruebas y mejoras al programa.