Вы находитесь на странице: 1из 48

Mdulo 1

Introducci
n

rogramacin
de
omputadore
s
Facultad Ingeniera
Departamento de Ingeniera de Sistemas e Industrial

UN - Virtual
2008

Programacin de Computado
Modulo 1. Introduccin

CONTENIDO
1. Arquitectura de un Computador
2. Problemas
3. Algoritmo
4. Solucin de problemas
Algortmicos
Facultad Ingeniera
Departamento de Ingeniera de Sistemas e Industrial

UN - Virtual
2008

Programacin de Computado
Modulo 1. Introduccin

Arquitectura de un
Est dividida en dos Computador
1.

partes importantes:

Hardware: Es la que
hace referencia a la
parte fsica de un
computador y de
cualquier dispositivo
electrnico.

CPU

La Arquitectura Von
Newman

Software: Es la que
hace referencia a la
parte lgica de un
computador.
Facultad Ingeniera
Departamento de Ingeniera de Sistemas e Industrial

UN - Virtual
2008

Programacin de Computado
Modulo 1. Introduccin

Hardware
Unidad central de Proceso
Dispositivos de entrada, salida,
almacenamiento, comunicacin y cmputo
Memoria

CPU

La Arquitectura Von Newman


Facultad Ingeniera
Departamento de Ingeniera de Sistemas e Industrial

1. Arquitectura de
Computador

Programacin de Computado
Modulo 1. Introduccin

Unidad Central de Proceso


(CPU)

Micropocesador
Athlon 64 X2 E6 3800+

Facultad Ingeniera
Departamento de Ingeniera de Sistemas e Industrial

1. Arquitectura del
Computador

Programacin de Computado
Modulo 1. Introduccin

Dispositivos
Entrada

Salida

Cmputo

Comunicacin

Facultad Ingeniera
Departamento de Ingeniera de Sistemas e Industrial

Almacenamiento

1. Arquitectura de un
Computador

Programacin de Computado
Modulo 1. Introduccin

Tipos de memoria
RAM (Random Access Memory): Memoria de
escritura y lectura. El contenido solo se mantiene
mientras el computador est encendido.
ROM (Read Only Memory): Memoria de solo
lectura, es permanente y no se afecta por el
encendido o apagado del computador.
Cach: Memoria de acceso muy rpido, usada
como puente entre la UCP y la memoria RAM, para
evitar las demoras en la consulta de la memoria
RAM.
Facultad Ingeniera
Departamento de Ingeniera de Sistemas e Industrial

1. Arquitectura de un
Computador

Programacin de Computado
Modulo 1. Introduccin

Representacin en
Memoria

Elementos que pueden estar en dos estados


(prendidos o apagados).

El sistema de numeracin binario:


representacin de este tipo de datos. Utiliza
dos smbolos el 1 y el 0.
Facultad Ingeniera
Departamento de Ingeniera de Sistemas e Industrial

1. Arquitectura de un
Computador

Programacin de Computado
Modulo 1. Introduccin

Cdigo Binario
Cada 1 en un nmero binario representa
una potencia de 2 segn su posicin
Ejemplo: El nmero
representa el valor 38

Facultad Ingeniera
Departamento de Ingeniera de Sistemas e Industrial

binario

100110

1. Arquitectura de un
Computador

Programacin de Computado
Modulo 1. Introduccin

Medida de la Memoria
Unidad bsica de informacin: BIT que
corresponde a un nico dgito binario
(puede tomar los valores 1 o 0).
BYTE: conjunto de 8 bits. 256 valores
diferentes: desde el 00000000 (0 en
decimal) al 11111111 (255 en decimal).

Facultad Ingeniera
Departamento de Ingeniera de Sistemas e Industrial

1. Arquitectura de un
Computador

Programacin de Computado
Modulo 1. Introduccin

