Anda di halaman 1dari 42

Un

algoritmo
es
cualquier
cosa
que
funcione paso a paso,
donde cada paso se
pueda
describir
sin
ambigedad y sin hacer
referencia
a
una
computadora
en
particular, y adems
tiene un lmite fijo en
cuanto a la cantidad de
datos que se pueden
leer/escribir en un solo
paso.

Es una formula para


resolver un problema es
un conjunto de acciones
o
secuencia
de
operaciones
que
ejecutadas
en
un
determinado
orden
resuelven el problema.
Existen n algoritmos,
hay que coger el ms
efectivo.
Trata
de
resolver
problemas
mediante programas.

El
programa: Codificaci
n del algoritmo en un
lenguaje
de
programacin.
Lenguaje algoritmo y
programacin.
Instrucciones
computadora
tipos:

en
y

una
sus

Una instruccin es cada


paso de un algoritmo,

pero que lo ejecuta el


ordenador. Un programa
es un conjunto de
instrucciones
que
ejecutadas
ordenadamente
resuelven un problema.
Tipos
de
instrucciones:
E/S: Pasar informacin
del exterior al interior
del ordenador y al
revs.

Aritmtico-lgicas: Ar
itmticas:
+,-,*,...
;
Lgicas: or, and, <,
>, ...
Selectivas: Permiten la
seleccin
de
una
alternativa en funcin
de una condicin.
Repetitivas: Repetici
n de un nmero de
instrucciones
un
nmero finito de veces.
Tipos de lenguajes:

Lenguaje
mquina: Todo
se
programa con 1 y 0,
que es lo nico que
entiende el ordenador.
Ventaja: No necesita ser
traducido.
Inconveniente:
La
dificultad, la confusin,
para corregir errores, es
propia
de
cada
mquina.
De
bajo
nivel
o
ensamblador: Se

utilizan mnemotcnicos
(abreviaturas).
Ventaja: No es tan difcil
como
el
lenguaje
mquina.
Inconvenientes:
Cada
mquina tiene su propio
lenguaje, necesitamos
un
proceso
de
traduccin.
El programa escrito en
ensamblador se llama
programa fuente y el
programa
que
se

obtiene al ensamblarlo
se
llama
programa
objeto.
Lenguajes de alto nivel:
Los ms cercanos al
lenguaje humano.
Ventaja:
Son
independientes de cada
maquina
(los
compiladores
aceptan
las
instrucciones
estndar, pero tambin
tienen
instrucciones
propias).

Inconveniente:
El
proceso de traduccin
es muy largo y ocupa
ms
recursos.
Aprovecha menos los
recursos internos.
Proceso
de
traduccin
y
ejecucin
de
un
programa escrito en
un lenguaje a alto
nivel:

Usamos un editor y
obtenemos el programa
fuente, y el compilador
es el que traduce el
programa al lenguaje
mquina. El compilador
internamente ha sido
diseado para traducir.
El compilador obtiene el
programa o el fichero
objeto. El compilador
tiene que buscar los
errores.

Normalmente no sale
un ejecutable, sino que
necesita
elementos,
libreras, mediante un
linkador juntamos el
programa objeto y las
libreras, y se forma un
programa ejecutable.
Cuando se ejecuta el
programa, el cargador
lleva al programa a
memoria para que ste
pueda ser ejecutable.

Debbuger: Depura el
programa ejecutndolo
paso a paso, viendo la
memoria paso a paso
para encontrar el error.
Compilador
Error
Programa
objeto
Librerias
Linkador
Ejecutables
Para
traducir
puedo
utilizar el compilador o
un interprete, con el

compilador cojo todo el


programa al completo y
el interprete lee cada
instruccin y lo va
ejecutando.
El interprete es ms
rpido,
pero
menos
eficiente.
Todos
los
lenguajes
tienen
compiladores,
pero no todos tienen
interpretes.
LISP
(Lenguaje
de
inteligencia artificial) :
Slo tiene interpretes.

