Sei sulla pagina 1di 13

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: Codificacin del algoritmo en un
lenguaje de programacin.
Lenguaje algoritmo y programacin.
Instrucciones en una computadora y sus tipos:
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: Aritmticas:
+,-,*,...
;
Lgicas: or, and, <, >, ...
Selectivas: Permiten la seleccin de una
alternativa en funcin de una condicin.
Repetitivas: Repeticin 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 un Algoritmo.
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 y elementos para construir un
algoritmo.
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 para construir un Algoritmo.
Instruccin o sentencia.
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 de instruccin:
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+HORAEXTRA
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, Clasificar, Imprimir.
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 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.
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.

Potrebbero piacerti anche