Você está na página 1de 12

1

ALGORITMO.

En general, no existe ningún consenso definitivo en cuanto a la definición formal de algoritmo.


Muchos autores los señalan como listas de instrucciones para resolver un problema abstracto, es decir,
que un número finito de pasos convierten los datos de un problema (entrada) en una solución (salida).
Sin embargo cabe notar que algunos algoritmos no necesariamente tienen que terminar o resolver un
problema en particular. Por ejemplo, una versión modificada de la criba de Eratóstenes que nunca
termine de calcular números primos no deja de ser un algoritmo. A lo largo de la historia varios
autores han tratado de definir formalmente a los algoritmos utilizando modelos matemáticos como
máquinas de Turíng entre otros. Sin embargo, estos modelos están sujetos a un tipo particular de datos
como son números, símbolos o gráficas mientras que, en general, los algoritmos funcionan sobre una
vasta cantidad de estructuras de datos. En general, la parte común en todas las definiciones se puede
resumir en las siguientes tres propiedades siempre y cuando no consideremos algoritmos paralelos:

 Tiempo secuencial. Un algoritmo funciona en tiempo discretizado –paso a paso–,


definiendo así una secuencia de estados "computacionales" por cada entrada válida (la
entrada son los datos que se le suministran al algoritmo antes de comenzar).
 Estado abstracto. Cada estado computacional puede ser descrito formalmente utilizando
una estructura de primer orden y cada algoritmo es independiente de su implementación
(los algoritmos son objetos abstractos) de manera que en un algoritmo las estructuras de
primer orden son invariantes bajo isomorfismo.
 Exploración acotada. La transición de un estado al siguiente queda completamente
determinada por una descripción fija y finita; es decir, entre cada estado y el siguiente
solamente se puede tomar en cuenta una cantidad fija y limitada de términos del estado
actual.
En resumen, un algoritmo es cualquier cosa que funcione paso a paso, donde cada paso se pueda
describir sin ambigüedad y sin hacer referencia a una computadora en particular, y además tiene un
límite fijo en cuanto a la cantidad de datos que se pueden leer/escribir en un solo paso. Esta amplia
definición abarca tanto a algoritmos prácticos como aquellos que solo funcionan en teoría, por ejemplo
el método de Newton y la eliminación de Gauss-Jordan funcionan, al menos en principio, con números
de precisión infinita; sin embargo no es posible programar la precisión infinita en una computadora, y
no por ello dejan de ser algoritmos. En particular es posible considerar una cuarta propiedad que puede
ser usada para validar la tesis de Church-Turíng de que toda función calculable se puede programar en
una máquina de Turíng (o equivalentemente, en un lenguaje de programación suficientemente
general).

http://es.wikipedia.org/wiki/Algoritmo el día 7 de febrero de 2011

Características:
Ser definido: Sin ambigüedad, cada paso
2 del algoritmo debe indicar la acción a realizar
sin criterios de interpretación.
Ser finito: Un número específico y numerable de pasos debe componer al algoritmo, el
cual deberá finalizar al completarlos.
Tener cero o más entradas: Datos son proporcionados a un algoritmo como insumo (o
estos son generados de alguna forma) para llevar a cabo las operaciones que comprende.
Tener una o más salidas: Debe siempre devolver un resultado; de nada sirve un
algoritmo que hace algo y nunca sabemos que fue. El devolver un resultado no debe ser considerado
como únicamente “verlos” en forma impresa o en pantalla, como ocurre con las computadoras. Existen
muchos otros mecanismos susceptibles de programación que no cuentan con una salida de resultados
de esta forma. Por salida de resultados debe entenderse todo medio o canal por el cual es posible
apreciar los efectos de las acciones del algoritmo.
Efectividad: El tiempo y esfuerzo por cada paso realizado debe ser preciso, no usando
nada más ni nada menos que aquello que se requiera para y en su ejecución.

http://www.rodolfoquispe.org/blog/que-es-un-algoritmo.php el día 7 de febrero de 2011

CONSTANTES

Una constante es un dato numérico o alfanumérico que no cambia durante la ejecución del programa.

Clasificación de las Variables


3
Por su contenido

 Variables Numéricas: Son aquellas en las cuales se almacenan valores numéricos,


positivos o negativos, es decir almacenan números del 0 al 9, signos (+ y -) y el punto
decimal.

 Variables Lógicas: Son aquellas que solo pueden tener dos valores (cierto o falso) estos
