Está en la página 1de 14

Introducción

El presente trabajo describe los enunciados sobre estándares de calidad en el diseño de algoritmos
y construcción de programas, describiendo los conceptos sobre esta materia que permitan
obtener conocimiento para el uso o aplicación de técnicas o herramientas en las exigencias de la
vida moderna que requieren buscar nuevos modelos y sistemas que nos permitan ser más eficaz y
eficiente. En el transcurso de los años el software se ha vuelto cada vez más complicado, el
incremento en la potencia de los ordenadores, la aparición de modernos dispositivos y tecnologías
ha generado la necesidad de nuevos sistemas operativos y aplicaciones de mayor complejidad. De
manera que esta complejidad ha traído consigo la demanda de nuevos métodos y herramientas
que nos ayuden en la construcción de este software.

(Aitor) Introducción de estándares de calidad


Calidad término utilizado que ha adquirido gran relevancia con el paso del tiempo, considerada
como uno de los principales activos con los que se cuenta un desarrollador para mejorar su
posición competitiva global.

Conseguir calidad en el software es esencial, de manera que se utilicen modelos y métodos


apropiados para controlar el proceso de desarrollo. Todo tipo de Software, requiere que los
analistas, diseñadores y desarrolladores apliquen características y elementos de calidad para
lograr productos que se adapten a las necesidades de los usuarios, el uso eficiente y eficaz de los
recursos informáticos debe involucrar elementos que produzcan soluciones como la planeación, la
administración, y la utilización de métodos que permitan un software de calidad. Mediante la
planeación se determinan los recursos necesarios para el desarrollo de un proyecto, la factibilidad
del mismo y el tiempo estimado de desarrollo; a través de la administración se controla, evalúa y
corrige la dirección de acuerdo a la contingencias y demás elementos que van presentándose
durante su desarrollo y mediante una metodología se busca lograr el acople de los participantes y
la garantía de una determinada calidad. Para evaluar un software en su calidad debe ser eficaz,
debe ser amigable, producir resultados confiables, realizar todas las operaciones que se requieran
ejecutar las operaciones en un tiempo aceptado, ser amigable y de fácil uso por el grupo de
usuarios a quien este dirigido. Eficiente, en el sentido que su costo en el desarrollo y uso obtengan
el máximo beneficio o condiciones aceptables en un tiempo establecido tanto para los
desarrolladores como las organizaciones involucradas, además de considerar otros aspectos
fundamentales como son: solidez, exactitud, completitud, mantenibilidad, reutilizabilidad, claridad
en la documentación entre otros. La influencias sobre estándares de calidad se basan sobre las
ideas presentadas por Robert Dunn, Philip

Crosby y Roger S. Pressman, referente a que la calidad del software se toma desde dos puntos de
vista: la calidad en el proceso de desarrollo y la calidad en el producto final, agrupándose en los
estándares de confiabilidad, utilizabilidad, mantenibilidad y adaptabilidad según Pressman la
calidad del software es la concordancia con los requerimientos funcionales y de rendimiento
explícitamente establecidos, con los estándares de desarrollo explícitamente documentados y con
las características implícitas que se espera de todo software desarrollado profesionalmente´
. A continuación se presentan los factores de calidad sobre las bases presentadas por Robert Dunn,
Philip

Crosby y Roger S. Pressman:

(YO) Confiabilidad: Este término es necesario sea separado en varios elementos que permiten
darle al software el matiz de fiable. Sus componentes son:

Completitud

Consistencia y precisión

Solidez

Simplicidad

Calidad en los procesos de desarrollo

Seguridad y Verificabilidad, estas dos últimas que se determinan con el sistema en uso.

Usabilidad: Si bien es cierto que la confiabilidad es un factor muy importante en la calidad del
software también lo es el hecho de que es necesario considerar otros factores como los que se
mencionan en esta sección puesto que de nada sirve un software que funcione correcta y
confiablemente si el usuario prefiere no utilizarlo.

