algoritmos concepto.ppt

79
Tema 1 Algoritmos

description

concepto de algoritmo

Transcript of algoritmos concepto.ppt

Page 1: algoritmos concepto.ppt

Tema 1

Algoritmos

Page 2: algoritmos concepto.ppt

IWI-131 - Tema 1 Algoritmos

Algoritmos

• ¿Que es un algoritmo?– “Una lista de instrucciones donde se especifica

una sucesión de operaciones necesarias para resolver cualquier problema de un tipo dado”.

– Ejemplo sumar dos números

Page 3: algoritmos concepto.ppt

IWI-131 - Tema 1 Algoritmos

Algoritmos

Page 4: algoritmos concepto.ppt

IWI-131 - Tema 1 Algoritmos

Algoritmos

1. 5+1=6

2. Anotar 6

3. 2+9=11

4. Anotar 1 y guardar 1

5. 4+0=4

6. 4+1=5

7. Anotar 5

8. El resultado es 516

491+ 25

516

Page 5: algoritmos concepto.ppt

IWI-131 - Tema 1 Algoritmos

Algoritmos

V+ F

F

+

V V V

V F F

F V F

F F F

Page 6: algoritmos concepto.ppt

IWI-131 - Tema 1 Algoritmos

Algoritmos

san+ sano

sansano

Page 7: algoritmos concepto.ppt

IWI-131 - Tema 1 Algoritmos

Algoritmos

• Entrada– ¿Qué se necesita para realizar los pasos?

• Salida– ¿Que se obtiene al final del algoritmo?

• Tipos de datos– Números: enteros, reales, complejos– Texto: letras, palabras, frases– Otros

Page 8: algoritmos concepto.ppt

IWI-131 - Tema 1 Algoritmos

Algoritmos

• Sirven para resolver un tipo de problema especifico.

• Son secuencias de pasos concretos.

• Requiere la definición de la entrada y la salida.

• Adecuados para ser ejecutados por un computador

Page 9: algoritmos concepto.ppt

IWI-131 - Tema 1 Algoritmos

Algoritmos

• ¿Qué tiene que ver con la programación?– La programación consiste en crear programas

de computador que resuelvan problemas específicos.

– Un programa de computador es la implementación de un algoritmo.

Page 10: algoritmos concepto.ppt

IWI-131 - Tema 1 Algoritmos

Algoritmos

• ¿Qué es un programa de computador?– Es una secuencia de pasos a ejecutar– Los pasos están descritos en un lenguaje

especial.– Este lenguaje se puede traducir al lenguaje del

computador.– Por lo general es un archivo de texto.– El texto escrito en dicho lenguaje se denomina

el código del programa.

Page 11: algoritmos concepto.ppt

IWI-131 - Tema 1 Algoritmos

Descripción de un algoritmo

• Es necesario contar con formas de expresar algoritmos– Diseño del algoritmo antes de codificar

– Diseño del algoritmo de manera independiente del lenguaje de programación

• Diferentes alternativas– Pseudo - código

– Diagramas de flujo

– Diagramas de Nassi-Schneidermann

Page 12: algoritmos concepto.ppt

IWI-131 - Tema 1 Algoritmos

Descripción de un algoritmo

• Pseudo – código– El algoritmo se expresa en lenguaje natural– Expresa de manera genérica los pasos del

algoritmo– No provee detalles de la implementación

particular del código final

Page 13: algoritmos concepto.ppt

IWI-131 - Tema 1 Algoritmos

Descripción de un algoritmo

• Diagramas de flujo– Presentan el algoritmo de manera gráfica.– De gran utilidad para seguir la “ruta” de un

algoritmo.– Aplicables a muchas otras disciplinas.

Page 14: algoritmos concepto.ppt

IWI-131 - Tema 1 Algoritmos

Descripción de un algoritmo

• Diagrama de Nassi-Schneidermann– También se denominan diagramas de caja.– Menos usado que el diagrama de flujo– Mas ordenado– Ocupa mucho espacio para representar

algoritmos complejos.

Page 15: algoritmos concepto.ppt

IWI-131 - Tema 1 Algoritmos

Construcción de un algoritmo

1. Definir el problema a resolver2. Identificar las entradas del algoritmo3. Identificar la salida del algoritmo4. Definir los pasos a seguir para convertir las

entradas en la salida5. Seguir los pasos y comprobar que el algoritmo

sea correcto analizando la salida.6. Revisar los pasos y hacer las correcciones.7. Resolver el problema.