representan el resultado de una comparación entre otros datos.

 Variables Alfanuméricas: Esta formada por caracteres alfanuméricos: letras, números y


otros.

Por su uso
 Variables de Trabajo: Variables que reciben el resultado de una operación matemática
completa y que se usan normalmente dentro de un programa.
Ejemplo:
Suma = a + b /c

 Contadores: Se utilizan para llevar el control del número de ocasiones en que se realiza
una operación o se cumple una condición. Con los incrementos generalmente de uno en
uno.

 Acumuladores: Forma que toma una variable y que sirve para llevar la suma acumulativa
de una serie de valores que se van leyendo o calculando progresivamente.

http://www.desarrolloweb.com/articulos/2164.php el día 7 de febrero de 2011

DIAGRAMA

Un diagrama de flujo es la representación gráfica de un algoritmo. También se puede decir que es la


representación detallada en forma gráfica de como deben realizarse los pasos en la computadora para
producir resultados. Esta representación gráfica se da cuando varios símbolos (que indican diferentes
procesos en la computadora), se relacionan entre si mediante líneas que indican el orden en que se
deben ejecutar los procesos. Los símbolos utilizados han sido normalizados por el instituto
norteamericano de normalización (ANSI):
Símbolo 4 Descripción

Indica el inicio y el final de nuestro diagrama de


flujo.

Indica la entrada y salida de datos.

Símbolo de proceso y nos indica la asignación de


un valor en la memoria y/o la ejecución de una
operación aritmética.

Indica la salida de información por impresora.

Conector dentro de página. Representa la


continuidad del diagrama dentro de la misma
página.
Conector fuera de pagina. Representa la
continuidad del diagrama en otra pagina.

Indica la salida de información en la pantalla o


monitor.

Símbolo de Selección Múltiple. Dada una


expresión permite escoger una opción de muchas.
5

Símbolo del Mientras. Dada una expresión al


principio de la iteración esta es evaluada; si la
condición es verdadera realizará el ciclo, si es falsa
la repetición cesará.

Símbolo del Para. Esta estructura de control


repetitiva se usa generalmente cuando se conoce de
antemano el número de iteraciones.

Símbolo Repita Hasta. funciona igual que la


estructura Mientras, con la diferencia que al menos
una vez hará el grupo de instrucciones y luego
evaluará una condición. Si la condición evaluada
es falsa continua dentro del ciclo y si es verdadera
termina la iteración.

Líneas de flujo o dirección. Indican la secuencia en


que se realizan las operaciones

Recomendaciones para el uso:

 Se deben usar solamente líneas de flujo horizontal y/o vertical.


 Se debe evitar el cruce de líneas utilizando los conectores.
 Se deben usar conectores sólo cuando sea necesario.
 No deben quedar líneas de flujo sin conectar. 6
 Se deben trazar los símbolos de manera que se puedan leer de arriba hacia abajo y de izquierda a
derecha.
 Todo texto escrito dentro de un símbolo deberá ser escrito claramente, evitando el uso de muchas
palabras.

http://www.desarrolloweb.com/articulos/2184.php el día 7 de febrero de 2011

ESTRUCTURA DE DESICIÓN

En programación, tipo de estructura de control. También llamada estructura de decisión. En una


estructura de selección/decisión, el algoritmo al ser ejecutado toma una decisión, ejecutar o no ciertas
instrucciones si se cumplen o no ciertas condiciones. Las condiciones devuelven un valor, verdadero o
falso, determinado así la secuencia a seguir. Por lo general los lenguajes de programación disponen de
dos estructuras de este tipo: estructura de decisión simple (if), y estructura de decisión múltiple
(CASE, SWITCH).

 If: SI (condicional) en español. Su funcionamiento es simple. Se evalúa una condición, si es


verdadera ejecuta un código, si es falsa, ejecuta otro código (o continúa con la ejecución del
programa). Estructura IF en pseudocódigo: if (condición) ejecuta esto si la condición es
verdadera

else: ejecuta esto si la condición es falsa

 switch permite elegir ejecutar diferentes códigos (conjunto de sentencias de programación)


dependiendo de un valor. La forma general es: switch (valor).

http://www.alegsa.com.ar/Dic/estructura%20de%20selecci%C3%B3n.php el día 7 de febrero de 2011

ESTRUCTURA DE REPETICIÓN

