LENGUAJES
DE PROGRAMACIÓN
a.) Historia de los lenguajes; Los lenguajes de programación cierran el abismo entre las computadoras, que sólo trabajan con números binarios, y los humanos, que preferimos utilizar palabras y otros sistemas de numeración.
Mediante los programas se indica a la computadora qué tarea debe realizar y como efectuarla, pero para ello es preciso introducir estas ordenes en un lenguaje que el sistema pueda entender. En principio, el ordenador sólo entiende las instrucciones en código máquina, es decir, el especifico de la computadora. Sin embargo, a partir de éstos se elaboran los llamados lenguajes de alto y bajo nivel.
Generaciones de los lenguajes
LENGUAJES DE BAJO NIVEL:
Utilizan códigos muy cercanos a los de la máquina, lo que hace posible la elaboración de programas muy potentes y rápidos, pero son de difícil aprendizaje.
LENGUAJES DE ALTO NIVEL:
Por el contrario, son de uso mucho más fácil, ya que en ellos un solo comando o instrucción puede equivaler a millares es código máquina. El programador escribe su programa en alguno de estos lenguajes mediante secuencias de instrucciones. Antes de ejecutar el programa la computadora lo traduce a código máquina de una sola vez (lenguajes compiladores) o interpretándolo instrucción por instrucción (lenguajes intérpretes). Ejemplos de lenguajes de alto nivel: Pascal, Cobol, Basic, Fortran, C++ Un Programa de computadora, es una colección de instrucciones que, al ser ejecutadas por el CPU de una máquina, llevan a cabo una tarea ó función específica. Este conjunto de instrucciones que forman los programas son almacenados en archivos denomina dos archivos ejecutables puesto que, al teclear su nombre (o hacer clic sobre el icono que los identifica) logras que la computadora los cargue y corra, o ejecute las instrucciones del archivo. El contenido de un archivo ejecutable no puede ser entendido por el usuario, ya que no está hecho para que la gente lo lea, sino para que la computadora sea quien lo lea.
Los archivos de programas ejecutables contienen el código máquina, que la CPU identifica como sus instrucciones. Son lo que conocemos como Programas Objeto. Dado que sería muy difícil que los programadores crearan programas directamente en código de máquina, usan lenguajes más fáciles de leer, escribir y entender para la gente.
El programador teclea instrucciones en un editor, que es un programa parecido a un simple procesador de palabras, estas instrucciones son almacenadas en archivos denominados programas fuentes (código fuente). Si los programadores necesitan hacer cambios al programa posteriormente vuelven a correr el editor y cargan el programa fuente para modificarlo.
El proceso de conversión de programas fuente a programas objeto se realiza mediante un programa denominado compilador. El compilador toma un programa fuente y lo traduce a programa objeto y almacena este último en otro archivo.
PROGRAMA FUENTE:
Es el programa escrito en alguno de los lenguajes y que no ha sido traducido al lenguaje de la maquina, es decir el programa que no está en código de máquina y que por lo tanto no puede ser ejecutable.
PROGRAMA OBJETO:
s aquel programa que se encuentra en lenguaje máquina y que ya es ejecutable por esta.
. Lenguajes de programación
Son programas que se han diseñado principalmente para emular un comportamiento inteligente. Incluyen algoritmos de juego tales como el ajedrez, programas de comprensión del lenguaje natural, visión por computadora, robótica y "sistemas de expertos". responde a una interfaz ensamblador, el segundo a interfaz compilador y el ultimo a interfaz interprete.
Un Lenguaje de Programación se basa en reglas de acción (silogismos) , y el análisis de posibilidades dándonos una ayuda muy útil en todas las ramas de la acción humana. Es así como los Sistemas Expertos desarrollan una Función muy importante "Realizar tareas genéricas: es decir para la monitorización y el diagnóstico, además de los trabajos de simulación de la realidad (Realidad Virtual en la actualidad) .
Algunos lenguajes son lenguajes principalmente interpretados, como APL, PROLOG y LISP. :.
APL (A Programing Language)
Diseñado para tablas, vectores y matrices; utiliza símbolos especiales, distintos que el ASCII.
HISTORIA:
Introducido por Kenneth Iverson, en el año de 1962. Durante los siguientes 7 años IBM trabajo en el APL, defino un conjunto de caracteres y un lenguaje "APL/360", el cual se requiere un hardware especial.
Conceptos lisp:
Listas y Átomos: La estructura más importante es la lista. Los átomos pueden subordinarse a cualidades.
La Función: Cada función LISP y cada programa LISP tiene estructura de lista. Los programas no pueden distinguirse sintácticamente de los datos. LISP ofrece sus propias funciones básicas.
Forma de Trabajo: LISP es un lenguaje funcional. Ofrece la posibilidad de realizar definiciones recursivas de funciones. La unión de procedimientos se realiza de forma dinámica, es decir en plena ejecución, y no como en otros lenguajes de programación. El sistema realiza automáticamente una gestión dinámica de memoria.
Entonces: La estructura más importante en LISP es la lista
Componentes de un sistema lisp.
Un componente importante de un sistema LISP es la gestión dinámica de la memoria. El sistema administrará el espacio en la memoria para las listas en constante modificación, sin que el usuario lo deba solicitar. Libera los espacios de memoria que ya no son necesarios y los pone a disposición de usos posteriores. La necesidad de este proceso se deriva de la estructura básica de LISP, las listas, que se modifican de forma dinámica e ilimitada.
Además un sistema LISP abarca bastante más que el solo intérprete del lenguaje LISP. Consta de algunos módulos que ofrecen ayuda en el desarrollo y control del progreso en programas, como son el Editor, el File-System y el Trace.
PROLOGO (PROgramación LOGica):
Mecanismos Del Prolog
La Recursividad representa la estructura más importante en el desarrollo del programa. En la sintaxis del PROLOG no existen los bucles FOR ni los saltos; los bucles WHILE son de difícil incorporación, ya que las variables sólo pueden unificarse una sóla vez. La recursión es más apropiada que otras estructuras de desarrollo para procesar estructuras de datos recursivas como son las listas y destacan en estos casos por una representación más sencilla y de mayor claridad.
La Instanciación es la unión de una variable a una constante o estructura. La variable ligada se comporta luego como una constante.
La Verificación es el intento de derivar la estructura a comprobar de una pregunta desde la base de conocimientos, es decir, desde los hechos y reglas. Si es posible, la estructura es verdadera, en caso contrario es falsa.
La Unificación es el componente principal de la verificación de estructuras. Una estructura estará comprobada cuando puede ser unificada con un hecho, o cuando puede unificarse con la cabecera de una regla y las estructuras del cuerpo de dicha regla pueden ser verificadas.
ESTRUCTURA DE UN
PROGRAMA
Para pode
escribir un comentario
/*ejemplo
de uso de directivas*/
#include “stadio.h” o
<studio.h>
#include “conio.h”
“math.h”
int
calcular,/*declaracion de variables*/
main () /*funcion principal*/
{
sentencias
}
operadores; los operadoresson símbolos que indican como son manipulados los
datos. Se puede clasificar en los siguientes grupos
OPERADORES ARITMETICOS
+ SUMA
/ DIVISION
- RESTA
% MODULO O RESTA DE UNA DIVISION ENTERA
* MULTIPLICACION.
OPERADORES LOGICOS
AND &&
OR //
NOT !
OPERADORES DE RELACION
< MENOR QUE
> MAYOR QUE
>=MAYOR O IGUAL QUE
<= MENOR O IGUAL
QUE
= IGUAL QUE
¡= DISTINTO
OPERADORES DE ASIGNACION
++ INCREMENTO
--DECREMENTO
= ASIGNACION SIMPLE
*= MULTIPLICAION
/DIVISION MAS ASIGNACION
%MODULO MAS
ASIGNACION
+SUMA MAS ASIGNACION
-RESTA MAS ASIGNACION
FUNCIONES DE SALIDA
FUNCION PRINTF:
ESCRIBE CON FORMATO UNA SERIE DE CARACTERES O UN VALOR ESPECÍFICO EN EL FICHERO
DE SALIDA ESTANDAR.
ESPECIFICADORES DE CONVERSION
%c UN SOLO CARÁCTER
%s CADENA DE CARACTERES
%d ENTERO DECIMAL
%nd
ENTERO DECIMAL CON N ESPACIOS MINIMOS
DE AMPLITUD
%u ENTERO DECIMAL CON SIGNO
%f NUMERO DECIMAL PUNTO FLOTANTE
%g VALOR CON SIGNO
funcion
entrada
FUNCION SCANF
NOS PERMITE DAR ENTRADA DE DATOS NUMERICOS DEL TECLADO.
USA EL MISMO FORMATO QUE PRINF SOLO QUE EL OPERADOR DE DIRECCION & DEBE PRECEDE A DAD
VARIABLE.
LOS TIPOS DE DATOS
TIPO ENTEROS: CHAR ES
UTILIZADO PARA ALMACENAR UN VALOR ENTERO EN EL RANGO 128 A 127
INT: TIPO DE DATOS
ENTEROS O DECIMALES
TIPOS BÁSICOS Y VARIABLES.
LOS TIPOS DE DATOS
BÁSICOS DEFINIDOS POR C SON CARACTERES, NÚMEROS ENTEROS Y NÚMEROS EN COMA
FLOTANTE. LOS CARACTERES SON REPRESENTADOS POR CHAR, LOS ENTEROS POR SHORT,
INT, LONG Y LOS NÚMEROS EN COMA FLOTANTE POR FLOAT Y
DOUBLE. LOS TIPOS BÁSICOS DISPONIBLES Y SU TAMAÑO SON:
CHAR CARÁCTER (NORMALMENTE 8 BITS)
SHORT ENTERO CORTO CON SIGNO (NORMALMENTE 16
BITS)
INT ENTERO CON SIGNO (DEPENDE DE LA
IMPLEMENTACIÓN)
UNSIGNED ENTERO SIN SIGNO (DEPENDE DE LA
IMPLEMENTACIÓN)
LONG
ENTERO LARGO CON SIGNO (NORMALMENTE 32 BITS)
FLOAT FLOTANTE SIMPLE (NORMALMENTE 32 BITS)
DOUBLE FLOTANTE DOBLE (NORMALMENTE 64 BITS)
EXPRESIONES Y OPERADORES.
LOS DISTINTOS
OPERADORES PERMITEN FORMAR EXPRESIONES TANTO ARITMÉTICAS COMO LÓGICAS. LOS
OPERADORES ARITMÉTICOS Y LÓGICOS SON:
+, - SUMA, RESTA
++, -- INCREMENTO, DECREMENTO
*, /, % MULTIPLICACIÓN, DIVISIÓN, MÓDULO
>>,
<< ROTACIÓN DE BITS A LA DERECHA,
IZQUIERDA.
& AND BOOLEANO
|
OR BOOLEANO
^
EXOR BOOLEANO
~ COMPLEMENTO A 1
! COMPLEMENTO A 2, NOT LÓGICO
==,
!= IGUALDAD, DESIGUALDAD
&&, || AND, OR LÓGICO
<, <= MENOR, MENOR O IGUAL
>, >= MAYOR, MAYOR O IGUAL