SlideShare a Scribd company logo
1 of 10
Download to read offline
SISTEMAS INFORMATICOS,[object Object],ALGORITMOS EN EL SOTWARE,[object Object]
¿Qué es un algoritmo?,[object Object],Es una formula para resolver un problema. Es un conjunto de acciones o secuencia de operaciones que ejecutadas en un determinado orden resuelven el problema. Existen n algoritmos, hay que coger el más efectivo.,[object Object],Características:,[object Object],[object Object]
Tiene que estar bien definido.
Tiene que ser finito.La programación es adaptar el algoritmo al ordenador.,[object Object],El algoritmo es independiente según donde lo implemente.,[object Object],Fases:,[object Object],Análisis preliminar o evaluación del problema: ,[object Object],Estudiar el problema en general y ver que parte nos interesa.,[object Object],Definición o análisis del problema: ,[object Object],Ver que es lo que entra y que es lo que sale, las posibles condiciones o restricciones, ...,[object Object],Diseño del algoritmo:,[object Object],Diseñar la solución.,[object Object],El programa: ,[object Object],Codificación del algoritmo en un lenguaje de programación.,[object Object],Ejecución del programa y las pruebas:,[object Object],Ver si el programa hace lo que queríamos.,[object Object]
EL LENGUAJE DE PROGRAMACIÓN:,[object Object],Existen diferentes tipos, de bajo nivel y de alto nivel.,[object Object],Una instrucción es cada paso de un algoritmo, pero que lo ejecuta el ordenador. Un programa es un conjunto de instrucciones que ejecutadas ordenadamente resuelven un problema.,[object Object],Tipos de lenguajes:,[object Object],Lenguaje máquina:,[object Object],Todo se programa con 1 y 0, que es lo único que entiende el ordenador.,[object Object],Ventaja: No necesita ser traducido.,[object Object],Inconveniente: La dificultad, la confusión, para corregir errores, es propia de cada máquina.,[object Object],De bajo nivel o ensamblador: ,[object Object],Se utilizan mnemotécnicos (abreviaturas).,[object Object],Ventaja: No es tan difícil como el lenguaje máquina.,[object Object],Inconvenientes: Cada máquina tiene su propio lenguaje, necesitamos un proceso de traducción.,[object Object],El programa escrito en ensamblador se llama programa fuente y el programa que se obtiene al ensamblarlo se llama programa objeto.,[object Object],Lenguajes de alto nivel: ,[object Object],Los más cercanos al lenguaje humano.,[object Object],Ventaja: Son independientes de cada maquina (los compiladores aceptan las instrucciones estándar, pero también tienen instrucciones propias).,[object Object],Inconveniente: El proceso de traducción es muy largo y ocupa más recursos. Aprovecha menos los recursos internos,[object Object]
DISEÑO DEL ALGORITMO:,[object Object],Una vez comprendido el problema se trata de determinar que pasos o acciones tenemos que realizar para resolverlo.,[object Object],Como criterios a seguir a la hora de dar la solución algorítmica hay que tener en cuenta:,[object Object],·  Si el problema es bastante complicado lo mejor es dividirlo en partes más pequeñas e intentarlas resolverlas por separado. Esta metodología de “divide y vencerás” también se conoce con el nombre de diseño descendente.,[object Object],[object Object]
   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 de lo más complejo a lo más simple.,[object Object],La representación de los algoritmos:,[object Object],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.,[object Object],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.,[object Object],Escritura del algoritmo:,[object Object],Las acciones o pasos a realizar tienen que tener un determinado orden.,[object Object],En cada momento solo se puede ejecutar una acción.,[object Object],Dentro de las sentencias del algoritmo pueden existir palabras reservadas.,[object Object],Si estamos utilizando pseudocódigo tenemos también que usar la identación.,[object Object]