En programación, tipo de estructura de control. Ejecuta cero o más veces un grupo de instrucciones
(bucle). El número de repeticiones está determinado por un número dado, o hasta que deje de
cumplirse o se cumpla una condición. Las estructuras de repetición más usuales en los lenguajes de
programación suelen ser WHILE, REPEAT y FOR.
 While: permite al programador especificar 7las veces que se repita una acción (una o más
sentencias de programación) mientras una condición se mantenga verdadera.

 Do: En algunos lenguajes (como C) el "repeat" es llamada "do". Es similar al while. En while la
condición para que se repita el bloque de instrucciones se evalúa desde el principio del ciclo de
repeticiones, en cambio, en la estructura do-while, al principio se ejecuta el bloque y luego se
evalúa la condición para ver si se sigue ejecutando o no.

 For: Esto significa que el bloque se ejecutará por lo menos una vez. Dependiendo de un
contador. Primero se crea la variable contador de tipo entero (será la variable de control en el
for). Luego se ejecuta la estructura for iniciando la variable contador en 1. Luego se verifica
que se cumple la condición contador<=10 y se ejecuta el bloque dentro de la estructura, o sea,
imprime en pantalla Repetición número 1.

http://www.alegsa.com.ar/Dic/estructura%20de%20repeticion.php el día 7 de febrero de 2011

LENGUAJE DE PROGRAMACIÓN
 La programación de algoritmos no es más que el estudio de un problema, su
análisis e implementación final del mismo.

En la programación de los algoritmos encontramos tres fases fundamentales, las cuales


son: identificación del problema, análisis y desarrollo del problema e implementación.

En la programación de algoritmos la identificación del problema no es más que, que es


lo que se quiere hacer, para ello en esta etapa, encontramos información de entrada o
inicial, que servirá para el análisis del problema.

La segunda etapa o fase es analizar el problema, en esta etapa es conveniente dividir o segregar las
tareas necesarias e identificadas que ayudaran a la solución del problema dado. De esta forma se
simplificaran y serán más comprensibles para su desarrollo, es recomendable siempre ir de las tareas o
actividades más simples a las más complejas. En esta fase se transforma la información de entrada
recibida.

La tercera etapa en la programación de algoritmos, consiste en la implantación y puesta en desarrollo


del mismo, aquí se obtiene la información y resultado final resultante de las etapas anteriores.

En la programación de algoritmos, se utiliza una nomenclatura llamada pseudocódigo, una vez


realizados los algoritmos en pseudocódigo, estos pueden ser traducidos en cualquier lenguaje de
programación que lo soporte
http://www.lenguajes-de-programacion.com/programacion-de-algoritmos.shtml
8 el día 7 de febrero de 2011

METODOLOGÍA

La metodología, es una de las etapas específicas de un trabajo o proyecto que nace a partir de una
posición teórica y conlleva a una selección de técnicas concretas (o métodos) de como se va a realizar
la investigación. Al describir la metodología ideal, la postura filosófica se orienta según algunos
términos.

La metodología dependerá, de esta forma, de los postulados que el investigador considere como
válidos -de aquello que considere objeto de la ciencia y conocimiento científico- pues será a través de
la acción metodológica como recolecte, ordene y analice la realidad estudiada.

No existe una metodología que sea la panacea absoluta, así que aparecen muchas veces ellas
mezcladas unas con otras en relación simbiótica.

La validez otorgada al uso de uno u otro método vendrá dada por el paradigma científico en el que se
sitúe.

http://es.wikipedia.org/wiki/Metodolog%C3%AD

PROBLEMA

La determinación del problema es una operación mediante la cual se especifica claramente y de un


modo concreto sobre qué se va a realizar la investigación. Es el punto inicial de la cadena: Problema-
Investigación- Solución; por tanto, determinará toda la posterior proyección de la investigación se debe
tener en cuenta:

El problema, responde al ¨ POR QUE¨, de la Investigación lo podemos definir como la situación


propia de un objeto, que provoca una necesidad en un sujeto, el cual desarrollará una actividad para
transformar la situación mencionada.

El problema es objetivo en tanto es una situación presente en el objeto; pero es subjetivo, pues para
que exista el problema, la situación tiene que generar una necesidad en el sujeto.

Cualquier problema científico es consecuencia del desconocimiento de la existencia, en una esfera de


