SlideShare una empresa de Scribd logo
SISTEMAS INFORMATICOSALGORITMOS EN EL SOTWARE
¿Qué es un algoritmo?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.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.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.
EL LENGUAJE DE PROGRAMACIÓN:Existen diferentes tipos, de bajo nivel y de alto nivel.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.Tipos de lenguajes:Lenguaje máquina:Todo se programa con 1 y 0, que es lo único que entiende el ordenador.Ventaja: No necesita ser traducido.Inconveniente: La dificultad, la confusión, para corregir errores, es propia de cada máquina.De bajo nivel o ensamblador: Se utilizan mnemotécnicos (abreviaturas).Ventaja: No es tan difícil como el lenguaje máquina.Inconvenientes: Cada máquina tiene su propio lenguaje, necesitamos un proceso de traducción.El programa escrito en ensamblador se llama programa fuente y el programa que se obtiene al ensamblarlo se llama programa objeto.Lenguajes de alto nivel: Los más cercanos al lenguaje humano.Ventaja: Son independientes de cada maquina (los compiladores aceptan las instrucciones estándar, pero también tienen instrucciones propias).Inconveniente: El proceso de traducción es muy largo y ocupa más recursos. Aprovecha menos los recursos internos
DISEÑO DEL 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 intentarlas resolverlas por separado. Esta metodología de “divide y vencerás” también se conoce con el nombre de diseño descendente.Al dividir el problema en módulos o partes se comprende más fácilmente.
   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.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: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.Si estamos utilizando pseudocódigo tenemos también que usar la identación.
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.DIAGRAMAS N-S O DE NASSI-SCHEDERMAN:Es semejante al flujograma, pero sin flechas y cambiando algo los símbolos de condición y repetición. Las cajas van unidas.·
PSEUDOCÓDIGO: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.El pseudocódigo también va a utilizar una serie de palabras clave o palabras especiales que va indicando lo que significa el algoritmo.PROGRAMA:Un programa es un conjunto de instrucciones que al ser ejecutadas resuelven un problema.Un programa tiene 3 partes:·  Entrada de datos: 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.
Acciones de un algoritmo: Parte en la que se resuelve el problema usando los datos de entrada.·Salida: Mostrar en un dispositivo de salida los resultados de las acciones anteriormente realizadas. Son acciones de escritura.En la parte de las acciones a ejecutar se distinguirán dos partes:Declaración de variables.Instrucciones del programa.ESCRITURA DE ALGORITMOS Y PROGRAMAS: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.La primera es la zona de declaraciones de var y const, y la segunda es la zona de las instrucciones del programa.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.

Más contenido relacionado

PPTX
Ventajas y desventajas de visual studio
PPTX
Comparación de sistemas operativos
PPTX
Historia y evolucion del software
PPT
Presentacion Programacion
PPT
arquitectura del computador
PPTX
Que es el SOFTWARE
PDF
10 ejercicios-de-do-while
PPTX
Modelos de arquitecturas de computo
Ventajas y desventajas de visual studio
Comparación de sistemas operativos
Historia y evolucion del software
Presentacion Programacion
arquitectura del computador
Que es el SOFTWARE
10 ejercicios-de-do-while
Modelos de arquitecturas de computo

La actualidad más candente (20)

DOCX
Glosario de software
PPT
PROGRAMACION CONCURRENTE
PPTX
Sistema Operativo
PDF
Cuadro comparativo de sistemas operativo libres y privativos
PPTX
Qué es un hardware
PPTX
Ventajas y desventajas de los sistemas operativos
PDF
Dispositivos portatiles
PPSX
Lógica de programación
PPTX
Introduccion a la programacion
PPTX
INTRODUCCIÓN A LA PROGRAMACIÓN (1).pptx
PPTX
5 SISTEMAS OPERATIVOS CON LICENCIA.pptx
PPTX
Lenguaje de la computadora
PPTX
Sistema Operativo Solaris
PPTX
Caracteristicas de windows
PPTX
SISTEMAS OPERATIVOS 1.pptx
PPTX
Presentación PSeInt
PPTX
Sistema operativo windows
PPTX
Presentacion del teclado
DOCX
Ventajas y Desventajas - Sistemas Operativos
PPTX
GESTION DE PROCESOS Sistemas Operativos
Glosario de software
PROGRAMACION CONCURRENTE
Sistema Operativo
Cuadro comparativo de sistemas operativo libres y privativos
Qué es un hardware
Ventajas y desventajas de los sistemas operativos
Dispositivos portatiles
Lógica de programación
Introduccion a la programacion
INTRODUCCIÓN A LA PROGRAMACIÓN (1).pptx
5 SISTEMAS OPERATIVOS CON LICENCIA.pptx
Lenguaje de la computadora
Sistema Operativo Solaris
Caracteristicas de windows
SISTEMAS OPERATIVOS 1.pptx
Presentación PSeInt
Sistema operativo windows
Presentacion del teclado
Ventajas y Desventajas - Sistemas Operativos
GESTION DE PROCESOS Sistemas Operativos
Publicidad

Similar a ALGORITMOS EN EL SOFTWARE (20)

