You are on page 1of 79

Tema 1

Algoritmos

Algoritmos
Que es un algoritmo?
Una lista de instrucciones donde se especifica una sucesin de operaciones necesarias para resolver cualquier problema de un tipo dado. Ejemplo sumar dos nmeros

IWI-131 - Tema 1 Algoritmos

Algoritmos

IWI-131 - Tema 1 Algoritmos

Algoritmos

491 + 25 516

1. 2. 3. 4. 5. 6. 7. 8.

5+1=6 Anotar 6 2+9=11 Anotar 1 y guardar 1 4+0=4 4+1=5 Anotar 5 El resultado es 516

IWI-131 - Tema 1 Algoritmos

Algoritmos

V + F F

+ V V F F V F V F V F F F

IWI-131 - Tema 1 Algoritmos

Algoritmos

san + sano sansano


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
Nmeros: enteros, reales, complejos Texto: letras, palabras, frases Otros
IWI-131 - Tema 1 Algoritmos

Algoritmos
Sirven para resolver un tipo de problema especifico. Son secuencias de pasos concretos. Requiere la definicin de la entrada y la salida. Adecuados para ser ejecutados por un computador
IWI-131 - Tema 1 Algoritmos

Algoritmos
Qu tiene que ver con la programacin?
La programacin consiste en crear programas de computador que resuelvan problemas especficos. Un programa de computador es la implementacin de un algoritmo.

IWI-131 - Tema 1 Algoritmos

Algoritmos
Qu es un programa de computador?
Es una secuencia de pasos a ejecutar Los pasos estn 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 cdigo del programa.
IWI-131 - Tema 1 Algoritmos

Descripcin de un algoritmo
Es necesario contar con formas de expresar algoritmos
Diseo del algoritmo antes de codificar Diseo del algoritmo de manera independiente del lenguaje de programacin

Diferentes alternativas
Pseudo - cdigo Diagramas de flujo Diagramas de Nassi-Schneidermann
IWI-131 - Tema 1 Algoritmos

Descripcin de un algoritmo
Pseudo cdigo
El algoritmo se expresa en lenguaje natural Expresa de manera genrica los pasos del algoritmo No provee detalles de la implementacin particular del cdigo final

IWI-131 - Tema 1 Algoritmos

Descripcin de un algoritmo
Diagramas de flujo
Presentan el algoritmo de manera grfica. De gran utilidad para seguir la ruta de un algoritmo. Aplicables a muchas otras disciplinas.

IWI-131 - Tema 1 Algoritmos

Descripcin de un algoritmo
Diagrama de Nassi-Schneidermann
Tambin se denominan diagramas de caja. Menos usado que el diagrama de flujo Mas ordenado Ocupa mucho espacio para representar algoritmos complejos.

IWI-131 - Tema 1 Algoritmos

Construccin de un algoritmo
1. 2. 3. 4. Definir el problema a resolver Identificar las entradas del algoritmo Identificar la salida del algoritmo 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.
IWI-131 - Tema 1 Algoritmos

Construccin de un algoritmo
Construccin 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 programacin

4. 5. 6. 7.

Ejecutar el programa en el computador Verificar que las salidas sean correctas Hacer correcciones al programa Resolver el problema
IWI-131 - Tema 1 Algoritmos

Construccin 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]

IWI-131 - Tema 1 Algoritmos

Construccin de un algoritmo
Inicio Ingresar valor de K y P Calcular G = K/100 Calcular M = G x P Devolver el valor de M Fin.
IWI-131 - Tema 1 Algoritmos

Construccin de un algoritmo
Ingresar K y P G=K/1000 M=G x P Devolver M

IWI-131 - Tema 1 Algoritmos

Construccin de un algoritmo

Ingresar K y P G=K/1000 M=G x P Devolver M

IWI-131 - Tema 1 Algoritmos

Construccin de un algoritmo
Operaciones bsicas
Entrada de datos Salida de datos Utilizacin de variables Utilizacin de constantes Aplicacin de operadores Asignacin de valores

Combinacin de operaciones bsicas


Secuencial Selectiva Repetitiva
IWI-131 - Tema 1 Algoritmos

Entrada de datos
Los algoritmos son para solucionar tipos de problemas Es imprescindible poder entregar entradas distintas en cada ejecucin La entrada de datos se realiza mediante algn dispositivo

IWI-131 - Tema 1 Algoritmos

Entrada de datos
Dispositivos de entrada
Teclado Mouse Botones Censores de tacto Cmaras digitales Scanners Archivos
IWI-131 - Tema 1 Algoritmos

Entrada de datos

IWI-131 - Tema 1 Algoritmos

Entrada de datos
Cada dispositivo tiene distintas caractersticas. Por lo general, sirven para cosas distintas Los sistemas definen un dispositivo de entrada por defecto
Este dispositivo se denomina la entrada estndar. En un computador suele ser el teclado.
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 informacin resultante de su ejecucin. La salida de datos se realiza mediante dispositivos.
IWI-131 - Tema 1 Algoritmos

