Información de interes...

Este BLOG tiene como finalidad divulgar, orientar y generar un espacio virtual de participación relacionado con la algorítmica y la programación. Diseñadores: Participantes (comunidad educativa) de la Sección I03-031 adscritos al Programa Nacional de Formación en Informática del Colegio Universitario Francisco de Miranda. Nota de los diseñadores: Toda la información recabada y suministrada en este blog es de carácter académico; en tal sentido, la que no es de autoria propia de los diseñadores refleja o indica la fuente de origen a fin de reconocer y agradecer por este medio los aportes teóricos y prácticos que nos han suministrados todas esas personas que de alguna u otra manera son colaboradores anónimos.

jueves, 31 de marzo de 2011

Formas y técnicas de documentar algoritmos y programas

María Estefany Batista C.I 20.654.895
Iván Manrique C.I. 21.377.539
Jesús Pereira C.I.21.516.316

http://www.slideshare.net/Silvanac/algoritmos-y-programas-unidad1  : Esta sesión consistirá en explorar los conceptos de algoritmos y lenguaje de programación así como explorar otros temas concurrentes.
http://www.buenastareas.com/temas/formas-de-documentar-algoritmos/0  ALGORITMOS Y PROGRAMACIÓN (GUÍA PARA DOCENTES) SEGUNDA EDICIÓN, 2007, 2009. Es un sistemas basados en el conocimiento, generalmente no usan algoritmos numéricos. Todos los tipos de software mencionados requieren que los analistas.
http://www.buenastareas.com/ensayos/Tecnica-Juridica/302677.html  Elementos de las disposiciones normativas 2. Sumarios 3. Título de la disposición 4. Homogeneidad terminológica entre el título y los enunciados
http://pnfi-algoritmicayprogramacion.blogspot.com/   Las características del este pseudolenguaje fueron propuestas en 2001 por el responsable de la signatura Fundamentos de Programación (Horacio Loyarte) de la carrera de Ingeniería Informática de la FICH-UNL. Las premisas son:
  • Sintaxis sencilla
  • Manejo de las estructuras básicas de control
  • Solo 3 tipos de datos básicos: numérico, caracter /cadenas de caracteres y lógico (verdadero-falso).
  • Estructuras de datos: arreglos.
http://www.monografias.com/trabajos11/alcom/alcom.shtml Veremos los diferentes tipos de formas y tamaños o medidas en que se pueden almacenar y representar los datos y estructuras en un algoritmo o programa.
http://www.monografias.com/trabajos59/concepto-algoritmos/concepto-algoritmos2.shtml  Aquí se encontrara los tipos de documentación como también las técnicas para formular algoritmos

miércoles, 30 de marzo de 2011

TÉCNICAS DE ESCRITURA Y PRUEBAS DE ALGORITMOS Y PROGRAMAS.


Sonia  Garcias
20.676.428
Nelsys Herrera
24.283.998
Victor Montes
19.015.078




Técnicas y escrituras:
Para las representaciones de un algoritmo, antes de ser convertido a lenguaje de programación, se utilizan algunos métodos de representación escrito, grafico o matemática.  El lenguaje natural puede no ser suficientemente preciso, permitiendo las ambigüedades, obteniendo una descripción del todo satisfactoria, las formulas propias del lenguaje matemático, son un buen sistema de  representación pero no solo suelen ser fáciles de convertir en el programa. Los métodos más conocidos son:


Diagrama libre (diagrama de flujo): es quizás la forma de representación más antigua. Algunos autores suelen llamarlos también como diagramas de lógica o flujo gramas.




Diagramas nassi-schneiderman o chapin: También conocido como diagramas de chapin,  corresponde a uno de los tipos de diagramación estructurada. Las acciones se describen en rectángulos o cajas sucesivas. Se pueden escribir diferente acciones de caja.

Pseudocódigo: Es la técnica que permite expresar la solución de un problema mediante un algoritmo escrito en palabras normales de un idioma (por ejemplo, el español), utilizando palabras imperativas. Es común encontrar en pseudocódigo palabras como: inicie, lea, imprima, sume, divida, calcule, finalice. No hay un léxico obligado para el pseudocódigo, pero con el uso frecuentes se han establecido algunos estándares.

.


Lenguaje natural (español, ingles, etc.)


Formulas matemáticas 


Pruebas 
La prueba de escritorio es una herramienta útil para entender que hace un determinado algoritmo, o para verificar que un algoritmo cumple con la especificación sin necesidad de ejecutarlo. Básicamente, una prueba de escritorio es una ejecución ‘a mano’ del algoritmo, 
por lo tanto se debe llevar registro de los valores que va tomando cada una de las variables involucradas en el mismo.





