SlideShare una empresa de Scribd logo
1 de 11
REPÚBLICA BOLIVARIANA DE VENEZUELA MINISTERIO DEL PODER POPULAR
PARA LA EDUCACIÓN UNIVERSITARIA
PNF-INFORMATICA
UNIVERSIDAD POLITÉCNICA TERRITORIAL ALONSO GAMERO
Aplicaciones de estándares
de calidad en la construcción de
algoritmos
Realizado por:
Jonmar Rodríguez
INTRODUCCIÓN
El acto de diseñar un algoritmo puede considerarse como una tarea que difícilmente
podrá ser del todo automatizada. Es decir que todo problema algorítmico resulta
inmediato de resolver, otros son bastante complejos. La investigación en esta área ha
permitido descubrir un conjunto de métodos o esquemas de diseño hacia los cuales
puede orientarse la realización de muchos algoritmos. No obstante, idear un algoritmo
continúa siendo una labor bastante creativa donde los conocimientos y la experiencia
del propio diseñador tienen un papel fundamental. Una forma de facilitar esta labor
consiste en recurrir a técnicas conocidas de diseño de algoritmos, es decir, a esquemas
muy generales que pueden adaptarse a un problema particular al detallar las partes
generales del esquema, requiere un análisis minucioso del problema de forma que la
solución se vaya construyendo en etapas. Aun así, hay problemas cuya solución no
puede hallarse sino mediante un proceso de búsqueda, a pesar de lo complejas que
son las operaciones. Por último, Si el hábil programador dispone de un recetario de
algoritmos de donde poder seleccionar el más adecuado para cada problema, su tarea
se simplifica. Aprender los principios básicos del diseño de algoritmos podemos
preguntarnos por un método aceptable. El mas entendido, y quizás el mejor, es
organizar el diseño sobre un esquema de algoritmo o una técnica de diseño que haya
demostrado su utilidad para otros problemas. Este método de trabajo es practicable,
puesto que existe un número reducido de esquema y técnicas de diseño. El
conocimiento de técnicas de diseño es solo un primer paso para el diseñador, que debe
completarse con otros conocimientos y sobre todo, con la experiencia.
Construcción a Estándares de Calidad
En el Diseño de Algoritmos y Construcción de Programas. Sin importar cualquiera
que sea el tipo de software a ser desarrollado sea de sistemas (Son programas que
sirven a otros programas en el trabajo de desarrollo como compiladores, editores, ..),
tiempo real (Software encargado de analizar datos del mundo en forma real tales
como análisis de datos, control automatizado, monitoreo de datos), gestión (a esta
categoría se incluye el software comercial a nivel empresarial nóminas, inventarios),
ingeniería y científico (es software que posee un amplio manejo numérico usado en
biología, astronomía, CAD, …), empotrado (software que se encuentra residente en
memoria, tales como : controles automáticos en los vehículos, sistemas de
background, partes del sistema operativo, …), computación personal (software
comercial de uso local como procesadores de texto, hojas electrónicas, navegadores
web, calendarios, agendas, recetarios, …), inteligencia artificial (software de
procesamiento especial sistemas expertos, sistemas basados en el conocimiento,
generalmente no usan algoritmos numéricos). Todos los tipos de software
mencionados requieren que los analistas, diseñadores y desarrolladores apliquen
características y elementos de calidad para que se logren productos a las
necesidades del usuario, estas necesidades se comienzan a encontrar un camino de
solución a través de la aplicación de elementos de calidad, así se presentan dos de
los más valiosos como son la eficiencia y la eficacia .
Forma de realizar un algoritmo
Los algoritmos pueden ser realizados de muchas formas o 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.
Ejemplo de Algoritmo
Podemos idear un algoritmo para un
determinado proceso, así como también
hacerlo en diferentes formas.
Por ejemplo: Cómo podríamos encontrar el
promedio de un conjunto de números?
Una posible solución sería:
1.- Sumar los números dados.
2.- Contar dichos números.
3.- Dividir el resultado obtenido en el punto 1
entre el resultado obtenido en el punto 2.
Otra clase de ejemplo de Algoritmos, sería el de una llamada telefónica, o el proceso para
efectuar un viaje en el Metro de Caracas, o la obtención de la licencia para conducir o el cambio de un
caucho que esté bajo de aire, etc.; en fin, hay muchas formas de aplicar los algoritmos en cuestiones
cotidianas descomponiendo la acción en pasos lógicos, como es el caso de una llamada desde una
cabina de un teléfono público:
1.- Inicio
2.- Descolgar el teléfono
3.- Esperar la señal digital.
4.- Preguntamos si está dañado. Si lo está: Vamos al paso 5.
Si no lo está: Vamos al paso 8.
5.- Vociferar una palabra de mal gusto y fruncir el ceño.
6.- Colgar.
7.- Fin.
8.- Digitar los números.
9.- Verificamos si suena ocupado. Si suena ocupado: Vamos al paso 11.
Si no lo está: Vamos al paso 13.
10.-Insistir digitando los números.
11.- Ir al paso 8.
12.- Verificamos si contestan. Si contestan: Vamos al paso 14
Si no contestan: Vamos al paso 21.
13.- Preguntamos si se encuentra la persona.
Si se encuentra: Vamos al paso 14.
Si no se encuentra: Vamos al paso 17.
14.- Hablar lo deseado.
15.- Colgar.
16.- Fin.
17.- Pensar algo malo.
18.- Tomar un café y tranquilizarse.
19.- Ir al paso 15.
Forma de Trazar 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.
Lenguaje natural (código binario)
Algoritmo Pseudocódigo
Diagrama libre (diagrama de flujo)
Diagrama de flujo y Pseudocódigo
Los diagramas de flujo: son descripciones gráficas de algoritmos; usan símbolos
conectados con flechas para indicar la secuencia de instrucciones y están regidos por
ISO. Los diagramas de flujo son usados para representar algoritmos pequeños, ya que
abarcan mucho espacio y su construcción es laboriosa. Por su facilidad de lectura son
usados como introducción a los algoritmos, descripción de un lenguaje y descripción de
procesos a personas ajenas a la computación.
El pseudocódigo: está pensado para facilitar a las personas el entendimiento de un
algoritmo, y por lo tanto puede omitir detalles irrelevantes que son necesarios en una
implementación. Programadores diferentes suelen utilizar convenciones distintas, que
pueden estar basadas en la sintaxis de lenguajes de programación concretos. Sin
embargo, el pseudocódigo, en general, es comprensible sin necesidad de conocer o
utilizar un entorno de programación específico, y es a la vez suficientemente
estructurado para que su implementación se pueda hacer directamente a partir de él.
El pseudocódigo: (falso lenguaje, el prefijo pseudo significa falso) es una descripción
de alto nivel de un algoritmo que emplea una mezcla de lenguaje natural con algunas
convenciones sintácticas propias de lenguajes de programación, como asignaciones,
ciclos y condicionales, aunque no está regido por ningún estándar. Es utilizado para
describir algoritmos en libros y publicaciones científicas, y como producto intermedio
durante el desarrollo de un algoritmo, como los |diagramas de flujo, aunque presentan
una ventaja importante sobre estos, y es que los algoritmos descritos en pseudocódigo
requieren menos espacio para representar instrucciones complejas.
forma y Técnica de documentación de algoritmos y programa
Todo problema algorítmico es un reto para su diseñador, algunos resultan inmediatos de
resolver, otros son bastante complejos. La investigación en esta área ha permitido descubrir un
conjunto de métodos o esquemas de diseño hacia los cuales puede orientarse la realización de
muchos algoritmos.
No obstante, y a pesar de que resulta mas adecuado en bastantes casos utilizar alguno de
estos esquemas que realizar un diseño desde cero, idear un algoritmo continua siendo una labor
bastante creativa donde los conocimientos y la experiencia del propio diseñador tiene un papel
fundamental.
El diseño de un algoritmo que resuelva un problema es, en general, una tarea difícil. Una
forma de facilitar esta labor consiste en recurrir a técnicas conocidas de diseño de algoritmos, se
decir, a esquemas muy generales que pueden adaptarse a un problema particular al detallar las
partes generales del esquema.
Muchos problemas pueden resolverse buscando una solución fácil y directa pero, a la vez
bastante ineficiente. Este método, llamado de fuerza bruta, puede ser muy directo, pero con un
poco de análisis puede encontrarse algoritmos más eficientes. El esquema mas sencillo quizás
sea el llamado divide y vencerás, basado en la descomposición de un problema en sus
problemas. Otros esquemas requieren un análisis minucioso del problema de forma que la
solución se vaya construyendo en etapas. Si puede preverse que decisión conviene en cada
etapa para producir cierto tipo de mejor resultado, tenemos una solución voraz, si la decisión en
una etapa, solo puede tomarse tras considerar varias soluciones de otras etapas más simples, la
solución es dinámica. Aun así, hay problemas cuya solución no puede hallarse sino mediante un
proceso de búsqueda, a pesar de lo complejas que son las operaciones de búsqueda, su uso
adecuado mediante el esquema de búsqueda con retroceso (o backtracking).
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: 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:
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, 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 frecuente se han
establecido algunos estándares.
Técnicas de Escritura y Pruebas de Algoritmos
CONCLUSIÓN
Los esfuerzos realizados en el mundo por ayudar a estudiantes
y programadores a mejorar la calidad del software que se
diseña. La forma de trazabilidad un buen algoritmo que
asegura que tanto algoritmos como programa resulten legibles
y puedan modificarse fácilmente en caso de necesidad. La
documentación de un algoritmo y programa necesita siempre
de una documentación que permita a los usuarios aprender a
utilizarlos y mantenerlo, La documentación del programa se
puede concretar a manual del usuario y manual de
mantenimiento.

