martes, 19 de octubre de 2010

TIPOS DE LENGUAJE DE PROGRAMACIÓN

Primera generación:
-Lenguaje Máquina.
Ejemplo de lenguaje de máquina es el siguiente:

El segmento de código en lenguaje Java es:
int counter = 0;
    counter = counter + 1; 
podría ser trasladado en lenguaje máquina como:
 
000101000100010001000100001000101010111110
000001110101000111110000100010000010101010
 
Segunda generación:
-Ensamblador.
; HOLA.ASM
; Programa clasico de ejemplo. Despliega una leyenda en pantalla.
STACK     SEGMENT STACK                ; Segmento de pila
                    DW     64 DUP (?)             ; Define espacio en la pila
STACK     ENDS

DATA      SEGMENT                             ; Segmento de datos
SALUDO      DB    "Hola mundo!!",13,10,"$" ; Cadena
DATA      ENDS

CODE      SEGMENT                            ; Segmento de Codigo
          ASSUME CS:CODE, DS:DATA, SS:STACK

INICIO:                                                  ; Punto de entrada al programa
          MOV  AX,DATA                         ; Pone direccion en AX
          MOV  DS,AX                              ; Pone la direccion en los registros
          MOV  DX,OFFSET SALUDO      ; Obtiene direccion del mensaje
          MOV  AH,09H                            ; Funcion: Visualizar cadena
          INT     21H                                  ; Servicio: Funciones alto nivel DOS
          MOV  AH,4CH                            ; Funcion: Terminar
          INT     21H
CODE      ENDS
          END  INICIO                               ; Marca fin y define INICIO



-Tercera generación.
Lenguaje C.

#include <stdio.h>  /* gets, puts */
#include <string.h> /* strstr     */

#define MAX_LINE 8192


int main (int argc, char *argv[])

  char line[MAX_LINE];

  if (argc!=2) {

      printf("Uso: %s cadena\n",argv[0]);

  } else {

      while (gets(line)!=NULL) {

          if (strstr(line,argv[1])!=NULL)
              puts(line);
      }
  }

  return 0;
}

Lenguage Pascal.

Una aplicación que realiza la suma de dos números digitados desde el teclado, luego hace la operación mostrando por último el resultado.
Program suma;
 
Uses  crt;
 
var 
    numero1:integer;
    numero2:integer;
    suma:integer;
 
Begin
  clrscr;
 
   writeln ('Escriba el primer numero');
   readln(numero1);
 
   writeln ('Escriba el segundo numero');
   readln(numero2);
 
   suma := numero1 + numero2;
 
   writeln ('la suma es ', suma);
 
End
 
-Cuarta generación:
Visual Basic.
 












Delphi
 












LISP
*******************************************************************
Definición de la función:
 
  (defun vacia (l)
    (cond ((null l) 1)    ; si la lista esta vacia devuelve 1
          (t 0)))         ; en otro caso (lista llena) devuelve 0
 
Llamada a la función:
 
  (vacia '(1 3 4))        ; La lista no esta vacia, devolvería 0
  (vacia '())             ; La lista esta vacia, devolvería 1
*******************************************************************
(defun último (lista)
  (cond ((null (cdr lista)) (car lista))
        (t (último (cdr lista)))))
 
(último '(1 2 3 4 5 6 7))  ; devuelve el último de la lista: 7
 
 
*******************************************************************
;        ---FACTORIAL----
;Definición matemática
; Factorial(x) =  1                    si x=0   caso base
;                 x*factorial(x-1)     si x>0   caso recursivo
 
;Función factorial hecha con recursividad no final
(defun factorial (n)
   (if (= 0 n)
     1                            ; caso base
     (* n (factorial (- n 1)))))  ; caso recursivo
 
(factorial 4)              ;esto nos devolvería 24=4*3*2*1
 
 
 
 
*******************************************************************

PROLOG
%%
%% declaraciones
%%
padrede('juan', 'maria'). % juan es padre de maria
padrede('pablo', 'juan'). % pablo es padre de juan
padrede('pablo', 'marcela').
padrede('carlos', 'debora').
 
% A es hijo de B si B es padre de A
hijode(A,B) :- padrede(B,A).
% A es abuelo de B si A es padre de C y C es padre B
abuelode(A,B) :- 
   padrede(A,C), 
   padrede(C,B).
% A y B son hermanos si el padre de A es también el padre de B y si A y B no son lo mismo
hermanode(A,B) :- 
   padrede(C,A) , 
   padrede(C,B), 
   A \== B.        
 
% A y B son familiares si A es padre de B o A es hijo de B o A es hermano de B
familiarde(A,B) :- 
   padrede(A,B).
familiarde(A,B) :-
   hijode(A,B). 
familiarde(A,B) :- 
   hermanode(A,B).
%%
%% consultas
%%
% juan es hermano de marcela?
?- hermanode('juan', 'marcela').
yes
 
% carlos es hermano de juan?
?- hermanode('carlos', 'juan').
no
 
% pablo es abuelo de maria?
?- abuelode('pablo', 'maria').
yes
 
% maria es abuela de pablo?
?- abuelode('maria', 'pablo').
no

No hay comentarios:

Publicar un comentario