Descargar

Conceptos de algoritmos (página 2)

Enviado por Santiago Conti


Partes: 1, 2

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.
  2. Diseño del sistema: Establecer que tipo de metodología usaremos para solucionar el problema (Ej. Top down o Botton up).

    Cuando se compila el algoritmo, hay un "antes" y un "después"

    • Antes > Programa Fuente (lenguaje de programación).
    • Después > Programa ejecutable (lenguaje de maquina).
  3. Codificación: Es la etapa en donde se escribe el algoritmo en un lenguaje de programación.
  4. Prueba y depuración: Se realizan pruebas para verificar el funcionamiento del programa, se prueba con valores válidos y con no válidos para ver como se comporta y corregir si es necesario.
  5. Documentación y Mantenimiento: Se basa en la instalación, funcionamiento y características del programa. Permite corregir errores o modificar el programa (estos cambios son el mantenimiento del programa).

Hay dos tipos de documentación, estas son:

  • Interna > viene dentro del programa (Ej. Readme, características operativas)
  • Externa > Viene fuera del programa, diagramas de flujo, manuales de usuario, consejos de uso, etc.

UNIDAD III

Técnicas de diseño

Hay tres tipos de técnicas, estas son:

  1. TOP DOWN (Diseño descendente): Consiste en tomar el problema inicial y descomponerlo en problemas más pequeños, de solución sencilla.
  2. BOTTON UP: Consiste en partir de los detalles más precisos del algoritmo completando módulos de mayor complejidad – es inverso al anterior – .
  3. WARNIER ORR: Utiliza una representación semejante a cuadros sinópticos para Mostar el funcionamiento y organización del algoritmo.

UNIDAD IV

Técnicas para la formulación de algoritmos

Hay dos tipos, estas son:

*Estos no pueden ser ejecutados por una computadora

  1. Diagramas de Flujo > se basan en la utilización de símbolos para representar las acciones.
  2. Pseudo código > Es un 1er borrador al igual que el diagrama de flujo.

El pseudo código siempre utiliza "programación estructurada"(conjunto de técnicas y métodos para diseñar y escribir programas)

La programación estructurada se basa en el teorema de la programación estructurada, propuesto por Bohny y Jacopini, ellos dicen que "todo algoritmo puede ser escrito usando tres tipos de estructuras: Secuencial, Condicional o Repetitiva".

Las especificaciones de la programación estructurada son tres:

  • Un solo punto de Entrada y Salida (E/S).
  • Todas las acciones deben ser accesibles.
  • No posee ciclos o bucles infinitos.

Para diseñar un algoritmo utilizando pseudo código se emplean instrucciones en nuestro idioma.

Además para escribir este programa en pseudo código se deben conocer un conjunto de instrucciones reglas que DEFINEN como COMBINAR las instrucciones.

Algunas sentencias tienen equivalencia directa con los símbolos de los diagramas de flujo.

Todo algoritmo necesita de un DATO (Expresión general que describe objetos con los cuales opera una computadora)

Hay diferentes Tipos de Datos, estos son:

  • Numérico > Representan una cantidad ó un valor determinado, pueden ser enteros o reales.
  • Alfanumérico > Representan información textual ( no tiene valor) , pueden ser caracteres de tipo

*Numérico (0, 1, 2,3…)

*Alfabéticos (A, B, C, a, b, c)

*Especiales (+,-,*, /, < >, $)

  • Lógicos ó Booleano > pueden tomar dos valores, Verdadero o Falso, Sirve para representar alternativas a determinadas condiciones.

Estructuras de Datos

Es una colección de datos organizados particularmente que se utilizan para la resolución de problemas.