Cantidades de Memoria
Ejemplos:
1 Kilo Byte = 210 Bytes = 1024 Bytes
1 Mega Byte = 210 KBytes = 220 Bytes
= 1048576 Bytes
1 Giga Byte = 210 MBytes = 230 Bytes
1 Tera Byte = 210 GBytes = 240 Bytes
Facultad Ingeniera
Departamento de Ingeniera de Sistemas e Industrial

1. Arquitectura de un
Computador

Programacin de Computado
Modulo 1. Introduccin

Software
Software: conjunto de instrucciones que le
dicen al hardware que hacer.

Sistema Operativo
Herramientas de Desarrollo
Aplicaciones

Facultad Ingeniera
Departamento de Ingeniera de Sistemas e Industrial

1. Arquitectura de un
Computador

Programacin de Computado
Modulo 1. Introduccin

Arquitectura de Software
Lenguaje
Alto Nivel

Lenguaje
Lenguaje Hardware
EnsambladorMaquina

Sistema Operativo

Aplicacione
s
Facultad Ingeniera
Departamento de Ingeniera de Sistemas e Industrial

Herramientas
1. Arquitectura de un
Computador

Programacin de Computado
Modulo 1. Introduccin

Sistema Operativo

Software encargado de administrar los


recursos del sistema.
Ofrece un conjunto de comandos a los
humanos, para interactuar con la mquina.
Puede ser escrito en lenguaje de alto nivel,
en lenguaje ensamblador y/o en lenguaje
mquina.
Facultad Ingeniera
Departamento de Ingeniera de Sistemas e Industrial

1. Arquitectura de un
Computador

Programacin de Computado
Modulo 1. Introduccin

Lenguaje de Mquina
nico lenguaje que entiende el hardware
(mquina).
Especfico para cada hardware (procesador,
dispositivos, etc.).
Programa: almacenado en memoria, contiene
instrucciones y datos.
Facultad Ingeniera
Departamento de Ingeniera de Sistemas e Industrial

1. Arquitectura de un
Computador

Programacin de Computado
Modulo 1. Introduccin

Lenguaje Ensamblador
Software, generalmente escrito en lenguaje de
mquina, capaz de traducir de lenguaje
ensamblador a lenguaje de mquina.
Usa
mnemnicos
para
codificar
las
operaciones. Los datos y/o direcciones son
codificados generalmente como nmeros en
sistema hexadecimal.
Es especfico (aunque no nico) para cada
lenguaje de mquina.
Facultad Ingeniera
1. Arquitectura de un
Departamento de Ingeniera de Sistemas e Industrial

Computador

Programacin de Computado
Modulo 1. Introduccin

Lenguaje de Alto Nivel


Es un lenguaje con una estructura sintctica
mas rica que le permite mayor
expresividad.
Cuenta con un conjunto de palabras
reservadas, para codificar estructuras de
control e instrucciones.
Permite el uso de expresiones aritmticas y
relacionales.
Facultad Ingeniera
Departamento de Ingeniera de Sistemas e Industrial

1. Arquitectura de un
Computador

Programacin de Computado
Modulo 1. Introduccin

Lenguaje de Alto Nivel


COMPILADORES
e
INTERPRETES:
software capaz de traducir de un lenguaje de
alto nivel al lenguaje de mquina.
C++

Java

Facultad Ingeniera
Departamento de Ingeniera de Sistemas e Industrial

Python

1. Arquitectura de un
Computador

Programacin de Computado
Modulo 1. Introduccin

Aplicaciones
APLICACIN: software que le permite al
computador realizar una tarea especfica.

Procesadores de Texto

Video Juegos

Facultad Ingeniera
Departamento de Ingeniera de Sistemas e Industrial

Hojas de Calculo
1. Arquitectura de un
Computador

Programacin de Computado
Modulo 1. Introduccin

