Vous êtes sur la page 1sur 65

MANUAL DEL CURSO

PROGRAMACIN TECNOLOGAS DE LA INFORMACIN Y COMUNICACIN


MSC. DAVID OCHOA DEL TORO ING. ANA LILIA HERNNDEZ VIESCA ING. ANTONIO GARAY ESPINOZA

TORREN, COAH., DICIEMBRE 2011

Tecnologas de la Informacin y Comunicacin

Contenido
Unidad I ................................................................................................................... 1 Programacin Orientada a Objetos ...................................................................... 1 Objetos................................................................................................................. 2 Qu es un Objeto? ......................................................................................... 2 Qu se puede considerar como objeto? ......................................................... 2 Clases .................................................................................................................. 3 Clasificacin: ..................................................................................................... 3 Objetos y clases ................................................................................................... 4 Dentro de una clase .......................................................................................... 5 Abstraccin y encapsulamiento ........................................................................... 5 Herencia ............................................................................................................... 6 Polimorfismo ........................................................................................................ 8 Unidad II ................................................................................................................ 10 Origen y necesidad de un nuevo lenguaje ......................................................... 10 Caractersticas de C#......................................................................................... 11 Caractersticas generales del lenguaje .............................................................. 15 Iniciar C# ............................................................................................................ 16 Crear un proyecto .............................................................................................. 18

Tecnologas de la Informacin y Comunicacin

Elementos de trabajo ......................................................................................... 19 Cmo crear aplicaciones de consola .............................................................. 19 Cmo crear aplicaciones con ventanas .......................................................... 21 Controles ms usuales y sus caractersticas .................................................. 22 Propiedades, mtodos y eventos comunes .................................................... 23 UNIDAD III............................................................................................................. 26 Identificadores y tipos de dato ........................................................................... 26 Variables o identificadores .............................................................................. 26 Tipos de Datos ................................................................................................ 27 Clase Console. .................................................................................................. 28 Mtodo para Mostrar Dato en Pantalla ........................................................... 28 Mostrar un mensaje y el valor de las variables ............................................... 28 Leer datos del Teclado ................................................................................... 29 Clase Convert ................................................................................................... 30 Expresiones ....................................................................................................... 30 Expresiones Aritmticas ................................................................................. 31 Expresiones Relacionales, Lgicas o Booleanas ........................................... 32 Sentencias de Control ........................................................................................ 34 Sentencia if ..................................................................................................... 34 Opcin Mltiple o Expresiones Multivaluadas: switch ..................................... 35

ii

Tecnologas de la Informacin y Comunicacin

Sentencia While .............................................................................................. 35 Sentencia Instruccin do...while .................................................................... 36 Sentencia for................................................................................................... 37 Creacin de Clases ............................................................................................ 38 Namespace..................................................................................................... 38 Clases ................................................................................................................ 38 Campos .......................................................................................................... 38 Mtodos .......................................................................................................... 39 Objeto ................................................................................................................ 42 Mtodo Main ...................................................................................................... 43 Comentarios ....................................................................................................... 44 Ejercicios ............................................................................................................ 49 Unidad IV............................................................................................................... 50 Arreglo tipo Lista (Unidimesionales)................................................................... 50 Declaracin de Vectores ................................................................................. 51 Crear Arreglo de Objetos ................................................................................ 52 Foreach........................................................................................................... 52 Clase Array ..................................................................................................... 53 Ejercicios ............................................................................................................ 55 Excepciones .......................................................................................................... 57

iii

Tecnologas de la Informacin y Comunicacin

Bibliografa ............................................................................................................ 59

iv

Tecnologas de la Informacin y Comunicacin

UNIDAD I

PROGRAMACIN ORIENTADA A OBJETOS


La programacin orientada a objetos es una filosofa, un modelo de programacin, con su teora y su metodologa, que conviene conocer y estudiar antes de nada. Un lenguaje orientado a objetos es un lenguaje de programacin que permite el diseo de aplicaciones orientadas a objetos. Dicho esto, lo normal es que toda persona que vaya a desarrollar aplicaciones orientadas a objetos aprenda primero la filosofa (o adquiera la forma de pensar) y despus el lenguaje, porque filosofa slo hay una y lenguajes muchos. En este documento veremos brevemente los conceptos bsicos de la programacin orientada a objetos En seguida se mencionaran algunas caractersticas de la Programacin Orientada a Objetos: En POO un programa es un grupo de objetos que interactan entre ellos Cada objeto tiene un rol en la solucin del problema. Cada objeto provee un conjunto de servicios (o mtodos) Los servicios de un objeto son usados por otros objetos Los objetos tienen un estado, parte de ese estado ser conocido por los dems y otra parte no. La naturaleza nica del diseo orientado por objetos se debe a su habilidad para construir basndose en tres conceptos importantes del diseo del software: Abstraccin Ocultamiento de la informacin Modularidad

Tecnologas de la Informacin y Comunicacin

OBJETOS
El trmino "orientacin por objeto" significa que organizaremos el software como una coleccin de objetos que incorporan tanto estructuras de datos como procedimientos. Esto contrasta con la programacin convencional, en la cual las estructuras de datos y el comportamiento estn solo aproximadamente conectados El desarrollo orientado por objetos es una nueva forma de pensar acerca del software basado sobre abstracciones que existen en el mundo real En este contexto, el desarrollo es referido a la primera parte del ciclo de vida del software: anlisis, diseo e implantacin

Qu es un Objeto?
Un objeto es una entidad fsica o abstracta que tiene un comportamiento ante ciertos estmulos, tanto externos como de otros objetos especficos que se encuentran dentro del sistema. La forma en que los objetos se comunican entre ellos es a travs de mensajes: Un mensaje encapsula la peticin de un servicio. El receptor del mensaje presta el servicio y devuelve una respuesta al que solicit el servicio Una descripcin adecuada de los objetos debe: Ser precisa y no ambigua Ser completa No debe especificar ms de lo necesario

Qu se puede considerar como objeto?


Persona

Tecnologas de la Informacin y Comunicacin

Equipo Hardware Materiales Informacin Software Procesos Procedimientos Relaciones o asociaciones entre objetos INCLUSO Entes matemticos o lgicos Un objeto empaqueta datos (una representacin concreta) y procedimientos que operan sobre los datos. El envo de mensajes es la nica forma para que un objeto realice una operacin. Las operaciones son la nica forma para cambiar el estado de los datos. Cuando esto se cumple, se dice que el estado interno del objeto (el valor de sus datos) est encapsulado; ste no puede ser manipulado directamente desde el exterior y su representacin concreta es invisible.

CLASES
Clasificacin:
El proceso de clasificacin es el enfoque central de la orientacin por objeto y concierne a la agrupacin de objetos con propiedades (estructuras de datos o atributos) y comportamiento (operaciones) similares dentro de una clase. Una clase es la abstraccin que describe propiedades importantes para una aplicacin. Los objetos que pertenecen a una clase se describen colectivamente por la definicin de una clase. En lugar de describir los objetos individuales la orientacin

Tecnologas de la Informacin y Comunicacin

por objeto concentra en un patrn tanto el estado como el comportamiento que es comn a todos los objetos de la clase

OBJETOS Y CLASES
La distincin entre una clase y sus instancias (objetos) es similar a la distincin entre una definicin de tipo y la declaracin de una variable en un lenguaje de programacin convencional. Sin embargo, la mayora de los sistemas orientados por objeto crean dinmicamente instancias (objetos) por envo de mensajes "Nuevo" y "Crear" una clase. Clase: Tipo de datos definido por el usuario Objeto: Es un dato del tipo definido por su clase, es decir, es una instancia especfica de su clase

Una clase se representa por una caja la cual puede tener 3 regiones. Primera: nombre de la clase.

Tecnologas de la Informacin y Comunicacin

Segunda: contiene la lista de atributos, cada nombre de atributo puede estar seguido por detalles opcionales tales como tipo de atributo y valores por defectos. Tercera: contiene los nombres de los mtodos, cada nombre puede ser seguido por detalles opcionales tales como listas de argumentos y tipos de resultados. Fases de la vida de un objeto Creacin de un objeto o Primero debe declararse o Luego debe ser instanciado Utilizacin del objeto instanciado Destruccin del objeto instanciado

Dentro de una clase


Campos de datos dentro de una clase: variables miembros o propiedades de la clase. Mtodos con los datos de una clase: funciones miembros o mtodos de la clase. Los miembros de una clase (propiedades y mtodos) pueden ser: o Pblicos: se puede acceder a ellos desde fuera de la clase. o Privados: slo se puede acceder a ellos desde dentro de la clase. o Protegido: slo se puede acceder a ellos desde dentro de la clase o de las clases heredadas. Para acceder a propiedades privadas de la clase se definen mtodos de acceso. Un miembro puede ser esttico.

ABSTRACCIN Y ENCAPSULAMIENTO
Dos caractersticas fundamentales de la POO 5

Tecnologas de la Informacin y Comunicacin

Abstraccin: Denota las caractersticas esenciales de un objeto, donde se capturan sus comportamientos. Cada objeto en el sistema sirve como modelo de un "agente" abstracto que puede realizar trabajo, informar y cambiar su estado, y "comunicarse" con otros objetos en el sistema sin revelar cmo se implementan estas caractersticas. Los procesos, las funciones o los mtodos pueden tambin ser abstrados En el sentido ms general, una abstraccin es una representacin concisa de una idea o de un objeto complicado. En un sentido ms especfico, la abstraccin localiza y oculta los detalles de un modelo o diseo para generar y manipular objetos.

