Está en la página 1de 45

INTRODUCCIÓN A

LA
PROGRAMACIÓN Y
GRUPOANÁLISIS
G2 – GRUPO Introducción
X
NUMÉRICO
2022
Sábados de 8 a 13 hs
INTRODUCCI Unidad 1
ÓN
• Abordaje Numérico de Problemas Matemáticos

No siempre se va a poder llegar a las soluciones exactas de los


problemas de ingeniería a resolver

Porque son formulaciones muy Porque los datos se presentan en


complejas, para las que se hace forma de TABLA DE VALORES
difícil o no se pueden aplicar los (datos “discretos”)
métodos analíticos o exactos
INTRODUCCI
ÓN
• Abordaje Numérico de Problemas Matemáticos

Los métodos que se desarrollarán van “construyendo” la


solución en cada paso del proceso de resolución,
Normalmente son métodos iterativos

Al proceso que seguiremos para arribar a la solución se lo


conoce como algoritmo
ALGORITMOS
• Definición de Algoritmo
Conjunto de acciones o secuencia de operaciones ejecutadas
en un determinado orden para resolver un problema.

Producen una transformación


Es decir, para transformar los datos
sobre los de entrada en valores de
elementos
salida. intervinientes
Una vez que se incorpore un lenguaje de programación, se
podrá “traducir” el algoritmo en una computadora.
Para evaluar la transformación
se debe conocer el ESTADO
resultado
acción simple: se acción compleja: no se realiza
realiza directamente, sino a través de
directamente Estadoacciones
múltiples Inicial simplesEstado Final
Estado Intermedio
ALGORITMOS
• Características de los Algoritmos

A. Deben indicar un orden a seguir (cuál es la SECUENCIA


de las acciones)
B. Deben ser finitos, es decir que deben finalizar en un
número FINITO de pasos
ALGORITMOS
• Ejemplo
Supongamos que pretendemos
REDACTAR UN ALGORITMO QUE PERMITA
CALCULAR EL VALOR ABSOLUTO DE UN NÚMERO
CUALQUIERA
(en forma genérica, supondremos que el número es Real)

Regla Importante:
NUNCA proponerse redactar un
algoritmo (o un programa) de un
proceso que no se conozca en
profundidad
ALGORITMOS
• Ejemplo
Supongamos que pretendemos
REDACTAR UN ALGORITMO QUE PERMITA
CALCULAR EL VALOR ABSOLUTO DE UN NÚMERO
CUALQUIERA
(en forma genérica, supondremos que el número es Real)
1) Realizar un análisis previo para poder formular un algoritmo lo más
genérico posible (que sea capaz de resolver la mayor cantidad de variantes que el
problema pudiera presentar)

2) Identificar actores :
a) la o las personas que analizan, redactan y prueban el algoritmo
b) La o las personas que van a utilizar el algoritmo (el usuario)
• Ejemplo
REDACTAR UN ALGORITMO QUE PERMITA
CALCULAR EL VALOR ABSOLUTO DE UN NÚMERO
CUALQUIERA
análisis previo

Debe contemplarse
que el numero que
elija el usuario
puede ser: El algoritmo
debe
a) Positivo responder
El algoritmo debe que el valor
responder que el valor absoluto del
b) Negativo absoluto es el valor del número
número elegido, sin el elegido
signo negativo coincide con
c) Cero el número
suministrado
• Ejemplo
REDACTAR UN ALGORITMO QUE PERMITA
CALCULAR EL VALOR ABSOLUTO DE UN NÚMERO
CUALQUIERA
análisis previo El algoritmo debe
responder que el valor
b) Número del usuario Negativo absoluto es el valor del
número elegido, sin el
signo negativo

Como las computadoras, que serán las responsables de


“ejecutar” el algoritmo, realizan “operaciones con variables”,
vamos a identificar la respuesta para este caso b) como el
producto del número elegido por -1
Vamos a darles nombres a las variables que intervienen
• Llamaremos X al número genérico que elegirá el usuario
• Lamaremos VA al valor absoluto del número elegido

