Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Arriola-Ros
Ciencias de la Computacin
En pocas palabras
I Computacin 1
1. Ciencias de la Computacin 2
1.1. Computacin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2. Antecedentes histricos . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.3. Teora de la Computacin . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Algoritmos 4
2.1. Algoritmo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
3. Mquinas de estados 5
3.1. Definicin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
3.2. Clasificacin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
3.2.1. Sistema de transiciones . . . . . . . . . . . . . . . . . . . . . . 6
3.2.2. Mquina de estados finitos . . . . . . . . . . . . . . . . . . . . 6
3.2.3. Llamadas devueltas (callbacks) . . . . . . . . . . . . . . . . . 7
3.3. Espacio de estados . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
4. Programacin 8
4.1. Tipos de errores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
5. Tipos de datos 9
I
NDICE GENERAL
NDICE GENERAL
II Programacin estructurada 11
6. Lenguajes 12
6.1. Programa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
6.2. Del bajo al alto nivel de abstraccin . . . . . . . . . . . . . . . . . . . 12
7. POO 15
7.1. El modelo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
7.1.1. Qu es un objeto? . . . . . . . . . . . . . . . . . . . . . . . . 16
7.1.2. Datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
7.1.3. Rutinas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
7.1.4. Tipo de dato abstracto . . . . . . . . . . . . . . . . . . . . . . 17
7.2. Clases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
II
PARTE I
C OMPUTACIN
C IENCIAS DE LA
C OMPUTACIN
1 | Ciencias de la Computacin
C OMPUTACIN
La palabra Computacin viene del latn Computatio, que significa cmputo, cuenta o
clculo. Un cmputo es un procedimiento mecnico que permite calcular un resultado
a partir de un conjunto de datos de entrada.
A NTECEDENTES HISTRICOS
2
1.3 Teora de la Computacin
C IENCIAS DE LA
C OMPUTACIN
Fecha Personaje Contribucin
1854 George Boole Fundamentos de la lgica formal
1832-1943 David Hilbert Propone encontrar un sistema de axiomas
lgico matemtico nico para todas las
reas de la matemtica
1906-1978 Kurt Gdel Demuestra que lo que propone Hilbert no
es posible.
1936 Alan Turing Estudia la existencia de soluciones algort-
micas. Disea la Mquina Turing.
1939-1945 Wallace J. ENIAC, primera gran computadora digital
Eckert y John totalmente electrnica.
W. Mauchly
1937-1942 Claude Shannon Teora de la informacin
y Warren Weaver
1944 John von Los datos y los programas pueden compartir
Neumann el almacenaje.
T EORA DE LA C OMPUTACIN
Definicin 1.1: Teora de la Computacin
3
A LGORITMOS
2 | Algoritmos
A LGORITMO
Definicin 2.1: Algoritmo
Est bien definido: cada uno de los pasos a sido descrito en detalle y sin am-
bigedades para su realizacin.
Figura 2.1 Diagrama de bloques del concepto algoritmo. R es una relacin matem-
tica que se desea satisfacer. El algoritmo indica los pasos necesarios para transformar
a las entradas en las salidas de tal modo que R sea satisfecha.
4
3 | Mquinas de estados
M QUINAS DE
ESTADOS
D EFINICIN
Ejemplo 3.1 Sea el sistema la perilla de una caja fuerte. Digamos que en esta perilla
se pueden seleccionar valores del 1 al 4. Para abrir la caja se debe ingresar la combi-
nacin 2 izquierda 3 derecha 4 en ese orden. El funcionamiento de la perilla
se puede describir con una mquina de estados con los elementos siguientes:
5
Mquinas de estados
Cualquier otra
Cualquier otra
frenar en 3
Cualquier otra
Cualquier otra 3
M QUINAS DE
ESTADOS
4 derecha
frenar en 4
Figura 3.1 Mquina de estados para una perilla de caja fuerte con combinacin
2 izquierda 3 derecha 4.
Funcin de transicin
C LASIFICACIN
Sistema de transiciones
Tiene un nmero finito de estados, transiciones y acciones, que pueden ser mode-
ladas como una grfica dirigida.
6
3.3 Espacio de estados
Acciones
Transicin
M QUINAS DE
1
Entrada (input)
ESTADOS
Inicio (entry)
Salida
A2
Deterministic automata have exactly one transition in every state for each pos-
sible input. In non-deterministic automata, a state input leads to one, many, or no
transitions. A state machine with only one state is called a combinatorial state machine
and uses only input actions.
E SPACIO DE ESTADOS
1 https://www.techopedia.com/definition/16447/state-machine
2 https://github.com/pluginaweek/state_machine
7
4 | Programacin
T IPOS DE ERRORES
P ROGRAMACIN
Sintcticos
Semnticos
Lgicos
8
5 | Tipos de datos
T IPOS DE DATOS
T IPOS DE DATOS
1. Un conjunto de datos.
2. Sus operaciones.
3. Su representacin en la computadora.
Nombre: int
Operaciones: +, , , /
VARIABLES
Al crear una variable se esta partando una localidad de memoria para guardar algo
en ella. El nombre le sirve al programador para referirse a esa localidad de memoria.
Hay tres aspectos que nos importan especialmente de una variable:
Tipo El tipo de datos que se podr guardar en ella. Tambin se se guarda el valor
o una referencia al valor (su direccin).
9
Tipos de datos
10
PARTE II
P ROGRAMACIN ESTRUCTURADA
6 | Lenguajes de programacin
P ROGRAMA
Definicin 6.1: Programa
Para que un programa sea ejecutado por una computadora, es necesario que est
escrito en un cdigo que entienda la mquina. A este cdigo se le llama lenguaje de
mquina y es especfico de cada modelo de computadora.
12
6.2 Del bajo al alto nivel de abstraccin
L ENGUAJES
mensajes de error
13
PARTE III
O RIENTACIN A OBJETOS
7 | Introduccin a la programacin
orientada a objetos
Permite estructurar mejor los programas, de modo que sea ms fcil entender
qu hace cada rutina.
POO
pequeos componentes que pueden ser probados aisladamente.
Mnemo 7.1
POO = encapsulamiento + herencia
1 Para
una discusin ms detallada de lo que significa la palabra paradigma a secas, consultar
Porto & Merino (Publicado: 2008. Actualizado: 2012.)
15
POO
EL MODELO
Qu es un objeto?
Un objeto es una abstraccin que contiene datos y las rutinas que procesan esos
datos.
Datos
Los objetos guardan sus datos en variables, conocidas como atributos o variables
de instancia. Los valores guardados en estas variables pueden cambiar a lo largo de la
ejecucin de un programa, por lo que se hace necesario hablar del estado del objeto.
Definicin 7.2
POO
Estado del objeto El estado del objeto son los valores que tienen sus atributos en
un momento dado.
Rutinas
Distinguiremos cinco tipos de rutinas asociadas a los objetos, a las cuales llamaremos
mtodos Viso & Pelez (2012):
De implementacin: son los que ofrecen los servicios especiales para los que fue
diseado el objeto.
16
7.1 El modelo
Mnemo 7.2
T DA = estado + comportamiento
POO
Nombre: Colores primarios substractivos
17
POO
Suma:
x+x=x
Rojo + Azul = Morado
Rojo + Amarillo = Naranja
Amarillo + Azul = Verde
Indefinido
C LASES
POO
18
Bibliografa
Aho, A. V., Lam, M. S., Sethi, R. & Ullman, J. D. (2007), Compilers, Princi-
ples,Techniques and Tools, Addison Wesley.
Hyman, M. & Arnson, B. (1998), Visual C++ 6 for Dummies, IDG Books Worldwide,
Inc.
Viso, E. & Pelez, C. (2012), Introduccin a las Ciencias de la Computacin con Java,
Temas de computacin, 2a edn, Las prensas de ciencias.
BIBLIOGRAFA
19