4.3 ALGORITMOS NUMERICOS

Un algoritmo es un conjunto finito de instrucciones o pasos que sirven para ejecutar una tarea y/o resolver un problema. De un modo más formal, un algoritmo es una secuencia finita de operaciones realizables, no ambiguas, cuya ejecución da una solución de un problema en un tiempo finito.

El término algoritmo no está exclusivamente relacionado con la matemática, ciencias de la computación o informática. En realidad, en la vida cotidiana empleamos algoritmos en multitud de ocasiones para resolver diversos problemas


Un algoritmo numérico es el conjunto de instrucciones ordenadas para resolver un problema que involucra procesos matemáticos (con calculo de formulas de manera repetida). Este tipo de algoritmos no admiten ambigüedades y debe darse cada uno de los pasos para su solución.
Se define el concepto de algoritmo numérico. Se presentan varios casos de problemas numéricos, se dan sus soluciones en forma algorítmica y se agrega en cada caso una representación en forma de diagrama de flujo.


Tipos de Algoritmos numericos


Algoritmos numéricos paralelos. Diseño, estudio y evaluación Una de las áreas de mayor importancia en el contexto de la computación paralela, y donde se está dedicando un gran esfuerzo al desarrollo de algoritmos numéricos eficientes, la constituye el álgebra lineal numérica.

Algoritmos paralelos para sistemas lineales. El estudio se centra en la elaboración de librerías portables que incluyen algoritmos eficientes para la resolución de grandes sistemas de ecuaciones lineales diseñados previamente por el grupo y evaluados tanto desde el punto de vista teórico como experimental.
Algoritmos paralelos para sistemas no lineales.Aunque los sistemas no lineales aparecen en muchos problemas científicos y de ingeniería que provienen de la discretización de ecuaciones diferenciales como por ejemplo, el cálculo de trayectorias o el estudio de sistemas oscilatorios, es un problema poco estudiado desde el punto de vista paralelo.