Encapsulamiento: Significa reunir a todos los elementos que pueden considerarse pertenecientes a una misma entidad, al mismo nivel de abstraccin. Esto permite aumentar la cohesin de los componentes del sistema. Algunos autores confunden este concepto con el principio de ocultacin, principalmente porque se suelen emplear conjuntamente. Tipos de encapsulamiento: Abierto (Public): Puede accederse de cualquier parte del programa. Protegido (Protect): heredadas. Cerrado (Private). Solo es desde las clases. Solo es accesible desde las clases y sus clases

HERENCIA
La herencia consiste en el compartir atributos y mtodos entre clases basndose en una relacin jerrquica. Una clase puede definirse ampliamente y redefinirse sucesivamente en subclases ms refinadas.

Tecnologas de la Informacin y Comunicacin

Cada subclase que se incorpora, hereda todas las propiedades de su superclase y adiciona sus propias y nicas propiedades. La herencia permite reutilizar cdigo Las clases no estn aisladas, sino que se relacionan entre s, formando una jerarqua de clasificacin. Los objetos heredan las propiedades y el

comportamiento de todas las clases a las que pertenecen. La herencia organiza y facilita el polimorfismo y el encapsulamiento permitiendo a los objetos ser definidos y creados como tipos especializados de objetos preexistentes. Estos pueden compartir (y extender) su comportamiento sin tener que volver a implementarlo. Esto suele hacerse habitualmente agrupando los objetos en clases y estas en rboles o enrejados que reflejan un comportamiento comn. Tipos herencias Simple Mltiple

Ventajas Ayuda a los programadores a ahorrar cdigo y tiempo, al ser posible reutilizar el mismo a lo largo de diferentes clases/objetos con comportamientos similares para un determinado aspecto. Los objetos pueden ser construidos a partir de otros similares. Para ello es necesario que exista una clase base y una jerarqua de clases. La clase derivada puede heredar cdigo y datos de la clase base, aadiendo cdigo o modificando lo heredado. Las clases que heredan propiedades de otra clase pueden servir como clase base de otras.

Tecnologas de la Informacin y Comunicacin

POLIMORFISMO
Es la posibilidad de definir de forma distinta un mtodo, dependiendo del objeto.

Capacidad que tienen los objetos de una clase de responder al mismo mensaje o evento en funcin de los parmetros utilizados durante su invocacin. Un objeto polimrfico es una entidad que puede contener valores de diferentes tipos durante la ejecucin del programa. El polimorfismo existe gracias a la herencia. En la prctica: un puntero a un tipo puede contener varios tipos diferentes, no solo el creado. De esta forma podemos tener un puntero a un objeto de la clase Trabajador, pero este puntero puede estar apuntando a un objeto subclase de la anterior como podra ser Marketing, Ventas o Recepcionistas (todas ellas deberan ser subclase de Trabajador). El concepto de polimorfismo se puede aplicar tanto a funciones como a tipos de datos. As nacen los conceptos de funciones polimrficas y tipos polimrficos. Las primeras son aquellas funciones que pueden evaluarse o ser aplicadas a diferentes tipos de datos de forma indistinta; los tipos polimrficos, por su parte, son aquellos tipos de datos que contienen al menos un elemento cuyo tipo no est especificado.

Tecnologas de la Informacin y Comunicacin

Se puede clasificar en dos grandes clases: Polimorfismo dinmico (o polimorfismo paramtrico): Aqul en el que el cdigo no incluye ningn tipo de especificacin sobre el tipo de datos sobre el que se trabaja. As, puede ser utilizado a todo tipo de datos compatible. Polimorfismo esttico (o polimorfismo ad hoc): Aqul en el que los tipos datos a los que se aplica el polimorfismo deben ser explicitados y declarados uno por uno antes de poder ser utilizados. Segn la herencia puede clasificarse en Sobreescritura: reemplazar los mtodos de la superclase en las subclases. Sobrecarga: varios mtodos se llaman igual, pero difieren en el nmero, tipo u orden de sus argumentos.

Tecnologas de la Informacin y Comunicacin

UNIDAD II

ORIGEN Y NECESIDAD DE UN NUEVO LENGUAJE


C# (ledo en ingls C Sharp y en espaol C Almohadilla) es el nuevo lenguaje de propsito general diseado por Microsoft para su plataforma .NET. Sus principales creadores son Scott Wiltamuth y Anders Hejlsberg, ste ltimo tambin conocido por haber sido el diseador del lenguaje Turbo Pascal y la herramienta RAD Delphi. Aunque es posible escribir cdigo para la plataforma .NET en muchos otros lenguajes, C# es el nico que ha sido diseado especficamente para ser utilizado en ella, por lo que programarla usando C# es mucho ms sencillo e intuitivo que hacerlo con cualquiera de los otros lenguajes ya que C# carece de elementos heredados innecesarios en .NET. Por esta razn, se suele decir que C# es el lenguaje nativo de .NET La sintaxis y estructuracin de C# es muy parecida a la de C++ o Java, puesto que la intencin de Microsoft es facilitar la migracin de cdigos escritos en estos lenguajes a C# y facilitar su aprendizaje a los desarrolladores habituados a ellos. Sin embargo, su sencillez y el alto nivel de productividad son comparables con los de Visual Basic. Un lenguaje que hubiese sido ideal utilizar para estos menesteres es Java, pero debido a problemas con la empresa creadora del mismo -Sun-, Microsoft ha tenido que desarrollar un nuevo lenguaje que aadiese a las ya probadas virtudes de Java las modificaciones que Microsoft tena pensado aadirle para mejorarlo an ms y hacerlo un lenguaje orientado al desarrollo de componentes. En resumen, C# es un lenguaje de programacin que toma las mejores caractersticas de lenguajes preexistentes como Visual Basic, Java o C++ y las 10

Tecnologas de la Informacin y Comunicacin

combina en uno solo. El hecho de ser relativamente reciente no implica que sea inmaduro, pues Microsoft ha escrito la mayor parte de la BCL usndolo, por lo que su compilador es el ms depurado y optimizado de los incluidos en el .NET Framework SDK.

CARACTERSTICAS DE C#
Con la idea de que los programadores ms experimentados puedan obtener una visin general del lenguaje, a continuacin se recoge de manera resumida las principales caractersticas de C# Alguna de las caractersticas aqu sealadas no son exactamente propias del lenguaje sino de la plataforma .NET en general, y si aqu se comentan es porque tienen una repercusin directa en el lenguaje: Sencillez: C# elimina muchos elementos que otros lenguajes incluyen y que son innecesarios en .NET. Por ejemplo: El cdigo escrito en C# es auto contenido, lo que significa que no necesita de ficheros adicionales al propio fuente tales como ficheros de cabecera o ficheros IDL El tamao de los tipos de datos bsicos es fijo e independiente del compilador, sistema operativo o mquina para quienes se compile (no como en C++), lo que facilita la portabilidad del cdigo. No se incluyen elementos poco tiles de lenguajes como C++ tales como macros, herencia mltiple o la necesidad de un operador diferente del punto (.) acceder a miembros de espacios de nombres (::) Modernidad: C# incorpora en el propio lenguaje elementos que a lo largo de los aos ha ido demostrndose son muy tiles para el desarrollo de aplicaciones y que en otros lenguajes como Java o C++ hay que simular, como un tipo bsico decimal que permita realizar operaciones de alta precisin con reales de 128 bits

11

Tecnologas de la Informacin y Comunicacin

(muy til en el mundo financiero), la inclusin de una instruccin foreach que permita recorrer colecciones con facilidad y es ampliable a tipos definidos por el usuario, la inclusin de un tipo bsico string para representar cadenas o la distincin de un tipo bool especfico para representar valores lgicos. Orientacin a objetos: Como todo lenguaje de programacin de

propsito general actual, C# es un lenguaje orientado a objetos, aunque eso es ms bien una caracterstica del CTS que de C#. Una diferencia de este enfoque orientado a objetos respecto al de otros lenguajes como C++ es que el de C# es ms puro en tanto que no admiten ni funciones ni variables globales sino que todo el cdigo y datos han de definirse dentro de definiciones de tipos de datos, lo que reduce problemas por conflictos de nombres y facilita la legibilidad del cdigo. C# soporta todas las caractersticas propias del paradigma de

programacin orientada a objetos: encapsulacin, herencia y polimorfismo. En lo referente a la encapsulacin es importante sealar que aparte de los tpicos modificadores public, private y protected, C# aade un cuarto

modificador llamado internal, que puede combinarse con protected e indica que al elemento a cuya definicin precede slo puede accederse desde su mismo ensamblado. Respecto a la herencia -a diferencia de C++ y al igual que Java- C# slo admite herencia simple de clases ya que la mltiple provoca ms quebraderos de cabeza que facilidades y en la mayora de los casos su utilidad puede ser simulada con facilidad mediante herencia mltiple de interfaces. De todos modos, esto vuelve a ser ms bien una caracterstica propia del CTS que de C#. Orientacin a componentes: La propia sintaxis de C# incluye elementos propios del diseo de componentes que otros lenguajes tienen que simular mediante construcciones ms o menos complejas. Es decir, la sintaxis de C# permite definir cmodamente propiedades (similares a campos de acceso controlado), eventos (asociacin controlada de funciones de respuesta a notificaciones) o atributos (informacin sobre un tipo o sus miembros)

12

Tecnologas de la Informacin y Comunicacin