PPTX
ALGORITMO Y METODOLOGÍA PARA LA RESOLUCIÓN PROBLEMAS BASADOS EN EL COMPUTADOR
PPTX
Resolver problemas con_una_computadora
PPTX
Resolver problemas con_una_computadora
PPTX
Aplicaciones de estándares de calidad en la construcción de algoritmaos
PDF
ALGORITMOS DE PROGRAMACION (1).pdf
PDF
Diseno dealgoritmos
DOCX
Act26
DOCX
Glosario de conceptos de la creación de los programas
PDF
Conceptos basicos algoritmos
DOCX
9º Algoritmos
DOCX
Algoritmos
DOCX
Algoritmos
PDF
1. conceptos básicos sobre algoritmos adsi
DOCX
Algoritmos
DOCX
Algoritmos
DOCX
Algoritmos
DOCX
Algoritmos
PPTX
ALGORITMO
PPSX
Solución de problemas aplicando la computadora
PPSX
Solución de problemas aplicando la computadora
ALGORITMO Y METODOLOGÍA PARA LA RESOLUCIÓN PROBLEMAS BASADOS EN EL COMPUTADOR
Resolver problemas con_una_computadora
Resolver problemas con_una_computadora
Aplicaciones de estándares de calidad en la construcción de algoritmaos
ALGORITMOS DE PROGRAMACION (1).pdf
Diseno dealgoritmos
Act26
Glosario de conceptos de la creación de los programas
Conceptos basicos algoritmos
9º Algoritmos
Algoritmos
Algoritmos
1. conceptos básicos sobre algoritmos adsi
Algoritmos
Algoritmos
Algoritmos
Algoritmos
ALGORITMO
Solución de problemas aplicando la computadora
Solución de problemas aplicando la computadora
Publicidad

Más de sistemas informaticos (12)

PPTX
Evolucion de las computadoras
PPTX
EVOLUCIÒN DE LAS INTERFACES
PPTX
cAtEgOrIaS dEl SoFtWaRe gRuPo Nº1
PPTX
EVOLUCION DE LAS COMPUTADORAS
PPTX
PUERTOS Y RANURAS
PPTX
aplicaciones del software
PPTX
Evolucion de la Comutadora
PPTX
PPTX
dispositivos de almacenamiento
PPSX
PPTX
Dispositivos de Entrada (Cristhian Vásquez)
PPT
Evolución del Computador
Evolucion de las computadoras
EVOLUCIÒN DE LAS INTERFACES
cAtEgOrIaS dEl SoFtWaRe gRuPo Nº1
EVOLUCION DE LAS COMPUTADORAS
PUERTOS Y RANURAS
aplicaciones del software
Evolucion de la Comutadora
dispositivos de almacenamiento
Dispositivos de Entrada (Cristhian Vásquez)
Evolución del Computador

ALGORITMOS EN EL SOFTWARE

  • 2. ¿Qué es un algoritmo?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.Características:Tiene que ser preciso.
  • 3. Tiene que estar bien definido.
  • 4. Tiene que ser finito.La programación es adaptar el algoritmo al ordenador.El algoritmo es independiente según donde lo implemente.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.
  • 5. EL LENGUAJE DE PROGRAMACIÓN:Existen diferentes tipos, de bajo nivel y de alto nivel.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.Tipos de lenguajes:Lenguaje máquina:Todo se programa con 1 y 0, que es lo único que entiende el ordenador.Ventaja: No necesita ser traducido.Inconveniente: La dificultad, la confusión, para corregir errores, es propia de cada máquina.De bajo nivel o ensamblador: Se utilizan mnemotécnicos (abreviaturas).Ventaja: No es tan difícil como el lenguaje máquina.Inconvenientes: Cada máquina tiene su propio lenguaje, necesitamos un proceso de traducción.El programa escrito en ensamblador se llama programa fuente y el programa que se obtiene al ensamblarlo se llama programa objeto.Lenguajes de alto nivel: Los más cercanos al lenguaje humano.Ventaja: Son independientes de cada maquina (los compiladores aceptan las instrucciones estándar, pero también tienen instrucciones propias).Inconveniente: El proceso de traducción es muy largo y ocupa más recursos. Aprovecha menos los recursos internos
  • 6. DISEÑO DEL 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 intentarlas resolverlas por separado. Esta metodología de “divide y vencerás” también se conoce con el nombre de diseño descendente.Al dividir el problema en módulos o partes se comprende más fácilmente.
  • 7. 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.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: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.Si estamos utilizando pseudocódigo tenemos también que usar la identación.
  • 8. 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.DIAGRAMAS N-S O DE NASSI-SCHEDERMAN:Es semejante al flujograma, pero sin flechas y cambiando algo los símbolos de condición y repetición. Las cajas van unidas.·
  • 9. PSEUDOCÓDIGO: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.El pseudocódigo también va a utilizar una serie de palabras clave o palabras especiales que va indicando lo que significa el algoritmo.PROGRAMA:Un programa es un conjunto de instrucciones que al ser ejecutadas resuelven un problema.Un programa tiene 3 partes:· Entrada de datos: 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.
  • 10. Acciones de un algoritmo: Parte en la que se resuelve el problema usando los datos de entrada.·Salida: Mostrar en un dispositivo de salida los resultados de las acciones anteriormente realizadas. Son acciones de escritura.En la parte de las acciones a ejecutar se distinguirán dos partes:Declaración de variables.Instrucciones del programa.ESCRITURA DE ALGORITMOS Y PROGRAMAS: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.La primera es la zona de declaraciones de var y const, y la segunda es la zona de las instrucciones del programa.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.
  • 11. Software. Se define la calidad de software como la ausencia de errores de funcionamiento, la adecuación a las necesidades del usuario, y el alcance de un desempeño apropiado (tiempo, volumen, espacio), además del cumplimiento de los estándares. Los objetivos que la calidad persigue son : La aceptación y la Mantenibilidad (posibilidad y facilidad de corrección, ajuste y modificación durante largo tiempo). Para alcanzar estos objetivos, es necesaria una actitud y compromiso de todo el personal que se encuentre en el desarrollo del proyecto, y en todas y cada una de las etapas (en general, planeación, análisis, diseño, programación, pruebas, mantenimiento) correspondientes al ciclo de vida que se hubiese seleccionado para el proyecto.