Professional Documents
Culture Documents
Objetivo de la Unidad II
- Conocer la estructura del programa, haciendo uso de sentencias de control secuenciales.
- Conocer las caractersticas y forma de trabajo de C# y .NET
- Explorar la forma de Programar en C# a travs de Consola.
Contenido de la Unidad:
1. Buenas prcticas de programacin.
2. Uso de maysculas y minsculas.
2.1 Estilo Pascal
2.2 Estilo Camel
2.3 Estilo todas maysculas
3. Entrada y salida por consola
4. Clculos. Operadores aritmticos
4.1 Precedencia de los operadores
4.2 Ejemplo en Visual Studio
5. Funciones en C#
Aunque algunas de ellas no se ven completamente en detalle en estos primeros ejemplos, es necesario
que tenga una referencias de ellas para que dado el momento en tema que se estudian, sepa de el por
qu esa nomenclatura.
1. Utilizar tipos especficos de C# (alias) en lugar de los tipos definidos en el namespace System.
2. Para comparar dos strings se debe utilizar el String.Equal pasndole cmo parmetro el
StringComparison para evitar diferencias entre maysculas y minsculas, as como tambin las
diferentes culturas.
1
3. Utilizar String.Empty en lugar de .
4. Evitar mtodos y propiedades pblicas, a menos que sea estrictamente necesario accederlas
desde afuera de la clase. Utilizar el keyword internal (este tema ser tratado posteriormente, pero puede
verse una descripcin ms detallada en (Microsoft, 2014) ) si estos miembros deben ser accedidos
desde dentro del mismo assembly.
5. Utilizar el archive AssemblyInfo para completar informacin como Nmero de versin, Descripcin,
Compaa, Copyright, etc.
6. Al abrir conexiones a bases de datos, Sockets, Streams, etc. siempre cerrarlos en los bloques
finally. Esto asegurar que an ante la eventualidad de una excepcin, estos accesos sern cerrados.
Se puede usar el Using en caso de no tener que capturar una excepcin en particular dentro del catch.
8. Utilizar la clase StringBuilder en lugar de String cuando sea requerido manipular cadenas en loops
y en operaciones de concatenacin intensivas ya que ste reporta una mejor performance. En caso de
tratarse de concatenaciones simples, utilizar String.Concat.
9. Utilizar el largo de cadenas para determinar si stas son vacas, en lugar de realizar una
comparacin con una cadena vaca. Si la variable puede tener el valor null, es posible tambin utilizar
el mtodo String.IsNullOrEmpty para realizar esta verificacin:
if ( String.IsNullOrEmpty(customerName))
Los puntos 4,5 y 6 sern tratados posteriormente, pero puede buscar informacin sobre ellos si
as lo desea.
2
Entre las nomenclaturas ms utilizadas tenemos:
La primera letra del identificador y la primera letra de las siguientes palabras concatenadas
estn en maysculas. El estilo de maysculas y minsculas Pascal se puede utilizar en
identificadores de tres o ms caracteres, por ejemplo:
ImageSprite
La primera letra del identificador est en minscula y la primera letra de las siguientes palabras
concatenadas en mayscula, por ejemplo:
imageSprite
IO
En la tabla siguiente se resumen las reglas de uso de maysculas y se proporcionan ejemplos de los
diferentes tipos de identificadores.
Uso de maysculas
dentificador Ejemplo
o minsculas
3
Evento Pascal ValueChange
Los programas de consola de C# generalmente utilizan los servicios de entrada y salida proporcionados
por la clase Console de .NET Framework. La instruccin Console.WriteLine("Hello, World!"); utiliza el
mtodo WriteLine(). Muestra su parmetro de cadena en la ventana de lnea de comandos seguida de
una nueva lnea. Otros mtodos de Console se utilizan para otras operaciones de entrada y salida. La
clase Console es un miembro del espacio de nombres System. Si no se incluyera la instruccin using
System; al principio del programa, tendra que especificar las clases de System de la siguiente manera:
System.Console.WriteLine();
4
Escribe una nueva lnea en la consola, es como escribir una lnea y presionar enter. Por ejemplo,
podemos hacer:
Tambin podremos imprimir las variables de nuestro programa, para esto hay dos formas, pero
veamos mejor dos ejemplos que son lo mismo:
System.Console.WriteLine("Hello World!");
Console.WriteLine("Hello World!");
int x = 42;
Console.WriteLine(x);
Si necesita mostrar varios elementos, utilice {0} para representar el primer elemento, {1} para el
segundo elemento, y as sucesivamente, de la forma siguiente.
Console.Write()
Hace casi lo mismo que Console.WriteLine() pero sin cambiar de lnea, o sea concatena el
texto que le pasemos al mtodo con lo que se haya escrito hasta ese momento en la consola.
5
Console.ReadLine()
Se usa para leer lo que el usuario escribi en la consola, y podemos guardarlo en una variable para
despus usarlo en nuestro programa. No hay que pasarle ningn parmetro y el programa solo
continuar cuando el usuario teclee alguna lnea y presione Enter. Podemos hacer algo como esto:
En el siguiente ejemplo veremos cmo leer una cadena de texto en una consola C# y mostrarla por
pantalla.
Console.WriteLine("Escriba su nombre");
string nombre = Console.ReadLine();
Importante: Si lo que queremos es recoger lo que el usuario escriba como un tipo en especfico, por
ejemplo, un entero, deberemos usar el mtodo esttico int.Parse, por ejemplo:
int x = int.Parse(Console.ReadLine());
ya que lo que devuelve Console.ReadLine() es un string.
Para ello, declararemos una variable de tipo String llamada texto. Posteriormente a travs del
mtodo ReadLine de la clase Console, leeremos el contenido tecleado por el usuario y lo
almacenaremos en dicha variable. Finalmente, a travs del mtodo WriteLine de la claseConsole,
mostraremos el contenido de la variable texto.
using System;
class Ejemplo
{
public static void Main(string[] args)
{
Console.WriteLine("Introduzca un texto");
String texto;
texto=Console.ReadLine();
Console.WriteLine("El texto introducido es: " + texto);
}
}
6
Console.ReadKey()
Este mtodo resulta importante algunas veces, sobre todo cuando queremos darle varias opciones al
usuario (a, b, c, d). Aunque se puede utilizar Console.ReadLine(). En este caso, este mtodo lo que
devuelve es un objeto de tipo ConsoleKeyInfo, y se puede utilizar de la siguiente forma, por ejemplo:
Operadores
Un operador en C# es un smbolo formado por uno o ms caracteres que permite realizar una
determinada operacin entre uno o ms datos y produce un resultado.
Operaciones aritmticas: Los operadores aritmticos incluidos en C# son los tpicos de suma
(+), resta (-), producto (*), divisin (/) y mdulo (%).
Los operadores aritmticos son signos que nos indican un clculo, como suma o multiplicacin,
entre otros; a continuacin se presentan los que utilizaremos en esta asignatura, su
representacin puede variar, de acuerdo al lenguaje de programacin que se utilice. La
simbologa utilizada en los siguientes ejemplos est basada en la sintaxis del Lenguaje de
Programacin C#:
7
Divisin / real A/B
Suma + Entero o real A+3
Resta - Entero o real B2
Residuo de divisin % Entero 15 % 2
(Divisin residual)
7 2
Residuo 1 3 Cociente
Est claro que el smbolo de la suma ser un +, y podemos esperar cual ser el de la resta,
pero alguna de las operaciones matemticas habituales tienen smbolos menos intuitivos.
Cuando se trabaja con operadores debemos tener en cuenta el orden de los operadores que para C#
sera lo siguiente:
Asociatividad de Operadores
Todos los operadores binarios, salvo los de asignacin, son asociativos por la izquierda.
Los operadores de asignacin y el operador condicional (?) son asociativos por la derecha.
En el siguiente Ejemplo se declaran las variables a y b con sus valores asignados directamente en el
cdigo, luego las variables para cada operacin aritmtica bsica suma, resta, producto, divisin y
modulo.
8
Cdigo Ejemplo de Operadores en Visual C#
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace clase2_operadores_estructuras_arreglos
{
class operadores
{
static void Main(string[] args)
{
Console.ReadKey();
}
}
}
Observaciones
Observe que para ver los valores de las variables se debe utilizar un ndice dentro de llaves, por ejemplo
mostramos la suma usando:
9
SALIDA EN CONSOLA
Que podemos hacer para no definir un valor constante de variables dentro del cdigo, consideremos
que se quiere ingresar los valores. Para capturar la variable utilizamos.
variable = System.Console.ReadLine();
Sugerencia de prctica,
Modifique el programa para lograr que muestre la siguiente salida.
10
Modifique el programa para que presente los resultados en ventanas de dialogo.
Modifique el programa para que reciba los dos valores y no sea necesario dejarlos fijos en el
cdigo.
1. Funciones en C#
Para utilizar en el diseo de una solucin en C#, las funciones trigonomtricas, logartmicas y otras
funciones matemticas comunes hay que agregar using System.Math
Sintaxis
public static class Math
Mtodos
Descripcin
11
Atan(Double) Devuelve el ngulo cuya tangente corresponde al
nmero especificado.
12
Log10(Double) Devuelve el logaritmo en base 10 de un nmero
especificado.
13
Min(UInt16, UInt16) Devuelve el menor de dos enteros de 16 bits sin signo.
14
Sign(Int16) Devuelve un valor que indica el signo de un entero de
16 bits con signo.
Campos
Nombre Descripcin
E Representa la base logartmica natural, especificada por la constante, e.
PI Representa la relacin entre la longitud de la circunferencia de un crculo y su
dimetro, especificada por la constante .
Ejemplo:
Disee una solucin que mediante la utilizacin de la funcin predefinida de raz cuadrada (sqrt), calcule
la raz cuadra de un nmero entero.
Solucin:
15
Las lneas de:
Console.WriteLine("La raiz cuadrada de "+x+" es "+xR2);
16
2. Conversin de expresiones matemticas a expresiones aritmticas
17