Programacion de C#
C# Basico, II 1
Introduccin a la programacin
con C#
Aplicaciones de consola
(Ver ms en http://en.wikipedia.org/wiki/Console_application )
C# Basico, II 2
Introduccin a la programacin
con C#
Aplicaciones de consola
(Ver ms en http://en.wikipedia.org/wiki/Console_application )
C# Basico, II 3
Introduccin a la programacin
con C#
Produccin de una aplicacin de consola con C#:
Cdigo fuente, compilacin y ejecucin.
Cdigo fuente
Para la escritura del cdigo fuente se puede usar cualquier editor de texto
ASCII-STD, tal como:
notepad
notepad++ (http://notepad-plus-plus.org/)
...
C# Basico, II 6
Introduccin a la programacin
con C#
Produccin de una aplicacin de consola con C#:
Cdigo fuente, compilacin y ejecucin.
Ejecucin
D:\>MiAplicacion <ENTER>
O en este directorio:
C# Basico, II 8
Introduccin a la programacin
con C#
Produccin de una aplicacin de consola con C#:
Cdigo fuente, compilacin y ejecucin.
Otras formas de compilacin en lnea de comando
...
C# Basico, II 9
Introduccin a la programacin
con C#
Produccin de una aplicacin de consola con C#:
Cdigo fuente, compilacin y ejecucin.
Compilacin
New Project -> Visual C# -> Windows -> Console Application -> Give a
name to the application, Location, Solution name -> OK ->...
C# Basico, II 10
Introduccin a la programacin
con C# Nombre
del archivo
Estructura general de un programa fuente en C# fuente y su
extensin
// Nombre.cs
La sintaxis
de los
using nombreDelEspacio de nombre; comentarios
... es la misma
que en C++
class Nombre { Los namaspace y Java
requeridos
// Test-Driver
public static void Main() { Para esta parte del curso esta
estructura es suficiente. Ms adelante,
// cuerpo de Main(); cuando estemos escribiendo nuestras
clases veremos otra estructura ms
} amplia.
} C# Basico, II 11
Introduccin a la programacin
con C#
El mtodo Main() :
Si no retorna nada
Si retorna
C# Basico, II 13
Introduccin a la programacin
con C#
El mtodo Main() :
return 0;
}
C# Basico, II 14
Introduccin a la programacin
con C#
El mtodo Main() :
C# Basico, II 15
Introduccin a la programacin
con C#
El mtodo Main() :
El argumento tipo cadena, que es escrito en lnea de comando, puede ser convertido a
un tipo numrico :
C# Basico, II 16
Introduccin a la programacin
con C#
Salidas y Entradas en C#
La clase Console del namespace System proporciona los mtodos Write() y
WriteLine() para salida y los mtodos Read y ReadLine() para entrada.
http://msdn.microsoft.com/es-es/library/System(v=vs.100).aspx
C# Basico, II 17
Ejemplos
C# Basico, II 18
// Basico0.cs
using System;
class Basico0 {
0! = 1, n! = n * (n-1)!
PRECONDICION: numero >= 0 y numero <= 20
POSTCONDICION: numero!
*/
using System;
class Basico2 {
/*
Int64 es una estructura del namespace System y Parse es uno de sus metodos para convertir
la representacin en forma de cadena de un nmero en el entero de 64 bits con signo equivalente.
*/
C# Basico, II 20
Basico1.cs - continuacin -
C# Basico, II 21
Basico1.cs - continuacin -
El factorial de 5 es 120
El factorial de 0 es 1
El factorial de 1 es 1
C# Basico, II 22
Basico1.cs - continuacin -
El factorial de 10 es 3628800
El factorial de 20 es 2432902008176640000
C# Basico, II 23
/*
Basico2.cs
*/
using System;
class Basico0 {
C# Basico, II 24
Basico2.cs - continuacin -
C# Basico, II 25
Introduccin a la programacin
con C#
Modularizacin: namespace, creacin y uso de DLL en C#
C# Basico, II 26
Introduccin a la programacin
con C#
Modularizacin: namespace, creacin y uso de DLL en C#
C# Basico, II 27
Introduccin a la programacin
con C#
Modularizacin: namespace, creacin y uso de DLL en C#
Ver ms en http://support.microsoft.com/kb/815065/es
C# Basico, II 28
Introduccin a la programacin
con C#
Modularizacin: namespace, creacin y uso de DLL en C#
C# Basico, II 29
Introduccin a la programacin
con C#
Modularizacin: namespace, creacin y uso de DLL en C#
Por ejemplo
CapturaSalida.DLL
C# Basico, II 30
Introduccin a la programacin
con C#
Modularizacin: namespace, creacin y uso de DLL en C#
using System;
using Ferreiras;
// Tester Class
class TesterFerreiras {
// Test-Driver
public static void Main() {
ClasePotencia.miPotencia();
EntradaSalida.metodoES();
}
}
C# Basico, II 31
Introduccin a la programacin
con C#
Modularizacin: namespace, creacin y uso de DLL en C#
Por ejemplo
csc /out:TesterFerreiras.exe /reference:Potencia.dll /reference:CapturaSalida.dll TesterFerreiras.cs
Ejecucin
C# Basico, II 32
Introduccin a la programacin
con C#
Modularizacin: namespace, creacin y uso de DLL en C#
http://msdn.microsoft.com/en-us/library/3707x96z(v=vs.90).aspx
C# Basico, II 33
Introduccin a la programacin con C#
// Potencia.cs
using System;
namespace Ferreiras {
public class ClasePotencia {
public static void miPotencia() {
Console.Write("\n\t* Entre un numero real: " );
double numero1 = double.Parse( Console.ReadLine() );
Console.Write("\n\t* Entre otro numero real: " );
double numero2 = double.Parse( Console.ReadLine() );
double potencia = Math.Pow( numero1, numero2);
// public static double Pow( double x, double y ) Es un metodo de la clase Math del namespace System.
Console.WriteLine("\n\t* Numero {0} elevado al numero {1} es {2} " , numero1, numero2, potencia );
} // Cierra el metodo
} // Cierra la clase
} // Cierra el namespace
Compilacion:
C# Basico, II 34
Introduccin a la programacin con C#
// CapturaSalida.cs
using System;
namespace Ferreiras {
public class EntradaSalida {
public static void metodoES( ) {
Console.Write("\n\t* Entre su nombre completo: " );
string nombreCompleto = Console.ReadLine();
Console.Write("\n\t* Entre su nombre matricula: " );
long matricula = long.Parse(Console.ReadLine());
Console.WriteLine("\n\t* Su nombre completo suplido fue: {0} ", nombreCompleto );
Console.WriteLine("\n\t* Su matricula suplida fue: {0} ", matricula);
} // Cierre del metodo
} // Cierre de la clase
} // Cierre del namespace
Compilacin:
C# Basico, II 35
Introduccin a la programacin con C#
// TesterFerreiras.cs
using System;
using Ferreiras;
// Tester Class
class TesterFerreiras {
// Test-Driver
ClasePotencia.miPotencia();
EntradaSalida.metodoES();
}
}
Compilacin:
C# Basico, II 36
Introduccin a la programacin con C#
Ejecucin de la aplicacin TesterFerreiras generada:
D:\Ferreiras2\C#, Mi Codigo C#> TesterFerreiras
C# Basico, II 37
Referencias
The C# Programming Language; Anders Hejlsberg, Scott Wiltamuth, Peter Golde; Microsoft
.NET Development Series; Addison-Wesley Professional, Pearson Education, Inc., Third
Edition, 2004
Head First C#; Andrew Stellman and Jennifer Greene ; Second Edition; OReilly Media, 2010.
Desarrollo de aplicaciones .NET con Visual C#; Miguel Rodrguez Gmez-Stern, Marcos
Antonio Besteiro Gorostizaga; McGra2-Hill/Interamericana de Espaa, S.A.U., 2002.
Visual C# Language
http://msdn.microsoft.com/en-us/library/aa287558(v=vs.71).aspx...
C# Basico, III 38
Referencias
C# Concisely; Judith Bishop, Nigel Hospool; Pearson, Addison Wisley 2003.
Head First C#; Andrew Stellman and Jennifer Greene ; Second Edition; OReilly
Media, 2010.
Visual C# Language
http://msdn.microsoft.com/en-us/library/aa287558(v=vs.71).aspx
...
C# Basico, II 39
Agradecimientos
Agradecimientos especiales al
Maestrsimo Felix Ferreiras por el aporte
de este valioso material para poder
impartir este curso.
Gracias maestro!!!