miércoles, 29 de julio de 2015

ALGORITMO

QUE ES UN ALGORITMO


Un Algoritmo es una serie ordenada de instrucciones, pasos o procesos que llevan a la solución de un determinado problema. Los hay tan sencillos y cotidianos como seguir la receta del médico, abrir una puerta, lavarse las manos, etc; hasta los que conducen a la solución de problemas muy complejos.
Los Algoritmos permiten describir claramente una serie de instrucciones que debe realizar el computador para lograr un resultado previsible. Vale la pena recordar que un procedimiento de computador consiste de una serie de instrucciones muy precisas y escritas en un lenguaje de programación que el computador entienda, en este curso utilizaremos el entorno de desarrollo de Scratch para programar nuestros algoritmos.
En la naturaleza hay muchos procesos que puedes considerar como Algoritmos ya que tienen procedimientos y reglas. Incluso, muchas veces no somos conscientes de ellos.Por ejemplo, el proceso digestivo es un concepto de algoritmo con el que convivimos a diario sin que nos haga falta una definición precisa de este proceso. El hecho de que conozcamos cómo funciona el sistema digestivo, no implica que los alimentos que consumimos nos alimenten más o menos. La familiaridad de lo que sucede día a día nos impide ver muchos algoritmos que pasan a nuestro alrededor. Procesos naturales como la gestación, las estaciones, la circulación sanguínea, los ciclos planetarios, etc, son algoritmos naturales quegeneralmente pasan desapercibidos.

PASOS PARA REALIZAR ALGORITMOS

  1. Análisis previo del Problema: Se debe realizar un análisis del funcionamiento del problema antes que se realice cualquier algoritmo.
  2. Definición de Requerimientos: Los problemas a solucionar, esto es, por ejemplo, el sumar dos números, multiplicar dos matrices, ordenar una lista de números, generar un reporte, etc.
  3. Identificación de los Módulos: La identificación de los módulos es tan importante como la identificación correcta de los requerimientos, esto porque la correcta identificación de los módulos simplifica considerablemente la realización de los algoritmos que darán solución a los requerimientos identificados en el paso anterior.
  4. Realización de los Algoritmos: El algoritmo deberá cumplir con las características que se indicaron para posteriormente implementarse en un lenguaje de programación comprensible por una computadora.
  5. Implementación de los Algoritmos: La implementación de los algoritmos se debe realizar en un lenguaje de programación para que una computadora pueda comprender las instrucciones que el algoritmo modela para así poder ejecutarlas y lograr el resultado esperado.

Lenguajes Algoritmicos


Hasta este momento todo lo que hemos visto es prácticamente teoría, llegó la hora de plasmar nuestros algoritmos de alguna forma que sean claros para cualquier personaque necesite leerlos. Muchas veces los infotmáticos se saltan este paso y llegan directamente a la implementacion en algún lenguaje de programación; para ello se necesita tener mucha practica y memoria fotografica, ya que muchas veces se omiten pasos que a la hora de implementarlos en algún lenguaje producen que el programa no llege a la solucion que habiamos planteado como óptima.
De esta manera se han creado lenguajes que puedan representar nuestros algoritmos y que de esa manera se construya una solucion correcta sin omitir algunos pasos. Imaginense que si se desea crear un algoritmo para que un robot solde una pieza en una ensambladora de automóviles y la persona encargada de implementar el algoritmo olvida, por muy obvio que sea, comprobar si las piezas están en su lugar, obviamente podria terminar en tragedia.

Asi que la gente que se encarga de los estándares en cuanto a lo que se refiere a las tecnologías de la informacion vio la necesidad de representar algoritmos sin tener que referirse a un lenguaje de programación en específico.
Graficos
Este tipo de lenguaje tiende a representar a los algoritmos de una forma grafica. De esta manera se hace mas facil la representación de cada uno de los procesos que debe llevar a cabo una computadora para resolver problema.
Diagramas de Flujo
Sin lugar a duda el lenguaje algorítmico gráfico más común son los Diagramas de Flujo. Éstos pueden definirse como esquemas usados para representar gráficamente un proceso. Pero no sólo se utilizan para representar procesos informaticos, tambien en otras áreas como la economia, la administracion, procesos industriales, etc.
A continuacion explicaremos los símbolos más comunes que se utilizan en la informática para representar diagramas de flujo.