Gestin automtica de memoria: Como ya se coment, todo lenguaje de .NET tiene a su disposicin el recolector de basura del CLR. Esto tiene el efecto en el lenguaje de que no es necesario incluir instrucciones de destruccin de objetos. Sin embargo, dado que la destruccin de los objetos a travs del recolector de basura es indeterminista y slo se realiza cuando ste se active ya sea por falta de memoria, finalizacin de la aplicacin o solicitud explcita en el fuente-, C# tambin proporciona un mecanismo de liberacin de recursos determinista a travs de la instruccin using. Seguridad de tipos: C# incluye mecanismos que permiten asegurar que los accesos a tipos de datos siempre se realicen correctamente, lo que permite evita que se produzcan errores difciles de detectar por acceso a memoria no perteneciente a ningn objeto y es especialmente necesario en un entorno gestionado por un recolector de basura. Para ello se toman medidas del tipo: Slo se admiten conversiones entre tipos compatibles. Esto es, entre un tipo y antecesores suyos, entre tipos para los que explcitamente se haya definido un operador de conversin, y entre un tipo y un tipo hijo suyo del que un objeto del primero almacenase una referencia del segundo (downcasting) Obviamente, lo ltimo slo puede comprobarlo en tiempo de ejecucin el CLR y no el compilador, por lo que en realidad el CLR y el compilador colaboran para asegurar la correccin de las conversiones. No se pueden usar variables no inicializadas. El compilador da a los campos un valor por defecto consistente en ponerlos a cero y controla mediante anlisis del flujo de control de la fuente que no se lea ninguna variable local sin que se le haya asignado previamente algn valor. Se comprueba que todo acceso a los elementos de una tabla se realice con ndices que se encuentren dentro del rango de la misma. Instrucciones seguras: Para evitar errores muy comunes, en C# se han

impuesto una serie de restricciones en el uso de las instrucciones de control ms

13

Tecnologas de la Informacin y Comunicacin

comunes. Por ejemplo, la guarda de toda condicin ha de ser una expresin condicional y no aritmtica, con lo que se evitan errores por confusin del operador de igualdad (==) con el de asignacin (=); y todo caso de un switch ha de terminar en un break o gota que indique cul es la siguiente accin a realizar, lo que evita la ejecucin accidental de casos y facilita su reordenacin.

Extensibilidad de operadores: Para facilitar la legibilidad del cdigo y conseguir que los nuevos tipos de datos bsicos que se definan a travs de las estructuras estn al mismo nivel que los bsicos predefinidos en el lenguaje, al igual que C++ y a diferencia de Java, C# permite redefinir el significado de la mayora de los operadores -incluidos los de conversin, tanto para conversiones implcitas como explcitas- cuando se apliquen a diferentes tipos de objetos. Extensibilidad de modificadores: C# ofrece, a travs del concepto de

atributos, la posibilidad de aadir a los metadatos del mdulo resultante de la compilacin de cualquier fuente informacin adicional a la generada por el compilador que luego podr ser consultada en tiempo ejecucin a travs de la librera de reflexin de .NET . Esto, que ms bien es una caracterstica propia de la plataforma .NET y no de C#, puede usarse como un mecanismo para definir nuevos modificadores. Versionable: C# incluye una poltica de versionado que permite crear

nuevas versiones de tipos sin temor a que la introduccin de nuevos miembros provoquen errores difciles de detectar en tipos hijos previamente desarrollados y ya extendidos con miembros de igual nombre a los recin introducidos. Si una clase introduce un nuevo mtodo cuyas redefiniciones deban seguir la regla de llamar a la versin de su padre en algn punto de su cdigo, difcilmente seguiran esta regla miembros de su misma signatura definidos en clases hijas previamente a la definicin del mismo en la clase padre; o si introduce un nuevo campo con el mismo nombre que algn mtodo de una clase hija, la clase hija dejar de funcionar. Para evitar que esto ocurra, en C# se toman dos medidas:

14

Tecnologas de la Informacin y Comunicacin

Eficiente: En principio, en C# todo el cdigo incluye numerosas

restricciones para asegurar su seguridad y no permite el uso de punteros. Sin embargo, y a diferencia de Java, en C# es posible saltarse dichas restricciones manipulando objetos a travs de punteros. Para ello basta marcar regiones de cdigo como inseguras (modificador unsafe) y podrn usarse en ellas punteros de forma similar a cmo se hace en C++, lo que puede resultar vital para situaciones donde se necesite una eficiencia y velocidad procesamiento muy grandes. Compatible: Para facilitar la migracin de programadores, C# no slo o Java que permite incluir

mantiene una sintaxis muy similar a C, C++

directamente en cdigo escrito en C# fragmentos de cdigo escrito en estos lenguajes, sino que el CLR tambin ofrece, a travs de los llamados Platform Invocation Services (PInvoke), la posibilidad de acceder a cdigo nativo escrito como funciones sueltas no orientadas a objetos tales como las DLLs de la API Win32. Ntese que la capacidad de usar punteros en cdigo inseguro permite que se pueda acceder con facilidad a este tipo de funciones, ya que stas muchas veces esperan recibir o devuelven punteros.

CARACTERSTICAS GENERALES DEL LENGUAJE


C# es un lenguaje de propsito general orientado a objetos que permite realizar
aplicaciones bajo una plataforma de desarrollo. NET FRAMEWORK. Ambiente en el desarrollo: El ambiente de desarrollo en C# se compone como lo siguiente: a) MARCO DE TRABAJO Es necesario el marco de trabajo denominado microsoft.net disponible en la pgina de Microsoft.

b) EDITOR DE PROGRAMAS

15

Tecnologas de la Informacin y Comunicacin

Aunque se puede editar programas en C# en cualquier editor de texto plano, la herramienta ms sofisticada para la programacin de dicho programa es visual estudio.net

c) COMPILADOR DE PROGRAMAS El compilador de programas en C# es el programa csc.exe que viene incluido en microsof.net: este compilador produce archivos con

extencio.exe. d) BIBLIOTECA DE CLASES La biblioteca de clases de Microsoft.net est formada por 6000 clases que permiten cualquier cosa prcticamente. En caso de C# la biblioteca de clases se instala y est disponible en el equipo al instalar Microsoft.net framework.

INICIAR C#
Al iniciar Visual Studio por primera vez nos encontramos con un entorno como el que aparece en la figura 1.1 (pgina siguiente), con elementos habituales como un men de opciones, una barra de botones debajo y una serie de ventanas adosadas. La Pgina de inicio aparece en primer plano, ofreciendo una lista de los proyectos en los que hemos trabajado recientemente (vaca por ahora) y enlaces para abrir y crear otros proyectos; debajo una lista de accesos directos a temas de la ayuda y a la derecha una serie de hipervnculos a noticias relacionadas con el producto obtenidas a travs de Internet. Esta pgina estar vaca si no disponemos de una conexin a la red. La parte derecha del entorno est ocupada por el Explorador de soluciones, una ventana que nos servir para gestionar los elementos que forman parte de cada proyecto.

16

Tecnologas de la Informacin y Comunicacin

Observe la parte superior de ese panel: en el extremo derecho, tras el ttulo, aparece una serie de iconos:

Este botn da paso a un men desplegable que nos permite establecer la configuracin de la ventana, eligiendo entre acoplarla a otras (estado en el que se encuentra por defecto), dejarla flotante, ocultarla automticamente, etc.

Este icono aparece en las ventanas que se encuentran acopladas. Al hacer clic sobre l la ventana pasa a ocultarse automticamente cuando no est en uso, quedando visible nicamente una pestaa. En el margen superior izquierdo de la figura 1.1 puede ver una pestaa con el ttulo Toolbox, correspondiente al Cuadro de herramientas que se encuentra oculto. Situando el puntero del ratn sobre esa pestaa se abrir la ventana, que volver a ocultarse automticamente cuando no se use a menos que hagamos clic sobre este icono.

Como es fcil imaginar, este icono sirve para cerrar la ventana. Podemos cerrar todas aquellas ventanas que no utilicemos con frecuencia, para liberar as el entorno y tener ms espacio libre. En cualquier momento podemos recurrir a las opciones del men Ver para volver a abrir las que nos interesen. Figura 1.1. Aspecto inicial del entorno de desarrollo. El rea central del entorno, donde ahora mismo se encuentra la Pgina de inicio, sirve para ir mostrando las ventanas de los distintos editores y diseadores con que cuenta el producto. Por cada pgina abierta aparecer una pestaa en la parte superior, de tal forma que un simple clic nos llevar de una a otra. De manera similar a como utiliza la combinacin de teclas Alt-Tab para cambiar entre las aplicaciones abiertas en el sistema, encontrndose en el entorno de Visual C# 2005 Express Edition puede recurrir al atajo de teclado Control-Tab para navegar por las pginas abiertas en el rea central del entorno.

17

Tecnologas de la Informacin y Comunicacin

Las ventanas no tienen una posicin fija en el entorno, sino que podemos colocarlas donde ms cmodo nos resulte. Basta con tomar la ventana por la barra de ttulo y arrastrarla all donde interese. Durante el proceso aparecern unas guas, en forma de iconos semitransparentes (vase la figura 1.2), que facilitan la operacin. Basta con llevar el punto del ratn a uno de los estos iconos para acoplar la ventana a uno de los mrgenes o apilarla como una pgina ms, viendo de forma interactiva dnde quedara antes de que la soltemos.

CREAR UN PROYECTO
Si tenemos abierta la Pgina de inicio, podemos hacer clic en el enlace Crear proyecto

que aparece en la parte inferior de la seccin Proyectos recientes. Tambin podemos sencillamente pulsar el botn Nuevo proyecto, que por defecto es el primero de izquierda a derecha en la barra de botones; elegir la opcin Archivo> Nuevo proyecto del men principal o pulsar la combinacin de teclas ControlMays-N. En cualquier caso siempre nos encontraremos con el cuadro de dilogo que aparece en la figura 1.3, en el que se enumeran las plantillas de proyectos que tenemos instaladas.

