Sie sind auf Seite 1von 22

REPRESENTACIÓN NUMÉRICA Y

ALGORITMIA

Raúl Zaradnik
Temas a tratar
• Introducción • Algoritmia
• Informática básica. – Algoritmo informático
– ¿Qué es un Microprocesador? – Estructuras algorítmicas típicas
– Los datos y su almacenamiento – Códigos informáticos
– Una convención necesaria – Software intérprete de
algoritmos: PSeInt y FreeDFD
• Representación numérica
• Tipos de errores
• Almacenamiento de
• Errores propios de
números
tratamiento numérico
– Enteros
– Reales • Bibliografía
• Redondeos
Introducción
El Cálculo Numérico, o como también se le denomina, el Análisis numérico, es la rama de las
Matemáticas que estudia los métodos numéricos de resolución de problemas, es decir, los
métodos que permiten obtener una solución aproximada (y en ocasiones exacta) de problemas
realizando un numero finito de operaciones lógicas y algebraicas elementales.
Los problemas que trata el Análisis numérico se pueden clasificar en dos grandes grupos, según
tengan naturaleza numérica o naturaleza funcional.
• De naturaleza numérica: son los problemas relativos a la resolución de sistemas de
ecuaciones lineales, cálculo de valores y vectores propios, y resolución de ecuaciones y
sistemas de ecuaciones no lineales.
• De naturaleza funcional: Son los problemas de interpolación y aproximación de funciones, la
derivación e integración numéricas, los problemas de valor inicial y de contorno para
ecuaciones diferenciales ordinarias, y los problemas de contorno para ecuaciones en
derivadas parciales.

El desarrollo del análisis numérico como disciplina con entidad propia está ligado a la vertiginosa
evolución que los ordenadores han experimentado desde su aparición en la década de 1940. No
en vano, los ordenadores son herramientas imprescindibles para aplicar con eficacia la inmensa
mayoría de los métodos que el análisis numérico propone, dado el considerable volumen de
cálculos y manipulaciones de datos que suelen llevar aparejados.
Informática básica
Hay muchas ayudas “on line” sobre informática básica:
• http://www.areatecnologia.com/INFORMATICA.htm
• http://www.eduteka.org/modulos/9/
• http://articulos.softonic.com/guia-encender-apagar
¿Qué es un Microprocesador?
Un microprocesador es el elemento de un ordenador que se encarga de:
• Realizar las operaciones lógicas (si se cumple una instrucción hará una
cosa y si no otra);
• Realizar las operaciones aritméticas (cálculos) y
• Dirigir el tráfico por la placa base y gobernar el ordenador.
Para ello se divide en dos partes:
• La UC (unidad de control) que dirige el tráfico y
• La ALU que realiza las operaciones aritmetico-lógicas.

La velocidad del micro se expresa en Hz


(hertzios) que es la cantidad de
operaciones que puede realizar en un
segundo. Por ejemplo un micro de 1
Ghz (Giga hertzios) es capaz de realizar
mil millones de operaciones en un
segundo.
Los datos y su almacenamiento
La capacidad de almacenamiento de datos aumenta
continuamente. El criterio para almacenarla, no.
Siempre se emplea un código binario.
Una convención necesaria
Representación numérica
La representación de
una cantidad numérica
en una base “B”
requiere del acuerdo:

Fijar los “B” símbolos


que representarán a
cada uno de los
números.
Almacenamiento de números enteros
En informática el sistema de numeración más usado es el binario, donde cada
dígito recibe el nombre de “bit”. Hay un bit “1” y un bit “0”.
Para almacenar números enteros en el sistema binario se dispone de una
cierta cantidad de espacio determinada por la cantidad de bites que maneja
la computadora.
Si se considera que se dispone de “s” espacios podría almacenar los bites de
la siguiente forma:
𝒅𝒔−𝟏 𝒅𝒔−𝟐 𝒅𝒔−𝟑 … 𝒅𝟑 𝒅𝟐 𝒅𝟏 𝒅𝟎
𝑵𝒎á𝒙 = 𝟐𝒔−𝟏 −𝟏
Signo Valor absoluto

Si “s=16” el número máximo que podrá almacenarse será:


