Documentos de Académico
Documentos de Profesional
Documentos de Cultura
les decimos
(no siempre igual a lo que queremos!)
• ! Errores pequeños pueden provocar
fallos graves
Lenguajes
de
Programación
Un lenguaje de programación es una
herramienta para producir software.
Se compone de un conjunto de
reglas, símbolos y signos que
permiten la comunicación con el
ordenador.
Lenguajes
de
programación
Tipos:
– Lenguajes
de
bajo
nivel
Lenguaje
máquina
Lenguaje
ensamblador
– Lenguajes
de
alto
nivel
Lenguajes
impera:vos
o
procedurales
Lenguajes
declara:vos
Lenguajes
funcionales
o
de
programación
lógica.
Lenguajes
de
programación
Evolución
histórica:
–
-‐52:
L.
Máquina
– 49-‐56:
Ensambladores
– 54-‐...:
Fortran
(56),
Algol
(58),
Cobol
(59),
Lisp
(62),
Basic
(64),
C
(72),
Pascal
(73),
Modula-‐2
(79),
Ada
(80)...
– 61-‐...:
Entornos
de
programación,
Prolog(72),
Smalltalk
(72),
C++
(85),
Haskell
(88),
Java...
Lenguajes
de
programación
LENGUAJE
MÁQUINA:
Es
el
único
que
en:ende
directamente
la
computadora.
Las
instrucciones
se
expresan
en
sistema
binario
(cadenas
de
0’s
y
1’s)
u
octal
o
hexadecimal.
Los
datos
se
referencian
por
medio
de
las
direcciones
de
memoria
donde
están.
Tiene
una
sintaxis
rígida.
Depende
de
la
CPU
del
ordenador.
Lenguajes
de
programación
LENGUAJE
MÁQUINA:
Repertorio
de
instrucciones
reducido.
La
programación
en
este
lenguaje
es
tediosa
y
complicada
No
admite
poner
comentarios
=>
Diqcil
legibilidad.
Permite
u:lizar
la
totalidad
de
los
recursos.
Programas
muy
eficientes
en
:empo
de
ejecución
y
en
ocupación
de
memoria.
Lenguajes
de
programación
LENGUAJE
MÁQUINA:
Ejemplo:
0000
0
101
1101
:
Carga
el
acumulador
(0000)
con
el
contenido
de
la
dirección
de
memoria
(101
11012
=
9310)
1100
1
011
1011
:
Suma
(1100)
indirecta
(1)
del
contenido
de
la
dirección
(011
10112
=
5910)
con
el
acumulador.
Lenguajes
de
programación
LENGUAJE
ENSAMBLADOR:
Es
más
cercano
al
lenguaje
humano.
Usa
notación
simbólica
o
nemotécnica
para
representar
los
códigos
de
operación.
También
u:liza
nombres
para
referenciar
datos
guardados
en
memoria.
Permite
el
uso
de
comentarios.
Cada
instrucción
en
ensamblador
se
corresponde
con
una
en
lenguaje
máquina.
5.2
Lenguajes
Lenguajes
dde
e
pprogramación
rogramación
LENGUAJE
ENSAMBLADOR:
La
traducción
es
realizada
por
un
programa
traductor
llamado
ensamblador.
Posee
la
mayoría
de
los
inconvenientes
del
lenguaje
maquina:
Baja
portabilidad.
Formato
de
instrucciones
rígido.
Repertorio
reducido.
5.2
Lenguajes
Lenguajes
dde
e
pprogramación
rogramación
LENGUAJE
ENSAMBLADOR:
Ejemplo:
CAR
Numero
:
Carga
el
acumulador
(CAR)
con
el
contenido
de
la
dirección
de
memoria
(Numero)
SUM
Coste
:
Suma
(SUM)
del
contenido
de
la
dirección
de
memoria
(Coste)
con
el
acumulador.
5.2
Lenguajes
Lenguajes
dde
e
pprogramación
rogramación
LENGUAJES
DE
ALTO
NIVEL:
CARACTERÍSTICAS:
Son
independientes
de
la
arquitectura
qsica
del
computador
(transportables).
Una
instrucción
se
traduce
en
varias
instrucciones
en
lenguaje
máquina
(potentes).
U:lizan
una
nomenclatura
cercana
a
la
usada
por
las
personas
(fácil
de
aprender).
Facilita
la
escritura
y
lectura
de
programas
(claros
y
legibles).
5.2
Lenguajes
Lenguajes
dde
e
pprogramación
rogramación
LENGUAJES
DE
ALTO
NIVEL:
CARACTERÍSTICAS:
Las
instrucciones
se
expresan
por
medio
de
texto
(inglés)
con
caracteres
alfanuméricos
y
caracteres
especiales
(+,
-‐,
*
,
/
,
=
...).
Dispone
de
instrucciones
complejas,
para
todo
:po
de
operaciones
aritmé:cas,
para
entrada/
salida
de
datos...
Hay
una
gran
can:dad
y
variedad
de
lenguajes
de
alto
nivel.
Java,
FORTRAN,
C,
C++,
PASCAL,
Matlab.
5.2
Lenguajes
Lenguajes
dde
e
pprogramación
rogramación
LENGUAJES
DE
ALTO
NIVEL:
Ejemplo
(Matlab):
func:on
cuadrado
%
Este
programa
calcula
cuadrados
de
1
a
10:
for
i=1:10
disp([i
i^2])
end
Lenguajes
de
Programación
1. Tanto los lenguajes de alto nivel como los de bajo nivel, no
son entendibles directamente por la máquina.
2. Necesitan ser traducidos a instrucciones en lenguaje de
máquina
3. Es necesario disponer de un "traductor" o interfase con el
lenguaje de máquina para que el programa sea ejecutable.
!Interpretes
Compiladores
Software que traduce el programa
inicial (programa fuente) escrito en
un lenguaje de alto nivel, a un
programa (programa objeto) en
lenguaje de máquina factible de ser
ejecutado
Intérpretes
Analizan, traducen y ejecutan una a una las
instrucciones del programa fuente; no se
analiza una instrucción hasta que la
anterior se haya ejecutado.
Los intérpretes no generan programa objeto.
Entornos
Integrados
de
Desarrollo
Un "IDE" es un software que incorpora
todas las herramientas necesarias para
el desarrollo de nuestros programas
ALGORITMOS:
Conjunto
ordenado
de
pasos
a
seguir
para
resolver
un
problema
concreto,
en
un
:empo
finito
y
sin
ambigüedad.
– Acciones
bien
definidas
– Secuencia
finita
y
ordenada
– Tiempo
finito
Analogía
con
el
arte
de
la
cocina
Mi
Primer
Algoritmo
• Diseñar algoritmos para
• ! Preparar una tortilla de patatas
• ! Hacer una llamada telefónica
• ! Preparar un cubata
alta
Ejemplo
de
ALGORITMO
Determinar
si
un
número
es
par:
1. Leer
N
2. Si
N=2
Escribe:
“es
par”
3. Si
N=1
Escribe:
“es
impar”
4. Si
N=1
o
N=2
ir
a
7
5. N=N-‐2
6. Ir
a
2
7. Fin
del
procedimiento
Organización
5.3
dde
e
los
Organización
los
pprogramas
rogramas
ALGORITMOS:
Caracterís:cas:
– Precisión
(no
debe
permi:r
dobles
interpretaciones)
– Repe::vidad
(si
el
algoritmo
se
prueba
dos
veces,
en
estas
dos
pruebas,
se
debe
obtener
el
mismo
resultado)
– Finito
en
tamaño
y
:empo
de
ejecución
– Debe
ser
general,
es
decir,
soportar
la
mayoría
de
las
variantes
de
entrada).
Propiedad:
que
se
puedan
presentar
en
la
definición
del
problema
(datos
Leer
Dato
5.3
Organización
Organización
dde
e
los
los
pprogramas
rogramas
Ejemplo:
Suma
de
un
numero
variable
de
datos:
Inicio
Suma = 0
Leer Dato
Si
Dato<>0
Suma = Suma + Dato
No
Escribir Suma
Fin
5.3
Organización
Organización
dde
e
los
los
pprogramas
rogramas
REPRESENTACIÓN
DE
ALGORITMOS:
– Pseudocódigo
o
lenguaje
de
descripción
de
algoritmos:
Es
un
conjunto
pequeño
y
completo
de
sentencias
mediante
las
cuales
podemos
expresar
todas
las
instrucciones
básicas.
Reglas:
Cada
iden:ficador
(variable,
constante...)
debe
tener
un
nombre
significa:vo
Cada
sentencia
debe
ir
en
una
línea
Los
nombres
de
las
sentencias
son
únicos.
5.3
Organización
Organización
dde
e
los
los
pprogramas
rogramas
REPRESENTACIÓN
DE
ALGORITMOS:
– Pseudocódigo
Ejemplo:
Suma
de
un
numero
variable
de
datos:
Suma
=
0
lee
(dato)
mientras
(dato
<>
0)
suma
=
suma
+
dato
lee
(dato)
fin
mientras
escribe
(‘La
suma
total
es
=
‘,
Suma)
5.3
Organización
Organización
dde
e
los
los
pprogramas
rogramas
REPRESENTACIÓN
DE
ALGORITMOS:
– Pseudocódigo
– Ventajas
sobre
las
representaciones
gráficas
• Es
más
compacto