Herramientas de Desarrollo
Es una aplicacin que presenta un ambiente
en el que, empleando
un lenguaje de
programacin, se puede desarrollar nuevo
software.
Ejemplos:
ambientes
integrados
de
desarrollo como DevC++, Visual C++, en los
que se emplea el lenguaje C++.

Facultad Ingeniera
Departamento de Ingeniera de Sistemas e Industrial

1. Arquitectura de un
Computador

Programacin de Computado
Modulo 1. Introduccin

2.

Problemas

Se tiene un problema cuando se desea


encontrar
uno
o
varios
objetos
desconocidos (ya sean estos nmeros,
smbolos, diagramas, figuras, u otras
cosas), que cumplen condiciones o
relaciones,
previamente
definidas,
respecto a uno o varios objetos
conocidos.
Facultad Ingeniera
Departamento de Ingeniera de Sistemas e Industrial

UN-Virtual

Programacin de Computado
Modulo 1. Introduccin

Solucin de problema
Solucionar el problema es encontrar los
objetos desconocidos.
Para solucionar un problema se debe
determinar de manera clara y concisa:
cules son los objetos conocidos, las
condiciones y de que tipo son los objetos
desconocidos.
Facultad Ingeniera
Departamento de Ingeniera de Sistemas e Industrial

2. Problemas

Programacin de Computado
Modulo 1. Introduccin

Tipos de problemas
Problemas bien condicionados
Problemas mal condicionados
Problemas indecidibles

Facultad Ingeniera
Departamento de Ingeniera de Sistemas e Industrial

2. Problemas

Programacin de Computado
Modulo 1. Introduccin

Ejemplo de problema bien


condicionado
Un granjero tiene cincuenta animales
entre conejos y gansos. Si la cantidad
de patas de los animales es ciento
cuarenta, Cuantos conejos y cuantos
gansos tiene el granjero?

Facultad Ingeniera
Departamento de Ingeniera de Sistemas e Industrial

2. Problemas

Programacin de Computado
Modulo 1. Introduccin

Ejemplos de problemas
mal condicionados
De las siguientes imgenes,
cul es la ms llamativa?

Facultad Ingeniera
Departamento de Ingeniera de Sistemas e Industrial

2. Problemas

Mdulo 1
Introducci
n

Ejemplos de problemas
indecidible
Existe en la expansin decimal de Pi una
secuencia de tamao n para cualquier nmero
natural n?

Facultad Ingeniera
Departamento de Ingeniera de Sistemas e Industrial

2. Problemas

Programacin de Computado
Modulo 1. Introduccin

3.

Algoritmo

Secuencia bien definida y finita de


tareas bien definidas, cada una de
las cuales se puede realizar con una
cantidad de recursos finitos.

Facultad Ingeniera
Departamento de Ingeniera de Sistemas e Industrial

UN- Virtual

Programacin de Computado
Modulo 1. Introduccin

Caractersticas de un
Algoritmo
De finitud o

Precisin

Determinismo

Hay
un
orden
Todas las veces que
preciso en
se realicen las tareas
el
cual
o
pasos
de
un
deben
algoritmo, con las
ejecutarse
mismas condi-ciones
las
tareas
iniciales, se de-ben
que
obtener
resultados
conforman
idnticos.
Facultad Ingeniera
el
Departamento de Ingeniera de Sistemas e Industrial
algoritmo.

Finitud

El algoritmo
debe
terminar en
algn
momento
y
debe
usar
una
cantidad finita
2. Problemas
de recursos.

Programacin de Computado
Modulo 1. Introduccin

Estructura de un
Algoritmo
Datos

Instruccione
s

Estructuras de
control

Para
almacenar
informacin:
da-tos
de
entrada,
de
salida o intermedios.

Las acciones o
procesos que
el
algoritmo
realiza sobre
los datos.

Las
que
determinan
el
orden en que se
ejecutarn las instrucciones
del
algo-ritmo.

Facultad Ingeniera
Departamento de Ingeniera de Sistemas e Industrial