Figura 1.3. Cuadro de dilogo desde el que iniciaremos un nuevo proyecto. Inicialmente hay disponibles media docena de plantillas, a las que se aadirn otras que podamos localizar mediante la opcin Buscar plantillas en lnea que aparece en la parte inferior. Por el momento aceptaremos las opciones propuestas por defecto: Aplicacin para Windows con el nombre WindowsApplication1 y pulsaremos el botn Aceptar. Transcurridos unos segundos aparecern los elementos del nuevo proyecto en la ventana Explorador de soluciones, la ventana que hay inicialmente a la derecha, y en el rea de contenido se abrir el diseador de formularios Windows, mostrando la ventana con que cuenta la aplicacin en un principio. 18

Tecnologas de la Informacin y Comunicacin

ELEMENTOS DE TRABAJO
Adems de los que ya hay visibles, para poder componer la interfaz de usuario de nuestro primer programa necesitaremos trabajar con algunos elementos ms, concretamente con el Cuadro de herramientas y la ventana Propiedades. El primero est en una ventana oculta en la zona izquierda del entorno. No tenemos ms que situar el cursor sobre la pestaa que tiene el ttulo de la ventana y, a continuacin, hacer clic en el botn adecuado para dejarla adosada. Para hacer visible la segunda usaremos la opcin Ver>Ventana Propiedades.

Cmo crear aplicaciones de consola


Las aplicaciones de consola reciben este nombre porque se ejecutan en la consola del sistema, la lnea de comandos de texto, y no cuentan con una interfaz grfica basada en ventanas. El uso de la consola de texto resulta adecuado cuando la interaccin con el usuario es lo suficientemente sencilla como para no precisar ms que la introduccin de datos por teclado, sin recurrir a elementos como las listas, botones de radio y otros controles de Windows. En cuanto a su estructura, las aplicaciones de consola representan uno de los tipos de proyecto ms sencillos que podemos crear. Una aplicacin de este tipo consta generalmente de una nica clase, conteniendo el mtodo Main y cualquier otro adicional que pudiramos necesitar. En el cdigo se har uso intensivo de la clase System.Console a fin de acceder a la consola, enviando y recogiendo informacin. Los mtodos de esta clase son estticos, lo que significa que no es necesario crear un objeto Console para poder invocarlos sino que podemos usar la notacin Console. Mtodo(parmetros). En la ventana Nuevo proyecto encontramos un elemento que es el encargado de generar una nueva aplicacin de consola. Opcionalmente podemos introducir un nombre para dicha aplicacin en la parte inferior, si no queremos usar el propuesto

19

Tecnologas de la Informacin y Comunicacin

por defecto. Un clic en el botn Aceptar y el asistente crear el proyecto, aadiendo un mdulo con el cdigo siguiente:
using System; using System.Collections.Generic; using System.Text; namespace AppConsola { class Program { static void Main(string[] args) { } } }

Procedemos a crear una aplicacin de consola.

Las tres primeras lneas hacen referencia a otros tantos espacios de nombres en los que se encuentran las clases ms usadas en este tipo de aplicaciones. A continuacin se encuentra la definicin de un espacio de nombres propio, cuyo nombre es el introducido en la ventana Nuevo proyecto, en cuyo interior hay una

20

Tecnologas de la Informacin y Comunicacin

clase con el mtodo Main. Puede modificar libremente el nombre de la clase, pero no as el del mtodo Main, sus parmetros o tipo de retorno.

Cmo crear aplicaciones con ventanas


Cuando un programa est pensado para ser empleado directamente por un usuario, y no para ejecutarse como un servicio o aplicacin de servidor, lo habitual es que cuente con una interfaz basada en ventanas. Las interfaces grficas de usuario o GUI (Graphics User Interface) se han convertido en un estndar, simplificando la interaccin con las personas a travs del uso de metforas como los botones, las listas o los mens, con las que se representan conceptos bien conocidos por todos. La plataforma .NET cuenta con un sofisticado conjunto de componentes dirigidos a facilitar la construccin de este tipo de aplicaciones, conocidos genricamente como componentes para formularios Windows, de tal forma que el programador ya tiene a su disposicin los elementos antes citados: botones, listas, mens, cuadrculas, etc. Solamente tiene que crear los componentes, configurarlos a travs de sus propiedades y mtodos y responder a los eventos que generan. En esta ltima fase es donde entra en escena el diseador de formularios integrados en el entorno de Visual C#, una herramienta que permite al programador arrastrar los componentes hasta el formulario y editar sus propiedades generando automticamente el cdigo que, de otra manera, se tendra que haber escrito manualmente. El resultado final es que el diseo de la interfaz de una aplicacin basada en formularios Windows se convierte, gracias al diseador y los componentes prefabricados, en un proceso realmente sencillo y eficiente. El objetivo de este captulo, partiendo de que sabemos cmo arrastrar los componentes desde el Cuadro de herramientas hasta el formulario y modificar sus propiedades en la ventana Propiedades al ser tareas que aprendimos en un captulo previo, ser conocer ms detalles acerca del propio formulario y tambin algunos de los controles de uso ms habitual.

21

Tecnologas de la Informacin y Comunicacin

Controles ms usuales y sus caractersticas


La lista de controles que pueden utilizarse para confeccionar una interfaz de usuario basada en formularios Windows es muy extensa, pero existe un grupo cuyo uso resulta mucho ms frecuente. Forman parte de este grupo los botones, cuadros de texto, listas, botones de radio y etiquetas de texto, entre otros. En general, los controles de uso ms comn los encontraremos en la seccin Controles comunes del Cuadro de herramientas (vase la figura 4.1 en la pgina siguiente). Son stos en los que vamos a concentrarnos en un principio. A la hora de insertar un control en el formulario tenemos varias opciones: hacer doble clic sobre el control en el Cuadro de herramientas, hacer clic sobre el control y despus en el punto del formulario donde se desea colocar o bien hacer clic sobre el control y a continuacin arrastrar y soltar sobre el formulario a fin de delimitar el rea que deseamos asignar como tamao inicial. Las dos primeras tcnicas insertan el control usando las dimensiones por defecto, si bien podemos ajustarlas con posterioridad. De optar por el doble clic en el icono del control, tambin la posicin inicial en el formulario ser la usada por defecto por el diseador, mientras que el segundo procedimiento nos permite ponerlo en el lugar que deseemos. En cualquier caso, una vez insertado el control puede arrastrarse y colocarse donde deseemos. A medida que arrastremos los controles dentro del formulario, para alterar su posicin, el diseador nos ir mostrando unas lneas gua que facilitan la alineacin respecto a los dems que haya alrededor. Tambin al cambiar el tamao aparecern dichas lneas, haciendo que sea ms fcil conseguir controles con el mismo ancho o alto sin necesidad de tener que editar directamente las propiedades Width y Height en la ventana Propiedades. Adems de los recuadros que aparecen en el contorno del control, una vez insertados, y que sirven para ajustar su tamao, ciertos controles mostrarn en la parte superior derecha un botn con el icono de una flecha en su interior. Dicho botn da paso al men de tareas del control, enumerando las opciones de configuracin que se

22

Tecnologas de la Informacin y Comunicacin

utilizan de forma ms habitual en cada caso. La lista de tareas de un TextBox, por ejemplo, permite activar o desactivar la propiedad MultiLine para permitir la introduccin de varias lneas de texto, mientras que en el control ListBox encontramos opciones para editar los elementos mostrados en la lista o vincularla a un origen de datos.

Controles de uso comn.

Propiedades, mtodos y eventos comunes


A pesar de las patentes diferencias que existen entre un botn, un recuadro de texto y una lista, lo cierto es que todos ellos son controles Windows y, como tales, tienen un ascendiente comn: la clase Control definida en

23

Tecnologas de la Informacin y Comunicacin

System.Windows.Forms. Esto explica que compartan un mismo conjunto de miembros, entre ellos una serie de propiedades y eventos comunes, a los que se aaden otros de carcter especfico. El conocimiento de los miembros comunes, por tanto, nos ser de utilidad general, con independencia de los controles concretos que vayamos a usar. Todos los controles se colocan en el interior de un contenedor, normalmente un formulario Windows, por lo que necesitan por igual contar con unas coordenadas y unas dimensiones. Heredados de la clase Control disponen de los siguientes elementos: Left, Top, Width y Height: Estas cuatro propiedades contienen las coordenadas de la esquina superior izquierda del control (columna y fila), el ancho y alto, respectivamente. Aunque normalmente se establecen en la fase de diseo mediante operaciones de arrastrar y soltar, podemos editar directamente cualquiera de estas propiedades tanto en la ventana Propiedades como a travs de una sentencia de asignacin en el cdigo del programa. Location: Es una estructura de tipo Point que contiene las coordenadas (X e Y) donde est colocado el control. Esta estructura dispone de mtodos que facilitan el movimiento del control. Bounds: Esta propiedad tambin es una estructura, pero en este caso de tipo Rectangle y tiene cuatro miembros: X, Y, Width y Height, por lo que representa una va de acceso las coordenadas y dimensiones del control. Al igual que la anterior cuenta con mtodos para manipular posicin y tamao. SetLocation y SetBounds: Mediante estos dos mtodos puede fijarse la posicin o la posicin y dimensiones en un solo paso, sin necesidad de realizar varias asignaciones a las propiedades antes citadas. Basta con entregar la lista de parmetros adecuada: coordenadas de la esquina superior izquierda a SetLocation y coordenadas y dimensiones a SetBounds.

24

Tecnologas de la Informacin y Comunicacin

