0% encontró este documento útil (0 votos)
112 vistas9 páginas

Implementación de Métodos en C#

Cargado por

Gpe Nayeli
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
112 vistas9 páginas

Implementación de Métodos en C#

Cargado por

Gpe Nayeli
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

IMPLEMENTACIÓN DE MÉTODOS EN C# .

NET

Bruno López Takeyas


Instituto Tecnológico de Nuevo Laredo
Reforma Sur 2007, C.P. 88070, Nuevo Laredo, Tamps. México
[Link]
E-mail: takeyas@[Link]

Resumen: El presente documento tiene como un conjunto de instrucciones que solamente se


objetivo crear conciencia en los programadores en C# escriben una vez, pero pueden ser invocados las
.NET sobre el aprovechamiento de los recursos que veces que sean necesarias; de tal forma, que ofrece
proporciona el lenguaje para mejorar el estilo de al programador la facilidad de organizar sus
programación y facilitar la depuración y corrección de programas de forma clara, precisa y fácil de
depurar. En este paradigma de programación, estos
los programas. Para este efecto se mencionan temas de
módulos fueron conocidos con el nombre de
suma importancia: Uso de métodos (procedimientos y
subrutinas o subprogramas, los que actualmente en
funciones), manejo de variables (locales y globales), el el paradigma de programación orientado a objetos
envío de parámetros o argumentos (por valor y por se conocen con el nombre de métodos.
referencia) y la recepción de valores; de tal forma que
sean de utilidad al implementar programas orientados a
objetos. 2. Definición de método

En la actualidad se conoce con el nombre de


método a un conjunto de instrucciones que realiza
1. Introducción una tarea específica y bien definida. Los métodos
solamente se escriben una vez pero pueden ser
En los primeros paradigmas de programación de invocados en múltiples ocasiones durante la
computadoras, las instrucciones se escribían y ejecución de un programa. Esto le brinda al
ejecutaban de manera secuencial o lineal; es decir, programador las siguientes ventajas:
se codificaban las sentencias una después de la • Facilita la separación de actividades en
otra y seguían este patrón durante su ejecución. Sin módulos debidamente identificados.
embargo, este estilo provocaba programas muy • Organiza de manera legible y fácil de
extensos, poco legibles, mal organizados y por entender a los programas.
ende, complicados de depurar o corregir; a esto se • Facilita al programador la escritura de código.
le añade que en muchas ocasiones había necesidad • Facilita la depuración, corrección y
de ejecutar un conjunto de instrucciones en varias mantenimiento de los programas.
ocasiones, lo cual provocaba escribirlo
repetidamente en la codificación, ocasionando Los métodos se clasifican en procedimientos y
duplicidad de código y por ende más trabajo para el funciones (Fig. 1).
programador, ya que debía escribir varias veces el
mismo código en el programa, revisarlo y
provocando que los programas ocuparan más Procedimientos
memoria y se tornaran difíciles de depurar.
Con el surgimiento del paradigma de la Métodos
programación estructurada, se introduce la idea de
organizar un programa de computadora en módulos, Funciones
los cuales permiten organizarlo e identificar
claramente la operación de los mismos. Cada
módulo está identificado con un nombre, contiene Fig. 1.- Tipos de métodos

1
En el paradigma orientado a objetos, los static string Comparar() // Devuelve un
métodos representan las acciones realizadas por los valor de tipo cadena
objetos; por lo que se recomienda que se utilicen
verbos para nombrarlos e identificarlos. Por ejemplo, el siguiente método calcula el área
de una circunferencia aplicando la fórmula =
y devuelve el resultado. Nótese que el
método se declara de tipo double, indicando que
devuelve un valor numérico real, por lo tanto se trata
3. Procedimientos de una función.

Un procedimiento es un método que se compone de static double CalcularArea()


