Introduccin a la Programacin 7 Introduccin al lenguaje

  • Slides: 44
Download presentation
Introducción a la Programación 7. Introducción al lenguaje de programación C#

Introducción a la Programación 7. Introducción al lenguaje de programación C#

Contenidos � 7. 1 � 7. 2 � 7. 3 � 7. 4 �

Contenidos � 7. 1 � 7. 2 � 7. 3 � 7. 4 � 7. 5 � 7. 6 Introducción. Mi primer Programa. Microsoft. NET Framework. Aspectos Léxicos. Declaración. Tipos de Datos.

7. 1 Introducción.

7. 1 Introducción.

Introducción al lenguaje C# � Lenguaje de programación moderno, “orientado a objetos” diseñado por

Introducción al lenguaje C# � Lenguaje de programación moderno, “orientado a objetos” diseñado por Anders Hejlsberg para Microsoft y la plataforma. NET. � En diciembre del 2001 se especifica el lenguaje en la ECMA. � En noviembre de 2005 aparece la versión 2. 0. � En noviembre de 2007 aparece la versión 3. 0. � El objetivo era combinar la potencia de C++ con la sencillez de lenguajes como visual basic.

Ventajas frente a C++ � Recolección de basura automática. � Eliminación del uso de

Ventajas frente a C++ � Recolección de basura automática. � Eliminación del uso de punteros. � No hay que preocuparse de archivos. h, y con ello la declaración de métodos y clases. � Es más limpio, no existen funciones ni variables globales, todo pertenece a una clase.

Mitos y Realidades � ¿Es propiedad de Microsoft? � ¿Es sólo para entornos Windows?

Mitos y Realidades � ¿Es propiedad de Microsoft? � ¿Es sólo para entornos Windows? ◦ No, Microsoft sólo lo creó. Hoy en día C# y el Framework. NET son parte del estándar de ECMA y de ISO. ◦ No. Es cierto que con Visual Studio se pueden crear aplicaciones sólo para Windows, pero existen otras IDEs, como Mono para Linux.

Microsoft XNA Game Studio Express

Microsoft XNA Game Studio Express

Visual 3 D. NET

Visual 3 D. NET

Motores de Videojuegos � El incremento de programadores en el lenguaje C# ha hecho

Motores de Videojuegos � El incremento de programadores en el lenguaje C# ha hecho que la mayoría de los motores de videojuegos desarrolle un wrapper para poder programar un videojuego en C#.

7. 2 Mi primer programa.

7. 2 Mi primer programa.

Hola Mundo en Consola

Hola Mundo en Consola

Hola Mundo en Consola

Hola Mundo en Consola

Main � Un programa tiene un conjunto de clases, pero sólo puede tener una

Main � Un programa tiene un conjunto de clases, pero sólo puede tener una clase que contenga al método Main. � Main es la entrada al programa; es decir, el primer código que se ejecuta

Hola Mundo en Windows Form

Hola Mundo en Windows Form

Hola Mundo en Windows Form

Hola Mundo en Windows Form

Hola Mundo en Windows Form

Hola Mundo en Windows Form

7. 3 Microsoft. NET Framework.

7. 3 Microsoft. NET Framework.

Microsoft. NET Framework � El Framework de. Net es una infraestructura sobre la que

Microsoft. NET Framework � El Framework de. Net es una infraestructura sobre la que se reúne todo un conjunto de lenguajes y servicios que simplifican enormemente el desarrollo de aplicaciones. Mediante esta herramienta se ofrece un entorno de ejecución altamente distribuido, que permite crear aplicaciones robustas y escalables. Los principales componentes de este entorno son: Lenguajes de compilación. � Biblioteca de clases de. Net � CLR (Common Language Runtime) �

Microsoft. NET Framework

Microsoft. NET Framework

Common Language Runtime (CLR) � Es el entorno de ejecución en el que se