• En este caso la respuesta se calculará como VA = (-1).X


• Ejemplo
REDACTAR UN ALGORITMO QUE PERMITA
CALCULAR EL VALOR ABSOLUTO DE UN NÚMERO
Con este esquema de variables, dado un número X, su valor
CUALQUIERA
absoluto será VA y puede ser calculado según si el signo de X es:
a) Positivo VA = X
b) Negativo VA = (-1).X
c) Cero VA = X
El algoritmo buscado es:
Esto puede resumirse
así: INICIO
1. leer X
Si X>=0 entonces 2. si X>=0 entonces
VA = X 3. VA = X
Sino 4. sino
VA = (-1).X 5. VA = (-1).X
6. escribir VA
FIN
ALGORITMOS y
PROGRAMAS
• Pregunta
¿Era necesaria tanta complicación
para resolver un problema tan
simple como el cálculo del valor
absoluto de un número?

Los algoritmos son el “boceto” de los programas de computadora,


que vamos a poder redactar una vez que hayamos aprendido algún
lenguaje de programación.
Veremos que las computadoras trabajan con números binarios y,
mediante esos números, realizan un conjunto de operaciones muy
reducido. LA GRAN VENTAJA ES QUE LAS REALIZAN MUY
RÁPIDO, (Y SIN CANSARSE)
Los programas nos van a permitir combinar esas operaciones
para resolver problemas más complejos
ALGORITMOS y
PROGRAMAS
• Esquema Los programas permiten
“enseñar” a las
computadoras a resolver
PROBLEMA problemas más
complejos
Una vez que “aprendan” a
ALGORITMO resolverlos vamos a poder
delegar la resolución de
problemas similares en la
PROGRAMA computadora

Como ingenieros, podremos


RESULTADO invertir nuestro tiempo en
analizar resultados o buscar
mejores soluciones
ARITMÉTICA
FINITA
• Las computadoras

Han hecho posible la solución de problemas que, por su


tamaño y tiempo asociado a su resolución, antes era imposible
de abordar

Tienen la gran ventaja de ser capaces de almacenar grandes


cantidades de información y poder operar con esa cantidad de
información en forma cada vez más rápida (y sin cansarse)
ARITMÉTICA
FINITA
• Las computadoras
Las máquinas trabajan con números. Los almacenan y operan
con ellos.
Desafortunadamente, los resultados son afectados por el uso
de una ARITMÉTICA DE PRECISIÓN FINITA, ya que cada
número es almacenado en una cantidad restringida de dígitos,
cuya cantidad depende del diseño de la computadora

Así, cuando realizan operaciones con esos números con


menos dígitos que los de su valor numérico real, van
aumentando los errores que tienen los resultados
ARITMÉTICA
FINITA
• Notación Posicional en la Representación de Números

Sean estos dos números:


6258 3412

Representa 200 Representa 2

La diferencia es por la posición, que le da un peso relativo


distinto
Ese peso relativo, se puede visualizar escribiendo al número
en potencias de 10:
6258 = 8 x 100 + 5 x 101 + 2 x 102+ 6 x 103
Se ve que el 2 está afectado por una potencia 2 del número 10:
ARITMÉTICA
FINITA
• Notación Posicional en la Representación de Números

6258 = 8 x 100 + 5 x 101 + 2 x 102+ 6 x 103

Se dice que el número 6258 está “expresado en base 10” y se


indica (6258)10 . El valor de cada potencia permite mostrar el
peso relativo del número.
Esta representación de números fue realizada utilizando el
SISTEMA NUMÉRICO de uso más frecuente, que es el
“Sistema Decimal” . La “base” del sistema decimal es el 10
El Sistema Decimal utiliza 10 dígitos:

0 1 2 3 4 5 6 7 8 9

para representar todos los números


ARITMÉTICA
FINITA
• Sistema Binario

La mayoría de las computadoras, sin embargo, no usan el