Page 16: algoritmos concepto.ppt

IWI-131 - Tema 1 Algoritmos

Construcción de un algoritmo

• Construcción de un programa1. Definir el problema a resolver2. Definir el algoritmo que lo resuelve3. Escribir el programa

• Escribir cada uno de los pasos del algoritmo en el lenguaje de programación

4. Ejecutar el programa en el computador5. Verificar que las salidas sean correctas6. Hacer correcciones al programa7. Resolver el problema

Page 17: algoritmos concepto.ppt

IWI-131 - Tema 1 Algoritmos

Construcción de un algoritmo

• Ejemplo:– Objetivo: Calcular el precio de una manzana – Entradas

• Precio (en pesos) del kilo de manzanas [K]

• Peso (en gramos) promedio de una manzana[P]

– Salida• Precio (en pesos) de una manzana [M]

Page 18: algoritmos concepto.ppt

IWI-131 - Tema 1 Algoritmos

Construcción de un algoritmo

InicioIngresar valor de K y P

Calcular G = K/100

Calcular M = G x P

Devolver el valor de M

Fin.

Page 19: algoritmos concepto.ppt

IWI-131 - Tema 1 Algoritmos

Construcción de un algoritmo

G=K/1000

M=G x P

Ingresar K y P

Devolver M

Page 20: algoritmos concepto.ppt

IWI-131 - Tema 1 Algoritmos

Construcción de un algoritmo

G=K/1000

M=G x P

Ingresar K y P

Devolver M

Page 21: algoritmos concepto.ppt

IWI-131 - Tema 1 Algoritmos

Construcción de un algoritmo

• Operaciones básicas– Entrada de datos– Salida de datos– Utilización de variables– Utilización de constantes– Aplicación de operadores– Asignación de valores

• Combinación de operaciones básicas– Secuencial– Selectiva– Repetitiva

Page 22: algoritmos concepto.ppt

IWI-131 - Tema 1 Algoritmos

Entrada de datos

• Los algoritmos son para solucionar tipos de problemas

• Es imprescindible poder entregar entradas distintas en cada ejecución

• La entrada de datos se realiza mediante algún dispositivo

Page 23: algoritmos concepto.ppt

IWI-131 - Tema 1 Algoritmos

Entrada de datos

• Dispositivos de entrada– Teclado– Mouse– Botones– Censores de tacto– Cámaras digitales– Scanners– Archivos

Page 24: algoritmos concepto.ppt

IWI-131 - Tema 1 Algoritmos

Entrada de datos

Page 25: algoritmos concepto.ppt

IWI-131 - Tema 1 Algoritmos

Entrada de datos

• Cada dispositivo tiene distintas características.

• Por lo general, sirven para cosas distintas• Los sistemas definen un dispositivo de

entrada por defecto– Este dispositivo se denomina la entrada

estándar.– En un computador suele ser el teclado.

Page 26: algoritmos concepto.ppt

IWI-131 - Tema 1 Algoritmos

Salida de datos

• De nada sirve implementar un algoritmo si no podemos saber su resultado.

• Al finalizar el algoritmo (o durante), es imprescindible obtener la información resultante de su ejecución.

• La salida de datos se realiza mediante dispositivos.

Page 27: algoritmos concepto.ppt

IWI-131 - Tema 1 Algoritmos

Salida de datos

• Dispositivos de salida– Pantalla– Impresora– Parlantes– Tableros luminosos– Motores– Tarjeta de red– Archivos

Page 28: algoritmos concepto.ppt

IWI-131 - Tema 1 Algoritmos

Salida de datos

C:\

Page 29: algoritmos concepto.ppt

IWI-131 - Tema 1 Algoritmos

Salida de datos

• Al igual que con la entrada, cada dispositivo tiene finalidades distintas.

• Los sistemas definen un dispositivo de salida por defecto– Este dispositivo se denomina la salida

estándar.– En un computador suele ser la pantalla.

Page 30: algoritmos concepto.ppt

IWI-131 - Tema 1 Algoritmos

Utilización de variables

• Durante la ejecución del algoritmo, es importante recordar los resultados parciales de cada paso.

• Estos resultados se etiquetan con un nombre.

• Al invocar con posterioridad ese nombre, recuperamos el resultados parcial.

Page 31: algoritmos concepto.ppt

IWI-131 - Tema 1 Algoritmos

Utilización de variables

G=K/1000

Esta variable se denomina G y se utiliza para recordar el valor de un gramo de manzana.

K es un dato de entrada, y tambiénSe considera una variable

