Sei sulla pagina 1di 42

C.U.

lunes, 24 de marzo de 2014


Universidad Nacional
Mayor de San Marcos
Facultad de Ingeniera de
Sistemas

John Ledgard Trujillo Trejo
jtrujillot@unmsm.edu.pe

ALGORITMICA I
Teora de Algoritmos: Partes
de un programa
Teora de Algoritmos:
Partes de un programa
Lic. John Ledgard Trujillo Trejo 2007 - I
MOTIVACION
Teora de Algoritmos:
Partes de un programa
Lic. John Ledgard Trujillo Trejo 2007 - I
MOTIVACION


SOFTWARE
SISTEMA
INFORMATICO
ORDENADOR
HARDWARE
SOFTWARE
DATOS
ALGORITMOS
PROGRAMAS
INFORMACI
N
Teora de Algoritmos:
Partes de un programa
Lic. John Ledgard Trujillo Trejo 2007 - I
Sistema informtico
Estos componentes se relacionan haciendo posible el
procesamiento automtico de los datos, a travs de
ordenadores, para producir informacin til.
Es el conjunto que resulta de la integracin de cuatro
elementos: Hardware, Software, Datos y Personas.
Teora de Algoritmos:
Partes de un programa
Lic. John Ledgard Trujillo Trejo 2007 - I
Dato, proceso e informacin
Teora de Algoritmos:
Partes de un programa
Lic. John Ledgard Trujillo Trejo 2007 - I
Dato, proceso e informacin
Dato e informacin son dos trminos que suelen confundirse

Datos.- Representacin de algn hecho, concepto o
entidad real (los datos pueden tomar diferentes formas;
por ejemplo, palabras escritas o habladas, nmeros y
dibujos).

Informacin.- Implica datos procesados y organizados.

Sistema de procesamiento de informacin.- Es un
sistema que transforma datos brutos en informacin
organizada, significativa y til.
Teora de Algoritmos:
Partes de un programa
Lic. John Ledgard Trujillo Trejo 2007 - I
Dato, proceso e informacin
Sistema de Banca Electrnica
Reservas de pasajes
Sistemas Hospitalarios
Sistemas Bibliogrficos
Lectura remota de datos
Procesos industriales en tiempo real
Control de inventarios en tiempo real

Teora de Algoritmos:
Partes de un programa
Lic. John Ledgard Trujillo Trejo 2007 - I
Definicin de algoritmo
Conjunto especfico de procedimientos (matemticos y
lgicos simples) bien definidos que pueden seguirse para
resolver un problema en un nmero determinado de pasos.
Conjunto de instrucciones que especifican la secuencia de
operaciones a realizar en orden, para resolver un sistema
especfico o clase de problemas.
La palabra "algoritmo deriva del nombre latinizado del gran
matemtico rabe Mohamed Ibn Moussa Al Kow Rizmi
Teora de Algoritmos:
Partes de un programa
Lic. John Ledgard Trujillo Trejo 2007 - I
Definicin de algoritmo
Ejemplo de Algoritmo: Imaginemos que estamos creando un pequeo
robot que debe subir 10 escalones. El robot entiende solo dos
instrucciones LevantaPieIzquierdo (para levantar el pie izquierdo y
subir un escaln) y LevantaPieDerecho (para levantar el pie derecho y
subir otro escaln), con lo que podr ir ascendiendo hasta llegar al
final de la escalera. Si solo pudisemos utilizar estas dos instrucciones
el algoritmo para subir las escaleras es el siguiente:
Teora de Algoritmos:
Partes de un programa
Lic. John Ledgard Trujillo Trejo 2007 - I
Clasificacin de algoritmo
Algoritmo Cualitativo: Descritos
mediante palabras.
Resolver una ecuacin de
segundo grado.
Calcular los sueldos de los
empleados.
Calcular los impuestos a
pagar de los vecinos de un
municipio.
Elaboracin de una receta
El tejido de chompa .
Bsqueda de un numero
telefnico.
Cambio de una llanta
Cambio de un foco
quemado
Algoritmo Cuantitativo: Se basan
en clculos numricos.
Teora de Algoritmos:
Partes de un programa
Lic. John Ledgard Trujillo Trejo 2007 - I
Caractersticas de un algoritmo
Todo algoritmo debe cumplir las siguientes caractersticas:

1. Debe ser Preciso; que debe especificar sin
ambigedad el orden en que se deben ejecutar las
instrucciones.
Un algoritmo es un mtodo para resolver un problema.
Debe presentarse como una secuencia ordenada de
instrucciones que siempre se ejecutan en tiempo finito y
con una cantidad de esfuerzo tambin finito.
En un algoritmo siempre debe haber un punto de inicio y un
punto de terminacin. Estos deben ser nicos y deben ser
fcilmente identificables.
Teora de Algoritmos:
Partes de un programa
Lic. John Ledgard Trujillo Trejo 2007 - I
Caractersticas de un algoritmo
2. Debe estar Definido; i.e.,
cada vez que se ejecute bajo
las mismas condiciones, la
secuencia de ejecucin
deber ser la misma
proporcionndonos el mismo
resultado.
3. Debe ser Finito; i.e.,
siempre que sea adecuado
se realizarn un nmero
finito de instrucciones, en un
tiempo finito y requiriendo
una cantidad finita de
esfuerzo.
Teora de Algoritmos:
Partes de un programa
Lic. John Ledgard Trujillo Trejo 2007 - I
Lenguaje algortmico
El lenguaje algortmico
es aquel por medio del
cual se realiza un anlisis
previo del problema a
resolver y encontrar un
mtodo que permita
resolverlo. El conjunto de
todas las operaciones a
realizar, y el orden en el
que deben efectuarse, se le
denomina algoritmo.
Teora de Algoritmos:
Partes de un programa
Lic. John Ledgard Trujillo Trejo 2007 - I
Lenguaje informtico
El lenguaje informtico es
aquel por medio del cual
dicho algoritmo se codifica a
un sistema comprensible por
el ordenador o computadora.
Este tipo de lenguaje es ms
cercano a la mquina que al
ser humano y podemos
distinguir distintos tipos
dependiendo de la proximidad
a la maquina.
Teora de Algoritmos:
Partes de un programa
Lic. John Ledgard Trujillo Trejo 2007 - I
Programa y programacin
Programa, en informtica es sinnimo de software, es el
conjunto de instrucciones que ejecuta un ordenador o
computadora.
Un programa es la especificacin de un cmputo.
Programa, es una descripcin abstracta de un procedimiento o
fenmeno que existe o sucede en el mundo real.
Programar es automatizar y definir una serie de procesos para
resolver un problema y obtener un resultado final.
Un programa imita un comportamiento o accin humana ; otras
veces simula (es decir, reproduce) un fenmeno fsico.
Teora de Algoritmos:
Partes de un programa
Lic. John Ledgard Trujillo Trejo 2007 - I
Programa y programacin
El arte de la programacin es el mtodo por el
que se describir a una computadora (mediante
un lenguaje de programacin) un fenmeno,
una accin, un comportamiento o una idea.
Un plan que se establece para resolver un problema .
Conjunto de instrucciones que dirige la computadora
(ordenador) para ejecutar operaciones especificas para lograr
un efecto deseado (a menudo la solucin a un problema en
particular) puede consistir en uno o varios mdulos o rutinas,
cada uno de los cuales puede estar compuesto de varias
subrutinas.
Ensamblado lgico de uno o varios mdulos inter relacionados.
Teora de Algoritmos:
Partes de un programa
Lic. John Ledgard Trujillo Trejo 2007 - I
Lenguajes de programacin
Los lenguajes de programacin son cdigos
estructurados con una buena sintaxis y una buena
gramtica que sirve para transmitir nuestras ideas y
darnos a entender con la computadora.
Lenguaje Mquina o bajo nivel. 1011101
Lenguaje Ensamblador. mov cx,5
Lenguaje de alto nivel. A = A +2
Lenguaje de las 4 generaciones. 4 gls
CASE (Ingeniera en Software auxiliada por computadora)
Visuales.
Lenguaje Natural. Dragn
Teora de Algoritmos:
Partes de un programa
Lic. John Ledgard Trujillo Trejo 2007 - I
Lenguajes de programacin
Teora de Algoritmos:
Partes de un programa
Lic. John Ledgard Trujillo Trejo 2007 - I
Lenguajes de programacin
LENGUAJES DE PRIMERA GENERACIN (1954-1958)
Teora de Algoritmos:
Partes de un programa
Lic. John Ledgard Trujillo Trejo 2007 - I
Lenguajes de programacin
LENGUAJES DE SEGUNDA GENERACIN (1959-1961)
Teora de Algoritmos:
Partes de un programa
Lic. John Ledgard Trujillo Trejo 2007 - I
Lenguajes de programacin
LENGUAJES DE TERCERA GENERACIN (1962-1970)
Teora de Algoritmos:
Partes de un programa
Lic. John Ledgard Trujillo Trejo 2007 - I
Lenguajes de programacin
LENGUAJES ORIENTADO A OBJETOS (1985 en adelante)
Teora de Algoritmos:
Partes de un programa
Lic. John Ledgard Trujillo Trejo 2007 - I
La tortuga y la liebre: Desarrollo de software
Antecedentes y Problemas y retos
Teora de Algoritmos:
Partes de un programa
Lic. John Ledgard Trujillo Trejo 2007 - I
La tortuga y la liebre: Desarrollo de software
Modelos de Desarrollo del Ciclo de Vida y Procesos
Teora de Algoritmos:
Partes de un programa
Lic. John Ledgard Trujillo Trejo 2007 - I
La tortuga y la liebre: Desarrollo de software
Anlisis de Requerimientos y Especificaciones
Teora de Algoritmos:
Partes de un programa
Lic. John Ledgard Trujillo Trejo 2007 - I
La tortuga y la liebre: Desarrollo de software
Diseo de Software y Metodologas
Teora de Algoritmos:
Partes de un programa
Lic. John Ledgard Trujillo Trejo 2007 - I
La tortuga y la liebre: Desarrollo de software
Sistemas de Alta Integridad
Teora de Algoritmos:
Partes de un programa
Lic. John Ledgard Trujillo Trejo 2007 - I
La tortuga y la liebre: Desarrollo de software
Mtodos Formales
Teora de Algoritmos:
Partes de un programa
Lic. John Ledgard Trujillo Trejo 2007 - I
La tortuga y la liebre: Desarrollo de software
Administracin de Proyectos de Software
Teora de Algoritmos:
Partes de un programa
Lic. John Ledgard Trujillo Trejo 2007 - I
La tortuga y la liebre: Desarrollo de software
Administracin de la Calidad del Software
Teora de Algoritmos:
Partes de un programa
Lic. John Ledgard Trujillo Trejo 2007 - I
La tortuga y la liebre: Desarrollo de software
Ambientes de Desarrollo de Software
Teora de Algoritmos:
Partes de un programa
Lic. John Ledgard Trujillo Trejo 2007 - I
La tortuga y la liebre: Desarrollo de software
Mantenimiento del Software
Teora de Algoritmos:
Partes de un programa
Lic. John Ledgard Trujillo Trejo 2007 - I
La tortuga y la liebre: Desarrollo de software
Cumplimiento Exitoso del Proyecto
Teora de Algoritmos:
Partes de un programa
Lic. John Ledgard Trujillo Trejo 2007 - I
Programas
Objetivo
final
Pensar,
Razonar,
reflexionar
Codificar
Revisar:
Hacer una
nueva versin
Revisar
Revisar
Depurar:
Encontrar y
remover errores
Depurar
Depurar
Prueba
Codificar
Teora de Algoritmos:
Partes de un programa
Lic. John Ledgard Trujillo Trejo 2007 - I
Programas
Programa Fuente: Es un
programa escrito en un lenguaje
de alto nivel o bajo nivel, el cual
es traducido por un traductor a un
programa objeto.
Programa Objeto: Es un
programa traducido al lenguaje
interno del computador o
lenguaje maquina.
Programa Ejecutable: Es un
programa objeto traducido
puesto a modo ejecutable y
almacenado en la memoria
principal del computador, listo
para su ejecucin.
Teora de Algoritmos:
Partes de un programa
Lic. John Ledgard Trujillo Trejo 2007 - I
Programas: traductores de lenguaje
Son programas que traducen a su vez los programas
fuentes escritos en lenguajes de alto nivel a cdigo
maquina.
Emsamblador (Traductor) Es un programa que traduce las
instrucciones del programa fuente del lenguaje
ensamblador (assembler) a un programa objeto (lenguaje
maquina). Un programa escrito en lenguaje ensamblador no
puede ser ejecutado directamente en maquina.
Programa montador o enlazador (linkeador), es aquel
que produce el proceso de enlazar el programa objeto con
rutinas del sistema (libreras del lenguaje de programacin)
produciendo el programa ejecutable.
Teora de Algoritmos:
Partes de un programa
Lic. John Ledgard Trujillo Trejo 2007 - I
Traductores de lenguaje: interprete
Es un programa que toma
como entrada un programa
fuente lo analiza y ejecuta
directamente, sin generar
ningn cdigo equivalente.
Su accin equivale a la de un intrprete
humano, que traduce las frases que oye
sobre la marcha, sin producir ningn
escrito permanente.
Teora de Algoritmos:
Partes de un programa
Lic. John Ledgard Trujillo Trejo 2007 - I
Traductores de lenguaje: compilador
Es un programa que toma
como entrada un programa
fuente, lo analiza y traduce a
otro equivalente escrito en otro
lenguaje (por ejemplo, en el
lenguaje de la mquina).
Su accin equivale a la de un traductor
humano, que toma un libro y produce
otro equivalente escrito en otra lengua.
Teora de Algoritmos:
Partes de un programa
Lic. John Ledgard Trujillo Trejo 2007 - I
Compilador e interprete: ventajas y desventajas
Un intrprete facilita la bsqueda de errores, pues la
ejecucin de un programa puede interrumpirse en
cualquier momento para estudiar el entorno (valores de
las variables, etc.). Adems, el programa puede
modificarse sobre la marcha, sin necesidad de volver a
comenzar la ejecucin.

Un compilador suele generar programas ms rpidos y
eficientes, ya que el anlisis del lenguaje fuente se hace
una sola vez, durante la generacin del programa
equivalente. En cambio, un intrprete se ve obligado
generalmente a analizar cada instruccin tantas veces
como se ejecute (incluso miles o millones de veces).
Teora de Algoritmos:
Partes de un programa
Lic. John Ledgard Trujillo Trejo 2007 - I
Proceso de ejecucin de un programa
Escribir el programa fuente y
almacenarlo en un dispositivo
de almacenamiento.
Introducir el programa fuente en
la memoria del computador
Compilacin del programa.
Verificar y depurar errores de
compilacin.
Obtencin del programa objeto.
El linkeador enlaza y obtiene el
programa ejecutable.
Ejecucin del programa
Teora de Algoritmos:
Partes de un programa
Lic. John Ledgard Trujillo Trejo 2007 - I
PROCESO DE EJECUCIN DE UN PROGRAMA
Teora de Algoritmos:
Partes de un programa
Lic. John Ledgard Trujillo Trejo 2007 - I
Discusin, preguntas...

Potrebbero piacerti anche