Beruflich Dokumente
Kultur Dokumente
Unidad I
Introduccin a la resolucin
de problemas por
computadora
Introduccin
Desde un punto de vista simple, una computadora
procesa datos y los convierte en informacin
significativa.
Datos
Son hechos en bruto (No sirven
de nada por si
solos).
Informacin Son datos procesados.
Datos
Computadora
Informacin
Salida
Entrada
Proceso
Introduccin
Organizacin de una
computadora
Rol de un programa dentro de una
computadora?
Un programa es una conjunto de instrucciones detalladas que
indican a la computadora lo que ha de hacer.
La computadora no puede hacer nada sin un programa.
Los programas modernos producen informacin en muchos
formatos. Por lo tanto los datos de entrada y salida pueden ser
cualquier cosa texto, dibujo, sonidos, etc..
3
Programas
Un
Datos
Computadora
Salida
Software (Programas)
Las operaciones que debe realizar el hardware son especificadas
por una lista de instrucciones, llamadas programas o software.
El software se divide en dos grandes grupos: Software de
Sistema y Software de Aplicaciones.
Programas
Lenguajes de Programacin
Los lenguajes de programacin sirven para escribir
programas que permitan la comunicacin usuario/maquina.
Unos programas especiales llamados traductores
convierten las instrucciones escritas en lenguajes de
programacin en instrucciones escritas en lenguaje de
maquina ( 0 y 1, bits) que sta pueda entender.
Programas de Aplicacin
Programas del Sistema
Programas
Lenguajes de
Programacin
Lenguaje de Mquina.
Lenguaje de bajo nivel (ensamblador).
Lenguajes de alto nivel.
Programas
Lenguajes de
Programacin
LENGUAJE DE MAQUINA
Son
Ventaja
Ventaja
Nohay
hayproceso
procesode
detraduccin
traduccin
- -No
Desventajas
Desventajas
-DificultadyyLentitud
Lentituden
enlalacodificacin.
codificacin.
-Dificultad
-Pocafiabilidad.
fiabilidad.
-Poca
-Dificultad grande
grande de
de verificar
verificar yy poner
poner aa
-Dificultad
puntolos
losprogramas.
programas.
punto
8
-Dependende
delalamaquina
maquinaen
enparticular
particular
-Dependen
Programas
Lenguajes de
Programacin
LENGUAJE DE BAJO NIVEL
Son ms fciles de utilizar que los lenguajes de
mquina.
El lenguaje de bajo nivel por excelencia es el
ensamblador (assembly). Las instrucciones en
lenguaje
ensamblador
son
conocidas
como
nemotcnicos. Los nemotcnicos tpicos de
MOV AX, DS son: ADD, SUB, DIV, etc.
operaciones aritmticas
MOV ES, AX
MOV DX,
AX P(equivalente Mquina) 0110
Ejemplo: ADD, M,
N,
AL, DH
1001 1010 1011 MOV
ADD AX, BX ; Sumara AX y BX y lo guardara en AX
ADD [AX], BX
Programas
Lenguajes de
Programacin
LENGUAJE DE BAJO NIVEL
Un programa escrito en este lenguaje no puede ser
ejecutado directamente por la computadora.
Ventaja
Ventaja
Mayorvelocidad
velocidadde
decalculo
calculo
- -Mayor
Desventajas
Desventajas
-Dependenciatotal
totalde
delalamquina.
mquina.Lenguajes
Lenguajes
-Dependencia
distintospara
paradiversas
diversasmaquinas.
maquinas.
distintos
-Formacinde
delos
losprogramadores
programadoresms
ms
-Formacin
compleja(Conocimientos
(Conocimientosdel
delinterior
interiorde
delala
compleja
maquina).
maquina).
10
Programas
Lenguajes de
LENGUAJE
DE ALTO NIVEL
Programacin
Este
Ventajas
-Tiempo
de
formacin
de
los
-Tiempo
de
formacin
de
los
programadoreses
esrelativamente
relativamentecorto.
corto.
programadores
-La escritura
escritura de
de programas
programas se
se basa
basa en
en
-La
reglaslingsticas.
lingsticas.
reglas
-Modificaciones yy Puestas
Puestas apunto
apunto mas
mas
-Modificaciones
simples.
simples.
-Reduccindel
delcoste
costede
delos
losprogramas.
programas.
-Reduccin
-Portabilidad.
-Portabilidad.
Desventajas
-Incremento
-Incremento
necesitarse
necesitarse
programa.
programa.
del tiempo
tiempo
del
diferentes
diferentes
de traduccion,
traduccion, alal
de
traducciones del
del
traducciones
-Nose
seaprovechan
aprovechanlos
losrecursos
recursosinternos
internosde
de
-No
maquina.
lalamaquina.
-Aumentode
delalaocupacin
ocupacinde
dememoria.
memoria.
-Aumento
-Tiempode
deEjecucin
Ejecucinmucho
muchomayor.
mayor.
-Tiempo
11
Programas
Traductores
Al igual que los lenguajes ensambladores, los
programas fuentes tienen que ser traducidos por los
programas traductores, llamados en este caso
compiladores e intrpretes
Programa fuente
Programa fuente
Interprete
Compilador
Traduccin y
ejecucin
lnea a lnea
Programa Objeto
12
Resolucin de
problemas con
computadores
Los computadores se utilizan hoy
da en innumerables
reas cientficas para resolver problemas, aunque, son
incapaces de resolver el problema por s mismos.
Es necesario que una persona (el programador) sea
capaz de analizar el problema a resolver y disee un
programa. Dicho programa ser ejecutado por el
computador y producir la solucin al problema buscado.
Existen distintas tcnicas y herramientas de las que
dispone un programador para analizar un problema y
generar un mtodo para solucionarlo susceptible de ser
utilizado por un computador. A dicho mtodo es lo que
llamaremos algoritmo.
13
Algoritmo
La
14
Algoritmo
Es muy importante tener claro que los
algoritmos
son
completamente
INDEPENDIENTES tanto del lenguaje de
programacin en que se implementaran y el
computador donde se ejecutarn.
15
Algoritmo
Caractersticas de un
Algoritmo
Todo algoritmo ha de cumplir necesariamente, las
caractersticas:
siguientes
16
Algoritmo
Caractersticas de un
Algoritmo
Considerando lo anterior, no toda secuencia ordenada
pasos a
seguir puede considerarse como un algoritmo.
de
17
Algoritmo
Fases detalladas de resolucin de
problemas
1) Anlisis del problema
2) Diseo del algoritmo
3) Verificacin del algoritmo
4) Codificacin
5) Compilacin y Ejecucin
18
Algoritmo
Fase de resolucin de un
problema
Est fase incluye, el anlisis del problema as como el diseo y la
19
Algoritmo
Fase de resolucin de un
problema
Diseo
del Programa
En un algoritmo se deben considerar tres partes:
20
Algoritmo
Fase de resolucin de un
problema
Diseo
del Programa
Ejemplo:
Especificacionesde
deSalida
Salida
Especificaciones
-Culesson
sonlos
losdatos
datosde
desalida?
salida?
-Cules
-Cuntosdatos
datosde
desalida
salidase
seproducirn?
producirn?
-Cuntos
-Sedebe
debeimprimir
imprimiruna
unacabecera?
cabecera?
-Se
Sedefinen
definenprocesos
procesospara
paraTransformar
Transformardatos
datos
Se
deentrada
entradaen
endatos
datosde
desalida.
salida.
de
21
Algoritmo
Fase de resolucin de un
problema
Diseo
del Programa
Ejemplo:
Especificacionesde
deEntrada
Entrada
Especificaciones
nota11
- -nota
Especificacionesde
deSalida
Salida
Especificaciones
-valorde
depromedio
promedio
-valor
nota22
- -nota
nota33
- -nota
Nota44
- -Nota
Proceso:
Proceso:
promedio==(nota1+nota2+nota3+nota4)/4
(nota1+nota2+nota3+nota4)/4
promedio
22
Algoritmo
Fase de resolucin de un
problema
Verificacin
de Algoritmos
Una
23
Ejemplo
Algoritmo para calcular la compra de un cliente en un
supermercado
Inicio
asignar 0 a total
mientras haya productos
leer precios y unidades
asignar el total la expresin precio * unidades
Datos
deSalida:
Salida:Total
Total
Datos
de
escribir
total
Datosde
deEntrada:
Entrada:Precio,
Precio,Unidades
Unidades
Datos
fin
DatosAuxiliares:
Auxiliares:Importe
Importe
Datos
Proceso:
Proceso:
Porcada
cadaproducto
productode
delalacompra,
compra,se
seleer
leerelelprecio
preciodel
delproducto
productoyyse
secalcular
calcularelelimporte
importe
Por
mediantelalaexpresin
expresinprecio
precio* *unidades.
unidades.Una
Unavez
vezcalculado
calculadoelelimporte
importese
seacumular
acumular
al total
mediante
24al total
que,previamente,
previamente,se
sehabr
habrinicializado
inicializadoaa0.0.ElElproceso
procesocontinuar
continuarmientras
mientraselelcliente
clientetodava
todava
que,
tengaproductos.
productos.
tenga
Ejercicios
Realice un algoritmo para:
Calcular el IMC de una persona
Indicar cuantos segundos, minutos y horas
tiene un ao.
Calcular el promedio de notas de un alumno
de la asignatura Algoritmos y Programacin,
indicndole si da o no examen.
Indicar si una persona es nio(010),adolescente(11-16), joven (17 a 25) o
adulto(26 o mas), sabiendo su edad.
Indicar cuantos dolares son una cierta
cantidad de pesos.
25