domingo, 1 de mayo de 2011

Algoritmos, Diagramas de Flujos, Pseudocódigos Y Estructuras Logicas

ALGORITMO

La palabra algoritmo se deriva de la traducción al latín de la palabra árabe alkhowarizmi, nombre de un matemático y astrónomo árabe que escribió un tratado sobre manipulación de números y ecuaciones en el siglo IX.
Un algoritmo es una serie de pasos organizados o instrucciones  que describe el proceso que se debe seguir, para dar solución a un problema específico.
No podemos apartar nuestra vida de los algoritmos. Sin darnos cuenta nuestra vida cotidiana está llena de ellos. Pero de alguna forma se hacen transparente.
Ejemplo de algoritmos cuando nos levantamos todos los días para ir a nuestro trabajo u lugar donde estudiamos,  hacemos un conjunto de pasos antes de llegar a nuestros trabajos.
ALGORITMOS EN PROGRAMACIÓN
  • Secuencia ordenada de pasos, acciones o instrucciones que se debe ejecutar para realizar una tarea o para resolver un problema.
  • Es expresado en lenguaje natural utilizando herramientas estandarizadas.
CARACTERISTICAS DE UN ALGORITMO
  • PRECISO: El algoritmo  debe indicar el orden en que se debe realizar cada paso.
  • FINITO: El algoritmo tiene un numero finito de pasos y debe terminar en algún momento.
  • BIEN DEFINIDO: Si el algoritmo se prueba dos veces con los mismos datos de entrada, se debe obtener el mismo resultado.
PARTES DEL ALGORITMO

Todo algoritmo debe obedecer a la estructura básica de un sistema, es decir: entrada, proceso y salida. Donde: 
·         Entrada: Corresponde al insumo, a los datos necesarios que requiere el proceso para ofrecer los resultados esperados. 
·         Proceso: Pasos necesarios para obtener la solución del problema o la situación planteada.
·         Salida: Resultados arrojados por el proceso como solución. 

TECNICA DE PROGRAMACION ESTRUCTURADA

  • Diseño Modular ( Top-down ): En problemas grandes y complejos: dividir el problema   en  subproblemas y diseñar un subprograma  para   resolver cada uno de ellos.
  • Descomposición del programa en recursos abstractos: Descompone una accion compleja en acciones simples capaces de ser ejecutadas por un computador.
  • Estructuras de control básicas: Un programa se escribe utilizando 3 estructuras de control: EC Secuencias, EC Selectivas. EC Repetitivas.
TIPOS DE ALGORITMOS
 Existen dos tipos y son llamados así por su naturaleza:
  • Cualitativos: Son aquellos en los que se describen los pasos utilizando sólo palabras. Es decir, en sus pasos o instrucciones para resolver un problema no están involucrados cálculos numéricos. Ejemplos: instrucciones para armar un aeromodelo,  desarrollar una actividad física o encontrar un tesoro, cursar una carrera a nivel superior, tejer un suéter entre otros.
  • Cuantitativos: Son aquellos en los que se utilizan cálculos numéricos para definir los pasos del proceso. Ejemplos: Calcular el factorial de un numero, solución de la ecuación de segundo grado, encontrar el mínimo común múltiplo entre otros.
LENGUAJES ALGORITMICOS
Un Lenguaje algorítmico es una serie de símbolos y reglas que se utilizan para describir de manera explícita un proceso.  Entre ellos se encuentran: Gráficos y no gráficos.

TIPOS DE LENGUAJES ALGORITMICOS
  • Gráficos: Es la repesentación gráfica de las operaciones que realiza un algoritmo (diagrama de flujo).
  • No Gráficos: Representa en forma descriptiva las operaciones que debe realizar un algoritmo (pseudocodigo).
            
    INICIO
       Edad: Entero
       ESCRIBA “cual es tu edad?”
       Lea Edad
       SI Edad >=18 entonces
          ESCRIBA “Eres mayor de Edad”
       FINSI
       ESCRIBA “fin del algoritmo”



           FIN 
