La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

SESION 4 PROGRAMACIÓN. Septiembre 2010 SESION 3: OPERADORES 1 Comentarios /* */ // /// La guía de estilo de UA determina que: No se debe escribir comentario.

Presentaciones similares


Presentación del tema: "SESION 4 PROGRAMACIÓN. Septiembre 2010 SESION 3: OPERADORES 1 Comentarios /* */ // /// La guía de estilo de UA determina que: No se debe escribir comentario."— Transcripción de la presentación:

1 SESION 4 PROGRAMACIÓN

2 Septiembre 2010 SESION 3: OPERADORES 1 Comentarios /* */ // /// La guía de estilo de UA determina que: No se debe escribir comentario para cada línea de código o variable declarada. Solo se escriben comentarios cuando hacen falta Un código bien escrito y legible requiere de pocos comentarios =>> con nombres de variables y métodos legibles. Un código complejo o extraño llevará suficientes comentarios. Una inicialización de una variable numérica con un valor especial (dtto de 0, -1) necesita de una razón. Cuida la ortografía, gramática y puntuación.

3 Septiembre 2010 SESION 3: OPERADORES 2 Identificadores No pueden empezar con números No deben llevar caracteres especiales (ñ, ç, ~, etc) La guía de estilo de UA determina que: Los identificadores deben legibles y deben ser consecuentes con lo que identifica. Por ello se evitarán diminutivos del tipo id, varNum, etc.

4 Septiembre 2010 SESION 3: OPERADORES 3

5 Septiembre 2010 SESION 3: OPERADORES 4 Operaciones lógicas: "and" (&& y &), "or" (|| y |), "not" (!) y "xor" (^) Operaciones relacionales: igualdad (==), desigualdad (!=), "mayor que" (>), "menor que" ( =) y "menor o igual que" (<=) Operaciones de asignación: temperatura = temperatura + 1; temperatura += 1; temperatura++;

6 Septiembre 2010 SESION 3: OPERADORES 5 Operaciones de asignación: temperatura = temperatura ++; temperatura = ++temperatura; Operador condicional b = (a>0)? a : 0; Operaciones de conversión (cast) i = (int) l; // Asignamos a i el resultado de convertir el valor de l a tipo int

7 Septiembre 2010 SESION 3: OPERADORES 6 Operadores de string Evitar usar + StringBuilder sSql = new StringBuilder("SELECT nombre, apellidos"); sSql.Append(", (select cosas from cosas_importantes"); sSql.Append(" where cosas_importantes.dni = personas.dni) "); sSql.Append(" FROM personas "); Response.Write (sSql);

8 Septiembre 2010 SESION 3: OPERADORES 7

9 Septiembre 2010 SESION 3: CONVERSIÓN TIPOS Tipo numéricoMétodo decimalToDecimal(String) floatToSingle(String) doubleToDouble(String) shortToInt16(String) longToInt64(String) ushortToUInt16(String) uintToUInt32(String) ulongToUInt64(String) int numVal = Convert.ToInt32("29"); numVal++; Console.WriteLine(numVal); // Output: 30

10 Septiembre 2010 SESION 3: CONVERSIÓN 2 int numVal = Int32.Parse("-105"); Console.WriteLine(numVal); // Output: -105 string inputString = "abc"; int numValue; bool parsed = Int32.TryParse(inputString, out numValue); if (!parsed) Console.WriteLine(error!!); // Output: Error!!

11 Septiembre 2010 SESION 3: EJERCICIO 1 Ejercicio 1: A partir de una caja de texto y un botón de confirmar sacar un mensaje en pantalla que determine si el dato que se introdujo es: -Un número positivo o negativo -Un número par o impar -Un número con decimales o sin ellos. -Una fecha -Un texto