-Exactitud de los procesos

-Claridad y exactitud de la documentación

-Completitud

-Eficiencia y verificabilidad del software

-Claridad y amigabilidad de la interfaz

Mantenibilidad: Este aspecto de calidad involucra los elementos que simplifican la labor de
prevención, corrección o ampliación del código del programa. Retomar un código escrito meses
antes es un trabajo dispendioso y agobiante, en especial cuando las aplicaciones no cuentan con la
característica a la cual aquí se hace referencia. Se pueden considerar como atributos de este
aspecto

-Exactitud y claridad en la documentación

-Modularidad acoplamiento

-Facilidad de lectura

-Simplicidad

Portabilidad: Es la capacidad que posee un sistema de información que le permite funcionar en


diferentes plataformas ya sean hardware o de software. A continuación se describen cada uno de
los aspectos de calidad mencionados:
Calidad en los procesos de desarrollo. Se resume en la frase "bien planeado y cuidadosamente
ejecutado". Este aspecto asegura la confiabilidad, puesto que el plan que se realice para
desarrollar el sistema, debe incluir pruebas bien seleccionadas que evalúen la confiabilidad del
programa en cualquier situación.

Claridad y amigabilidad de la interfaz: De igual forma la interfaz debe ser clara y agradable al
usuario, las interfaces complejas son causa de la no utilización de los sistemas de información.

Claridad y exactitud de la documentación: Hay que anotar que toda aplicación requiere de una
documentación suficientemente clara con el fin de que cualquier persona con conocimientos
básicos en computación pueda aprender la forma de operación sin que requiera la asesoría de los
desarrolladores o conocedores de la herramienta, a menos que se trate de eventualidades donde
realmente sea necesario consultar al proveedor.

Completitud o adecuación: Se refiere a que los resultados de operaciones sean acordes al


comportamiento del mundo real desde todos los estados y condiciones permitidos por la
aplicación, es decir, el programa debe reflejar la realidad. Un programa es inconsistente si
presenta respuestas erróneas en algunos casos. Una mala especificación de rangos en un dominio
sobre los cuales realizan diferentes operaciones matemáticas puede llevar a que algunos cálculos
se realicen dentro de límites inapropiados, obteniéndose resultado erróneo.

Otro caso de inconsistencia se presenta cuando ocurren eventos que paran abruptamente la
ejecución del programa, sólo un sistema de calidad podrá conservar datos consistentes después de
una falla.

Eficiencia y verificabilidad del software: Otro aspecto que no debe pasar por alto es el de la
verificabilidad, puesto que es imprescindible contar con los requerimientos, y sobre todo en
aquellos sistemas donde se obtengan resultados que no sean visibles. de los procesos: Un
programa no será utilizado por un usuario si sus resultados no son exactos. Tampoco se puede
garantizar el uso de un programa que no presta las utilidades que el usuario requiere, es decir, que
sea incompleto. Además, un programa ineficiente que no cumpla con los requerimientos de
tiempo, memoria o flexibilidad no podrá satisfacer las expectativas de quienes lo utilizan.

Robustez o solidez: Se refiere a la capacidad del software de defenderse de las acciones


anormales que llevan al sistema a un estado no deseado o por lo menos no previsto, causando un
comportamiento inesperado, indeseado y posiblemente erróneo. El software de hoy, debe estar
en capacidad de analizar los datos que recibe para hacer cumplir requerimientos o condiciones del
software y enfrentar de la mejor manera los errores cometidos por un usuario al utilizar la
aplicación. Es importante resaltar, que la solidez no siempre es generada por la digitación
inapropiada del usuario, sino también por un mal procesamiento o un mal encadenamiento de
procesos. El resultado de un proceso, aunque sea correcto, puede estar fuera de los límites
permitidos en los parámetros del módulo que lo recibe y si este módulo no controla los
parámetros que le entran caerá en un estado inesperado.

