PDF de programación - Qué es una computadora - Fundamentos de programación

Imágen de pdf Qué es una computadora - Fundamentos de programación

Qué es una computadora - Fundamentos de programacióngráfica de visualizaciones

Publicado el 12 de Agosto del 2019
188 visualizaciones desde el 12 de Agosto del 2019
1,6 MB
8 paginas
Creado hace 7a (01/10/2012)
Fundamentos de programación

Informática, computadora, y programación

¿Qué es la Informática?
¿Qué es la Informática?

1

Grado en Ingeniería Informática
Grado en Ingeniería Informática
Grado en Ingeniería del Software
Grado en Ingeniería del Software
Grado en Ingeniería de Computadores
Grado en Ingeniería de Computadores

Material de la Prof.ª Mercedes Gómez Albarrán
Material de la Prof.ª Mercedes Gómez Albarrán
Versión revisada y ampliada del material del Prof. Luis Hernández Yáñez
Versión revisada y ampliada del material del Prof. Luis Hernández Yáñez
Facultad de Informática
Facultad de Informática
Universidad Complutense
Universidad Complutense

¿Qué es una computadora?
¿Qué es una computadora?

Hardware vs. software
Hardware vs. software

¿En qué consiste la programación de computadoras?
¿En qué consiste la programación de computadoras?

Fundamentos de programación: Computadoras y programación
Fundamentos de programación: Computadoras y programación

Página
Página 11

El hombre y sus primeros intentos de
procesar la información

Ábaco –– 2.000 a.c.
Ábaco
2.000 a.c.

El sumador de Pascal –– mediados s.XVII
El sumador de Pascal
mediados s.XVII

La La Pascalina
Pascalina
(Wikipedia)
(Wikipedia)

Comienza la era de la Informática

19451945

El modelo de J. von Neumann: estructura de la computadora
El modelo de J. von Neumann: estructura de la computadora
El concepto de programa interno
El concepto de programa interno

La calculadora de G.W. von Leibniz –– finales s.XVII
La calculadora de G.W. von Leibniz
finales s.XVII

Dispositivos de E/S
Dispositivos de E/S

La máquina de diferencias de Babbage
La máquina de diferencias de Babbage –– s.XIXs.XIX
El concepto de programa externo
El concepto de programa externo

Lady Ada Lovelace es
Lady Ada Lovelace es
considerada la primera
considerada la primera
programadora
programadora

C.P.U. (Procesador)
C.P.U. (Procesador)

ALUALU

Unidad Aritmético--Lógica
Unidad Aritmético
Lógica

Unidad de Control
Unidad de Control

Memoria
Memoria

Fundamentos de programación: Computadoras y programación
Fundamentos de programación: Computadoras y programación

Página
Página 22

Fundamentos de programación: Computadoras y programación
Fundamentos de programación: Computadoras y programación

Página
Página 33

Algunos hitos en la vida de la Informática

Las computadoras están por todas partes

¡Con múltiples formas distintas de un PC!
¡Con múltiples formas distintas de un PC!

¿Cuándo se crean los primeros lenguajes de programación? ¿cuáles
¿Cuándo se crean los primeros lenguajes de programación? ¿cuáles
fueron? ¿Es C++ mayor de edad? ¿Quién es más joven: C++ o Java?
fueron? ¿Es C++ mayor de edad? ¿Quién es más joven: C++ o Java?

¿Cuál puede considerarse el primer virus informático?
¿Cuál puede considerarse el primer virus informático?

¿Quién surge primero: MS
¿Quién surge primero: MS--DOS, Windows, UNIX, Linux,
¿Quién surge primero: MS
¿Quién surge primero: MS--DOS, Windows, UNIX, Linux,

DOS, Windows, UNIX, Linux, Android
DOS, Windows, UNIX, Linux, Android
Android??
Android??

¿Cuándo se crea la WWW?
¿Cuándo se crea la WWW?

¿Qué soportes externos conoces: disquete, CD, DVD? ¿Alguno nació
¿Qué soportes externos conoces: disquete, CD, DVD? ¿Alguno nació
antes que tú?
antes que tú?

¿Quién es Alan Turing
¿Quién es Alan
Turing??

Fundamentos de programación: Computadoras y programación
Fundamentos de programación: Computadoras y programación

Página
Página 44

Fundamentos de programación: Computadoras y programación
Fundamentos de programación: Computadoras y programación

Página
Página 55

¿Qué entiende la computadora?

Lenguaje máquina

Computadora
Computadora: Máquina electrónica

: Máquina electrónica digital

digital, dotada de ...
, dotada de ...

Pasos

a = (b + d)/(c + e)

La computadora manipula información digital: esquema binario
La computadora manipula información digital: esquema binario

¿Por qué no se usa una representación analógica de la información?
¿Por qué no se usa una representación analógica de la información?

¿A qué nos conduce la solución adoptada para evitar el problema
¿A qué nos conduce la solución adoptada para evitar el problema
tecnológico?
tecnológico?

sumar cc y y ee, y guardar el resultado en una dirección de memoria
, y guardar el resultado en una dirección de memoria

sumar bb yy dd, y guardar el resultado en una dirección de memoria
, y guardar el resultado en una dirección de memoria

sumar
temporal
temporal X X
sumar
temporal
temporal YY
dividir el contenido de
dividir el contenido de

dividir el contenido de YY por el de
dividir el contenido de YY por el de

por el de XX y guardar en la dirección de
por el de XX y guardar en la dirección de
y guardar en la dirección de aa
y guardar en la dirección de aa

Ejemplo de código máquina

codigoOp direccOp1 direccOp2 direccRes

Código de la suma

