Actualizado el 15 de Junio del 2021 (Publicado el 17 de Noviembre del 2018)
1.989 visualizaciones desde el 17 de Noviembre del 2018
2,9 MB
24 paginas
Creado hace 11a (01/09/2013)
Fundamentos de la programación
1
Grado en Ingeniería Informática
Grado en Ingeniería del Software
Grado en Ingeniería de Computadores
Facultad de Informática
Luis Hernández Yáñez
Universidad Complutense
Informática, computadoras y programación
Lenguaje máquina y ensamblador
Lenguajes de programación de alto nivel
Un poco de historia
Programación e Ingeniería del Software
El lenguaje de programación C++
Sintaxis de los lenguajes de programación
Un primer programa en C++
Herramientas de desarrollo
C++: Un mejor C
3
12
15
19
24
27
30
35
39
45
z
e
ñ
á
Y
z
e
d
n
á
n
r
e
H
s
i
u
L
Fundamentos de la programación: Computadoras y programación
z
e
ñ
á
Y
z
e
d
n
á
n
r
e
H
s
i
u
L
z
e
ñ
á
Y
z
e
d
n
á
n
r
e
H
s
i
u
L
Fundamentos de la programación: Computadoras y programación
Página 3
Informática (Ciencia de la computación)
Conjunto de conocimientos científicos y técnicas
que hacen posible el tratamiento automático
de la información por medio de ordenadores
Máquina electrónica, analógica o digital,
dotada de una memoriade gran capacidad
y de métodos de tratamientode la información,
capaz de resolver problemasmatemáticos y lógicos
mediante la ejecuciónde programasinformáticos
Computadora
Fundamentos de la programación: Computadoras y programación
Página 4
En todas partes y con muchas formas
Fundamentos de la programación: Computadoras y programación
Página 5
Hardware
Componentes que integran
la parte material
de una computadora
Programas, instrucciones
y reglas informáticas
para ejecutar tareas
en una computadora
Software
Fundamentos de la programación: Computadoras y programación
Página 6
z
e
ñ
á
Y
z
e
d
n
á
n
r
e
H
s
i
u
L
z
e
ñ
á
Y
z
e
d
n
á
n
r
e
H
s
i
u
L
Programar
Indicar a la computadora qué es lo que tiene que hacer
Secuencia de instrucciones
Instrucciones que entiende la computadora
Y que persiguen un objetivo: ¡resolver un problema!
Programa
z
e
ñ
á
Y
z
e
d
n
á
n
r
e
H
s
i
u
L
z
e
ñ
á
Y
z
e
d
n
á
n
r
e
H
s
i
u
L
Fundamentos de la programación: Computadoras y programación
Página 7
Trabajo en equipo
Múltiples roles...
Gestores
Analistas
Diseñadores
Programadores
Probadores
Administradores de
sistemas
...
Parque Jurásico
Fundamentos de la programación: Computadoras y programación
Fundamentos de la programación: Computadoras y programación
Página 11
Fundamentos de la programación: Computadoras y programación
Página 12
z
e
ñ
á
Y
z
e
d
n
á
n
r
e
H
s
i
u
L
z
e
ñ
á
Y
z
e
d
n
á
n
r
e
H
s
i
u
L
Los procesadores trabajan con ceros y unos (bits)
Unidad de memoria básica: Byte(8 bits)
(2 dígitos hexadecimales: 01011011 0101 1011 5B)
Códigos hexadecimales que representan instrucciones,
registros de la CPU, direcciones de memoria o datos
Lenguaje máquina
Lenguaje de bajo nivel
Dependiente de la máquina
Instrucción Significado
A0 2F
3E 01
A0 30
3E 02
1D
B3 31
Acceder a la celda de memoria 2F
Copiarlo el registro 1 de la ALU
Acceder a la celda de memoria 30
Copiarlo en el registro 2 de la ALU
Sumar
Guardar el resultado en la celda de memoria 31
Programación difícil
Fundamentos de la programación: Computadoras y programación
Página 13
A0 READ 3E REG 1D ADD …
Nemotécnicos para los códigos hexadecimales:
Mayor legibilidad:
Código fuente
(lenguaje ensamblador)
Programa
ensamblador
Código objeto
(lenguaje máquina)
Lenguaje de nivel medio
READ 2F
REG 01
READ 30
REG 02
ADD
WRITE 31
Fundamentos de la programación: Computadoras y programación
Página 14
z
e
ñ
á
Y
z
e
d
n
á
n
r
e
H
s
i
u
L
z
e
ñ
á
Y
z
e
d
n
á
n
r
e
H
s
i
u
L
z
e
ñ
á
Y
z
e
d
n
á
n
r
e
H
s
i
u
L
z
e
ñ
á
Y
z
e
d
n
á
n
r
e
H
s
i
u
L
Fundamentos de la programación: Computadoras y programación
Página 15
Más cercanos a los lenguajes natural y matemático
Mayor legibilidad, mayor facilidad de codificación
Estructuración de datos / abstracción procedimental
resultado = dato1 + dato2;
Fundamentos de la programación: Computadoras y programación
Página 16
Traducción
Compiladores:
Compilan y enlazan
programas completos
Intérpretes:
Compilan, enlazan
y ejecutan instrucción
a instrucción
Código fuente
Compilador
Código objeto
Enlazador
Programa
ejecutable
#include <iostream>
using namespace std;
int main()
{
}
cout << "Hola Mundo!" << endl;
return 0;
0100010100111010011100…
Código
objeto de
biblioteca
Para una arquitectura concreta
y un sistema operativo
Fundamentos de la programación: Computadoras y programación
Fundamentos de la programación: Computadoras y programación
Página 18
z
e
ñ
á
Y
z
e
d
n
á
n
r
e
H
s
i
u
L
z
e
ñ
á
Y
z
e
d
n
á
n
r
e
H
s
i
u
L
z
e
ñ
á
Y
z
e
d
n
á
n
r
e
H
s
i
u
L
z
e
ñ
á
Y
z
e
d
n
á
n
r
e
H
s
i
u
L
Fundamentos de la programación: Computadoras y programación
Página 19
La prehistoria
El ábaco
Siglo XIX
Máquina analítica de Charles Babbage
(Wikipedia)
Lady Ada Lovelace
es considerada
la primera
programadora
Fundamentos de la programación: Computadoras y programación
Página 20
Siglo XX
1936 Máquina de Turing
1946 ENIAC: Primera computadora digital
de propósito general
1947 El transistor
1953 IBM 650: Primera
computadora a gran escala
1966 ARPANET: Origen de Internet
1967 El disquete
1970 Sistema operativo UNIX
1972 Primer virusinformático (Creeper)
Lenguaje de programación C
1974 Protocolo TCP. Primera red local
ENIAC (Wikipedia)
Fundamentos de la programación: Computadoras y programación
Página 21
1975 Se funda Microsoft
1976 Se funda Apple
1979 Juego Pacman
1981 IBM PC
Sistema operativo MS‐DOS
1983 Lenguaje de programación C++
1984 CD‐ROM
1985 Windows1.0
1990 Lenguaje HTML
1991 Sistema operativo Linux
World Wide Web
Apple II (Wikipedia)
Linux
IBM PC (Wikipedia)
Fundamentos de la programación: Computadoras y programación
Página 22
z
e
ñ
á
Y
z
e
d
n
á
n
r
e
H
s
i
u
L
z
e
ñ
á
Y
z
e
d
n
á
n
r
e
H
s
i
u
L
1992 Windows 3.1
1995 Lenguaje de programación Java
DVD
1998 Se funda Google
1999 MSN Messenger
Siglo XXI
2001 Windows XP
Mac OSX
2002 MozillaFirefox
2007 iPhone
2008 Android...
Fundamentos de la programación: Computadoras y programación
Página 23
Fundamentos de la programación: Computadoras y programación
Página 24
z
e
ñ
á
Y
z
e
d
n
á
n
r
e
H
s
i
u
L
z
e
ñ
á
Y
z
e
d
n
á
n
r
e
H
s
i
u
L
¿Qué es programar?
Entrada
Decirle a un tonto muy rápido exactamente lo que tiene que hacer
Especificar la estructuray el comportamientode un programa,
así como probarque el programa realiza su tarea
adecuadamentey con un rendimientoaceptable
Programa: Transforma entrada en salida
Salida
Programa
Algoritmo: Secuencia de pasos y operaciones que debe realizar
el programa para resolver el problema
El programa implementa el algoritmo en un lenguaje concreto
Fundamentos de la programación: Computadoras y programación
Página 25
La programación es sólo una etapa del proceso de desarrollo
Modelo de desarrollo “en cascada”:
Planificación
Recursos necesarios, presupuesto, plan, …
¿Qué? ¿Cómo?Implementación
Análisis
Análisis
Diseño
Diseño
Programación
Programación
Prueba y depuración
Prueba y depuración
Mantenimiento
Mantenimiento
Fundamentos de la programación: Computadoras y programación
Página 26
z
e
ñ
á
Y
z
e
d
n
á
n
r
e
H
s
i
u
L
z
e
ñ
á
Y
z
e
d
n
á
n
r
e
H
s
i
u
L
z
e
ñ
á
Y
z
e
d
n
á
n
r
e
H
s
i
u
L
z
e
ñ
á
Y
z
e
d
n
á
n
r
e
H
s
i
u
L
Fundamentos de la programación: Computadoras y programación
Comentarios de: FP01 - Computadoras y programación (0)
No hay comentarios