UNIDAD 1 Algorítmica Algoritmo Conjunto finito de instrucciones que al seguirse de manera adecuada resuelven un problema El problema a resolver se refiere a cualquier área de interés Implementación de algoritmos Existen diversas formas de implementar un algoritmo: Diagramas de flujo Diagramas de bloque Pseudocódigo Diseño de un algoritmo Existen cuatro puntos importantes para el diseño de un algoritmo: Claridad del problema Implementación del seudocódigo Análisis del algoritmo Resultados Prueba de escritorio Es realizar los pasos del algoritmo a mano utilizando datos reales y que concuerden con los especificados en el mismo Ejemplo Desarrollar un algoritmo que: Lea dos números, los sume y almacene el resultado en otro número Pseudocódigo LEER numeroUno LEER numeroDos resultado = numeroUno+numeroDos MOSTRAR resultado Ejemplo Desarrollar un algoritmo que calcule el área de las siguientes figuras geométricas: Círculo Cuadrado Tríangulo Rectángulo Pseudocódigo //ÁREA DEL CIRCULO LEER radio area = PI * radio2 //ÁREA DEL CUADRADO LEER longitudDelLado area = longitudDelLado2 Pseudocódigo //ÁREA DEL TRIÁNGULO LEER base LEER altura area = (base * altura)/2 //ÁREA DEL RECTÁNGULO LEER base LEER altura area = base * altura Estructuras Condicionales Cuando se deben seguir diversos caminos en el flujo de un programa dependiendo ciertas condiciones, se utilizan estructuras condicionales Condicional SI Se utiliza para realizar o no un bloque de acciones Condicional SI / OTRO Se utiliza para elegir entre dos posibles conjuntos de acciones dependiendo la condición que se cumpla Condicional SI / OTRO SI El bloque OTRO SI se utiliza junto con el condicional SI para elegir entre varias condiciones Ejemplo Diseñar un algoritmo que: Resuelva la ecuación cuadrática Pseudocódigo LEER a SI ( a != 0) COMIENZA LEER b LEER c aux = b2-4*a*c SI aux >= 0 COMIENZA raizUno = (-b+sqrt(aux))/(2*a) raizDos = (-b-sqrt(aux))/(2*a) MOSTRAR raizUno MOSTRAR raizDos TERMINA Pseudocódigo SI aux < 0 COMIENZA raizReal = -b/(2*a) raizImaginaria = sqrt(|aux|)/(2*a) MOSTRAR raizReal + raizImaginaria i MOSTRAR raizReal – raizImaginaria i TERMINA OTRO COMIENZA MOSTRAR No se puede aplicar la fórmula TERMINA ALGORITMOS ITERATIVOS Son algoritmos que involucran estructuras de repetición Las más comunes son: PARA MIENTRAS Ejemplo Diseñar un algoritmo que: Resuelva la ecuación cuadrática, solicitar el valor de a hasta que sea distinto de cero Pseudocódigo LEER a MIENTRAS ( a = 0) COMIENZA MOSTRAR a debe ser distinta de cero LEER a TERMINA LEER b LEER c aux = b2-4*a*c SI aux >= 0 COMIENZA raizUno = (-b+sqrt(aux))/(2*a) raizDos = (-b-sqrt(aux))/(2*a) MOSTRAR raizUno MOSTRAR raizDos TERMINA Pseudocódigo SI aux < 0 COMIENZA raizReal = -b/(2*a) raizImaginaria = sqrt(|aux|)/(2*a) MOSTRAR raizReal + raizImaginaria i MOSTRAR raizReal – raizImaginaria i TERMINA Ejemplo Desarrollar un algoritmo para: Calcular la media de un conjunto de datos Pseudocódigo LEER numeroDeDatos PARA aux = 1 HASTA aux = numeroDeDatos COMIENZA LEER dato suma = suma + dato TERMINA media = suma / numeroDeDatos MOSTRAR media Ejemplo Desarrollar un pseudocódigo que: Encuentre el menor de un conjunto de datos Pseudocódigo LEER numeroDeDatos PARA aux = 1 HASTA aux = numeroDeDatos COMIENZA LEER dato SI minimo > dato COMIENZA minimo = dato TERMINA TERMINA MOSTRAR minimo