Introducción a Los Algoritmos Estructura Secuencial

25
Introducción a los Algoritmos

description

Algoritmica y programacion

Transcript of Introducción a Los Algoritmos Estructura Secuencial

  • Introduccin a los Algoritmos

  • ContenidoMetodologa para la solucin de problemas por medio de una computadoraLenguajes AlgorimicosCaracteristicas de los AlgoritmosTipos de AlgoritmosQu es un Algoritmo?

  • Introduccin a los algoritmosQue es un algoritmo?

    Un algoritmo es una serie de pasos organizados que describe el proceso que se debe seguir, para dar solucin a un problema especfico.

  • Introduccin a los algoritmosCualitativos

    Son aquellos que se describen utilizando palabrasTipos de Algoritmos Cuantitativos

    Son aquellos que utilizan clculos numricos para definir los pasos del proceso

  • Un algoritmo debe ser...

    Debe tener terminar en algn momentoDebe realizar las funciones u operaciones para las que fue creado.Debe estar bien estructurado para su fcil entendimiento.Debe realizar las operaciones con un mnimo de utilizacin de recursos.Debe estar libre de errores. (Validado)Debe indicar un orden de realizacin de cada paso. Debe generar el mismo resultado siempre que se siga. Caractersticas de los algoritmosFINITOCONCRETOLEGIBLEDEFINIDO PRECISONO AMBIGUOEFICIENTE

  • Introduccin a los algoritmosLenguajes Algortmicos

    Un Lenguaje algortmico es una serie de smbolos y reglas que se utilizan para describir de manera explcita un proceso.

  • Tipos de lenguajes algortmicos

  • Metodologa para la solucin de problemas por medio de computadoraIntroduccin a los algoritmos

  • Definicin del problema

    Esta fase est dada por el enunciado del problema, el cual requiere una definicin clara y precisa.

    Es importante que se conozca lo que se desea que realice la computadora; mientras esto no se conozca del todo no tiene mucho caso continuar con la siguiente etapa.

  • Anlisis del ProblemaUna vez que se ha comprendido lo que se desea de la computadora, es necesario definir: Los datos de entrada. Cual es la informacin que se desea producir (salida) Los mtodos y frmulas que se necesitan para procesar los datos. Una recomendacin muy prctica es el de colocarse en el lugar de la computadora y analizar qu es lo que se necesita que se ordene y en qu secuencia para producir los resultados esperados.

  • Diseo del algoritmoLas caractersticas de un buen algoritmo son: Debe tener un punto particular de inicio. Debe ser definido, no debe permitir dobles interpretaciones. Debe ser general, es decir, soportar la mayora de las variantes que se puedan presentar en la definicin del problema. Debe ser finito en tamao y tiempo de ejecucin. Diseo (creacin) del Algoritmo Prueba de escritorio o Depuracin

  • SIMBOLOGIA

  • ELEMENTOS PARA LA CONSTRUCCION DE ALGORITMOSESTADOSEstado InicialEstado Final

  • VARIABLESExisten diferentes tipos de variables en cada lenguaje de programacinLos tipos de variables mas comunes son:NumricoEnteroPara almacenar nmeros sin parte decimalEjemplo: 10, 44, -5RealPara almacenar nmeros con parte decimalEjemplo: 10.3, 44.8, -5.0CarcterPara almacenar un carcterEjemplo: A`, a, 1Cadenas de CaracteresCadenaPara almacenar textosEjemplo: JuanLgicoValores verdadero o falso (booleano)

  • ASERCIONESSe denomina asercin a cualquier proposicin que tiene valor verdadero, referente a un estado de las variables del algoritmo o programaEjemplos de asercionesSi x=8 {x>0}Si a=3 y b=6 {(a>0) ^ (b>0)}

  • EXPRESIONESLas expresiones son combinaciones de variables, operandos y operadores, mediante los cuales le indicamos al computador la forma como debe transformar las variables del estado inicial al estado finalOperadores Aritmticos+ , -, * y /DIV : Divisin entera, Permite dividir dos nmeros enteros produciendo tambin un resultado entero 14 DIV 5 = 2 17 DIV 3 = 5(A+B)*2/5Horas Extra*PagoHora)+PagoSemanalMOD : Residuo de una divisin entera 14 MOD 5 = 4 17 MOD 3 = 21451042DIVMOD

  • TIPOS DE INSTRUCCIONES BASICAS EN LOS LENGUAJES DE PROGRAMACIONInstrucciones o sentencias de entradaInstrucciones o sentencias de procesoInstrucciones o sentencias de salidaInstruccin o sentencia de entradaCdigoLEERSintaxisLEER VariableSemnticaEl cdigo LEER nos permite instruirle al computador que admita datos, es decir, que espere hasta que digitemos un valor, una vez digitado debe almacenarlo en la variable indicada.

  • Instruccin o sentencia de procesoSmboloSintaxisVariableSemnticaMediante el smbolo escribimos instrucciones para indicarle al computador que primero efectu la expresin. (de acuerdo al orden de prioridad de las operaciones aritmticas), una vez obtenido el resultado este lo asigne (almacene) a la variable indicada. El resultado de la expresin debe ser del mismo tipo que la variable, es decir, si la variable es numrica, la expresin debe tener un resultado numrico.ExpresinPor ejemplo, la instruccinrea 3.1416*(Radio*Radio)Significa que el computador primero debe multiplicar radio por Radio, luego el resultado multiplicar por 3.1416 y el resultado obtenido, asignarlo a la variable rea

  • Instruccin o sentencia de salidaCdigoSintaxisESCRIBIRSemnticaMediante el cdigo ESCRIBIR escribimos instrucciones para indicarle al computador que muestre en la pantalla. El contenido de una variable, el resultado de una expresin o algn texto. Generalmente mostraremos en pantalla el contenido de las variables que estn almacenados los resultados de algn proceso.VariablePor ejemplo, la instruccinESCRIBIR reaSignifica que el computador nos mostrara en la pantalla el contenido de la variable reaESCRIBIRESCRIBIR Base*AlturaESCRIBIR Bienvenido a los Algoritmos

  • LEERBaseEscribir un algoritmo que calcule el rea de un triangulo conociendo su base y alturaLEERAlturarea(Base * Altura) / 2ESCRIBIRrea

  • ETAPAS EN EL DESARROLLO DE PROGRAMAS1. Anlisis1.1 Entender el problema1.2 Modelo1.3 Especificaciones del algoritmoDiccionario de variablesPre condicinAccin que debe realizar el algoritmoPost condicin2. Diseo2.1 Descripcin del algoritmo en seudocdigo2.2 Verificacin del algoritmo3. Codificacin de un lenguaje de programacin4. Puesta en funcionamiento5. Mantenimiento