Partes
de
Algoritmo.

un

Todo algoritmo debe


obedecer
a
la
estructura bsica de un
sistema,
es
decir:
entrada, proceso
y
salida.
ENTRADA:
Corresponde al insumo,
a los datos necesarios
que requiere el proceso

para
ofrecer
los
resultados esperados.
PROCESO:
Pasos
necesarios para obtener
la solucin del problema
o
la situacin
planteada.
SALIDA: Resultados
arrojados por el proceso
como solucin.
Caracteristicas
elementos

y
para

construir
algoritmo.

un

Las
caractersticas
fundamentales
que
debe
cumplir
un
algoritmo son:
PRECISIN: Indica el
orden de realizacin de
cada paso dentro del
proceso.
DEFINICION: Indica la
exactitud y consistencia

de los pasos descritos


en el proceso, si el
algoritmo se prueba dos
veces, en estas dos
pruebas,
se
debeobtener el mismo
resultado.
FINITUD:
Indica
el
nmero razonable de
pasos, los cuales deben
conllevar
a
la finalizacin
del
proceso y producir un

resultado en un tiempo
finito.
Al disear un algoritmo
se debe tener presente
las caractersticas de
precisin,
definicin y
finitud.
Elementos
construir
Algoritmo.
Instruccin o
sentencia.

para
un

Dependiendo del origen


del
material
instruccional se habla
de
instruccin
o
sentencia; sta, define
una
accin
o
un
mandato que se debe
realizar, esa accin o
mandato se representa
a
travs
de
un
comando o lo que es lo
mismo
palabras
reservadas de un
lenguaje
de

programacin
en
particular.
Una
instruccin
esta
compuesta
por
uno
o ms
comandos
(accin),
datos,
smbolos, variables o
constantes
y
expresiones,
que
en conjunto
representan
una
instruccin o sentencia.

Ejemplo
instruccin:

de

En la construccin de
los programas se estila
utilizar
una
instruccin por
lnea.
As mismo, se utiliza la
identacin, que no es
ms que la alineacin
de
aquellas instrucciones
dentro
de
las
estructuras
que
las
contienen de manera

ordenada que permita


visualizar el inicio y fin
de cada bloque de
instrucciones.
Si ASISTIO
=SI Entonces
Leer Sueldo, Asignar
Sueldo = Sueldo +
HoraExtra.
Fin Si
Donde:
SI
Representa una
estructura condicional

utilizada para
establecer preguntas
o programar ciertas
condiciones.
ASISTIO
Nombre de una Variable
lgica que puede
obtener slo dos
valores SI
o NO. En el ejemplo
se programa la
condicin de la
variables cuando
es SI
ENTONCES

Parte de la instruccin o
estructura condicional.
LEER SUELDO
Instruccin utilizando el
comando cuya accin
es la lectura de un
campo
o dato.
Asignar SUELDO=
SUELDO+HORAEXTR
A
Instruccin de
asignacin, permite
asignar o calcular el
valor que adquirir

una variable.
Fin SI
Cierra la estructura
condicional si entonces - fin si.
Comandos o palabras
reservadas.
Todos los lenguajes,
naturales
o
computacionales,
tienen palabras que
denotan una accin. Los
comandos no son ms

que acciones que debe


interpretar y ejecutar
el computador.
Cada
comando conserva una
sintaxis
determinada,
es
decir
la
forma
de utilizarlo.
Los
lenguajes
computacionales tienen
en
su
repertorio
comandos
dirigidos
al procesamiento
de
archivos y datos, entre
ellos: Leer, Calcular,

Asignar,
Imprimir.

Clasificar,

Formas
de
representar
un
algoritmo: Lenguaje
natural, pseucodigo y
diagrama de flujo.
Los algoritmos pueden
ser
expresados
de
muchas
maneras,
incluyendo al lenguaje
natural, pseudocdigo,
diagramas de flujo y

lenguajes
programacin
otros.

de
entre