Seguridad y audibilidad: Son importantes, puesto que un usuario no puede confiar en los datos de
un sistema que no le ayude a controlar el acceso de personas no autorizadas o a detectar errores
de operación en los que se introducen y generan datos erróneos.
Simplicidad: Promueve la utilización de estructuras de fácil manipulación con el fin de evitar que el
programador se aleje del problema que desea resolver. Además, se reduce la probabilidad de
cometer errores. Así que, no es aconsejable hacer uso de estructuras complejas a menos que se
necesite cumplir con requerimientos de vital importancia tales como tiempos máximos de proceso
u otros similares.

(Nazaret) Forma de Trazabilidad un Algoritmo

La traza de un Algoritmo se puede definir como la ejecución manual de forma secuencial de las
sentencias que lo componen. La función principal que posee realizar la traza de un algoritmo es la
de comprobar que éste funciona correctamente o para realizar la etapa de depuración en la que
se intenta corregir errores, simplificar el algoritmo al máximo e incrementar su eficacia y
velocidad.

Para la realización de un algoritmo se deben seguir los siguientes pasos:.

1 Se debe escribir de arriba hacia abajo, de izquierda a derecha.

2 Siempre se utilizan flechas verticales y horizontales.

Cada paso expresa una acción concreta De igual manera se sigue una secuencia en el flujo normal
en su desarrollo:

1. Un inicio
2. Una lectura o entrada de datos.
3. Procesamiento de datos.
4. Una salida de información.
5. Un final.

(Ángela) Formas y Técnicas de Documentar Algoritmos y programas


Documentar el código de un programa es añadir suficiente información como para explicar lo que
hace, punto por punto, de forma que no sólo los ordenadores sepan qué hacer, sino que además
los humanos entiendan qué están haciendo y por qué. Porque entre lo que tiene que hacer un
programa y cómo lo hace hay una distancia impresionante: todas las horas que el programador ha
dedicado a pergeñar una solución y escribirla en el lenguaje que corresponda para que el
ordenador la ejecute ciegamente. Documentar un programa no es sólo un acto de buen hacer del
programador por aquello de dejar la obra rematada. Es además una necesidad que sólo se aprecia
en su debida magnitud cuando hay errores que reparar o hay que extender el programa con
nuevas capacidades o adaptarlo a un nuevo escenario. Hay dos reglas que no se deben olvidar
nunca: todos

1. Los programas tienen errores y descubrirlos sólo es cuestión de tiempo y de que el programa
tenga éxito y se utilice frecuentemente.

2. todos los programas sufren modificaciones a lo largo de su vida, al menos todos aquellos que
tienen éxito.
Por una u otra razón, todo programa que tenga éxito será modificado en el futuro, bien por el
programador original, bien por otro programador que le sustituya. Pensando en esta revisión de
código es por lo que es importante que el programa se entienda: para poder repararlo y
modificarlo. ¿Qué hay que documentar? Hay que añadir explicaciones a todo lo que no es
evidente. o hay que repetir lo que se hace, sino explicar por qué se hace. El algoritmo trata de
resolver problemas mediante programas.

(Erika) Fases:

-Análisis preliminar o evaluación del problema: Estudiar el problema en general y ver que parte
nos interesa.

-Definición o análisis del problema: Ver que es lo que entra y que es lo que sale, las posibles
condiciones o restricciones.

-Diseño del algoritmo: Diseñar la solución.

-El programa: Codificación del algoritmo en un lenguaje de programación.


-Ejecución del programa y las pruebas: Ver si el programa hace lo que queríamos.

Un algoritmo es una fórmula para resolver un problema. Es un conjunto de acciones o secuencia


de operaciones que ejecutadas en un determinado orden resuelven el problema. Existen
algoritmos, hay que coger el más efectivo. Características:

-Tiene que ser preciso.

-Tiene que estar bien definido.

-Tiene que ser finito.

La programación es adaptar el algoritmo al ordenador. El algoritmo es independiente según


donde lo implemente.

