ALGORITMOS EN EL SOFTWARE

10
SISTEMAS INFORMATICOS ALGORITMOS EN EL SOTWARE

description

ALGORITMOS DEL SOFTWARE

Transcript of ALGORITMOS EN EL SOFTWARE

Page 1: ALGORITMOS EN EL SOFTWARE

SISTEMAS INFORMATICOS

ALGORITMOS EN EL

SOTWARE

Page 2: ALGORITMOS EN EL SOFTWARE

¿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.

Page 3: ALGORITMOS EN EL SOFTWARE

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

Page 4: ALGORITMOS EN EL SOFTWARE

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.

Page 5: ALGORITMOS EN EL SOFTWARE

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.

·

Page 6: ALGORITMOS EN EL SOFTWARE

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.

Page 7: ALGORITMOS EN EL SOFTWARE

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.

Page 8: ALGORITMOS EN EL SOFTWARE

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.

Page 9: ALGORITMOS EN EL SOFTWARE
Page 10: ALGORITMOS EN EL SOFTWARE