Algunos enlaces para consultar








Estructuras De Control


Estructura de control
CI. 21.014.744
Machado Gusbely
CI. 20.303.709
De Andrade Jean M.

Las estructuras de control determinan la secuencia en que deben ejecutarse las instrucciones de un algoritmo. Existen tres Estructuras de control primitivas que son: El mientras, repetir y para.
Mientras: permite ejecutar una secuencia de instrucciones repetidamente hasta que la condición no se cumpla.
Repetir-Hasta: ejecuta una secuencia de instrucciones hasta que la condición sea verdadera.
Para: ejecuta una secuencia de instrucciones un número determinado de veces.
Características:
  •   La característica esencial de la estructura de control es que ella tiene una sola entrada y única salida.
  •  También lo caracteriza que un proceso de estructura puede tener dentro del mismo otro proceso el cual también tiene una entrada y una salida única.
Ventaja:
  •   La ventaja de la estructura de control es que  ya esta predeterminada por el lenguaje de programación, y son útiles al programador  al momento de resolver  un problema  a través de un programa o un algoritmo, también una de sus ventajas es la facilidad de manejo de sus comandos
Desventajas:
  •   La desventaja más notable o como para nuestro criterio es que cada lenguaje de programación puede llegar a tener diferentes sintaxis de estructura de control y puede llegar a confundir a los desarrolladores.



 Referencias:
  1.   .http://luda.uam.mx/curso1/Introduccion%20a%20la%20Programacion/estructuras%20de%20control.htm  
  2.      http://www.slideshare.net/MonjeOneble/pseint-ciclos-condicionales-presentation 
  3.   http://www.alegsa.com.ar/Dic/estructura%20de%20control.php 
  4.     http://www.di.uniovi.es/~dani/asignaturas/transparencias-leccion4.PDF 
  5.     http://prof.usb.ve/mvillasa/compcient/estructuras.pdf

Estándares de Calidad en el Diseño de Algoritmos y Construcción de Programas

Estándares de Calidad en el Diseño de Algoritmos y Construcción de Programas

Integrantes:
Ortiz Jesús
Mata Edsay
La algorítmica es uno de los pilares de la programación y su relevancia se muestra en el desarrollo de cualquier aplicación, más allá de la verdadera  construcción de programas.

. La ingeniería del software pretende utilizar los recursos computacionales de tal manera que se produzcan soluciones eficientes y eficaces a los problemas informáticos.

Las Técnicas de Construcción de Programas nos introduce en diversas técnicas elementales que permitirán la implementación de programas con buen desempeño computacional. Es por ello que se pone énfasis en el análisis y diseño de algoritmos. Entre los temas fundamentales tenemos: notación asintótica y recurrencias, las cuales servirán para estudiar diversos algoritmos entre ellos algoritmos de ordenación como heapsort, quicksort y ordenamiento en tiempo lineal, también tenemos ciertas técnicas de string matching y finalmente algunas técnicas como programación dinámica, algoritmos greedy y análisis amortizado.
Diseño de algoritmo

Una vez comprendido el problema se trata de determinar que pasos o acciones tenemos que realizar para resolverlo.
Como criterios a seguir a la hora de dar la solución algorítmica hay que tener en cuenta:
*  Si el problema es bastante complicado lo mejor es dividirlo en partes más pequeñas e intentar dividirlo en partes más pequeñas e intentar resolverlas por separado. Esta metodología de “divide y vencerás” también se conoce con el nombre de diseño descendente.
  Las ventajas de aplicar esto son:
* Al dividir el problema en módulos o partes se comprende más fácilmente.
* Al hacer modificaciones es más fácil sobre un módulo en particular que en todo el algoritmo.

Una segunda filosofía a la hora de diseñar algoritmos es el refinamiento por pasos, y es partir de una idea general e ir concretando cada vez más esa descripción hasta que tengamos algo tan concreto para resolver. Pasamos de lo más complejo a lo más simple.

FORMULACIÓN Y ANÁLISIS DEL PROBLEMA
Consiste en entender de qué se trata el problema planteado y esbozar su posible solución, concluyendo con una clara definición de tres aspectos: 1º qué es lo que nos piden, es decir, definición del resultado o solución deseada (para qué). 2º cómo obtener lo que nos piden (qué hacer). 3º qué necesitamos para obtener los resultados pedidos (con qué). Esto último nos facilitará la construcción de lo que denominaremos Especificación Funcional.

 Especificación Funcional consiste en determinar las funciones que se van a realizar (qué hacer) y sus respectivas entradas (con qué) y salidas (para qué):