RESOLUCIÓNDE PROBLEMAS: La resolución de un problema desde el punto de vista algorítmico


tiene 3 fases:

-Análisis del problema: Comprensión.

-Diseño del algoritmo: Resolución algorítmica.

-Resolución en computadora: Implantación del algoritmo en un lenguaje de programación.

ANÁLISIS DEL PROBLEMA: El objetivo de ésta fase es comprender el problema para lo cual como
resultado tenemos que obtener la especificación de las entradas y salidas del problema. Tiene que
quedar claro que entra y que sale.

DISEÑO DEL ALGORITMO: Una vez comprendido el problema se trata de determinar qué 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.

-En cuanto a los resultados, se probarán mucho mejor comprobando si cada módulo da el
resultado correcto que si intentamos probar de un golpe todo el programa porque si se produce
un error sabemos en que módulo ha sido.

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 delo más complejo a lo más simple.

(Sergio) La representación de los algoritmos: Una vez que tenemos la solución hay que
implementarla con alguna representación. Las representaciones más usadas son los flujo gramas,
los diagramas NS y el pseudocódigo.

También la solución se puede escribir en algunos casos en lenguaje natural pero no se hace
porque es muy ambiguo, e incluso otras formas de expresión como fórmulas matemáticas.

Escritura del algoritmo: Al escribir el algoritmo hay que tener en cuenta:

-Las acciones o pasos a realizar tienen que tener un determinado orden.

-En cada momento solo se puede ejecutar una acción.

-Dentro de las sentencias del algoritmo pueden existir palabras reservadas palabras propias del
lenguaje de programación que tienen para el compilador un determinado significado.

-Si estamos utilizando pseudocódigo tenemos también que usar la identación aumenta la
legibilidad del problema para que se pueda leer mejor.

RESOLUCIÓN EN LA COMPUTADORA: Es hacer entender nuestro algoritmo a la computadora para


que lo pueda hacer.

Codificamos el algoritmo en un lenguaje de programación.

Ejecutar el programa antes compilado.

Y Comprobar los resultados y si no funciona, corregirlo.

FLUJOGRAMAS:

Es una notación gráfica para implementar algoritmos. Se basa en la utilización de unos símbolos
gráficos que denominamos cajas, en las que escribimos las acciones que tiene que realizar el
algoritmo. Las cajas están conectadas entre sí por líneas y eso nos indica el orden en el que
tenemos que ejecutar las acciones. En todo algoritmo siempre habrá una caja de inicio y otra de
fin, para el principio y final del algoritmo. Son la representación gráfica de la solución algorítmica
de un problema. Para diseñarlos se utilizan determinados símbolos o figuras que representan una
acción dentro del procedimiento. Utilizan unos símbolos normalizados, con los pasos del algoritmo
escritos en el símbolo adecuado y los símbolos unidos con flechas, denominadas líneas de flujo,
que indican el orden en que los pasos deben ser ejecutados.

CONCLUSION

En el cumplimiento de las tareas realizadas, estamos en la capacidad de interpretar lo referente a


estándares en la aplicación eficiente en la calidad del diseño de algoritmos y construcción de
programas, de manera que los analistas, diseñadores y desarrolladores puedan aplicar estos
elementos para que se logren productos adaptados a las necesidades del usuario.

Cabe destacar que para desarrollar un algoritmo conocido el problema se deben tomar una serie
de pasos o acciones para resolverlo y tener cuidado a la hora de documentarlo, en este sentido se
requiere ser eficiente y eficaz en la aplicación de calidad para el desarrollo de programas.

introducción
El presente trabajo describe los enunciados sobre estándares de calidad en eldiseño de algoritmos y
construcción de programas, describiendo los conceptossobre esta materia que permitan obtener
conocimiento para el uso o aplicaciónde técnicas o herramientas en las exigencias de la vida moderna
que requierenbuscar nuevos modelos y sistemas que nos permitan ser más eficaz yeficiente. En el
transcurso de los años el software se ha vuelto cada vez máscomplicado, el incremento en la potencia de
los ordenadores, la aparición demodernos dispositivos y tecnologías ha generado la necesidad de
nuevossistemas operativos y aplicaciones de mayor complejidad. De manera que estacomplejidad ha
traído consigo la demanda de nuevos métodos y herramientasque nos ayuden en la construcción de este
software.

 
 Introducción de estándares de calidad
