Anda di halaman 1dari 21

ALGORITMO

Fundamentos de Informtica - I.Q.

ALGORITMO

Un algoritmo es

una serie de pasos que determinan la manera de resolver un problema, especficamente un algoritmo es un procedimiento que dicta de manera ordenada los pasos a seguir para resolver un problema especifico.

Existen muchos algoritmos que utilizamos diariamente, por ejemplo, una receta de cocina para preparar una torta es un algoritmo ya que nos da paso a paso el procedimiento necesario para llegar a un producto final, la torta. Diariamente cuando manejamos el auto aplicamos un algoritmo para iniciar nuestra salida, primero verificamos que todo este correctamente, abrimos la puerta, entramos al auto, nos sentamos, nos abrochamos el cinturn de seguridad, introducimos la llave en la ranura y luego giramos la llave para encender el auto, etc.

Fundamentos de Informtica - I.Q.

ALGORITMO

Una receta de cocina es un algoritmo:

si describe precisamente la forma de preparar un cierto plato, proporcionndonos las cantidades exactas que deben de utilizarse y tambin instrucciones detalladas acerca del tiempo que debe de guisarse. Si se incluyen nociones vagas tales como salpimentar a su gusto o gusese hasta que est medio hecho entonces no se podra llamar algoritmo.
Fundamentos de Informtica - I.Q.

ALGORITMO

Cuando tenemos que resolver un problema, es posible que estn disponibles varios algoritmos adecuados. Evidentemente, desearamos seleccionar el mejor. Esto plantea la pregunta de cmo decidir entre varios algoritmos cul es preferible. Si solamente tenemos que resolver uno o dos casos pequeos de un problema ms sencillo podramos decidirnos a seleccionar sencillamente el que sea ms fcil de programar. Sin embargo, si tenemos que resolver muchos casos, o si el problema es difcil, quiz tengamos que seleccionar de forma ms cuidadosa.

Fundamentos de Informtica - I.Q.

PROPIEDADES

Una de las principales propiedades que debe tener un Algoritmo es que sea CORRECTO. Para ello un algoritmo debe funcionar correctamente en todos los ejemplares o casos de problema que manifiesta resolver. En este punto es muy importante considerar el hecho de definir el Dominio de definicin, es decir el conjunto de casos que debe considerarse. Por ejemplo buscamos un algoritmo que de solucin al problema multiplicar dos enteros positivos:

y si queremos multiplicar 981x1234 este es un ejemplar del problema, sin embargo -12x83.7 Ser un ejemplar? no porque -12 es entero pero no es positivo y 83.7 es positivo pero no es un entero.

Fundamentos de Informtica - I.Q.

PROPIEDADES

La segunda propiedad importante de un algoritmo es que sea EFICIENTE. En este sentido se considera la capacidad necesaria para almacenar los datos y el tiempo en su ejecucin. En este caso es importante considerar que dado un algoritmo A, el tiempo de ejecucin tA(n) de A es la cantidad de pasos, operaciones o acciones elementales que debe realizar el algoritmo al ser ejecutado en una instancia de tamao n.

Fundamentos de Informtica - I.Q.

CARACTERISTICAS

Cualquier algoritmo simple o complejo tiene las siguientes caractersticas:

Finito: debe tener un numero finito de pasos y cada paso tiene un tiempo definido para desarrollarlo. Preciso: debe indicar el orden de realizacin en cada paso y no

puede tener ambigedad.


Definido: si se sigue dos veces, obtiene el mismo resultado cada vez. Debe ser Sencillo , Legible. Modular. Eficiente y Efectivo. Correcto. Entradas: cada algoritmo tiene cero o mas entradas antes de iniciar. Salidas: cada algoritmo tiene una o mas salidas

Fundamentos de Informtica - I.Q.

PASOS PREVIOS AL ALGORITMO

Fundamentos de Informtica - I.Q.

Cada vez que desarrollemos el anlisis de un problema debemos tomar en cuenta que no podemos asumir nada, es decir que debemos establecer claramente las condiciones iniciales del problema.

Fundamentos de Informtica - I.Q.

EJEMPLO

Calcular el rea de un rectngulo


Variables

de entrada: Largo y Alto. Variables de salida: rea del rectngulo.

la rutina 1 ser:
Cual

es la dimensin del Largo en centmetros? Respuesta del usuario : 4.5 cm Cual es la dimensin del Alto en centmetros? Respuesta del usuario : 2.3 cm
Fundamentos de Informtica - I.Q.

La rutina 2 ser:
El

calculo del rea se lleva a cabo como sigue...


rea = Largo x Alto rea = 4.5 x 2.3 rea = 10.35 cm2

La rutina 3 ser:
debemos

mostrar la respuesta o variable de salida como sigue... El rea es igual a AREA = 10.35 cm2

Fundamentos de Informtica - I.Q.

CONDICIONES

1. 2. 3.

Las condiciones para nuestro problema son: Las dimensiones pueden estar en diferentes unidades de medida, pero para este caso solicitaremos que estn ambos en centmetros. Las dimensiones de largo y alto pueden ser valores reales positivos o cero, es decir que pueden contener decimales positivos o cero solamente. Las dimensiones de largo y alto no pueden ser negativas.
Para que tengan efecto en nuestro algoritmo debemos incluirlas como rutinas de validacin. Una rutina de validacin es la verificacin de una condicion a travs de un proceso. Por ejemplo, en el ejemplo del rea de un rectngulo, la condicin 1:

