Está en la página 1de 16

Mtodos numricos

Mtodos numricos
Tema 2
Variables, formatos
bsicos y funciones

Introduccin al tema

En la prctica de la programacin
hay que tener en cuenta que las
soluciones que se calculan a las
diferentes ecuaciones numricas
no son siempre exactas. Existen
factores, a veces difciles de
percibir por los cuales un
resultado puede no estar
apegado a la realidad.

As como en la fotografa se observa una gran cantidad


de sealamientos de trnsito, as tambin cuando ests
programando una aplicacin, es necesario que
conozcas todas aquellas seales de peligro que pueden
hacer que tu resultado se aleje de la realidad.
Enseanza e Investigacin Superior A. C. Todos los Derechos Reservados 2011

Enseanza e Investigacin Superior A. C. Todos los Derechos Reservados 2011

Mtodos numricos

Errores

Los errores que se dan en los


clculos y al programar tienen dos
caractersticas: la precisin y la
exactitud.
La exactitud se refiere a qu tan
cercano est el valor calculado o
medido del valor verdadero. La
precisin se refiere a qu tan
cercanos se encuentran, unos de
otros, diversos valores calculados o
medidos (Chapra y Canale, 2011).

Enseanza e Investigacin Superior A. C. Todos los Derechos Reservados 2011

Errores
Ejemplo:
Como ejemplo podemos pensar en un reloj
que cuente con segundero y despliegue
incluso las centsimas de segundo, en este
caso estamos hablando de un reloj muy
preciso.
Sin embargo no necesariamente el reloj es
exacto, ya que tal vez se encuentre con la
hora equivocada por cinco minutos.

Los errores numricos aparecen al realizar alguna


aproximacin dentro de operaciones y nmeros que
deberan ser exactos.
Enseanza e Investigacin Superior A. C. Todos los Derechos Reservados 2011

Enseanza e Investigacin Superior A. C. Todos los Derechos Reservados 2011

Mtodos numricos

Errores
Ejemplo: errores por redondeo

Se producen cuando queremos representar un nmero


exacto con otro nmero que tiene un lmite de cifras
significativas.
Qu es una cifra significativa? Es la cantidad de
dgitos que puede tomarse en cuenta en un nmero,
que le dan confiabilidad y aportan alguna informacin.

Enseanza e Investigacin Superior A. C. Todos los Derechos Reservados 2011

Errores
Ejemplo de cifra significativa:

Imagina que mides la longitud de un


libro con una regla que tiene
graduados los milmetros y obtienes
como medicin una longitud = 23.5
cm. Se podra convertir a otra
unidad como:
L=0.235 m
L=2.35 dm
L=235 mm

Enseanza e Investigacin Superior A. C. Todos los Derechos Reservados 2011

Enseanza e Investigacin Superior A. C. Todos los Derechos Reservados 2011

Mtodos numricos

Errores

En todos los casos anteriores, todos los dgitos aportan


alguna informacin y dan confiabilidad a la medida
(todos tienen tres cifras significativas). Sin embargo, si
expresramos el resultado como L=0.23500m no tendra
sentido porque el instrumento de medicin no cuenta
con la precisin para medir cienmilsimas sino
milmetros.
Debido a lo anterior diramos que L=0.235 m es una
cantidad con tres cifras significativas pero el ltimo
dgito, es decir, el 5, es incierto ya que nuestro
instrumento de medicin lo redonde a la cantidad ms
cercana que poda medir.

Enseanza e Investigacin Superior A. C. Todos los Derechos Reservados 2011

Errores

Existen algunos nmeros


como: e, p, etc., que tienen
infinidad de cifras
significativas, por lo que
acarrearn con el tiempo
errores de redondeo.
Algunos nmeros no coinciden exactamente con su
representacin en la computadora, ya que la
computadora trabaja con una cierta cantidad de cifras
significativas, as que redondea cualquier dato que sea
ms grande, y al realizar operaciones, el resultado no
ser exacto sino que tendr un error por redondeo.
Enseanza e Investigacin Superior A. C. Todos los Derechos Reservados 2011

Enseanza e Investigacin Superior A. C. Todos los Derechos Reservados 2011

Mtodos numricos

