Tema 1 Metodos Numericos
Transcript of Tema 1 Metodos Numericos
Métodos numéricos
Enseñanza e Investigación Superior A. C. Todos los Derechos Reservados© 2011
1
Métodos numéricos
Tema 1 Fundamentos de programación
Enseñanza e Investigación Superior A. C. Todos los Derechos Reservados© 2011
• “Los programas computacionales son únicamente conjuntos de instrucciones que dirigen a la computadora para realizar una cierta tarea” (Chapra y Canale, 2011).
Introducción al tema
• En Métodos Numéricos utilizarás programas en C# (C Sharp), Matlab y Excel para resolver problemas. En este tema entrarás al entorno de programación de C#, para que conociendo sus herramientas puedas resolver en los siguientes módulos diversos métodos numéricos con programas que tú mismo elabores.
Métodos numéricos
Enseñanza e Investigación Superior A. C. Todos los Derechos Reservados© 2011
2
Enseñanza e Investigación Superior A. C. Todos los Derechos Reservados© 2011
• Chapra y Canale (2011) resumen los principales tópicos de programación a tener en cuenta:
Fundamentos de programación
1. Representar información sencilla: declarar constantes,
variables y tipos.
2. Representar información compleja:
estructuras de datos, arreglos y registros.
3. Fórmulas matemáticas:
asignación, reglas de prioridad y funciones
intrínsecas.
4. Entrada/Salida.
5. Representaciones lógicas:
secuencias, selección y repetición.
6. Programación modular:
funciones y subrutinas.
Enseñanza e Investigación Superior A. C. Todos los Derechos Reservados© 2011
• El IDE del que se habla es un entorno en el que se puede crear, editar, ejecutar, depurar programas en C# (C Sharp) de manera más fácil.
Fundamentos de programación
“C# es un entorno de programación visual, controlado por eventos, en el cual se crean programas mediante el uso de un Entorno de Desarrollo Integrado (IDE)” (Deitel y Deitel, 2007).
¿Qué es C# (C
Sharp)?
Métodos numéricos
Enseñanza e Investigación Superior A. C. Todos los Derechos Reservados© 2011
3
Enseñanza e Investigación Superior A. C. Todos los Derechos Reservados© 2011
• El lenguaje C# (C Sharp) fue desarrollado por Microsoft desde el año 2000 y se basó en C, C++ y Java para permitir a los programadores migrar sus programas a la arquitectura .NET, una manera más accesible para la realización de programas.
• La arquitectura .NET es una infraestructura que permite crear aplicaciones de software para la web, utilizando muchos lenguajes que pueden comunicarse entre sí, como Visual C++, Visual Basic, Visual C#, Java, COBOL, JScript, Fortran, APL, Python, entre otros. Gracias a la plataforma .NET se podrían hacer también aplicaciones para dispositivos móviles como teléfonos celulares, PDAs, laptops, etc.
Fundamentos de programación
Enseñanza e Investigación Superior A. C. Todos los Derechos Reservados© 2011
• Existen varias entornos de programación en C# como el SharpDevelop 3.2, Mono-project, MonoDevelop, Eclipse, Emonic, Microsoft Visual C# (versiones: 6.0, .NET 2002, .NET 2003, 2005, 2008, 2010), etc.
• En este curso estaremos profundizando en el Microsoft Visual C# 2010 Express.
Fundamentos de programación
Métodos numéricos
Enseñanza e Investigación Superior A. C. Todos los Derechos Reservados© 2011
4
Enseñanza e Investigación Superior A. C. Todos los Derechos Reservados© 2011
• Deitel y Deitel (2007) señalan algunas características del lenguaje C#:
Fuente: Deitel, H. & Deitel, P. (2007). Cómo programar C#. (2ª. ed.). México.: Pearson
Características de C# (C Sharp)
Orientado a objetos
Contiene una poderosa biblioteca de redes
Desarrollar aplicaciones con rapidez
Apropiado para las tareas de desarrollo de aplicaciones de la Web
Estandarizado a través de Ecma International (www.ecma-international.org) en 2002
Puede interactuar en Internet mediante los estándares XML
Enseñanza e Investigación Superior A. C. Todos los Derechos Reservados© 2011
• Puedes seguir los siguientes pasos para lograr hacer una primera aplicación en C#:
1. Bajar e instalar el Microsoft Visual C# 2010.
En el siguiente link puedes descargar de manera gratuita la última versión de Microsoft Visual C# 2010 Express:
http://www.microsoft.com/visualstudio/en-us/products/2010-editions/visual-csharp-express
Comenzando a programar en C#
Métodos numéricos
Enseñanza e Investigación Superior A. C. Todos los Derechos Reservados© 2011
5
Enseñanza e Investigación Superior A. C. Todos los Derechos Reservados© 2011
2. Al abrir el programa te aparecerá la siguiente interfaz:
En donde se encuentra información de proyectos recientes, pantalla de bienvenida, tutoriales, actualizaciones, últimas noticias, encabezados de Visual C#, etc.
Comenzando a programar en C#
Enseñanza e Investigación Superior A. C. Todos los Derechos Reservados© 2011
3. Al hacer clic en Nuevo proyecto, en Archivo – Nuevo proyecto o en el ícono que se encuentra en la parte superior izquierda, se abrirá la siguiente ventana:
Comenzando a programar en C#
Métodos numéricos
Enseñanza e Investigación Superior A. C. Todos los Derechos Reservados© 2011
6
Enseñanza e Investigación Superior A. C. Todos los Derechos Reservados© 2011
4. Las opciones que más utilizarás serán la Aplicación de Windows Forms y la Aplicación de consola. En todos los casos, una vez elegido el tipo de aplicación que realizarás, coloca el nombre del proyecto en el cuadro de texto de la parte inferior y haz clic en Aceptar. Se abrirá el proyecto. Para una aplicación de consola:
Comenzando a programar en C#
Enseñanza e Investigación Superior A. C. Todos los Derechos Reservados© 2011
En esta ventana se muestran los siguientes elementos:
• Barra de menús con las siguientes opciones principales:
• Barra de herramientas estándar: Con las opciones que se ven en la figura:
Comenzando a programar en C#
Métodos numéricos
Enseñanza e Investigación Superior A. C. Todos los Derechos Reservados© 2011
7
Enseñanza e Investigación Superior A. C. Todos los Derechos Reservados© 2011
• Form1.cs [Diseño]: es el formulario donde se colocan los controles del cuadro de herramientas para desarrollar la interfaz que será visible al correr una Aplicación de Windows Forms.
Comenzando a programar en C#
• Cuadro de herramientas: “Contiene íconos que representan los controles utilizados para personalizar formularios. Mediante la programación visual podemos “arrastrar y soltar” controles en el formulario, lo cual es más rápido y simple que crearlos mediante la escritura de código GUI” (Deitel y Deitel, 2007).
Enseñanza e Investigación Superior A. C. Todos los Derechos Reservados© 2011
Comenzando a programar en C#
Métodos numéricos
Enseñanza e Investigación Superior A. C. Todos los Derechos Reservados© 2011
8
Enseñanza e Investigación Superior A. C. Todos los Derechos Reservados© 2011
• Ventana de propiedades: se muestran las propiedades del componente que se encuentre seleccionado en el formulario. Si no se encuentra seleccionado ningún componente, se mostrarán las propiedades del formulario: dimensiones, transparencia, color, etc.
Comenzando a programar en C#
• Lista de errores: de acuerdo a la sintaxis del programa se muestra si existe algún tipo de error.
Enseñanza e Investigación Superior A. C. Todos los Derechos Reservados© 2011
• Para estructurar un programa en C# para consola, en la ventana de Nuevo proyecto, da un nombre al proyecto, como por ejemplo: “Explicación del Tema 1”. Elige la Aplicación de consola, y haz clic en Aceptar.
Estructura de programas en C#
Métodos numéricos
Enseñanza e Investigación Superior A. C. Todos los Derechos Reservados© 2011
9
Enseñanza e Investigación Superior A. C. Todos los Derechos Reservados© 2011
• Se abrirá la siguiente ventana, en la cual podrás realizar el programa para consola:
Estructura de programas en C#
Enseñanza e Investigación Superior A. C. Todos los Derechos Reservados© 2011
• La aplicación ya nos muestra el llamado a algunas librerías, y a esto nosotros agregaremos el programa que deseamos realizar. Como ejemplo puedes escribir el siguiente texto para realizar un programa que muestre un mensaje de texto en una línea y la muestre en el símbolo del sistema:
Estructura de programas en C#
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Explicación_del_Tema_1 { class Program { static void Main(string[] args) { Console.WriteLine("Mi primer programa en C#"); Console.Read(); }//Fin del método main } //Fin de la clase Explicación del Tema 1 }
Métodos numéricos
Enseñanza e Investigación Superior A. C. Todos los Derechos Reservados© 2011
10
Enseñanza e Investigación Superior A. C. Todos los Derechos Reservados© 2011
• Los comandos utilizados para este programa fueron los siguientes:
• Este comando nos permite escribir un texto en una línea en la consola. Agregamos la siguiente instrucción para que el símbolo del sistema no desapareciera, sino que la ventana se quedara estática es espera de leer algo:
• Al oprimir la flecha verde que se encuentra en la barra de herramientas estándar, o la tecla F5, el programa se correrá y se depurará, mostrando el siguiente resultado:
Estructura de programas en C#
Console.WriteLine("Mi primer programa en C#");
Console.Read();
Enseñanza e Investigación Superior A. C. Todos los Derechos Reservados© 2011
• Con esto has desarrollado un primer programa en C# para consola. Más adelante irás realizando programas con más elementos que irás agregando hasta que seas capaz de programar métodos numéricos.
Estructura de programas en C#
Métodos numéricos
Enseñanza e Investigación Superior A. C. Todos los Derechos Reservados© 2011
11
Enseñanza e Investigación Superior A. C. Todos los Derechos Reservados© 2011
• Es necesario declarar al inicio de nuestro programa todas las variables que utilizarás durante el programa. Lo anterior se realiza dependiendo el tipo de dato que queieras asignar a esa variable.
• En C# (C Sharp) todos los tipos se dividen en: tipos por valor y tipos por referencia.
• En este curso utilizarás principalmente los tipos simples, los cuales son por valor, y se resumen en la siguiente tabla:
Datos y operadores
Enseñanza e Investigación Superior A. C. Todos los Derechos Reservados© 2011
Datos y operadores
Tipo Tamaño en bits Rango de valores
bool 8 true o false
byte 8 0 a 255 inclusive
sbyte 8 -128 a 127, inclusive
char 16 '\u0000' a '\uFFFF' (0 a 65535),
inclusive
short 16 –32768 a 32767, inclusive
ushort 16 0 a 65535, inclusive
int 32 –2,147,483,648 a 2,147,483,647,
inclusive
uint 32 0 a 4,294,967,295, inclusive
float 32 Rango negativo aproximado:
–3.4028234663852886E+38 a
–1.40129846432481707E-45
Rango aproximado positivo:
1.40129846432481707E-45 a
3.4028234663852886E+38
Otros valores soportados:
cero positivo y negativo
infinito positivo y negativo
no es un número (NaN)
Métodos numéricos
Enseñanza e Investigación Superior A. C. Todos los Derechos Reservados© 2011
12
Enseñanza e Investigación Superior A. C. Todos los Derechos Reservados© 2011
Datos y operadores
Tipo Tamaño en bits Rango de valores
long 64 –9,223,372,036,854,775,808 a
9,223,372,036,854,775,807,
inclusive
ulong 64 0 a 18,446,744,073,709,551,615,
inclusive
double 64 Rango negativo aproximado:
–1.7976931348623157E+308 a
–4.94065645841246544E-324
Rango aproximado positivo:
4.94065645841246544E-324 a
1.7976931348623157E+308
Otros valores soportados:
cero positivo y negativo
infinito positivo y negativo
no es un número (NaN)
Enseñanza e Investigación Superior A. C. Todos los Derechos Reservados© 2011
Datos y operadores
Tipo Tamaño en bits Rango de valores
decimal 128 Rango negativo:
–
79,228,162,514,264,337,593,543,95
0,335
(–7.9E+28) a –1.0E-28
Rango positivo:
1.0E-28 a
79,228,162,514,264,337,593,543,95
0,335
(7.9E+28)
(Deitel y Deitel, 2007)
Métodos numéricos
Enseñanza e Investigación Superior A. C. Todos los Derechos Reservados© 2011
13
Enseñanza e Investigación Superior A. C. Todos los Derechos Reservados© 2011
Ejemplo:
• Esta instrucción declara como variable tipo int a num2, y 2147483647 es el mayor número que se puede asignar a una variable que contendrá datos de tipo int (ver tabla).
• Punto flotante: existen tres tipos de simples de datos para almacenar números reales en memoria: float, double y decimal. Loa tipos float y double son conocidos como tipos de punto flotante.
Datos y operadores
int num1 = 2147483647; // declarar la variable num1 como int.
Enseñanza e Investigación Superior A. C. Todos los Derechos Reservados© 2011
• Deitel y Deitel (2007) señalan que la diferencia entre los tipos de punto flotante y el decimal, es que los decimales requieren el doble de memoria y proporcionan hasta 29 dígitos significativos, y en la mayor parte de las aplicaciones no se requiere de tanta precisión.
Datos y operadores
Métodos numéricos
Enseñanza e Investigación Superior A. C. Todos los Derechos Reservados© 2011
14
Enseñanza e Investigación Superior A. C. Todos los Derechos Reservados© 2011
• Las variables de tipo decimal almacenan un rango limitado de números reales con precisión, mientras que las variables de punto flotante sólo almacenan aproximaciones de números reales, pero a través de un rango mucho mayor de valores.
• En general es más utilizado el tipo double pero se podría utilizar el tipo decimal, por ejemplo en una aplicación en que se utilicen cantidades monetarias. Cuando realizamos operaciones, los redondeos serán más exactos utilizando el tipo decimal ya que almacena más dígitos.
• Operadores: en la siguiente tabla se resumen algunos de los principales operadores de C# (C Sharp):
Datos y operadores
Enseñanza e Investigación Superior A. C. Todos los Derechos Reservados© 2011
Datos y operadores
Tipo de
operador
Operación en
C#
Operador Ejemplo Orden de
evaluación
Operadores
aritméticos
Multiplicación * a * 6 Se evalúa al inicio
División / a / 6 Se evalúa al inicio
Residuo % r %s Se evalúa al inicio
Suma + a + 6 Se evalúa al final
Resta - a - 6 Se evalúa al final
Incremento ++ int b = ++a
Decremento -- int b = --a
Agrupación Agrupar
términos
( ) (a + b)*8+c
Operadores de
igualdad
Igualdad == a == b
Desigualdad != a != b
Operadores de
relación
Mayor que > a > b
Menor que < a < b
Mayor o igual
que
>= a >= b
Menor o igual
que
<= a <= b
Métodos numéricos
Enseñanza e Investigación Superior A. C. Todos los Derechos Reservados© 2011
15
Enseñanza e Investigación Superior A. C. Todos los Derechos Reservados© 2011
• Si se coloca la siguiente ecuación:
X = ( b * 4 ) + ( a / 2 )
• C# realiza primero la división de a entre 2, después la multiplicación de b por 4, y después realiza la suma de los dos resultados. Es importante recordar las propiedades asociativas de las ecuaciones al programar ecuaciones con operadores.
• A continuación se presenta un ejemplo de programación utilizando operadores y tipos de datos:
Ejemplo del orden de evaluación
Enseñanza e Investigación Superior A. C. Todos los Derechos Reservados© 2011
Ejemplo del orden de evaluación
using System; public class datos_y_operadores { public static void Main(string[] args) { short num1; // declarar un número como short. int num2; // declarar un número como int. long num3; // define un número como long. long num4; // define un número como long. // el programa pide y lee el numl, convirtiéndolo de short a int16. Console.Write("Escribe el primer número: "); num1 = Convert.ToInt16 (Console.ReadLine()); // el programa pide y lee el num2, convirtiéndolo de int a int16. Console.Write("Escribe el segundo número: "); num2 = Convert.ToInt16 (Console.ReadLine()); num3=num1 + num2; // realiza la suma de los dos números ingresados. Console.Write("El resultado de la suma es: "); Console.WriteLine(num3); // imprime el resultado de la suma en la consola. num4 = num1 * num2; // realiza la suma de los dos números ingresados. Console.Write("El resultado de la multiplicación es: "); Console.WriteLine(num4); // imprime el resultado de la suma en la consola. Console.ReadLine(); // Esta instrucción se colocó ahí con el objeto de que el //símbolo del sistema no se cierre inmediatamente después de concluido el algoritmo. } // fin método Main } // fin de la clase datos_y_operadores
Métodos numéricos
Enseñanza e Investigación Superior A. C. Todos los Derechos Reservados© 2011
16
Enseñanza e Investigación Superior A. C. Todos los Derechos Reservados© 2011
• Ahora que has concluido la introducción a la programación en C# (C Sharp) te darás cuenta que necesitas mucha práctica para ir conociendo a fondo el entorno y lenguaje de programación.
Cierre
• Has analizado en este tema las principales herramientas y entornos de programación, los principales tipos de datos y operadores, así como los fundamentos para realizar una aplicación, por lo que podrás comenzar a realizar algunos programas sencillos que te permitan ejercitarte.
Enseñanza e Investigación Superior A. C. Todos los Derechos Reservados© 2011
• H Chapra, S. y Canale, R. (2011). Métodos numéricos para ingenieros. (6ª ed.) México: McGraw Hill.
• Deitel, H. y Deitel, P. (2007). Cómo programar C#. (2ª ed.). México: Pearson.
Referencias bibliográficas
Métodos numéricos
Enseñanza e Investigación Superior A. C. Todos los Derechos Reservados© 2011
17
Enseñanza e Investigación Superior A. C. Todos los Derechos Reservados© 2011
Diseño de contenido: Ing. Alejandro Cortés Leal
Coordinador de Calidad Académica de Área: Lic. José de Jesús Romero Álvarez. MC y MED
Universidad Tec Milenio
Producción y edición del curso:
Tecnología Educativa Universidad Virtual, ITESM
Créditos