Salida de datos
Dispositivos de salida
Pantalla Impresora Parlantes Tableros luminosos Motores Tarjeta de red Archivos
IWI-131 - Tema 1 Algoritmos

Salida de datos
C:\

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 estndar. En un computador suele ser la pantalla.
IWI-131 - Tema 1 Algoritmos

Utilizacin de variables
Durante la ejecucin 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.
IWI-131 - Tema 1 Algoritmos

Utilizacin de variables
K es un dato de entrada, y tambin Se considera una variable

G=K/1000

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


IWI-131 - Tema 1 Algoritmos

Utilizacin de variables
La principal caracterstica 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.
IWI-131 - Tema 1 Algoritmos

Utilizacin de constantes
Adems de las variables, un algoritmo requiere de constantes. A diferencia de las variables, su valor no puede cambiar en el tiempo. Las constantes tambin pueden recibir nombres para mayor claridad.
Ej.: PI = 3.1415
IWI-131 - Tema 1 Algoritmos

Utilizacin de constantes

G=K/1000

La constante 1000 sirva para transformar el valor Por kilo a un valor por gramo
IWI-131 - Tema 1 Algoritmos

Aplicacin de operadores
Para obtener resultados, generalmente es necesario transformar las entradas en la salida. Para esto se aplican operadores de distinta ndole
Aritmticos ( + , - , * , / ) Lgicos (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.
IWI-131 - Tema 1 Algoritmos

Aplicacin de operadores
operandos

M=G * P operador

IWI-131 - Tema 1 Algoritmos

Asignacin 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 asignacin. Solo se pueden asignar valores a variables, no a constantes
IWI-131 - Tema 1 Algoritmos

Asignacin de valores
Operador de asignacin

M=G * P

El resultado de GxP se asigna a la variable M

IWI-131 - Tema 1 Algoritmos

Combinacin de operaciones bsicas


Secuencial
Un conjunto de operaciones bsicas pueden ser ejecutadas en forma secuencial. Una operacin no inicia hasta que la anterior termina

IWI-131 - Tema 1 Algoritmos

Combinacin de operaciones bsicas


Diagrama de flujo Diagrama de Nassi-Schneidermann

Ingresar K y P Ingresar K y P G=K/1000 M=G * P Devolver M


IWI-131 - Tema 1 Algoritmos

Ingresar K=200 y P=250 G tiene el valor 0,2

G=K/1000 M=G * P Devolver M

M tiene el valor 50

Combinacin de operaciones bsicas


Selectiva
Un algoritmo puede optar por ejecutar o no una operacin (SI ENTONCES). Un algoritmo puede optar por ejecutar una u otra operacin (SI-ENTONCES-SINO). Esta decisin se basa en un condicin. Esta decisin controla el flujo del algoritmo. Por esto, se denomina una estructura de control.
IWI-131 - Tema 1 Algoritmos

Combinacin de operaciones bsicas


1 2

C 3

4
IWI-131 - Tema 1 Algoritmos

C: Condicin

Combinacin de operaciones bsicas


1 2 C si 3 4 no

IWI-131 - Tema 1 Algoritmos

C: Condicin

Combinacin de operaciones bsicas


Inicio Ejecutar 1 Ejecutar 2 si se cumple C entonces Ejecutar 3 fin si Ejecutar 4 fin
IWI-131 - Tema 1 Algoritmos

Combinacin de operaciones bsicas


Ejemplo: levantarse en la maana
Inicio salir de la cama ducharse tomar desayuno si esta lloviendo entonces tomar el paraguas fin si tomar la mochila tomar la micro fin
IWI-131 - Tema 1 Algoritmos

Combinacin de operaciones bsicas


1 2 si no

3a 4

3b

C: Condicin

IWI-131 - Tema 1 Algoritmos

Combinacin de operaciones bsicas


1 2 C si 3a 4 3b no

IWI-131 - Tema 1 Algoritmos

C: Condicin

Combinacin de operaciones bsicas


Inicio Ejecutar 1 Ejecutar 2 si se cumple C entonces Ejecutar 3a si no Ejecutar 3b fin si Ejecutar 4 fin
IWI-131 - Tema 1 Algoritmos

Combinacin de operaciones bsicas


Ejemplo: levantarse en la maana
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
IWI-131 - Tema 1 Algoritmos

Combinacin de operaciones bsicas


Estructura de control selectiva
Una condicin es cualquier proposicin lgica que tenga un valor verdadero o falso definido. Este esquema selectivo se denomina decision binaria. Y si hay ms de dos opciones?

IWI-131 - Tema 1 Algoritmos

Combinacin de operaciones bsicas


Estructura de control selectiva
Toda decisin se puede llevar a un esquema de decisin 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
IWI-131 - Tema 1 Algoritmos

Combinacin de operaciones bsicas


1 x mayor que 0 x? x igual a 0 2a 2b 2c x menor que 0

IWI-131 - Tema 1 Algoritmos

Combinacin de operaciones bsicas


1 si x mayor que 0? x menor que 0? si 2c no

no 2a 2b

IWI-131 - Tema 1 Algoritmos

Combinacin de operaciones bsicas


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

si

no si

3
IWI-131 - Tema 1 Algoritmos

Combinacin de operaciones bsicas


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
IWI-131 - Tema 1 Algoritmos

Combinacin de operaciones bsicas


Ejemplo: levantarse en la maana
Inicio salir de la cama ducharse tomar desayuno si esta lloviendo entonces llevar la parca si no esta lloviendo pero hace fro llevar la chaqueta si no llevar un chaleco fin si tomar la mochila tomar la micro IWI-131 - Tema 1 Algoritmos fin

Combinacin de operaciones bsicas


Estructura de seleccin mltiple
Para algunos casos se puede utilizar un esquema selectivo no binario (EN EL CASO DE) Ejemplo: ingreso de opcin de men de un cajero automtico
Si el usuario presion el botn 1, hacer un giro Si el usuario presion el botn 2, entregar saldo Si el usuario presion el botn 3, cambiar la clave Etc.

IWI-131 - Tema 1 Algoritmos

Combinacin de operaciones bsicas


etoc

Botn 1 giro 2 saldo 3 clave

error

salir
IWI-131 - Tema 1 Algoritmos

Combinacin de operaciones bsicas


Botn 1 2 3 etoc

giro

saldo

clave

error

salir
IWI-131 - Tema 1 Algoritmos

Combinacin de operaciones bsicas


Inicio en el caso que el botn presionado sea el 1 hacer giro sea el 2 entregar saldo sea el 3 cambiar clave En cualquier otro caso Error fin caso fin
IWI-131 - Tema 1 Algoritmos

Combinacin de operaciones bsicas


Repetitiva
Adems de combinar operaciones en forma secuencial y selectiva, se puede repetir la ejecucin de una operacin cuantas veces se desee. Existen varios esquemas
Repetir MIENTRAS se cumpla una condicin. Repetir HASTA QUE se cumpla una condicin. Repetir un nmero de veces.
IWI-131 - Tema 1 Algoritmos

Combinacin de operaciones bsicas


MIENTRAS
Se repite una operacin mientras una condicin sea verdadera. Al dejar de serlo, se rompe el ciclo Si la condicin nunca es falsa, se tiene un ciclo infinito.

IWI-131 - Tema 1 Algoritmos

Combinacin de operaciones bsicas


1 no

C si 2

3
IWI-131 - Tema 1 Algoritmos

C: Condicin

Combinacin de operaciones bsicas


1 C

3
IWI-131 - Tema 1 Algoritmos

C: Condicin

Combinacin de operaciones bsicas


Inicio ejecutar 1 mientras se cumpla la condicin ejecutar 2 fin mientras ejecutar 3 fin
IWI-131 - Tema 1 Algoritmos

Combinacin de operaciones bsicas


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
IWI-131 - Tema 1 Algoritmos

Combinacin de operaciones bsicas


HASTA QUE
Se repite la ejecucin de una operacin hasta que se cumpla una condicin. La principal diferencia con MIENTRAS es que la operacin se ejecuta al menos una vez.

IWI-131 - Tema 1 Algoritmos

Combinacin de operaciones bsicas


1

2 no

C si 3

IWI-131 - Tema 1 Algoritmos

C: Condicin

Combinacin de operaciones bsicas


1

C 3
IWI-131 - Tema 1 Algoritmos

C: Condicin

Combinacin de operaciones bsicas


Inicio ejecutar 1 repetir ejecutar 2 hasta que se cumpla condicin ejecutar 3 fin
IWI-131 - Tema 1 Algoritmos

Combinacin de operaciones bsicas


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

IWI-131 - Tema 1 Algoritmos

Combinacin de operaciones bsicas


Repetir un nmero 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 nmero de cada iteracin. Tambin se puede definir el incremento del contador en cada iteracin.
IWI-131 - Tema 1 Algoritmos

Combinacin de operaciones bsicas


1

Inicio contador, fin contador

3
IWI-131 - Tema 1 Algoritmos

Combinacin de operaciones bsicas


1 Inicio contador, fin contador

3
IWI-131 - Tema 1 Algoritmos

Combinacin de operaciones bsicas


Inicio ejecutar 1 desde contador inicial hasta contador final ejecutar 2 fin desde ejecutar 3 fin
IWI-131 - Tema 1 Algoritmos

Combinacin de operaciones bsicas


5

Ejemplo

i
i !0

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
IWI-131 - Tema 1 Algoritmos

Combinacin de operaciones bsicas


Combinacin de estructuras de control seriales, selectivas y repetitivas
Cualquier combinacin es posible Pueden existir estructuras anidadas Es importante definir el comienzo y el termino de cada estructura

IWI-131 - Tema 1 Algoritmos

Combinacin de operaciones bsicas


Ejemplos
Cachi-pun Ordenar objetos

IWI-131 - Tema 1 Algoritmos

Fin tema 1
Algoritmos

You might also like