domingo, 3 de septiembre de 2017

Algoritmo para calcular el costo de un terreno

Respuesta al ejercicio del diseño de un algoritmo para calcular el costo de un terreno con forma rectangular.

Algoritmo CostoTerreno
      Clase  Terreno
            1.-Metodo principal
                  a)Declaraciones
                        Variables
                              l_rectangulo:Real
                              a_rectuangulo:Real
                              area_rectangulo:Real
                              precio_metro:Real
                              precio_total:Real
                  b)Solicitamos "Escriba la longitud del terreno"
                  c)leer l_rectangulo
                  d)Solicitamos "Escriba la altura del terreno"
                  e)leer a_rectangulo
                  f)Solicitamos "Escriba el precio por metro cuadrado del terreno"
                  g)leer precio_metro
                  h)Calcular area_rectangulo = l_rectangulo * a_rectangulo
                  i)Calcular precio_total = area_rectangulo*precio_metro
                  j)imprimir "El valor del terreno con un area de "+area_rectangulo+" metros cuadrados es                                        de "+precio_total+" pesos Mexicanos."
                  k)fin del Metodo principal
      Fin Clase Terreno
FIN

Algoritmo para calcular el area de un triangulo


Ejercicio de realizar un algoritmo para calcular el Area de un triangulo donde la base tenga siempre el valor de 5.


Algoritmo Area_triangulo
       Clase Triangulo
            1.-Metodo principal
                  a)Declaraciones
                        Variables
                              Altura_tri:Real
                              Area_tri:Real
                        Constantes
                              base: Entero = 5;
                  b) Solicitamos "Escribe la altura del triangulo.
                  c)leer Altura_tri
                  d)Calcular Area_tri = (base * Altura_tri)/2
                  e)Imprimir "El area del triangulo con base de 5mts y altura de"+Altura_tri+"mts es de                             "+Area_tri+" mts cuadrados."
                  f)fin del método principal
      Fin Clase Triangulo
FIN

Ejemplos de Diagramas de flujo




Una vez entendidos los elementos que se pueden utilizar en los diagramas de flujo, es importante verlos en acción para tener un entendimiento mas completo de su utilización, por esta razón muestro aquí 3 diagramas de flujo de diferentes procesos con una pequeña descripción.

1.-Un ejemplo sencillo es el siguiente diagrama mostrando el proceso para hervir un huevo




2.- Diagrama para solucionar el mal funcionamiento de una lampara




3.-El siguiente Diagrama muestra un proceso enfocado mas a la programación en lugar de una representación de una acción




REFERENCIAS

https://www.aprenderaprogramar.com/index.php?option=com_content&view=article&id=309:normas-o-reglas-para-la-creacion-de-diagramas-de-flujos-ejemplos-y-ejercicios-resueltos-cu00139a&catid=28&Itemid=59

http://www.areatecnologia.com/diagramas-de-flujo.htm





Diagramas de flujo en la Programación

        Como fue descrito en una de los posts anteriores, el proceso de programación tiene varias etapas, todas de igual importancia, en las cuales se define el correcto análisis del problema y diseño de la solución. Los diagramas de flujo son muy importantes en la etapa de diseño de la solución pues es una herramienta que nos ayudara a definir la secuencia del algoritmo que utilizaremos para conseguir la solución (o solucione) del problema, al igual que poder visualizar posibles errores o riesgos.

         Los Elementos de un diagrama de flujo que se pueden utilizar para representar un programa computacional son los siguientes:




                      
Terminal. Indica comienzo o final de un programa, subprograma o módulo.



                  
 Captura y emisión de datos. Entrada o salida de información desde o hacia el                                                             ordenador.


                     
Proceso. Cualquier proceso interno realizado por el ordenador como asignación de                                                         valor a variables, operaciones matemáticas, etc.


      
Decisión múltiple. El dato o condición planteada presenta distintas alternativas (casos), 
siguiendo el programa distinta vía en función del caso.



                   
Conector. Indica a través de una referencia  (número, letra o texto) dónde debe continuar
 un diagrama de flujo que se interrumpe.


                 
Módulo independiente. Recibe distintos nombres como subprograma, subrutina, proceso, procedimiento, etc. Al llegar a esta llamada el programa pasa a ejecutar todas las instrucciones contenidas en la subrutina para una vez terminadas continuar el flujo.




REFERENCIAS

https://www.aprenderaprogramar.com/index.php?option=com_content&view=article&id=305:concepto-de-diagramas-de-flujo-para-representar-programas-simbolos-basicos-y-ejemplos-cu00138a&catid=28&Itemid=59


Algoritmo 2: Ponerse zapatos

Segundo ejemplo de Algoritmo de vida cotidiana

Algoritmo CALZADO
     Clase PonerseZapato
          1.-Método principal
               a)Encontrar par de zapatos pertenecientes mutuamente
               b)Tomar zapato izquierdo
               c)aflojar las agujetas del zapato
               d)jalar lengueta del zapato
               e)insertar empeine del pie perteneciente al mismo lado del zapato dentro del zapato.
               f)insertar que entre completamente el pie al zapato
               g)jalar agujetas de la parte inferior del zapato para apretar el zapato sobre el pie
               h)jalar la parte superior de las agujetas para apretar el zapato de manera justa sobre el pie
               i)tomar las dos agujetas y generar un nudo.
               j)tomar zapato derecho
               k)repetir los pasos "c" a "i"
               l)fin del Método principal
     Fin Clase PonerseZapato
FIN

Algortimo 1: Lavar platos