Más contenido relacionado

La actualidad más candente

Introduccion A La Programacion
Introduccion A La ProgramacionIntroduccion A La Programacion
Introduccion A La ProgramacionMary Sanchez
 
Algoritmos, Pseudocódigo, diagramas de flujos y la metodologia para resolver ...
Algoritmos, Pseudocódigo, diagramas de flujos y la metodologia para resolver ...Algoritmos, Pseudocódigo, diagramas de flujos y la metodologia para resolver ...
Algoritmos, Pseudocódigo, diagramas de flujos y la metodologia para resolver ...JovanyYGonzalezR
 
Algoritmos, Pseudocódigos, Diagrama de Flujo y Metodología
Algoritmos, Pseudocódigos, Diagrama de Flujo y MetodologíaAlgoritmos, Pseudocódigos, Diagrama de Flujo y Metodología
Algoritmos, Pseudocódigos, Diagrama de Flujo y MetodologíaJesus Freites
 
Aplicaciones de estándares de calidad en la construcción de algoritmo
Aplicaciones de estándares de calidad en la construcción de algoritmoAplicaciones de estándares de calidad en la construcción de algoritmo
Aplicaciones de estándares de calidad en la construcción de algoritmoFelix Rodríguez
 
Logica de progrmacionn
Logica de progrmacionnLogica de progrmacionn
Logica de progrmacionnbrayan_2012
 