32 767
Si “s=32” el número máximo que podrá almacenarse será:
2 147 483 647
Almacenamiento de números reales
En informática, el almacenamiento de los números reales se realiza en el
formato de “coma flotante”: Expresión en coma
Número
flotante
± .######## ± ###
125 +.125E+03
Signo del Exponente
Mantisa del Signo del -15.35 -.1535E+02
número (y de la (siempre
número exponente
mantisa) entero) -0.235 -.235E+00

0.00525 .525E-0.2

En el sistema binario, con “m” posiciones para la mantisa y “n” posiciones


para el exponente:
𝒅−𝟏 𝒅−𝟐 … 𝒅−(𝒎−𝟏) 𝒅−𝒎 𝒅𝒏−𝟏 𝒅𝒏−𝟐 … 𝒅𝟐 𝒅𝟏 𝒅𝟎
Signo Signo
Mantisa mantisa exponente Exponente

𝒏−𝟏 −𝟏)
𝑵𝒎á𝒙 = 𝟏 − 𝟐𝟏−𝒎 𝟐(𝟐
Es posible almacenar:
𝑵𝒎í𝒏 = 𝟐−(𝟐𝒏−𝟏−𝟏)
Así aparecen el Overflow y el Underflow.
Redondeos
En general, un número real dispone de más decimales que su representación
en coma flotante, lo que obliga a realizar un redondeo.
Los redondeos podrán ser:
• Por eliminación: Se eliminan los dígitos detrás de uno límite, o
• Por aproximación: Se redondea el último dígito detrás de un límite.
𝝅 = +𝟎. 𝟑𝟏𝟒𝟏𝟓𝑬 + 𝟎𝟏 → 𝒑𝒐𝒓 𝒆𝒍𝒊𝒎𝒊𝒏𝒂𝒄𝒊ó𝒏
𝝅 = +𝟎. 𝟑𝟏𝟒𝟏𝟔𝑬 + 𝟎𝟏 → 𝒑𝒐𝒓 𝒂𝒑𝒓𝒐𝒙𝒊𝒎𝒂𝒄𝒊ó𝒏

La cota superior (o máxima) del error por eliminación es el doble de la cota


superior del error por aproximación, con “B” como base y “m” el número de
dígitos de la mantisa:
𝑩𝟏−𝒎
𝒓𝒆𝒍𝒊𝒎 ≪ 𝑩𝟏−𝒎 y 𝒓𝒂𝒑𝒓𝒐𝒙 ≪
𝟐
Las computadoras usan una regla para almacenar los datos en coma flotante
que equivale a disminuir la cota superior del error, ya que ganan un espacio
en la mantisa y eso es igual a tener una mantisa con un dígito más.
Algoritmia
Diagramas de flujo: Es una representación gráfica de un proceso.
Los símbolos usados en las gráficas deben definirse con
antelación al mismo diagrama, de forma que la representación
tenga un único significado.

Pseudocódigo: Es una representación textual de una instancia


dentro de un proceso. Toma la forma imperativa, es decir, como
una orden.

Algoritmo: Se define por algoritmo a un proceso organizado


capaz de resolver un problema.
Algoritmo informático
En informática, un algoritmo suele estar formado por un conjunto finito de
instrucciones con la posibilidad de ser ejecutadas en forma secuencial.
La representación de algoritmos se puede realizar empleando diagramas de flujo o
pseudocódigo.

Inicia “Cruzar la calle”


Pseudocódigo

Inicia el proceso “Cruzar la calle”


Mirar a la derecha

Mirar a la derecha
Mirar a la izquierda

Mirar a la izquierda
¿Vehículo? Si ¿Se aproxima algún vehículo?
No
Si: Reiniciar el proceso cruzar la calle
Cruzar la calle No: Cruzar la calle

Termina “Cruzar la calle” Termina el proceso “Cruzar la calle”


Estructuras algorítmicas típicas
• Estructura Secuencial
– Estructura de decisión (Alternativas)
– Estructura Variar (lazos definidos y finitos)
– Estructura iterativa (lazos indefinidos)
• Subprogramas
• Arreglos
• Vectores filas
• Vectores columna
• Matrices (bidimensionales o n-dimensionales)
Los códigos informáticos
Los algoritmos son la base de un programa informático escrito en algún
lenguaje de alto nivel (FORTRAN, C/C++, Java, Pascal, PHP, XML, HTML, etc.)
Algunas de las plataformas de desarrollo son las siguientes:
Software interprete de algoritmos (1/2)
PSeInt es una herramienta creada por Pablo Novara para ayudar a los estudiantes en
sus inicios en la programación.
Emplea su propio pseudocódigo para estudiar los principales conceptos de algoritmia.
Si bien presenta algunos botones con bloques en forma de diagrama de flujo, sólo
sirven para ayudar en el proceso de escritura del pseudocódigo.
Software
interprete de
algoritmos (2/2)
FreeDFD es una herramienta que
sólo emplea diagramas de flujo,
no genera pseudocódigo, pero
puede ejecutarse.
No será empleada en este curso.
Una ecuación lineal es del tipo: 𝒇(𝒙) = 𝒂 + 𝒃 𝒙
Ejemplo simple donde las constantes “a” y “b” son conocidas. El
Inicia “Cálculo de x”
problema es determinar el valor de la variable
independiente “x” para cuando la función “f(x)”
toma un valor determinado, por ejemplo cero.

Ingrese “b” Pseudocódigo


Inicia el proceso “Cálculo de x”

¿b=0? Si Ingrese el valor de la constante “b”


No
¿Es “b=0”?
Ingrese “a” Si: Reiniciar el proceso
No: Ingresar el valor de la constante “a”
Ingrese “f(x)” y de la función “f(x)”

𝑓 𝑥 −𝑎 𝑓 𝑥 −𝑎
Calcular 𝑥 =
𝑏
Calcular 𝑥 = 𝑏

Muestre
“x”
Mostrar el valor de “x”

Termina el proceso “Cálculo de x”


Termina “Cálculo de x”
Resolución de un algoritmo por medio de
software intérprete
Tipos de errores
Error absoluto: Se define como la diferencia entre el valor exacto y el valor
aproximado de una cantidad.

Error relativo: Se define como el cociente entre el error absoluto y el valor


exacto de una cantidad. Observaciones sobre el error relativo:
• No está definido para cuando la cantidad exacta es cero
• Nunca se conoce el valor verdadero de la cantidad, por ello se calcula la
llamada “Cota de error”, y
• Casi siempre se expresa en porcentaje

Cifras significativas
Asociado al error relativo existe el concepto de cifras significativas. Se dice
que una cantidad aproximada “X” tiene “c” cifras significativas correctas si el
error relativo verifica:
𝑩−𝒄
𝒓𝒂𝒑𝒓𝒐𝒙 ≪
𝟐
Errores propios del tratamiento numérico
Error inherente: Es aquél que posee una cantidad “X” aproximada por
haberse obtenido a partir de una medición física.
Error de redondeo: Es ocasionado por la necesidad de almacenar el número
en coma flotante con una cantidad finita de dígitos para la mantisa. Hay que
recordar que el exponente de la representación en coma flotante no provoca
error de redondeo.
Error de truncamiento: Es el producido por la finalización prematura del
algoritmo. Por ejemplo, al calcular “e” (base de los logaritmos naturales)
aparece el resto de Lagrange:
1 1 1
𝑒 = 2 + + + + ⋯ + 𝑅𝑚
2! 3! 4!
Propagación de errores de funciones
Un criterio realista del problema de la propagación de errores numéricos es el
abordado empleando el concepto de derivada total de una función de varias
variables:
𝑛
𝜕𝑓
𝐸𝑓 ≅ 𝐸
𝜕𝑥𝑖 𝑥𝑖
𝑖=1
Bibliografía
Además de la bibliografía
recomendada en las clases teóricas,
se pueden mencionar:
• Huerta A., Sarrate J. y Rodríguez A.:
“Métodos numéricos. Introducción,
aplicaciones y propagación”,
Ediciones UPC, Barcelona, España,
ISBN 84-8301-265-0
• Nikos Drakos: “Computer Based
Learning Unit”, University of Leeds,
1997. Traducción de Wladimiro Díaz
Villanueva (1998)

Además son interesantes los


siguientes libros:

Das könnte Ihnen auch gefallen