Cual es la dimensin del Largo en centmetros? Respuesta del usuario : 4.5 cm Cual es la dimensin del Alto en centmetros? Respuesta del usuario : 2.3 cm

Fundamentos de Informtica - I.Q.

CONDICIONES
La segunda y tercer condicion se verifican mediante el proceso de verificacin siguiente: SI Largo es menor que cero ENTONCES enviar un mensaje de error y volver a capturar el dato SINO continuar con el siguiente paso.

SI Alto es menor que cero ENTONCES enviar un mensaje de error y volver a capturar el dato SINO continuar con el siguiente paso .
En este caso nuestra validacin esta dada por un procedimiento condicional, que esta formado por la estructura SI. La estructura condicional si esta formada por la siguiente terminologa: SI condicin es verdadera ENTONCES hacer esto SINO hacer esto otro.

En ingls: IF condicin es verdadera THEN hacer esto ELSE hacer esto otro.

Fundamentos de Informtica - I.Q.

Ejemplo 2
Analizar el siguiente problema: Determinar la velocidad de un cuerpo en movimiento rectilneo uniforme. NOTA: la ecuacin de movimiento rectilneo uniforme es V=D/T donde:
V=

velocidad; D=distancia; T=tiempo


Fundamentos de Informtica - I.Q.

CONDICIONALES
El operador Y aplicado a una condicin SI: SI condicin1 Y condicion2 son verdaderas ENTONCES hacer esto SINO hacer esto otro. En ingls: IF condicion1 AND condicion2 son verdaderas THEN hacer esto ELSE hacer esto otro. Esta condicin quiere decir que solamente si condicion1 y condicion2 son verdaderas se ejecutara la accin hacer esto, si una de las dos condiciones es falsa se ejecutara la condicin hacer esto otro.

Fundamentos de Informtica - I.Q.

CONDICIONALES
El operador Y aplicado a una condicin SI: SI condicin1 Y condicion2 son verdaderas ENTONCES hacer esto SINO hacer esto otro. En ingls: IF condicion1 AND condicion2 son verdaderas THEN hacer esto ELSE hacer esto otro. Esta condicin quiere decir que solamente si condicion1 y condicion2 son verdaderas se ejecutara la accin hacer esto, si una de las dos condiciones es falsa se ejecutara la condicin hacer esto otro. Veamos la aplicacin a una condicional MIENTRAS: MIENTRAS condicion1 Y condicion2 son verdaderas HACER esto. En ingles: WHILE condicion1 AND condicion2 son verdaderas DO esto.

Fundamentos de Informtica - I.Q.

CONDICIONALES
El operador O aplicada a una condicional SI es la siguiente: SI condicion1 O condicin2 son verdaderas ENTONCES hacer esto SINO hacer esto otro. En ingles: IF condicion1 OR condicion2 son verdaderas THEN hacer esto ELSE hacer esto otro. La condicin O es menos restrictiva que la condicin Y, en este caso la condicional total ser verdadera si una de las dos condiciones es verdadera, no es necesario que ambas sean verdaderas, con una de las dos basta. En una estructura MIENTRAS es: MIENTRAS condicion1 O condicion2 sean verdaderas HACER esto. En ingls: WHILE condicion1 OR condicion2 sean verdaderas DO esto.

Fundamentos de Informtica - I.Q.

CONDICIONALES
El operador lgico NO aplicado a la condicional SI ser: SI NO es verdadera la condicional1 ENTONCES hacer esto SINO hacer esto otro. En ingls: IF NOT es verdadera la condicional1 THEN hacer esto ELSE hacer esto otro. En este caso si la condicional1 es falsa se ejecutara la accin hacer esto si es verdadera se ejecutar la accin hacer esto otro. La condicin NO niega cualquier condicin es decir que si es falsa la transforma en verdadera y si es verdadera la transforma en falsa. En una estructura MIENTRAS es: MIENTRAS NO sea verdadera la condicion1 HACER esto. En ingls: WHILE NOT sea verdadera la condicion1 DO esto.

La accin se ejecutara siempre y cuando la condicin1 sea falsa, de lo contrario el lazo lgico MIENTRAS no se ejecutar.
Fundamentos de Informtica - I.Q.

ESTRUCTURAS REPETITIVAS
Veamos la estructura de repeticin: MIENTRAS condicin sea verdadera HACER esto. En ingles: WHILE condicin sea verdadera DO esto. La condicin MIENTRAS o WHILE deja de ejecutarse cuando la condicin es falsa. Otra estructura lgica utilizada para condicionantes es la condicin Y, O y NO (Conocidos tambin como Operadores Lgicos), veamos como funcionan:

Fundamentos de Informtica - I.Q.

ALGORITMO

Obtener la suma de dos nmeros enteros positivos.


1. Inicio. 2. Definir A,B y RESULTADO. 3. Leer dato uno del teclado y almacenarlo en variable A. 4. SI A < 0 ENTONCES ir a 3 SINO pasar a 5. 5. Leer dato dos del teclado y almacenarlo en variable B. 6. SI B < 0 ENTONCES ir a 5 SINO pasar a 7. 7. Sumar A mas B y almacenarlo en RESULTADO. 8. Mostrar El resultado es: RESULTADO 9. Fin.

Fundamentos de Informtica - I.Q.

ALGORITMO
Resolver la media de tres nmeros. Calcular el cubo de un nmero positivo. Obtener la raz cuadrada de un nmero. Ir a ver la pelcula Spiderman 2

Fundamentos de Informtica - I.Q.

Anda mungkin juga menyukai