Desarrollo de habilidades de pensamiento
Desarrollo de habilidades de pensamientoDesarrollo de habilidades de pensamiento
Desarrollo de habilidades de pensamientoSaragongoravillaquir
 
Teoria Algoritmia
Teoria AlgoritmiaTeoria Algoritmia
Teoria Algoritmiadarioc77
 
Programacion logica 1
Programacion logica 1Programacion logica 1
Programacion logica 1profedelvalle
 

La actualidad más candente (19)

Introduccion A La Programacion
Introduccion A La ProgramacionIntroduccion A La Programacion
Introduccion A La Programacion
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Algoritmos, Pseudocódigo, diagramas de flujos y la metodologia para resolver ...
Algoritmos, Pseudocódigo, diagramas de flujos y la metodologia para resolver ...Algoritmos, Pseudocódigo, diagramas de flujos y la metodologia para resolver ...
Algoritmos, Pseudocódigo, diagramas de flujos y la metodologia para resolver ...
 
Fp03
Fp03Fp03
Fp03
 
Presentación lenguaje programación
Presentación lenguaje programaciónPresentación lenguaje programación
Presentación lenguaje programación
 
Algoritmos, Pseudocódigos, Diagrama de Flujo y Metodología
Algoritmos, Pseudocódigos, Diagrama de Flujo y MetodologíaAlgoritmos, Pseudocódigos, Diagrama de Flujo y Metodología
Algoritmos, Pseudocódigos, Diagrama de Flujo y Metodología
 