C
alidad término utilizado que ha adquirido gran relevancia con el paso deltiempo, considerada como uno de
los principales activos con los que se cuentaun desarrollador para mejorar su posición competitiva global.
C
onseguir calidaden el software es esencial, de manera que se utilicen modelos y métodosapropiados
para controlar el proceso de desarrollo.Todo tipo de Software, requiere que los analistas, diseñadores
ydesarrolladores apliquen características y elementos de calidad para lograr productos que se adapten
a las necesidades de los usuarios, el uso eficiente yeficaz de los recursos informáticos debe involucrar
elementos que produzcansoluciones como la planeación, la administración, y la utilización de
métodosque permitan un software de calidad.Mediante la planeación se determinan los recursos
necesarios para eldesarrollo de un proyecto, la factibilidad del mismo y el tiempo estimado dedesarrollo; a
través de la administración se controla, evalúa y corrige ladirección de acuerdo a la contingencias y demás
elementos que vanpresentándose durante su desarrollo y mediante una metodología se buscalograr el
acople de los participantes y la garantía de una determinada calidad.Para evaluar un software en su
calidad debe ser eficaz, debe ser amigable,producir resultados confiables, realizar todas las operaciones
que se requieranejecutar las operaciones en un tiempo aceptado, ser amigable y de fácil uso por el grupo
de usuarios a quien este dirigido. Eficiente, en el sentido que su costoen el desarrollo y uso obtengan el
máximo beneficio o condiciones aceptablesen un tiempo establecido tanto para los desarrolladores como
lasorganizaciones involucradas, además de considerar otros aspectosfundamentales como son: solidez,
exactitud, completitud, mantenibilidad,reutilizabilidad, claridad en la documentación entre otros.La
influencias sobre standares de calidad se basan sobre las ideaspresentadas por Robert Dunn, Philip
C
rosby y Roger S. Pressman, referente aque la calidad del software se toma desde dos puntos de vista: la
calidad en elproceso de desarrollo y la calidad en el producto final, agrupándose en losstandares de
confiabilidad, utilizabilidad, mantenibilidad y adaptabilidad segúnPressman la calidad del software es
³la concordancia con los requerimientosfuncionales y de rendimiento explícitamente establecidos, con los
estándaresde desarrollo explícitamente documentados y con las características implícitasque se espera de
todo software desarrollado profesionalmente´ 
. A continuación se presentan los factores de calidad sobre las basespresentadas por Robert Dunn, Philip
C
rosby y Roger S. Pressman:
C
onfiabilidad: Este término es necesario sea separado en varios elementos quepermiten darle al software el
matiz de fiable. Sus componente son:
y
 
C
ompletitud
y
 
C
onsistencia y precisión
y
Solidez
y
Simplicidad

 
y
 
C
alidad en los procesos de desarrollo
y
Seguridad y Verificabilidad, estas dos últimas que se determinan con elsistema en uso.Usabilidad: Si bien
es cierto que la confiabilidad es un factor muy importante enla calidad del software también lo es el hecho
de que es necesario considerar otros factores como los que se mencionan en esta sección puesto que
de nadasirve un software que funcione correcta y confiablemente si el usuario prefiereno utilizarlo.
y
Exactitud de los procesos
y
 
C
laridad y exactitud de la documentación
y
 
C
ompletitud
y
Eficiencia y verificabilidad del software
y
 