sistema decimal para los almacenamientos los cálculos, sino
que usan el sistema BINARIO, que tiene base 2, y que utiliza
sólo dos dígitos para representar a todos los números:
0 1
y la representación posicional para explicitar su peso relativo
ARITMÉTICA
• Sistema Binario FINITA
Una de las grandes ventajas de la notación posicional es que
se pueden dar reglas simples y generales para las operaciones
aritméticas. Cuanto más pequeña es la base, más simples se
vuelven las reglas.
Esta es una de las razones por las que la mayoría de las
computadoras opera en base 2 (sistema binario). La adición y
la multiplicación tienen la forma:

0+0=0
0+1=1+0=1
1 + 1 = 10

0x0=0
0x1=1x0=0
1x1=1
CONVERSIÓN DEL SISTEMA DECIMAL AL
SISTEMA BINARIO

CONVERSIÓN DE LA PARTE ENTERA DE


NÚMEROS
Consideremos el número 13 en base 10 (de aquí en adelante se
omite la base si esta es 10) este se puede escribir en base 2 de
la siguiente forma
(13)10 = (1101)2
en efecto
1 x 23 + 1 x 22 + 0 x 21 + 1 x 20 = 8 + 4 + 0 + 1 = 13
CONVERSIÓN DEL SISTEMA DECIMAL AL SISTEMA
BINARIO
Para hacer la conversión del sistema decimal al sistema binario,
se procede dividiendo al número decimal por dos y al resultado
se lo continúa dividiendo en forma sucesiva nuevamente por dos
hasta que el cociente resulte cero. El número binario se compone
con los dígitos coincidentes con los restos de cada división (ceros
o unos), comenzando con el último resto calculado al que se le
asigna la posición de la izquierda del número binario a formar.

El numero
binario es
entonces el
1101
CONVERSIÓN DEL SISTEMA DECIMAL AL
SISTEMA BINARIO

CONVERSIÓN DE LA PARTE FRACCIONARIA DE


NÚMEROS
Sea un número R expresado en base 10, o sea (R)10 tal que:
0 < (R)10 < 1
Para convertir en binario a este número fraccionario, el
procedimiento consiste en:
PROCEDIMIENTO PARA LA CONVERSIÓN DEL
SISTEMA DECIMAL AL SISTEMA BINARIO DE LA
PARTE FRACCIONARIA DE NÚMEROS
1) Multiplicar R x 2
2) El primer dígito de la parte fraccionaria (la que va después de la coma) del
número binario buscado es la parte entera de 1)
3) Tomar la parte fraccionaria de 1)
4) Multiplicar 3) por 2 y continuar el procedimiento hasta que la parte
fraccionaria sea cero, o hasta llegar a la cantidad de dígitos buscada
Supongamos que se quiere escribir el número 0,5 en notación binaria. Llamando
R=0,5 y bk a cada dígito binario, el procedimiento se puede volcar en una tabla:
Valor de arranque = número
decimal a convertir

k 2 x Rk-1 Rk bk
Parte fraccionaria de (2) Parte entera de (2)

(1) (2) (3) (4)