PROCESO -> ENTRADA  ->SALIDA
Donde: entrada son los argumentos (variables o constantes) que se requieren para resolver un problema, salida son los resultados (argumentos) que se desean obtener una vez resuelto el problema y proceso es el procedimiento(s) u operación(es) que deben efectuarse sobre las entradas para obtener las salidas deseadas.






Programación Estructurada, Teoremas de la Programación Estructurada

Programación Estructurada, Teoremas de la Programación Estructurada.

Susany Yvel Fermenal
21.015.419

Definición
La programación es la acción de  idear y establecer las funciones para solucionar determinados problemas, esto nos permitirá entender más fácilmente. Para entender y tratar de resolver estos problemas se utilizan los algoritmos, ellos juegan un papel muy importante y son realmente la solución al problema y se definen como sucesiones finitas y ordenadas de instrucciones

Características
           
La programación estructurada puede ser leída en secuencia, desde el comienzo hasta el final sin perder la continuidad del programa, esto se debe a estas estructuras. Pero no se la debe considerar como una medicina ya que el desarrollo de programas es una tarea de dedicación, esfuerzo y creatividad.

La programación estructurada y Sus Teoremas.

 Esta Es una manera de escribir programas de computadora de una manera clara que requiere esfuerzo, creatividad, habilidad utilizando un número de atajos o estructuras de control estandarizados como son: secuencia, selección e iteración
Secuencia: Permite que la ejecución del programa se separa una instrucción u otra según un criterio o condición lógica, solo una de estas instrucciones se ejecutan
Selección: Una estructura es de manera secuencial si se ejecutan una tras otra a modo de secuencia, es decir que una instrucción no se ejecuta hasta que finaliza la anterior.
De iteración: Esta hace que se repitan mientras se cumpla una condición, en un principio el número de iteraciones no tiene porque estar determinado. 

Ventajas

 Este tipo de programación ayuda a un mejor desempeño para las personas, ya que es fácil de comprender y de manejar, se reduce el esfuerzo en los intento ( se facilita debido a la lógica más visible), los programas quedan mejor documentados internamente.

Desventaja

Es  relativamente difícil de aprender ya que es para expertos

Links De Interes

Definicion

Definiciones y ventajas
Diseños


Definición, Teoremas, Ventajas.


Teoremas


PROGRAMACION MUDULAR, AMBITO DE VARIABLES, LLAMADA DE UNA FUMCION Y PASE DE PARAMETRO

PROGRAMACION  MUDULAR, AMBITO DE VARIABLES, LLAMADA DE UNA FUMCION Y PASE DE PARAMETRO

Participante:
Blanco Gonzalo

Uno de los métodos más conocidos para resolver un problema es dividirlo en problemas más pequeños, llamados subproblemas. De esta manera, en lugar de resolver una tarea compleja y tediosa, resolvemos otras más sencillas y a partir de ellas llegamos a la solución. Esta técnica se usa mucho en programación ya que programar no es más que resolver problemas, y se le suele llamar diseño descendente, metodología del divide y vencerás o programación top-down.
Se le llama ámbito de las variables al lugar donde estas están disponibles. Por lo general, cuando declaramos una variable hacemos que esté disponible en el lugar donde se ha declarado, esto ocurre en todos los lenguajes de programación y como Java script se define dentro de una página web, las variables que declaremos en la página estarán accesibles dentro de ella.

La llamada a una función específica la relación entre los parámetros reales y los formales y ejecuta la función. Los parámetros se asocian normalmente por posición, aunque, opcionalmente, también se pueden asociar por nombre. Si la función tiene parámetros formales por omisión, no es necesario asociarles un parámetro real. La llamada a una función devuelve un resultado que ha de ser recogido, bien asignándolo a una variable del tipo adecuado, bien integrándolo en una expresión.

Pase de parámetros.
Por valor: por valor Los parámetros formales correspondientes reciben una COPIA de los valores (literales, constantes, variables, resultado de la evaluación de una expresión) de los parámetros actuales; por tanto, los cambios que se produzcan en ellos por efecto de la ejecución de la función no podrán afectar el valor de los parámetros actuales en caso de que estos fueran variables.

Por referencia: por referencia lo que se pasa a la función es la dirección de memoria del parámetro actual, en consecuencia debe ser una variable. Así, una variable pasada como parámetro actual es compartida; es decir, puede ser accedida y modificada durante la ejecución de la función.