FLUJOGRAMAS:,[object Object],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.,[object Object],Las cajas están conectadas entre sí por líneas y eso nos indica el orden en el que tenemos que ejecutar las acciones.,[object Object],En todo algoritmo siempre habrá una caja de inicio y otra de fin, para el principio y final del algoritmo.,[object Object],DIAGRAMAS N-S O DE NASSI-SCHEDERMAN:,[object Object],Es semejante al flujograma, pero sin flechas y cambiando algo los símbolos de condición y repetición. Las cajas van unidas.,[object Object],·,[object Object]
PSEUDOCÓDIGO:,[object Object],Es un lenguaje de especificación de algoritmos, pero muy parecido a cualquier lenguaje de programación, por lo que luego su traducción al lenguaje es muy sencillo, pero con la ventaja de que no se rige por las normas de un lenguaje en particular. Nos centramos más en la lógica del problema.,[object Object],El pseudocódigo también va a utilizar una serie de palabras clave o palabras especiales que va indicando lo que significa el algoritmo.,[object Object],PROGRAMA:,[object Object],Un programa es un conjunto de instrucciones que al ser ejecutadas resuelven un problema.,[object Object],Un programa tiene 3 partes:,[object Object],·  Entrada de datos: ,[object Object],Normalmente se va a ejecutar a través de instrucciones de lectura, y en lo que se le pide al usuario la información que el programa va a necesitar para ejecutarse y se hace a través de lecturas.,[object Object]
Acciones de un algoritmo:,[object Object], Parte en la que se resuelve el problema usando los datos de entrada.,[object Object],·Salida:,[object Object], Mostrar en un dispositivo de salida los resultados de las acciones anteriormente realizadas. Son acciones de escritura.,[object Object],En la parte de las acciones a ejecutar se distinguirán dos partes:,[object Object],Declaración de variables.,[object Object],Instrucciones del programa.,[object Object],ESCRITURA DE ALGORITMOS Y PROGRAMAS:,[object Object],En pseudocódigo el programa tiene dos partes, la cabecera y el cuerpo. La cabecera contiene el nombre del algoritmo, y el cuerpo contiene 2 partes.,[object Object],La primera es la zona de declaraciones de var y const, y la segunda es la zona de las instrucciones del programa.,[object Object],En la zona de instrucciones para que quede más legible hay que usar la identación y si es necesario hay que usar comentarios entre llaves.,[object Object]

More Related Content

What's hot

Principios de programacion
Principios de programacionPrincipios de programacion
Principios de programacionrulo182
 
Lenguajes de programacion (exposicion)
Lenguajes de programacion (exposicion)Lenguajes de programacion (exposicion)
Lenguajes de programacion (exposicion)YJGG
 
Estandares y modelos de calidad del software
Estandares y modelos de calidad del softwareEstandares y modelos de calidad del software
Estandares y modelos de calidad del softwareaagalvisg
 
Unidad 1.3 Analisis De Requerimientos
Unidad 1.3 Analisis De RequerimientosUnidad 1.3 Analisis De Requerimientos
Unidad 1.3 Analisis De RequerimientosSergio Sanchez
 
Modelo De Desarrollo Evolutivo
Modelo De Desarrollo EvolutivoModelo De Desarrollo Evolutivo
Modelo De Desarrollo Evolutivocamilosena89
 
2 2 estilos arquitectonicos
2 2 estilos arquitectonicos2 2 estilos arquitectonicos
2 2 estilos arquitectonicoslandeta_p
 
Calidad de software
Calidad de softwareCalidad de software
Calidad de softwareyecka25
 
Métricas de tamaño (Ingeniería de Software)
Métricas de tamaño (Ingeniería de Software)Métricas de tamaño (Ingeniería de Software)
Métricas de tamaño (Ingeniería de Software)Sergio Olivares
 
Factores de calidad según mc call
Factores de calidad según mc callFactores de calidad según mc call
Factores de calidad según mc callclauddiaa
 
Modelo de desarrollo de software
Modelo de desarrollo de softwareModelo de desarrollo de software
Modelo de desarrollo de softwareSaul mendoza valdez
 
