Tema 1 Metodos Numericos

17
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.

Transcript of Tema 1 Metodos Numericos

Page 1: 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.

Page 2: Tema 1 Metodos Numericos

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)?

Page 3: Tema 1 Metodos Numericos

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

Page 4: Tema 1 Metodos Numericos

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#

Page 5: Tema 1 Metodos Numericos

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#

Page 6: Tema 1 Metodos Numericos

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#

Page 7: Tema 1 Metodos Numericos

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#

Page 8: Tema 1 Metodos Numericos

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#

Page 9: Tema 1 Metodos Numericos

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 }

Page 10: Tema 1 Metodos Numericos

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#

Page 11: Tema 1 Metodos Numericos

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)

Page 12: Tema 1 Metodos Numericos

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)

Page 13: Tema 1 Metodos Numericos

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

Page 14: Tema 1 Metodos Numericos

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

Page 15: Tema 1 Metodos Numericos

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

Page 16: Tema 1 Metodos Numericos

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

Page 17: Tema 1 Metodos Numericos

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