Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Unidad 2

153 views

Published on

Fundamentos de lenguaje de programacion

Published in: Education
  • Be the first to comment

  • Be the first to like this

Unidad 2

  1. 1. UNIDAD 2 Fundamentos del lenguaje de programación C#
  2. 2.  2.1. Tipos de datos.  2.1.1. Enteros cortos: byte, sbyte.  2.1.2. Enteros: short, int, long.  2.1.3. Punto flotante: float, double, decimal.  2.1.4. Lógicos: bool.  2.1.5. Otros: char, object y string.  2.2. Trabajo con variables.  2.2.1. Declaración e inicialización.  2.2.2. Visibilidad global y local.  2.2.3. Modificadores de accesibilidad: public, private, internal, protected y protected internal.  2.2.4. Conversión de tipos (Casteo).  2.2.5. Arreglos.
  3. 3.  2.3. Constantes.  2.4. Operadores aritméticos y lógicos.  2.5. Sentencias condicionales  2.5.1. Selección simple if  2.5.2. Selección multiple switch  2.6. Manejo estructurado de excepciones.  2.6.1. Concepto de excepción.  2.6.2. Sentencias: try, catch, finally, throws.  2.7. La sentencia for.  2.8. La sentencia foreach.  2.9. La sentencia while.  2.10. La sentencia do-while.  2.11. Instrucciones break, continue y goto.
  4. 4. 2.1. Tipos de datos.  El tipo de un dato es el conjunto de valores que puede tomar durante el programa. Si se le intenta dar un valor fuera del conjunto se producirá un error.  La asignación de tipos a los datos tiene dos objetivos principales:  Por un lado, detectar errores en las operaciones  Por el otro, determinar cómo ejecutar estas operaciones  Una ventaja de los lenguajes fuertemente tipeados es que se gasta mucho menos esfuerzo en depurar (corregir) los programas gracias a la gran cantidad de errores que detecta el compilador.
  5. 5. 2.1.1. Enteros cortos: byte, sbyte.  Byte.- Contiene enteros de 8 bits sin signo (1 bytes) que se sitúan en el intervalo entre 0 y 255 1. Números negativos 2. Conversiones de formato 3. Ampliación 4. Caracteres de tipo  Sbyte.- Contiene enteros de 8 bits con signo (1 bytes) que se sitúan en el intervalo entre -128 y 127.
  6. 6. PROGRAMA 1 1. Cree un programa que pida el ingreso de un número y muestre las tablas de multiplicar de este desde el uno al 15. Ejemplo, si ingreso el 3 tiene que mostrar, 3 x1 = 3, 3 x 2 = 6 , 3 x 3 = 9, si ingresa el 4 mostraría, 4 x 1=4, 4 x 2=8, 4 x 3 = 12, hasta el 4 x 15.  Nota: deberan usar el tipo de dato byte
  7. 7. PROGRAMA 2 2. Crear un programa que muestre el valor máximo y mínimo que puede almacenar cada tipo de dato entero en C#  Enteros cortos: byte, sbyte.  Enteros: short, int, long  Punto flotante: float, double, decimal  Usar MinValue y Maxvalue (nos permiten acceder a los valores minimos y maximos)
  8. 8. Enteros: short, int, long.  Short. - Contiene enteros de 16 bits con signo (2 bytes) que se sitúan en el intervalo entre -32,768 y 32,767.  Int.- Contiene enteros de 32 bits con signo (4 bytes) que se sitúan en el intervalo entre -2,147,483,648 y 2,147,483,647  Long.- Contiene enteros de 64 bits (8 bytes) con signo cuyo valor se sitúa entre - 9.223.372.036.854.775.808 y 9.223.372.036.854.775.807 (9,2... E+18).
  9. 9. 2.1.3. Punto flotante: float, double, decimal.  Se usan para representar números con partes fraccionarias. Hay dos tipos de coma flotante: float y double. El primero reserva almacenamiento para un número de precisión simple de 4 bytes y el segundo lo hace para un numero de precisión doble de 8 bytes.
  10. 10. 2.1.4. Lógicos: bool.  Se usa para almacenar variables que presenten dos estados, que serán representados por los valores true y false. 2.1.5. Otros: char, object y string. Char.- Contiene puntos de código de 16 bits (2 bytes) sin signo comprendidos entre 0 y 65535. Cada punto de código o código de carácter representa un único carácter Unicode.
  11. 11.  Object.- Contiene direcciones de 32 bits (4 bytes) que hacen referencia s objetos. Se puede asignar cualquier tipo de referencia (cadena, matriz, clase o interfaz) a una variable Object. Una variable Object también puede hacer referencia a datos de cualquier tipo de valor (numérico, Boolean, Char, Date, estructura o enumeración).  String.- Contiene secuencias de puntos de código de 16 bits sin signo (2 bytes) que van de un valor de 0 a 65535. Cada punto de código, o código de carácter, representa un carácter Unicode único. Una cadena puede contener de 0 a 2.000 millones (2^31) de caracteres Unicode, aproximadamente
  12. 12. 2.2. Trabajo con variables.  En programación, las variables son espacios reservados en la memoria que, como su nombre indica, pueden cambiar de contenido a lo largo de la ejecución de un programa. Una variable corresponde a un área reservada en la memoria principal del ordenador.  Para que nuestro código sea más entendible y claro, el identificador de la variable debe ser mnemotécnico, es decir que debe reflejar el uso dentro del programa de la misma.
  13. 13. 2.2.1. Declaración e inicialización.  Declaración: • Reserva de espacios de memoria • La variable no debe ser usada aun  Inicialización: • Primera asignación de contenido a la variable • Necesaria siempre antes del uso de la variable  Utilización: • La variable es utilizada en procesos del programa • Su contenido puede cambiar en veces
  14. 14. 2.2.2. Visibilidad global y local.  Local: Cuando la misma sólo es accesible desde un único procedimiento hijo, no pudiendo ser leída o modificada desde otro procedimiento hermano o desde el propio procedimiento padre. Es posible declarar variables en bloques de condición, bucles, etc de tal modo que sólo pueda accederse a ellas en el propio bloque.  Global: Cuando la misma es accesible tanto desde rutinas o macros de la aplicación, como en todos los procedimientos y funciones de la misma.
  15. 15. 2.2.3. Modificadores de accesibilidad: public, private, internal, protected y protected internal.  Public: Puede obtener acceso al tipo o miembro cualquier otro código del mismo ensamblado o de otro ensamblado que haga referencia a éste.  Private: Solamente puede obtener acceso al tipo o miembro código de la misma clase o struct.  Protected: Solamente puede obtener acceso al tipo o miembro el código de la misma clase o struct, o bien de una clase derivada de dicha clase.
  16. 16.  Internal: Puede obtener acceso al tipo o miembro cualquier código del mismo ensamblado, pero no de un ensamblado distinto.  Protected Internal: Puede obtener acceso al tipo o miembro cualquier código del ensamblado en el que se declara, o bien desde una clase derivada de otro ensamblado. El acceso desde otro ensamblado debe realizarse dentro de una declaración de clase derivada de la clase en la que se declara el elemento interno protegido y a través de una instancia del tipo de clase derivada.
  17. 17. 2.2.4. Conversión de tipos (Casteo).  Se refiere a la transformación de un tipo de dato en otro. Esto se hace para tomar las ventajas que pueda ofrecer el tipo a que se va a convertir. Por ejemplo, los valores de un conjunto más limitado, como números enteros, se pueden almacenar en un formato más compacto y más tarde convertidos a un formato diferente que permita las operaciones que anteriormente no eran posibles, tales como la división con decimales.  Hay dos tipos de conversión:  1. La implícita: se convierte un tipo de dato de menor rango a un supertipo (tipo de dato de mayor rango); este tipo de conversión lo realiza el compilador, ya que no hay pérdida de datos si, por ejemplo, se pasa un int (tipo entero) a long.  2. La explícita: el compilador no es capaz de realizarla por sí solo y por ello debe definirse explícitamente en el programa.
  18. 18. 2.2.5. Arreglos.  Una matriz o vector (llamados en inglés arrays) es una zona de almacenamiento continuo, que contiene una serie de elementos del mismo tipo, los elementos de la matriz. Desde el punto de vista lógico una matriz se puede ver como un conjunto de elementos ordenados en fila (o filas y columnas si tuviera dos dimensiones).  Existen tres formas de indexar los elementos de una matriz:  Indexación base-cero (0):  Indexación base-uno (1):  Indexación base-n (n):
  19. 19. 2.3 Constantes  En programación, una constante es un valor que no puede ser alterado durante la ejecución de un programa.  Una constante corresponde a una longitud fija de un área reservada en la memoria principal del ordenador, donde el programa almacena valores fijos.  Por ejemplo:  El valor de pi = 3.1416
  20. 20. 2.4. Operadores aritméticos y lógicos.  OPERADORES ARITMÉTICOS: Binarios: los operadores binarios indican operaciones sencillas de incremento (suma o multiplicación) y decremento (resta, división y modulo), estos son los operadores binarios.  OPERADORES LÓGICOS: Son operadores de unión, también llamados compuertas lógicas, estos operadores pueden unir dos o más pares de valores comparados por medio de los operadores relaciones y están dados por estos símbolos:  &&: Operador AND (Y)  ||: Operador OR (O)  ! : Operador NOT (NO)
  21. 21. 2.5. Sentencias condicionales:  2.5.1. Selección simple if:  Se trata de una estructura de control que permite redirigir un curso de acción según la evaluación de una condición simple, sea falsa o verdadera.  2.5.2. Selección múltiple switch:  También conocido como estructura de decisión múltiple per mite seleccionar un camino entre varios caminos posibles t eniendo como base el valor de la variable seleccionada la cual es comparada con una lista de constantes (case n) entera s o de carácter.
  22. 22. switch(variable) { case valor_1: //acciones break; case valor_2: //acciones break; case valor_n: //acciones break; defalut: //acciones break; }
  23. 23. 2.6. Manejo estructurado de excepciones  El manejo de excepciones es técnica de programación que permite al progra mador controlar los errores ocasionados durante la ejecución del programa. public static void main(String[] args) { try { // Se ejecuta algo que puede producir una excepción } catch (IOException e) { // manejo de una excepción de entrada/salida } catch (Exception e) { // manejo de una excepción cualquiera } finally { // código a ejecutar haya o no excepción } }
  24. 24. 2.6.1. Concepto de excepción  Una excepción en términos de lenguaje de programación es la indicación de un pro blema que ocurre durante la ejecución de un programa. Sin embargo, la palabra excepción se refiere a que este proble ma ocurre con poca frecuencia generalme nte cuando existe algún dato o instrucción que no se apega al funcionamiento del pro grama por lo que se produce un error.
  25. 25. 2.6.2. Sentencias: try, catch, finally, throws. Try: utiliza cuando se desean prever excepciones en el transcurso de la ejecución de un programa. try { /*Instrucciones a realizar*/ } catch(parametros) { /*Imprimir reporte de excepcion*/ }
  26. 26.  try: para poner en alerta al programa a cerca del código que puede lanzar una excepción.  catch: para capturar y manejar cada excepción que se lance.  finally: código que se ejecutará haya o no excepciones.
  27. 27. try { [Bloque de código que puede causar errores] } catch { [Qué hacer si sucede un error] } finally { [De cualquier manera, hacer lo siguiente…] }
  28. 28. EJEMPLO SIN MANEJO DE EXCEPCIONES static void Main(string[] args) { int a = 5, b = 0, c; c = a / b; Console.Write("c=" + a+"/"+b+"="+c); Console.ReadKey(); }
  29. 29. static void Main(string[] args) { int a = 5, b = 0, c; try { c = a / b; } catch (DivideByZeroException x) { Console.WriteLine(x.Message); Console.ReadKey(); return; } Console.Write("c=" + a+"/"+b+"="+c); Console.ReadKey(); }
  30. 30. TIPOS DE EXCEPCIONES Excepciones de sistema: Cuando se realiza alguna operación no válida se lanza automáticamente. Acceso a algún objeto que no existe, división por cero… Excepciones de programador: Se define una clase que herede de Throwable o de Exception. Excepciones de usuario: Gestiona la excepción mediante los bloques de código try, catch, finally. Indica que el código producirá una excepción que no se tratará dentro de él y se pasará al método superior utilizando throw.
  31. 31. 2.7. La sentencia for. Ejemplo: El siguiente programa inicializa un array llamada “lista” de longitud 10 con los valores 1- 10. { for (i=0; i<=9; i+=1) lista[i] = i+1; }
  32. 32. 2.8. La sentencia foreach. La sentencia foreach permite recorrer un grupo de elementos pertenecientes a un arreglo o algún objeto colección. using System; class Program { public static void Main() { int[] arreglo = new int [] {1,2,3,4,5}; foreach (int i in arreglo) { Console.WriteLine(i); } } }/* Resultado 1 2 3 4 5 */
  33. 33. 2.9. La sentencia while. La instrucción while ejecuta una instrucción o un bloque de instrucciones repetidamente hasta que una expresión especificada se evalúa como false. classWhileTest { staticvoid Main() { int n = 1; while (n < 6) { Console.WriteLine(“Valor actual de n es {0}", n); n++; } } }
  34. 34. 2.10. La sentencia do-while. La instrucción do ejecuta una instrucción o un bloque de instrucciones repetidamente hasta que una determinada expresión se evalúa como false. El cuerpo del bucle se debe incluir entre llaves, {}, a menos que esté compuesto por una sola instrucción. En ese caso, las llaves son opcionales. Public classTestDoWhile { Public staticvoid Main () { int x = 0; do { Console.WriteLine(x); x++; } while (x < 5); } }
  35. 35. 2.11. Instrucciones Break: permite terminar el bucle envolvente más cercano o la instrucción switch en la cual aparece. El control se transfiere a la instrucción que sigue a la instrucción terminada, si existe alguna. Continue: pasa el control a la siguiente iteración de mientras que agrega, de haga, de para, o la instrucción de foreach en la que aparece. Goto:La instrucción goto transfiere el control del programa directamente a una instrucción identificada por una etiqueta.
  36. 36. PROGRAMA 3  Elaborar un programa que pida el ingreso de 20 números y muestre cual es el mayor y menos de ellos, usando:  IF THEN ELSE  WHILE  FOR  Escriba un programa que solicite el ingreso de dos números enteros y que luego permita seleccionar si se sumarán, restarán dividirán o multiplicarán y muestre el resultado por pantalla.

×