algoritmos

39
FACULTAD DE INGENIERIA Escuela Académico Profesional de Ingeniería Informática TALLER BASICO DE TECNOLOGIA DE TALLER BASICO DE TECNOLOGIA DE INFORMACION INFORMACION ALGORITMOS Ing. Juana Segura González

Upload: marcelo-oliveira

Post on 17-Nov-2015

2 views

Category:

Documents


0 download

DESCRIPTION

Algoritmos

TRANSCRIPT

  • FACULTAD DE INGENIERIA Escuela Acadmico Profesional de Ingeniera Informtica

    TALLER BASICO DE TECNOLOGIA DE INFORMACION

    ALGORITMOSIng. Juana Segura Gonzlez

  • Objetivos GeneralesIntroducir al estudiante en los conceptos bsicos de la lgica de programacin desde el anlisis de algoritmos.

    Usar el mtodo para la representacin de algoritmos: un lenguaje simblico, llamado pseudocdigo

    Realizar ejercicios simples de algoritmos

  • ContenidoAntecedentesConceptosHerramientas de ProgramacinDiagrama de FlujoPseudocdigoEstructuras de ControlEstructuras secuencialesEstructuras selectivasEstructuras repetitivas

  • Al-Khorezmi: Un Matemtico Olvidado Cuando en una resta nada queda, entonces escribe un pequeo crculo para que ese lugar no permanezca vaco (Al-Khorezmi explicando el cero, Siglo IX).

  • Al-Khorezmi: Un Matemtico Olvidado Al-Khorezmi de origen rabe, gracias a l, la matemtica moderna usa el sistema numrico actual, proveniente de la India, Las palabras guarismo (cifra, nmero) y algoritmo provienen de su nombre, que en rabe significa, "el de Khorezm" por su lugar de origen.Al-Khorezmi el primero que dise algoritmos pensando en su eficiencia, en particular, para el clculo de races de ecuaciones. La algoritmia es uno de los pilares fundamentales de la ciencia de la computacin.

  • Un algoritmo, es una secuencia o conjunto ordenado de operaciones o pasos que permite hallar la solucin de un problema (segn el diccionario de la Real Academia)Es un mtodo y notacin en las distintas formas del clculo. Conjunto de Instrucciones sencillas, claramente especificadas que se deben seguir para resolver un problemaDescripcin de la estructura lgica del Programa

    Conceptos

  • Una variable es un objeto cuyo valor puede cambiar durante el desarrollo del algoritmo o ejecucin del programaSe identifica por su nombre y por su tipo.En los algoritmos se debe declarar las variables Hay diferentes tipos de variables, tales como:EnterasRealesLgicasCarcterCadena

    Variables

  • Una variable se identifica por los siguientes atributos:Nombre que lo asignaTipo que describe el uso de la variableLos nombres de las variables a veces conocido como identificadores, suelen constar de varios caracteres alfanumericos de los cuales el primero normalmente es una letraLos nombres de las variables elegidas para el algoritmo o el programa deben ser significativos y tener relacin con el objeto que representan. Ejemplos:NOMBRE para representar nombres de personasPRECIOS para representar precios de articulosNOTAS para representar las notas de una clase

    Variables

  • Herramientas de ProgramacinLos mtodos mas usuales para la representacin de algoritmos son:Diagrama de FlujoDiagrama de N-S (Nassi-Schneiderman)Pseudocdigo

  • Diagrama de FlujoSmbolo NombreFuncin

    Representa el comienzo (Inicio) y el final (Fin) de un ProgramaClculos o la manipulacin de datosRepresenta la entrada o salida de datosIndica las operaciones lgicas o comparacin entre datos que determina cual de los caminos alternativos del programa se debe seguir: verdadero o falso (SI o NO)Lnea de flujoProcesoTerminalEntrada/SalidaDecisin Indica sentido de ejecucin de las operaciones

  • Diagrama de FlujoEjemplo:Inicio

    leer (Celcius)Celcius+ 273.5Kelvinfinescribir(Kelvin)Diagrama de Flujo de un programa que lea una temperatura en grados Centigrados y calcule y escriba su valor en grados Kelvin

  • EjercicioRealizar una llamada desde un telfono pblicoDatos de Salida : La comunicacin por telfonoDatos de Entrada: Nmero de telfono, dineroDatos Auxiliares :Distintas seales de llamadas

    Se debe ir a la cabina y esperar si hay cola. Entrar e introducir el dinero. Se marca el nmero y se espera la seal, si est comunicando o no contestan se repite la operacin hasta que descuelguen el telefono o decide irse.

  • inicio

    Diagrama de FlujocabinaHay colaavanzarEntrar a cabinaIntroducir dinerofinMarcar el numeroContestan fonoesperarIntentamosNOhablarSISINOSINO

  • PseudocdigoEs un lenguaje de especificacin de algoritmos que utiliza palabras reservadas y exige la indentacin, o sea sangra en el margen izquierdo de algunas lneasEs una buena herramienta para el seguimiento de la lgica de un algoritmo y para transformar con facilidad los algoritmos a programas, escritos en un lenguaje de programacin especfico.

  • PseudocdigoCaractersticas:Reglas de formacin de oraciones simples, muy claras y bien definidas.Cercano al lenguaje natural pero sin ambiguedad.Mas prximo a un lenguaje de programacin que el lenguaje natural

  • Reglas del PseudocdigoLas palabras subrayadas hacen parte del pseudocdigo, deben usarse como se presentan.Las palabras no subrayadas representan una categora sintctica (variable, expresin, etc) deben usarse reemplazndose por la categora correspondiente.[a/b/c]escoger una de las opciones presentadas[a] indica opcionalidad, esto es el componente puede dejar de usarse.indica repeticin de la operacin anterior

  • PseudocdigoEntrada:Leer IdentificadorEjemplo: Leer ASalida:Escribir IdentificadorEjemplo: Escribir C

  • PseudocdigoEjemplo: Transformar grados Celcius en grados Kelvin escrito en pseudocdigo:SOLUCION:1.- Definicin de variablesfloat celcius // temperatura en grados celciusfloat kelvin // temperatura en grados kelvin2.- Pseudocdigo

    INICIO// Declaracin de Variablesreal celcius, kelvin

    // IngresoLeer(celcius)

    // ProcesoKelvin celcius + 273.5

    // SalidaEscribe(kelvin)FIN

  • Pseudocdigo: AsignacinAsignacin de un valor a una variable: identificadorEjemplo:VariableNueva variableIdentificadorExpresinjNN + 1x5*y +z/10

  • Pseudocdigo: Expresiones Aritmticas Las expresiones aritmticas se usan para representar calculos aritmticos. Operadores mas usados: +,-,*,/ Prioridad de los operadores: /, * +,-Se usa parntesis para alterar la prioridad de los operadoresA+B*5 es diferente a (A+B)*5

  • Pseudocdigo: Estructura Selectiva SimpleEstructura Selectiva Simple:Si Entonces Secuencia de n accionesfsi

  • Pseudocdigo: Estructura Selectiva SimpleEjemplo:Si x = 20 Entonces A A + 1fsi

  • Pseudocdigo: Estructura Selectiva DobleEstructura Selectiva Doble:Si Entonces Secuencia de n accionesSinoSecuencia de maccionesfsi

  • Pseudocdigo: Estructura Selectiva DobleEjemplo:Si x = 20 Entonces A A + 1Sino A A - 1fsi

  • Pseudocdigo: Expresiones LgicasTiene la siguente forma:expresin (=, no=,=) expresin [ (O/ Y) expresin]

    El resultado de una expresin lgica es el valor verdadero o falso

  • Pseudocdigo: Expresiones LgicasEjemplos:A= 5C>BA=5 O C>BA=5 Y C>B

  • Pseudocdigo:RecomendacionesUsar indentacin(sangrado) para la mayor claridad del algoritmoTrate en lo posible de usar un solo idiomaCambie maysculas y minsculas en el nombre de los identificadoresLos nombres de los identificadores deben ser lo mas significativo posibleUse la notacin de prefijos para las constantes

  • Estructuras de Control Estructuras secuenciales Estructuras selectivasEstructuras simplesEstructuras doblesEstructuras mltiples Estructuras repetitivasMientras Hasta Desde

    Controlan el modo de ejecucin del programa.

  • Estructuras de Control Estructuras secuenciales

    Accin 1Accin 2Accin 3Pseudocdigo

    accion 1 accion 2accion n

  • Estructuras de ControlEstructuras selectivas

    Se ejecutan unas acciones u otras segn se cumpla o no una determinada condicin SimplesDobles Mltiples

  • Estructuras de ControlEstructura Simple

    condicinfalsoverdaderoaccinPseudocdigoSi entonces accinfin_siIF THENIF Condicin THEN Accin VEnd_if

  • Estructuras de ControlEstructura Doble

    condicinfalsoaccin 1PseudocdigoSi entonces accin 1Si_no accin 2fin_si

    verdaderoaccin 2IF THEN ELSEIF Condicin THEN Accin VELSE Accin FEnd_if

  • Estructuras de Control Estructura mltiple

    expresinaccin 2PseudocdigoSegn_sea hacer : : . . . . . . . . . . . .[si_no]fin_segnaccin 1accin nDO - CASE

  • Estructuras de Control Estructura mltiple

    expresinaccin 2Sintaxis:CASE selector OF Alternativa 1 : Accin1Alternativa 2 : Accin2Alternativa 3 : Accin3. . . . . . . . . .Alternativa n : Accin n ELSEAccin xENDaccin 1accin DO - CASEaccin n

  • Estructuras de ControlEstructuras repetitivas

    Las acciones del cuerpo del bucle se repiten mientras o hasta que se cumpla una determinada condicinMientras (Do-While)Hasta (Do - Until)Desde (For - Do)

  • Estructuras de ControlEstructura MIENTRAS DO - WHILE

    condicinfalsoaccionesPseudocdigoMientras hacer fin_mientrasverdaderoWHILE DOAccionesEnd_while

  • Estructura HASTA

    Estructuras de ControlBloque de sentencias a repetirsefalsocondicinPseudocdigorepetir hasta_que

    REPEATSentenciasUNTIL condicin

    verdaderoDO UNTIL

  • Estructuras de ControlEstructura PARA

    PseudocdigoPara v vi hasta vf[incremento / decremento incr]hacerfin_paraaccionesfalsoverdaderoi>vfi vii vi+incrFOR - DO

  • Estructuras de ControlEstructura PARA

    Sintaxis

    Forma Ascendente:FOR vc: = vi TO vf DOAccin

    Forma Descendente:FOR vc: = vf DOWNTO vi DOAccinaccinfalsoverdaderoi>vfi vii vi+incrFOR - DO