0000 00001000 00001100 00001110
0000 00011000 00011100 00011110
0101 00011110 00001110 00000100

Direcc. Temporal X

Código de la división

Direcc. Temporal Y

Fundamentos de programación: Computadoras y programación
Fundamentos de programación: Computadoras y programación

Página
Página 66

Fundamentos de programación: Computadoras y programación
Fundamentos de programación: Computadoras y programación

Página
Página 77

Lenguaje máquina

Lenguaje ensamblador

Lenguaje de programación de bajo nivel
Lenguaje de programación de bajo nivel
Nulo nivel de abstracción: los códigos contienen los ceros y unos
Nulo nivel de abstracción: los códigos contienen los ceros y unos
que gobiernan directamente los circuitos de la CPU
que gobiernan directamente los circuitos de la CPU

Totalmente dependiente de la máquina
Totalmente dependiente de la máquina
Cada familia de procesadores usa sus propios códigos,
Cada familia de procesadores usa sus propios códigos,
distintos de los de otras familias
distintos de los de otras familias

Programación: muy

Programación: muy tediosa
tediosa

Grandes posibilidades de error
Grandes posibilidades de error

Lenguaje simbólico con una mínima capacidad de abstracción
Lenguaje simbólico con una mínima capacidad de abstracción

Nemotécnicos para los códigos que representan
Nemotécnicos para los códigos que representan
instrucciones
instrucciones
Nombres simbólicos para las direcciones de memoria
Nombres simbólicos para las direcciones de memoria

a = (b + d)/(c + e)

ADD C, E, X
ADD B, D, Y
DIV Y, X, A

Mayor legibilidad
Mayor legibilidad
¿Cómo entiende la máquina este código?
¿Cómo entiende la máquina este código?
Dependiente de la máquina
Dependiente de la máquina

Código fuente
Código fuente

(lenguaje ensamblador)
(lenguaje ensamblador)
(lenguaje ensamblador)
(lenguaje ensamblador)

Programa ensamblador
Programa ensamblador

Código objeto
Código objeto

(lenguaje máquina)
(lenguaje máquina)

Fundamentos de programación: Computadoras y programación
Fundamentos de programación: Computadoras y programación

Página
Página 88

Fundamentos de programación: Computadoras y programación
Fundamentos de programación: Computadoras y programación

Página
Página 99

Lenguajes de programación de alto nivel

Lenguajes de programación de alto nivel

Lenguaje que permite expresar el mecanismo de resolución de
Lenguaje que permite expresar el mecanismo de resolución de
problemas usando instrucciones independientemente de la
problemas usando instrucciones independientemente de la
computadora
computadora
Más cercanos a los lenguajes natural y matemático
Más cercanos a los lenguajes natural y matemático

a = (b + d)/(c + e);

Capacidad de abstracción
Capacidad de abstracción

Abstracción procedimental
Abstracción procedimental
Abstracción procedimental
Abstracción procedimental
Abstracción de datos
Abstracción de datos

Mayor legibilidad, mayor facilidad de codificación
Mayor legibilidad, mayor facilidad de codificación
¿Cómo conseguir que la computadora “entienda” los programas
¿Cómo conseguir que la computadora “entienda” los programas
escritos en lenguajes de alto nivel?
escritos en lenguajes de alto nivel?
Compiladores e intérpretes
Compiladores e intérpretes

COBOL
COBOL
COBOL
COBOL

1959
1959
1959
1959

FORTRAN
FORTRAN
FORTRAN
FORTRAN

1954
1954
1954
1954

ALGOL
ALGOL
ALGOL
ALGOL

1958
1958
1958
1958

LispLisp
LispLisp
1958
1958
1958
1958

PL/IPL/I
PL/IPL/I
1964
1964
1964
1964

CPLCPL
CPLCPL
1963
1963
1963
1963

BASIC
BASIC
BASIC
BASIC
BASIC
BASIC
BASIC
BASIC
1964
1964
1964
1964

Simula
Simula
Simula
Simula
1964
1964
1964
1964

C++C++
C++C++
1983
1983
1983
1983

Prolog
Prolog
Prolog
Prolog
1970
1970
1970
1970

CC
CC

1971
1971
1971
1971

Pascal
Pascal
Pascal
Pascal
1970
1970
1970
1970

Modula
Modula
Modula
Modula

1975
1975
1975
1975

JavaJava
JavaJava
1995
1995
1995
1995

C#C#
C#C#
2000
2000
2000
2000

Python
Python
Python
Python
1991
1991
1991
1991

AdaAda
AdaAda
1979
1979
1979
1979

Eiffel
Eiffel
Eiffel
Eiffel
1986
1986
1986
1986

RubyRuby
RubyRuby
1993
1993
1993
1993

Haskell
Haskell
Haskell
Haskell

1987
1987
1987
1987

Smalltalk
Smalltalk
Smalltalk
Smalltalk

1971
1971
1971
1971

Scheme
Scheme
Scheme
Scheme

1975
1975
1975
1975

Logo
Logo
Logo
Logo
1968
1968
1968
1968

Fuente: http://www.levenez.com/lang/
Fuente:
http://www.levenez.com/lang/

Fundamentos de programación: Computadoras y programación
Fundamentos de programación: Computadoras y programación

Página
Página 1010

Fundamentos de programación: Computadoras y programación
Fundamentos de programación: Computadoras y programación

Página
Página 1111

Estado
Estado
inicial
inicial

Algoritmo
Algoritmo

Estado
Estado
  • Links de descarga
http://lwp-l.com/pdf16448

Comentarios de: Qué es una computadora - Fundamentos de programación (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios
Es necesario revisar y aceptar las políticas de privacidad