viernes, 16 de octubre de 2015

El Algoritmo y sus Componentes

El Algoritmo


Es un conjunto prescrito de instrucciones o reglas bien definidas, ordenadas y finitas que permite realizar una actividad mediante pasos sucesivos que no generen dudas a quien deba realizar dicha actividad. Dados un estado inicial y una entrada, siguiendo los pasos sucesivos se llega a un estado final y se obtiene una solución..

1.- Finitud. Un algoritmo debe terminar en un número finito de pasos-

2.- Definitividad. Cada paso del algoritmo debe definirse de modo preciso; las acciones a realizar deben de estar especificadas rigurosamente y sin ambigüedad para cada caso.

3.- Entrada. Un algoritmo tiene cero o más entradas. Esto es las cantidades de datos de inicio se generan en el mismo algoritmo o se conocen previamente.

4.- Salida.
 Un algoritmo tiene una o más salidas. Es decir, hay datos o cantidades al término del algoritmo que tiene una relación especifica con los datos o cantidades de entrada.

5.- Efectividad.
 El algoritmo debe de ser efectivo. Esto significa que todas las operaciones deben ser suficientemente sencillas para poder en principio ser realizadas de modo exacto y en un tiempo finito por un procesador.


El diseño de algoritmos es un método específico para poder crear un modelo matemático ajustado a un problema específico para resolverlo. El diseño de algoritmos es una teoría de la Investigación de operaciones.


Los algoritmos pueden ser expresados de muchas maneras, incluyendo al lenguaje natural, pseudocódigo, diagramas de flujo y lenguajes de programación entre otros. Las descripciones en lenguaje natural tienden a ser ambiguas y extensas. El usar pseudocódigo y diagramas de flujo evita muchas ambigüedades del lenguaje natural. Dichas expresiones son formas más estructuradas para representar algoritmos; no obstante, se mantienen independientes de un lenguaje de programación específico.
La descripción de un algoritmo usualmente se hace en tres niveles:

 1. Descripción de alto nivel. Se establece el problema, se selecciona un modelo matemático y se explica el algoritmo de manera verbal, posiblemente con ilustraciones y omitiendo detalles.
 2. Descripción formal. Se usa pseudocódigo para describir la secuencia de pasos que encuentran la solución.
 3. Implementación. Se muestra el algoritmo expresado en un lenguaje de programación específico o algún objeto capaz de llevar a cabo instrucciones.
También es posible incluir un teorema que demuestre que el algoritmo es correcto, un análisis de complejidad o ambos. 


Diagrama de flujo:

·         El diagrama de flujo o diagrama de actividades es la representación gráfica del algoritmo o proceso. Se utiliza en disciplinas como programación, economía, procesos industriales y psicología cognitiva.

·         El Pseudocódigo: es una descripción de alto nivel compacta e informal del principio operativo de un programa informático u otro algoritmo. Utiliza las convenciones estructurales de un lenguaje de programación real, pero está diseñado para la lectura humana en lugar de la lectura mediante máquina, y con independencia de cualquier otro lenguaje de programación.

Componentes del Algoritmo

Análisis de la estructura básica de la solución a un problema

·                     La Entrada:
Son todos los datos que hay que ingresar para la resolución del problema.
La entrada consiste en obtener un dato desde algún dispositivo de entrada y trasladarlo a la memoria para ser almacenada en una variable. En general, la entrada de una variable se escribe en el pseudocódigo de la siguiente forma:

Para leer la edad:




·                     El proceso:
Son los diferentes procedimientos en los cuales usare los datos proporcionados por el usuario en el paso anterior para resolver el problema. 


·                     La salida:
La resolución del problema.
La salida consiste en trasladar a algún dispositivo de salida el valor de una variable. En general, la salida de una variable a la pantalla se escribe en el pseudocódigo de la siguiente forma:

Imprimir variable
imprimir sueldo
r

  • Resuelve el siguiente algoritmo 


  1. Escriba un programa que calcule el promedio de 4 notas ingresadas por el usuario.
  2. Se necesita obtener el promedio simple de un estudiante a partir de sus tres notas parciales.

Estructura de datos


Estructura de datos

¿Que son las constantes de un algoritmo?

 Resp: 
Una constante es un dato numérico o alfanumérico que no cambia durante todo el desarrollo del algoritmo o durante la ejecución del programa. Es un objeto de valor invariable.  Para expresar una constante se escribe explícitamente su valor.
Ejemplo:
a) PI = 3.1416
b) E = 2.718228
c) IVA = 0.13

2. ¿En qué consisten las variables de un algoritmo?
       R: Son zonas de memoria cuyo contenido cambia durante la fase de procesamiento de información. 
