Introducción a los Algortimos

30
ALGORITMOS

description

Presentación para el módulo 2, unidad 3 y 4 de la asignatura Computación I

Transcript of Introducción a los Algortimos

Page 1: Introducción a los Algortimos

ALGORITMOS

Page 2: Introducción a los Algortimos

¿QUE ES UN ALGORITMO?

•  Es un conjunto de pasos, instrucciones o acciones que se deben seguir y realizar ordenadamente para llegar a un fin determinado.

• Ej: Solución de un problema, obtención de una respuesta, realización de una tarea, mejorar un proceso, etc.

• Algoritmos cualitativos. Son aquellos pasos o instrucciones descritos por medio de palabras que sirven para llegar a la obtención de una respuesta o solución de un problema.

• Ej.: La utilización del directorio telefónico, una recta de cocina (preparar sancocho), montaje de una llanta, etc.

• Algoritmos cuantitativos. Son todos aquellos pasos o instrucciones que involucran cálculos numéricos para llegar aun resultado satisfactorio Ej: Una ecuación diferencial, hallar una raíz, etc.

Page 3: Introducción a los Algortimos

EJEMPLO DE UN ALGORITMO Algoritmo para comprar los boletos de entrada al cine

1. Inicio.

2. Llegar al lugar de proyección de la película.

3. Revisar la cartelera.

4. Seleccionar la película.

5. Hacer la cola de pago.

6. Esperar el turno.

7. Solicitar la película.

8. Si la hay (ir al paso 10), sino (ir al paso 9).

9. Escoger otra película (ir al paso 8), o retirarse (ir al paso 12).

10. Entregar el dinero.

11. Esperar por los boletos y la diferencia de pago.

12. Fin.

Page 4: Introducción a los Algortimos

PARTES DE UN ALGORITMOTodo algoritmo debe obedecer a la estructura básica 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 solución del problema o la 

situación planteada.

SALIDA: 

Resultados arrojados por el proceso como solución.

Page 5: Introducción a los Algortimos

PARTES DE UN ALGORITMO.

ENTRADAPROCESOSALIADA

Datos Datos procesados

Page 6: Introducción a los Algortimos

PARTES DE UN ALGORITMOEjemplo de un algoritmo de la sumatoria de los dos números     

Tenemos que: ENTRADA : Valores de las variables A y B. PROCESO:  Asignar a la variable Suma, el valor de A mas el valor de B.SALIDA: Impresión del valor de la variable Suma, que contiene la sumatoria de los valores de A y B.

InicioLeer A Leer B Suma= A + B Escribir Suma Fin

Page 7: Introducción a los Algortimos

CARACTERÍSTICAS DE UN ALGORITMO

Principios de Algoritmia Características de los Algoritmos

Consecuente: Indica el orden de realización de cada paso dentro del proceso.

Definición: Indica  la  exactitud  y  consistencia  de  los  pasos  descritos  en  el  proceso,  si  el  algoritmo  se  prueba  dos  veces, en estas dos pruebas, se debe obtener el mismo resultado.  

Finitud:Indica el número razonable de pasos, los cuales deben conllevar a la finalización del proceso y producir  un resultado en un tiempo finito

Page 8: Introducción a los Algortimos

ELEMENTOS QUE COMPONEN UN ALGORITMO

Dado que un algoritmo  es  un  conjunto  de  instrucciones  que permiten resolver  un  problema, los elementos que se utilizan enla construcción de algoritmos son los siguientes:

●Comandos: Son palabras que denotan una acción que son  interpretadas y ejecutarlas 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: Inicio, Leer, Imprimir.

●Datos:Numéricos (Reales, Enteros)      Lógicos (Binarios)         Carácter (Char, String)

Page 9: Introducción a los Algortimos

ELEMENTOS QUE COMPONEN UN ALGORITMO

●Variables y contantes:Son  espacios  de  memoria  que contienen  valores  de un tipo especifico de dato que pueden  mantenerse (Constantes)o que  puedan variar (Variables).

• Constante: Es un dato que permanece con un valor por siempre Ej: PI, e, etc.

• Variable: Es un dato cuyo valor puede variar a lo largo del desarrollo del algoritmoEj: Velocidad, aceleración, contador, etc.

Page 10: Introducción a los Algortimos

ELEMENTOS QUE COMPONEN UN ALGORITMO

●Operadores: Son todos los símbolos y palabras que permiten crear operaciones de diversos tipo tales como:

• Aritméticas: +(Suma) , -(Resta), /(División),*(Multiplicación), % Residuo.

• Relacionales: >(Mayor que),< (Menor que),<>(Diferente), >=(Mayor o igual),<=(Menor o igual).

• Lógicos: AND-&& (Conjunción), OR-|| (Disyunción), NOT-! (Negación),

Page 11: Introducción a los Algortimos

¿CÓMO SE REPRESENTAN LOSALGORITMOS?

• Para representar los algoritmos se utilizan los:

– Diagramas de Flujo– Pseudo Código o Pseudo Lenguaje.

Page 12: Introducción a los Algortimos

ESTRUCTURAS BÁSICAS DE LOS ALGORITMOS

En los algoritmos se emplean  estructuras  básicas  o  de  control  ya  prediseñadas  para  el tratamiento  de  información, las cuales realizan  acciones a las cuales deba someterse la información. 

Estas  estructuras son:

• Secuenciales: cuando se requiere que una instrucción siga después de otra.

• Selección  o  decisión:  Para tomar decisiones  lógicas,  la  ejecución de la instrucciones dependerá de que se cumplan o no, una o  varias condiciones.

• Repetición  o  Iteración:  se  utiliza  cuando  un  proceso  debe repetirse  un  número  determinado  o  no  de  veces,  una  vez .

Page 13: Introducción a los Algortimos

¿CÓMO SE REPRESENTAN LOSALGORITMOS?

• Símbolos diagramas de flujo.

Proceso alterno

Proceso

Bifurcación(Decisión)

Si No

Flujo de datos

Entrada/Salida de

datos

Inicio/Fin

Page 14: Introducción a los Algortimos

EJEMPLO DE UN DIAGRAMA DE FLUJO

Inicio

Fin

Terminador

Leer (numero)

Entrada de Datos

contador 0acumulador 0

Proceso

contador < numero

Decisión

contador contador + 1

Leer (edad)

acumulador acumulador + edad

SI

Escribir (promedio)

NO

contador > 0

promedio 0promedio

acumulador/contador

SINO

Salida de Datos

Se recibe el número de estudiantes

Page 15: Introducción a los Algortimos

EJEMPLO DE UN PSEUDO CÓDIGOINICIO

leer(numero)contador 0acumulador 0

MIENTRAS contador < numero HACERcontador contador +1leer(edad)acumulador acumulador + edad

FIN MIENTRAS

SI contador >0 ENTONCESpromedio acumulador/contador

SINOpromedio 0

FIN SI

escribir(promedio)FIN

Page 16: Introducción a los Algortimos

ENUNCIADO DE ASIGNACIÓN

Es una acción o proceso por el cual se le asigna un valor (constante o variable) o el resultado de una operación (expresión) a una variable. Los enunciados de asignación se utilizan generalmente para cambiarle de valor a una variable o definirla.

Definir una variable consiste en asignarle o darle por primera vez un valor; y puede hacerse de dos maneras: Por medio de una lectura de datos, o Utilizando un enunciado de asignación.

Ejemplo:

leer(edad)

edad 25

Page 17: Introducción a los Algortimos

REGLAS DE CONSTRUCCIÓN DEENUNCIADOS DE ASIGNACIÓN

Toda variable que aparezca al lado derecho de un enunciado de asignación debe estar definida.

Ejemplo 1:

edad 25

contador 0

contador contador + edad Las variables edad y contador se definieron correctamente

Ejemplo 2:

contador 0

contador contador + edad La variable edad nunca fue definida.

Page 18: Introducción a los Algortimos

REGLAS DE CONSTRUCCIÓN DEENUNCIADOS DE ASIGNACIÓN

En un enunciado de asignación la variable de la izquierda es la única que cambia de valor cuando con anterioridad tiene un valor asignado.

Ejemplo :

edad 25

contador 0

contador contador + edad

Page 19: Introducción a los Algortimos

REGLAS DE CONSTRUCCIÓN DEENUNCIADOS DE ASIGNACIÓN

Las variables que aparecen en la parte derecha de un enunciado de asignación conservan su valor después de ejecutarse la asignación.

Ejemplo :

salario 1000

bono 120

salario_neto salario + bono

Page 20: Introducción a los Algortimos

REGLAS DE CONSTRUCCIÓN DEENUNCIADOS DE DECISIÓN

Los enunciados de decisión se utilizan para tomar una acción o conocer el estado de alguna situación especial, que generalmente toman un valor Verdadero o Falso.