Hay dos tipos de estructuras de datos:

  1. Se divide en dos tipos:

    • Simples

    *Constantes: Representa una zona de memoria en la cual se almacena un dato. El dato no puede ser modificado. Su forma:

    Definición: nombre/tipo de dato. Estas simplifican la programación.

    *Variables: Representa una zona de memoria en donde podemos hacer que el contenido "varíe". Su forma:

    Definición: nombre/tipo de dato

    • Compuestas: se utilizan en

    *Registros

    *Arreglos

    *Estructuras de Archivos

    1. Dinámicas > 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 variable

    UNIDAD V

    OPERADORES > Símbolo que determina qué tipo de operación se va a realizar entre los "operandos"

    Se clasifican en:

    • Aritméticos > Permiten cálculos aritméticos, utilizan operandos y resultados numéricos {+,-,*, /, DIV, MOD, ^, ABS ( ), TRUNC ( ), REDOND ( )}.
    • Relacionales > Permiten realizar comparaciones de valores de tipo numérico ó carácter. Los resultados son lógicos {<, >, =, <=, >=, < >}.
    • Lógicos > Permiten la combinación de condiciones para formar una sola expresión lógica. Utilizan operandos y resultados lógicos {-, ^, v}.

    ASIGNACIÓN > Permite darle valores a una variable.

    Se representa por el símbolo ‘:=’

    *No podemos usar variables/constantes que no estén definidas

    El formato de la Asignación es: VARIABLE:=EXPRESIÓN

    Donde Expresión es la Combinación de variables, constantes y operadores que representan una o un conjunto de operaciones que devuelven un resultado.

    EJ. Z:= X*Pi + 2*(X-Y)

    Entrada/Salida de información (E/S)

    La mayoría de los programas requiere de un cierto grado de interacción con los usuarios. Si un algoritmo no interactúa con el usuario (no permite que ingrese o vea datos), su utilidad es 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. También se la conoce como "Asignación 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 de Texto (T)

    *Nombres de Variables (V)

    *Nombres de Constantes (C)

    Cada elemento de salida debe estar separado por comas

    Ej. ("T", V, C)

    UNIDAD VI

    La Estructura del algoritmo es la siguiente:

    Acción (nombre de la acción) es

    – Ambiente

    (Declaración de variables)

    (Declaración de constantes)

    – Algoritmo

    (Sentencias del programa)

    Fin Acción

    Dentro del algoritmo hay dos secciones, estas son:

    1. Ambiente > Sección declarativa. Se declaran todas las estructuras de datos que utilizaremos en el algoritmo.
    2. Algoritmo > Incluiremos aquí todas las "acciones" tendientes a resolver problemas. Solamente se usaran aquí las estructuras de datos DECLARADAS en el ambiente.

    Teorema de la Programación Estructurada

    "Todo algoritmo estructurado puede ser escrito por tres tipos de estructuras de control"

    Estructuras de Control

    • Secuencial > Las acciones se suceden una a continuación de la siguiente. Tiene una entrada y una salida. Nunca se ejecuta más de una acción por vez.
    • Condicional > Se evalúa una condición y en función del resultado de la misma se realiza una operación u otra

    *Simples (SI-Entonces) > Ejecuta una acción cuando se cumple la condición.

    *Alternativas (Si- Entonces-sino) > Ejecuta una/s acción/es cuando se cumple la condición. Caso contrario (condición falsa) ejecuta otra/s acción/es.

    *Múltiples (SEGÚN) > Permite ejecutar una sentencia según el valor de una variable.

    • Repetitivas > Repiten una secuencia un Número de veces (Bucles) y al hecho de repetir la ejecución de una secuencia de acciones (Iteración).

    Estas son:

    *Estructura MIENTRAS > Permite ejecutar una sentencia "mientras" se cumpla la condición (booleana o lógica). Es importante que la condición sea falsa en algún momento para que no se genere un "ciclo infinito".

    *Estructura REPETIR > Permite ejecutar la sentencia "hasta que" cumpla la condición (booleana o lógica). Es importante que la condición sea verdadera en algún momento para que no se genere un "ciclo infinito".

    *Estructura PARA > Permite ejecutar una sentencia un número especifico de veces. Las sentencias se ejecutan dentro del "bucle". Comienza con un Valor inicial hasta llegar a un valor final.

     

     

     

    Autor:

    Santiago Conti

  2. Estáticas > Utilizan una cantidad fija de memoria para almacenar datos. Esta capacidad no puede variar mientras se ejecuta el algoritmo.
Partes: 1, 2
 Página anterior Volver al principio del trabajoPágina siguiente