0 0,5
1 1,0 0 1
Como la parte fraccionaria es
cero el proceso se detiene (0,5)10=(0,1)2
NÚMEROS EN PUNTO FLOTANTE (Ó COMA
FLOTANTE)
Los números reales se pueden escribir como un conjunto de
dígitos separados por un símbolo que deja a su lado izquierdo
la parte entera del número y a su lado derecho la parte decimal.
El símbolo separador es convencional según la región. Para
nuestro país, esa separación se considera que es la coma (,),
que es la adoptada en estos apuntes. Sin embargo, para la
mayoría de las computadoras el símbolo separador es el punto
(.).
Una computadora se construye para manejar piezas de
información de tamaño fijo llamadas variables (o palabras). El
número de dígitos en una palabra (usualmente cadenas
binarias) define la longitud de palabra de la computadora.
Entre las longitudes más comunes utilizadas por las
computadoras están las de 32 bits y las de 64 bits (bits=binary
NÚMEROS EN PUNTO FLOTANTE (Ó COMA
FLOTANTE)
Las cantidades fraccionarias generalmente se representan en la
computadora usando la forma de coma (o punto) flotante. Con
este método, el número se expresa como una parte
fraccionaria, llamada mantisa, y una parte entera, denominada
exponente, esto es,
R=±m x βq
en la que
± signo del número a representar
m se llama mantisa, que puede tener un número de dígitos
limitados
β es la base del sistema numérico que se va a utilizar
q es el exponente entero, que hace cambiar de posición a la
NÚMEROS EN PUNTO FLOTANTE (Ó COMA
FLOTANTE)
La denominación en coma flotante, se debe a que parece como
si la coma decimal flotase de derecha a izquierda y al revés al
cambiar el valor del exponente. .A esta representación también
se la conoce como notación científica o notación exponencial.
NÚMEROS EN PUNTO FLOTANTE (Ó COMA
FLOTANTE)
Una vez adoptado el sistema de representación de un número (binario, decimal,
etc.) un número real se almacena en una variable especificando 3 componentes:
el signo (+ o -) la mantisa el exponente.

Por ejemplo, la representación en coma flotante del número 11 en el sistema


binario se representa como:
el signo: +
mantisa: 10110000...
exponente: 4
La mantisa es una secuencia de bits que siempre comienza en 1. El exponente
indica en donde colocar el punto que separa la parte entera de la fraccionaria. Un
valor 0 indica que el punto se coloca justo antes del primer bit. Un valor 4 indica
que se coloca después del cuarto bit. Un valor -3 indica que hay que imaginar que
el número va precedido por 0.000 y luego viene la mantisa.
NÚMEROS EN PUNTO FLOTANTE (Ó COMA
FLOTANTE) EN COMPUTADORA
Como ya se indicó, los números en una computadora se guardan en piezas de
información de tamaño fijo llamadas palabras.
En la figura siguiente se muestra una forma en que el número de coma flotante se
guarda en una palabra.

El primer bit se reserva para el signo; la siguiente serie de bits, para el exponente
con su respectivo signo; y los últimos bits, para la mantisa.
En el sistema binario, al signo se lo representa por un cero si es positivo, y por un
uno si e negativo.
En el gráfico siguiente, se muestra cómo se ha diseñado la distribución del
almacenamiento para computadoras de precisión simple (32 bits) y para las de
precisión doble (64 bits)
ERRORES EN LOS
CÁLCULOS
En general, los cálculos involucrados en la resolución de
problemas de ingeniería están afectados por errores.
Esto es, se trabaja con valores aproximados, que presentan
desviaciones con respecto a los valores reales (los cuales, en
general, se desconocen).
Sin embargo, es necesario poder controlar las diferentes
fuentes de error a fin de perturbar lo menos posible los
resultados obtenidos.
Los errores se propagan desde el inicio del cómputo hasta el
resultado final, a veces con una considerable amplificación,
otras veces observándose oscilaciones.
ERRORES EN LOS
CÁLCULOS
Hay distintos tipos de
Errores de Redondeo
En los cálculoserrores
se presentan números que intervienen en su
expresión fraccionaria. Esto puede tener el inconveniente de
exigir la consideración de infinitas cifras.

Dada la capacidad de almacenamiento de los números,


resulta necesario prescindir de esas infinitas cifras desde una
de ellas en adelante. La consecuencia de esta decisión para el
tratamiento de estos números, es que los resultados no serán
exactos.

Esta limitación en el número de cifras se denomina redondeo


y proviene del modo en que los números son tratados.

Las computadoras utilizan la notación científica, y soportan


un número determinado de cifras significativas
ERRORES EN LOS
CÁLCULOS
Hay
Errores de Redondeo
distintos tipos de
Los errores deerrores
redondeo son inevitables, pero controlables, y
sólo pueden ser minimizados mediante el uso de una mayor
cantidad de dígitos decimales en los cálculos

En muchas ocasiones son poco significativos y no tienen


ninguna importancia.

Sin embargo, en algunos problemas pueden llegar a destruir


por completo el significado de un resultado. Conviene
detectar estos casos y tomar las medidas adecuadas. A estos
errores de redondeo, se los denomina catastróficos, y pueden
ser consecuencia de un problema difícil, de un mal algoritmo,
o de ambas cosas a la vez.
Tres tipos de Errores de Redondeo
Sea un número dado en el sistema decimal.
Utilizando la notación de coma flotante normalizada:
  0, a 1a 2a 3a 4 ...a r a r 1...10k
con a1  0
Se define:
a) Redondeo por defecto con r cifras : a la operación de
redondeo que consiste en tomar como valor
aproximado de α al número:
a  0, a 1a 2a 3a 4 ...a r .10k
b) Redondeo por exceso con r cifras: a la operación de
redondeo que consiste en tomar como valor
aproximado de α al número:
a  0, a 1a 2a 3a 4 ...(a r  1).10k
c) Redondeo al valor más próximo a la operación de
redondeo que consiste en tomar como valor
aproximado de α al número: a si a r 1  5
a si a r 1  5
ERRORES EN LOS
CÁLCULOS
Hay distintos tipos de
Errores de Truncamiento
Estos errores errores
se presentan cuando los procedimientos de
cálculo involucran un número muy grande de operaciones. Si
en lugar de realizar todas las operaciones, se interrumpe el
proceso luego de un número finito de ellas, los términos
omitidos o las operaciones no realizadas, conllevan una
diferencia entre el resultado obtenido y el que se hubiera
logrado con todos los términos u operaciones. A esta
diferencia en los resultados se la denomina error de
truncamiento.
Son los que se producen al pasar del problema matemático al
numérico, por ejemplo cuando se desprecia el término
complementario, suplantando una suma infinita por una
finita.
CIFRAS SIGNIFICATIVAS