2. Problemas

Programacin de Computado
Modulo 1. Introduccin

Ejemplo de algoritmo
Un estudiante se encuentra en su casa
(durmiendo) y debe ir a la universidad (a
tomar la clase de programacin!!),
Que debe hacer el estudiante?

Facultad Ingeniera
Departamento de Ingeniera de Sistemas e Industrial

2. Problemas

Programacin de Computado
Modulo 1. Introduccin

Ejemplo de algoritmo
1. Dormir hasta que suene el
despertador (o lo llame la mam).
2. Mirar la hora.
3. Hay tiempo suficiente?
3.1. Si, entonces
3.1.1. Baarse.
3.1.2. Vestirse.
3.1.3. Desayunar.
3.2. No, entonces
3.2.1. Vestirse.
Facultad Ingeniera
Departamento de Ingeniera de Sistemas e Industrial

2. Problemas

Mdulo 1
Introducci
n

Ejemplo de algoritmo
4. Lavarse la boca.
5. Despedirse de la mam y el pap.
6. Hay tiempo suficiente?
6.1. Si, entonces
6.1.1. Caminar al paradero.
6.2. No, entonces
6.2.1. Correr al paradero.
7. Hasta que pase un bus para la
universidad hacer:
7.1. Esperar el bus
7.2. Ver a las dems personas que
esperan un bus.
Facultad Ingeniera
Departamento de Ingeniera de Sistemas e Industrial

3. Algoritmos

Programacin de Computado
Modulo 1. Introduccin

Ejemplo de algoritmo
8. Tomar el bus.
9. Mientras que no llegue a la
universidad hacer:
9.1. Seguir en el bus.
9.2. Pelear mentalmente con el
conductor.
10. Timbrar.
11. Bajarse.
12. Entrar a la universidad.
13. Caminar hasta llegar al saln donde
se dicta su curso de programacin.
14. Ingresar al saln.
Facultad Ingeniera
Departamento de Ingeniera de Sistemas e Industrial

3. Algoritmos

Programacin de Computado
Modulo 1. Introduccin

Representacin de
Algoritmos
Las representaciones ms
conocidas son:
Diagramas de flujo.
Pseudo-cdigo.
Facultad Ingeniera
Departamento de Ingeniera de Sistemas e Industrial

3. Algoritmos

Programacin de Computado
Modulo 1. Introduccin

Diagramas de Flujo
Esquema de representacin grfico
de algoritmos.
Usa elementos grficos como
rectngulos y rombos.
Se pueden usar operaciones
matemticas.
Facultad Ingeniera
Departamento de Ingeniera de Sistemas e Industrial

3. Algoritmos

Programacin de Computado
Modulo 1. Introduccin

Pseudo Cdigo
Esquema de representacin de algoritmos
que usa un subconjunto del lenguaje
natural del diseador de algoritmos.
Elimina
posibles
ambigedades
empleando una notacin que aunque libre
es ms restringida que la del lenguaje
natural.
Facultad Ingeniera
Departamento de Ingeniera de Sistemas e Industrial

3. Algoritmos

Programacin de Computado
Modulo 1. Introduccin

Pseudo Cdigo
leer A, B, C
si A>B
si A>C
Mayor A
sino
Mayor C
fin_si

Facultad Ingeniera
Departamento de Ingeniera de Sistemas e Industrial

sino
si B>C
Mayor

sino
Mayor

fin_si
fin_si
escribir Mayor
3. Algoritmos

Mdulo 1
Introducci
n

Solucin de
Problemas
Algortmicos

4.

Problema

Metodologa

Programa
Facultad Ingeniera
Departamento de Ingeniera de Sistemas e Industrial

UN - Virtual

Programacin de Computado
Modulo 1. Introduccin

Metodologa de
Programacin

Anlisis del problema.


Especificacin del problema.
Diseo del algoritmo.
Prueba del algoritmo

