ALGORITMO
Fundamentos de Informรกtica - I.Q.
ALGORITMO
Un algoritmo es
una serie de pasos que determinan la manera de resolver un problema, específicamente 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 cinturón de seguridad, introducimos la llave en la ranura y luego giramos la llave para encender el auto, etc.
Fundamentos de Informática - I.Q.
ALGORITMO
Una receta de cocina es un algoritmo: si describe precisamente la forma de preparar un cierto plato, proporcionándonos las cantidades exactas que deben de utilizarse y también instrucciones detalladas acerca del tiempo que debe de guisarse. Si se incluyen nociones vagas tales como “salpimentar a su gusto” o “guísese hasta que esté medio hecho” entonces no se podría llamar algoritmo.
Fundamentos de Informática - I.Q.
ALGORITMO
Cuando tenemos que resolver un problema, es posible que estén disponibles varios algoritmos adecuados. Evidentemente, desearíamos seleccionar el mejor. Esto plantea la pregunta de cómo decidir entre varios algoritmos cuál es preferible. Si solamente tenemos que resolver uno o dos casos pequeños de un problema más sencillo podríamos decidirnos a seleccionar sencillamente el que sea más fácil de programar. Sin embargo, si tenemos que resolver muchos casos, o si el problema es difícil, quizá tengamos que seleccionar de forma más cuidadosa.
Fundamentos de Informática - 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 definición, es decir el conjunto de casos que debe considerarse. Por ejemplo buscamos un algoritmo que de solución 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 Informática - 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 ejecución. En este caso es importante considerar que dado un algoritmo A, el tiempo de ejecución 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 tamaño n.
Fundamentos de Informática - I.Q.
CARACTERISTICAS
Cualquier algoritmo simple o complejo tiene las siguientes características: Finito: debe tener un numero finito de pasos y cada paso tiene un tiempo definido para desarrollarlo. Preciso: debe indicar el orden de realización en cada paso y no
puede tener ambigüedad.
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 Informática - I.Q.
PASOS PREVIOS AL ALGORITMO
Fundamentos de Informรกtica - I.Q.
“Cada vez que desarrollemos el análisis 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 Informática - I.Q.
EJEMPLO
Calcular el área de un rectángulo Variables
de entrada: Largo y Alto. Variables de salida: Área del rectángulo.
la rutina 1 será: ¿Cual
es la dimensión del Largo en centímetros? Respuesta del usuario : 4.5 cm ¿Cual es la dimensión del Alto en centímetros? Respuesta del usuario : 2.3 cm Fundamentos de Informática - 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 Informática - 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 estén ambos en centímetros. 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 validación. Una rutina de validación es la verificación de una condicion a través de un proceso. Por ejemplo, en el ejemplo del área de un rectángulo, la condición 1:
¿Cual es la dimensión del Largo en centímetros? Respuesta del usuario : 4.5 cm ¿Cual es la dimensión del Alto en centímetros? Respuesta del usuario : 2.3 cm
Fundamentos de Informática - I.Q.
CONDICIONES La segunda y tercer condicion se verifican mediante el proceso de verificación 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 validación esta dada por un procedimiento condicional, que esta formado por la estructura SI. La estructura condicional si esta formada por la siguiente terminología: SI condición es verdadera ENTONCES hacer esto SINO hacer esto otro. En inglés: IF condición es verdadera THEN hacer esto ELSE hacer esto otro. Fundamentos de Informática - I.Q.
Ejemplo 2 Analizar el siguiente problema: Determinar la velocidad de un cuerpo en movimiento rectilíneo uniforme. NOTA: la ecuación de movimiento rectilíneo uniforme es V=D/T donde: V=
velocidad; D=distancia; T=tiempo Fundamentos de Informática - I.Q.
CONDICIONALES El operador Y aplicado a una condición SI: SI condición1 Y condicion2 son verdaderas ENTONCES hacer esto SINO hacer esto otro. En inglés: IF condicion1 AND condicion2 son verdaderas THEN hacer esto ELSE hacer esto otro. Esta condición quiere decir que solamente si condicion1 y condicion2 son verdaderas se ejecutara la acción hacer esto, si una de las dos condiciones es falsa se ejecutara la condición hacer esto otro.
Fundamentos de Informática - I.Q.
CONDICIONALES El operador Y aplicado a una condición SI: SI condición1 Y condicion2 son verdaderas ENTONCES hacer esto SINO hacer esto otro. En inglés: IF condicion1 AND condicion2 son verdaderas THEN hacer esto ELSE hacer esto otro. Esta condición quiere decir que solamente si condicion1 y condicion2 son verdaderas se ejecutara la acción hacer esto, si una de las dos condiciones es falsa se ejecutara la condición hacer esto otro. Veamos la aplicación a una condicional MIENTRAS: MIENTRAS condicion1 Y condicion2 son verdaderas HACER esto. En ingles: WHILE condicion1 AND condicion2 son verdaderas DO esto.
Fundamentos de Informática - I.Q.
CONDICIONALES El operador O aplicada a una condicional SI es la siguiente: SI condicion1 O condición2 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 condición O es menos restrictiva que la condición 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 inglés: WHILE condicion1 OR condicion2 sean verdaderas DO esto.
Fundamentos de Informática - I.Q.
CONDICIONALES El operador lógico NO aplicado a la condicional SI será: SI NO es verdadera la condicional1 ENTONCES hacer esto SINO hacer esto otro. En inglés: IF NOT es verdadera la condicional1 THEN hacer esto ELSE hacer esto otro. En este caso si la condicional1 es falsa se ejecutara la acción hacer esto si es verdadera se ejecutar la acción hacer esto otro. La condición NO niega cualquier condición 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 inglés: WHILE NOT sea verdadera la condicion1 DO esto. La acción se ejecutara siempre y cuando la condición1 sea falsa, de lo contrario el lazo lógico MIENTRAS no se ejecutar. Fundamentos de Informática - I.Q.
ESTRUCTURAS REPETITIVAS Veamos la estructura de repetición: MIENTRAS condición sea verdadera HACER esto. En ingles: WHILE condición sea verdadera DO esto. La condición MIENTRAS o WHILE deja de ejecutarse cuando la condición es falsa. Otra estructura lógica utilizada para condicionantes es la condición Y, O y NO (Conocidos también como Operadores Lógicos), veamos como funcionan:
Fundamentos de Informática - I.Q.
ALGORITMO
Obtener la suma de dos números 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 Informática - I.Q.
ALGORITMO Resolver la media de tres números. Calcular el cubo de un número positivo. Obtener la raíz cuadrada de un número. Ir a ver la película Spiderman 2
Fundamentos de Informática - I.Q.