Algoritmos y programacion
Algoritmos y programacionAlgoritmos y programacion
Algoritmos y programacion
 
algoritmos
algoritmosalgoritmos
algoritmos
 
Conceptos sobre algoritmos
Conceptos sobre algoritmosConceptos sobre algoritmos
Conceptos sobre algoritmos
 
Tema6
Tema6Tema6
Tema6
 
Aplicaciones de estándares de calidad en la construcción de algoritmo
Aplicaciones de estándares de calidad en la construcción de algoritmoAplicaciones de estándares de calidad en la construcción de algoritmo
Aplicaciones de estándares de calidad en la construcción de algoritmo
 
Lógica de programación
Lógica de programaciónLógica de programación
Lógica de programación
 
Logica de progrmacionn
Logica de progrmacionnLogica de progrmacionn
Logica de progrmacionn
 
Desarrollo de habilidades de pensamiento
Desarrollo de habilidades de pensamientoDesarrollo de habilidades de pensamiento
Desarrollo de habilidades de pensamiento
 
Teoria Algoritmia
Teoria AlgoritmiaTeoria Algoritmia
Teoria Algoritmia
 
ALGORITMOS
ALGORITMOSALGORITMOS
ALGORITMOS
 
Programacion logica 1
Programacion logica 1Programacion logica 1
Programacion logica 1
 
Clase 1 lógica de programación
Clase 1 lógica de programaciónClase 1 lógica de programación
Clase 1 lógica de programación
 
pseint
pseintpseint
pseint
 

Similar a Aplicacion de estandare de calidad en la construccion de un algoritmo

Mauricio oropeza
Mauricio oropezaMauricio oropeza
Mauricio oropezamauricioo5
 
Algoritmos y metodología para la resolución de problemas basada en el computador
Algoritmos y metodología para la resolución de problemas basada en el computadorAlgoritmos y metodología para la resolución de problemas basada en el computador
Algoritmos y metodología para la resolución de problemas basada en el computadorRoibertOnielEstradaL
 
Resolver problemas con_una_computadora
Resolver problemas con_una_computadoraResolver problemas con_una_computadora
Resolver problemas con_una_computadoraFaridCastillo2
 
Resolver problemas con_una_computadora
Resolver problemas con_una_computadoraResolver problemas con_una_computadora
Resolver problemas con_una_computadoraJulioVizcarra5
 
ALGORITMOS
ALGORITMOSALGORITMOS
ALGORITMOSjhohamn
 
Presentacin1 150128161223-conversion-gate01
Presentacin1 150128161223-conversion-gate01Presentacin1 150128161223-conversion-gate01
Presentacin1 150128161223-conversion-gate01jhohamn
 
Unidad 1
Unidad 1Unidad 1
Unidad 112mary
 
3ra evaluacion, presentacion
3ra evaluacion, presentacion3ra evaluacion, presentacion
3ra evaluacion, presentacionfabiana733179
 
Unidad 1
Unidad 1Unidad 1
Unidad 1Looye
 
Unidad 1
Unidad 1Unidad 1
Unidad 1Looye
 

Similar a Aplicacion de estandare de calidad en la construccion de un algoritmo (20)

Mauricio oropeza
Mauricio oropezaMauricio oropeza
Mauricio oropeza
 