la realidad, de elementos y relaciones de dicha realidad objetiva. El planteamiento del problema
científico es la expresión de los límites del conocimiento
9 científico actual que genera la insatisfacción
de la necesidad del sujeto.

http://www.eumed.net/libros/2007c/306/que%20es%20un%20problema.htm

PSEUDOCÓDIGO

El pseudocódigo (falso lenguaje) es comúnmente utilizado por los programadores para omitir
secciones de código o para dar una explicación del paradigma que tomó el mismo programador para
hacer sus códigos esto quiere decir que el pseudocódigo no es programable sino facilita la
programación.

El principal objetivo del pseudocódigo es el de representar la solución a un algoritmo de la forma más


detallada posible, y a su vez lo más parecida posible al lenguaje que posteriormente se utilizará para la
codificación del mismo.

Características y partes

Las principales características de este lenguaje son:

1. Se puede ejecutar en un ordenador


2. Es una forma de representación sencilla de utilizar y de manipular.
3. Facilita el paso del programa al lenguaje de programación.
4. Es independiente del lenguaje de programación que se vaya a utilizar.
5. Es un método que facilita la programación y solución al algoritmo del programa.

Todo documento en pseudocódigo debe permitir la descripción de:

1. Instrucciones primitivas.
2. Instrucciones de proceso.
3. Instrucciones de control.
4. Instrucciones compuestas.
5. Instrucciones de descripción.

Estructura a seguir en su realización:

1. Cabecera.
1. Programa.
2. Modulo.
3. Tipos de datos.
4. Constantes. 10
5. Variables.
2. Cuerpo.
1. Inicio.
2. Instrucciones.
3. Fin.

http://es.wikipedia.org/wiki/Pseudoc%C3%B3digo

SECUENCIA

   Los algoritmos de hoy en día funcionan bastante bien para encontrar secuencias similares que puedan
ser homólogas de la usada como entrada. Se puede decir que los resultados son creíbles hasta un
porcentaje del 30% de similitud, siempre y cuando la secuencia tenga una longitud mínima aproximada
de 30 resíduos (ya sean aminoácidos o nucleótidos). Claro está, el funcionamiento de cualquier
algoritmo de alineamiento de secuencias depende mucho de la calidad de la base de datos de
secuencias que uses, y de tu conocimiento sobre lo que buscas para afinar en los parámetros de
ejecución.

    Los algoritmos de alineamiento de secuencias de hoy en día son un estándar de facto en la
bioinformática, y casi siempre la base para métodos más complejos. Uno de los primeros estándares
fue, ya hace bastantes años, el algoritmo de Smith&Waterman, que está basado en una estrategia de
comparación y búsqueda exhaustiva de secuencias usando programación dinámica. A medida que fue
creciendo el tamaño de las bases de datos se hizo inviable usar esta estrategia (es un algoritmo O(n2) en
espacio y tiempo), y se migró a una en la que, aunque no se encontrara siempre el mejor resultado,
evitara realizar buena parte de las comparaciones.

http://www.madrimasd.org/blogs/bioinformatica/2006/09/01/39376

SIMBOLO

Se llama símbolo a toda imagen, figura o divisa que posee una significación convencional.

En términos semióticos, el símbolo es un signo que, de acuerdo a la clasificación de Peirce posee


siempre una relación arbitraria entre significado y significante, a diferencia del ícono cuya relación es
de semejanza y el índice, caracterizado por la causalidad.

http://simbolo.idoneos.com/
11

VARIABLE

Es un grupo de datos que puede variar o alterarse durante la ejecución del algoritmo o la ejecución del
programa, se les identifica por los siguientes atributos:
El Nombre o identificador que se le asigna
El tipo que describe el uso de la variable
El valor de la variable que es la cantidad que tiene
asociada en un determinado momento
Una variable de un tipo determinado solo puede
tomar valores de ese tipo

Las variables puede ser identificadas de acuerdo a la función


que asume en el algoritmo, como:
CONTADOR
Sirve para llevar una cuenta con incrementos o decrementos
constantes, generalmente de 1 en 1.

ACUMULADOR
Sirve para llevar una suma o cuenta de diferentes valores (acumular).
Inicializar, significa poner en blanco o en cero una variable o campo antes de su utilización.

Los acumuladores y contadores por lo general se inicializan en cero


Variable de trabajo

Campo que almacena temporalmente el resultado de alguna operación. No es variable de entrada ni de


salida.

 
12

Você também pode gostar