Todo número positivo  puede expresarse, como se indicó


cuando se trató el tema de “representación posicional” como
la suma de productos de cada uno de sus dígitos multiplicado
por una potencia de 10:

  a m .10m  a m 1.10 m 1  ...  a m n 1.10m n 1  ...


con a m  0
a m , a m 1 ,... : digitos del número dado
m : entero , potencia más elevada de 10
n : cantidad de cifras significativas
PROBLEMAS
FUNDAMENTALES
CON NÚMEROS APROXIMADOS
Hay dos tipos de problemas al trabajar con números aproximados

1) PROBLEMA DIRECTO: calcular el error del resultado de


operaciones realizadas con números aproximados

2) PROBLEMA INVERSO: determinar el grado de aproximación que


debe exigirse a los datos, para obtener resultados con una
aproximación prefijada.
TIPOS DE ERRORES
Supongamos que α : es el valor exacto de un número
y que a : es el valor aproximado de ese número

1) ERROR ABSOLUTO de a
(a )    a

2) ERROR RELATIVO de a
 (a )
 (a ) 

3) ERROR PORCENTUAL de a
 (a )   (a ).100

En la mayoría de los casos no se conoce el valor exacto α por lo


que, para el error relativo, se suele utilizar
(a ) en lugar de (a )
 (a ) 
a 
COTAS DE ERROR
Se llama cota superior del error absoluto de un número
aproximado, a todo número real positivo Δ*(a) que verifique
  a  (a )   * (a )

lo que es equivalente a:
a   * (a )    a   * (a )

que, para los valores límites, se escribe:


  a   * (a )

La cota del error indica el apartamiento máximo que podría tener a


con respecto a α
Con criterios similares, se definen las cotas del error relativo y
porcentual como  * (a )
 * (a )   * (a )   * (a ).100
a
Cifras Exactas de un Número Aproximado
Dado un número aproximado:
a  0, a 1a 2a 3a 4 ...a m .10k