Errores
Ejemplo de error por redondeo:
La diferencia de utilizar seis cifras significativas y cinco cifras
significativas en el nmero de la exponencial e nos da el siguiente
error por redondeo:
e=2.71828 - 2.7182 = 0.00008
Si redondeamos el ltimo dgito a 3 reducimos el error:
e=2.71828 - 2.7183 = 0.00002
Si hablramos de una situacin de redondeo de dinero o de tiempo,
tal vez nos convenga poner ms atencin a no utilizar las suficientes
cifras significativas para no tener errores por redondeo que
signifiquen prdidas monetarias.
Enseanza e Investigacin Superior A. C. Todos los Derechos Reservados 2011

Errores
Errores por truncamiento

Este tipo de error surge cuando se usan aproximaciones


ms simples en lugar de un procedimiento matemtico
exacto.

Ejemplo:

Si sabemos que la integral

y la queremos aproximar por series de Taylor con los


primero cuatro trminos:
Enseanza e Investigacin Superior A. C. Todos los Derechos Reservados 2011

Enseanza e Investigacin Superior A. C. Todos los Derechos Reservados 2011

Mtodos numricos

Errores

Que al evaluarlo de cero a uno da como resultado:


[1 +

12
2

13
6

14

+ 24]- [1 +

02
2

03
6

04

+ 24]= 1.70833333333

Al comparar los dos resultados nos damos cuenta del error


por truncamiento:
Enseanza e Investigacin Superior A. C. Todos los Derechos Reservados 2011

Variables

Deitel y Deitel (2007) dicen que las aplicaciones


recuerdan nmeros y otros datos en la memoria de la
computadora, y acceden a ellos a travs de ciertos
elementos conocidos como variables.
Las variables se declaran al inicio del programa y se les
asigna un tipo de dato que contendr dicha variable.

Ejemplo:
int num1 = 2147483647; // declarar la variable
num1 como int.
Enseanza e Investigacin Superior A. C. Todos los Derechos Reservados 2011

Enseanza e Investigacin Superior A. C. Todos los Derechos Reservados 2011

Mtodos numricos

Variables

Esta instruccin se llama instruccin de declaracin


de variable, ya que declara a la palabra num1 como
una variable, y se especifica (en este caso) que
contendr datos tipo int.
int a, b = 1; //
declarar a las variables
a y b como enteros de valor 1.

En la instruccin se ve que es posible declarar dos


variables en una sola lnea.
Las variables locales se declaran en el cuerpo de un
mtodo especfico y slo se pueden utilizar en ese
mtodo, ya que al terminar el mtodo la computadora
pierde los valores de la variable.
Enseanza e Investigacin Superior A. C. Todos los Derechos Reservados 2011

Variables - Ejemplo
using System;
public class Ejemplo_Variable_Local
{
public static void cambianumero()
{
int n = 6;
n++;
}
public static void Main()
{
int n = 4;
Console.WriteLine("n vale {0}", n);
cambianumero();
Console.WriteLine("Ahora n vale {0}", n);
Console.Read();
}
}
Enseanza e Investigacin Superior A. C. Todos los Derechos Reservados 2011

Enseanza e Investigacin Superior A. C. Todos los Derechos Reservados 2011

Mtodos numricos

Variables Ejemplo

En el siguiente ejemplo el resultado es de cuatro y no de


seis, debido a que existe la definicin de la variable local
int n=4

Un campo es cuando una variable es definida dentro de


una definicin de clase.
Enseanza e Investigacin Superior A. C. Todos los Derechos Reservados 2011

Variables - Ejemplo
using System;
public class Ejemplo_Variable_Global
{
static int n = 6;
public static void cambianumero()
{
n++;
}
public static void Main()
{
Console.WriteLine("n vale {0}", n);
cambianumero();
Console.WriteLine("Ahora n vale {0}", n);
Console.Read();
}
}
Enseanza e Investigacin Superior A. C. Todos los Derechos Reservados 2011

Enseanza e Investigacin Superior A. C. Todos los Derechos Reservados 2011

Mtodos numricos

Variables - Ejemplo

En el siguiente ejemplo el resultado es de seis y luego


de siete porque existe la definicin de la variable global
static int n=6;,

Se puede tambin declarar una variable como


parmetro de un mtodo y almacenar los valores de
llamada al mtodo. Esta variable solo puede actuar si se
le llama desde cdigo dentro del mtodo. Un ejemplo
sera: void F(string a, string b).
Enseanza e Investigacin Superior A. C. Todos los Derechos Reservados 2011