Ejemplo:
a.) Nombre = "Manuel López"

b.) Valor Verdadero ó 1

C.) Valor Falso ò 0

3. Los diversos tipos de datos:

·                     Datos Numéricos: Permiten representar valores escalares de forma numérica, esto incluye a los números enteros y los reales. Este tipo de datos permiten realizar operaciones aritméticas comunes.
                  Año...: 2006
·                      Datos Lógicos: Son aquellos que solo pueden tener dos valores (cierto o falso) ya que representan el resultado de una comparación entre otros datos (numéricos o alfanuméricos).
·                     Datos Alfanuméricos: Es una secuencia de caracteres alfanuméricos que permiten representar valores identificables de forma descriptiva, esto incluye nombres de personas, direcciones, etc. Es posible representar números como alfanuméricos, pero estos pierden su propiedad matemática, es decir no es posible hacer operaciones con ellos. Este tipo de datos se representan encerrados entre comillas.


4. Escriba los operadores aritméticos y lógicos:


·                     Otro tipo de operadores fundamentales en programación son los operadores lógicos o de comparación. Se usan para comparar dos variables o expresiones y obtener un valor verdadero o falso.

·                     Los operadores aritméticos nos permiten, básicamente, hacer cualquier operación aritmética, que necesitemos (ejemplo: suma, resta, multiplicación, etc).

El Blogger

Concepto
Blogger es un servicio creado por Pyra Labs, y adquirido por Google en el año 2003, que permite crear y publicar una bitácora en línea. Para publicar contenidos, el usuario no tiene que escribir ningún código o instalar programas de servidor o de scripting.

Características principales:

  •    La barra de Google tiene una funcionalidad llamada "Blog This!" que permite a los usuarios de Blogger publicar entradas directamente hacia sus blogs.

  •     Se pueden publicar entradas desde Microsoft Word 2007, que provee una aplicación nativa de publicación en bitácoras en múltiples plataformas, entre ellas, Blogger.

  •    Blogger se puede integrar con Google AdSense y con AMAZON ASSOCIATES para monetizar el blog y generar ingresos.

  • Blogger se puede integrar con Google Analytics para realizar mediciones de analítica web.

  •  Blogger permite la administración de blogs entre múltiples autores, permitiendo crear blogs grupales o colaborativos.
  •  Google Docs y Álbumes Web de Picasa permiten publicar contenido directamente hacia Blogger.

  • Windows Live Writer, una aplicación independiente para Windows Live suite, permite publicar directamente hacia Blogger.

  • Blogger se puede integrar con Google+ para unificar perfiles de usuario, compartir contenido directamente a perfiles o páginas de Google+ y contabilizar +1's que se han realizado en entradas del blog.

Funciones:

  •  Editor de entradas WYSIWYG, que pueden ser programadas.
  •   Diseñador de plantillas, que permite personalizar el aspecto del blog sin saber código.
  •   Publicación en dominios personalizados, cambiando la dirección de publicación por defecto en blogspot.com a cualquier dominio de internet.
  • Adición de imágenes y videos a través del editor de entradas.
  •  Acceso público o restringido al blog.
  • Archivo anual, mensual, semanal o diario de entradas de blog.
  • Vistas dinámicas, que permiten visualizar el contenido de un blog a través de una interfaz.
  • Plantillas para dispositivos móviles.
  • Publicación a través de correo electrónico.
  • Sindicación RSS de entradas del blog, entradas por etiquetas, comentarios del blog, comentarios por entradas, páginas estáticas y comentarios por páginas.
  • Lightbox, un visualizador nativo de fotografías para las publicaciones del blog.
  • Metatags de descripción y rastreo de robots para el blog y cada una de las entradas.
  • Integración con aplicaciones de terceros, así como una API de datos para desarrollar aplicaciones propias.
Ventajas:

  •  Es una facilidad de mostrar tu opinión en la red, sin comprar dominios. Es de  forma gratuita.
  • Facilidad relativa para la creación del mismo.
  • Es un medio de comunicación abierto a todo el mundo.
  • No necesitas registrarte para poder leerlo.
  • Es accesible desde cualquier ordenador.
Desventajas:

  •   El manejo de la plantilla es muy complicado y necesita de un entendido en la materia constantemente a tu lado para poder completar el blog.
  •   No se puede poner toda la página en español a menos que crees tu propia plantilla.

Si se utiliza el blogs, es muy popular y fue unos de los primeros blogs creados en 1998 como unas de las primeras páginas de cronología.


Blogger es un servicio creado por Pyra Labs, y adquirido por Google en el año 2003, que permite crear y publicar una bitácora en línea. Para publicar contenidos, el usuario no tiene que escribir ningún código o instalar programas de servidor o de scripting.