definición formal

Upload: alexander-gonzalez

Post on 23-Feb-2018

228 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/24/2019 Definicin Formal

    1/23

    Definicin formal

    En general, no existe ningn consenso definitivo en cuanto a la definicinformal de algoritmo. Muchos autores los sealan como listas de instruccionespara resolver un clculoo un problema abstracto, es decir, que un nmero

    finito de pasos convierten los datos de un problema (entrada en unasolucin (salida. !in embargo cabe notar que algunos algoritmos nonecesariamente tienen que terminar o resolver un problema en particular. "ore#emplo, una versin modificada de la criba de Eratstenes que nuncatermine de calcular nmeros primos no de#a de ser un algoritmo.

    $ lo largo de la historia varios autores han tratado de definir formalmente alos algoritmos utili%ando modelos matemticos. Esto fue reali%ado por$lon%o&hurchen ')* con el concepto de +calculabilidad efectiva+ basada en suclculo lambda por$lan -uringbasndose en la mquina de -uring. osdos enfoques son equivalentes, en el sentido en que se pueden resolver

    exactamente los mismos problemas con ambos enfoques. !in embargo,estos modelos estn su#etos a un tipo particular de datos como son nmeros,s/mbolos o grficasmientras que, en general, los algoritmos funcionan sobreuna vasta cantidad de estructuras de datos. En general, la parte comn entodas las definiciones se puede resumir en las siguientes tres propiedadessiempre cuando no consideremos algoritmos paralelos.

    Tiempo secuencial. 0n algoritmo funciona en tiempo discreti%adopaso a paso, definiendo as/ una secuencia de estados+computacionales+ por cada entrada vlida (la entrada son los datosque se le suministran al algoritmo antes de comen%ar.Estado abstracto. &ada estado computacional puede ser descritoformalmente utili%ando una estructura de primer orden cadaalgoritmo es independiente de su implementacin (los algoritmos sonob#etos abstractos de manera que en un algoritmo las estructuras deprimer orden son invariantes ba#o isomorfismo.Exploracin acotada. a transicin de un estado al siguiente quedacompletamente determinada por una descripcin fi#a finita1 es decir,entre cada estado el siguiente solamente se puede tomar en cuentauna cantidad fi#a limitada de t2rminos del estado actual.

    En resumen, un algoritmo es cualquier cosa que funcione paso a paso,donde cada paso se pueda describir sin ambig3edad sin hacer referencia auna computadora en particular, adems tiene un l/mite fi#o en cuanto a lacantidad de datos que se pueden leer4escribir en un solo paso. Esta ampliadefinicin abarca tanto a algoritmos prcticos como aquellos que solofuncionan en teor/a, por e#emplo el m2todo de 5e6ton la eliminacin de7auss89ordan funcionan, al menos en principio, con nmeros de precisininfinita1 sin embargo no es posible programar la precisin infinita en unacomputadora, no por ello de#an de ser algoritmos.':En particular es posibleconsiderar una cuarta propiedad que puede ser usada para validar la tesis de&hurch8-uringde que toda funcin calculable se puede programar en unamquina de -uring (o equivalentemente, en un lengua#e de programacinsuficientemente general;':

    Aritmetizabilidad. !olamente operaciones innegablementecalculables estn disponibles en el paso inicial.

    Medios de expresin de un algoritmo

    os algoritmos pueden ser expresados de muchas maneras, incluendo allengua#e natural, pseudocdigo, diagramas de flu#o lengua#es deprogramacin entre otros. as descripciones en lengua#e natural tienden a

    https://es.wikipedia.org/wiki/C%C3%A1lculohttps://es.wikipedia.org/wiki/Problema_abstractohttps://es.wikipedia.org/wiki/Criba_de_Erat%C3%B3steneshttps://es.wikipedia.org/wiki/Alonzo_Churchhttps://es.wikipedia.org/wiki/Alonzo_Churchhttps://es.wikipedia.org/wiki/C%C3%A1lculo_lambdahttps://es.wikipedia.org/wiki/Alan_Turinghttps://es.wikipedia.org/wiki/M%C3%A1quina_de_Turinghttps://es.wikipedia.org/wiki/Grafohttps://es.wikipedia.org/wiki/Estructura_de_datoshttps://es.wikipedia.org/wiki/Algoritmo_paralelohttps://es.wikipedia.org/wiki/L%C3%B3gica_matem%C3%A1ticahttps://es.wikipedia.org/wiki/L%C3%B3gica_matem%C3%A1ticahttps://es.wikipedia.org/wiki/M%C3%A9todo_de_Newtonhttps://es.wikipedia.org/wiki/Eliminaci%C3%B3n_de_Gauss-Jordanhttps://es.wikipedia.org/wiki/Eliminaci%C3%B3n_de_Gauss-Jordanhttps://es.wikipedia.org/wiki/Eliminaci%C3%B3n_de_Gauss-Jordanhttps://es.wikipedia.org/wiki/Algoritmo#cite_note-Dershowitz-10https://es.wikipedia.org/wiki/Tesis_de_Church-Turinghttps://es.wikipedia.org/wiki/Tesis_de_Church-Turinghttps://es.wikipedia.org/wiki/Algoritmo#cite_note-Dershowitz-10https://es.wikipedia.org/wiki/Lenguaje_naturalhttps://es.wikipedia.org/wiki/Pseudoc%C3%B3digohttps://es.wikipedia.org/wiki/Diagramas_de_flujohttps://es.wikipedia.org/wiki/Lenguaje_de_programaci%C3%B3nhttps://es.wikipedia.org/wiki/Lenguaje_de_programaci%C3%B3nhttps://es.wikipedia.org/wiki/Lenguaje_de_programaci%C3%B3nhttps://es.wikipedia.org/wiki/Problema_abstractohttps://es.wikipedia.org/wiki/Criba_de_Erat%C3%B3steneshttps://es.wikipedia.org/wiki/Alonzo_Churchhttps://es.wikipedia.org/wiki/Alonzo_Churchhttps://es.wikipedia.org/wiki/C%C3%A1lculo_lambdahttps://es.wikipedia.org/wiki/Alan_Turinghttps://es.wikipedia.org/wiki/M%C3%A1quina_de_Turinghttps://es.wikipedia.org/wiki/Grafohttps://es.wikipedia.org/wiki/Estructura_de_datoshttps://es.wikipedia.org/wiki/Algoritmo_paralelohttps://es.wikipedia.org/wiki/L%C3%B3gica_matem%C3%A1ticahttps://es.wikipedia.org/wiki/M%C3%A9todo_de_Newtonhttps://es.wikipedia.org/wiki/Eliminaci%C3%B3n_de_Gauss-Jordanhttps://es.wikipedia.org/wiki/Eliminaci%C3%B3n_de_Gauss-Jordanhttps://es.wikipedia.org/wiki/Algoritmo#cite_note-Dershowitz-10https://es.wikipedia.org/wiki/Tesis_de_Church-Turinghttps://es.wikipedia.org/wiki/Tesis_de_Church-Turinghttps://es.wikipedia.org/wiki/Algoritmo#cite_note-Dershowitz-10https://es.wikipedia.org/wiki/Lenguaje_naturalhttps://es.wikipedia.org/wiki/Pseudoc%C3%B3digohttps://es.wikipedia.org/wiki/Diagramas_de_flujohttps://es.wikipedia.org/wiki/Lenguaje_de_programaci%C3%B3nhttps://es.wikipedia.org/wiki/Lenguaje_de_programaci%C3%B3nhttps://es.wikipedia.org/wiki/C%C3%A1lculo
  • 7/24/2019 Definicin Formal

    2/23

    ser ambiguas extensas. El usar pseudocdigo diagramas de flu#o evitamuchas ambig3edades del lengua#e natural.

  • 7/24/2019 Definicin Formal

    3/23

    publicaciones cient/ficas, como producto intermedio durante el desarrollode un algoritmo, como los diagramas de flu#o, aunque presentan una venta#aimportante sobre estos, es que los algoritmos descritos en pseudocdigorequieren menos espacio para representar instrucciones comple#as.

    El pseudocdigo est pensado para facilitar a las personas el entendimiento

    de un algoritmo, por lo tanto puede omitir detalles irrelevantes que sonnecesarios en una implementacin. "rogramadores diferentes suelen utili%arconvenciones distintas, que pueden estar basadas en la sintaxis delengua#es de programacin concretos. !in embargo, el pseudocdigo, engeneral, es comprensible sin necesidad de conocer o utili%ar un entorno deprogramacin espec/fico, es a la ve% suficientemente estructurado para quesu implementacin se pueda hacer directamente a partir de 2l.

    $s/ el pseudocdigo cumple con las funciones antes mencionadas pararepresentar algo abstracto los protocolos son los lengua#es para laprogramacin. @usque fuentes ms precisas para tener maor comprensindel tema.

    Sistemas formales

    a teor/a de autmatas la teor/a de funciones recursivasproveen modelosmatemticos que formali%an el concepto de algoritmo. os modelos mscomunes son la mquina de -uring, mquina de registro funciones A8recursivas. Estos modelos son tan precisos como un lengua#e mquina,careciendo de expresiones coloquiales o ambig3edad, sin embargo semantienen independientes de cualquier computadora de cualquierimplementacin.

    Implementacin

    Muchos algoritmos son ideados para implementarse en un programa. !inembargo, los algoritmos pueden ser implementados en otros medios, comouna red neuronal, un circuito el2ctrico o un aparato mecnico el2ctrico.

    $lgunos algoritmos inclusive se disean especialmente para implementarseusando lpi% papel. El algoritmo de multiplicacin tradicional, el algoritmode Euclides, la criba de Eratstenes muchas formas de resolver la ra/%cuadradason slo algunos e#emplos.

    ariables

    !on elementos que toman valores espec/ficos de un tipo de datos concreto.a declaracin de una variable puede reali%arse comen%ando con var."rincipalmente, existen dos maneras de otorgar valores iniciales a variables;

    '. Mediante una sentencia de asignacin.

    =. Mediante un procedimiento de entrada de datos (por e#emplo; BreadB.

    Ejemplo!

    i;C'1 read(n1 6hile i D n do begin ( cuerpo del bucle i ;C i F ' end1

    Estructuras secuenciales

    https://es.wikipedia.org/wiki/Diagrama_de_flujohttps://es.wikipedia.org/wiki/Teor%C3%ADa_de_aut%C3%B3matashttps://es.wikipedia.org/wiki/Funci%C3%B3n_recursivahttps://es.wikipedia.org/wiki/M%C3%A1quina_de_Turinghttps://es.wikipedia.org/wiki/M%C3%A1quina_de_registrohttps://es.wikipedia.org/wiki/Funci%C3%B3n_recursivahttps://es.wikipedia.org/wiki/Funci%C3%B3n_recursivahttps://es.wikipedia.org/wiki/Lenguaje_m%C3%A1quinahttps://es.wikipedia.org/wiki/Programa_(computaci%C3%B3n)https://es.wikipedia.org/wiki/Red_neuronal_artificialhttps://es.wikipedia.org/wiki/Red_neuronal_artificialhttps://es.wikipedia.org/wiki/Algoritmo_de_multiplicaci%C3%B3nhttps://es.wikipedia.org/wiki/Algoritmo_de_Euclideshttps://es.wikipedia.org/wiki/Algoritmo_de_Euclideshttps://es.wikipedia.org/wiki/Algoritmo_de_Euclideshttps://es.wikipedia.org/wiki/Criba_de_Erat%C3%B3steneshttps://es.wikipedia.org/wiki/Formas_de_resolver_la_ra%C3%ADz_cuadradahttps://es.wikipedia.org/wiki/Formas_de_resolver_la_ra%C3%ADz_cuadradahttps://es.wikipedia.org/wiki/Diagrama_de_flujohttps://es.wikipedia.org/wiki/Teor%C3%ADa_de_aut%C3%B3matashttps://es.wikipedia.org/wiki/Funci%C3%B3n_recursivahttps://es.wikipedia.org/wiki/M%C3%A1quina_de_Turinghttps://es.wikipedia.org/wiki/M%C3%A1quina_de_registrohttps://es.wikipedia.org/wiki/Funci%C3%B3n_recursivahttps://es.wikipedia.org/wiki/Funci%C3%B3n_recursivahttps://es.wikipedia.org/wiki/Lenguaje_m%C3%A1quinahttps://es.wikipedia.org/wiki/Programa_(computaci%C3%B3n)https://es.wikipedia.org/wiki/Red_neuronal_artificialhttps://es.wikipedia.org/wiki/Algoritmo_de_multiplicaci%C3%B3nhttps://es.wikipedia.org/wiki/Algoritmo_de_Euclideshttps://es.wikipedia.org/wiki/Algoritmo_de_Euclideshttps://es.wikipedia.org/wiki/Criba_de_Erat%C3%B3steneshttps://es.wikipedia.org/wiki/Formas_de_resolver_la_ra%C3%ADz_cuadradahttps://es.wikipedia.org/wiki/Formas_de_resolver_la_ra%C3%ADz_cuadrada
  • 7/24/2019 Definicin Formal

    4/23

    a estructura secuencial es aquella en la que una accin sigue a otra ensecuencia. as operaciones se suceden de tal modo que la salida de una esla entrada de la siguiente as/ sucesivamente hasta el fin del proceso. aasignacin de esto consiste, en el paso de valores o resultados a una %onade la memoria.

  • 7/24/2019 Definicin Formal

    5/23

    &uando una funcin puede ser calculada por medios algor/tmicos, sinimportar la cantidad de memoria que ocupe o el tiempo que se tarde, se diceque dicha funcin es computable. 5o todas las funciones entre secuenciasdatos son computables. El problema de la paradaes un e#emplo.

    An#lisis de algoritmos

    &omo medida de la eficiencia de un algoritmo, se suelen estudiar losrecursos (memoria tiempo que consume el algoritmo. El anlisis dealgoritmos se ha desarrollado para obtener valores que de alguna formaindiquen (o especifiquen la evolucin del gasto de tiempo memoria enfuncin del tamao de los valores de entrada.

    El anlisis estudio de los algoritmos es una disciplina de las ciencias de lacomputacin, en la maor/a de los casos, su estudio es completamenteabstracto sin usar ningn tipo de lengua#e de programacinni cualquier otraimplementacin1 por eso, en ese sentido, comparte las caracter/sticas de las

    disciplinas matemticas. $s/, el anlisis de los algoritmos se centra en losprincipios bsicos del algoritmo, no en los de la implementacin particular.0na forma de plasmar (o algunas veces +codificar+ un algoritmo es escribirloen pseudocdigo o utili%ar un lengua#e mu simple tal como exico, cuoscdigos pueden estar en el idioma del programador.

    $lgunos escritores restringen la definicin de algoritmo a procedimientos quedeben acabar en algn momento, mientras que otros consideranprocedimientos que podr/an e#ecutarse eternamente sin pararse, suponiendoel caso en el que existiera algn dispositivo f/sico que fuera capa% defuncionar eternamente. En este ltimo caso, la finali%acin con 2xito delalgoritmo no se podr/a definir como la terminacin de este con una salidasatisfactoria, sino que el 2xito estar/a definido en funcin de las secuenciasde salidas dadas durante un periodo de vida de la e#ecucin del algoritmo."or e#emplo, un algoritmo que verifica que ha ms ceros que unos en unasecuencia binariainfinita debe e#ecutarse siempre para que pueda devolverun valor til. !i se implementa correctamente, el valor devuelto por elalgoritmo ser vlido, hasta que evale el siguiente d/gito binario.

  • 7/24/2019 Definicin Formal

    6/23

    del mximo nmero encontrado hasta ese momento. En el caso que unelemento sea maor que el mximo, se asigna su valor al mximo. &uandose termina de recorrer la lista, el mximo nmero que se ha encontrado es elmximo de todo el con#unto.

    Descripcin formal

    El algoritmo puede ser escrito de una manera ms formal en el siguientepseudocdigo;

    AlgoritmoEncontrar el mximo de un con#unto

    funcinmax(

    44 es un con#unto no vac/o de nmeros44

    G

    44 es el nmero de elementos de

    44G

    para G $asta $acersi entonces

    Gdevolver

    !obre la notacin;

    +G+ representa una asignacin; G significa que la variable toma

    el valor de 1

    +devolver+ termina el algoritmo devuelve el valor a su derecha (eneste caso, el mximo de .

    Implementacin

    En lengua#e &FF;

    int max(int cN, int nO int i, m C c:N1 for (i C '1 i D n1 iFF if (ciN P m m C ciN1

    return m1

    https://es.wikipedia.org/wiki/Pseudoc%C3%B3digohttps://es.wikipedia.org/wiki/C%2B%2Bhttps://es.wikipedia.org/wiki/C%2B%2Bhttps://es.wikipedia.org/wiki/Pseudoc%C3%B3digohttps://es.wikipedia.org/wiki/C%2B%2B
  • 7/24/2019 Definicin Formal

    7/23

    Introduccin

    !e pueden utili%ar muchos lengua#es para programar una computadora. Elms bsico es el lengua#ede mquina, una coleccin de instrucciones mudetallada que controla la circuiter/a interna de la maquina. Este es el dialectonatural de la maquina. Mu pocos programas se escriben actualmente enlengua#e de maquina por dos ra%ones importantes; primero, porque ellengua#e de maquina es mu incomodo para traba#ar segundo porque lamaor/a de las maquinas se pide programar en diversos tipos de lengua#es,que son lengua#es de alto nivel, cuas instrucciones son ms compatiblescon los lengua#es la forma de pensar humanos como lo es el lengua#e cque adems es de propsito general.

  • 7/24/2019 Definicin Formal

    8/23

    a solucin a cualquier problema de cmputo involucra la e#ecucin de unaserie de acciones en orden espec/fico. 0n procedimientopara resolver unproblema en t2rminos de; a as acciones a e#ecutarse b el orden en elcual estas acciones deben e#ecutarse se llama algoritmo.

    0n e#emplo de un algoritmo para llegar a la escuela

    a.

    b. !alir de la cama

    c. Suitarse la pi#amas

    d.

  • 7/24/2019 Definicin Formal

    9/23

    0na recomendacin mu practica es el que nos pongamos en el lugar de lacomputadora analicemos que es lo que necesitamos que nos ordenen enque secuencia para producir los resultados esperados.

    -&. Dise0odel Algoritmo

    as caracter/sticas de un buen algoritmo son;

  • 7/24/2019 Definicin Formal

    10/23

  • 7/24/2019 Definicin Formal

    11/23

    >niciali%ar una variable es el darle un valor despu2s que se ha declarado peroantes de que se e#ecuten las sentencias en las que se emplea.

    4& "7*STA*TES& &onstantes son los valores que no pueden sermodificados. En &, pueden ser de cualquier tipo de datos.

    $dems de los e#emplificados anteriormente, "odemos crear constantes decaracteres con barra invertida. Estos corresponden a los caracteres que sonimposibles introducir desde el teclado.

    5& 7PE6AD76ES

    0n operador es un s/mbolo que indica al compilador que realicemanipulaciones lgicas o matemticasespec/ficas.

    os operadores del mismo nivel de precedencia son evaluados por elcompilador de i%quierda a derecha. "or supuesto, se puede utili%ar

    par2ntesis para ordenar la evaluacin.

    -ambi2n, conviene utili%ar par2ntesis para hacer ms claro el orden en quese producen las evaluaciones, tanto para la personaque lo elabora o paralos que despu2s tengan que seguir el programa.

    7peradores 'gicos!

    Estos operadores se utili%an para establecer relaciones entre valores lgicos.

    Estos valores pueden ser resultado de una expresin relacional.

    7peradores 'gicos

    $nd V

    ?r ?

    5ot 5egacin

    Prioridad de los 7peradores 'gicos

    5ot

    $nd

    ?r

    7peradores de Asignacin&os operadores de asignacin se utili%an paraformar expresiones de asignacin, en las que se asigna el valor de unaexpresin a un identificador. "or definir el operador de asignacin .

    &ada expresin toma un valor que se determina tomando los valores de las

    variables constantes implicadas la e#ecucin de las operacionesindicadas.

    0na expresin consta de operadores operandos. !egn sea el tipo dedatos que manipulan, se clasifican las expresiones en;

    $ritm2ticas

    http://www.monografias.com/trabajos14/nuevmicro/nuevmicro.shtmlhttp://www.monografias.com/trabajos14/nuevmicro/nuevmicro.shtmlhttp://www.monografias.com/trabajos5/sisope/sisope2.shtml#teclahttp://www.monografias.com/Matematicas/index.shtmlhttp://www.monografias.com/trabajos11/conce/conce.shtmlhttp://www.monografias.com/trabajos7/perde/perde.shtmlhttp://www.monografias.com/trabajos14/nuevmicro/nuevmicro.shtmlhttp://www.monografias.com/trabajos5/sisope/sisope2.shtml#teclahttp://www.monografias.com/Matematicas/index.shtmlhttp://www.monografias.com/trabajos11/conce/conce.shtmlhttp://www.monografias.com/trabajos7/perde/perde.shtml
  • 7/24/2019 Definicin Formal

    12/23

    Welacinales

    gicas

    =& PA'A)6AS 6ESE6ADAS&

    !on palabras que tienen un significado especial para el lengua#e no sepueden utili%ar como identificadores.

    %>& "7ME*TA6I7S&

    os comentarios pueden aparecer en cualquier parte del programa, mientrasest2n situados entre los delimitadores 4 comentario 4. os comentarios son

    tiles para identificar los elementos principales de un programa o paraexplicar la lgicasubacente de estos.

    0n diagramade flu#o es la representacin grfica de un algoritmo.-ambi2nse puede decir que es la representacin detallada en forma grfica de comodeben reali%arse los pasos en la computadorapara producir resultados.

    Esta representacin grfica se da cuando varios s/mbolos (que indicandiferentes procesos en la computadora, se relacionan entre s/ mediantel/neas que indican el orden en que se deben e#ecutar los procesos.

    os s/mbolos utili%ados han sido normali%ados por el instituto norteamericanode normali%acin($5!>.

    6ecomendaciones para el dise0ode Diagramasde /lujo&

    0n diagrama de flu#o es la representacin grfica de un algoritmo. -ambi2nse puede decir que es la representacin detallada en forma grfica de comodeben reali%arse los pasos en la computadora para producir resultados.

    Esta representacin grfica se da cuando varios s/mbolos (que indicandiferentes procesos en la computadora, se relacionan entre si mediantel/neas que indican el orden en que se deben e#ecutar los procesos.

    http://www.monografias.com/trabajos16/desarrollo-del-lenguaje/desarrollo-del-lenguaje.shtmlhttp://www.monografias.com/trabajos15/logica-metodologia/logica-metodologia.shtmlhttp://www.monografias.com/trabajos14/flujograma/flujograma.shtmlhttp://www.monografias.com/trabajos15/algoritmos/algoritmos.shtmlhttp://www.monografias.com/trabajos15/algoritmos/algoritmos.shtmlhttp://www.monografias.com/trabajos15/computadoras/computadoras.shtmlhttp://www.monografias.com/trabajos36/signos-simbolos/signos-simbolos.shtmlhttp://www.monografias.com/trabajos14/administ-procesos/administ-procesos.shtml#PROCEhttp://www.monografias.com/trabajos15/computadoras/computadoras.shtmlhttp://www.monografias.com/trabajos5/norbad/norbad.shtmlhttp://www.monografias.com/trabajos13/diseprod/diseprod.shtmlhttp://www.monografias.com/trabajos12/diflu/diflu.shtmlhttp://www.monografias.com/trabajos16/desarrollo-del-lenguaje/desarrollo-del-lenguaje.shtmlhttp://www.monografias.com/trabajos15/logica-metodologia/logica-metodologia.shtmlhttp://www.monografias.com/trabajos14/flujograma/flujograma.shtmlhttp://www.monografias.com/trabajos15/algoritmos/algoritmos.shtmlhttp://www.monografias.com/trabajos15/computadoras/computadoras.shtmlhttp://www.monografias.com/trabajos36/signos-simbolos/signos-simbolos.shtmlhttp://www.monografias.com/trabajos14/administ-procesos/administ-procesos.shtml#PROCEhttp://www.monografias.com/trabajos15/computadoras/computadoras.shtmlhttp://www.monografias.com/trabajos5/norbad/norbad.shtmlhttp://www.monografias.com/trabajos13/diseprod/diseprod.shtmlhttp://www.monografias.com/trabajos12/diflu/diflu.shtml
  • 7/24/2019 Definicin Formal

    13/23

    os s/mbolos utili%ados han sido normali%ados por el instituto norteamericanode normali%acin ($5!>.

    -odo diagrama debe tener un inicio un fin.

    !e deben se usar solamente l/neas de flu#o hori%ontales 4o verticales.

    !e debe evitar el cruce de l/neas utili%ando los conectores.

    !e deben usar conectores solo cuando sea necesario.

    5o deben quedar l/neas de flu#o son conectar.

    !e deben tra%ar los s/mbolos de manera que se puedan leer de arriba

    hacia aba#o de i%quierda a derecha.

    -odo textoescrito dentro de un s/mbolo deber ser escrito claramente,

    evitando el uso de muchas palabras.

    Evitar la terminolog/a de un lengua#edeprogramacino maquina.

    0tili%ar comentarios a sea al margen o mediante el s/mbolo grafico

    comentarios para que este sea entendible por cualquier persona quelo consulte.

    !i el diagrama abarca mas de una ho#a es conveniente enumerarlo e

    identificar de donde viene a donde se dirige.

    -& Pseudocdigo

    Me%cla de lengua#e de programacin espaol (o ingles o cualquier otroidioma que se emplea, dentro de la programacin estructurada, para reali%arel diseo de un programa. En esencial, el pseudocdigo se puede definircomo un lengua#e de especificaciones de algoritmos.

    Es la representacin narrativa de los pasos que debe seguir un algoritmopara dar solucin a un problema determinado. El pseudocdigo utili%apalabras que indican el procesoa reali%ar.

    http://www.monografias.com/trabajos13/libapren/libapren.shtmlhttp://www.monografias.com/trabajos35/concepto-de-lenguaje/concepto-de-lenguaje.shtmlhttp://www.monografias.com/Computacion/Programacion/http://www.monografias.com/Computacion/Programacion/http://www.monografias.com/trabajos5/oriespa/oriespa.shtmlhttp://www.monografias.com/trabajos15/algoritmos/algoritmos.shtmlhttp://www.monografias.com/trabajos14/administ-procesos/administ-procesos.shtml#PROCEhttp://www.monografias.com/trabajos13/libapren/libapren.shtmlhttp://www.monografias.com/trabajos35/concepto-de-lenguaje/concepto-de-lenguaje.shtmlhttp://www.monografias.com/Computacion/Programacion/http://www.monografias.com/trabajos5/oriespa/oriespa.shtmlhttp://www.monografias.com/trabajos15/algoritmos/algoritmos.shtmlhttp://www.monografias.com/trabajos14/administ-procesos/administ-procesos.shtml#PROCE
  • 7/24/2019 Definicin Formal

    14/23

    El pseudocdigo se concibi para superar las dos principales desventa#as del

  • 7/24/2019 Definicin Formal

    15/23

    Entero a,b,c declara las variables a utili%ar

    eer a,b solicita el valor de a b

    cC aFb suma a b lo almacena en c

    >mprimir c muestrael resultado almacenado en la variable c

    fin

  • 7/24/2019 Definicin Formal

    16/23

    *ota!!i existe sola una instruccin o sentencia dentro de la condicin no esnecesario marcarlos con inicio fin como en este caso que la condicin fuefalsa, en caso contrario si, en este e#emplo cuando la condicin fueverdadera.

    E#emplo; >mprimir si un nmero es positivo o negativo

    DIA86AMAS DE /'@7

    Los diagramas de flujo representan la secuencia o los pasos lgicos para realizar una

    tarea mediante unos smbolos. Dentro de los smbolos se escriben los pasos a seguir.

    Un diagrama de flujo debe proporcionar una informacin clara, ordenada y concisa detodos los pasos a seguir.

  • 7/24/2019 Definicin Formal

    17/23

    Nota: Cuando tengas claro como se acen los diagramas de flujo te recomendamos

    !ue "eas el siguiente enlace: #jemplos de Diagramas de $lujo. %e presentamos &'

    diagramas resueltos. Normalmente para realizar un diagrama de flujo primero se acelo !ue se llama el algoritmo. Un algoritmo es una secuencia de ()*+* a seguir para

    resol"er un problema de forma escrita.

    Un ejemplo para cocinar un ue"o para otra persona sera:

    (regunto si !uiere el ue"o frito.

    *i me dice !ue si, lo frio, si me dice !ue no, lo ago er"ido.

    Una "ez cocinado le pregunto si !uiere sal en el ue"o. *i me dice !ue no lo sir"o en el (lato. *i me dice !ue si le eco sal y despu-s lo

    sir"o en el plato.

    )ora !ue ya sabemos todos los pasos, mediante el algoritmo, podemos acer unes!uema con estos pasos a seguir. #ste es!uema ser el Diagrama de $lujo.

    *i uno tiene e/periencia puede prescindir del algoritmo escrito, pero siempre

    tendremos !ue tenerlo en mente para acer el diagrama de flujo sin e!ui"ocarnos.

    01u- son Los Diagramas de $lujo y (ara !u- se Usan2

    Un algoritmo describe una secuencia de pasos para realizar un tarea. #l Diagrama de$lujo es su representacin es!uemtica. Los diagramas de flujo representan la

    secuencia lgica o los pasos !ue tenemos !ue dar para realizar una tarea medianteunos smbolos y dentro de ellos se describen los pasos a realizar.

    (or la tanto son una e/celente erramienta para comprender el proceso a seguir ascomo para identificar posibles errores antes del desarrollo final de la tarea. *e usan

    para antes de acer un programa informtico, analizar lo !ue tiene !ue acer un robot,

    en los procesos industriales, etc.

    Un diagrama de flujo es 3til en todo a!uello !ue se necesite una pre"ia organizacin

    antes de su desarrollo. #n la realizacin de un programa informtico esimprescindible primero realizar el diagrama de flujo, independientemente dellenguaje de programacin !ue usemos despu-s. Una "ez !ue tenemos nuestro

    diagrama de flujo solo tendremos !ue conocer las rdenes del lenguaje !ue realizan

    esas tareas.

    4eglas 5sicas (ara la Construccin de un Diagrama de $lujo

    &. %odos los smbolos an de estar conectados

    http://www.areatecnologia.com/informatica/ejemplos-de-diagramas-de-flujo.htmlhttp://www.areatecnologia.com/informatica/lenguajes-de-programacion.htmlhttp://www.areatecnologia.com/informatica/ejemplos-de-diagramas-de-flujo.htmlhttp://www.areatecnologia.com/informatica/lenguajes-de-programacion.html
  • 7/24/2019 Definicin Formal

    18/23

    6. ) un smbolo de proceso pueden llegarle "arias lneas

    7. ) un smbolo de decisin pueden llegarle "arias lneas, pero slo saldrn dos 8*i

    o No, 9erdadero o $also.

    ;. ) un smbolo de inicio nunca le llegan lneas.

    '. De un smbolo de fin no parte ninguna lnea.

    Los smbolos !ue se usan para realizar los diagramas de flujo son lo siguientes

    #n el *mbolo de decisin a tomar los "alores de salida pueden ser *< o N+ o9#4D)D#4+ o $)L*+. #l smbolo de

  • 7/24/2019 Definicin Formal

    19/23

    n3meros, una operacin a realizar, la suma, y un resultado a mostrar. Cada uno de

    esos pasos con su smbolo correspondiente en el diagrama.

    +tro ejemplo de un diagrama de flujo para una operacin sencilla.

  • 7/24/2019 Definicin Formal

    20/23

    *i te das cuenta mod significa di"idir entre 6. Como ya debes saber si di"ido un

    n3mero entre 6 y el resto es > el n3mero es par. 5ien pues ay esta la decisin. 0)ldi"idirlo entre 6 el resto es >2 =ay 6 posibilidades. *i lo es se "e en pantalla ?*i es

    par?, si no lo es se "e en pantalla ?No es par?. #so es la toma de decisiones. )dems

    los diagramas de flujo no solo "alen para informtica, incluso podemos acer unopara cocinar un ue"o, como "imos al principio.

    5ueno aora "amos acer uno un poco ms complicado. %enemos !ue acer un

    diagrama de flujo para mostrar la suma de los '> primeros n3meros. Lo primero esponer a cero la suma y dar el primer n3mero a sumar !ue ser el >.

    $jate !ue el diagrama acaba cuando N, !ue es el n3mero en cada momento, es '>.@ientras no sea '> el programa "uel"e a la tercera secuencia !ue ser sumarle un

    n3mero al anterior N A N B &.

  • 7/24/2019 Definicin Formal

    21/23

    Ejemplo de diagrama de flujo

    Tamos a almacenar en M el mximo de los nmeros que se haan le/do, el

    primero va directamente a M los 58' restantes los leemos en $,

    comparamos con M si son maores cambiamos el mximo temporal.

    $l final se escribe el resultado. Tamos a e#ecutarlo paso a paso para 5CI,empleando como datos; =, ), 8', X.

    (' eer 5 Y 5CI

    (= eer M Y MC=

    () >C58'C)

    (I eer $ Y $C) (H Z$PM[ Y !> (* MC$C)

    (X >C>8'C)8>C=

    (\ Z>C:[ Y 5? (I eer $ Y $C8'

    0n ao es bisiesto si es mltiplo de I, exceptuando los mltiplos de '::,que slo son bisiestos cuando son mltiplos adems de I::, por

    e#emplo el ao ':: no fue bisiesto, pero el ao =::: si lo ser. ]acer

    un organigrama que dado un ao $ nos diga si es o no bisiesto.

  • 7/24/2019 Definicin Formal

    22/23

    Weali%a el diagrama de flu#o que simule una ca#a registradora.

    El pseudocdigo para esta ca#a registradora es;

  • 7/24/2019 Definicin Formal

    23/23

    >nstituto 5acional de Educacin 5E