Formatos y lenguaje bsico

Conceptos importantes en la programacin orientada


a objetos:
Clase: en el lenguaje C la unidad de programacin
es la funcin y en C# se llama clase. Las clases son
como los planos de lo que ser el objeto, es donde
se crean los objetos. Cada clase est compuesta
por mtodos y datos a manipular.

Mtodos: aplican las operaciones y datos que


implementan los atributos.

Enseanza e Investigacin Superior A. C. Todos los Derechos Reservados 2011

Enseanza e Investigacin Superior A. C. Todos los Derechos Reservados 2011

Mtodos numricos

Formatos y lenguaje bsico


Objeto: es la unidad que posee varias propiedades
o atributos y mtodos que reaccionan a ciertos
eventos. Los objetos unen un objeto del mundo real
con los objetos del sistema. Un objeto es una
instancia de una clase.
Atributos: los atributos son caractersticas que tiene
un objeto y se especifican mediante las variables de
instancia.

Ejemplo: en el siguiente programa existen los


siguientes elementos:
Enseanza e Investigacin Superior A. C. Todos los Derechos Reservados 2011

Formatos y lenguaje bsico

Clase: se declara la clase pblica: public class UTM.


Mtodo: el mtodo muestra un mensaje en la pantalla
por medio de la instruccin Console.Writeline() y sta se
declara como: static void Main( )
using System;
namespace Ejemplo_Tema2
{
public class UTM
{
static void Main()
{
Console.WriteLine("Universidad TecMilenio");
Console.Read();
}
}
}
Enseanza e Investigacin Superior A. C. Todos los Derechos Reservados 2011

Enseanza e Investigacin Superior A. C. Todos los Derechos Reservados 2011

10

Mtodos numricos

Formatos y lenguaje bsico

Agregamos la instruccin: Console.Read(); para que no


se cierre la ventana del smbolo del sistema. Al correr el
programa obtenemos el siguiente resultado:

En C# (C Sharp) existen muchos tipos de funciones que


puedes utilizar al realizar un programa. Debido a que
esta introduccin a la programacin en C# se hace en el
contexto del curso de mtodos numricos, se presentan
a continuacin algunas funciones de utilidad:
Enseanza e Investigacin Superior A. C. Todos los Derechos Reservados 2011

Formatos y lenguaje bsico


Objetivo
Funcin
Para generar un valor
Random r = new Random();
aleatorio.
Para que ese valor se
int aleatorio = r.Next(1, 100);
encuentre entre dos valores.
Random r = new
Si queremos que tome como
Random(DateTime.Now.Milli
el instante actual.
second);
Y si queremos que de ese
int falsoAleatorio =
instante actual tome las
DateTime.Now.Millisecond;
milsimas de segundo.

Enseanza e Investigacin Superior A. C. Todos los Derechos Reservados 2011

Enseanza e Investigacin Superior A. C. Todos los Derechos Reservados 2011

11

Mtodos numricos

Formatos y lenguaje bsico