con a1  0

Diremos que tiene todas sus cifras significativas exactas (en sentido
amplio) si se verifica que:
  a   (a )  10m .10k

Donde:
m: es la cantidad de cifras significativas exactas
k: es el exponente que surge de expresar al número aproximado en
notación de coma flotante normalizada.
FÓRMULA GENERAL DE PROPAGACIÓN DE
ERRORES

Operar con números aproximados (es decir con números que


tienen un error asociado por no ser exactos) implica que el
resultado de la operación tendrá un error asociado.

La magnitud del error depende tanto del error de los


números involucrados en la operación como en el tipo de
operación que hacemos con ellos
FÓRMULA GENERAL DE PROPAGACIÓN DE
ERRORES
Para calcular cuál es el error del resultado planteamos :
- Sea un conjunto de números aproximados
x1 x 2 x3 . . . xn

- Sea un numero u que representa el resultado de aplicar


una cierta función f a los números aproximados, o sea:
u  f (x 1 , x 2 , x 3 ,..., x n )

- Llamando Δ(xi) con i=1, 2, 3, …n a los errores absolutos


asociados a los números aproximados,
Se puede demostrar que:
n
f
(u )   . (x i )
i 1 x i
FÓRMULA GENERAL DE PROPAGACIÓN DE
ERRORES
- Considerando:
n
f
(u )   . (x i )
i 1 x i

- Recordando la definición de Cota de Error, se puede


afirmar que una cota superior para Δ(u) es:
n
f
 * (u )   . * (x i )
i 1 x i

- Considerando la definición de error relativo:


(u ) n
f  * (x i )
-  (u )  resulta que  * (u )   .
u i 1 x i u

A este planteo, que consiste en determinar el error asociado a


un número que resulta de operar con números aproximados
FÓRMULA GENERAL DE PROPAGACIÓN DE
ERRORES
Sin embargo, con frecuencia se presenta otra situación,

Que consiste en determinar los errores absolutos que


deberían tener
x1 x 2 x3 . . . xn

para que (u) tenga una aproximación prefijada de


antemano.

Esto es, se impone como requisito cuál es el máximo valor del


error absoluto del resultado u que admitiremos luego de la
operación con las variables xi aproximadas.
FÓRMULA GENERAL DE PROPAGACIÓN DE
ERRORES
Estamos hablando de imponer una cota superior al resultado

 * (u)

A esto se le llama PROBLEMA INVERSO

En este tipo de problema:

 * (ues
) dato

 * (x1 ),  * (x 2 ),  * (x 3 ), ...... * (x n ) son las incógnitas


FÓRMULA GENERAL DE PROPAGACIÓN DE
ERRORES
Resolución del PROBLEMA INVERSO

Hay distintas formas de resolverlo:


a) Una de ellas consiste en considerar que en
n
f
 * (u )   . * (x i )
i 1 x i

cada uno de los términos del segundo miembro


contribuyen con igual “peso” a la formación del error
absoluto total  * (u)

Para el cálculo, se impone entonces la igualdad de los


términos de la sumatoria:
u u u  * (u)
. * (x1 )  . * ( x 2 )  ...  . * (x n ) 
x1 x 2 x n n
FÓRMULA GENERAL DE PROPAGACIÓN DE
ERRORES
Resolución del PROBLEMA INVERSO

Partiendo entonces de
u u u  * (u)
. * (x1 )  . * ( x 2 )  ...  . * (x n ) 
x1 x 2 x n n

se puede encontrar que :


 * ( u)
 * (x i ) 
u
n.
x i

Para i = 1, 2, 3, … n
FÓRMULA GENERAL DE PROPAGACIÓN DE
ERRORES
Resolución del PROBLEMA INVERSO

También pueden plantearse (si el problema lo admite) otras


alternativas:
b) los errores absolutos de cada variable son iguales
c) los errores relativos de cada variable son iguales
d) combinar los casos anteriores

También podría gustarte