ALGORITMOS
http://www.academia.edu/21594018/EJERCICIOS_PARA_DESARROLLAR_ALGORITMOS_Y_PROGRAMAS_Estructura_de_Control_Secuencial
Programa:
Es el conjunto de instrucciones escritas con algún lenguaje de programación y que ejecutadas secuencialmente resuelven un problema especifico.
Características del algoritmo:
Técnicas para la formulación de algoritmos
Lenguaje de especificación, mezcla de lenguaje de programación y español (o ingles o cualquier otro idioma) que se emplea, dentro de la programación estructurada, para realizar el diseño de un programa. En esencial, el pseudo código se puede definir como un lenguaje de especificaciones de algoritmos.
Es la representación narrativa de los pasos que debe seguir un algoritmo para dar solución a un problema determinado. El pseudo código utiliza palabras que indican el proceso a realizar.
Conceptos Básicos
Computadora:
Es un dispositivo electrónico utilizado para procesar información y obtener resultados. Los datos y la información se pueden introducir en la computadora como entrada (input) y a continuación se procesan para producir una salida (output).
Proceso de información en la computadora:
Es un dispositivo electrónico utilizado para procesar información y obtener resultados. Los datos y la información se pueden introducir en la computadora como entrada (input) y a continuación se procesan para producir una salida (output).
Proceso de información en la computadora:
Datos
de Entrada --> Proceso --> Datos de Salida
Programa:
Es el conjunto de instrucciones escritas con algún lenguaje de programación y que ejecutadas secuencialmente resuelven un problema especifico.
Algoritmo:
Conjunto de operaciones que se utilizan para
resolver un problema específico. En este conjunto de instrucciones se indica la
secuencia de operaciones que se deben realizar para, a partir de los datos de
entrada, obtener el resultado buscado.
Características del algoritmo:
Tiene que ser Finito
(con un final), Preciso (detallar el orden de
las operaciones a realizar) y Definido (al
aplicar el algoritmo a los mismos datos de entrada, siempre se obtendrá el
mismo resultado a la salida).
Metodología para la solución de problemas por
medio de computadora.
En
general, se escriben algoritmos para resolver problemas que no son tan fáciles
de resolver a primera vista, y de los que necesitamos especificar el conjunto
de acciones que se llevarán a cabo para su resolución. Además, como lo que
interesa es resolver problemas
utilizando
la computadora, los algoritmos tendrán como finalidad ser traducidos en programas,
por lo que es conveniente mencionar el proceso general de resolución de problemas,
desde que se dispone de un algoritmo, hasta que la computadora lo ejecuta.
El
proceso es el siguiente:
Ø Definición
y análisis del Problema: definición y delimitación (macroalgoritmo).Considerar los datos
de entrada, el proceso que debe realizar el ordenador y los datos de salida.
Ø Diseño del
Algoritmo: se
utiliza diferentes herramientas de representación pseudocódigo, escritura
natural de algoritmo , diagramas de flujo etc.
Ø Prueba
de escritorio:
seguimiento manual de los pasos descritos en el algoritmo.Se realiza con
valores bajos y tiene como finalidad detectar errores.
Ø Codificación(Programa
Lenguaje alto nivel).Selección
de un lenguaje de programación y digitación del pseudocódigo haciendo uso de la
sintaxis y escritura gramatical del lenguaje seleccionado.
Ø Compilación
o Interpretación del programa: El software elegido convierte las instrucciones escritas
en el lenguaje comprendidas por el computador.
Ø
Ejecución del Programa: El programa es ejecutado por el ordenador
para llegar a los resultados esperados.
Ø
Prueba y Depuración: Operación de detectar, localizar y eliminar
errores del mal funcionamiento del programa.
Ø
Evaluación de los resultados: Obtenidos lo resultados se los evalúa para
verificar si son correctos. Un programa puede arrojar resultados incorrectos
aun cuando su ejecución no muestra errores.
Cinco
importantes condiciones de un algoritmo
Las
cinco condiciones, reducen significativamente el espectro tan amplio que hasta
ahora se ha manejado como algoritmo. Así por ejemplo, aunque una receta de
cocina podría considerarse como un algoritmo, es común encontrar expresiones
imprecisas en ella que dan lugar a ambigüedad (violando la condición 2), tales como
“añádase una pizca de sal”, “batir suavemente”, etc., invalidando con ello la formalidad
de un algoritmo dentro del contexto que nos interesa.
1.
Finitud: Un algoritmo tiene que acabar siempre tras un número finito de
pasos. (Un procedimiento que tiene todas las características de un algoritmo
salvo que posiblemente falla en su finitud, se conoce como método de cálculo.)
2.
Definibilidad: Cada paso de un algoritmo debe definirse de modo preciso;
las acciones a realizar han de estar especificadas para cada caso rigurosamente
y sin ambigüedad.
3.
Conjunto de entradas: Debe existir un conjunto especificado de objetos,
cada uno de los cuales constituye los datos iniciales de un caso particular del
problema que resuelve el algoritmo. A este conjunto se le denomina conjunto de
entradas del algoritmo.
4.
Conjunto de salidas: Debe existir un número especificado de objetos,
cada uno de los cuales constituye la salida o respuesta que debe obtener el
algoritmo para los diferentes casos particulares del problema. A este conjunto
se le denomina conjunto de salidas del algoritmo. Para cada entrada del
algoritmo, debe existir una salida asociada que constituye la solución al
problema particular determinado por dicha entrada.
5.
Efectividad: Un algoritmo debe ser efectivo. Esto significa que todas
las operaciones a realizar por el algoritmo deben ser lo bastante básicas para
poder ser efectuadas de modo exacto, y en un
lapso de tiempo finito por el procesador que ejecute el algoritmo.
Estructura
de un algoritmo
Aunque
no existe una única forma de representar un algoritmo, la estructura general de
un algoritmo debería ser :cada uno tiene formas diferentes aunque esencialmente
iguales de representar un algoritmo Elementos de la programación estructurada:
algoritmos, pseudo código y diagramas de flujo
Estructura
general de un algoritmo
Algoritmo
<nombre_del_algoritmo>
Inicio
definición
de constantes
declaración
de variables
Sentencia
1
Sentencia
2
.
.
.
Sentencia
n
Fin
Aunado
a la estructura general del algoritmo propuesta , se considera recomendable
que, partiendo de la descripción del problema y de un análisis inicial, se
determine la entrada, la salida y el proceso general de solución del algoritmo.
Lenguajes de Programación:
Es un conjunto de símbolos, caracteres y reglas (programas) que le permiten a
las personas comunicarse con la computadora.
Los lenguajes de programación tienen un conjunto de instrucciones que nos
permiten realizar operaciones de entrada/salida, cálculo, manipulación de textos,
lógica/comparación y almacenamiento/recuperación.
Los lenguajes de programación se clasifican en:
Ø Lenguaje
Maquina: Son aquellos cuyas instrucciones son directamente entendibles
por la computadora y no necesitan traducción posterior para que la CPU (Unidad
Central de Proceso) pueda comprender y ejecutar el programa. Las instrucciones
en lenguaje maquina se expresan en términos de la unidad de memoria mas pequeña
el bit (dígito binario 0 o 1).
Ø Lenguaje
de Bajo Nivel (Ensamblador): En este lenguaje las
instrucciones se escriben en códigos alfabéticos conocidos como mnemotécnicos
para las operaciones y direcciones simbólicas.
Ø Lenguaje
de Alto Nivel: Los lenguajes de programación de alto nivel (BASIC, pascal,
cobol, fortran, VisualB,C etc.) son aquellos en los que las instrucciones o
sentencias a la computadora son escritas con palabras similares a los lenguajes
humanos (en general en ingles), lo que facilita la escritura y comprensión del
programa.
Técnicas para la formulación de algoritmos
Las dos herramientas utilizadas
comúnmente para diseñar algoritmos son:
Ø Diagrama de Flujo
Ø Pseuducodigo
Diagrama
de Flujo.
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).
Recomendaciones para el diseño de Diagramas de Flujo
Ø Se deben se usar solamente líneas de flujo
horizontales y/o verticales.
Ø Se debe evitar el cruce de líneas utilizando
los conectores.
Ø Se deben usar conectores solo cuando sea
necesario.
Ø No deben quedar líneas de flujo son conectar.
Ø 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.
Pseudocodigo.
Lenguaje de especificación, mezcla de lenguaje de programación y español (o ingles o cualquier otro idioma) que se emplea, dentro de la programación estructurada, para realizar el diseño de un programa. En esencial, el pseudo código se puede definir como un lenguaje de especificaciones de algoritmos.
Es la representación narrativa de los pasos que debe seguir un algoritmo para dar solución a un problema determinado. El pseudo código utiliza palabras que indican el proceso a realizar.
Tomado de:
wikiuan.wikispaces.com/file/view/GUIA+No+1+algoritmos.do
Comentarios
Publicar un comentario