Muchos de los controles de una interfaz basada en ventanas pueden tomar el foco de entrada, estado en el cual las pulsaciones de teclado van dirigida a ese control y no a los dems que hubiese en la ventana. El foco de entrada puede desplazarse de un control a otro, siendo el ms habitual el uso de la tecla Tab para ir avanzando segn un orden preestablecido. Tambin puede otorgarse de forma directa a un cierto control haciendo clic sobre l con el puntero del ratn.

25

Tecnologas de la Informacin y Comunicacin

UNIDAD III

IDENTIFICADORES Y TIPOS DE DATO


Variables o identificadores
Una variable puede verse simplemente como un hueco en el que se puede almacenar un objeto de un determinado tipo al que se le da un cierto nombre. Para poderla utilizar slo hay que definirla indicando cual ser su nombre y cul ser el tipo de datos que podr almacenar, lo que se hace siguiendo la sintaxis: Tipo_ de_ Dato nombre_de_variable; Al igual que en cualquier lenguaje de programacin, en C# un identificador no es ms que, como su propio nombre indica, un nombre con el que identificaremos algn elemento de nuestro cdigo, ya sea una clase, una variable, un mtodo, etc. Las reglas son las siguientes: 1. Es sensible a maysculas. 2. El primer carcter debe de empezar con letra o con el carcter subrayado _. 3. No debe de llevar espacios. 4. No debe de llevar caracteres especiales. 5. No usar palabras reservadas. Ejemplos:
A //valido a //valido la variable (a) es diferente a la variable (A) var1 //valido 1var //No valido inicia con nmero _1var // valido Var1 real //no valido contiene un espacio while //no valida es palabra reservada.

26

Tecnologas de la Informacin y Comunicacin 23+321 //no valida contiene un carcter especial (+).

