You are on page 1of 17

Mtodos numricos

Mtodos numricos
Tema 1 Fundamentos de programacin

Introduccin al tema

Los programas computacionales son nicamente conjuntos de instrucciones que dirigen a la computadora para realizar una cierta tarea (Chapra y Canale, 2011).

En Mtodos Numricos utilizars programas en C# (C Sharp), Matlab y Excel para resolver problemas. En este tema entrars al entorno de programacin de C#, para que conociendo sus herramientas puedas resolver en los siguientes mdulos diversos mtodos numricos con programas que t mismo elabores.
Enseanza e Investigacin Superior A. C. Todos los Derechos Reservados 2011

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

Mtodos numricos

Fundamentos de programacin

Chapra y Canale (2011) resumen los principales tpicos de programacin a tener en cuenta:

1. Representar informacin sencilla: declarar constantes, variables y tipos.

2. Representar informacin compleja: estructuras de datos, arreglos y registros.

3. Frmulas matemticas: asignacin, reglas de prioridad y funciones intrnsecas.

4. Entrada/Salida.

5. Representaciones lgicas: secuencias, seleccin y repeticin.

6. Programacin modular: funciones y subrutinas.

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

Fundamentos de programacin

Qu es C# (C Sharp)?

C# es un entorno de programacin visual, controlado por eventos, en el cual se crean programas mediante el uso de un Entorno de Desarrollo Integrado (IDE) (Deitel y Deitel, 2007).

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 ms fcil.
Enseanza e Investigacin Superior A. C. Todos los Derechos Reservados 2011

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

Mtodos numricos

Fundamentos de programacin

El lenguaje C# (C Sharp) fue desarrollado por Microsoft desde el ao 2000 y se bas en C, C++ y Java para permitir a los programadores migrar sus programas a la arquitectura .NET, una manera ms accesible para la realizacin 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 podran hacer tambin aplicaciones para dispositivos mviles como telfonos celulares, PDAs, laptops, etc.
Enseanza e Investigacin Superior A. C. Todos los Derechos Reservados 2011

Fundamentos de programacin

Existen varias entornos de programacin 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.

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

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

Mtodos numricos

Caractersticas de C# (C Sharp)

Deitel y Deitel (2007) sealan algunas caractersticas del lenguaje C#:


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 travs de Ecma International (www.ecmainternational.org) en (2007). Cmo programar C#. (2. ed.). Mxico.: Pearson 2002 Fuente: Deitel, H. & Deitel, P. Puede interactuar en Internet mediante los estndares XML
Enseanza e Investigacin Superior A. C. Todos los Derechos Reservados 2011

Comenzando a programar en C#

Puedes seguir los siguientes pasos para lograr hacer una primera aplicacin en C#:

1. Bajar e instalar el Microsoft Visual C# 2010.


En el siguiente link puedes descargar de manera gratuita la ltima versin de Microsoft Visual C# 2010 Express: http://www.microsoft.com/visualstudio/enus/products/2010-editions/visual-csharp-express

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

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

Mtodos numricos

Comenzando a programar en C#

2. Al abrir el programa te aparecer la siguiente interfaz:

En donde se encuentra informacin de proyectos recientes, pantalla de bienvenida, tutoriales, actualizaciones, ltimas noticias, encabezados de Visual C#, etc.
Enseanza e Investigacin Superior A. C. Todos los Derechos Reservados 2011

Comenzando a programar en C#

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:

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

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

Mtodos numricos

Comenzando a programar en C#

4. Las opciones que ms utilizars sern la Aplicacin de


Windows Forms y la Aplicacin de consola. En todos los casos, una vez elegido el tipo de aplicacin que realizars, 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 aplicacin de consola:

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

Comenzando a programar en C#
En esta ventana se muestran los siguientes elementos:

Barra de mens con las siguientes opciones principales:

Barra de herramientas estndar: Con las opciones que se ven en la figura:

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

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

Mtodos numricos