Page 32: algoritmos concepto.ppt

IWI-131 - Tema 1 Algoritmos

Utilización de variables

• La principal característica de una variable es que su valor puede cambiar en el tiempo.

• Usualmente se compara con una caja donde se puede almacenar una sola “cosa”.

• Por lo general, las variables se definen con un tipo de dato.

• El tipo de dato restringe que tipo de “cosas” se pueden guardar en las “cajas”.

Page 33: algoritmos concepto.ppt

IWI-131 - Tema 1 Algoritmos

Utilización de constantes

• Además de las variables, un algoritmo requiere de constantes.

• A diferencia de las variables, su valor no puede cambiar en el tiempo.

• Las constantes también pueden recibir nombres para mayor claridad.– Ej.: PI = 3.1415

Page 34: algoritmos concepto.ppt

IWI-131 - Tema 1 Algoritmos

Utilización de constantes

G=K/1000

La constante “1000” sirva para transformar el valor Por kilo a un valor por gramo

Page 35: algoritmos concepto.ppt

IWI-131 - Tema 1 Algoritmos

Aplicación de operadores

• Para obtener resultados, generalmente es necesario “transformar” las entradas en la salida.

• Para esto se aplican operadores de distinta índole– Aritméticos ( + , - , * , / )– Lógicos (igual que, mayor que, menor que, y, o, no)– Etc.

• Los operadores requieren de operandos y entregan un resultado.

• Por lo general, los operadores son unarios o binarios.

Page 36: algoritmos concepto.ppt

IWI-131 - Tema 1 Algoritmos

Aplicación de operadores

M=G * P

operandos

operador

Page 37: algoritmos concepto.ppt

IWI-131 - Tema 1 Algoritmos

Asignación de valores

• El resultado de un operador se puede almacenar en una variable.

• Para esto se utiliza un tipo especial de operador.

• Este es el operador de asignación.

• Solo se pueden asignar valores a variables, no a constantes

Page 38: algoritmos concepto.ppt

IWI-131 - Tema 1 Algoritmos

Asignación de valores

M=G * P

Operador de asignación

El resultado de GxP se asigna a la variable M

Page 39: algoritmos concepto.ppt

IWI-131 - Tema 1 Algoritmos

Combinación de operaciones básicas

• Secuencial– Un conjunto de operaciones básicas pueden ser

ejecutadas en forma secuencial.– Una operación no inicia hasta que la anterior

termina

Page 40: algoritmos concepto.ppt

IWI-131 - Tema 1 Algoritmos

Combinación de operaciones básicas

G=K/1000

M=G * P

Ingresar K y P

Devolver M

Ingresar K=200 y P=250

G tiene el valor 0,2

M tiene el valor 50

G=K/1000

M=G * P

Ingresar K y P

Devolver M

Diagrama de flujo

Diagrama de Nassi-Schneidermann

Page 41: algoritmos concepto.ppt

IWI-131 - Tema 1 Algoritmos

Combinación de operaciones básicas

• Selectiva– Un algoritmo puede optar por ejecutar o no una

operación (SI –ENTONCES).– Un algoritmo puede optar por ejecutar una u

otra operación (SI-ENTONCES-SINO).– Esta decisión se basa en un condición.– Esta decisión controla el flujo del algoritmo.– Por esto, se denomina una estructura de control.

Page 42: algoritmos concepto.ppt

IWI-131 - Tema 1 Algoritmos

Combinación de operaciones básicas

C

3

4

2

1

C: Condición

Page 43: algoritmos concepto.ppt

IWI-131 - Tema 1 Algoritmos

Combinación de operaciones básicas

3

si no

4

2

1

C

C: Condición

Page 44: algoritmos concepto.ppt

IWI-131 - Tema 1 Algoritmos

Combinación de operaciones básicas

Inicio

Ejecutar 1

Ejecutar 2

si se cumple C entonces

Ejecutar 3

fin si

Ejecutar 4

fin

Page 45: algoritmos concepto.ppt

IWI-131 - Tema 1 Algoritmos

Combinación de operaciones básicas

• Ejemplo: levantarse en la mañana

Iniciosalir de la camaducharsetomar desayunosi esta lloviendo entonces

tomar el paraguasfin sitomar la mochilatomar la micro

fin

Page 46: algoritmos concepto.ppt

IWI-131 - Tema 1 Algoritmos

Combinación de operaciones básicas

C

3a 3b

4

2

1

si no

C: Condición

Page 47: algoritmos concepto.ppt