Algoritmos y metodología para la resolución de problemas basada en el computador
Algoritmos y metodología para la resolución de problemas basada en el computadorAlgoritmos y metodología para la resolución de problemas basada en el computador
Algoritmos y metodología para la resolución de problemas basada en el computador
 
Resolver problemas con_una_computadora
Resolver problemas con_una_computadoraResolver problemas con_una_computadora
Resolver problemas con_una_computadora
 
Resolver problemas con_una_computadora
Resolver problemas con_una_computadoraResolver problemas con_una_computadora
Resolver problemas con_una_computadora
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 
ALGORITMOS
ALGORITMOSALGORITMOS
ALGORITMOS
 
Presentacin1 150128161223-conversion-gate01
Presentacin1 150128161223-conversion-gate01Presentacin1 150128161223-conversion-gate01
Presentacin1 150128161223-conversion-gate01
 
Presentación1
Presentación1Presentación1
Presentación1
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 
3ra evaluacion, presentacion
3ra evaluacion, presentacion3ra evaluacion, presentacion
3ra evaluacion, presentacion
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 

Último

Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxJOSEFERNANDOARENASCA
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
Clase N°4 - Purificación y secuenciación de acidos nucleicos Benoit Diringer ...
Clase N°4 - Purificación y secuenciación de acidos nucleicos Benoit Diringer ...Clase N°4 - Purificación y secuenciación de acidos nucleicos Benoit Diringer ...
Clase N°4 - Purificación y secuenciación de acidos nucleicos Benoit Diringer ...Luis Olivera
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaarkananubis
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...JaquelineJuarez15
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.241514949
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELmaryfer27m
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 
ejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofJuancarlosHuertasNio1
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersIván López Martín
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...FacuMeza2
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativaAdrianaMartnez618894
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx241523733
 

