algoritmos2

5
UNIDAD I ALGORITMO Conjunto de acciones o secuencias de operaciones ejecutadas en un determinado orden para resolver un problema. Acción Acontecimiento producido por un actor en un tiempo finito que produce un resultado definido y preciso y además genera cierta transformación. Analizaremos la acción Existen diferentes tipos de acciones: Acción simple: Realizadas directamente Acción compleja: No se pueden realizar directamente sino a través de una descomposición de acciones más simples (diseño Top-down). Transformación Generada en los elementos intervinientes. Para determinar la transformación debo conocer el ESTADO. ESTADO Es la observación de los elementos del sistema en un instante de tiempo dado. Hay tres tipos de estado Estado inicial Instante donde comienza la acción.(Ei) Estado intermedio Instante observado en cualquier momento entre el comienzo y la finalización de la acción. Estado Final Instante observado donde finaliza la acción (Ef) Características de los algoritmos Definido (confiable) Debe indicar un orden a seguir Debe ser finito, terminar en un número finito de pasos. *Nota: Algoritmo Se trata de una herramienta capaz de resolver un problema. Todas las situaciones problemáticas pueden ser resueltas a través de algoritmos. UNIDAD II ALGORITMOS Lenguaje algorítmico: Se realiza análisis y se elige el método a utilizar, el conjunto de operaciones y orden conforman el algoritmo. PROGRAMAS: Lenguaje informático: Es aquel por el cual dicho algoritmo se codifica a la computadora. Programa > algoritmo destinado a gobernar una computadora. Lenguaje de programación: Pueden haber diferentes "lenguajes" tales como: visual Basic, delphi, c+ +, java, etc. Pueden tener diferente metodología de programación tales como: Modular, estructurada, orientada a objetos, etc. Cubren necesidades específicas como ser: el visual Fox Pro, es para programar bases de datos. Metodología para la resolución de problemas Hay cinco etapas para resolver problemas algorítmicos, estas son: 1. Definición del sistema : definir que va a hacer el programa y que solución obtendremos.

Upload: juan-carlos-roqur-roque

Post on 18-Dec-2015

212 views

Category:

Documents


0 download

DESCRIPTION

los algoritmos basico

TRANSCRIPT

UNIDAD IALGORITMOConjunto deaccioneso secuencias deoperacionesejecutadas en un determinado orden para resolver un problema.AccinAcontecimiento producido por un actor en untiempofinito que produce unresultado definido y precisoy adems genera ciertatransformacin.Analizaremos la accinExisten diferentes tipos de acciones: Accin simple:Realizadas directamente Accin compleja:No se pueden realizar directamente sino a travs de unadescomposicin de acciones ms simples(diseoTop-down).Transformacin Generada en los elementos intervinientes. Para determinar la transformacin debo conocer elESTADO.ESTADO Es laobservacinde los elementos delsistemaen un instante de tiempo dado.Hay tres tipos de estado Estado inicialInstante donde comienza laaccin.(Ei) Estado intermedio Instante observado en cualquier momento entre el comienzo y la finalizacin de la accin. Estado FinalInstante observado donde finaliza la accin (Ef)Caractersticas de los algoritmos Definido (confiable) Debe indicar un orden a seguir Debe ser finito, terminar en un nmero finito de pasos.*Nota:Algoritmo Se trata de una herramienta capaz de resolver un problema. Todas las situaciones problemticas pueden ser resueltas a travs dealgoritmos.UNIDAD IIALGORITMOSLenguaje algortmico: Se realizaanlisisy se elige elmtodoa utilizar, el conjunto de operaciones y orden conforman el algoritmo.PROGRAMAS:Lenguaje informtico:Es aquel por el cual dicho algoritmo se codifica a lacomputadora.Programa > algoritmo destinado a gobernar una computadora.Lenguaje deprogramacin: Pueden haber diferentes "lenguajes" tales como:visual Basic,delphi, c++,java, etc. Pueden tener diferentemetodologade programacin tales como: Modular, estructurada, orientada a objetos, etc. Cubren necesidades especficas como ser: el visual Fox Pro, es para programar bases dedatos.

