1 / 29

SESION 4 PROGRAMACIÓN

SESION 4 PROGRAMACIÓN. 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

alaina
Download Presentation

SESION 4 PROGRAMACIÓN

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. SESION 4PROGRAMACIÓN

  2. 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. 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. SESION 3: OPERADORES 3

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

  6. 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. 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. SESION 3: OPERADORES 7

  9. SESION 3: CONVERSIÓN TIPOS int numVal = Convert.ToInt32("29"); numVal++; Console.WriteLine(numVal); // Output: 30

  10. 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. 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. SESION 3: CLASES 1 class Persona{ private string _nombre; // Campo de cada objeto Persona almacena nombre privateint _edad; // Campo de cada objeto Persona almacena edad //Método que incrementa en uno la edad del objeto Persona void Cumpleaños() { _edad++; } }

  13. 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. 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. 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. 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. 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. SESION 3: EJERCICIO 2

  19. 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. SESION 3: CLASES 8 PROPIEDADES class TimePeriod { private double _seconds; public double hours { get { return _seconds / 3600; } set { _seconds = value * 3600; } } }

  21. 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. SESION 3: ARRAYS 3 Tipos: Unidimensionales: <tipoDatos>[] <nombreArray>; 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. SESION 3: ARRAYS 2 3 Tipos: Multidimentsionales: int[,] arrayMultidimensional = new int[3,4]

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

  25. SESION 3: PARÁMETROS 2

  26. SESION 3: PARÁMETROS 3

  27. SESION 3: INSTRUCCIONES Condicionales: if (<condición>) <instruccionesIf> else <instruccionesElse> switch (<expresión>) { case <valor1>: <bloque1><siguienteAcción> case <valor2>: <bloque2><siguienteAcción> ... default: <bloqueDefault> <siguienteAcción> } goto case <valori>; goto default; break;

  28. SESION 3: INSTRUCCIONES 2 Iterativas: while (<condición>) <instrucciones> do <instrucciones> while (<condición>); for (<inicialización>; <condición>; <modificación>) <instruc> foreach (<tipoElement> <element> in <colección>) <instruc> break; Continue;

  29. 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.

More Related