12 Septiembre 2010 SESION 3: CLASES 1 class Persona { private string _nombre; // Campo de cada objeto Persona almacena nombre private int _edad; // Campo de cada objeto Persona almacena edad //Método que incrementa en uno la edad del objeto Persona void Cumpleaños() { _edad++; } }

13 Septiembre 2010 SESION 3: CLASES 2 Según la guía de estilo del CPD de UA se requiere que el nombre de la clase siga una notación Pascal (ej: HolaMundo, Taxi). Para indentar se usa TAB y no los espacios. Las llaves deben estar en el mismo nivel que el código fuera de las llaves. Se debe usar una línea en blanco para separar los grupos lógicos de código.

14 Septiembre 2010 SESION 3: CLASES 3 Según la se requiere que el nombre de las variables, campos y parámetros siga una notación Camel (ej: holaMundo, taxi). Evitar los subrayados. Usar palabras significativas para nombrar las variables: * No usar abreviaciones * No usar nombres de un solo carácter Una excepción es el caso de las variables que se utilizan para bucles:for ( int i = 0; i < count; i++ )

15 Septiembre 2010 SESION 3: CLASES 4 Un campo debe ser privado si seguimos las buenas prácticas de programación. En este caso: Notación Camel con un subrayado al principio del nombre private int _recordId ;

16 Septiembre 2010 SESION 3: CLASES 5 constructor class Persona { private string _nombre; // Campo de cada objeto Persona almacena nombre private int _edad; // Campo de cada objeto Persona almacena edad // Constructor Public Persona (string nombre, int edad) { this._nombre = nombre; this._edad = edad; } // Incrementa en uno la edad del objeto Persona void Cumpleaños() { _edad++; } } Persona perJose; perJose= new Persona("José", 22);

17 Septiembre 2010 SESION 3: CLASES 6 Una misma clase pueden definirse varios métodos con el mismo nombre siempre y cuando tomen diferente número o tipo de parámetros. A esto se le conoce como sobrecargar de métodos

18 Septiembre 2010 SESION 3: EJERCICIO 2

19 Septiembre 2010 SESION 3: CLASES 7 Dentro del código de cualquier método de un objeto siempre es posible hacer referencia al propio objeto usando la palabra reservada this. private string _nombre; // almacena su nombre private int _edad; // almacena su edad Public Persona (string nombre, int edad) { this._nombre = nombre; this._edad = edad; }

20 Septiembre 2010 SESION 3: CLASES 8 PROPIEDADES class TimePeriod { private double _seconds; public double hours { get { return _seconds / 3600; } set { _seconds = value * 3600; } }

21 Septiembre 2010 SESION 3: EJERCICIO 3 A partir de 2 cajas de texto: nombre y fecha nacimiento, un botón de confirmación y una etiqueta resultado resuelve el siguiente problema: 1. Crea una clase que tenga 3 campos: Nombre, fecha nacimiento y salida que será tipo Label. 2. Crea 4 propiedades: a. Propiedad nombre. b. Propiedad fecha nacimiento. c. Propiedad edad. Valor por defecto -1. d. Propiedad label llamada salida. Será un control. 3. Crea un método que escriba en un control label de la página aspx este texto: El alumno NOMBRE tiene EDAD años.

22 Septiembre 2010 SESION 3: ARRAYS 3 Tipos: Unidimensionales: [] ; int[] array = new int[100]; int[] tabla = new int[] {5,1,4,0}; int[] tabla = {5,1,4,0}; Dentados: int[][] ArrayDentado = {new int[] {1,2}, new int[] {3,4,5}};

23 Septiembre 2010 SESION 3: ARRAYS 2 3 Tipos: Multidimentsionales: int[,] arrayMultidimensional = new int[3,4]

24 Septiembre 2010 SESION 3: PARÁMETROS Objeto.ParametroRef(in Valor); public void ParametroRef( in int RefParametro ){ };

25 Septiembre 2010 SESION 3: PARÁMETROS 2

26 Septiembre 2010 SESION 3: PARÁMETROS 3

27 Septiembre 2010 SESION 3: INSTRUCCIONES Condicionales: if ( ) else switch ( ) { case :... default: } goto case ; goto default; break;

28 Septiembre 2010 SESION 3: INSTRUCCIONES 2 Iterativas: while ( ) do while ( ); for ( ; ; ) foreach ( in ) break; Continue;

29 Septiembre 2010 SESION 3: EJERCICIO 3 Saca por pantalla la relación de los controles que pones en el formulario. Page.FindControl("nombreFormulario").Controls De los controles que salen selecciona los que son Label con SkinId = Obl y concatena al final un *. Según el ejemplo sería Nombre *. De los controles que salen añade un RequiredFieldValidator a los textbox marcados con SkinId = Obl.


Descargar ppt "SESION 4 PROGRAMACIÓN. Septiembre 2010 SESION 3: OPERADORES 1 Comentarios /* */ // /// La guía de estilo de UA determina que: No se debe escribir comentario."

Presentaciones similares


Anuncios Google