C
laridad y amigabilidad de la interfazMantenibilidad: Este aspecto de calidad involucra los elementos que
simplificanla labor de prevención, corrección o ampliación del código del programa.Retomar un código
escrito meses antes es un trabajo dispendioso y agobiante,en especial cuando las aplicaciones no
cuentan con la característica a la cualaquí se hace referencia. Se pueden considerar como atributos de
este aspecto
y
Exactitud y claridad en la documentación
y
Modularidad acoplamiento
y
Facilidad de lectura
y
SimplicidadPortabilidad: Es la capacidad que posee un sistema de información que lepermite funcionar en
diferentes plataformas ya sean hardware o de software. A continuación se describen cada uno de
los aspectos de calidadmencionados:
C
alidad en los procesos de desarrollo. Se resume en la frase"bien planeado y cuidadosamente ejecutado".
Este aspecto asegura laconfiabilidad, puesto que el plan que se realice para desarrollar el sistema,debe
incluir pruebas bien seleccionadas que evalúen la confiabilidad delprograma en cualquier situación.
C
laridad y amigabilidad de la interfaz: De igual forma la interfaz debe ser claray agradable al usuario, las
interfaces complejas son causa de la no utilizaciónde los sistemas de información.
C
laridad y exactitud de la documentación: Hay que anotar que toda aplicaciónrequiere de una
documentación suficientemente clara con el fin de quecualquier persona con conocimientos básicos en
computación pueda aprender la forma de operación sin que requiera la asesoría de los desarrolladores
oconocedores de la herramienta, a menos que se trate de eventualidades donderealmente sea necesario
consultar al proveedor.
C
ompletitud o adecuación: Se refiere a que los resultados de operaciones seanacordes al comportamiento
del mundo real desde todos los estados ycondiciones permitidos por la aplicación, es decir, el programa
debe reflejar larealidad. Un programa es inconsistente si presenta respuestas erróneas enalgunos casos.
Una mala especificación de rangos en un dominio sobre loscuales realizan diferentes operaciones
matemáticas puede llevar a que algunos
 
cálculos se realicen dentro de límites inapropiados, obteniéndose resultadoserróneos. Otro caso de
inconsistencia se presenta cuando ocurren eventos queparan abruptamente la ejecución del programa,
sólo un sistema de calidadpodrá conservar datos consistentes después de una falla.Eficiencia y
verificabilidad del software: Otro aspecto que no debe pasar por alto es el de la verificabilidad, puesto que
es imprescindible contar con losrequerimientos, y sobre todo en aquellos sistemas donde se
obtenganresultados que no sean visibles.Exactitud de los procesos: Un programa no será utilizado por un
usuario si susresultados no son exactos. Tampoco se puede garantizar el uso de unprograma que no
presta las utilidades que el usuario requiere, es decir, que seaincompleto. Además, un programa
ineficiente que no cumpla con losrequerimientos de tiempo, memoria o flexibilidad no podrá satisfacer
lasexpectativas de quienes lo utilizan.Robustez o solidez: Se refiere a la capacidad del software de
defenderse de lasacciones anormales que llevan al sistema a un estado no deseado o por lomenos no
previsto, causando un comportamiento inesperado, indeseado yposiblemente erróneo. El software
de hoy, debe estar en capacidad de analizar los datos que recibe para hacer cumplir requerimientos o
condiciones delsoftware y enfrentar de la mejor manera los errores cometidos por un usuario alutilizar la
aplicación. Es importante resaltar, que la solidez no siempre esgenerada por la digitación inapropiada del
usuario, sino también por un malprocesamiento o un mal encadenamiento de procesos. El resultado de
unproceso, aunque sea correcto, puede estar fuera de los límites permitidos enlos parámetros del módulo
que lo recibe y si este módulo no controla losparámetros que le entran caerá en un estado
inesperado.Seguridad y auditabilidad: Son importantes, puesto que un usuario no puedeconfiar en los
datos de un sistema que no le ayude a controlar el acceso depersonas no autorizadas o a detectar
errores de operación en los que seintroducen y generan datos erróneos.Simplicidad: Promueve la
utilización de estructuras de fácil manipulación con elfin de evitar que el programador se aleje del
problema que desea resolver. Además, se reduce la probabilidad de cometer errores. Así que, no
esaconsejable hacer uso de estructuras complejas a menos que se necesitecumplir con requerimientos
de vital importancia tales como tiempos máximosde proceso u otros similares.
F
orma de Trazabilizar 
 