IWI-131 - Tema 1 Algoritmos

Combinación de operaciones básicas

3a 3b

si no

4

2

1

C

C: Condición

Page 48: algoritmos concepto.ppt

IWI-131 - Tema 1 Algoritmos

Combinación de operaciones básicas

InicioEjecutar 1Ejecutar 2si se cumple C entonces

Ejecutar 3asi no

Ejecutar 3bfin siEjecutar 4

fin

Page 49: algoritmos concepto.ppt

IWI-131 - Tema 1 Algoritmos

Combinación de operaciones básicas

• Ejemplo: levantarse en la mañanaInicio

salir de la camaducharsetomar desayunosi esta lloviendo entonces

llevar la parcasi no

llevar la chaquetafin sitomar la mochilatomar la micro

fin

Page 50: algoritmos concepto.ppt

IWI-131 - Tema 1 Algoritmos

Combinación de operaciones básicas

• Estructura de control selectiva– Una condición es cualquier proposición lógica

que tenga un valor verdadero o falso definido.– Este esquema selectivo se denomina “decision

binaria”.– ¿Y si hay más de dos opciones?

Page 51: algoritmos concepto.ppt

IWI-131 - Tema 1 Algoritmos

Combinación de operaciones básicas

• Estructura de control selectiva– Toda decisión se puede llevar a un esquema de

decisión binaria.– Basta con decidir entre una alternativa y todo el

resto– Si se elige “el resto”, se decide entre una

alternativa y el resto del resto.– Etc…

Page 52: algoritmos concepto.ppt

IWI-131 - Tema 1 Algoritmos

Combinación de operaciones básicas

2a 2b 2c

3

1

x?x mayor que 0

x igual a 0

x menor que 0

Page 53: algoritmos concepto.ppt

IWI-131 - Tema 1 Algoritmos

Combinación de operaciones básicas

3

x mayor que 0?

1

x menor que 0?

si

si

no

no

2a 2b 2c

Page 54: algoritmos concepto.ppt

IWI-131 - Tema 1 Algoritmos

Combinación de operaciones básicas

1

3

2a

x mayor que 0?

x menor que 0?

2b 2c

si

sino

no

Page 55: algoritmos concepto.ppt

IWI-131 - Tema 1 Algoritmos

Combinación de operaciones básicas

InicioEjecutar 1Si x es mayor que cero entonces

Ejecutar 2aSi no

Si x es menor que cero entoncesEjecutar 2c

Si noEjecutar 2b

fin sifin siEjecutar 3

fin

Page 56: algoritmos concepto.ppt

IWI-131 - Tema 1 Algoritmos

Combinación de operaciones básicas• Ejemplo: levantarse en la mañanaInicio

salir de la camaducharsetomar desayunosi esta lloviendo entonces

llevar la parcasi no esta lloviendo pero hace frío

llevar la chaquetasi no

llevar un chalecofin sitomar la mochilatomar la micro

fin

Page 57: algoritmos concepto.ppt

IWI-131 - Tema 1 Algoritmos

Combinación de operaciones básicas

• Estructura de selección múltiple– Para algunos casos se puede utilizar un esquema

selectivo no binario (EN EL CASO DE)

– Ejemplo: ingreso de opción de menú de un cajero automático

• Si el usuario presionó el botón 1, hacer un giro

• Si el usuario presionó el botón 2, entregar saldo

• Si el usuario presionó el botón 3, cambiar la clave

• Etc.

Page 58: algoritmos concepto.ppt

IWI-131 - Tema 1 Algoritmos

Combinación de operaciones básicas

Botón

giro saldo clave error

1 32

etoc

salir

Page 59: algoritmos concepto.ppt

IWI-131 - Tema 1 Algoritmos

Combinación de operaciones básicas

giro clavesaldo error

Botón

1 2 3 etoc

salir

Page 60: algoritmos concepto.ppt

IWI-131 - Tema 1 Algoritmos

Combinación de operaciones básicas

Inicioen el caso que el botón presionado

sea el 1hacer giro

sea el 2entregar saldo

sea el 3cambiar clave

…En cualquier otro caso

Errorfin caso

fin

Page 61: algoritmos concepto.ppt

IWI-131 - Tema 1 Algoritmos

Combinación de operaciones básicas

• Repetitiva– Además de combinar operaciones en forma

secuencial y selectiva, se puede repetir la ejecución de una operación cuantas veces se desee.

– Existen varios esquemas• Repetir MIENTRAS se cumpla una condición.• Repetir HASTA QUE se cumpla una condición.• Repetir un número de veces.

