Vous êtes sur la page 1sur 77

Tema

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

Algoritmos

Algoritmos
Algoritmos
Algoritmos
Algoritmos

Algoritmos

491

+

25

516

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

Algoritmos

V

+ F

F

A

B

+

V

V

V

V

F

F

F

V

F

F

F

F

Algoritmos

san

+ sano

sansano

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

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.

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.

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

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

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.

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.

Construcción de un algoritmo

  • 1. Definir el problema a resolver

  • 2. Identificar las entradas del algoritmo

  • 3. Identificar la salida del algoritmo

  • 4. Definir los pasos a seguir para convertir las entradas en la salida

  • 5. 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.

Construcción de un algoritmo

Construcción de un programa

  • 1. Definir el problema a resolver

  • 2. Definir el algoritmo que lo resuelve

  • 3. Escribir el programa

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

  • 4. Ejecutar el programa en el computador

  • 5. Verificar que las salidas sean correctas

  • 6. Hacer correcciones al programa

  • 7. Resolver el problema

Construcción de un algoritmo

Ejemplo:

Objetivo: Calcular el precio de una manzana Entradas

Precio (en moneda) del kilo de manzanas [K] Peso (en gramos) promedio de una manzana[P]

Salida

Precio (en moneda) de una manzana [M]

Construcción de un algoritmo

Inicio Ingresar valor de K y P

Calcular G = K/1000

Calcular M = G x P

Devolver el valor de M

Fin.

Construcción de un algoritmo

Ingresar K y P

G=K/1000

M=G x P

Devolver M

Construcción de un algoritmo

Ingresar K y P

G=K/1000

M=G x P

Devolver M

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

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

Entrada de datos

Dispositivos de entrada

Teclado Mouse Botones Censores de tacto Cámaras digitales Scanners Archivos

Entrada de datos

Entrada de datos

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.

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.

Salida de datos

Dispositivos de salida

Pantalla Impresora Parlantes Tableros luminosos Motores Tarjeta de red Archivos

Salida de datos

C:\
C:\

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.

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.

Utilización de variables

K es un dato de entrada, y también

Se considera una variable

Utilización de variables K es un dato de entrada, y también Se considera una variable G=K/1000

G=K/1000

Utilización de variables K es un dato de entrada, y también Se considera una variable G=K/1000

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

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”.

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

Utilización de constantes

G=K/1000

Utilización de constantes G=K/1000 La constante “1000” sirva para transformar el valor Por kilo a un

La constante “1000” sirva para

transformar el valor Por kilo a un valor por gramo

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.

Aplicación de operadores

operandos

M=G * P
M=G * P

operador

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

Asignación de valores

Operador de asignación

M=G * P
M=G * P

El resultado de GxP se asigna a la variable M

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

Combinación de operaciones básicas

Diagrama de flujo Diagrama de Nassi-Schneidermann

Ingresar K y P

G=K/1000

M=G * P

Devolver M

Ingresar K y P

G=K/1000

M=G * P

Devolver M

Ingresar K=200 y P=250

G tiene el valor 0,2

M tiene el valor 50

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.

Combinación de operaciones básicas

1 2 C 3 4
1
2
C
3
4

C: Condición

Combinación de operaciones básicas

1 2 C si no 3 4
1
2
C
si
no
3
4

C: Condición

Combinación de operaciones básicas

Inicio

Ejecutar 1

Ejecutar 2

si se cumple C entonces

Ejecutar 3 fin si

Ejecutar 4

fin

Combinación de operaciones básicas

Ejemplo: levantarse en la mañana

Inicio salir de la cama ducharse tomar desayuno si esta lloviendo entonces tomar el paraguas fin si

tomar la mochila

tomar la micro fin

Combinación de operaciones básicas

1 2 C
1
2
C
3a
3a
si no 3b 4
si
no
3b
4
Combinación de operaciones básicas 1 2 C 3a si no 3b 4 C: Condición

C: Condición

Combinación de operaciones básicas

1 2 C si no 3a 3b 4
1
2
C
si
no
3a
3b
4