Existen otros simbolos más especificos para otro tipo de procesos, pero en su mayoria ya no se usan porque representaban procesos en dispositivos que hoy en día son obsoletos, como grabar en cinta magnética o leer una tarjeta perforada.
No graficos
Los lenguajes algoritmicos no graficos generalmente son utilizados para representar procesos informaticos ya mas especificos. Dicho de otra forma, para representar la codificacion de un programa sin la necesidad de conocer un lenguaje de programacion especifico.
Pseudocodigo
Sin lugar a duda, el pseudocodigo es el lenguaje algoritmico no grafico mas utilizado hasta la fecha. Cualquier persona que se diga que tiene experiencia como programador, alguna vez se ha visto en la necesidad de representar sus programas en pseudocodigo.
El pseudocodigo significa que vas a convertir tu algoritmo en un lenguaje escrito que se entienda sin utilizar la sintaxis y la gramatica de un lenguaje de programacion en especifico. Existen diferencias entre las normas de como debe realizarse correctamente un pseudocodigo debido a que, como no es necesariamente un lenguaje de programacion, debe adaprtarse a las necesidades del algoritmo en si; por eso varios autores definen su propia sintaxis y gramatica de forma diferente.
Datos
En un pseudocodigo los datos se dan por creados desde el momento en el que son utilizados, asi que no es necesario avisar que variables vamos a ocupar a lo largo de nuestro algoritmo, ni que tipo de datos es el que se va a almacenar dentro de él; pero, una ves que se a utilizado una variable para almacenar cierto tipo de dato debe seguir siendo usada para este tipo. Por ejemplo, si al inicio de nuestro pseudocodigo declaramos que vamos a usar una variable que llamaremos “A” y le asignamos un valor numérico entero como 8, la variable “A” en el resto del algoritmo deberá solamente poder alamacenar datos numéricos enteros.
ejemplo:
Veamos que algo tan común como los pasos para cambiar una bombilla (foco) se
pueden expresar en forma de Algoritmo:

  1. Ubicar una escalera o un banco debajo de la bombilla a cambiar
  2. Tomar una bombilla nueva
  3. Subir por la escalera o al banco
  4. Sujetar y girar la bombilla a cambiar hacia la izquierda hasta retirarla del plafón.
  5. Enroscar la bombilla nueva hacia la derecha en el plafón hasta apretarla.
  6. Bajar de la escalera o del banco
  7. Fin
Ejemplo:
Lavarnos los dientes es un procedimiento que realizamos varias veces al día. Veamos la forma de expresar este procedimiento como un Algoritmo:

1. Tomar la crema dental
2. Destapar la crema dental
3. Tomar el cepillo de dientes
4. Aplicar crema dental al cepillo
5. Tapar la crema dental
6. Abrir la llave del lavamanos
7. Remojar el cepillo con la crema dental
8. Cerrar la llave del lavamanos
9. Frotar los dientes con el cepillo
10. Abrir la llave del lavamanos
11. Enjuagarse la boca
12. Enjuagar el cepillo
13. Cerrar la llave del lavamanos
14. Secarse la cara y las manos con una toalla









PROBLEMA: Un estudiante se encuentra en su casa (durmiendo) y debe ir a la universidad (a tomar la clase de programación!!), ¿qué debe haga el estudiante?
ALGORITMO:
Inicio
Dormir 
haga 1 hasta que suene el despertador (o lo llame la mamá).
Mirar la hora.
¿Hay tiempo suficiente?

Si hay, entonces 
    Bañarse.
    Vestirse.
    Desayunar.

Sino, 
      Vestirse.
Cepillarse los dientes.
Despedirse de la mamá y el papá.
   ¿Hay tiempo suficiente?

Si, Caminar al paradero.
SinoCorrer al paradero.
Hasta que pase un bus para la universidad haga :
    Esperar el bus
    Ver a las demás personas que esperan un  bus.
Tomar el bus.

Mientras no llegue a la universidad haga 
    Seguir en el bus.
    Pelear mentalmente con el conductor.
Timbrar.
Bajarse.
Entrar a la universidad. 

Fin

ALGORITMO PARA HACER UNA LIMONADA.

  1. conseguir limones
  2. tener azucar a la mano
  3. un jarra de agua
  4. partir los limones
  5. con ayuda del exprimidor sacarle el jugo
  6. agregar el jugo al jarro de agua y agregar azucar al gusto

miércoles, 22 de julio de 2015

LA BIODIVERSIDAD

Porqué se celebra el día de la biodiversidad

Basada en todas las amenazas hacia la naturaleza, la ONU declaró el2010 como el Año Internacional de la Biodiversidad. Razón por la cual se está invitando a las personas, instituciones educativas y Gobiernos, a generar acciones que ayuden al Planeta, pero que sobretodo respeten la vida de las demás especies.
"Nuestras vidas dependen de la biodiversidad, especies y ecosistemas están desapareciendo a un ritmo insostenible, nosotros los humanos somos la causa. Las consecuencias para las economías y las personas serán profundas" aseguró Ban Ki Moon, Secretario General de las Naciones Unidas.
Pensemos por un momento ¿Si la Tierra sirve a los humanos, porque no devolverle estos favores con respeto? Aún estamos a tiempo de cambiar el ritmo de extinción de muchas especies, lo importante es entender que se trata de una labor conjunta entre la sociedad civil y los Gobiernos.


  • En qué fecha se celebra

La fecha que se celebra la biodiversidad es En el año 1994, la Asamblea de la Organización de las Naciones Unidas declaró el 22 de mayo como Día Mundial de la Diversidad Biológica al entrar en vigor el Convenio sobre este tema (PDF adjunto), sin embargo la gestión sobre este tema permanece mediada por intereses que van más allá del cuidado ambiental.

QUE ES LA BIODIVERSIDAD

El concepto se refiere a los diferentes lugares y formas de vida que existen sobre la Tierra, por lo tanto se define como el producto de un largo proceso de evolución, cuyo valor se concentra en el equilibrio que necesita el mundo para el sustento de la vida.
Entre la amplia gama de organismos vivos que constituyen la biodiversidad se encuentra el ser humano, quien se relaciona de diferentes formas con las demás especies y ecosistemas, de hecho su vida depende profundamente de ellos. Sin embargo, debido a sus prácticas inadecuadas se han visto afectadas tanto especies valiosas como ecosistemas enteros.