Este documento presenta un resumen sobre algoritmos impartido por el Lic. Marcio Rodas a estudiantes de Informática Básica. Explica que un algoritmo es una secuencia de instrucciones ordenadas para solucionar un problema y que pueden representarse usando pseudocódigo, diagramas de flujo u otros lenguajes. También describe formas de descubrir algoritmos y estructuras de control de flujo como bucles while, do-while y for.
3. Algoritmo
Se puede definir como una secuencia de instrucciones que
representan un modelo de solución para determinado tipo de
problemas. O bien como un conjunto de instrucciones que realizadas
en orden conducen a obtener la solución de un problema. Por lo tanto
podemos decir que es un conjunto ordenado y finito de pasos que nos
permite solucionar un problema.
4. Representación de Algoritmos
Los algoritmos pueden ser expresados de muchas maneras, incluyendo al lenguaje
natural, pseudocódigo, diagramas de flujo y lenguajes de programación entre otros.
Las descripciones en lenguaje natural tienden a ser ambiguas y extensas. El usar
pseudocódigo y diagramas de flujo evita muchas ambigüedades del lenguaje
natural. Dichas expresiones son formas más estructuradas para representar
algoritmos; no obstante, se mantienen independientes de un lenguaje de
programación específico
5. La descripción de un algoritmo usualmente se hace en tres
niveles:
I. Descripción de alto nivel. Se establece el problema, se selecciona
un modelo matemático y se explica el algoritmo de manera verbal,
posiblemente con ilustraciones y omitiendo detalles.
II. Descripción formal. Se usa pseudocódigo para describir la
secuencia de pasos que encuentran la solución.
III. Implementación. Se muestra el algoritmo expresado en un
lenguaje de programación específico o algún objeto capaz de
llevar a cabo instrucciones.
7. Descubrimiento de Algoritmos
El desarrollo de un programa esta compuesto por dos actividades:
Descubrir el algoritmo subyacente
• Representar dicho algoritmo en forma de programa
Después de todo descubrir un algoritmo para resolver un problema
requiere encontrar un método de resolución de ese problema. Por lo
tanto comprender como se descubre un algoritmo equivale a la
comprensión de la resolución de u problema
8. Técnicas de resolución de problema
Trabajar con el problema en sentido inverso
Buscar un problema relacionado que se mas fácil de resolver o
que ya haya sido resuelto con anterioridad y luego tratar de poner
su solución al problema actual
Aplicar un refinamiento sucesivo que es básicamente la técnica
de no tratar de acometer de una sola vez la tarea completa
9. Estructura Interactivas
Las estructuras interactivas de control de flujo se ocupan de repetir una
serie de líneas de código tantas veces como el programador lo indique
o bien hasta que se de una cierta condición. Estas estructuras también
seles llama bucles
10. ESTRUCTURAS REPETITIVAS O BUCLES EN PHP
Las estructuras repetitivas (bucles) son aquellas que reiteran una o un grupo de
instrucciones "n" veces y dependen de una variable de control del ciclo. Es decir, ejecutan
una o varias instrucciones un número de veces definido. Las instrucciones básicas que
permiten construir este tipo de estructuras son while, do ... while y for.
CICLO WHILE
Permite que se repita cierta acción en cuanto la condición evaluada sea verdadera y en el
momento en que la condición sea falsa saldrá
del ciclo y continuara con la siguiente instrucción
11. DO – WHILE
Su diferencia básica con el ciclo while es que la prueba de condición es hecha al finalizar
el ciclo, es decir las instrucciones se ejecutan cuando menos una vez porque primero
ejecuta las instrucciones y al final evalúa la condición;
También se le conoce por esta razón como ciclo de condición de salida.
12. Ciclo For:
El bucle mor es una estructura de control en la que se puede indicar el numero
mínimo de iteraciones
13. Estructuras recursivas
Las estructuras de datos recursivas sirven para construir estructuras dinámicas y complejas tales como.
Estructura pila estructura árbol estructura Grafo
14. Eficiencia y corrección
Es un tipo de mecanismo de corrección de errores que permite su
corrección en el receptor sin retransmisión de la información original.
La eficiencia para corregir los posibles errores que se pueden dar es
un tema de importancia para un mejor control de nuestros códigos.