un conjunto de instrucciones para realizar un proceso, {
sin embargo, no devuelve algún resultado como return([Link]*[Link](Radio,2));
producto de su operación; simplemente ejecuta las }
instrucciones que contiene sin informar el resultado
obtenido. En C#, los procedimientos se identifican por
su declaración de tipo void.
Por ejemplo, el siguiente método se encarga de 4.1.- Limitación de return()
imprimir en pantalla los datos de una persona; sin
embargo, no devuelve valor alguno. Nótese que el Una limitante de una función es que la sentencia
método se declara de tipo void indicando que no return() sólo devuelve un valor; esto restringe a
devuelve valor; por lo tanto se trata de un que una función solamente pueda devolver un dato.
procedimiento. Si se desea que la función devuelva más de un valor,
entonces debe usarse otro mecanismo (por ejemplo
static void Imprimir() el envío de parámetros por referencia ó el uso de
{ parámetros de salida out en C# .NET).
[Link](Nombre);
[Link](Edad);
[Link](Sueldo);
}
5. Ámbito de las variables: Variables
La palabra static indica que el método es un locales y globales
miembro estático del programa; es decir, solamente
se crea una vez cuando se ejecuta el programa y
existe mientras se ejecute la aplicación (por el En el contexto de programación, se conoce como el
momento no se explica a detalle este concepto, el ámbito a la disponibilidad que ofrece una variable
cual se trata en cursos de Programación Orientada a dependiendo del lugar donde se declare. Las
Objetos). variables que se declaran dentro de un método o un
bloque de sentencias se llaman variables locales
mientras que las variables globales se conocen a
través del programa entero y se pueden usar en
4. Funciones cualquier segmento de código.
El valor de una variable local solamente se puede
Las funciones son métodos que ejecutan un conjunto acceder dentro del segmento de código donde fue
de instrucciones e informan del resultado obtenido; es declarada dicha variable y no puede utilizarse en otra
decir, devuelven el dato resultante de la ejecución. En sección; en cambio una variable global puede
C#, una función utiliza la sentencia return() para accederse en cualquier parte del programa,
devolver el valor correspondiente. Enseguida se manteniendo disponible su valor en todo momento.
muestran algunos ejemplos de declaraciones de Se pueden declarar variables globales
funciones: declarándolas fuera de cualquier método (antes de
Main()) y cualquier método puede acceder a ellas
static int Sumar() // Devuelve un valor sin tener en cuenta en qué segmento de código esté
de tipo numérico entero dicha declaración.

static double Calcular() // Devuelve un


valor de tipo numérico real
2
6. Envío de parámetros a los métodos
Procesar(Nombre, Edad, Sueldo);
Un método (procedimiento o función) puede recibir
datos para realizar algunas acciones, los cuales se
denominan parámetros o argumentos. La declaración del método se muestra enseguida:
Existen dos formas de enviar datos a un método:
por valor y por referencia (Fig. 2).
void Procesar(string N, int E, double S)
{
………
Por valor }
Envío de
parámetros
En este caso, el parámetro N recibe una copia del
Por referencia valor de la variable Nombre, E recibe copia del valor
de Edad y S recibe copia del valor de Sueldo
(Fig. 3). Obsérvese que durante la llamada del
Fig. 2.- Tipos de envíos de parámetros método, se envían una cadena, un entero y un
número real respectivamente, los cuales son
Cuando se invoca un método al que se le envía un recibidos en ese orden por los correspondientes
parámetro por valor, se le manda una copia del valor parámetros; esto es, debe respetarse el orden de los
de una variable o expresión, el cual es recibido por un tipos de datos enviados en la declaración de los
parámetro declarado del mismo tipo de dato que el parámetros.
valor enviado. En cambio, si se le envía un parámetro
por referencia, se le manda la referencia (dirección de
memoria) de una variable. Memoria RAM
Se pueden enviar varios datos a un método, sin
embargo es necesario precisar que las variables Dirección Valor Variable
receptoras deben estar declaradas en el orden FA31:B278 “Pepe” Nombre
indicado por el envío, también considerando la …
correspondencia con el tipo de dato.
FA31:C45C 18 Edad
Cuando se invoca un método se colocan entre
paréntesis los parámetros enviados. …
Es importante mencionar que los parámetros que FA31:D2A8 1500.50 Sueldo
reciben los datos enviados al método se consideran …
variables locales (independientemente si se hace por FA31:E6A1 “Pepe” N
valor o por referencia) e incluso pueden tener el …
mismo nombre que la variable origen, sin embargo se FA31:E9A2 18 E
trata de copias de los valores originales, por lo tanto, …
son variables diferentes. FA31:F3A8 1500.50 S

Fig. 3.- Almacenamiento en memoria de los parámetros


enviados por valor.
6.1.- Envío de parámetros por valor

Cuando se envía un parámetro por valor, se hace una Ahora se considera el siguiente ejemplo: Declarar
copia del valor de la variable enviada en el parámetro una variable global denominada “x“ y se inicializa con
recibido, el cual actúa como una variable local, que lo el valor 5 (x=5). Dentro del programa principal se
recibe, lo manipula dentro del método y que declara y se inicializa una variable local llamada “y”
desaparece y pierde su valor al terminar la ejecución
con el valor 13 (y=13). Cuando se hace la llamada a
de ese segmento de código.
un Metodo(y) y se envía la variable “y”, se hace por
Por ejemplo, al invocar (llamar) el método
valor, es decir, se envía una copia del valor de la
identificado con el nombre Procesar, se colocan
variable (13) que lo recibe otra variable local “a”. En
entre paréntesis los parámetros Nombre, Edad y
ese momento, se transfiere el control de la ejecución
Sueldo separados por comas:
del programa hacia el método, activando su variable
3
local “a” y desactivando momentáneamente la
variable local del programa principal “y” (la variable
“x“ permanece activa ya que se trata de una variable x=5
global). Dentro del método, se modifica el valor de su a=16
variable local “a”, se imprime (16) y se duplica el valor x=10
de la variable global “x” y se imprime (10). Cuando el y=13
método termina, el sistema desactiva su variable local
“a”, regresa el control de la ejecución del programa al
lugar donde se hizo la llamada, activa y recupera el Fig.4.- Salida del programa de envío de parámetros por
valor de su propia variable local (y=13) y continúa valor.
con su operación. Al imprimir los valores, nos
percatamos que la variable “x” modificó su valor por
tratarse de una variable global que puede ser
accedida en cualquier parte del programa, sin El Prog. 1 completo puede descargarse de:
embargo, la variable “y” mantiene su valor original (no
fué alterado), ya que por tratarse de una variable [Link]
local, fue desactivada al llamar al Metodo() y /libroED/[Link]
reactivada con su valor original al retornar. Enseguida
se muestra el código en C# de este ejemplo (Prog. 1): Para monitorear los valores de las variables e
identificar su ámbito, se recomienda ejecutar paso a
class Program paso por instrucciones este programa en Microsoft
{ Visual C# 2010 ó 2012 oprimiendo repetidamente la
static int x = 5; // Variable global tecla F11.

static void Main(string[] args)


{
int y = 13; // Variable local 6.2.- Envío de parámetros por referencia
[Link]("\nx=" + x); Todas las variables se almacenan en celdas de la
memoria RAM (Random Access Memory por sus
// Llamada al método y envío por valor
siglas en inglés), las cuales están identificadas por
Metodo(y);
una dirección expresada en números hexadecimales
[Link]("\nx=" + x); (p. ejem FA4D:32CE).
Cuando se envía un parámetro por referencia, no
[Link]("\ny=" + y); se hace una copia de su valor y quien lo recibe, no
contiene directamente el dato, sino una referencia
[Link](); (dirección de memoria) a él.
} El envío de parámetros por referencia permite a
un método cambiar el valor del parámetro y mantener
// El parámetro "a" recibe el valor de "y" vigente dicho cambio. Cuando una variable es
static void Metodo(int a) enviada por referencia, el método recibe la referencia
{ de la variable original y esto implica que los cambios
a = a + 3; realizados a esa variable dentro del método, afectan
[Link]("\na=" + a); la variable original.
Para ilustrarlo mejor, consideremos el ejemplo de
x = x * 2; la sección anterior, pero ahora enviando la variable
} “y” por referencia: Se declara una variable global
} denominada “x” y se inicializa con el valor 5 (x=5).
Dentro del programa principal se declara y se
Prog. 1.- Envío de parámetros por valor inicializa la variable “y” con el valor 13 (y=13), la cual
se considera variable local al ser declarada dentro de
un método. Cuando se hace la llamada del
Al ejecutar el programa anterior se produce la Metodo(ref y) y se envía la variable “y”, se hace
salida mostrada en la Fig. 4. por referencia, es decir, se envía la dirección de
memoria (no el valor) de la variable “y”, que lo recibe
4
la variable local “a”. Dentro del método, se modifica el // Llamada al método y envío por referencia
valor de la variable “a”, se imprime (16) y se duplica el Metodo(ref y);
valor de la variable global “x” (10) y se imprime.
Cuando el método termina, el sistema desactiva su [Link]("\nx=" + x);
variable local “a”, regresa el control de la ejecución
[Link]("\ny=" + y);
del programa al lugar donde se hizo la llamada, activa
y recupera los valores de su propia variable local
[Link]();
(y=13) y continúa con su operación. Al imprimir los }
valores, nos percatamos que la variable “x” modificó
su valor por tratarse de una variable global que puede // El parámetro "a" recibe la ref. de "y"
ser accedida en cualquier parte del programa y la static void Metodo(ref int a)
variable “y”, aunque se trata de una variable local, {
también modificó su valor, ya que siendo la variable a = a + 3;
“a” una referencia de la variable “y”, entonces al [Link]("\na=" + a);
modificar “a“ también se modifica “y”. Esto se debe a
que la variable “a“ no recibe una copia del valor de la x = x * 2;
variable “y“ sino la dirección de memoria donde está }
}
almacenado dicho valor (FA31:C45C). A este
concepto se le conocía con el nombre de apuntador
Prog. 2.- Envío de parámetros por referencia.
en lenguajes como Pascal, C y C++, ya que la
variable “a“ apunta al valor almacenado en la variable
“y“ (Fig. 5).