Comenzando a programar en C#

Form1.cs [Diseo]: es el formulario donde se colocan los controles del cuadro de herramientas para desarrollar la interfaz que ser visible al correr una Aplicacin de Windows Forms.

Cuadro de herramientas: Contiene conos que representan los controles utilizados para personalizar formularios. Mediante la programacin visual podemos arrastrar y soltar controles en el formulario, lo cual es ms rpido y simple que crearlos mediante la escritura de cdigo GUI (Deitel y Deitel, 2007).
Enseanza e Investigacin Superior A. C. Todos los Derechos Reservados 2011

Comenzando a programar en C#

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

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

Mtodos numricos

Comenzando a programar en C#

Ventana de propiedades: se muestran las propiedades del componente que se encuentre seleccionado en el formulario. Si no se encuentra seleccionado ningn componente, se mostrarn las propiedades del formulario: dimensiones, transparencia, color, etc.
Lista de errores: de acuerdo a la sintaxis del programa se muestra si existe algn tipo de error.

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

Estructura de programas en C#

Para estructurar un programa en C# para consola, en la ventana de Nuevo proyecto, da un nombre al proyecto, como por ejemplo: Explicacin del Tema 1. Elige la Aplicacin de consola, y haz clic en Aceptar.

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

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

Mtodos numricos

Estructura de programas en C#

Se abrir la siguiente ventana, en la cual podrs realizar el programa para consola:

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

Estructura de programas en C#

La aplicacin ya nos muestra el llamado a algunas libreras, 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 lnea y la muestre en el smbolo del sistema:
using using using using System; System.Collections.Generic; System.Linq; System.Text;