Metodologa para la resolucin de problemasHay cinco etapas para resolverproblemasalgortmicos, estas son:1. Definicin delsistema:definir que va a hacer elprogramay que solucin obtendremos.2. Diseo del sistema: Establecer que tipo demetodologausaremos para solucionar el problema (Ej. Top down o Botton up).Cuando se compila elalgoritmo, hay un "antes" y un "despus" Antes > Programa Fuente (lenguajedeprogramacin). Despus > Programa ejecutable (lenguaje de maquina).3. Codificacin:Es la etapa en donde se escribe el algoritmo en un lenguaje de programacin.4. Prueba y depuracin:Se realizanpruebaspara verificar el funcionamiento del programa, se prueba convaloresvlidos y con no vlidos para ver como se comporta y corregir si es necesario.5. Documentacin yMantenimiento:Se basa en la instalacin, funcionamiento y caractersticas del programa. Permite corregir errores o modificar el programa (estos cambios son el mantenimiento del programa).Hay dos tipos dedocumentacin, estas son: Interna > viene dentro del programa (Ej. Readme, caractersticas operativas) Externa > Viene fuera del programa,diagramasde flujo,manualesde usuario, consejos de uso, etc.UNIDAD IIITcnicas de diseoHay tres tipos detcnicas, estas son:1. TOP DOWN (Diseodescendente): Consiste en tomar el problema inicial y descomponerlo en problemas ms pequeos, de solucin sencilla.2. BOTTON UP: Consiste en partir de los detalles ms precisos del algoritmo completando mdulos de mayor complejidad es inverso al anterior - .3. WARNIER ORR: Utiliza una representacin semejante a cuadros sinpticos para Mostar el funcionamiento yorganizacindel algoritmo.UNIDAD IVTcnicas para la formulacin de algoritmosHay dos tipos, estas son:*Estos no pueden ser ejecutados por una computadora