Common Language Runtime (CLR) � Es el entorno de ejecución en el que se cargan las aplicaciones desarrolladas en los distintos lenguajes. � La herramienta de desarrollo compila el código fuente de cualquiera de los lenguajes soportados por. Net en un mismo código, llamado código intermedio (MSIL, Microsoft Intermediate Lenguaje).

Common Language Runtime (CLR) � El código generado en MSIL no es código máquina

Common Language Runtime (CLR) � El código generado en MSIL no es código máquina y por ello no puede ejecutarse directamente. Se necesita otro paso en el que una herramienta denominada compilador JIT (Just-In-Time) genera el código máquina real que se ejecuta en la plataforma que tenga la computadora.

Biblioteca de Clases � Cuando se programa una aplicación, como un videojuego por ejemplo,

Biblioteca de Clases � Cuando se programa una aplicación, como un videojuego por ejemplo, se necesitan realizar acciones como dibujar en pantalla, manipulación de archivos, acceso a datos, manejo del input, conocer el estado del sistema, etc. � El Framework organiza toda la funcionalidad del sistema operativo en un espacio de nombres jerárquico de forma que a la hora de programar resulta bastante sencillo encontrar lo que se necesita.

Biblioteca de Clases

Biblioteca de Clases

Namespace System Espacio de nombres System Utilidad de los tipos de datos que contiene

Namespace System Espacio de nombres System Utilidad de los tipos de datos que contiene Tipos muy frecuentemente usados, como 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. Realización de comunicaciones en red. Acceso a los metadatos que acompañan a los módulos de código. System. Net System. Reflection System. Runtime. Remoting System. Security System. Threading System. Web. UI. Web. Controls Acceso a objetos remotos. Acceso a la política de seguridad en que se basa el CLR. Manipulación de hilos. 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 estándar. System. XML Acceso a datos en formato XML.

7. 4 Aspectos Léxicos.

7. 4 Aspectos Léxicos.

Identificadores � Son los nombres con los que se identifica cada uno de los

Identificadores � Son los nombres con los que se identifica cada uno de los componentes de un programa: ◦ ◦ ◦ Clases Instancias Namespaces Métodos Variables y constantes Estructuras

Identificadores: Reglas Ø 1. 2. 3. 4. Ø Cada identificador puede contener: Letras, menos

Identificadores: Reglas Ø 1. 2. 3. 4. Ø Cada identificador puede contener: Letras, menos la ñ ni letras acentuadas. Dígito numéricos. Guión bajo. Si se quiere usar una palabra clave como identificador se debe anteponer @. C# es case sensible.

Identificadores: Ejemplos Jugador mi. Bala is. Collision animacion_caminar enemigo 1 enemigo 2 enemigo 3

Identificadores: Ejemplos Jugador mi. Bala is. Collision animacion_caminar enemigo 1 enemigo 2 enemigo 3 arrays_enemigos vidas puntaje

Palabras clave contextuales Palabras Reservadas get partial set value where yield abstract event new

Palabras clave contextuales Palabras Reservadas get partial set value where yield abstract event new struct as explicit null switch base extern object this bool false operator throw break finally out true byte fixed override try case float params typeof catch for private uint char foreach protected ulong checked goto public unchecked class if readonly unsafe const implicit ref ushort continue in return using decimal int sbyte virtual default interface sealed volatile delegate internal short void do is sizeof whi le double lock stackalloc else long static enum namespace string

Comentarios � Sirve para entender de mejor manera el código. � Sirve para quienes

Comentarios � Sirve para entender de mejor manera el código. � Sirve para quienes posteriormente leerán el código. � Sirve para que el programador entienda de inmediatamente códigos que ha realizado con antigüedad. � Hace más limpia la programación.

Comentarios � Los comentarios son ignorados por el compilador. � Tipos � � de

Comentarios � Los comentarios son ignorados por el compilador. � Tipos � � de comentarios: De línea: //Este es un comentario de una linea De varias líneas: /* Este es un comentario de mas de una linea */

