Conceptos fundamentales de Algoritmosblopez/ProgramacionEstru... · Elementos básicos de...

14
Elementos básicos de programación M. C. Bertha López Azamar Programación Estructurada Conceptos fundamentales de Algoritmos Es una secuencia de acciones para la realización de una tarea determinada. Conjunto de reglas o instrucciones que indican una secuencia lógica de operaciones que proporciona la respuesta a cualquier tipo de problema dado. Es una serie de pasos organizados que describe el proceso que se debe seguir, para dar solución a un problema específico. Es la secuencia ordenada de un conjunto de pasos que conducen a la obtención de un resultado, o a la resolución de un problema, el algoritmo debe describir tres partes, que son: entrada proceso salida. Se puede definir como una secuencia finita de instrucciones cada una de las cuales tiene un significado claro y puede ser efectuada con una cantidad finita de esfuerzo en una longitud de tiempo también finito. Es una serie de símbolos y reglas que se utilizan para describir de manera explícita un proceso.

Transcript of Conceptos fundamentales de Algoritmosblopez/ProgramacionEstru... · Elementos básicos de...

Page 1: Conceptos fundamentales de Algoritmosblopez/ProgramacionEstru... · Elementos básicos de programación M. C. Bertha López Azamar Programación Estructurada Conceptos fundamentales

Elementos básicos de programación

M. C. Bertha López Azamar Programación Estructurada

Conceptos fundamentales de Algoritmos

Es una secuencia de acciones para la realización de una tarea determinada.

Conjunto de reglas o instrucciones que indican una secuencia lógica de operaciones que proporciona la respuesta a cualquier tipo de problema dado.

Es una serie de pasos organizados que describe el proceso que se debe seguir, para dar solución a un problema específico.

Es la secuencia ordenada de un conjunto de pasos que conducen a la obtención de un resultado, o a la resolución de un problema, el algoritmo debe describir tres partes, que son: entrada – proceso –salida.

Se puede definir como una secuencia finita de instrucciones cada una de las cuales tiene un significado claro y puede ser efectuada con una cantidad finita de esfuerzo en una longitud de tiempo también finito.

Es una serie de símbolos y reglas que se utilizan para describir de manera explícita un proceso.

Page 2: Conceptos fundamentales de Algoritmosblopez/ProgramacionEstru... · Elementos básicos de programación M. C. Bertha López Azamar Programación Estructurada Conceptos fundamentales

Elementos básicos de programación

M. C. Bertha López Azamar Programación Estructurada

Actividad 1 Escriba una definición propia de algoritmo

Page 3: Conceptos fundamentales de Algoritmosblopez/ProgramacionEstru... · Elementos básicos de programación M. C. Bertha López Azamar Programación Estructurada Conceptos fundamentales

Elementos básicos de programación

M. C. Bertha López Azamar Programación Estructurada

Clasificación de algoritmos:

Algoritmo determinista: en cada paso del algoritmo se determina de forma única el siguiente paso.

Algoritmo no determinista: deben decidir en cada paso de la ejecución entre varias alternativas y agotarlas todas antes de encontrar la solución.

Page 4: Conceptos fundamentales de Algoritmosblopez/ProgramacionEstru... · Elementos básicos de programación M. C. Bertha López Azamar Programación Estructurada Conceptos fundamentales

Elementos básicos de programación

M. C. Bertha López Azamar Programación Estructurada

Ejemplos de algoritmos:

El algoritmo para realizar un pastel

El algoritmo para tomar el autobús y dirigirme a la UNPA

El algoritmo para realizar un examen

El algoritmo para andar en bicicleta

El algoritmo para cambiar un foco

Page 5: Conceptos fundamentales de Algoritmosblopez/ProgramacionEstru... · Elementos básicos de programación M. C. Bertha López Azamar Programación Estructurada Conceptos fundamentales

Elementos básicos de programación

M. C. Bertha López Azamar Programación Estructurada

Ejemplo 1 El algoritmo para cambiar

un foco

1. Quitar el foco fundido

2. Colocar el foco nuevo

3. Fin

Page 6: Conceptos fundamentales de Algoritmosblopez/ProgramacionEstru... · Elementos básicos de programación M. C. Bertha López Azamar Programación Estructurada Conceptos fundamentales

Elementos básicos de programación

M. C. Bertha López Azamar Programación Estructurada

Ejemplo 2 El algoritmo para realizar

un pastel 1. Elegir el tipo de pastel 2. Comprar los ingredientes 3. Mezclar los ingredientes 4. Prender el horno a fuego lento 5. Vaciar los ingredientes mezclados en un molde 6. Introducir el molde al horno 7. Revisar el pastel al tiempo indicado en la receta 8. Sacar el pastel del horno 9. Verificar si el pastel esta cocido.