C: Condición

Combinación de operaciones básicas

Inicio

Ejecutar 1

  • Ejecutar 2
    si se cumple C entonces

Ejecutar 3a si no Ejecutar 3b

fin si

Combinación de operaciones básicas Inicio Ejecutar 1 Ejecutar 2 si se cumple C entonces Ejecutar 3a

Ejecutar 4 fin

Combinación de operaciones básicas

Ejemplo: levantarse en la mañana

Inicio

salir de la cama ducharse tomar desayuno si esta lloviendo entonces

llevar la parca si no llevar la chaqueta fin si tomar la mochila tomar la micro fin

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?

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…

Combinación de operaciones básicas

Combinación de operaciones básicas 1 x? x igual a 0 x mayor que 0 x menor
 

1

x? x igual a 0
x?
x igual a 0

x mayor que 0

x menor que 0

2a

 

2b

 

2c

3
3

Combinación de operaciones básicas

1 si no x mayor que 0? x menor que 0? no si 2a 2b 2c
1
si
no
x mayor que 0?
x menor que 0?
no
si
2a
2b
2c
3

Combinación de operaciones básicas

1 x mayor que 0? si no x menor que 0? no si 2a 2b 2c
1
x mayor que 0?
si
no
x menor que 0?
no
si
2a
2b
2c
3

Combinación de operaciones básicas

Inicio

Ejecutar 1 Si x es mayor que cero entonces Ejecutar 2a Si no

Si x es menor que cero entonces

Ejecutar 2c

Si no

 

Ejecutar 2b

fin si

fin si

Ejecutar 3 fin

Combinación de operaciones básicas

Ejemplo: levantarse en la mañana

Inicio salir de la cama

ducharse

tomar desayuno si esta lloviendo entonces llevar la parca si no esta lloviendo pero hace frío

llevar la chaqueta

si no llevar un chaleco fin si tomar la mochila

tomar la micro

fin

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.

Combinación de operaciones básicas etoc Botón 1 2 3 giro saldo clave … error salir
Combinación de operaciones básicas
etoc
Botón
1
2
3
giro
saldo
clave
error
salir
Combinación de operaciones básicas Botón etoc 1 2 3 giro saldo clave … error salir
Combinación de operaciones básicas
Botón
etoc
1
2
3
giro
saldo
clave
error
salir

Combinación de operaciones básicas

Inicio

en el caso que el botón presionado sea el 1 hacer giro sea el 2

entregar saldo

sea el 3

cambiar clave

En cualquier otro caso

Error

fin caso fin

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.

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.

Combinación de operaciones básicas

1 C si 2 3
1
C
si
2
3

no

C: Condición

Combinación de operaciones básicas

 

1

 

C

2

 

3

C: Condición

Combinación de operaciones básicas

Inicio

ejecutar 1 mientras se cumpla la condición

ejecutar 2

fin mientras ejecutar 3

fin

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

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.

Combinación de operaciones básicas

1 2 no C si 3
1
2
no
C
si
3

C: Condición

Combinación de operaciones básicas

 

1

 

2

C

 

3

C: Condición

Combinación de operaciones básicas

Inicio

ejecutar 1 repetir

ejecutar 2

hasta que se cumpla condición ejecutar 3

fin

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

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.

Combinación de operaciones básicas

Combinación de operaciones básicas 1 Inicio contador, fin contador 2 3
1 Inicio contador, fin contador 2 3
1
Inicio contador, fin contador
2
3
Combinación de operaciones básicas 1 Inicio contador, fin contador 2 3

Combinación de operaciones básicas

 

1

 

Inicio contador, fin contador

2

 
 

3

Combinación de operaciones básicas

Inicio

ejecutar 1

desde contador inicial hasta

contador final

ejecutar 2 fin desde

ejecutar 3

fin

Combinación de operaciones básicas

Ejemplo

Inicio

5

i

i 0

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

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

Combinación de operaciones básicas

Ejemplos

Cachi-pun Ordenar objetos