HERRAMIENTAS PARA LA REPRESENTACION DE ALGORITMOS
Para representar los algoritmos en forma estandarizada, existen herramientas como:
  • El diagrama de flujo (DF) o Flowchart es una de las técnicas de representación de algoritmos más antigua, y consiste en representar mediante símbolos las operaciones a realizar. Por ejemplo: el inicio y el fin del algoritmo se representan con un símbolo elíptico, las entradas y salidas con un paralelogramo, las decisiones con un rombo, los procesos con un rectángulo, etc. Los Diagramas de flujo se dibujan generalmente usando algunos símbolos estándares; sin embargo, algunos símbolos especiales pueden también ser desarrollados cuando sean requeridos. Algunos símbolos son:
  • Pseudocódigo:  Es una herramienta de programación en la que las instrucciones se describen en palabras similares al inglés o español, que facilita tanto la escritura como la lectura de los programas de computación. Lenguaje de especificación (palabras reservadas) en lenguaje natural.
 VENTAJAS DE UTILIZAR UN PSEUDOCÓDIGO A UN DIAGRAMA DE FLUJO
·         Ocupa menos espacio en una hoja de papel.
·         Permite representar en forma fácil operaciones repetitivas complejas.
·         Es muy fácil pasar de Pseudocódigo a un programa en algún lenguaje de programación.
·         Si se siguen las reglas se puede observar claramente los niveles que tiene cada operación.
Ejemplo de algoritmo cualitativo
"Tengo un teléfono y necesito llamar a alguien pero no sé cómo hacerlo"
Ejemplo de algoritmo cualitativo.
El algoritmo que permita conocer el área de un triángulo a partir de la base y la altura.


                                  ESTRUCTURAS LOGICAS
También llamadas estructuras de control por algunos autores. Son aquellas que le  permiten a un usuario ejecutar tareas que a la final le permiten dar solución a  problemas que se quieran resolver usando microcomputadoras. 
En general se puede decir que las estructuras de programación son herramientas que el lenguaje le provee al usuario para solucionar problemas haciendo uso de computadoras.
Las estructuras de programación que tienen la mayoría de los lenguajes son cuatro así:

Estructuras de Asignación: Esta estructura se conoce también como sentencia en algunos  lenguajes estructurados. Las estructuras de asignación, son utilizadas en el cuerpo de programa, procedimientos esclavos o funciones. 

Una estructura de este tipo consiste en la asignación de una expresión a un identificador (comúnmente llamado variable)  válido en un lenguaje de programación. La parte de esta estructura solamente puede estar ocupada por una variable. 
Toda variable, literal o constante aparecerá formando la expresión al lado derecho.

Estructuras de Decisión: Cuando el programador desea especificar dos caminos alternativos en un algoritmo se deben utilizar estructuras de decisión.
Estructuras Cíclicas: Los procesos repetitivos son la base del uso de las computadoras. En estos procesos se necesita normalmente contar los sucesos, acciones o tareas internas del ciclo. Una estructura cíclica o estructura repetitiva es aquella que le permite al programador repetir un conjunto o bloque de instrucciones un número determinado de veces mientras una condición dada sea cierta o hasta que una condición dada sea cierta.

Se debe establecer un mecanismo para terminar las tareas repetitivas. Dicho mecanismo es un control que se evalúa cada vez que se realiza un ciclo. La condición que sirve de control puede ser verificada antes o después de ejecutarse el conjunto de instrucciones o sentencias. En caso de que la verificación o evaluación resulte verdadera se repite el ciclo o  caso de ser falsa lo terminará.
Estructuras de Selección múltiple: Aunque el bloque if-else puede resolver múltiples comparaciones escalonadas, su uso puede ser engorroso y producir errores cuando las comparaciones son numerosas. El bloque switch permite un código mas compacto y de mayor claridad interpretativa.

2 comentarios:

  1. fun88 no deposit bonus codes 2021 - Vie Casino
    fun88 no deposit bonus codes 2021. We have a lot of leovegas good bonuses for you! Sign up and get free spins on dafabet the most popular fun88 soikeotot casino games.

    ResponderEliminar
  2. El Yucateco Casino Resort - Mapyro
    El Yucateco, in 대전광역 출장샵 Redding, California, is one of 동두천 출장안마 the hottest chiles on the 거제 출장샵 West Coast. It's the hottest chiles on the entire 화성 출장마사지 El Yucateco Hot Sauce. Rating: 4.7 · ‎7 reviews · 통영 출장안마 ‎Price range: $$$$

    ResponderEliminar