1. Si esta cocido, ir al paso 10 2. Si el pastel no esta cocido, ir al paso 6

10. FIN

Page 7: Conceptos fundamentales de Algoritmosblopez/ProgramacionEstru... · Elementos básicos de programación M. C. Bertha López Azamar Programación Estructurada Conceptos fundamentales

Elementos básicos de programación

M. C. Bertha López Azamar Programación Estructurada

Actividad 2 Escriba el algoritmo para alguna actividad que realice diariamente o para alguna tarea especifica.

Page 8: Conceptos fundamentales de Algoritmosblopez/ProgramacionEstru... · Elementos básicos de programación M. C. Bertha López Azamar Programación Estructurada Conceptos fundamentales

Elementos básicos de programación

M. C. Bertha López Azamar Programación Estructurada

Escriba un algoritmo

Tiene 5 minutos para escribir el algoritmo

De lo que quieran.

3:22 p.m.

Page 9: Conceptos fundamentales de Algoritmosblopez/ProgramacionEstru... · Elementos básicos de programación M. C. Bertha López Azamar Programación Estructurada Conceptos fundamentales

Elementos básicos de programación

M. C. Bertha López Azamar Programación Estructurada

¿Tiene todos los pasos necesarios?

• NO, ¿verdad?

Tarea para siguiente clase (entregar):

Modificar el algoritmo que acaba de elaborar, indicando todos los pasos que omitió.

Page 10: Conceptos fundamentales de Algoritmosblopez/ProgramacionEstru... · Elementos básicos de programación M. C. Bertha López Azamar Programación Estructurada Conceptos fundamentales

Elementos básicos de programación

M. C. Bertha López Azamar Programación Estructurada

Los lenguajes algorítmicos pueden ser:

Gráficos: es la representación gráfica de las operaciones que realiza un algoritmo (diagrama de flujo).

No gráficos: representa en forma descriptiva las operaciones que debe realizar un algoritmo (pseudocódigo).

Page 11: Conceptos fundamentales de Algoritmosblopez/ProgramacionEstru... · Elementos básicos de programación M. C. Bertha López Azamar Programación Estructurada Conceptos fundamentales

Elementos básicos de programación

M. C. Bertha López Azamar Programación Estructurada

Diagrama de flujo

Es la representación gráfica detallada de un algoritmo.

• Varios símbolos se relacionan entre si mediante líneas que indican el orden de ejecución.

Los símbolos utilizados han sido normalizados por el Instituto Norteamericano de Normalización (ANSI).

inicio

a

“valor de a:”

a

fin

a = a * 2

“Resultado:”, a

Page 12: Conceptos fundamentales de Algoritmosblopez/ProgramacionEstru... · Elementos básicos de programación M. C. Bertha López Azamar Programación Estructurada Conceptos fundamentales

Elementos básicos de programación

M. C. Bertha López Azamar Programación Estructurada

Pseudocódigo

Es la representación narrativa de los pasos a seguir para dar la solución a un problema determinado.

Se emplean palabras del lenguaje natural, es el grupo de programadores el que determina la estandarización de la estructura de los algoritmos que realicen.

• Tiene muy pocas reglas sintácticas y ofrece libertad de expresar los pensamientos en el propio lenguaje en lugar de hacerlo en un lenguaje de programación.

Page 13: Conceptos fundamentales de Algoritmosblopez/ProgramacionEstru... · Elementos básicos de programación M. C. Bertha López Azamar Programación Estructurada Conceptos fundamentales

Elementos básicos de programación

M. C. Bertha López Azamar Programación Estructurada

Pseudocódigo

Es un lenguaje de especificación de algoritmos.

• Por lo tanto no puede ser no se compila y ejecutado por una computadora.

Page 14: Conceptos fundamentales de Algoritmosblopez/ProgramacionEstru... · Elementos básicos de programación M. C. Bertha López Azamar Programación Estructurada Conceptos fundamentales

Elementos básicos de programación

M. C. Bertha López Azamar Programación Estructurada

Ventajas del pseudocódigo frente al diagrama de flujo:

Ocupa menos espacio en una hoja de papel.

Es fácil de modificar.

Cada programador fija sus reglas y estándares.

Permite al programador concentrarse en la lógica y en las estructuras de control y no preocuparse de las reglas de sintaxis de un lenguaje de programación.

Si se siguen las reglas de sangrado, se puede observar claramente los niveles que tiene cada operación.

Permite representar en forma fácil operaciones repetitivas y complejas.

Es más fácil adaptar la traducción del algoritmo a la mayoría de los lenguajes de programación.