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