ALGORITMOS NUMERICOS
El programador diseña un programa, para resolver un problema particular.Diseñar es un proceso creativo.El proceso de diseño de un programa consta de los siguientes pasos o etapas:Pasos:
PasosEtapaDescripción
1Análisis del problemaConducen al diseño detallado por medio un código escrito en forma de un algoritmo
2Diseño de algoritmo
3CodificaciónSe implementa el algoritmo en un código escrito en un lenguaje de programación. Refleja las ideas desarrolladas en las etapas de análisis y diseño
4Compilación y ejecuciónTraduce el programa fuente a programa en código de maquina y lo ejecuta.
5VerificaciónBusca errores en las etapas anteriores y los elimina.
6Depuración
7DocumentaciónSon comentarios, etiquetas de texto, que facilitan la comprensión del programa
Concepto
Algoritmo: es un método para resolver un problema mediante una serie de pasos definidos, precisos y finitos.Preciso: implica el orden de realización de cada uno de los pasos
Definido: si se sigue dos veces, se obtiene el mismo resultado.
Finito: Tiene un numero determinado de pasos, implica que tiene un fin,
Tipos :
MétodoDescripciónEjemplos
AlgorítmicoUtiliza un algoritmo y puede ser implementado en una computadoraInstrucciones para manejar un vehículoInstrucciones para secar grano a granelInstrucciones para resolver ecuación de segundo grado
Heurística:Se apoya en el resultado obtenido en un análisis de alternativas de experiencias anteriores similares. De las mismas, a se deducen una serie de reglas empíricas o heurísticas que de ser seguidas, conducen a la selección de la mejor alternativa en todas o la mayoría de las veces.
Ejemplos
Los algoritmos se pueden
expresar por:Formulas
Diagramas de flujo
Norte-Sur,Top-Down
Pseudo códigoinicio
leer a,b,c
calcular
escribir perímetro
fin
Quick Basic es un lenguaje de programación estructurado y el algoritmo se representara en seudo código y/o diagrama de flujo.1. Análisis del problema:
Requiere la clara definición del problema donde se indique que va hacer el programa y cual ve a ser el resultado.
Debe detallarse las especificaciones de entrada y salida,
Los requisitos que definen el análisis son :
Para ver el gráfico seleccione la opción “Descargar”
La ecuación de segundo grado se define algebraicamente como :
La solución general viene dada por la expresión algebraica : (Algoritmo)
periférico
1Análisis del problema
2Def. del problemaHallar raíces ecua. 2do grdo
3Especif. de entradacoeficientes a, b, cTeclado
4Especif. de salidaX1, X2Pantalla
Impresora
Entrada: por teclado
coefDescripciónCodificación en QBasic
ateam. cuadráticoINPUT “Coef a =”;A
bterm. linealINPUT “Coef b =”;B
cterm. independienteINPUT “Coef c =”;C
CalculoExpresión algebraicaCodificación en QBasic
X1=((-B+SQR(B^2-4*A*C))
Análisis de proceso implica que hace el programa.Diseño implica como se hace o realiza la tarea (problema) solicitadoEn el diseño:
El todo es la sumatoria de las partes.Divide el todo en varias partes.En la resolución de un problema complejo, se divide en varios sub problemas y seguidamente se vuelven a dividir los sub problemas en otros mas sencillos, hasta que puedan implementarse en el computador.
Esta característica define lo que se entiende como diseño descendente( Top-Down / Norte-Sur ) o diseño modular.
El proceso de ruptura del problema en cada etapa se llama refinamiento sucesivo.
Cada problema se resuelve mediante un modulo (subprograma) y tiene un solo punto de entrada y un solo punto de salida.Un programa bien diseñado consta de un programa principal (modulo de nivel mas alto) que llama a subprogramas (módulos de nivel mas bajo), que a su vez pueden llamar otros sub programas.Los programas que se estructuran de esta forma, se dicen que tienen diseño modular y el método de romper el programa en modos pequeños se llama programación modular.
Los módulos pueden ser planificados, codificados, compilados y depurados independientemente pueden ser intercambiados entre si.
Este proceso implica la ejecución de los siguientes pasos:
1programar un modulo
2comprobar un modulo
3depurar el modulo
4combinar el modulo con módulos anteriores
este proceso convierte el resultado del análisis del problema en un diseño modular con refinamientos sucesivos que permiten una traducción a un lenguaje que se denomina diseño del algoritmo.
El algoritmo se puede representar por medio de dos formas :
Pseudo código
Diagrama de flujo:
Pseudo código: es el lenguaje de especificación de algoritmos y tiene una estructura: Las instrucciones se escriben en ingles o en palabras similares al ingles o español que facilitan la escritura de programación
Para la resolución de una ecuación de segundo grado se escribiría
inicio
Introducir coeficientes a, b y c
Imprimir títulos primera raíz, segunda raíz, no tiene solución,
Calcular raíz 1 y raíz 2
Imprimir raíz 1 y raíz 2
Fin
Diagramas de flujo (flows charts): Es la representación grafica del algoritmo; según la ANSI consta de una simbologia , que tiene los siguientes significados:
Para ver el gráfico seleccione la opción “Descargar” del menú superior
Símbolos del Diagrama de flujo
Codificación :
Programación:
Windows/Dos/
Quick Basic = Editor de texto.Programa: definición:
conjunto de datos y sentencias:
Un programa tiene la forma
Para ver el gráfico seleccione la opción “Descargar”
En el editor de Quick Basic se escribiría codificado el seudo código
que tendría la forma:
REM Programa para calcular las soluciones
REM de una ecuacion de segundo grado
PRINT “Escriba los valores de A, B y C”
C$=”Calculos”
INPUT ” A,B,C”, A, B, C
R = (B ^ 2 - 4 * A * C) ^ .5
LET X1 = (-B + R) / (2 * A)
LET X2 = (-B + R) / (2 * A)
PRINT
PRINT ” A=”; A, ” B=”; B, “C=”; C
PRINT “X1=”; X1, “X2=”; X2
PRINT
END
En el Menú
Ejecutar
En la pantalla veríamos:
Mandatos e instrucciones:
Mandato (command): es una orden aislada de efecto inmediato.
Ejemplo:
MandatoDescripción
RUNOrdena la ejecución de un programa.
LISTEscribe En la pantalla el listado del programa
SAVE.Guarda, graba el programa como un archivo de extensión BAS en el disco
Instrucción: es una orden contenida en un programa.
Ejemplo:
InstrucciónDescripción
PRINTEscribe en pantalla.
INPUTIntroduce (entra datos)
Edición de un programa: un programa esta formado por líneas secuenciales que se ejecutan en forma descendente (Up Down)
Para dar por terminada una línea se pulsa la tecla Enter (Return) en cualquier parte de la misma. Para cambiar una línea basta volver a teclearla.
Se puede corregir una línea (borrar, rescribir ) en pantalla o bien con el mandato EDIT.Se pueden incluir varias instrucciones en una misma línea, separándolos por dos puntos.Una línea de pantalla (cuarenta u ochenta posiciones) es diferente de una línea de programa (doscientos cincuenta y seis posiciones).Modo Directo:
Modo Programa
Run
Ventana activa

Recomendaciones:
Todo programa debe estar documentado con comentarios; la primera línea debe contener el titulo del programa. Los comentarios deben de ir precedidos de la palabra clave REM o de un apostrofo ( ‘ )Si una línea ya tiene otras instrucciones, el comentario debe ir al final de la línea.Los comentarios solo aparecen en el listado del programa y no aparecen escritos en la pantalla durante la ejecución.Constantes:



Autor: Juan Arturo Navarro Hernandez

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • Twitter
  • RSS

1 Response to "4.3 ALGORITMOS NUMERICOS"

  1. Marcelo says:
    7 de diciembre de 2009, 23:53

    Bonito copiar y pegar
    se me esta haciendo dificil contestar los ejercicios

Publicar un comentario