Você está na página 1de 56

Por: Ing. Msc. Alberto M.

Medina Villacorta 1
Por: Ing. Msc. Alberto MEDINA VILLACORTA
Por: Ing. Msc. Alberto MEDINA VILLACORTA
Por: Ing. Msc. Alberto M. Medina Villacorta 2
Etapas del programador de software
Por: Ing. Msc. Alberto M. Medina Villacorta 3
Algoritmos
Algoritmo, Conjunto de
pasos secuenciales que
ordenados de una
manera correcta
permiten resolver un
problema concreto.
Para realizar un
algoritmo con xito es
necesario tener bien
claro el objetivo a
lograr.
Por: Ing. Msc. Alberto M. Medina Villacorta 4
Algoritmos
Los pasos se deben
llevar a cabo uno
despus del otro y
deben estar ordenados,
representan el camino
a seguir para resolver
un problema.
El orden en que se
ejecuta cada uno de los
pasos del algoritmo es
fundamental.
Por: Ing. Msc. Alberto M. Medina Villacorta 5
Algoritmos
Se representan
grficamente con
diagramas de flujo
o formas similares.
Tambin pueden
escribirse en forma
de pseudocdigo,
lo que adems los
hacen muy fciles
de entender.
Por: Ing. Msc. Alberto M. Medina Villacorta 6
Algoritmos
Cuando en algn caso no
se sabe que hacer, se debe
replantear el objetivo,
pues de hecho no estaba
claro.
Para estructurar un
algoritmo de forma precisa
solo existe una forma:
empezar por el principio
y terminar por el final.
?
INICIO
FIN
Por: Ing. Msc. Alberto M. Medina Villacorta 7
Anlisis y diseo de un algoritmo
Objetivo: Comprar el libro La Biblia de
Java 2 de Steven Holzner.
(El objetivo parece ambiguo, pero no lo es,
pues lo que se desea es comprar el libro).
Algoritmo:
Primero se tiene que condicionar la salida,
existen dos opciones posibles, la primera
es que estamos en cualquier lugar y la
segunda es que estamos en una librera.
Por: Ing. Msc. Alberto M. Medina Villacorta 8
Anlisis y diseo de un algoritmo
Una vez hecho esto se pide el libro en
cuestin, si lo tienen se adquiere y si no,
se ira hacia otra librera en donde se repite
este proceso.
Se puede expresar de otra manera para
convertirlo en un proceso secuencial de
modo que el algoritmo sea apto para
cualquier libro.
Por: Ing. Msc. Alberto M. Medina Villacorta 9
Ejemplo
Pseudocdigo: Si se pone paso a paso se tiene
por ejemplo:
Algoritmo ComprarLibro
Inicio
1. Conocer el libro a comprar
2. Trasladarse a una librera
3. Preguntar si tienen el libro
deseado
4. Si lo tienen
Comprarlo e ir a Fin
Si no lo tienen
Ir al paso 2.
Fin
Por: Ing. Msc. Alberto M. Medina Villacorta 10
Observaciones
Se deben cumplir las ordenes del
algoritmo (Es decir hacer las tareas, no
solo pasar por ellas)
Por: Ing. Msc. Alberto M. Medina Villacorta 11
Observaciones
Si se realizan todos los pasos, se puede
comprar cualquier libro. (La connotacin
del algoritmo es genrica)
Una vez realizado el algoritmo se puede
obtener varios resultados finales:
adquirir el libro o que el libro este
agotado o que no haya existido nunca.
La prueba de escritorio: simula la puesta
en marcha del algoritmo. (Para corregir)
Por: Ing. Msc. Alberto M. Medina Villacorta 12
Clasificacin de Algoritmos
Algoritmos informales
No pueden ser llevados a cabo por una
computadora.
Las ejecuta el ser humano: ir al trabajo, dar
un beso, comprar un artculo, etc.
Algoritmos computacionales
Son llevados a cabo por una computadora.
Aprovecha la velocidad de procesamiento.
Por: Ing. Msc. Alberto M. Medina Villacorta 13
Posible metodologa
Transcripcin
Proceso que convierte un algoritmo en
instrucciones que la computadora puede
entender, se ajusta a reglas sintcticas
del Lenguaje de Programacin
Al concluir la transcripcin se tiene un
programa informtico en forma de
cdigo fuente.
Por: Ing. Msc. Alberto M. Medina Villacorta 14
Concepto de regla sintctica
Las reglas de sintaxis, son todas las restricciones
tcnicas sobre las que se construyen todos los
lenguajes de programacin.
Por ejemplo, en C, C++ y Java para declarar una
variable de tipo entero, se hace as:
int miVariable;
Se debe hacer tal cual, si se escribe Int o INT el
compilador del C, C++ y Java al revisar el cdigo
indicar un error de sintaxis.
En Visual Studio: DimmiVariable as Integer
Por: Ing. Msc. Alberto M. Medina Villacorta 15
Concepto de cdigo fuente
El cdigo fuente es aquel algoritmo que ha
sido transcrito siguiendo las reglas sintcticas
de un lenguaje de programacin.
Es una forma no ejecutable de un programa
informtico.
En el cdigo fuente de un programa est
descrito por completo el funcionamiento
interno del programa (la lgica), por lo que
puede ser estudiado para su edicin.
Por: Ing. Msc. Alberto M. Medina Villacorta 16
Posible metodologa
Digitacin
Proceso en el que se pasa el cdigo fuente
del papel a un editor de texto, en el cual
se guardara en formato digital.
Compilacin
Compilacin, es el proceso de revisin del
programa para ver si cumple las reglas
sintcticas del lenguaje utilizado.
Por: Ing. Msc. Alberto M. Medina Villacorta 17
Concepto de compilacin
Para llevar a cabo este proceso, todo lenguaje
de programacin cuenta con un programa
llamado compilador el cual dice si el programa
contiene errores y en que lneas de cdigo
estn, inclusive da sugerencias de correccin.
Es el proceso de traduccin del cdigo fuente
(escrito en un lenguaje de programacin) a
lenguaje mquina (cdigo objeto) para que
pueda ser ejecutado por las computadoras,
que slo entienden el lenguaje mquina.
Por: Ing. Msc. Alberto M. Medina Villacorta 18
Que detecta el compilador
Son parecidos a los errores de
ortografa de un idioma.
Se caracterizan por omitir o
modificar las reglas de
sintaxis.
Errores
Sintcticos
El compilador sugiere cierta
forma de escribir el cdigo
para evitar errores futuros.
Errores de
Precaucin
Por: Ing. Msc. Alberto M. Medina Villacorta 19
El proceso de compilacin
Por: Ing. Msc. Alberto M. Medina Villacorta 20
Que NO detecta el compilador
Si no se programa de forma
correcta el compilador no
puede decidir lo que se
debe hacer.
Este tipo de errores solo
puede detectarse en las
llamadas pruebas de
escritorio o por ensayo.
Son errores del
programador
Error de
Lgica
Por: Ing. Msc. Alberto M. Medina Villacorta 21
Posible metodologa
Ejecucin
Cuando el compilador indica que no existen
errores se podr correr el programa
esperando que cumpla con el objetivo
deseado.
Optimizacin
Llamado mejora, o pruebas, si el
programa funciona, se trata de simplificar el
cdigo para hacer ms eficiente el programa.
Por: Ing. Msc. Alberto M. Medina Villacorta 22
Algoritmos - Caractersticas
Correctos
Es decir que no tengan
errores de ninguna
ndole.
Precisos
No tienen ambigedades
que generen dudas
respecto a su
comportamiento.
Por: Ing. Msc. Alberto M. Medina Villacorta 23
Algoritmos - Caractersticas
Genricos
Que sean una solucin reutilizable.
Finitos
Que tengan un lmite de sentencias a
ejecutar.
Por: Ing. Msc. Alberto M. Medina Villacorta 24
Algoritmos - Caractersticas
Eficientes
Deben
optimizar el
tiempo de
procesamiento
y el espacio de
memoria
necesario.
Por: Ing. Msc. Alberto M. Medina Villacorta 25
Concepto de Programa
Un programa informtico es la implementacin
de un algoritmo computacional en un lenguaje
de programacin.
Esta formado por instrucciones que la
computadora realiza mediante las operaciones
o tareas que se le indican para resolver un
problema.
Para poder realizar programas se necesitan de
los lenguajes de programacin.
Por: Ing. Msc. Alberto M. Medina Villacorta 26
Fases de un Programa
Por: Ing. Msc. Alberto M. Medina Villacorta 27
Lenguajes de Programacin
Se habla de instrucciones que se le dan a una
computadora para que realice ciertas tareas u
operaciones mediante instrucciones llamados
programas
Una instruccin es un conjunto de smbolos que
representan un mandato y se forman mediante
smbolos pertenecientes al conjunto de
componentes del lenguaje (Componente lxico)
y son construidos siguiendo las reglas
sintcticas del mismo.
Por: Ing. Msc. Alberto M. Medina Villacorta 28
Lenguajes de Programacin
Por: Ing. Msc. Alberto M. Medina Villacorta 29
Lenguajes de Programacin
Por: Ing. Msc. Alberto M. Medina Villacorta 30
Componente lxico
Es un elemento de un lenguaje de programacin
y puede ser:
Palabra
reservada
Literal Operador
Identificador Delimitador Comentario
Por: Ing. Msc. Alberto M. Medina Villacorta 31
Niveles de lenguajes
Instrucciones en forma binaria.
Depende de la arquitectura de la
computadora.
Lenguaje
Mquina
Ensamblador, cada lnea de cdigo
es una instruccin.
Instrucciones elementales.
Lenguaje de
bajo nivel
Instrucciones de forma abstracta,
deben ser traducidas .
Independientes de la arquitectura
de la computadora
Lenguaje de
alto nivel
Por ejemplo C
Lenguaje de
nivel medio
Por: Ing. Msc. Alberto M. Medina Villacorta 32
Lenguajes de programacin:
Evolucin
Por: Ing. Msc. Alberto M. Medina Villacorta 33
Los ms representativos
Por: Ing. Msc. Alberto M. Medina Villacorta 34
Los ms representativos
Por: Ing. Msc. Alberto M. Medina Villacorta 35
Los ms representativos
Por: Ing. Msc. Alberto M. Medina Villacorta 36
Los ms representativos
Por: Ing. Msc. Alberto M. Medina Villacorta 37
Los ms representativos
Por: Ing. Msc. Alberto M. Medina Villacorta 38
Los ms representativos
Por: Ing. Msc. Alberto M. Medina Villacorta 39
Los ms representativos
Por: Ing. Msc. Alberto M. Medina Villacorta 40
Los ms representativos
Por: Ing. Msc. Alberto M. Medina Villacorta 41
Los ms representativos
Por: Ing. Msc. Alberto M. Medina Villacorta 42
Los ms representativos
Por: Ing. Msc. Alberto M. Medina Villacorta 43
Los ms representativos
Por: Ing. Msc. Alberto M. Medina Villacorta 44
Los ms representativos
Por: Ing. Msc. Alberto M. Medina Villacorta 45
Los ms representativos
Por: Ing. Msc. Alberto M. Medina Villacorta 46
Los ms representativos
Por: Ing. Msc. Alberto M. Medina Villacorta 47
Algunos recursos
www.levenez.com/lang/
Por: Ing. Msc. Alberto M. Medina Villacorta 48
Clasificacin: Lenguajes de alto nivel
Lenguajes de
alto nivel
Lenguajes
imperativos
Programacin
estructurada
Programacin
orientada a
objetos
Lenguajes
declarativos
Por: Ing. Msc. Alberto M. Medina Villacorta 49
Traductores
Son programas que transforman programas
hechos en un lenguaje de alto nivel al lenguaje
mquina(producen cdigo mquina).
Existen diferentes
tipos de
traductores: los
compiladores y
los interpretes,
los que realizan la
misma funcin de
distintas maneras
Por: Ing. Msc. Alberto M. Medina Villacorta 50
Funciones de un Traductor
Programa en
lenguaje de
alto nivel
Programa
Traductor
Programa en
lenguaje
mquina
Computadora
Por: Ing. Msc. Alberto M. Medina Villacorta 51
Funciones de un Traductor
Por: Ing. Msc. Alberto M. Medina Villacorta 52
Traductores
Compilador: programa que toma como entrada
un texto escrito en un lenguaje llamado cdigo
fuente y da como salida otro texto en un
lenguaje denominado objeto.
Interprete: son programas que analizan,
traducen y ejecutan instrucciones de un
programa en forma secuencial, no se traduce
instruccin alguna hasta haber finalizado la
instruccin anterior. (p.e. motor de scripts)
Por: Ing. Msc. Alberto M. Medina Villacorta 53
Diferencia: Compilador-Interprete
Cualquier lenguaje puede ser ejecutado tanto
va intrprete o va compilador, pero algunos
lenguajes suelen asociarse a una va ms que a
la otra y por esto son llamados Lenguajes
interpretados o Lenguajes compilados
respectivamente.
En general la principal desventaja de los
intrpretes, es que cuando un programa es
interpretado suele ejecutarse mas lento que si
el miso programa estuviese compilado.
Por: Ing. Msc. Alberto M. Medina Villacorta 54
Ventajas del compilador
Se pueden ejecutar sin necesidad del
compilador
La traduccin se hace con la
compilacin
Se ejecutan mucho ms rpido
Por: Ing. Msc. Alberto M. Medina Villacorta 55
Resumen para programa
Por: Ing. Msc. Alberto M. Medina Villacorta 56

Você também pode gostar