1. Diagramas de Flujo> se basan en la utilizacin desmbolospara representar lasacciones.2. Pseudo cdigo> Es un 1er borrador al igual que eldiagramade flujo.El pseudocdigosiempre utiliza"programacin estructurada"(conjunto de tcnicas ymtodospara disear y escribirprogramas)La programacin estructurada se basa en el teorema de la programacin estructurada, propuesto por Bohny y Jacopini, ellos dicen que"todo algoritmo puede ser escrito usando tres tipos deestructuras: Secuencial, Condicional o Repetitiva".Las especificaciones de la programacin estructurada son tres: Un solo punto de Entrada y Salida (E/S). Todas lasaccionesdeben seraccesibles. No posee ciclos o bucles infinitos.Para disear un algoritmo utilizando pseudo cdigo se emplean instrucciones en nuestro idioma.Adems para escribir este programa en pseudo cdigo se deben conocer un conjunto de instrucciones reglas que DEFINEN como COMBINAR las instrucciones.Algunas sentencias tienen equivalencia directa con los smbolos de los diagramas de flujo.Todo algoritmo necesita de un DATO (Expresin general que describe objetos con los cuales opera unacomputadora)Hay diferentesTipos de Datos, estos son: Numrico > Representan una cantidad unvalordeterminado, pueden ser enteros o reales. Alfanumrico > Representaninformacintextual ( no tiene valor) , pueden ser caracteres de tipo*Numrico (0, 1, 2,3...)*Alfabticos (A, B, C, a, b, c)*Especiales (+,-,*, /, < >, $) Lgicos Booleano > pueden tomar dos valores, Verdadero o Falso, Sirve para representar alternativas a determinadas condiciones.Estructuras de DatosEs una coleccin dedatosorganizados particularmente que se utilizan para la resolucin de problemas.Hay dos tipos de estructuras de datos:1. Se divide en dos tipos: Simples*Constantes: Representa una zona dememoriaen la cual se almacena un dato. El dato no puede ser modificado. Su forma:Definicin: nombre/tipo de dato. Estas simplifican la programacin.*Variables: Representa una zona de memoria en donde podemos hacer que el contenido "vare".Su forma:Definicin: nombre/tipo de dato Compuestas:se utilizan en*Registros*Arreglos*Estructuras de Archivos1. Dinmicas> Utilizan una cantidad variable de memoria, esta puede aumentar o disminuir mientras se ejecute el algoritmo. Se utilizan en*Punteros*Variable de Cadena de caracteres de longitud variableUNIDAD VOPERADORES> Smbolo que determina qu tipo de operacin se va a realizar entre los "operandos"Se clasifican en:. Aritmticos > Permiten clculos aritmticos, utilizan operandos y resultados numricos {+,-,*, /, DIV, MOD, ^, ABS ( ), TRUNC ( ), REDOND ( )}.. Relacionales > Permiten realizar comparaciones de valores de tipo numrico carcter. Los resultados son lgicos {, =, =, < >}.. Lgicos > Permiten la combinacin de condiciones para formar una sola expresinlgica. Utilizan operandos y resultados lgicos {-, ^, v}.ASIGNACIN> Permite darle valores a una variable.Se representa por el smbolo :=*No podemos usar variables/constantes que no estn definidasEl formato de la Asignacin es: VARIABLE:=EXPRESINDondeExpresines la Combinacin de variables, constantes y operadores que representan una o un conjunto deoperacionesque devuelven un resultado.EJ. Z:= X*Pi + 2*(X-Y)Entrada/Salida de informacin (E/S)La mayora de los programas requiere de un cierto grado deinteraccincon los usuarios. Si un algoritmo no interacta con el usuario (no permite que ingrese o vea datos),suutilidades muy poca.Operaciones de E/S > Nos permiten ingresar o leer datos.. Datos de Entrada: Dispositivos de entrada.Teclado, unidades de disco, etc.. Datos de Salida: Dispositivos de Salida. Pantalla,impresora, etc.Hay dos tipos de sentencias, una nos permite la entrada de datos y la otra es la salida de datos. Estas son:. Sentencia Leer ( ) Entrada de Datos > Dentro del ( ) se coloca el nombre de las variables que almacenaran los datos de entrada. Tambin se la conoce como "Asignacin Externa" ya que modifica el valor de las variables involucradas.. Sentencia Escribir ( ) Salida de Datos > Dentro de ( ) se escriben los datos de salida, pueden ser*Cadenas deTexto(T)*Nombres de Variables (V)*Nombres de Constantes (C)Cada elemento de salida debe estar separado por comasEj. ("T", V, C)UNIDAD VILaEstructuradel algoritmo es la siguiente:Accin (nombre de laaccin) es- Ambiente(Declaracin de variables)(Declaracin de constantes)- Algoritmo(Sentencias del programa)Fin AccinDentro del algoritmo hay dos secciones, estas son:1. Ambiente> Seccin declarativa. Se declaran todas las estructuras de datos que utilizaremos en el algoritmo.1. Algoritmo >Incluiremos aqu todas las "acciones" tendientes a resolver problemas. Solamente se usaran aqu las estructuras de datos DECLARADAS en elambiente.Teorema de la Programacin Estructurada"Todo algoritmo estructurado puede ser escrito por tres tipos de estructuras decontrol"Estructuras de Control. Secuencial > Las acciones se suceden una a continuacin de la siguiente. Tiene una entrada y una salida. Nunca se ejecuta ms de una accin por vez.. Condicional > Se evala una condicin y enfuncindel resultado de la misma se realiza una operacin u otra*Simples (SI-Entonces)> Ejecuta una accin cuando se cumple la condicin.*Alternativas (Si- Entonces-sino)> Ejecuta una/s accin/es cuando se cumple la condicin. Caso contrario (condicin falsa) ejecuta otra/s accin/es.*Mltiples (SEGN)> Permite ejecutar una sentencia segn el valor de una variable.. Repetitivas > Repiten una secuencia un Nmero de veces (Bucles) y al hecho de repetir la ejecucin de una secuencia de acciones (Iteracin).Estas son:*Estructura MIENTRAS> Permite ejecutar una sentencia "mientras" se cumpla la condicin (booleana o lgica). Es importante que la condicin sea falsa en algn momento para que no se genere un"ciclo infinito".*Estructura REPETIR> Permite ejecutar la sentencia "hasta que" cumpla la condicin (booleana o lgica). Es importante que la condicin sea verdadera en algn momento para que no se genere un"ciclo infinito".*Estructura PARA> Permite ejecutar una sentencia un nmero especifico de veces. Las sentencias se ejecutan dentro del "bucle". Comienza con un Valor inicial hasta llegar a un valor final.