namespace Explicacin_del_Tema_1 { class Program { static void Main(string[] args) { Console.WriteLine("Mi primer programa en C#"); Console.Read(); }//Fin del mtodo main } //Fin de la clase Explicacin del Tema 1 }
Enseanza e Investigacin Superior A. C. Todos los Derechos Reservados 2011

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

Mtodos numricos

Estructura de programas en C#

Los comandos utilizados para este programa fueron los siguientes:

Console.WriteLine("Mi primer programa en C#");

Este comando nos permite escribir un texto en una lnea en la consola. Agregamos la siguiente instruccin para que el smbolo del sistema no desapareciera, sino que la ventana se quedara esttica es espera de leer algo:

Console.Read();

Al oprimir la flecha verde que se encuentra en la barra de herramientas estndar, o la tecla F5, el programa se correr y se depurar, mostrando el siguiente resultado:
Enseanza e Investigacin Superior A. C. Todos los Derechos Reservados 2011

Estructura de programas en C#

Con esto has desarrollado un primer programa en C# para consola. Ms adelante irs realizando programas con ms elementos que irs agregando hasta que seas capaz de programar mtodos numricos.
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

Datos y operadores

Es necesario declarar al inicio de nuestro programa todas las variables que utilizars 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 utilizars principalmente los tipos simples, los cuales son por valor, y se resumen en la siguiente tabla:

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

Datos y operadores
Tipo bool byte sbyte char short ushort int uint float Tamao en bits 8 8 8 16 16 16 32 32 32 Rango de valores true o false 0 a 255 inclusive -128 a 127, inclusive '\u0000' a '\uFFFF' (0 a 65535), inclusive 32768 a 32767, inclusive 0 a 65535, inclusive 2,147,483,648 a 2,147,483,647, inclusive 0 a 4,294,967,295, inclusive 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 nmero (NaN)

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

Datos y operadores
Tipo long Tamao en bits 64 Rango de valores 9,223,372,036,854,775,808 a 9,223,372,036,854,775,807, inclusive 0 a 18,446,744,073,709,551,615, inclusive 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 nmero (NaN)

ulong double

64 64

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

Datos y operadores
Tipo decimal Tamao en bits 128 Rango de valores 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)

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

Datos y operadores
Ejemplo:
int num1 = 2147483647; // declarar la variable num1 como int.

Esta instruccin declara como variable tipo int a num2, y 2147483647 es el mayor nmero 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 nmeros reales en memoria: float, double y decimal. Loa tipos float y double son conocidos como tipos de punto flotante.

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

Datos y operadores

Deitel y Deitel (2007) sealan 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 dgitos significativos, y en la mayor parte de las aplicaciones no se requiere de tanta precisin.

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

Datos y operadores

Las variables de tipo decimal almacenan un rango limitado de nmeros reales con precisin, mientras que las variables de punto flotante slo almacenan aproximaciones de nmeros reales, pero a travs de un rango mucho mayor de valores.

En general es ms utilizado el tipo double pero se podra utilizar el tipo decimal, por ejemplo en una aplicacin en que se utilicen cantidades monetarias. Cuando realizamos operaciones, los redondeos sern ms exactos utilizando el tipo decimal ya que almacena ms dgitos.
Operadores: en la siguiente tabla se resumen algunos de los principales operadores de C# (C Sharp):
Enseanza e Investigacin Superior A. C. Todos los Derechos Reservados 2011

Datos y operadores
Tipo de operador Operadores aritmticos Operacin en C# Multiplicacin Divisin Residuo Suma Resta Incremento Decremento Agrupar trminos Igualdad Desigualdad Mayor que Menor que Mayor o igual que Menor o igual que Operador * / % + ++ -() == != > < >= <= Ejemplo a*6 a/ 6 r %s a+6 a- 6 int b = ++a int b = --a (a + b)*8+c a == b a != b a>b a<b a >= b a <= b Orden de evaluacin Se evala al inicio Se evala al inicio Se evala al inicio Se evala al final Se evala al final

Agrupacin Operadores de igualdad

Operadores de relacin

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

Ejemplo del orden de evaluacin

Si se coloca la siguiente ecuacin:


X=(b* 4)+(a/2)

C# realiza primero la divisin de a entre 2, despus la multiplicacin de b por 4, y despus realiza la suma de los dos resultados. Es importante recordar las propiedades asociativas de las ecuaciones al programar ecuaciones con operadores. A continuacin se presenta un ejemplo de programacin utilizando operadores y tipos de datos:
Enseanza e Investigacin Superior A. C. Todos los Derechos Reservados 2011

Ejemplo del orden de evaluacin


using System; public class datos_y_operadores { public static void Main(string[] args) { short num1; // declarar un nmero como short. int num2; // declarar un nmero como int. long num3; // define un nmero como long. long num4; // define un nmero como long. // el programa pide y lee el numl, convirtindolo de short a int16. Console.Write("Escribe el primer nmero: "); num1 = Convert.ToInt16 (Console.ReadLine()); // el programa pide y lee el num2, convirtindolo de int a int16. Console.Write("Escribe el segundo nmero: "); num2 = Convert.ToInt16 (Console.ReadLine()); num3=num1 + num2; // realiza la suma de los dos nmeros 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 nmeros ingresados. Console.Write("El resultado de la multiplicacin es: "); Console.WriteLine(num4); // imprime el resultado de la suma en la consola. Console.ReadLine(); que el //smbolo del sistema no se cierre inmediatamente despus de concluido el algoritmo. } // fin mtodo Main } // fin de la clase datos_y_operadores // Esta instruccin se coloc ah con el objeto de

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

Cierre

Ahora que has concluido la introduccin a la programacin en C# (C Sharp) te dars cuenta que necesitas mucha prctica para ir conociendo a fondo el entorno y lenguaje de programacin.
Has analizado en este tema las principales herramientas y entornos de programacin, los principales tipos de datos y operadores, as como los fundamentos para realizar una aplicacin, por lo que podrs comenzar a realizar algunos programas sencillos que te permitan ejercitarte.
Enseanza e Investigacin Superior A. C. Todos los Derechos Reservados 2011

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.

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

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

16

Mtodos numricos

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

17

You might also like