Tipos de Datos
Los tipos de datos se puede decir que son como contenedores donde t colocas valores, si t deseas guardar caracteres (ABC!#), no lo puedes guardar en un contenedor de nmeros, tiene que ser en uno de caracteres. Pero si quieres guardar caracteres que son nmeros (45), si podrs guardarlo en un contendor de nmero pero antes tienes que hacer una conversin, esto lo veremos ms adelante. En seguida se muestra una tabla con los tipos de datos ms comunes:
Tipo de Dato string int float bool char double Bits Variable 32 32 1 16 64 Rango de Valores El permitido por la memoria [-2.147.483.648 , 2.147.483.647] [1,510-45 - 3,41038] true, false [\u0000, \uFFFF] [5,010-324 - 1,710308]

Ejemplos de declaracin de variables:


string cad; int num; float flotante; char carac; bool log;

Guardar datos en una variable:


cad="aqu se guarda una cadena"; num=53; //Guardar nmeros Enteros flotante =14.34; // Guardar nmeros con punto decimal carac='6'; // Guardar un Carcter log=true; // Guarda un verdadero

27

Tecnologas de la Informacin y Comunicacin

CLASE CONSOLE.
Esta es una de las clases principales en aplicaciones de Consola. Contiene 3 de los principales Mtodos: Console.Write( Mensaje); Console.WriteLine(Mensaje); Console.ReadLine();

Mtodo para Mostrar Dato en Pantalla


Console.Write(); //Muestra un mensaje en pantalla y no salta de lnea; Console.Write("Este es la primera parte"); Console.Write("Este es la segunda parte"); Salida: Este es la primera parte Este es la segunda parte Console.WriteLine(); //Muestra un mensaje en pantalla y salta de lnea; Console.WriteLine("Este es la primera parte"); Console.WriteLine("Este es la segunda parte"); Salida: Este es la primera parte Este es la segunda parte

Mostrar un mensaje y el valor de las variables


float dato; dato=12.34; Console.WriteLine("El dato Flotante es :"+dato); int ent; ent=44; Console.WriteLine("El dato Entero es :"+ent); Salida: El dato Flotante es: 12.34 El dato Entero es: 44 float dato; dato=12.34; int ent; ent=44;

28

Tecnologas de la Informacin y Comunicacin Console.WriteLine (El dato Flotante es :{0} Dato Entero es:{1} Dato de no variable:{2}", dato, ent,65/23); /* {0} = dato {1} = ent {2} = 65/23 */ Salida: El dato Flotante es: 12.34 Dato Entero es: 44 Dato de no variable: 2.82

Leer datos del Teclado


Para ello utilizaremos el mtodo ReadLine() de la clase Console, que espera a que el usuario teclee algo, y pulse la tecla ENTER. Console.ReadLine(); // Este mtodo devuelve una cadena Ejemplo: Si queremos leer el dato 45 introducido por teclado. Mandamos

llamar el mtodo ReadlLine () para leer el Dato. Console.ReadLine(); lado // este mtodo lee el 45 pero no se guarda en ningn

Ahora si queremos guardarlo el valor string (45) en una Variable


string variable; // Declaracin de variable variable = Console.ReadLine(); // Se ejecuta el mtodo ReadLine() y regresa el valor 45 que se guarda en una variable, como son del mismo tipo no es necesario convertilo a ningn tipo.

Ahora queremos guardarlo el valor 45 en una Variable (Entera). Como son diferentes tipos se tiene que hacer los siguientes pasos:
// num fue previamente declarado como un atributo entero string variable; // Declaracin de variable variable = Console.ReadLine(); // Variable contiene el 45 num = Convert.ToInt32(variable); // Convierte variable (string) en num (int)

Otra forma de hacer esto sera la siguiente:


// num fue previamente declarado como un atributo entero num = Convert.ToInt32(Console.ReadLine()); // Convierte variable (string) en num (int)

29

Tecnologas de la Informacin y Comunicacin

CLASE CONVERT
Esta clase sirve para convertir un tipo de dato a otro tipo de dato, todos estos mtodos regresan el valor de tipo que se indique en el mtodo. Por ejemplo una cadena a un entero en seguida se muestra algunos de los principales mtodos: Convert.ToInt32(variable) // Convierte a Entero de 32 bits Convert.ToChar(variable) // Convierte a Char Convert.ToSingle(variable) // Convierte a float Convert.ToDouble(variable) // Convierte a Double (flotante de 64 bits) Convert.ToBool(variable) // Convierte a Boleano Convert.ToString(variable) // Convierte a Cadena Ejemplo: string st; int entero; st="45"; entero=Convert.ToInt32(st); //tambin puede ser de la siguiente forma entero=Convert.ToInt32("45");

EXPRESIONES
Se conocen como expresiones los valores que son manipulados dentro de un programa. Estos valores pueden surgir como resultado de efectuar operaciones, como valores de retorno de las funciones, al extraerlos de las variables, o simplemente pueden ser constantes expresadas directamente dentro del cdigo del programa. Las expresiones, al igual que el resto de las entidades dentro de un programa, tienen asociado un tipo de datos. Este tipo indicar la forma en que podremos manipular la expresin, por ejemplo, en cules variables podremos almacenar su valor.

30

Tecnologas de la Informacin y Comunicacin

Existe un conjunto de operadores para cada tipo de datos, de manera que siempre es posible construir una nueva expresin a partir de una o varias ya existentes. Tenemos, por ejemplo, operadores aritmticos para construir expresiones numricas, y operadores lgicos para construir expresiones booleanas.

Expresiones Aritmticas
Las expresiones aritmticas son valores numricos, de tipos enteros o reales. Pueden ser constantes, resultados de operaciones aritmticas como sumas o multiplicaciones, contenidos de variables numricas, o combinaciones de las anteriores unidas mediante operadores aritmticos. Operadores binarios:
+ * / % Suma Resta Multiplicacin Divisin Mdulo (slo sobre tipos de nmeros enteros)

Operadores unitarios:
- Signo negativo ++ Incremento -- Decremento

Precedencia:
++ -- -(unitario) */% +-

Ejemplos de expresiones aritmticas:


2 + 3 * 2 * tiene precedencia sobre + (Resultado: 8) (2 + 3) * 2 los parntesis alteran la precedencia (Resultado: 10) -2 / x si x vale cero se producir un error de ejecucin x++ notacin postfija (retorna el valor antes del incremento) ++x notacin prefija (retorna el valor despus del incremento) 2 - 1 + 3 asociacin por la izquierda: 4

31

Tecnologas de la Informacin y Comunicacin 15 % 6 operador mdulo o residuo (Resultado: 3) -x le cambia el signo al contenido de x 3 * 4 % 5 igual precedencia, pero asociativa a izq. (Retorna: 2) 3 * (4 % 5) los parntesis alteran la precedencia (Retorna: 12) 1 + 15 % 6 % tiene precedencia mayor (Retorna: 4)

Expresiones Relacionales, Lgicas o Booleanas


Este tipo de valores se emplea para dirigir al programa por un determinado flujo de ejecucin dependiendo de la evaluacin a verdadero o falso de una expresin lgica. En C# se conoce el tipo booleano como bool. Operadores binarios:
&& AND (hace la conjuncin lgica de dos valores bool). || OR (hace la disyuncin lgica de dos valores bool).

Operadores unitarios:
! NOT lgico

Operadores relacionales o de comparacin: Este tipo de operadores permite comparar el valor de dos expresiones de cualquier tipo, devolviendo como resultado un valor booleano (entero).
== != < <= > >= igual distinto menor menor o igual mayor mayor o igual

Precedencia: La precedencia est establecida por el siguiente orden de evaluacin. La asociacin se aplica de izquierda a derecha, para operadores con igual precedencia.

32

Tecnologas de la Informacin y Comunicacin < <= >= > == != && ||

Ejemplos de expresiones booleanas:


x Verdadero cuando el contenido de la variable x es true. !x Verdadero cuando el contenido de la variable x es false. true Verdadero siempre. true || x Verdadero siempre, no importa lo que sea x. false Falso siempre. false && x Falso siempre, no importa lo que sea x. (x > 5) && !y Verdadero cuando el contenido de la variable x es mayor que 5, y el contenido de y es false. (x==1) Verdadero si el valor de la variable x es 1. 5 == 6 retorna Falso. 4>= 2 Retorna Verdadero. ((4 % 2 == 0) || (4 % 3 == 0)) && false

Operador de Asignacin El operador de asignacin ( = ) permite almacenar datos en las variables. Es un operador binario, que requiere que su primer operando (el del lado izquierdo) sea una variable. El segundo operando (el del lado derecho) puede ser otra variable, un valor constante, o una expresin en general. La sintaxis operador es la siguiente:
<variable> = <expresion> ;

general de este

En caso de que el valor asignado sea una constante, el resultado de esta operacin es que el valor expresado se almacenar en la variable especificada al lado izquierdo.

33

Tecnologas de la Informacin y Comunicacin

SENTENCIAS DE CONTROL
Sentencia if
El if evala una expresin booleana (condicin) y regresa un valor (verdadero o falso), Si es verdadero ejecuta las sentencias1, si no ejecuta las sentecias2. Sintaxis:
if(<condicin>) { <Sentencias1>; } else { <Sentencias2>; }

Ejemplo:
int a=10, b=5; if(a>b) { Console.WriteLine(a+" es Mayor a "+b); } else { Console.WriteLine(a+" es Menor a "+b); }

Salida:

10 es Mayor a 5

Ejemplo con operadores: string usu=usuario, clave=clave; if(usu.equal(usu) && clave.equal(clave)) { Console.WriteLine(" la clave es correcta "); } else { Console.WriteLine(" La clave es incorrecta "); }

Salida:

10 es Mayor a 5

34

Tecnologas de la Informacin y Comunicacin

Opcin Mltiple o Expresiones Multivaluadas: switch


Nos permite decidir entre diferentes opciones (bloques de sentencias) a ejecutar segn el valor de una expresin. Sintaxis: switch ( <expresin> ) { case <valor 1>: <Sentencias>; break; case <valor 2>: <Sentencias>; break; . . . case <valor n>: <Sentencias>; break; default: <Sentencias>; break; } // El break se utiliza para terminar con el switch Ejemplo:
int a; a = 3; switch (a) { case 1: Console.WriteLine("Opcin 1"); break; case 2: Console.WriteLine("Opcin 2"); break; case 3: Console.WriteLine("Opcin 3"); break; default: Console.WriteLine("No seleccionaste ninguna"); break; }

Salida: Opcin 3

Sentencia While
La instruccin while permite ejecutar un bloque de sentencias mientras sea verdadera la condicin. Su sintaxis de uso es:

35

Tecnologas de la Informacin y Comunicacin while (<condicin>) { <sentencias> }

Su significado es el siguiente: Se evala la <condicin> indicada, que ha de producir un valor lgico. Si es cierta (valor lgico true) se ejecutan las <sentencias> y se repite el proceso de evaluacin de <condicin> y ejecucin de <sentencias> hasta que deje de serlo. Cuando sea falsa (false) se pasar a ejecutar la instruccin siguiente al while. En realidad <sentencias> puede ser una nica instruccin o un bloque de sentencias.
int c = 0; while (c < 10) { Console.Write(c + " "); c++; // incrementa c de 1 en 1; } Salida: 0 1 2 3 4 5 6 7 8 9

Sentencia Instruccin do...while


La instruccin do...while es una variante del while, con la nica diferencia de que Do..while
por lo menos se ejecuta una sola vez.

Sintaxis:
do { <sentencias> } while(<condicin>);

La nica diferencia del significado de do...while respecto al de while es que en vez de evaluar primero la condicin y ejecutar <sentencias> slo si es cierta, do...while primero ejecuta las <sentencias> y luego mira la <condicin> para ver si se ha de repetir la ejecucin de las mismas. Ejemplo: 36

Tecnologas de la Informacin y Comunicacin int i = 0; do { Console.Write(i + " "); i++; } while (i < 5); Salida: 0 1 2 3 4

Sentencia for
La sentencia for es una variante de while que permite reducir el cdigo necesario para escribir los tipos de bucles ms comnmente usados en programacin. Se utiliza cuando se conoce el nmero de interacciones o cuando se requiere un contador. Sintaxis:
for (<inicializacin>; <condicin>; <modificacin>) { <sentencias>; }

El significado de esta instruccin es el siguiente: se ejecutan las sentencias de


<inicializacin>,

que suelen usarse para definir e inicializar variables que luego se

usarn en <sentencias>. Luego se evala <condicin>, y si es falsa se contina ejecutando por la instruccin siguiente al for; mientras que si es cierta se ejecutan las <sentencias> indicadas, luego se ejecutan las sentencias de <modificacin> -que como su nombre indica suelen usarse para modificar los valores de variables que se usen en <sentencias>- y luego se reevala <condicin> repitindose el proceso hasta que sta ltima deje de ser cierta. Ejemplo:
int c; for (c = 0; c < 10; c++) { Console.Write(c + " "); } Salida: 0 1 2 3 4 5 6 7 8 9

37

Tecnologas de la Informacin y Comunicacin

CREACIN DE CLASES
Namespace
Concepto de espacio de nombres del mismo modo que los ficheros se organizan en directorios, los tipos de datos se organizan en espacio de nombres. Por otro lado, los espacios de nombres tambin permiten poder usar en un mismo programa varias clases con igual nombre si pertenecen a espacios diferentes. La idea es que cada fabricante defina sus tipos dentro de un espacio de nombres propio para que as no haya conflictos si varios fabricantes definen clases con el mismo nombre y se quieren usar a la vez en un mismo programa.
namespace <nombreEspacio> { <tipos o clases> }

CLASES
Una clase es la definicin de las caractersticas concretas de un determinado tipo de objetos. Es decir, de cules son los datos y los mtodos de los que van a disponer todos los objetos de ese tipo. Por esta razn, se suele decir que el tipo de dato de un objeto es la clase que define las caractersticas del mismo.
class <nombreClase> { <atributos o campos> <mtodos> }

Campos
Un campo es un dato comn a todos los objetos de una determinada clase. Para definir cules son los campos de los que una clase dispone se usa la siguiente sintaxis dentro de la zona sealada como <atributos> en la definicin de la misma:

38

Tecnologas de la Informacin y Comunicacin


<encapsulamiento> <tipoDato> <nombreCampo>;

El nombre que demos al campo puede ser cualquier identificador que queramos siempre y cuando siga las reglas para la escritura de identificadores y no coincida con el nombre de ningn otro miembro previamente definido en la definicin de clase. El <encapsulamiento> es el tipo de ocultamiento de los datos los principales son: public, prvate y
protected.

Los campos de un objeto son a su vez objetos, y en <tipoDato> hemos de

indicar cul es el tipo de dato del objeto que vamos a crear. Ejemplo:
class datospersonales { // atributos o campos public string nombre; private int edad; protected char caracter; // mtodos }

Para acceder a un campo de un determinado objeto se usa la sintaxis: <objeto>.<campo>


Ejemplo para un objeto llamado obj: obj.nombre=Un Nombre;

Mtodos
Un mtodo es un conjunto de sentencias a las que se les asocia un nombre de modo que si se desea ejecutarlas basta referenciarlas a travs de dicho nombre en vez de tener que escribirlas. Dentro de estas sentencias es posible acceder

con total libertad a la informacin almacenada en los campos pertenecientes a la clase dentro de la que el mtodo se ha definido, por lo que como al principio del

39

Tecnologas de la Informacin y Comunicacin

tema se indic, los mtodos permiten manipular los datos almacenados en los objetos. La sintaxis que se usa en C# para definir los mtodos es la siguiente:
<encapsulamiento> <tipoDatoDevuelto> <nombreMtodo> (<parametros>) { <sentencias> }

El <encapsulamiento> es el tipo de ocultamiento de los datos los principales son: public, prvate y protected. Todo mtodo puede devolver un objeto como resultado de la ejecucin de las sentencias que lo forman, y el tipo de dato al que pertenece este objeto es lo que se indica en <tipoDatoDevuelto>. Si no devuelve nada se indica void, y si devuelve algo es obligatorio finalizar la ejecucin de sus sentencias con alguna instruccin return <objeto>; que indique qu objeto ha de devolverse. En <parametros> se indica es cules son los tipos de dato de estos objetos y cul es el nombre con el que harn referencia las instrucciones del mtodo a cada uno de ellos. Aunque los objetos que puede recibir el mtodo pueden ser diferentes cada vez que se solicite su ejecucin, siempre han de ser de los mismos tipos y han de seguir el orden establecido en <parametros>. Ejemplos:
<encapsulamiento> public <tipoDatoDevuelto> void <nombreMtodo> (<parametros>) mostraramigos (string nombreamigo)

class datospersonales { //atributos o campos public string nombre; private int edad; protected char caracter; // metodos public void Cumpleaos() { Edad++;

// Incrementa en uno de la edad del clase

40

Tecnologas de la Informacin y Comunicacin } public string regresarnombre() // MEtodo que regresa un dato { return nombre; } // mtodo con parmetros de entrada public void mostraramigos(string nombreamigo, int edadamigo) { Console.WriteLine(nombreamigo + " de " + edadamigo + " aos es amigo de " + nombre); } }

La sintaxis usada para llamar a los mtodos de un objeto es la misma que la usada para llamar a sus campos, slo que ahora tras el nombre del mtodo al que se desea llamar hay que indicar entre parntesis cules son los valores que se desea dar a los parmetros del mtodo al hacer la llamada. O sea, se escribe:
<nombreobjeto>.<nombremtodo>(<parmetros>);

Como es lgico, si el mtodo no tomase parmetros se dejaran vacos los parmetros en la llamada al mismo. Por ejemplo, para llamar al mtodo Cumpleaos() de un objeto Persona llamado p se hara:
p.Cumpleaos(); // mtodo que no regresa nada // este mtodo regresa una cadena que se puede guardar en cualquier variable de tipo cadena string str; str = p.regresanombre(); // este metodo regresa una cadena y la guarda en str // Este mtodo tiene parmetros de entrada p.mostraramigo(Joel,20); Salida: Joel de 20 aos es amigo de Luis

41

Tecnologas de la Informacin y Comunicacin

OBJETO
Ahora que ya sabemos cmo definir las clases de objetos que podremos usar en nuestras aplicaciones ha llegado el momento de explicar cmo crear objetos de una determinada clase y la sintaxis es:
<nombreClase> <nombreobjeto>= new <nombreClase>(<parametros>);

Este operador crea un nuevo objeto del tipo cuyo nombre se le indica y llama durante su proceso de creacin al constructor del mismo apropiado segn los valores que se le pasen en <parametros>, devolviendo una referencia al objeto recin creado. Hay que resaltar el hecho de que new no devuelve el propio objeto creado, sino una referencia a la direccin de memoria dinmica donde en realidad se ha creado. El constructor de un objeto no es ms que un mtodo definido en la definicin de su tipo que tiene el mismo nombre que la clase a la que pertenece el objeto y no tiene valor de retorno. Como new siempre devuelve una referencia a la direccin de memoria donde se cree el objeto y los constructores slo pueden usarse como operandos de new, no tiene sentido que un constructor devuelva objetos, por lo que no tiene sentido incluir en su definicin un campo <tipoDevuelto> y el compilador considera errneo hacerlo (aunque se indique void) Ejemplo utilizando la clase anterior:
datospersonales dat = new datospersonales(); // Crear un objeto de la clase datos

Una clase puede contener n constructores, esto depende de las necesidades que tenga nuestra aplicacin. Las clases toman como default un constructor vacio, es decir tu puedes colocar o no el constructor, pero si tu agregas un constructor con parmetros ya no podrs usar el constructor vacio al menos que lo agregues. Un constructor no regresa ningn dato, por tal motivo no se coloca ningn TipoDatoDevuelto como en los mtodos, pero si puede tener parmetros de entrada. 42

Tecnologas de la Informacin y Comunicacin

Sintaxis:
class <nombreclase> { //atributos o campos public nombreclase () // Constructor Vacio { } public nombreclase (string d1, int d2, objeto d3 ) { } // mtodos } Creamos un objeto que se llama ob: Datospersonales ob=new Datospersonales(); Datospersonales ob=new Datospersonales(Nombre,23);

// Constructor con parametros

MTODO MAIN
Main es el mtodo principal, es el primer mtodo que busca la aplicacin para ejecutar solo puede existir uno en un proyecto. Se puede crear una clase que solo contenga este mtodo, o puede estar dentro de una clase que contenga atributos y otros mtodos, adems del mtodo Main. Nota: Nunca Borrar este mtodo. La sintaxis es la siguiente:
static void Main(string[] args) { Sentencias; }

43

Tecnologas de la Informacin y Comunicacin

COMENTARIOS
Para escribir comentarios en una aplicacin existen dos formas un es para colocar comentarios en una lnea y la otra forma es colocar comentarios en bloques. Para colocar comentarios en una sola lnea se utiliza // esto puede ir al inicio de una lnea sin cdigo o puede ir al final de una sentencia. Ejemplo: // Este es un comentario sin cdigo
public nombreclase () // Constructor Vacio

La otra forma es en bloques inicia con /* y termina con */ todo lo que coloquemos en estos smbolos sern comentarios, es decir aunque tenga cdigo si esta dentro de estos smbolos sern comentarios. /* Este es un bloque de comentario sin cdigo Esta es otra lnea con comentarios */

/* Es es un ejemplo de codigo como comentario la apliacin no toma en cuenta este cdigo. public void Cumpleaos() // Incrementa en uno de la edad del clase { Edad++; } public string regresarnombre() // MEtodo que regresa un dato { return nombre; } */

Vamos a crear un ejemplo aplicando todo lo que se vio en este documento: 1.- Creamos un proyecto de tipo Consola. Damos clic en el men Archivo-NuevoProyecto, seleccionamos aplicacin de consola y le damos un nombre al proyecto y seleccionamos la ubicacin del proyecto dndole clic en el botn Examinar.

44

Tecnologas de la Informacin y Comunicacin

Tenemos la clase Program, esta clase que contiene el mtodo principal Main, aqu es donde inicia nuestra aplicacin.

2.- Para crear otro archivo con otra clase nos vamos al siguiente men ProyectoAgregar Clase y le damos un nombre a nuestra clase

45

Tecnologas de la Informacin y Comunicacin

Y aparece un archivo que contiene la nueva clase.

3.- Escribimos el cdigo en nuestra clase datos


using System; using System.Collections.Generic; using System.Text; namespace datospersonales { class datos { //atributos o campos public string nombre; private int edad;

46

Tecnologas de la Informacin y Comunicacin

// Constructores public datos() { edad = 1; } public datos(string nom,int ed) { nombre = nom; edad = ed; }

// metodos // datos para leer datos public void leerdatos() clase {

// Incrementa en uno de la edad del

Console.Write("Dame tu nombre:"); nombre = Console.ReadLine(); Console.Write("Dame tu Edad:"); edad= Convert.ToInt32( Console.ReadLine() ); } public void Cumpleaos() clase { edad++; Console.WriteLine(nombre + " cumplio aos ahora tiene " + edad + " aos"); } public string regresarnombre() { return nombre; } // Metodo que regresa un dato // Incrementa en uno de la edad del

// mtodo con parmetros de entrada public void mostraramigos(string nombreamigo, int edadamigo) { Console.WriteLine(nombreamigo + " de " + edadamigo + " aos es amigo de " + nombre); } } }

4.- Agregar el siguiente Cdigo en la clase Program


using System; using System.Collections.Generic; using System.Text; namespace datospersonales { class Program

47

Tecnologas de la Informacin y Comunicacin


{ static void Main(string[] args) { datos dat = new datos(); // Crear un objeto de la clase datos dat.leerdatos(); // Mandar llamar el metodo leerdatos() // Mandamos llamar el metodo regresarnombre y dos devuelve un dat tipo cadena Console.WriteLine("El metodo Regresarnombre Regreso: " + dat.regresarnombre()); dat.Cumpleaos(); // Mandamos llamar el metodo Cumpleaos /* Mandamos llamar el metodo mostraramigos el cual pide dos * parametros de entrada una cadena y un entero * */ dat.mostraramigos("Jesus", 16); Console.WriteLine(); Console.WriteLine(); Console.WriteLine(); datos alin = new datos("alin", 19); Console.WriteLine("El metodo Regresarnombre Regreso: " + alin.regresarnombre()); alin.Cumpleaos(); // Mandamos llamar el metodo Cumpleaos alin.mostraramigos("Jesus", 16); Console.WriteLine(); Console.WriteLine(); Console.WriteLine(); datos uriel = new datos("Uriel", 19); uriel.Cumpleaos(); // Mandamos llamar el metodo Cumpleaos uriel.mostraramigos("Jesus", 16); Console.ReadLine(); } } }

Salida de la aplicacin:

48

Tecnologas de la Informacin y Comunicacin

EJERCICIOS

1.- Crear un programa con una clase que multiplique 2 nmeros y muestre el resultado. 2.- Crear un programa con una clase que me haga una operacin de suma, multiplicacin, divisin o resta de 2 nmeros y muestre el resultado. 3.- Hacer un programa con una clase que pida datos y muestre de un empleado como son nombre, RFC y sueldo y muestre los datos. 4.- Hacer un programa con una clase que pida datos de un empleado como son nombre, RFC, sueldo y tipo empleado. Adems calcule el sueldo total, si es

gerente tiene un compensacin de 50% mas del sueldo normal, si es supervisor tiene una compensacin del 20% y si es obrero tiene el 10% mas del sueldo normal. Muestre todos los datos del empleado y su sueldo normal y su sueldo con la compensacin. 5.- Hacer un programa que convierta de nmeros decimales a binarios. Que muestre cada digito que va obteniendo.

49

Tecnologas de la Informacin y Comunicacin

UNIDAD IV

ARREGLO TIPO LISTA (UNIDIMESIONALES)


Un arreglo contiene variables a las cuales se accede a travs de ndices, todas las variables contenidas en el arreglo son referidos como elementos los cuales deben ser del mismo tipo, por lo que el tipo del arreglo. Un arreglo tipo lista se define como una variable que permite almacenar un conjunto de datos del mismo tipo organizados en una sola columna y uno o mas renglones. Tambin reciben el nombre de vectores en lgebra o arreglos unidimensionales en programacin. Los procesos normales con una lista o con sus elementos, incluyen declarar toda la lista, capturar sus elementos, desplegarlos, realizar operaciones con ellos, desplegarlos, etc. Un vector es una porcin de memoria que es utilizada para almacenar un grupo de elementos del mismo tipo y se diferencian en el ndice. Los vectores empiezan desde la localidad 0, la primera localidad es 0 y la ultima es el tamao menos 1. Pero qu quiere decir esto y para qu lo queremos? Pues bien, supongamos que somos un meteorlogo y queremos guardar en el ordenador la temperatura que ha hecho cada hora del da. Para darle cierta utilidad al final calcularemos la media de las temperaturas. Con lo que sabemos hasta ahora sera algo as (que nadie se moleste ni en probarlo): class { int temp1,temp2,temp3,temp4,temp5,temp6,temp7,temp8 ,temp9; int temp10,temp11,temp12,temp13,temp14,temp15, temp16; int temp17,temp18,temp19,temp20,temp21,temp22,temp23; 50

Tecnologas de la Informacin y Comunicacin

int promedio; public void leer() { Console.Write("Dame una temperatura:"); temp1=Convert.ToInt32(Console.ReadLine()); Console.Write("Dame una temperatura:"); temp2=Convert.ToInt32(Console.ReadLine()); Console.Write("Dame una temperatura:"); temp3=Convert.ToInt32(Console.ReadLine()); Console.Write("Dame una temperatura:"); temp23=Convert.ToInt32(Console.ReadLine()); } public void promedio() { promedio=(temp1+temp2++temp23)/23; } }

Declaracin de Vectores
Sintaxis de un vector: Tipo_ de_dato[ ] nombre_del_vector=new Tipo_ de_dato[ dimension]; Tipo_ de dato: Es el tipo de datos que contendr la matriz. Hasta ahora slo conocemos los tipos bsicos de datos; int, float, double, char, clase, etc. Posteriormente veremos cmo definir nuestros propios tipos de datos. nombre_del_vector: Es el nombre que le damos a la variable tipo vector y por el cual la referenciaremos en nuestro programa. [dimension]: Indica el nmero de elementos de tipo tipo_de_datos contendr la matriz identificador. Por ejemplo declarar un vector tipo cadena:
string[] nombre = new string [ 20 ];

Tipo_ de_dato[ ] nombre_del_vector=new Tipo_ de_dato[ dimension];

51

Tecnologas de la Informacin y Comunicacin

Crear Arreglo de Objetos


El valor inicial de cada elemento (objeto) de un arreglo es null, un arreglo de objetos es creado utilizando new. Para declarar un objeto de declara de la siguiente manera
miclase[] vectorarreglo = new miclase[20];

Una vez que se declara el vector de objetos necesitas inicializar cada objeto del arreglo. Cuando utilizas solamente el nombre del vector los atributos,metodos y eventos son de un arreglo. Para mandar llamar un objeto de un arreglo necesitas utilizar un indice el cual nos indica la localidad donde esta almacenado el objeto. Ejemplo: vectorarreglo[indice] = new miclase(); vectorarreglo[indice].mimetodo();

Foreach
La Sentencia foreach es un comando que lee cada elemento de un coleccin (arreglo).
foreach(Tipo indentificador in coleccin){ }

La variable de iteracin es declarada por el Tipo, indentificador y expresin correspondiente a la coleccin. Tipo: puede ser un int, string, clase, etc. Identificador: es un nombre para el objeto creado. Coleccin: es el arreglo del cual se va a leer cada elemento. La variable de iteracin representa el elemento de la coleccin para cada iteracin.

52

Tecnologas de la Informacin y Comunicacin

Clase Array
La clase Array proporciona muchos mtodos y propiedades para manipular arrays. Se puede utilizar las propiedades y otros miembros que tiene esta clase para manupular los arrays. Por ejemplo, para poder obtener la longitud de un array se usa la propiedad Length. Ejemplo:

miarreglo.Length
Existe un metodo llamdo Resize que se utiliza para cambiar el tamao del arreglo en caso de que sea necesario.

Array.Resize(ref miarreglo, tamao);


El ref significa que va entra el arreglo y se va a regresar modificado. Como se recuerda anteriormente cuando entra una variable a un metodo aunque se cambiara dentro del metodo el valor con el que entraba seguia siendo el inicial. Pero cuando utilizas ref entra la entidad y si es modificada se regresa modificada. En seguida se muestran algunos aplicaciones de ejemplos: Esta aplicacin leer 10 numeros y muestra 10:
class arreglo { // declarar una arreglo de string string[] a = new string[10]; public void leerdatos() { // guardamos un elemento en cada localidad de arreglo for (int i = 0; i < 10; i++) { Console.Write("Dame un Valor:"); a[i]=Console.ReadLine(); } } public void imprimir() {// hacemos un recorrido al arreglo para mostrar los datos for (int i = 0; i < 10; i++)

53

Tecnologas de la Informacin y Comunicacin Console.WriteLine("a{0}={1}", i, a[i]); } } class Program { static void Main(string[] args) { arreglo ej = new arreglo(); ej.leerdatos(); ej.imprimir(); Console.ReadKey(); } } Crear un arreglo de objetos donde guardes las calificaciones y los datos de n alumnos: class alumnos { string nombre; string grupo; int[] califiaciones=new int[5]; public void leerdatos() { Console.Write("Dame el nombre: "); nombre = Console.ReadLine(); Console.Write("Dame el grupo y seccion: "); grupo= Console.ReadLine(); for (int j = 0; j < califiaciones.Length; j++) { Console.Write("Dame el califiacion: "); califiaciones[j] = Convert.ToInt16(Console.ReadLine()); } } public void mostrar() { Console.WriteLine("{0} del grupo {1} ", nombre, grupo); // se muestran las calificacion con el foreach foreach (int cal in califiaciones) { Console.WriteLine(cal); } } } class Program { static void Main(string[] args) { // Arreglo de alumnos alumnos[] nombre = new alumnos[0]; int n; Console.Write("Dame el numero de alumnos:");

54

Tecnologas de la Informacin y Comunicacin // Guarda el numero de alumnos n = Convert.ToInt16( Console.ReadLine()); // Cambia el Tamao del arreglo Array.Resize(ref nombre, n); // Utiliza un for para pedir el numero de objetos for (int i = 0; i < nombre.Length; i++) { // Inicializar el objeto nombre[i] = new datospersonales(); // Manda llamar el metodo leerdatos() nombre[i].leerdatos(); } Console.WriteLine(); Console.Write("Dame el numero del alumno"); // pide un numero para mostrar los datos de un localidad en especifico int na = Convert.ToInt16(Console.ReadLine()); // Muestra los datos del objeto n-1 nombre[na-1].mostrar(); Console.WriteLine(); Console.WriteLine(); // Arreglo de alumnos alumnos[] miarreglo = new alumnos[0]; Array.Resize(ref miarreglo, tamao); // hace un recorrido de arreglo nombre y se guarda cada elemento en val foreach (alumnos val in nombre) { val.mostrar(); } Console.ReadKey(); } }

EJERCICIOS
1.Hacer un programa con una clase que pida nombre, RFC y sueldo de 10

empleados y muestre los datos de cada empleado. 2.Hacer un programa con una clase que pida datos de un 10 empleado como

son nombre, RFC, sueldo y tipo empleado. Adems calcule el sueldo total, si es gerente tiene un compensacin de 50% ms del sueldo normal, si es supervisor tiene una compensacin del 20% y si es obrero tiene el 10% ms del sueldo normal. Muestre todos los datos de todos empleados y su sueldo normal y su sueldo con la compensacin.

55

Tecnologas de la Informacin y Comunicacin

3.- Hacer un programa que pida n producto con los siguientes datos clave, producto y precio. Tenga la opcin agregar, modificar o mostrar los datos del producto.

56

Tecnologas de la Informacin y Comunicacin

EXCEPCIONES
Las excepciones son condiciones de errores que surgen con el flujo normal de cdigo. Las excepciones son mas los errores que posiblemente puedan suceder que cuando introduce el cdigo no suceden, si no que suceden cuando tu ejecutas el programa, ejemplo si tu pides un numero y el usuario introduce letras a la hora que quieres utilizar ese numero, no lo puedes hacer porque si tratas de convertirlo a numero va a marcar un error de formato. Para resolver estos problemas que nuestro programa termine por un error utilizamos el try y catch que sirve para capturar esas excepciones para evitar que se detenga el programa. El catch puede o no llevar un parmetro el cual contiene los datos del error que se cometi. El try empaquetas el cdigo que se ejecuta en caso de que exista algn error el catch captura el error y t podrs ejecutar otro cdigo para resolver ese error. Para mostrar los datos del error cometido utilizamos la propiedad Message del objeto Exception. Para asegurar de que un bloque de se ejecute se utiliza el finally. Es independientemente de que se lance una excepcin o no, el finally es opcional. Sintaxis:
try { //Sentencias } catch { // Sentencias }

Sintaxis para capturar los datos del error.


try { //Sentencias } catch (Exception ex) { // Sentencias } finally { // Sentencias }

57

Tecnologas de la Informacin y Comunicacin Ejemplo: try { int num; // Declaracin de variable string variable; // Declaracin de variable variable = Console.ReadLine(); // Variable contiene el 45 num = Convert.ToInt32(variable); // Convierte variable (string) en num (int) Console.WriteLine("El dato Entero es :"+num); } catch { Console.WriteLine("El valor introducido no es valido"); }

58

Tecnologas de la Informacin y Comunicacin

BIBLIOGRAFA
Jeff Ferguson, Patterson B., Beere J., Boutquin P., Gupta M (2003) , La biblia de C#, Editoral ANAYA ,ISBN: 84-415-1484-4. Sandoval Rodrigo (2004), Introduccin a la Programacin Orientada a Objeto en C#. Sharp John (2008). Microsoft Visual C# 2008. Editorial Waypoint Press. Marteens Ian (2008). INTITUVE C# Introduccin a la Plataforma .NET.

59

Tecnologas de la Informacin y Comunicacin

60

Vous aimerez peut-être aussi