Page 21: Introducción a los Algortimos

REGLAS DE CONSTRUCCIÓN DEENUNCIADOS DE DECISIÓN

SI <comparación> ENTONCESVERDADEROEnunciado(s)

SINOFALSOEnunciado(s)

FIN SI

<comparación>SI NO

Pseudo Código

Page 22: Introducción a los Algortimos

ENUNCIADO DE DECISIÓN

SI contador >0 ENTONCESpromedio acumulador/contador

SINOpromedio 0

FIN SI

contador > 0

promedio 0promedio

acumulador/contador

SI NODiagrama de Flujo

Pseudo Código

Page 23: Introducción a los Algortimos

REGLAS DE CONSTRUCCIÓN DEENUNCIADOS DE REPETICIÓN

Son los enunciados que permiten repetir varias o muchas veces un conjunto de enunciados según se necesite de acuerdo a una condición.

Se les conoce también como ciclos.

Page 24: Introducción a los Algortimos

ENUNCIADO DE REPETICIÓN

MIENTRAS <comparación> HACER

VERDADERO

Enunciado(s) a repetir

FIN MIENTRAS

FALSO

Enunciado(s)

<comparación>

SI NODiagrama de Flujo

Pseudo Código

Page 25: Introducción a los Algortimos

ENUNCIADO DE REPETICIÓN

MIENTRAS contador < numero HACER

contador contador +1

leer(edad)

acumulador acumulador + edad

FIN MIENTRAS

promedio acumulador/contador

escribir(promedio)

Fin

contador < numero

contador contador + 1

Leer(edad)

acumulador acumulador + edad

SI

promedio acumulador/contador

Escribir (promedio)

NO

Diagrama de Flujo

Pseudo Código

Page 26: Introducción a los Algortimos

REGLAS DE CONSTRUCCIÓN DEENUNCIADOS DE LECTURA

El enunciado de lectura se utiliza para introducir datos que se van a utilizar en la solución de un algoritmo.

Ejemplo:◦ Leer(edad)

Page 27: Introducción a los Algortimos

REGLAS DE CONSTRUCCIÓN DEENUNCIADOS DE ESCRITURA

El enunciado de escritura se utiliza para informar los resultados que se esperaban obtener al ejecutarse el algoritmo.Ejemplo:

Escribir(promedio)

Page 28: Introducción a los Algortimos

PASOS PARA ELABORAR UNALGORITMO

1. Leer el enunciado del problema cuantas veces sea necesario, hasta entenderlo completamente, si tiene duda sobre el significado de alguna pregunta o condición aclararla, ojala se aprenda de memoria el enunciado.

2. Determinar claramente con que datos de entrada se cuenta para la solución del problema.

3. Aclarar y determinar la información o resultados que se soliciten.1. Información Intermedia.2. Información Final.

4. Definir que cálculos y/o comparaciones se necesitan para llegar al resultado final.1. Cálculos y comparaciones intermedias.2. Cálculos y comparaciones finales.

5. Tener en cuenta toda clase de condiciones y restricciones para la solución del problema.

Todos los pasos tienen la misma importancia, la falta de analisis de alguno de ellos causara problemas en el transcurso del desarrollo del algoritmo.

Page 29: Introducción a los Algortimos

EJEMPLO DE ALGORITMOINICIO

leer(numero)contador 0 acumulador 0

cont_mujeres 0cont_hombres 0acum_mujeres 0acum_hombres 0

MIENTRAS contador < numero HACERcontador contador +1leer(edad)leer(sexo)

SI sexo = ‘mujer’ ENTONCEScont_mujeres cont_mujeres +1acum_mujeres acum_mujeres + edad

SINOcont_hombres cont_hombres +1acum_hombres acum_hombres + edad

FIN SI

acumulador acumulador + edadFIN MIENTRAS

Page 30: Introducción a los Algortimos

EJEMPLO DE ALGORITMOSI contador >0 ENTONCES

promedio acumulador/contador

SINO

promedio 0

FIN SI

SI cont_mujeres >0 ENTONCES

prom_mujeres acum_mujeres/cont_mujeres

SINO

prom_mujeres 0

FIN SI

SI cont_hombres >0 ENTONCES

prom_hombres acum_hombre/cont_hombres

SINO

prom_hombres 0

FIN SI

escribir(promedio)

escribir(prom_mujeres)

escribir(prom_hombres)

FIN