Ingeniería del software basada en componentes
Ingeniería del software basada en componentesIngeniería del software basada en componentes
Ingeniería del software basada en componentesjose_macias
 
Modelo en cascada
Modelo en cascadaModelo en cascada
Modelo en cascadahome
 
Modelos de software ventajas y desventajas
Modelos de software ventajas y desventajasModelos de software ventajas y desventajas
Modelos de software ventajas y desventajasEdith Carreño
 
Calidad de software - usabilidad y accesibilidad
Calidad de software - usabilidad y accesibilidadCalidad de software - usabilidad y accesibilidad
Calidad de software - usabilidad y accesibilidadRodrigo Ronda
 

What's hot (20)

Principios de programacion
Principios de programacionPrincipios de programacion
Principios de programacion
 
Factores de calidad del software
Factores de calidad del softwareFactores de calidad del software
Factores de calidad del software
 
Lenguajes de programacion (exposicion)
Lenguajes de programacion (exposicion)Lenguajes de programacion (exposicion)
Lenguajes de programacion (exposicion)
 
Ingeniería de software modelo incremental
Ingeniería de software  modelo incrementalIngeniería de software  modelo incremental
Ingeniería de software modelo incremental
 
Estandares y modelos de calidad del software
Estandares y modelos de calidad del softwareEstandares y modelos de calidad del software
Estandares y modelos de calidad del software
 
Unidad 1.3 Analisis De Requerimientos
Unidad 1.3 Analisis De RequerimientosUnidad 1.3 Analisis De Requerimientos
Unidad 1.3 Analisis De Requerimientos
 
Modelo De Desarrollo Evolutivo
Modelo De Desarrollo EvolutivoModelo De Desarrollo Evolutivo
Modelo De Desarrollo Evolutivo
 
2 2 estilos arquitectonicos
2 2 estilos arquitectonicos2 2 estilos arquitectonicos
2 2 estilos arquitectonicos
 
Ingenieria de software
Ingenieria de softwareIngenieria de software
Ingenieria de software
 
Diseño de la interfaz de usuario
Diseño de la interfaz de usuarioDiseño de la interfaz de usuario
Diseño de la interfaz de usuario
 
Mitos de-software.
Mitos de-software.Mitos de-software.
Mitos de-software.
 
Calidad de software
Calidad de softwareCalidad de software
Calidad de software
 
Clases/Tipos de lenguajes de programación
Clases/Tipos de lenguajes de programaciónClases/Tipos de lenguajes de programación
Clases/Tipos de lenguajes de programación
 
Métricas de tamaño (Ingeniería de Software)
Métricas de tamaño (Ingeniería de Software)Métricas de tamaño (Ingeniería de Software)
Métricas de tamaño (Ingeniería de Software)
 
Factores de calidad según mc call
Factores de calidad según mc callFactores de calidad según mc call
Factores de calidad según mc call
 
Modelo de desarrollo de software
Modelo de desarrollo de softwareModelo de desarrollo de software
Modelo de desarrollo de software
 
Ingeniería del software basada en componentes
Ingeniería del software basada en componentesIngeniería del software basada en componentes
Ingeniería del software basada en componentes
 
Modelo en cascada
Modelo en cascadaModelo en cascada
Modelo en cascada
 
Modelos de software ventajas y desventajas
Modelos de software ventajas y desventajasModelos de software ventajas y desventajas
Modelos de software ventajas y desventajas
 
Calidad de software - usabilidad y accesibilidad
Calidad de software - usabilidad y accesibilidadCalidad de software - usabilidad y accesibilidad
Calidad de software - usabilidad y accesibilidad
 

Similar to ALGORITMOS EN EL SOFTWARE

Similar to ALGORITMOS EN EL SOFTWARE (20)

ALGORITMOS
ALGORITMOS ALGORITMOS
ALGORITMOS
 
ALGORITMOS y ejemplo en java.pptx
ALGORITMOS  y ejemplo en java.pptxALGORITMOS  y ejemplo en java.pptx
ALGORITMOS y ejemplo en java.pptx
 