Último (20)

Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptx
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
Clase N°4 - Purificación y secuenciación de acidos nucleicos Benoit Diringer ...
Clase N°4 - Purificación y secuenciación de acidos nucleicos Benoit Diringer ...Clase N°4 - Purificación y secuenciación de acidos nucleicos Benoit Diringer ...
Clase N°4 - Purificación y secuenciación de acidos nucleicos Benoit Diringer ...
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en mina
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
El gusano informático Morris (1988) - Julio Ardita (1995) - Citizenfour (2014...
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFEL
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 
ejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sofejercicios pseint para aprogramacion sof
ejercicios pseint para aprogramacion sof
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativa
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx
 

Aplicacion de estandare de calidad en la construccion de un algoritmo

  • 1. REPÚBLICA BOLIVARIANA DE VENEZUELA MINISTERIO DEL PODER POPULAR PARA LA EDUCACIÓN UNIVERSITARIA PNF-INFORMATICA UNIVERSIDAD POLITÉCNICA TERRITORIAL ALONSO GAMERO Aplicaciones de estándares de calidad en la construcción de algoritmos Realizado por: Jonmar Rodríguez
  • 2. INTRODUCCIÓN El acto de diseñar un algoritmo puede considerarse como una tarea que difícilmente podrá ser del todo automatizada. Es decir que todo problema algorítmico resulta inmediato de resolver, otros son bastante complejos. La investigación en esta área ha permitido descubrir un conjunto de métodos o esquemas de diseño hacia los cuales puede orientarse la realización de muchos algoritmos. No obstante, idear un algoritmo continúa siendo una labor bastante creativa donde los conocimientos y la experiencia del propio diseñador tienen un papel fundamental. Una forma de facilitar esta labor consiste en recurrir a técnicas conocidas de diseño de algoritmos, es decir, a esquemas muy generales que pueden adaptarse a un problema particular al detallar las partes generales del esquema, requiere un análisis minucioso del problema de forma que la solución se vaya construyendo en etapas. Aun así, hay problemas cuya solución no puede hallarse sino mediante un proceso de búsqueda, a pesar de lo complejas que son las operaciones. Por último, Si el hábil programador dispone de un recetario de algoritmos de donde poder seleccionar el más adecuado para cada problema, su tarea se simplifica. Aprender los principios básicos del diseño de algoritmos podemos preguntarnos por un método aceptable. El mas entendido, y quizás el mejor, es organizar el diseño sobre un esquema de algoritmo o una técnica de diseño que haya demostrado su utilidad para otros problemas. Este método de trabajo es practicable, puesto que existe un número reducido de esquema y técnicas de diseño. El conocimiento de técnicas de diseño es solo un primer paso para el diseñador, que debe completarse con otros conocimientos y sobre todo, con la experiencia.
  • 3. Construcción a Estándares de Calidad En el Diseño de Algoritmos y Construcción de Programas. Sin importar cualquiera que sea el tipo de software a ser desarrollado sea de sistemas (Son programas que sirven a otros programas en el trabajo de desarrollo como compiladores, editores, ..), tiempo real (Software encargado de analizar datos del mundo en forma real tales como análisis de datos, control automatizado, monitoreo de datos), gestión (a esta categoría se incluye el software comercial a nivel empresarial nóminas, inventarios), ingeniería y científico (es software que posee un amplio manejo numérico usado en biología, astronomía, CAD, …), empotrado (software que se encuentra residente en memoria, tales como : controles automáticos en los vehículos, sistemas de background, partes del sistema operativo, …), computación personal (software comercial de uso local como procesadores de texto, hojas electrónicas, navegadores web, calendarios, agendas, recetarios, …), inteligencia artificial (software de procesamiento especial sistemas expertos, sistemas basados en el conocimiento, generalmente no usan algoritmos numéricos). Todos los tipos de software mencionados requieren que los analistas, diseñadores y desarrolladores apliquen características y elementos de calidad para que se logren productos a las necesidades del usuario, estas necesidades se comienzan a encontrar un camino de solución a través de la aplicación de elementos de calidad, así se presentan dos de los más valiosos como son la eficiencia y la eficacia .
  • 4. Forma de realizar un algoritmo Los algoritmos pueden ser realizados de muchas formas o 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.
  • 5. Ejemplo de Algoritmo Podemos idear un algoritmo para un determinado proceso, así como también hacerlo en diferentes formas. Por ejemplo: Cómo podríamos encontrar el promedio de un conjunto de números? Una posible solución sería: 1.- Sumar los números dados. 2.- Contar dichos números. 3.- Dividir el resultado obtenido en el punto 1 entre el resultado obtenido en el punto 2.
  • 6. Otra clase de ejemplo de Algoritmos, sería el de una llamada telefónica, o el proceso para efectuar un viaje en el Metro de Caracas, o la obtención de la licencia para conducir o el cambio de un caucho que esté bajo de aire, etc.; en fin, hay muchas formas de aplicar los algoritmos en cuestiones cotidianas descomponiendo la acción en pasos lógicos, como es el caso de una llamada desde una cabina de un teléfono público: 1.- Inicio 2.- Descolgar el teléfono 3.- Esperar la señal digital. 4.- Preguntamos si está dañado. Si lo está: Vamos al paso 5. Si no lo está: Vamos al paso 8. 5.- Vociferar una palabra de mal gusto y fruncir el ceño. 6.- Colgar. 7.- Fin. 8.- Digitar los números. 9.- Verificamos si suena ocupado. Si suena ocupado: Vamos al paso 11. Si no lo está: Vamos al paso 13. 10.-Insistir digitando los números. 11.- Ir al paso 8. 12.- Verificamos si contestan. Si contestan: Vamos al paso 14 Si no contestan: Vamos al paso 21. 13.- Preguntamos si se encuentra la persona. Si se encuentra: Vamos al paso 14. Si no se encuentra: Vamos al paso 17. 14.- Hablar lo deseado. 15.- Colgar. 16.- Fin. 17.- Pensar algo malo. 18.- Tomar un café y tranquilizarse. 19.- Ir al paso 15.
  • 7. Forma de Trazar 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. Lenguaje natural (código binario) Algoritmo Pseudocódigo Diagrama libre (diagrama de flujo)
  • 8. Diagrama de flujo y Pseudocódigo Los diagramas de flujo: son descripciones gráficas de algoritmos; usan símbolos conectados con flechas para indicar la secuencia de instrucciones y están regidos por ISO. Los diagramas de flujo son usados para representar algoritmos pequeños, ya que abarcan mucho espacio y su construcción es laboriosa. Por su facilidad de lectura son usados como introducción a los algoritmos, descripción de un lenguaje y descripción de procesos a personas ajenas a la computación. El pseudocódigo: está pensado para facilitar a las personas el entendimiento de un algoritmo, y por lo tanto puede omitir detalles irrelevantes que son necesarios en una implementación. Programadores diferentes suelen utilizar convenciones distintas, que pueden estar basadas en la sintaxis de lenguajes de programación concretos. Sin embargo, el pseudocódigo, en general, es comprensible sin necesidad de conocer o utilizar un entorno de programación específico, y es a la vez suficientemente estructurado para que su implementación se pueda hacer directamente a partir de él. El pseudocódigo: (falso lenguaje, el prefijo pseudo significa falso) es una descripción de alto nivel de un algoritmo que emplea una mezcla de lenguaje natural con algunas convenciones sintácticas propias de lenguajes de programación, como asignaciones, ciclos y condicionales, aunque no está regido por ningún estándar. Es utilizado para describir algoritmos en libros y publicaciones científicas, y como producto intermedio durante el desarrollo de un algoritmo, como los |diagramas de flujo, aunque presentan una ventaja importante sobre estos, y es que los algoritmos descritos en pseudocódigo requieren menos espacio para representar instrucciones complejas.
  • 9. forma y Técnica de documentación de algoritmos y programa Todo problema algorítmico es un reto para su diseñador, algunos resultan inmediatos de resolver, otros son bastante complejos. La investigación en esta área ha permitido descubrir un conjunto de métodos o esquemas de diseño hacia los cuales puede orientarse la realización de muchos algoritmos. No obstante, y a pesar de que resulta mas adecuado en bastantes casos utilizar alguno de estos esquemas que realizar un diseño desde cero, idear un algoritmo continua siendo una labor bastante creativa donde los conocimientos y la experiencia del propio diseñador tiene un papel fundamental. El diseño de un algoritmo que resuelva un problema es, en general, una tarea difícil. Una forma de facilitar esta labor consiste en recurrir a técnicas conocidas de diseño de algoritmos, se decir, a esquemas muy generales que pueden adaptarse a un problema particular al detallar las partes generales del esquema. Muchos problemas pueden resolverse buscando una solución fácil y directa pero, a la vez bastante ineficiente. Este método, llamado de fuerza bruta, puede ser muy directo, pero con un poco de análisis puede encontrarse algoritmos más eficientes. El esquema mas sencillo quizás sea el llamado divide y vencerás, basado en la descomposición de un problema en sus problemas. Otros esquemas requieren un análisis minucioso del problema de forma que la solución se vaya construyendo en etapas. Si puede preverse que decisión conviene en cada etapa para producir cierto tipo de mejor resultado, tenemos una solución voraz, si la decisión en una etapa, solo puede tomarse tras considerar varias soluciones de otras etapas más simples, la solución es dinámica. Aun así, hay problemas cuya solución no puede hallarse sino mediante un proceso de búsqueda, a pesar de lo complejas que son las operaciones de búsqueda, su uso adecuado mediante el esquema de búsqueda con retroceso (o backtracking).
  • 10. 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: 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: 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, 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 frecuente se han establecido algunos estándares. Técnicas de Escritura y Pruebas de Algoritmos
  • 11. CONCLUSIÓN Los esfuerzos realizados en el mundo por ayudar a estudiantes y programadores a mejorar la calidad del software que se diseña. La forma de trazabilidad un buen algoritmo que asegura que tanto algoritmos como programa resulten legibles y puedan modificarse fácilmente en caso de necesidad. La documentación de un algoritmo y programa necesita siempre de una documentación que permita a los usuarios aprender a utilizarlos y mantenerlo, La documentación del programa se puede concretar a manual del usuario y manual de mantenimiento.