resumen lenguajes c#

10
FACULTAD DE INGENIERÍA Introducción Desarrollo de Software Empresarial (Resumen C#) Docente: Gabriel Taborda Unidad 1 1. Introducción 1.1 Visual Studio – Microsoft .NET .NET es el conjunto de tecnologías en las que Microsoft ha estado trabajando durante los últimos años con el objetivo de obtener una plataforma sencilla y potente para diseñar, construir y distribuir el software. Para crear aplicaciones para la plataforma .NET, tanto servicios Web, móviles como aplicaciones tradicionales (aplicaciones de consola, aplicaciones de GUI, servicios de Windows NT, etc.), Microsoft ha publicado el denominado kit de desarrollo de software conocido como .NET Framework SDK, que incluye las herramientas necesarias tanto para su desarrollo como para su distribución, compilación y ejecución, y Visual Studio.NET, que permite hacer todo la anterior desde una interfaz visual basada en ventanas. Ambas herramientas pueden descargarse gratuitamente desde http://www.msdn.microsoft.com/net , aunque la última sólo está disponible para subscriptores MSDN Universal o para usuarios de entidades registrada. La plataforma .NET acepta varios lenguajes de programación como: C#, Visual Basic, C++ gestionado, Nemerle, FORTRAN, Java, Python, etc. Algunas de sus características más importantes son: 1.1.1 El Common Language Runtime (CLR): Es el núcleo de la plataforma .NET. Es el motor encargado de gestionar la ejecución de las aplicaciones para ella desarrolladas y a las que ofrece numerosos servicios que simplifican su desarrollo y favorecen su fiabilidad y seguridad. 1.1.2 Microsoft Intermediate Language (MSIL): Ninguno de los compiladores que generan código para la plataforma .NET produce código máquina para un tipo de computadora concreta, sino que generan código escrito en el lenguaje intermedio conocido como Microsoft Intermediate Lenguage (MSIL) El CLR da a las aplicaciones la sensación de que se están ejecutando sobre una máquina virtual, y precisamente MSIL es el código máquina de esa máquina virtual. Es decir, MSIL es el único código que es capaz de interpretar el CLR, y por tanto cuando se dice que un compilador genera código para la plataforma .NET lo que se está diciendo es que genera MSIL 1.1.3 Librería de Clase Base (BCL): La Librería de Clase Base (BCL) es una librería incluida en el .NET Framework formada por cientos de clases que permiten acceder a los servicios ofrecidos por el CLR y a las funcionalidades más frecuentemente usadas a la hora de escribir programas. Además, a partir de estas clases prefabricadas el programador puede crear nuevas clases que mediante herencia extiendan su funcionalidad y se integren a la perfección con el resto de clases de la BCL. Por ejemplo, implementando ciertos interfaces podemos crear nuevos tipos de colecciones que serán tratadas exactamente igual que cualquiera de las colecciones incluidas en la BCL.

Upload: angie-galeano

Post on 17-Feb-2017

147 views

Category:

Engineering


0 download

TRANSCRIPT

Page 1: Resumen lenguajes c#

FACULTAD DE INGENIERÍAIntroducción Desarrollo de Software Empresarial (Resumen C#)

Docente: Gabriel TabordaUnidad 1

1. Introducción1.1 Visual Studio – Microsoft .NET.NET es el conjunto de tecnologías en las que Microsoft ha estado trabajando durante los últimos años con el objetivo de obtener una plataforma sencilla y potente para diseñar, construir y distribuir el software. Para crear aplicaciones para la plataforma .NET, tanto servicios Web, móviles como aplicaciones tradicionales (aplicaciones de consola, aplicaciones de GUI, servicios de Windows NT, etc.), Microsoft ha publicado el denominado kit de desarrollo de software conocido como .NET Framework SDK, que incluye las herramientas necesarias tanto para su desarrollo como para su distribución, compilación y ejecución, y Visual Studio.NET, que permite hacer todo la anterior desde una interfaz visual basada en ventanas. Ambas herramientas pueden descargarse gratuitamente desde http://www.msdn.microsoft.com/net, aunque la última sólo está disponible para subscriptores MSDN Universal o para usuarios de entidades registrada. La plataforma .NET acepta varios lenguajes de programación como: C#, Visual Basic, C++ gestionado, Nemerle, FORTRAN, Java, Python, etc. Algunas de sus características más importantes son:

1.1.1 El Common Language Runtime (CLR): Es el núcleo de la plataforma .NET. Es el motor encargado de gestionar la ejecución de las aplicaciones para ella desarrolladas y a las que ofrece numerosos servicios que simplifican su desarrollo y favorecen su fiabilidad y seguridad.

1.1.2 Microsoft Intermediate Language (MSIL): Ninguno de los compiladores que generan código para la plataforma .NET produce código máquina para un tipo de computadora concreta, sino que generan código escrito en el lenguaje intermedio conocido como Microsoft Intermediate Lenguage (MSIL) El CLR da a las aplicaciones la sensación de que se están ejecutando sobre una máquina virtual, y precisamente MSIL es el código máquina de esa máquina virtual. Es decir, MSIL es el único código que es capaz de interpretar el CLR, y por tanto cuando se dice que un compilador genera código para la plataforma .NET lo que se está diciendo es que genera MSIL

1.1.3 Librería de Clase Base (BCL): La Librería de Clase Base (BCL) es una librería incluida en el .NET Framework formada por cientos de clases que permiten acceder a los servicios ofrecidos por el CLR y a las funcionalidades más frecuentemente usadas a la hora de escribir programas. Además, a partir de estas clases prefabricadas el programador puede crear nuevas clases que mediante herencia extiendan su funcionalidad y se integren a la perfección con el resto de clases de la BCL. Por ejemplo, implementando ciertos interfaces podemos crear nuevos tipos de colecciones que serán tratadas exactamente igual que cualquiera de las colecciones incluidas en la BCL.Dada la amplitud de la BCL, ha sido necesario organizar las clases en ella incluida en espacios de nombres (paquetes) que agrupen clases con funcionalidades similares. Por ejemplo, los espacios de nombres más usados son:

Espacio de nombres Utilidad de los tipos de datos que contieneSystem Tipos muy frecuentemente usados, como los los tipos básicos, tablas,

excepciones, fechas, números aleatorios, recolector de basura, entrada/salida en consola, etc.

System.Collections Colecciones de datos de uso común como pilas, colas, listas, diccionarios, etc.System.Data Manipulación de bases de datos. Forman la denominada arquitectura ADO.NET.System.IO Manipulación de ficheros y otros flujos de datos.System.Net Realización de comunicaciones en red.System.Reflection Acceso a los metadatos que acompañan a los módulos de código.System.Runtime.Remoting Acceso a objetos remotos.System.Security Acceso a la política de seguridad en que se basa el CLR.System.Threading Manipulación de hilos.System.Web.UI.WebControls Creación de interfaces de usuario basadas en ventanas para aplicaciones Web.System.Windows.Forms Creación de interfaces de usuario basadas en ventanas para aplicaciones.System.XML Acceso a datos en formato XML.

Page 2: Resumen lenguajes c#

1.1.4 Proceso de Compilación

1.2 Introducción a C#C# (leído en inglés “C Sharp” y en español “C Almohadilla”) es el nuevo lenguaje de propósito general diseñado por Microsoft para su plataforma .NET y aunque ésta soporta muchos otros lenguajes, C# es el único que ha sido diseñado específicamente para ser utilizado en ella. La sintaxis y estructuración de C# es muy parecida a la de C++ o Java y se puede definirse como el lenguajes de programación orientado a objetos, de propósito general, de arquitectura neutra, sencillo, limpio, seguro y eficiente1.3 Formato de un Programa La estructura más elemental de un programa en C# es la clase. Una aplicación está conformada por una o varias clases, las cuales se debe agrupar en paquetes denominados “espacio nombre”. El formato básico de una clase es:

using Nombre_Espacio_Importado; // Para importar paquetes o espacios de nombrenamespace <Nombre_Espacio> { // Define el paquete o espacio nombre en que se va a trabajar public class NombreClase { // Declara la clase

Declaración de Variables Miembro

Declaración de Método1 { Declaración de variables Locales método 1 Conjunto de sentencias de método 1} //cierra el método 1

Declaración de MétodoN {. . . }

public static void main(string[ ] args) { //Este es el método principal Declaración de variables Locales del método ppal Conjunto de sentencias del método ppal} //cierra el método ppal

} // cierra la clase } //cierra el nombre espacio o paqueteEjemplo 1:Este es el ejercicio más sencillo que se puede realizar. Solo imprime un mensaje de saludo:public class Ej1 {    public static void Main(String[ ] args) {         System.Console.WriteLine("Hola, Bienvenido al mundo de C#");    }}2.1 VariablesLas variables representan un espacio en la memoria donde alojar información. Toda variable tiene un tipo que determina qué valor puede ser almacenado en la variable y un nombre que la identifica.

2.1.1 Tipos de Variables:

Page 3: Resumen lenguajes c#

La variables se clasifican según su ubicación en: variables miembro o para toda la clase y variables locales que son variables declaradas dentro de métodos o bloques de código al interior de una clase. Una variable queda definida especificando su tipo y una declaración que especifica el nombre de la variable y un valor inicial opcional, Formato es:

Tipo NombreVariables [ = valor ] ;Ejemplo int a; int b = 1;Pero también es posible declarar varias variables locales del mismo tipo de la siguiente forma: int a, b = 1;La variable debe tener asignado un valor antes de que pueda ser utilizada2.1.2 Nombres de Variables: o identificadores, al igual que en cualquier lenguaje de programación, en C# un identificador no es más que un nombre con el que bautizamos algún elemento de nuestro código, ya sea una clase, una variable, un método, etc. Típicamente el nombre de un identificador será una secuencia de cualquier número de caracteres alfanuméricos, tales que el primero de ellos no sea un número. Por ejemplo, identificadores válidos serían: Arriba, casa, C3P0, áëÎò, etc; pero no lo serían 3com, 127, etc.Los nombres de variables tampoco pueden contener algunos caracteres especiales utilizados por el lenguaje como operadores o separadores (; , . + - * / < > = ! & | etc.), ni palabras reservadas utilizadas para especificar una instrucción u órdenes y son:abstract, as, base, bool, break, byte, case, catch, char, checked, class, const, continue, decimal, default, delegate, do, double, else, enum, event, explicit, extern, false, finally, fixed, float, for, foreach, goto, if, implicit, in, int, interface, internal, lock, is, long, namespace, new, null, object, operator, out, override, params, private, protected, public, readonly, ref, return, sbyte, sealed, short, sizeof, stackalloc, static, string, struct, switch, this, throw, true, try, typeof, uint, ulong, unchecked, unsafe, ushort, using, virtual, void, while 2.1.2 Tipos de Datos: Los tipos del lenguaje C# son divididos en dos grandes categorías: tipos por valor o primitivos y tipos por referencia. Los primitivos difieren de los tipos por referencia en que las variables de los tipos por valor contienen directamente su valor, mientras que las variables de los tipos por referencia almacenan referencias a objetos. Los tipos de datos primitivos se clasifican en Enteros, Reales, Carácter y Lógicos y estan contenidos en la siguiente tabla;

Tipo Nombre Nombre Clase Signo Bytes RangoLógico bool System.Boolean No 1 verdadero o falsoEntero byte System.Byte No 1 0 hasta 255

sbyte System.SByte Si 1 -128 hasta 127short System.Int16 Si 2 -32.768 hasta 32.767ushort System.Uint16 No 2 0 hasta 65535int System.Int32 Si 4 -2.147.483.648 hasta 2.147.483.647uint System.Uint32 No 4 0 hasta 4.394.967.395long System.Int64 Si 8 9.223.372.036.854.775.808 hasta 9.223.372.036.854.775.807ulong System.Uint64 No 8 0 hasta 18446744073709551615

Real float System.Single Si 4 ±1.5E-45 hasta ±3.4E38 con 7 cifres decimalesdouble System.Double Si 8 ±5.0E-324 hasta ±1.7E308 con 7 cifras decimalesdecimal System.Decimal Si 12 ±1.0E-28 hasta ±7.9E28 con 28 cifras decimales

Page 4: Resumen lenguajes c#

Caracter char System.Char 2 Cualquier carácter Unicode (ASCII)2.2 operadores:Un operador en C# es un símbolo formado por uno o más caracteres que permite realizar una determinada operación entre uno o más datos y produce un resultado. A continuación se describen cuáles son los operadores incluidos en el lenguaje clasificados según el tipo de operaciones que permiten:

2.2.1. Operadores aritméticos; Suma (+), resta (-), multiplicación (*), división (/) y modulo o resto de división (%).

2.2.2 Operadores de asignación: Por lo general es el igual (=), pero también existen en C# los operadoras compuestos o de dos caracteres que nos permiten abreviar algunas operaciones y son:

2.2.3. Operadores increméntales; Se dispone del operador incremento (++) y decremento (- -). El operador aumenta o disminuye respectivamente en una unidad la variable a la que se aplica. Estos operadores se pueden utilizar de dos formas:1. Precediendo a la variable (por ejemplo: ++i). En este caso primero se incrementa la variable y luego se utiliza (ya incrementada) en la expresión en la que aparece.2. Después a la variable (por ejemplo: i++). En este caso primero se utiliza la variable en la expresión (con el valor anterior) y luego se incrementa.

2.2.4. Operadores relacionales

2.2.5. Operadores lógicos

2.2.6. Operador de concatenación de cadenas de caracteres (&)Permiten unir dos cadenas de texto, por ejemplo:

System.Console.WriteLine ("El total asciende a " & resultado & " unidades");Que imprime el mensaje: El total es, el valor de la variable resultado y a continuación la cadena unidades.

2.3 ComentariosEs texto que se incluye en el código fuente para facilitar su lectura a los programadores y cuyo contenido es ignorado por el compilador. Suelen usarse para incluir información sobre el autor del código, para aclarar el significado o el porqué de determinadas secciones de código, para describir el funcionamiento de los métodos, de las clases, etc. En C# hay dos formas de escribir comentarios. La primera consiste en encerrar todo el texto que se desee comentar entre caracteres /* y */. El Formato es:

/*<texto comentario>*/

Page 5: Resumen lenguajes c#

Estos comentarios pueden abarcar tantas líneas como se desee. Por ejemplo:/* Esto es un comentario que ejemplifica cómo se escribe comentarios que ocupen varias líneas */

C# ofrece una alternativa más compacta para la escritura de comentarios cortos o de una línea, en la cual, el comienzo del comentario se la pareja de caracteres // y temían con el fin de línea. El formato es:

// <texto comentario>Y un ejemplo de su uso es: // Este comentario ejemplifica como escribir comentarios abreviados de una sola línea

2.3 Instrucciones de Entrada y SalidaFrecuentemente un programa necesita comunicarse con su entorno; tanto para recoger datos o información que deben procesar, como para devolver los resultados obtenidos. La manera de representar estas entradas y salidas es a través de streams (flujos de datos). Un stream es una conexión entre el programa y la fuente o destino de los datos. La información se traslada en serie (un carácter a continuación de otro) a través de esta conexión. Esto da lugar a una forma general de representar muchos tipos de comunicaciones

2.3.1 Entrada Estándar: Es la entrada desde teclado y esta definida en la clase Console, que posee dos métodos especializados para realizar dicha acción y son:System.Console.Key(): Preparado para recibir un carácter desde la entrada estándar del sistema (habitualmente el teclado). Ejemplo para leer un carácter:

char c; c=System.Console.Key(); 

System.Console.ReadLine(): Existe una forma mas cómoda de leer una línea de caracteres digitada por el usuario y es capturando todo el flujo de caracteres o String hasta un salto de línea ('\n') o Enter

string frase="": frase = teclado.ReadLine();

2.3.2 Salida Estándar: Consiste en enviar un flujo de caracteres a la salida estándar del sistema normalmente asociado con la pantalla y también esta definida por la clase Console atreves de dos métodos: System.Console.Write(argumento): Imprime el argumento en la pantalla, el argumento puede ser cualquier tipo de dato primitivo. System.Console.WriteLine(argumento): Imprime el argumento en la salida estándar del sistema, similar al anterior, pero añade '\n' o salto a nueva línea.Ejemplo: Hacer un programa que lea el nombre, el apellido y la edad del usuario y los imprima:Using System;public class EntadaySalida {    public static void main (string[ ] arg) {    string nombre = "" ;    string apellido = "" ;    int edad = "" ;    Console.WriteLine("DIGITE SUS DATOS");        Console.Write("Nombre = ");        nombre = Console.ReadLine();        Console.Write ("Apellido = ");        apellido = Console.ReadLine();       Console.Write ("Edad  = ");       edad = Int32.Parse(Console.ReadLine());   Console.WriteLine ("\nLOS DATOS SON \n");   Console.WriteLine ("Nombre : "+nombre+" "+apellido+" y la edad es : "+ edad);    }}Nota: En la línea: “edad = Int32.Parse(Console.ReadLine());” el método Parse de la clase Int32 permite convertir lo leído a un tipo de dato entero (int). Para los reales se utiliza Double.Parce.

Page 6: Resumen lenguajes c#

2.3.2 Salida con Formato: Los métodos de impresión también permiten mostrar los datos con un formato establecido, su sintaxis es: System.Console.MetodoImpresion( formato, listaArgumentos ) ;Donde: la lista de argumentos es la lista de variable a imprimir y en el formato se especifican entre llaves, numeradas en orden e iniciando en cero. Para el ejemplo anterior la última línea quedaría: Console.WriteLine ("Nombre : {0} {1} y la edad es : {2}”, nombre, apellido, edad);La especificación de un formato de una variable esta compuesta por:{ posición [´, ancho ] [ : tipo decimales ] }Donde:

Posición: corresponde al número 0, 1, 2, etc de la ubicación de la variable en la lista de argumentos.

Ancho: numero de espacios reservados para la salida, si se omite el ancho se ajusta al tamaño de la variable. Si el valor es negativo se justifica a la izquierda y si es positivo la justificación se realiza a la derecha del área definida como ancho.

Tipo: Puede ser uno de los caracteres mostrados en la siguiente tabla:Carácter Descripción Ejemplos SalidaC o c Moneda Console.Write(“{ 0 , 9 : c 2 } “, 4.5) ;

Console.Write(“{ 0 , 9 : c 2 } “, -4.5) ; 4,5 $ -4,5 $

D o d Entero Console.Write(“{ 0 : d 5 } “, 45) ;Console.Write(“{ 0 ,5 : d } “, 45) ;

00045 45

E o e Exponencial Console.Write(“{ 0 : e } “, 450000) ; 4,50000 E +005F o f Real Console.Write(“{ 0 : f 2 } “, 45) ;

Console.Write(“{ 0 : f 0 } “, 45) ;Console.Write(“{ 0 , 8 : f 2 } “, 45) ;Console.Write(“{ 0 , 8 : f 2 } “, 145) ;

45,004,5 45,00 145,00

N o n Punto de Mil Console.Write(“{ 0 : n } “, 4500000) ; 4.500.000,00P o p Porcentaje Console.Write(“{ 0 : p } “, 0.455) ; 45,5% Decimales: En caso de numero enteros es la cantidad de dígitos a mostrar y en reales es la

cantidad de decimales a imprimir

EJERCICIOS NO EVALUABLES:

Page 7: Resumen lenguajes c#

Recordé; Programa es una habilidad y deben practicar. Además quien necesita aprender es Usted. Temas: Variables, operadores e Instrucciones de Entrada y Salida.

1. Realizar una aplicación que imprima en 3 líneas diferentes los siguientes mensajes “Practica de Desarrollo”, “Elaborada por:” y el tercer mensaje con su nombre, manejado como una variable.

2. Hacer un programa que declare e inicialice las diferentes variables primitivas de C# y las imprima3. Realizar una aplicación que sume dos números enteros 4. Hacer una aplicación que sume dos números reales 5. Elaborar un programa que declare las diferentes variables primitivas C#, las lea y las imprima 6. Realizar un programa que lea los lados de un rectángulo y calcule el área y el perímetro7. Elaborar una aplicación que diga cuanto recorre un vehículo partiendo de la velocidad y el tiempo8. Una entidad bancaria requiere un programa que calcule el interés producido por un préstamo

(formula es: I = (capital *porcentaje de interés * tiempo)/ (360 * 100)9. Realizar un programa que ejecute todas las operaciones aritméticas con dos números enteros que

se deben leer10. Realizar un programa que haga todas las operaciones aritméticas con dos números reales que se

deben leer11. Elaborar una aplicación que lea el nombre, numero de hijos y el salario básico mensual de un

trabajador, calcular el total apagar si le descuentan el 3.75% por salud, 6.25% por pensión y el 5% por ahorro y le dan un auxilio de transporte de 7% y 10.000 por cada hijo.

12. Elaborar una aplicación que lea el nombre, número de horas trabajadas, las horas extras, las hora con recargo y las dominicales de un trabajador, calcular el total apagar si la hora normal la pagan a 2.500 pesos, la hora extra a 1.5, la hora con recargo a 1.8 y la dominical al doble de la normal.

13. Elaborar una aplicación que imprima la tabla de multiplicar del 9, aplicando formatos de salida14. Elaborar una aplicación que imprima las tablas de multiplicar hasta el 9, aplicando formatos de

salida15. Realizar un programa obtenga las raíces reales X1 y X2 de la ecuación cuadrática que tiene la forma

aX2 + bX + c = 0 (Ayuda: la formula es: xi = (- b (b2 -4ac))/2ª el método Sqrt() de la clase M