Page 62: algoritmos concepto.ppt

IWI-131 - Tema 1 Algoritmos

Combinación de operaciones básicas

• MIENTRAS– Se repite una operación mientras una condición

sea verdadera.– Al dejar de serlo, se rompe el ciclo– Si la condición nunca es falsa, se tiene un ciclo

infinito.

Page 63: algoritmos concepto.ppt

IWI-131 - Tema 1 Algoritmos

Combinación de operaciones básicas

C

2

1

3

C: Condición

si

no

Page 64: algoritmos concepto.ppt

IWI-131 - Tema 1 Algoritmos

Combinación de operaciones básicas

1

3

2

C

C: Condición

Page 65: algoritmos concepto.ppt

IWI-131 - Tema 1 Algoritmos

Combinación de operaciones básicas

Inicio

ejecutar 1

mientras se cumpla la condición

ejecutar 2

fin mientras

ejecutar 3

fin

Page 66: algoritmos concepto.ppt

IWI-131 - Tema 1 Algoritmos

Combinación de operaciones básicas

• Ejemplo validar ingreso de valor positivo

Inicio

definir variable x

asignar el valor -1 a x

mientras x sea menor que cero

ingresar x por teclado

fin mientras

mostrar valor de x

fin

Page 67: algoritmos concepto.ppt

IWI-131 - Tema 1 Algoritmos

Combinación de operaciones básicas

• HASTA QUE– Se repite la ejecución de una operación hasta

que se cumpla una condición.– La principal diferencia con MIENTRAS es que

la operación se ejecuta al menos una vez.

Page 68: algoritmos concepto.ppt

IWI-131 - Tema 1 Algoritmos

Combinación de operaciones básicas

C

2

1

3

C: Condición

si

no

Page 69: algoritmos concepto.ppt

IWI-131 - Tema 1 Algoritmos

Combinación de operaciones básicas

1

3

2

C

C: Condición

Page 70: algoritmos concepto.ppt

IWI-131 - Tema 1 Algoritmos

Combinación de operaciones básicas

Inicio

ejecutar 1

repetir

ejecutar 2

hasta que se cumpla condición

ejecutar 3

fin

Page 71: algoritmos concepto.ppt

IWI-131 - Tema 1 Algoritmos

Combinación de operaciones básicas

• Ejemplo– Mismo ejemplo anterior

Inicio

definir variable x

repetir

ingresar x por teclado

Hasta que x sea mayor que cero

mostrar valor de x

fin

Page 72: algoritmos concepto.ppt

IWI-131 - Tema 1 Algoritmos

Combinación de operaciones básicas

• Repetir un número fijo de veces– Muy útil cuando se sabe el numero de

repeticiones a ejecutar.– Por lo general se define una variable que sirve

de contador– El contador mantiene el número de cada

iteración.– También se puede definir el incremento del

contador en cada iteración.

Page 73: algoritmos concepto.ppt

IWI-131 - Tema 1 Algoritmos

Combinación de operaciones básicas

Inicio contador, fin contador

2

3

1

Page 74: algoritmos concepto.ppt

IWI-131 - Tema 1 Algoritmos

Combinación de operaciones básicas

1

3

2

Inicio contador, fin contador

Page 75: algoritmos concepto.ppt

IWI-131 - Tema 1 Algoritmos

Combinación de operaciones básicas

Inicio

ejecutar 1

desde contador inicial hasta contador final

ejecutar 2

fin desde

ejecutar 3

fin

Page 76: algoritmos concepto.ppt

IWI-131 - Tema 1 Algoritmos

Combinación de operaciones básicas

• Ejemplo

5

0i

i

Inicio

definir variable “sumatoria”

asignar el valor 0 a “sumatoria”

desde i igual a 0 hasta i igual a 5

sumatoria = sumatoria + i

fin desde

mostrar valor de “sumatoria”

fin

Page 77: algoritmos concepto.ppt

IWI-131 - Tema 1 Algoritmos

Combinación de operaciones básicas

• Combinación de estructuras de control seriales, selectivas y repetitivas– Cualquier combinación es posible– Pueden existir estructuras anidadas– Es importante definir el comienzo y el termino

de cada estructura

Page 78: algoritmos concepto.ppt

IWI-131 - Tema 1 Algoritmos

Combinación de operaciones básicas

• Ejemplos– Cachi-pun– Ordenar objetos

Page 79: algoritmos concepto.ppt

Fin tema 1

Algoritmos