Ejemplo de nmero aleatorio:
using System;
public class nmero_aleatorio
{
public static void Main()
{
Random r = new Random(DateTime.Now.Millisecond);
int aleatorio = r.Next(15, 30);
Console.WriteLine("Nmero mayor a 15 y menor a
30: {0}", aleatorio);
Console.Read();
}
}

Enseanza e Investigacin Superior A. C. Todos los Derechos Reservados 2011

Formatos y lenguaje bsico

El resultado es la siguiente ventana del smbolo del


sistema:

Enseanza e Investigacin Superior A. C. Todos los Derechos Reservados 2011

Enseanza e Investigacin Superior A. C. Todos los Derechos Reservados 2011

12

Mtodos numricos

Formatos y lenguaje bsico

Funciones matemticas: existen muchas funciones


matemticas que te pueden ayudar al programar
mtodos numricos; algunas de ellas son:
Funcin
Math.Round (nmero ,
#decimales);
Math.Pow (nmero, potencia);
Math.Sqrt(nmero);
Math.Min(nmero1, nmero2);
Math.Max(nmero1, nmero2);

Ejemplo
Math.Round(5.63);
Math.Pow(2, 4);
Math.Sqrt(25);
Math.Min(7.89, 9.87)
Math.Max(7.89, 9.87);

Resultado
5.6
16
5
7.89
9.87

Enseanza e Investigacin Superior A. C. Todos los Derechos Reservados 2011

Formatos y lenguaje bsico

En la mayora de ellas las variables deben de estar


definidas como de tipo Double.

Ejemplo de la funcin seno:


using System;
class funcin_seno
{
public static void Main()
{
Double ngulo; // se define la variable ngulo como de tipo Double.
Double senonmero;
// se define la variable senonmero como de tipo
Double.
{
Console.WriteLine("Introduce el ngulo");
ngulo = Convert.ToDouble(Console.ReadLine());
senonmero = Math.Sin(ngulo);
Console.WriteLine("Resultado:" + senonmero);
Console.Read();
}
}
}
Enseanza e Investigacin Superior A. C. Todos los Derechos Reservados 2011

Enseanza e Investigacin Superior A. C. Todos los Derechos Reservados 2011

13

Mtodos numricos

Formatos y lenguaje bsico

Da como resultado la siguiente ventana que muestra el


resultado del seno de 45:

Enseanza e Investigacin Superior A. C. Todos los Derechos Reservados 2011

Formatos y lenguaje bsico


Ejemplo de la funcin de redondeo y de la funcin
coseno:
using System;
class funcin_redondeo_coseno
{
public static void Main(string[] args)
{
Double ngulo; // se define la variable nmero como tipo Double.
Double redondeado; // se define la variable redondeado como tipo
Double.
Double cosenonmero;
Console.WriteLine("Escribe un nmero con muchos decimales: ");
ngulo = Convert.ToDouble(Console.ReadLine()); // lee el texto
ingresado y lo convierte a tipo doubl para asignarlo a la variable nmero.
redondeado = Math.Round(ngulo, 4);
// funcin de redondeo, se
especifica el nmero de decimales (en ste caso es 4).
cosenonmero = Math.Cos(redondeado);
Console.WriteLine("El ngulo (en grados) " + ngulo);
Console.WriteLine("se redondea a cuatro cifras como: " + redondeado + "
y su coseno es: " + cosenonmero);
Console.Read();
}
}
Enseanza e Investigacin Superior A. C. Todos los Derechos Reservados 2011

Enseanza e Investigacin Superior A. C. Todos los Derechos Reservados 2011

14

Mtodos numricos

Formatos y lenguaje bsico

Da como resultado la siguiente ventana que muestra el


resultado:

En el siguiente tema profundizars en las instrucciones


de control, las cuales te ayudarn a programar de
manera estructurada.
Enseanza e Investigacin Superior A. C. Todos los Derechos Reservados 2011

Cierre

A lo largo de este tema has aprendido ms acerca de


los diversos tipos de funciones, la manera de declarar
algunas variables, as como conocer los tipos de errores
que se suelen presentar cuando se resuelven
problemas numricos. Es importante que detectes los
errores antes de ser programados, de modo que
reduzcas las probabilidades de que el programa tenga
alguna falla.
Hasta ahora conoces algunos elementos de
programacin, pero a partir del siguiente tema
conocers algunas estructuras algortmicas, ya que
comenzars a profundizar en las instrucciones de
control.
Enseanza e Investigacin Superior A. C. Todos los Derechos Reservados 2011

Enseanza e Investigacin Superior A. C. Todos los Derechos Reservados 2011

15

Mtodos numricos

Referencias bibliogrficas

H Chapra, S. y Canale, R. (2011). Mtodos numricos


para ingenieros. (6 ed.) Mxico: McGraw Hill.
Deitel, H. y Deitel, P. (2007). Cmo programar C#.
(2 ed.). Mxico: Pearson.
Mathews, J. y Fink, K. (2004). Mtodos Numricos con
Matlab. (3 ed.). Mxico: Pearson.

Enseanza e Investigacin Superior A. C. Todos los Derechos Reservados 2011

Crditos
Diseo de contenido:
Ing. Alejandro Corts Leal
Coordinador de Calidad Acadmica de rea:
Lic. Jos de Jess Romero lvarez. MC y MED
Universidad Tec Milenio
Produccin y edicin del curso:
Tecnologa Educativa
Universidad Virtual, ITESM

Enseanza e Investigacin Superior A. C. Todos los Derechos Reservados 2011

Enseanza e Investigacin Superior A. C. Todos los Derechos Reservados 2011

16

También podría gustarte