Las descripciones en
lenguaje
natural:
Tienden a ser ambiguas
y extensas.
El usar pseudocdigo y
diagramas
de
flujo,
evita
muchas
ambigedades
del
lenguaje natural.

Dichas expresiones son


formas
ms
estructuradas
para
representar algoritmos;
no
obstante,
se
mantienen
independientes de un
lenguaje
de
programacin
especfico.
La descripcin de un
algoritmo
usualmente
se hace en tres niveles:

Descripcin de alto
nivel. Se establece el
problema, se selecciona
un modelo matemtico
y se explica el algoritmo
de manera verbal,
posiblemente con
ilustraciones y
omitiendo detalles.
Descripcin formal.
Se usa pseudocdigo
para describir la
secuencia de pasos que
encuentran la solucin.

Implementacin. Se
muestra el algoritmo
expresado en un
lenguaje de
programacin
especfico o algn
objeto capaz de llevar a
cabo instrucciones.
Los
diagramas
de
flujo.
Son
descripciones
grficas de algoritmos;
usan
smbolos
conectados con flechas

para
indicar
la
secuencia
de
instrucciones y estn
regidos por ISO.
Los diagramas de flujo
son
usados
para
representar algoritmos
pequeos,
ya
que
abarcan mucho espacio
y su construccin es
laboriosa.
Por
su
facilidad de lectura son
usados
como
introduccin
a
los

algoritmos, descripcin
de
un
lenguaje
y
descripcin de procesos
a personas ajenas a la
computacin.
Los algoritmos pueden
ser
expresados
de
muchas
maneras,
incluyendo al lenguaje
natural, pseudocdigo,
diagramas de flujo y
lenguajes
de
programacin
entre
otros. Las descripciones

en
lenguaje
natural
tienden a ser ambiguas
y extensas. El usar
pseudocdigo
y
diagramas de flujo evita
muchas ambigedades
del lenguaje natural.
Dichas expresiones son
formas
ms
estructuradas
para
representar algoritmos;
no
obstante,
se
mantienen
independientes de un
lenguaje
de

programacin
especfico.
El pseudocdigo.
Es una descripcin de
alto
nivel
de
un
algoritmo que emplea
una mezcla de lenguaje
natural con algunas
convenciones
sintcticas propias de
lenguajes
de
programacin,
como
asignaciones, ciclos y

condicionales, aunque
no est regido por
ningn
estndar.
Es
utilizado para describir
algoritmos en libros y
publicaciones
cientficas,
y
como
producto
intermedio
durante el desarrollo de
un algoritmo, como los
diagramas
de
flujo,
aunque presentan una
ventaja
importante
sobre estos, y es que
los algoritmos descritos

en
pseudocdigo
requieren
menos
espacio
para
representar
instrucciones
complejas.
El pseudocdigo est
pensado para facilitar a
las
personas
el
entendimiento de un
algoritmo, y por lo tanto
puede omitir detalles
irrelevantes que son
necesarios
en
una

implementacin.
Programadores
diferentes
suelen
utilizar
convenciones
distintas, que pueden
estar basadas en la
sintaxis de lenguajes de
programacin
concretos. Sin embargo,
el pseudocdigo, en
general,
es
comprensible
sin
necesidad de conocer o
utilizar un entorno de
programacin

especfico, y es a la vez
suficientemente
estructurado para que
su implementacin se
pueda
hacer
directamente a partir de
l.

Traza un Algoritmo
(corrida en frio).
La
traza
de
un
Algoritmo
se
puede
definir
como
la

ejecucin manual de
forma secuencial de las
sentencias
que
lo
componen. As, la traza
del siguiente algoritmo
es el valor que van
adoptando las variables
a medida que se va
ejecutando
un
programa.
La funcin principal que
posee realizar la traza
de una algoritmo es la

de comprobar que ste


funciona correctamente
o para realizar la etapa
de depuracin en la que
se
intenta
corregir
errores, simplificar el
algoritmo al mximo e
incrementar su eficacia
y velocidad.

Anda mungkin juga menyukai