7. 5 Declaración.

7. 5 Declaración.

Declaración de una clase y sus elementos Ø Todos los elementos en cualquier programa

Declaración de una clase y sus elementos Ø Todos los elementos en cualquier programa en C# pertenecen a una clase. [modificadores] class <class. Name> [: nombre. Clase. Base] { [cuerpo de la clase] }

Ejemplo Class Jugador { private String nick; private int x, y; } public void

Ejemplo Class Jugador { private String nick; private int x, y; } public void Mostrar. Datos() { Console. Write. Line(“El jugador {0} está en la posición ({1}, {2})” , nombre, x, y); }

7. 6 Tipos de Datos.

7. 6 Tipos de Datos.

Tipos de Datos Tipo de Datos Descripcion Ejemplo object Es el tipo base de

Tipos de Datos Tipo de Datos Descripcion Ejemplo object Es el tipo base de todos los tipos object obj=null; string Secuencia de caracteres Unicode string st="Sierra"; sbyte entero con signo de 8 bit (1 byte) sbyte val=12; short entero con signo de 16 bit short val=12; int entero con signo de 32 bit int val=12; long entero con signo de 64 bit long val=12; long val 2=34 L; bool tipo booleano (cierto - falso) bool opc=false; bool opc=true; char tipo caracter, se corresponde con un Unicode char val='h'; byte entero sin signo de 8 bit byte val=12; byte val 2=12 U; ushort entero sin signo de 16 bit ushort val=12; ushort val 2=12 U; uint entero sin signo de 32 bit uint val=12; uint val 2=12 U; ulong entero sin signo de 64 bit ulong val=12; ulongval 2=12 U; ulong val 3=24 L ulong val 4=34 UL float numero en punto flotante con precision simple float val=12. 23 F float val 2=12. 23 double numero en punto flatante con precision doble double val=12. 23 double val 2=12. 23 D decimal numero decima con 28 digitos significativos decimal val=1. 23 M

Tipos de Datos

Tipos de Datos

Tipos de datos enteros Son tipos de datos que representan SÓLO valores enteros, que

Tipos de datos enteros Son tipos de datos que representan SÓLO valores enteros, que pueden ser negativos o positivos. � Se puede comparar con el conjunto N o Z. � � Tipos de datos: byte, short, int, long. Ejemplos: short vidas; int porcentaje. Danio; long puntaje;

Tipos de datos de punto flotante Son tipos de datos que representan SÓLO valores

Tipos de datos de punto flotante Son tipos de datos que representan SÓLO valores con parte entera y con parte decimal. � Se puede comparar con el conjunto R. � � Tipos de datos: float, double, decimal. Ejemplos: float angulo. Orientacion; double velocidad; decimal posicion. X;

Tipos de datos lógicos � � Son tipos de datos que representan SÓLO 2

Tipos de datos lógicos � � Son tipos de datos que representan SÓLO 2 valores: true o false. Tipo de datos: boolean. Ejemplos: bool continuar; bool muerto; bool pause;

Tipos de datos de carácter � � Son tipos de datos que representan caracteres.

Tipos de datos de carácter � � Son tipos de datos que representan caracteres. Tipo de datos: char. Ejemplos: char letra; char marca;

Tabla ASCII

Tabla ASCII

Códigos de caracteres especiales Carácter CÓDIGO DE ESCAPE UNICODE Código de escape especial Comilla

Códigos de caracteres especiales Carácter CÓDIGO DE ESCAPE UNICODE Código de escape especial Comilla simple u 0027 ' Comilla doble u 0022 ″ Carácter nulo u 0000 Alarma u 0007 a Retroceso u 0008 b Salto de página u 000 C f Nueva línea u 000 A n Retorno de carro u 000 D r Tabulación horizontal u 0009 t Tabulación vertical u 000 B v Barra invertida u 005 C \

Preguntas ¿?

Preguntas ¿?