Diagramas de flujo
Diagramas de flujoDiagramas de flujo
Diagramas de flujo
 
PROGRAMACION-copia.pptx
PROGRAMACION-copia.pptxPROGRAMACION-copia.pptx
PROGRAMACION-copia.pptx
 
ALGORITMOS
ALGORITMOSALGORITMOS
ALGORITMOS
 
Presentación de slideshare
Presentación de slidesharePresentación de slideshare
Presentación de slideshare
 
Presentación de slideshare
Presentación de slidesharePresentación de slideshare
Presentación de slideshare
 
Tecnicatura en programacion
Tecnicatura en programacionTecnicatura en programacion
Tecnicatura en programacion
 
Tecnicatura en programacion
Tecnicatura en programacionTecnicatura en programacion
Tecnicatura en programacion
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Presentacion de informatica
Presentacion de informaticaPresentacion de informatica
Presentacion de informatica
 
Qué es un algoritmo
Qué es un algoritmoQué es un algoritmo
Qué es un algoritmo
 
Algoritmica terminado
Algoritmica terminadoAlgoritmica terminado
Algoritmica terminado
 
Algoritmos diagrama-de-flujo
Algoritmos diagrama-de-flujoAlgoritmos diagrama-de-flujo
Algoritmos diagrama-de-flujo
 
Unidad 02 metodología para solucionar un problema
Unidad 02   metodología para solucionar un problemaUnidad 02   metodología para solucionar un problema
Unidad 02 metodología para solucionar un problema
 
PRINCIPIOS_ALGORITMOS_Lectura_2.pdf
PRINCIPIOS_ALGORITMOS_Lectura_2.pdfPRINCIPIOS_ALGORITMOS_Lectura_2.pdf
PRINCIPIOS_ALGORITMOS_Lectura_2.pdf
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Resolver problemas con_una_computadora
Resolver problemas con_una_computadoraResolver problemas con_una_computadora
Resolver problemas con_una_computadora
 

More from sistemas informaticos (12)

Evolucion de las computadoras
Evolucion de las computadorasEvolucion de las computadoras
Evolucion de las computadoras
 
EVOLUCIÒN DE LAS INTERFACES
EVOLUCIÒN DE LAS INTERFACES EVOLUCIÒN DE LAS INTERFACES
EVOLUCIÒN DE LAS INTERFACES
 
cAtEgOrIaS dEl SoFtWaRe gRuPo Nº1
cAtEgOrIaS dEl SoFtWaRe gRuPo Nº1cAtEgOrIaS dEl SoFtWaRe gRuPo Nº1
cAtEgOrIaS dEl SoFtWaRe gRuPo Nº1
 
EVOLUCION DE LAS COMPUTADORAS
EVOLUCION DE LAS COMPUTADORASEVOLUCION DE LAS COMPUTADORAS
EVOLUCION DE LAS COMPUTADORAS
 
PUERTOS Y RANURAS
PUERTOS Y RANURASPUERTOS Y RANURAS
PUERTOS Y RANURAS
 
aplicaciones del software
aplicaciones del softwareaplicaciones del software
aplicaciones del software
 
Evolucion de la Comutadora
Evolucion de la ComutadoraEvolucion de la Comutadora
Evolucion de la Comutadora
 
Grupo Nº 2
Grupo Nº 2Grupo Nº 2
Grupo Nº 2
 
dispositivos de almacenamiento
dispositivos de almacenamientodispositivos de almacenamiento
dispositivos de almacenamiento
 
Grupo nº6
Grupo nº6Grupo nº6
Grupo nº6
 
Dispositivos de Entrada (Cristhian Vásquez)
Dispositivos de Entrada (Cristhian Vásquez)Dispositivos de Entrada (Cristhian Vásquez)
Dispositivos de Entrada (Cristhian Vásquez)
 
Evolución del Computador
Evolución del ComputadorEvolución del Computador
Evolución del Computador
 

ALGORITMOS EN EL SOFTWARE