En esta entrada les mostrare como se ve la disección de un proceso para la generación de un algoritmo, para este ejemplo elegí diseccionar la acción de lavar platos.

Algoritmo HIGYENE
      Clase  LavarPlatos
            1.- Metodo principal
                   a)Revisamos que tengamos jabón para lavar, de no haber conseguimos
                   b)Ponemos jabon en recipiente con agua
                   c)Colocamos esponja para platos en en recipiente hasta empaparse
                   d)Repetir: expirmir esponja sobre el recipiente con agua y jabon hasta que que no haya                            exceso de agua
                   e)Tomar un plato con suciedad
                   f)Repetir: restregar esponja a los platos hasta eliminar grasa y suciedad
                   g)poner plato limpio en un escurridor.
                   h) De haber mas platos sucios, regresar al paso "d", de lo contrario seguir al siguiente                              paso.
                   i)Fin del método principal
           Fin de Clase LavarPlatos
FIN

Etapas de la Programación

El diseño y desarrollo de una aplicación no es una tarea sencilla pues incluye una tarea extenuante análisis previo al diseño de la aplicación solución. Esto e necesario pues de tener un mal entendimiento del problema la solución probablemente resolverá solo una parte del problema y no el problema completo. la programación no inicia solamente desde el proceso de desarrollo de una solución, pero desde la plantación y las correcciones que debemos realizar los programadores para crea la solución optima al problema. por estas razones es importante tener un proceso sobre como se debe programar.

Las etapas de la programación son las siguientes:


  1. DEFINICIÓN DEL PROBLEMA
    Está dada en sí por el enunciado del problema, el cual debe ser claro y complejo. Es importante que conozcamos exactamente "que se desea obtener al final del proceso";mientras esto no se comprenda no puede pasarse a la siguiente etapa.
  2. ANÁLISIS DE DATOS
    Para poder definir con precisión el problema se requiere que las especificaciones de entrada y salida sean descritas con detalle ya que esto es un requisito para lograr una solución eficaz.
  3. CODIFICACIÓN
    Se refiere a la obtención de un programa definitivo que pueda ser comprensible para la máquina. Incluye una etapa que se reconoce como compilación.
  4. PRUEBA Y DEPURACIÓN
    Una vez que se ha obtenido el programa ejecutable, este es sometido a prueba a fin de determinar si resuelve o no el problema planteado en forma satisfactoria.
  5. DISEÑO DE LA SOLUCIÓN
    Una computadora no tiene capacidad para solucionar problemas más que cuando se le proporcionan los sucesivos pasos a realizar, esto se refiere a la obtención de un algoritmo que resuelva adecuadamente el problema. En caso de obtenerse varios algoritmos, seleccionar uno de ellos utilizando criterios ya conocidos y obtener la que funcione de manera mas eficiente a lo que se desea.
  6. DOCUMENTACIÓN
    Debido a que el programa resultante esta etapa se encuentra totalmente depurado (sin errores), se procede a la utilización para resolver problemas del tipo que dio origen a su diseño.
  7. MANTENIMIENTO
    Se refiere a las actualizaciones que deban aplicarse al programa cuando las circunstancias así lo requieran. Este programa deberá ser susceptible de ser modificado para adecuarlo a nuevas condiciones de operación.

Referencias

http://www.galeon.com/neoprogramadores/fasesprg.htm

Características de un Algoritmo


Las características de un Algoritmo son las siguientes:


  • Preciso: cada instrucción tiene que ser clara y determinada a una acción 
  • Definido: por que debe obtenerse los resultados determinados con las instrucciones de entrada, no puede existir un falta de respuesta al problema teniendo todos los valores de las variables. 
  • Finito: por que su diseño debe tener un numero limitado en cuanto a los pasos, de igual manera un algoritmos debe tener bien definido el numero de posibles resultados que podrá otorgar de salida.
  • Ordenado: por que tienen una secuencia de pasos, esto no solo incluye el hecho de que el proceso de la solución debe llevar un orden, sino que de igual manera debe ser legible para poder ser comprendido y utilizado (o modificado) eficientemente.
Referencias

https://prezi.com/sf8qawzyst9j/algoritmo-computacional-y-no-computacional/

https://aulatec.wordpress.com/caracteristicas-y-propiedades-de-los-algoritmos/


¿Que es un Algritmo?

En esta entrada revisaremos el concepto que es parte de los cimentos de las programación, el concepto de algoritmo. Un algoritmo es en esencia una formula que contiene un proceso cerrado y preciso que nos dará un resultado sobre un problema determinado; al menos ese es el concepto coloquial que manejo. A continuación mostrare 3 definiciones diferentes del concepto para atribuir mas entendimiento al concepto.

1.- los algoritmos son una serie de normas o leyes específicas que hace posible la ejecución de actividades, cumpliendo una serie de pasos continuos que no le originen dudas a la persona que realice dicha actividad. Los algoritmos se pueden expresar de diversas formas: lenguaje natural, lenguaje de programación, pseudocodigo y diagramas de flujo.

2.-Un algoritmo se puede definir como una secuencia de instrucciones que representan un modelo de solución para determinado tipo de problemas. O bien como un conjunto de instrucciones que realizadas en orden conducen a obtener la solución de un problema.

3.-Un algoritmo es un procedimiento esquemático que comprende un conjunto de pasos secuenciales ordenados, para realizar una actividad especifica


Referencias

http://ing.unne.edu.ar/pub/informatica/Alg_diag.pdf

http://conceptodefinicion.de/algoritmo/

https://prezi.com/sf8qawzyst9j/algoritmo-computacional-y-no-computacional/