Al ejecutar el programa anterior se produce la


salida mostrada en la Fig. 6.
Memoria RAM

Dirección Valor Variable x=5


FA31:B278 5 x a=16
… x=10
FA31:C45C 13 y y=16

FA31:D2A8 FA31:C45C a
… Fig. 6.- Salida del programa de envío de parámetros por
referencia.
Fig. 5.- Almacenamiento en memoria de los parámetros
enviados por referencia.

El Prog. 2 completo puede descargarse de:


El siguiente código en C# ilustra este ejemplo (Prog. [Link]
2): libroED/[Link]
class Program
{
static int x = 5; // Variable global Para monitorear los valores de las variables e
identificar su ámbito, se recomienda ejecutar paso a
static void Main(string[] args)
paso por instrucciones este programa en Microsoft
{
Visual C# 2010 ó 2012 oprimiendo repetidamente la
int y = 13; // Variable local
tecla F11.
[Link]("\nx=" + x);

5
6.3.- Parámetros de salida out en C# .NET x = x * 2;

Un parámetro de salida en C# (out) es muy similar a if (a % 2 != 0)


un parámetro por referencia (ref), excepto que los Impar = true;
parámetros por referencia deben ser inicializados else
antes de enviarse; sin embargo, el método debe Impar = false;
asignarle un valor antes de devolverlo. Para utilizar un }
}
parámetro de salida, basta con anteponer la palabra
out tanto en el parámetro enviado como en su
Prog.3.- Parámetro de salida en C#.
declaración en el método.
Este tipo de parámetros son útiles cuando se
requiere que una función devuelva más de un dato,
ya que por definición, existe una restricción de que
una función solamente devuelve un valor. Al ejecutar el programa anterior se produce la
Para ilustrar mejor el uso de un parámetro de salida mostrada en la Fig. 7.
salida, tomaremos como ejemplo el programa anterior
(Prog. 2) al que se le agrega una variable booleana
como parámetro de salida para determinar si el
parámetro enviado por referencia es par ó impar. Este x=5
código en C# muestra este ejemplo (Prog. 3): a=16
x=10
class Program
y=16
{
static int x = 5; // Variable global y es un número par

static void Main(string[] args)


{ Fig. 7.- Salida del programa de uso de parámetro de
int y = 13; // Variable local salida.
bool esImpar;

[Link]("\nx=" + x);
El Prog. 3 completo puede descargarse de:
// Llamada al método y envío por referencia
Metodo(ref y, out esImpar); [Link]
libroED/[Link]
[Link]("\nx=" + x);

[Link]("\ny=" + y); Para monitorear los valores de las variables e


identificar su ámbito, se recomienda ejecutar paso a
if (esImpar) paso por instrucciones este programa en Microsoft
[Link]("\ny es un número Visual C# 2010 ó 2012 oprimiendo repetidamente la
impar"); tecla F11.
else
[Link]("\ny es un número
par");

[Link]();
} 7. Recibiendo un valor de una función
// El parámetro "a" recibe la referencia de
Una vez que se invoca una función es necesario
"y" y el parámetro de salida sirve para
utilizar la variable capaz de recibir el valor devuelto
determinar si el parámetro enviado es Impar
por ésta, la cual debe ser del mismo tipo de la
static void Metodo(ref int a, out bool Impar)
función. Por ejemplo, si se invoca el siguiente método
{
a = a + 3;
x = Procesar(a, b);
[Link]("\na=" + a);

6
la variable “x“ recibe el valor calculado por la función El Prog. 4 completo puede descargarse de:
Procesar(), que acepta los parámetros “a“ y “b“
respectivamente. [Link]
Para ilustrarlo mejor, se considera el siguiente repasoFP/[Link]
ejemplo: Se desea implementar una función que
calcule el área de una circunferencia; para ello, la
función recibe como parámetro el valor del radio, Para monitorear los valores de las variables e
aplica la fórmula correspondiente y devuelve el identificar su ámbito, se recomienda ejecutar paso a
resultado calculado. El programa principal solicita al paso por instrucciones este programa en Microsoft
usuario capturar el valor del radio de una Visual C# 2010 ó 2012 oprimiendo repetidamente la
circunferencia y almacenarlo en la variable local tecla F11.
llamada “Radio“, la cual es enviada como parámetro
por valor a la función CalcularArea(), que recibe
el parámetro en la variable local llamada “r“ aplica la
fórmula = y devuelve el resultado calculado
al programa principal quien lo recibe en la variable 8. Aplicaciones prácticas del uso de
“Area“. El siguiente código en C# ilustra este ejemplo métodos
(Prog. 4):
Existen numerosas aplicaciones prácticas del uso de
class Program métodos para el desarrollo de sistemas
{ computacionales. La implementación de métodos
static void Main(string[] args) ayuda a organizar mejor el diseño de programas y
{ facilitan su mantenimiento.
double Radio, Area; El Prog. 5 muestra una aplicación típica de un
[Link]("Teclee el valor del radio: método al que se le envían parámetros: el
"); ordenamiento de los datos de un arreglo. El programa
Radio = [Link]([Link]()); principal solicita al usuario que capture la cantidad de
celdas de un arreglo unidimensional y lo almacena en
// La variable Area recibe el valor devuelto la variable local llamada “Tamaño”, crea el arreglo
por la función local y lo llena con números enteros generados de
Area = CalcularArea(Radio); manera aleatoria. Después invoca al procedimiento
llamado Ordenar() y le envía como parámetros el
[Link]("Área = " + Area);
[Link](); “Arreglo” completo y su “Tamaño” (los cuales son
} recibidos por el arreglo “A” y la variable “T”
respectivamente) para implementar un algoritmo que
static double CalcularArea(double r) ordena de manera ascendente (de menor a mayor)
{ los datos almacenados en el arreglo (en este
return ([Link] * [Link](r, 2)); momento no es importante explicar el método de
} ordenamiento). Obsérvese que se trata de un
} procedimiento, puesto que no devuelve valor; sin
embargo, no es necesario devolver valor alguno, ya
Prog. 4.- Función para calcular el área de una que cuando se envía un arreglo como parámetro a un
circunferencia método, automáticamente se hace por referencia; es
decir, no se requiere implementar una función que
devuelva el arreglo con los datos ordenados; sino que
al hacer los cambios en el arreglo recibido dentro del
Al ejecutar el programa anterior se produce la método (arreglo “A”), éstos se reflejan de manera
salida mostrada en la Fig. 8. inmediata en el arreglo original (Arreglo) que fue
generado en el programa principal. El siguiente
código en C# muestra este ejemplo:
Teclee el valor del radio: 2.3
Área = 16.61902513749 class Program
{
static void Main(string[] args)
Fig. 8.- Salida del programa de uso de una función. {

7
// Declaración del tamaño del arreglo for(int p=0; p<T-1; p++)
int Tamaño; for(int e=p+1; e<T; e++)
if (A[e] < A[p])
// Declaración del arreglo {
int [] Arreglo; int temp=A[p];
A[p] = A[e];
// Generar un número aleatorio A[e] = temp;
Random NumeroAleatorio = new }
Random([Link]); }
}
[Link]("Teclee el tamaño del arreglo:
"); Prog. 5.- Procedimiento para ordenar los datos de un
Tamaño = [Link]([Link]()); arreglo

// Creación del arreglo


Arreglo = new int[Tamaño];
Al ejecutar el programa anterior se produce la
// Llena el Arreglo con números generados salida mostrada en la Fig. 9.
aleatoriamente
[Link]("\nARREGLO
DESORDENADO\n"); Teclee el tamaño del arreglo: 6
for (int i = 0; i < Tamaño; i++) ARREGLO DESORDENADO
{
// Genera núm. aleatorio y lo almacena en 1,559,595,546
la celda "i" del Arreglo
1,755,192,844
Arreglo[i] = [Link]();
1,649,316,172
1,198,642,031
// Imprime el núm. generado
442,452,829
[Link]("{0:N0} ",Arreglo[i]);
1,200,195,955
}
Oprima cualquier tecla para ordenar el
[Link]("\nOprima cualquier tecla para
ordenar el arreglo ...");
arreglo ...
[Link]();
ARREGLO ORDENADO
// Invoca el procedimiento "Ordenar" y le
envía el "Arreglo" y su "Tamaño" 442,452,829
Ordenar(Arreglo, Tamaño); 1,198,642,031
1,200,195,955
// Limpia la pantalla 1,559,595,546
[Link](); 1,649,316,172
1,755,192,844
// Imprime el arreglo
[Link]("ARREGLO ORDENADO\n"); Oprima cualquier tecla para salir

for(int i=0; i<Tamaño; i++) Fig. 9. Salida del programa de ordenamiento de un arreglo
[Link]("{0:N0} ", Arreglo[i]);

[Link]("\nOprima cualquier tecla para


salir ..."); El Prog. 5 completo puede descargarse de:
[Link]();
} [Link]
repasoFP/[Link]
// Procedimiento para ordenar un arreglo
recibido como parámetro
static void Ordenar(int[] A, int T)
{
8
9. Conclusiones El autor

El uso de métodos produce sistemas organizados en Bruno López Takeyas se tituló de


módulos que le facilitan al programador su legibilidad, Ingeniero en Sistemas Computacionales
depuración y mantenimiento, dando como en el Instituto Tecnológico de Nuevo
consecuencia menor esfuerzo de diseño y Laredo en 1993. Obtuvo el grado de
programación; razón por la que es muy importante Maestro en Ciencias de la Administración
concientizar a estudiantes que vayan a cursar la con especialidad en Sistemas en la
materia de Programación Orientada a Objetos (POO) Universidad Autónoma de Nuevo León en
sobre la importancia de dominar el uso de métodos marzo del 2000.
(procedimientos, funciones), envío de parámetros y Desde 1994 es profesor del Depto. de Sistemas y Computación
recepción del valor de una función, ya que son un del Instituto Tecnológico de Nuevo Laredo. También es
componente fundamental de los objetos porque profesor invitado de varias universidades públicas y privadas
representan sus acciones realizadas. Desde el inicio en sus programas de nivel maestría.
del curso de POO, se realiza diseño orientado a Ha impartido varias conferencias relacionadas con sistemas
objetos en el que los métodos son la parte medular computacionales, las más recientes en el Instituto Tecnológico
del comportamiento de los objetos, el cual, de Cancún, Instituto Tecnológico de Piedras Negras,
posteriormente se transforma en sistemas codificados Universidad Autónoma de Tamaulipas y para la Universidad
en un lenguaje de programación como C# .NET. Técnica de Machala, Ecuador. Es autor de los libros
“Introducción a la ISC y al diseño de algoritmos” y “Estructuras
de datos orientadas a objetos. Pseudocódigo y aplicaciones en
10. Bibliografía C# .NET”.

• Archer, Tom. “A fondo C#”. Editorial McGraw Contacto:


Hill. 2001. Email: takeyas@[Link]
• Ceballos, Francisco Javier. “Enciclopedia de Web: [Link]
Microsoft Visual C#“. Editorial Alfa Omega.
2010.
• Ceballos, Francisco Javier. “Microsoft C#.
Curso de Programación”. Editorial Alfaomega.
2008.
• Ceballos, Francisco Javier. “Microsoft C#.
Lenguaje y aplicaciones”. Editorial Alfaomega.
2008.
• Deitel & Deitel. “Programming in C#”. Editorial
Prentice Hall.
• Ferguson, Jeff. “La Biblia de C#”. Editorial
Anaya.2003.
• López Takeyas, Bruno. “Curso de
Programación en C#”. Filminas. Instituto
Tecnológico de Nuevo Laredo. Consultado el 10
de diciembre de 2012 de
[Link]
s/POO/[Link]
• López Takeyas, Bruno. “Estructuras de datos
orientadas a objetos. Pseudocódigo y
aplicaciones en C# .NET”. Editorial Alfaomega.
México. 2012.
• Miles, Rob. “C# Development”. Department or
Computer Science. University of Hull. 2008-2009.
• Roque Hernández, Ramón. “POO (Ingeniería –
Tecnológico de Nuevo Laredo)”. Filminas.
Instituto Tecnológico de Nuevo Laredo.
Consultado el 10 de diciembre de 2012 de
[Link]
9

También podría gustarte