un Algoritmo
La traza de un Algoritmo se puede definir como la ejecución manual de formasecuencial de las sentencias
que lo componen. La función principal que poseerealizar la traza de un algoritmo es la de comprobar que
éste funcionacorrectamente o para realizar la etapa de depuración en la que se intentacorregir errores,
simplificar el algoritmo al máximo e incrementar su eficacia yvelocidad.

 
Para la realización de un algoritmo se deben seguir los siguientes pasos:. Se debe escribir de arriba hacia
abajo, de izquierda a derecha.2. Siempre se utilizan flechas verticales y horizontales.3.
C
ada paso expresa una acción concretaDe igual manera se sigue una secuencia en el flujo normal en su
desarrollo:. Un inicio2. Una lectura o entrada
de datos.3. Procesamiento de datos.4. Una salida de información.5. Un final.
F
ormas y Técnicas de Documentar Algoritmos y programas
Documentar el código de un programa es añadir suficiente información comopara explicar lo que hace,
punto por punto, de forma que no sólo losordenadores sepan qué hacer, sino que además los humanos
entiendan quéestán haciendo y por qué.Porque entre lo que tiene que hacer un programa y cómo lo hace
hay unadistancia impresionante: todas las horas que el programador ha dedicado apergeñar una solución
y escribirla en el lenguaje que corresponda para que elordenador la ejecute ciegamente.Documentar un
programa no es sólo un acto de buen hacer del programador por aquello de dejar la obra rematada. Es
además una necesidad que sólo seaprecia en su debida magnitud cuando hay errores que reparar o hay
queextender el programa con nuevas capacidades o adaptarlo a un nuevoescenario. Hay dos reglas que
no se deben olvidar nunca:. todos los programas tienen errores y descubrirlos sólo es cuestión detiempo
y de que el programa tenga éxito y se utilice frecuentemente.2. todos los programas sufren modificaciones
a lo largo de su vida, almenos todos aquellos que tienen éxito.Por una u otra razón, todo programa que
tenga éxito será modificado en elfuturo, bien por el programador original, bien por otro programador que
lesustituya. Pensando en esta revisión de código es por lo que es importante queel programa se entienda:
para poder repararlo y modificarlo.¿Qué hay que documentar?Hay que añadir explicaciones a todo lo que
no es evidente.o hay que repetir lo que se hace, sino explicar por qué se hace.El algoritmo trata de
resolver problemas mediante programas.Fases:
y
Análisis preliminar o evaluación del problema: Estudiar el problema engeneral y ver que parte nos
interesa.
y
Definición o análisis del problema: Ver que es lo que entra y que es loque sale, las posibles condiciones o
restricciones.
y
Diseño del algoritmo: Diseñar la solución.
y
El programa:
C
odificación del algoritmo en un lenguaje de programación.
y
Ejecución del programa y las pruebas: Ver si el programa hace lo quequeríamos.

 
Un algoritmo es una fórmula para resolver un problema. Es un conjunto deacciones o secuencia de
operaciones que ejecutadas en un determinado ordenresuelven el problema. Existe n algoritmos, hay que
coger el más efectivo.
C
aracterísticas:
y
Tiene que ser preciso.
y
Tiene que estar bien definido.
y
Tiene que ser finito.La programación es adaptar el algoritmo al ordenador. El algoritmo esindependiente
según donde lo implemente.RESOLU
CIÓN
DE PROBLEMAS:La resolución de un problema desde el punto de vista algorítmico tiene 3 fases:
y
Análisis del problema:
C
omprensión.
y
Diseño del algoritmo: Resolución algorítmica.
y
Resolución en computadora:
I
mplantación del algoritmo en un lenguajede programación. A

