-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.
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