Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Presentacion 1
Presentacion 1
• Tema 1 de apuntes
• Abstracción
• Paradigmas de programación
• Compiladores e intérpretes
Much of my work has come from being lazy. I didn't like writing programs, and so,
when I was working on the IBM 701, writing programs for computing missile
trajectories, I started work on a programming system to make it easier to write
programs.
• Estudios teóricos
• Estandarización
10
• Ruby:
11
• Scala:
12
A powerful programming language is more than just a means for instructing a computer
to perform tasks. The language also serves as a framework within which we organize
our ideas about processes. Thus, when we describe a language, we should pay
particular attention to the means that the language provides for combining simple ideas
to form more complex ideas.
13
14
16
• Paradigma funcional
• Paradigma lógico
17
• Definición de funciones
(define (factorial x)
• Programación declarativa (if (= x 0)
1
(* x (factorial (- x 1)))))
18
• Definición de reglas
• Programación declarativa
padrede('pablo', 'juan'). % pablo es padre de juan
padrede('pablo', 'marcela').
padrede('carlos', 'debora').
hijode(A,B) :- padrede(B,A).
• Lenguajes: Prolog, Mercury, Oz. abuelode(A,B) :- padrede(A,C), padrede(C,B).
hermanode(A,B) :- padrede(C,A) , padrede(C,B), A \== B.
familiarde(A,B) :- padrede(A,B).
familiarde(A,B) :- hijode(A,B).
familiarde(A,B) :- hermanode(A,B).
?- hermanode('juan', 'marcela').
yes
?- hermanode('carlos', 'juan').
no
?- abuelode('pablo', 'maria').
yes
?- abuelode('maria', 'pablo').
no
19
• Definición de procedimientos
tRango = record
f,c: tDimension value 1;
end;
• Pasos de ejecución de un proceso tpMatriz = ^eMatriz;
• Ejemplo en Java
21
23
• Ejemplos: C, C++
• Mayor eficiencia
24
25
26
27
28