L
I
S
I
S DEL PROBLEMA:El objetivo de ésta fase es comprender el problema para lo cual como
resultadotenemos que obtener la especificación de las entradas y salidas del problema.Tiene que quedar
claro que entra y que sale.D
I
SEÑO DEL ALGOR
I
TMO:Una vez comprendido el problema se trata de determinar qué pasos o accionestenemos que
realizar para resolverlo.
C
omo criterios a seguir a la hora de dar la solución algorítmica hay que tener en cuenta:
y
Si el problema es bastante complicado lo mejor es dividirlo en partesmá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.
y
Las ventajas de aplicar esto son:
y
Al dividir el problema en módulos o partes se comprende másfácilmente.
y
Al hacer modificaciones es más fácil sobre un módulo en particular queen todo el algoritmo.
y
En cuanto a los resultados, se probarán mucho mejor comprobando sicada módulo da el resultado
correcto que si intentamos probar de ungolpe todo el programa porque si se produce un error
sabemos en quemódulo ha sido.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 esadescripción hasta que
tengamos algo tan concreto para resolver. Pasamos delo más complejo a lo más simple.
 
La representación de los algoritmos:Una vez que tenemos la solución hay que implementarla con
algunarepresentación. Las representaciones más usadas son los flujo gramas, losdiagramas
N
S y el pseudocódigo.También la solución se puede escribir en algunos casos en lenguaje naturalpero no
se hace porque es muy ambiguo, e incluso otras formas de expresióncomo fórmulas
matemáticas.Escritura del algoritmo: Al escribir el algoritmo hay que tener en cuenta:
y
Las acciones o pasos a realizar tienen que tener un determinado orden.
y
En cada momento solo se puede ejecutar una acción.
y
Dentro de las sentencias del algoritmo pueden existir palabrasreservadas palabras propias del
lenguaje de programación que tienenpara el compilador un determinado significado.
y
Si estamos utilizando pseudocódigo tenemos también que usar laidentación aumenta la legibilidad del
problema para que se pueda leer m e j o r . RESOLU
CIÓN
E
N
LA
C
OMPUTADORA:Es hacer entender nuestro algoritmo a la computadora para que lo puedahacer.
y
 
C
odificamos el algoritmo en un leguaje de programación.
y
Ejecutar el programa antes compilado.
y
 
C
omprobar los resultados y si no funciona, corregirlo.FLUJOGRAMAS:Es una notación gráfica para
implementar algoritmos. Se basa en la utilizaciónde unos símbolos gráficos que denominamos cajas, en
las que escribimos lasacciones que tiene que realizar el algoritmo.Las cajas están conectadas entre sí por
líneas y eso nos indica el orden en elque tenemos que ejecutar las acciones.En todo algoritmo siempre
habrá una caja de inicio y otra de fin, para elprincipio y final del algoritmo. Son la representación gráfica de
la soluciónalgorítmica de un problema. Para diseñarlos se utilizan determinados símboloso figuras que
representan una acción dentro del procedimiento. Utilizan unossímbolos normalizados, con los pasos
del algoritmo escritos en el símboloadecuado y los símbolos unidos con flechas, denominadas líneas de
flujo, queindican el orden en que los pasos deben ser ejecutados.

 
 
C
O
NC
LUS
I
O
N
 En el cumplimiento de las tareas realizadas, estamos en la capacidad deinterpretar lo referente a
estándares en la aplicación eficiente en la calidad deldiseño de algoritmos y construcción de programas,
de manera que losanalistas, diseñadores y desarrolladores puedan aplicar estos elementos paraque se
logren productos adaptados a las necesidades del usuario.
C
abedestacar que para desarrollar un algoritmo conocido el problema se deben tomar una serie de pasos
o acciones para resolverlo y tener cuidado a la horade documentarlo, en este sentido se requiere ser
eficiente y eficaz en laaplicación de calidad para el desarrollo de programas.

También podría gustarte