refinamiento.
Codificacin.
Prueba y verificacin.
Facultad Ingeniera
Departamento de Ingeniera de Sistemas e Industrial

4. Solucin de Problemas
Algoritmicos

Programacin de Computado
Modulo 1. Introduccin

Anlisis del Problema


Entender de manera clara el problema que
se esta resolviendo.
Esta fase de la metodologa concuerda con
el proceso de identificacin de objetos
conocidos,
objetos
desconocidos
y
condiciones usado en la seccin de
problemas.
Facultad Ingeniera
Departamento de Ingeniera de Sistemas e Industrial

4. Solucin de Problemas
Algoritmicos

Programacin de Computado
Modulo 1. Introduccin

Especificacin del
Problema

Descripcin clara y precisa de:

Las entradas del problema.


Las salidas del problema.
Las condiciones, es decir la dependencia
que mantendrn las salidas obtenidas
con las entradas recibidas.
Facultad Ingeniera
Departamento de Ingeniera de Sistemas e Industrial

4. Solucin de Problemas
Algoritmicos

Programacin de Computado
Modulo 1. Introduccin

Ejemplo de Especificacin

Entradas: La cantidad total de animales


(50), cantidad de patas totales (140).

Salidas: La cantidad de conejos y la


cantidad de gansos.
Condiciones: La suma de conejos y
gansos es igual a cincuenta. La suma de
las patas de los conejos (cuatro por cada
uno) y de los gansos (dos por cada uno)
es Ingeniera
igual a ciento cuarenta.
Facultad
4. Solucin de Problemas
Departamento de Ingeniera de Sistemas e Industrial

Algoritmicos

Programacin de Computado
Modulo 1. Introduccin

Ejemplo de
Problema:
Construir unEspecificacin
algoritmo que determine el mayor de
tres nmeros enteros.
Especificacin:
Entradas: A,B,C (nmeros de entrada) de tipo
entero.
Salidas: Mayor de tipo entero.
Condiciones: Mayor debe ser el valor mximo
de A,
B y C.
Facultad
Ingeniera
4. Solucin de Problemas
Departamento de Ingeniera de Sistemas e Industrial

Algoritmicos

Programacin de Computado
Modulo 1. Introduccin

Diseo del algoritmo


Es la fase en la que se construye el
algoritmo que permitir encontrar la
solucin al problema.
La forma adecuada de realizar este
proceso es subdividirlo.

Facultad Ingeniera
Departamento de Ingeniera de Sistemas e Industrial

4. Solucin de Problemas
Algoritmicos

Programacin de Computado
Modulo 1. Introduccin

Prueba del Algoritmo y


Refinamiento
Proceso de seguimiento del algoritmo
para verificar que cumple con la
especificacin. Si no se cumple con la
especificacin se va refinando hasta
lograr el objetivo.

Facultad Ingeniera
Departamento de Ingeniera de Sistemas e Industrial

4. Solucin de Problemas
Algoritmicos

Programacin de Computado
Modulo 1. Introduccin

Codificacin
Proceso en el cual se escribe el algoritmo
en un lenguaje de programacin,
utilizando el editor de la herramienta.

Facultad Ingeniera
Departamento de Ingeniera de Sistemas e Industrial

4. Solucin de Problemas
Algoritmicos

Programacin de Computado
Modulo 1. Introduccin

Prueba y
Verificacin
Proceso en el cual se corrigen los errores
de sintaxis y de lgica del programa,
hasta lograr que el programa resuelva el
problema.

Facultad Ingeniera
Departamento de Ingeniera de Sistemas e Industrial

4. Solucin de Problemas
Algoritmicos

Programacin de Computado
Modulo 1. Introduccin

FIN
Gracias por la
atencin prestada

Facultad Ingeniera
Departamento de Ingeniera de Sistemas e Industrial

UN- Virtual

Вам также может понравиться