Download Lenguaje de programación

Document related concepts

Little man computer wikipedia , lookup

Programación funcional wikipedia , lookup

Lisp wikipedia , lookup

APL wikipedia , lookup

Transcript
Lenguaje de programación
Un lenguaje de programación es un lenguaje formal diseñado para expresar procesos que pueden ser
llevados a cabo por máquinas como las computadoras.
Pueden usarse para crear programas que controlen el comportamiento físico y lógico de una máquina,
para expresar algoritmos con precisión, o como modo de comunicación humana.1
Está formado por un conjunto de símbolos y reglas sintácticas y semánticas que definen su estructura y
el significado de sus elementos y expresiones. Al proceso por el cual se escribe, se prueba, se
depura, se compila (de ser necesario) y se mantiene el código de un programa informático se le
llama programación.
También la palabra programación se define como el proceso de creación de
un programa de computadora, mediante la aplicación de procedimientos lógicos, a través de los
siguientes pasos:

El desarrollo lógico del programa para resolver un problema en particular.

Escritura de la lógica del programa empleando un lenguaje de programación específico
(codificación del programa).

Ensamblaje o compilación del programa hasta convertirlo en lenguaje de máquina.

Prueba y depuración del programa.

Desarrollo de la documentación.
Lenguaje de alto nivel
Un lenguaje de programación de alto nivel se caracteriza por expresar los algoritmos de una manera
adecuada a la capacidad cognitiva humana, en lugar de la capacidad ejecutora de las máquinas.
En los primeros lenguajes de nivel bajo la limitación era que se orientaban a un área específica y sus
instrucciones requerían de una sintaxis predefinida. Se clasifican como lenguajes procedimentales.
Otra limitación de los lenguajes de nivel bajo es que se requiere de ciertos conocimientos de
programación para realizar las secuencias de instrucciones lógicas. Los lenguajes de alto nivel se
crearon para que el usuario común pudiese solucionar un problema de procesamiento de datos de una
manera más fácil y rápida.
Por esta razón, a finales de los años 1950 surgió un nuevo tipo de lenguajes de programación que
evitaba estos inconvenientes, a costa de ceder un poco en las ventajas. Estos lenguajes se llaman de
tercera generación o de nivel alto, en contraposición a los de bajo nivel o de nivel próximo a la máquina.
Lenguaje ensamblador
Lenguaje de máquina del Intel 8088. El código de máquina en hexadecimal se resalta en rojo, el equivalente en
lenguaje assembler en magenta, y las direcciones de memoria donde se encuentra el código, en azul. Abajo se ve
un texto en hexadecimal y ASCII.
El lenguaje ensamblador, o assembler (assembly language en inglés), es un lenguaje de
programación de bajo nivel para los computadores, microprocesadores, micro controladores y
otros circuitos integrados programables. Implementa una representación simbólica de los códigos de
máquina binarios y otras constantes necesarias para programar una arquitectura dada de CPU y
constituye la representación más directa del código máquina específico para cada arquitectura legible
por un programador. Esta representación es usualmente definida por el fabricante de hardware, y está
basada en los mnemónicos que simbolizan los pasos de procesamiento (las instrucciones),
losregistros del procesador, las posiciones de memoria y otras características del lenguaje. Un lenguaje
ensamblador es por lo tanto específico de cierta arquitectura de computador física (o virtual). Esto está
en contraste con la mayoría de los lenguajes de programación de alto nivel, que idealmente
son portátiles.
Un programa utilitario llamado ensamblador es usado para traducir sentencias del lenguaje ensamblador
al código de máquina del computador objetivo. El ensamblador realiza una traducción más o
menos isomorfa (un mapeo de uno a uno) desde las sentencias mnemónicas a las instrucciones y datos
de máquina. Esto está en contraste con los lenguajes de alto nivel, en los cuales una sola declaración
generalmente da lugar a muchas instrucciones de máquina.
Lenguaje de máquina
Lenguaje de máquina del Intel 8088. El código de máquina en hexadecimal se resalta en rojo, el equivalente
en lenguaje ensamblador en magenta, y las direcciones de memoria donde se encuentra el código, en azul. Abajo se
ve un texto en hexadecimal y ASCII.
El lenguaje de máquina o código máquina es el sistema de códigos directamente interpretable por un
circuito micro programable, como el microprocesador de una computadora o el micro controlador de
un autómata. Este lenguaje está compuesto por un conjunto de instrucciones que determinan acciones
al ser tomadas por la máquina. Un programa consiste en una cadena de estas instrucciones más un
conjunto de datos sobre el cual se trabaja. Estas instrucciones son normalmente ejecutadas en
secuencia, con eventuales cambios de flujo causados por el propio programa o eventos externos. El
lenguaje de máquina es específico de la arquitectura de la máquina, aunque el conjunto de instrucciones
disponibles pueda ser similar entre arquitecturas distintas.
Los circuitos micro programables son sistemas digitales, lo que significa que trabajan con dos únicos
niveles de tensión. Dichos niveles, por abstracción, se simbolizan con los números 0 y 1, por eso el
lenguaje de máquina sólo utiliza dichos signos. Esto permite el empleo de las teorías del álgebra
booleana y del sistema binario en el diseño de este tipo de circuitos y en su programación.
Algoritmo
Los diagramas de flujo sirven para representar algoritmos de manera gráfica.
En matemáticas, lógica, ciencias de la computación y disciplinas relacionadas, un algoritmo (del griego
y latín, dixit algorithmus y este a su vez del matemático persa Al-Juarismi1 ) es un conjunto prescrito de
instrucciones o reglas bien definidas, ordenadas y finitas que permite realizar una actividad mediante
pasos sucesivos que no generen dudas a quien deba realizar dicha actividad. 2 Dados un estado inicial y
una entrada, siguiendo los pasos sucesivos se llega a un estado final y se obtiene una solución. Los
algoritmos son el objeto de estudio de la algoritmia.1
En la vida cotidiana, se emplean algoritmos frecuentemente para resolver problemas. Algunos ejemplos
son los manuales de usuario, que muestran algoritmos para usar un aparato, o las instrucciones que
recibe un trabajador por parte de su patrón. Algunos ejemplos en matemática son el algoritmo,
para calcular el producto, el algoritmo de la división para calcular el cociente de dos números,
el Euclides para obtener el máximo común divisor de dos enteros positivos, o el método de Gauss para
resolver un sistema lineal de ecuaciones.
ESTRUCTURAS SECUENCIALES
La estructura secuencial es aquella en la que una acción (instrucción) sigue a otra en secuencia.
Las tareas se suceden de tal modo que la salida de una es la entrada de la siguiente y así
sucesivamente hasta el fin del proceso.
ESTRUCTURAS CONDICIONALES
Las estructuras condicionales comparan una variable contra otros valores, para
que en base al resultado de esta comparación, se siga un curso de acción dentro
del programa. Cabe mencionar que la comparación se puede realizar con otra
variable u otra constante.
Estructura Múltiple
Este es una estructura de selección múltiple. Las estructuras de comparación múltiples, es una
toma de decisión especializada que permiten evaluar una variable con distintos posibles
resultados, ejecutando para cada caso una serie de instrucciones especificas. La estructura de
selección nos permite elegir una ruta de entre varias rutas posibles, en base al valor de una
variable que actúa como selector. En el momento en que se encuentre una coincidencia, se
ejecuta la acción correspondiente a dicha constante y se abandona la estructura
ESTRUCTURA CICLICA
Se llaman problemas repetitivos o cíclicos a aquellos en cuya
solución es necesario utilizar un mismo conjunto de acciones que se puedan ejecutar
una cantidad específica de veces. Esta cantidad puede ser fija
(previamente determinada por el programador) o puede ser variable
(estar en función de algún dato dentro del programa).Los ciclos se
clasifican en:
Las estructuras cíclicas se utilizan para ejecutar fragmentos de código un número
limitado de veces. Existen tres estructuras cíclicas generales, las cuales son:
•
Desde Hasta (For)
•
Hacer Mientras (While)
•
Hacer Hasta (Do While)
lenguajes Algorítmicos gráficos y no gráficos
GRÁFICOS: son la representación gráfica de las
operaciones que realiza un algoritmo (diagrama de
flujo).
El diagrama de flujo se caracteriza por la forma
detallada como representa de forma gráfica los pasos
a seguir para encontrar la solución del problema
propuesto.
la representación gráfica se da por medio de
varios símbolos(cada uno con su propósito establecido
), que unidos entre sí, indican el orden en el que se
debe dar el proceso.
NO GRÁFICOS: representan en forma descriptiva las
operaciones que debe realizar
un algoritmo(pseudocódigo).
INICIO
Edad: Entero
ESCRIBA “cuál es tu edad?"
lea Edad
SI Edad>=18 entonces
ESCRIBA "Eres mayor de Edad"
FINSI
ESCRIBA "fin del algoritmo”
FIN
El pseudocódigo es un lenguaje intermedio entre
nuestro lenguaje y el lenguaje de programación,
su característica principal es el de representar
la solución de forma más detallada y lo más parecida
al lenguaje, para que posteriormente se pueda
codificar.
Otras características son:
Se puede ejecutar en un ordenador.

Facilita el paso del programa al lenguaje
de programación.

Es independiente del lenguaje
de programación que se vaya a utilizar.

Método que facilita
la programación y solución al algoritmo del programa.
