Programación III Ing. Héctor Abraham Hernández Guía #1 Fecha: 24/01/2011 Fundamentos de C# Objetivo: Identificar la forma de escribir las instrucciones de C# así como otros elementos que se involucran en el lenguaje. C# (leído en inglés “C Sharp” ) es el nuevo lenguaje de propósito general diseñado por Microsoft para su plataforma .NET. Sus principales creadores son Scott Wiltamuth y Anders Hejlsberg. Introducción C# es el último en una línea de evolución de los lenguajes derivados de C, que incluye C++ y Java. Usado por Microsoft para desarrollar la mayoría del código de .NET. Por tanto, es el lenguaje ideal para el desarrollo en .NET C# introduce varias mejoras sobre C++ en las áreas de seguridad de datos, eventos y recolección de basura. C# provee acceso al SO, COM y APIs y soporta el modo unsafe que permite el uso de punteros como en C. Más simple que C++ pero tan poderoso y flexible como él. Identificadores (nombres de variables, constantes y métodos) Un identificador le da nombre único a un elemento en un programa (Variables, procedimientos, etc.). No puede contener operadores como + - * / Debe iniciar con letra o el subguión ( _ ) Puede tener cualquier longitud Puede contener mayúsculas y minúsculas En un identificador sí se hace diferencia entre mayúsculas y minúsculas. De esta manera, suma es diferente de Suma No debe ser una palabra reservada. Estructura de los programas Un programa en C# contiene: o Uno o más ficheros que contienen: Uno o más espacios de nombres que contienen: Tipos de datos: clases, estructuras, interfaces, enumeraciones y delegados Si no se declara un namespace se asume el global por defecto Un ejecutable ha de contener obligatoriamente una función Main (punto de entrada al programa) static void Main() static int Main() static void Main(string[ ] args) static int Main(string[ ] args) Para acceder a un tipo podemos usar un camino absoluto: System.Console.WriteLine(...); o relativo: using System;...; Console.WriteLine(...); Directivas Se pueden quitar las que no se utilizan Namespace: se utiliza para declarar un ámbito Clase: es un contenedor de uno o más datos Punto de entrada del programa Las variables de valor pueden iniciarse al declararse: bool bln = true; byte byt1 = 22; char ch1=‘x’; decimal dec1 = 1.23M; double dbl1=1.23, dbl2=1.23D; short sh = 22; int i = 22; long lng1 =22, lng2 =22L; // ‘L’ long sbyte sb = 22; float f=1.23F; ushort us1=22; uint ui1=22, ui2=22U; // ‘U’ unsigned ulong ul1 =22, ul2=22U, ul3=22L, ul4=2UL; Los valores de referencia son creados con la palabra clave new: object o = new System.Object(); Una variable String se puede inicializar directamente: string s = "Hola"; // usan caracteres Unicode de 2 cars C# soporta secuencias de escape como en C: string s1 = "Hola\n"; // salto de línea string s2 = "Hola\tque\ttal"; // tabulador Como las sentencias de escape comienzan con „\‟, para escribir este carácter hay que doblarlo, o usar „@‟: string s3 = "c:\\WINNT"; string s4 = @"C:\WINNT"; Ámbito: conjunto de código donde una variable es visible. Cálculos y Asignaciones SueldoTotal = HorasTrabajadas * SueldoPorHora; Descuento = SueldoTotal * 0.08; SueldoTotal = SueldoTotal - Descuento; Bonos = 200; SueldoTotal = SueldoTotal + Bonos; Si las variables NO están declaradas, se pueden declarar al momento de que aparecen solamente por primera vez: double SueldoTotal = HorasTrabajadas * SueldoPorHora; double Descuento = SueldoTotal * 0.08; SueldoTotal = SueldoTotal - Descuento; double Bonos = 200.00; SueldoTotal = SueldoTotal + Bonos; Operadores Aritméticos + * / % = ++ -- Suma Resta Multiplicación División Residuo de división entera Igualdad Incremento en 1 Decremento en 1 Operadores de asignación adicionales • Sirven para simplificar expresiones de asignación. Ejemplos: a += 5 a=a+5 a -= 5 a=a-5 a *= 5 a=a*5 a /= 5 a=a/5 • Ejemplos con los Operadores de Autoincremento: x ++ x=x+1 x -x=x–1 Ejercicios 1. Realice un programa que calcule el área de cuadrado. 2. Escriba un programa que capture el área de un circulo y calcule su radio. 3. Escriba un programa que convierta dólares a Euros. Teniendo en cuenta que 1 dólar estadounidense = 0,75832259 euros 4. Escriba un programa que calcule la raíz de una ecuación cuadrática según: X1 = (−b + raíz) / (2 * a) 'calcula la primera raíz X2 = (−b − raíz) / (2 * a) 'calcula la segunda raíz