0 valutazioniIl 0% ha trovato utile questo documento (0 voti)
28 visualizzazioni2 pagine
El documento define un algoritmo como una secuencia finita de instrucciones precisas que pueden ejecutarse en un tiempo finito para resolver un problema. Explica que los algoritmos describen claramente los pasos ordenados que debe seguir un computador para lograr un resultado predecible. Además, clasifica los algoritmos en cualitativos, cuantitativos, y describe los lenguajes y estructuras algoritmicas como secuenciales, condicionales y repetitivas.
El documento define un algoritmo como una secuencia finita de instrucciones precisas que pueden ejecutarse en un tiempo finito para resolver un problema. Explica que los algoritmos describen claramente los pasos ordenados que debe seguir un computador para lograr un resultado predecible. Además, clasifica los algoritmos en cualitativos, cuantitativos, y describe los lenguajes y estructuras algoritmicas como secuenciales, condicionales y repetitivas.
El documento define un algoritmo como una secuencia finita de instrucciones precisas que pueden ejecutarse en un tiempo finito para resolver un problema. Explica que los algoritmos describen claramente los pasos ordenados que debe seguir un computador para lograr un resultado predecible. Además, clasifica los algoritmos en cualitativos, cuantitativos, y describe los lenguajes y estructuras algoritmicas como secuenciales, condicionales y repetitivas.
Un algoritmo es una secuencia finita de instrucciones; cada una de estas
instrucciones tiene un significado preciso y se puede ejecutar con una cantidad finita de esfuerzo en un tiempo finito. Un algoritmo se define como un mtodo que se realiza paso a paso para la solucin de un problema que termina en un nmero finito de paso En el mbito de la computacin, los Algoritmos son una herramienta que permite describir claramente un conjunto finito de instrucciones, ordenadas secuencialmente y libres de ambigedad, que debe llevar a cabo un computador para lograr un resultado previsible. Vale la pena recordar que un programa de computador consiste de una serie de instrucciones muy precisas y escritas en un lenguaje de programacin que el computador entiende (Logo, Java, Pascal, etc). En resumen, un Algoritmo es una secuencia ordenada de instrucciones, pasos o procesos que llevan a la solucin de un determinado problema. Los hay tan sencillos y cotidianos como seguir la receta del mdico, abrir una puerta, lavarse las manos, etc; hasta los que conducen a la solucin de problemas muy complejos. Definicin de Algoritmo La palabra algoritmo se deriva de la traduccin al latn de la palabra rabe alkhowarizmi, nombre de un matemtico y astrnomo rabe que escribi un tratado sobre manipulacin de nmeros y ecuaciones en el siglo IX. Un algoritmo es una serie de pasos organizados que describe el proceso que se debe seguir, para dar solucin a un problema especifico. 1.4 Tipos de Algoritmos Cualitativos: Son aquellos en los que se describen los pasos utilizando palabras. Cuantitativos: Son aquellos en los que se utilizan clculos numricos para definir los pasos del proceso. 1.5 Lenguajes Algoritmicos Es una serie de smbolos y reglas que se utilizan para describir de manera explcita un proceso. Tipos de Lenguajes Algoritmicos Grficos: Es la representacin grfica de las operaciones que realiza un algoritmo (diagrama de flujo). No Grficos: Representa en forma descriptiva las operaciones que debe realizar un algoritmo (pseudocodigo). Concepto Algoritmo: es un mtodo para resolver un problema mediante una serie de pasos definidos, precisos y finitos. Preciso: implica el orden de realizacin de cada uno de los pasos: Definido: si se sigue dos veces, se obtiene el mismo resultado. Finito: Tiene un numero determinado de pasos, implica que tiene un fin
SECUENCIALES Estas siguen un proceso paso a paso, una secuencia. Estas se siguen por flechas, constan de un inicio y un fin. SELECTIVAS: En estas encontramos las de alternativa simple, que consiste en un si y un no si se cumple una condicin haga un determinado procedimiento; si no se cumple realice otro procedimiento. Otro tipo de estructura de control selectivo es la de alternativa mltiple, en este tipo de estructura, segn sea la variable expresin; se le asignan una cantidad de acciones para todos los valores hasta n acciones, teniendo en cuenta la lista de errores por defecto; y despus el tipo de valores, con una salida correspondiente a cada valor; y como en las anteriores se tiene en cuenta el error por defecto, es decir, que el usuario introduzca un valor que no esta permitido. REPETITIVAS En las estructuras repetitivas se usan El ciclo mientras y El ciclo para, cualquiera de las dos se usa por igual depende de el algoritmo que se pretenda realizar; por ejemplo si utilizamos el ciclo mientras, sera para decir que mientras se cumpla una condicin predeterminada, se har o no se har lo que se quiere con el algoritmo. Con el ciclo para, decimos que para la condicin que hallamos dicho predeterminado se har una accin otra accin ESTRUCTURAS REPETITIVAS. Las estructuras que repiten una secuencia de instrucciones un nmero determinado de veces se denominan Bucles y se denomina Iteracin al hecho de repetir la ejecucin de una secuencia de acciones. Entre las estructuras repetitivas se encuentran: Mientras (while) Repetir (repeat) Desde (for) 6.2 CONDICIONALES La especificacin formal de algoritmos tiene realmente utilidad cuando el algoritmo requiere una descripcin ms complicada que una lista sencilla de instrucciones. Este es el caso cuando existen un nmero de posibles alternativas resultantes de la evaluacin de una determinada condicin. Las estructuras selectivas se utilizan para tomar decisiones lgicas; de ah que se suelan denominar tambin estructuras de decisin o alternativas. En las estructuras selectivas se evala una condicin y en funcin del resultado la misma se realiza una opcin u otra. Las condiciones se especifican usando expresiones lgicas. La representacin de una estructura selectiva se hace con palabras en pseudocdigo (if, then, else o bien en espaol si, entonces, sino), con una figura geomtrica en forma de rombo o bien con un tringulo en el interior de una caja rectangular. Las estructuras selectivas o alternativas pueden ser: Simples Doble Mltiples ALTERNATIVA SIMPLE (SI-ENTONCES/IF-THEN). La estructura alternativa simple si-entonces (en ingls if-then o bien IF-THEN ) ejecuta una determinada accin cuando se cumple una determinada condicin. La seleccin si-entonces evala la condicin y . . Si la condicin es verdadera, entonces ejecuta la accin S1 (o acciones caso de ser S1 una accin compuesta y constar de varias acciones). Si la condicin es falsa, entonces no hacer nada. **PSEUDOCDIGO EN ESPAOL** Si <condicin> Entonces <accin S1> Fin_si PSEUDOCDIGO EN INGLS If <condicin> then <accin S1> end_if ALTERNATIVA DOBLE ( SI-ENTONCES-SI_NO / IF - THEN - ELSE ). La estructura anterior es muy limitada y normalmente se necesitar una estructura que permita elegir entre dos opciones o alternativas posibles, en funcin del cumplimiento o no de una determinada condicin. Si la condicin C es verdadera, se ejecuta la accin S1 y, si es falsa, se ejecuta la accin S2. **PSEUDOCODIGO EN ESPAOL** Si < condicin > entonces < accin S1 > si_no <accin S2> fin_si PSEUDOCODIGO EN INGLES. If < condicin > then < accin S1 > else < accin S2 > endif ALTERNATIVAS MLTIPLES (SEGN _ SEA, CASO DE / CASE). Cuando existen ms de dos elecciones (alternativas) posibles, es cuando se presenta el caso de alternativas mltiples. Si el nmero de alternativas es grande puede plantear serios problemas de escritura del algoritmo y naturalmente de legibilidad. La estructura de decisin mltiple evaluar una expresin que podr tomar n valores distintos 1,2,3,4,..n . Segn que elija uno de estos valores en la condicin, se realizar una de las n acciones, o lo que es igual, el flujo del algoritmo seguir un determinado camino entre los n posibles. **PSEUDOCDIGO** En ingls la estructura de decisin mltiple se representa: Case expresin of [e1]: accin S1 [e2]: accin S2 : [en]: accin Sn else accin Sx end_case Ejemplo: Se desea disear un algoritmo que escriba los nombres de los das de la semana en funcin del valor de una variable DIA introducida por teclado. Los das de la semana son 7; por consiguiente, el rango de valores de DIA ser 1..7, y caso de que DIA tome un valor fuera de este rango se deber producir un mensaje de error advirtiendo la situacin anmala. Inicio Leer DIA Segn_sea DIA hacer 1:escribir('Lunes') 2: escribir('Martes') 3: escribir('Mircole') 4: escribir('Jueves') 5: escribir('Viernes') 6: escribir('Sabado') 7: escribir('Domingo') else escribir('Error') fin_segn fin
ESTRUCTURAS ALGORITMICAS Las estructuras de operacin de programas son un grupo de formas de trabajo, que permiten, mediante la manipulacin de variables, realizar ciertos procesos especficos que nos lleven a la solucin de problemas. Estas estructuras se clasifican de acuerdo con su complejidad en: - Asignacin Secuenciales - Entrada - Salida - Simples Estructuras Condicionales Algoritmicas - Mltiples - Hacer para Cclicas - Hacer mientras - Repetir hasta 5.1. Estructuras Secuenciales La estructura secuencial es aquella en la que una accin (instruccin) sigue a otra en secuencia. Las tareas se suceden de tal modo que la salida de una es la entrada de la siguiente y as sucesivamente hasta el fin del proceso. Una estructura secuencial se representa de la siguiente forma: Inicio Accion1 Accion2 . . AccionN Fin - Asignacin: La asignacin consiste, en el paso de valores o resultados a una zona de la memoria. Dicha zona ser reconocida con el nombre de la variable que recibe el valor. La asignacin se puede clasificar de la siguiente forma: Simples: Consiste en pasar un valor constate a una variable (a=15) Contador: Consiste en usarla como un verificador del numero de veces que se realiza un proceso (a=a+1) Acumulador: Consiste en usarla como un sumador en un proceso (a=a+b) De trabajo: Donde puede recibir el resultado de una operacin matemtica que involucre muchas variables (a=c+b*2/4). - Lectura: La lectura consiste en recibir desde un dispositivo de entrada (p.ej. el teclado) un valor. Esta operacin se representa en un pseudocodigo como sigue: Leer a, b Donde a y b son las variables que recibirn los valores Escritura: Consiste en mandar por un dispositivo de salida (p.ej. monitor o impresora) un resultado o mensaje. Este proceso se representa en un pseudocodigo como sigue: Escribe El resultado es:, R Donde El resultado es: es un mensaje que se desea aparezca y R es una variable que contiene un valor.
5.2 Estructuras de Condicionales Las estructuras condicionales comparan una variable contra otro(s) valor(es), para que en base al resultado de esta comparacin, se siga un curso de accin dentro del programa. Cabe mencionar que la comparacin se puede hacer contra otra variable o contra una constante, segn se necesite. Existen dos tipos bsicos, las simples y las mltiples. Simples: Las estructuras condicionales simples se les conoce como Tomas de decisin. Estas tomas de decisin tienen la siguiente forma: Si <condicin> entonces Accin(es) Fin-si Dobles: Las estructuras condicionales dobles permiten elegir entre dos opciones o alternativas posibles en funcin del cumplimiento o no de una determinada condicin. Se representa de la siguiente forma: Si <condicin> entonces Accin(es) si no Accin(es) Fin-si Donde: Si Indica el comando de comparacin Condicin Indica la condicin a evaluar entonces.. Precede a las acciones a realizar cuando se cumple la condicin accin(es) Son las acciones a realizar cuando se cumple o no la condicin si no Precede a las acciones a realizar cuando no se cumple la condicin Dependiendo de si la comparacin es cierta o falsa, se pueden realizar una o mas acciones. Mltiples: Las estructuras de comparacin mltiples, son tomas de decisin especializadas que permiten comparar una variable contra distintos posibles resultados, ejecutando para cada caso una serie de instrucciones especificas. La forma comn es la siguiente: Si <condicin> entonces Accin(es) si no Si <condicin> entonces Accin(es) si no . . Varias condiciones Forma General Casos Variable Op1: Accin(es) Op2: Accin(es) . . OpN: accin Fin-casos 5.3. Estructuras Cclicas Se llaman problemas repetitivos o cclicos a aquellos en cuya solucin es necesario utilizar un mismo conjunto de acciones que se puedan ejecutar una cantidad especifica de veces. Esta cantidad puede ser fija (previamente determinada por el programador) o puede ser variable (estar en funcin de algn dato dentro del programa).Los ciclos se clasifican en: Ciclos con un Numero Determinado de Iteraciones (Hacer-Para) Son aquellos en que el numero de iteraciones se conoce antes de ejecutarse el ciclo. La forma de esta estructura es la siguiente: Hacer para V.C = L.I a L.S VC=LI Accion1 Vc = LS V Accion2 vc=vc+1 . . F . AccionN Cuerpo del ciclo Fin-para Donde: V.C Variable de control del ciclo L.I Limite inferir L.S Limite superior En este ciclo la variable de control toma el valor inicial del ciclo y el ciclo se repite hasta que la variable de control llegue al limite superior. Ciclos con un Numero Indeterminado de Iteraciones ( Hacer- Mientras, Repetir-Hasta) Son aquellos en que el numero de iteraciones no se conoce con exactitud, ya que esta dado en funcin de un dato dentro del programa. Hacer-Mientras: Esta es una estructura que repetira un proceso durante N veces, donde N puede ser fijo o variable. Para esto, la instruccin se vale de una condicin que es la que debe cumplirse para que se siga ejecutando. Cuando la condicin ya no se cumple, entonces ya no se ejecuta el proceso. La forma de esta estructura es la siguiente: Hacer mientras <condicin> Accion1 NO Accion2 . . SI AccionN Fin-mientras Repetir-Hasta: Esta es una estructura similar en algunas caractersticas, a la anterior. Repite un proceso una cantidad de veces, pero a diferencia del Hacer-Mientras, el Repetir-Hasta lo hace hasta que la condicin se cumple y no mientras, como en el Hacer-Mientras. Por otra parte, esta estructura permite realizar el proceso cuando menos una vez, ya que la condicin se evala al final del proceso, mientras que en el Hacer-Mientras puede ser que nunca llegue a entrar si la condicin no se cumple desde un principio. La forma de esta estructura es la siguiente: Repetir Accion1 Accion2 . . AccionN Hasta <condicin> NO http://www.rodolfoquispe.org/blog/que-es-un-algoritmo.php http://www.eduteka.org/pdfdir/AlgoritmosProgramacion.pdf http://www.monografias.com/trabajos15/algoritmos/algoritmos.shtml http://html.rincondelvago.com/algoritmos.html http://html.rincondelvago.com/estructuras-algoritmicas.html
Problemas Secuenciales 1) Suponga que un individuo desea invertir su capital en un banco y desea saber cuanto dinero ganara despus de un mes si el banco paga a razn de 2% mensual. Inicio Leer cap_inv gan = cap_inv * 0.02 Imprimir gan Fin 2) Un vendedor recibe un sueldo base mas un 10% extra por comisin de sus ventas, el vendedor desea saber cuanto dinero obtendr por concepto de comisiones por las tres ventas que realiza en el mes y el total que recibir en el mes tomando en cuenta su sueldo base y comisiones. Inicio Leer sb, v1, v2, v3 tot_vta = v1 + v2 + v3 com = tot_vta * 0.10 tpag = sb + com Imprimir tpag, com Fin Problemas Condicionales a)Problemas Selectivos Simples 1) Un hombre desea saber cuanto dinero se genera por concepto de intereses sobre la cantidad que tiene en inversin en el banco. El decidir reinvertir los intereses siempre y cuando estos excedan a $7000, y en ese caso desea saber cuanto dinero tendr finalmente en su cuenta. Inicio Leer p_int, cap int = cap * p_int si int > 7000 entonces capf = cap + int fin-si Imprimir capf fin 2) Determinar si un alumno aprueba a reprueba un curso, sabiendo que aprobara si su promedio de tres calificaciones es mayor o igual a 70; reprueba en caso contrario. Inicio Leer calif1, calif2, calif3 prom = (calif1 + calif2 + calif3)/3 Si prom >= 70 entonces Imprimir alumno aprobado si no Imprimir alumno reprobado Fin-si Fin Problemas ( Hacer para ) 1) Calcular el promedio de un alumno que tiene 7 calificaciones en la materia de Diseo Estructurado de Algoritmos Inicio Sum=0 Leer Nom Hacer para c = 1 a 7 Leer calif Sum = sum + calif Fin-para prom = sum /7 Imprimir prom Fin. 2) Leer 10 nmeros y obtener su cubo y su cuarta. Inicio Hacer para n = 1 a 10 Leer num cubo = num * num * num cuarta = cubo * num Imprimir cubo, cuarta Fin-para Fin.