You are on page 1of 34

Introduccin

La programacin es un proceso por el cual se escribe, se prueba, se depura y se mantiene el cdigo fuente de un programa informtico. El cdigo fuente es un conjunto de lneas de texto que son las instrucciones que debe seguir la computadora para ejecutar dicho programa escrito por un programador en algn lenguaje de programacin para posteriormente ser traducido a otro lenguaje (el lenguaje mquina o cdigo objeto) que s pueda ser ejecutado por el hardware de la computadora. Para esta traduccin se usan los llamados compiladores, intrpretes y otros sistemas de traduccin. Un lenguaje de programacin es un conjunto de smbolos y reglas sintcticas y semnticas que definen su estructura y el significado de sus elementos y expresiones con la finalidad de controlar el comportamiento fsico y lgico de una mquina. Todo esto, a travs de un lenguaje que intenta estar relativamente prximo al lenguaje humano o natural. Una caracterstica relevante de los lenguajes de programacin es precisamente que se puedan tener un conjunto comn de instrucciones que puedan ser comprendidas entre ellos para realizar la construccin del programa de forma colaborativa. Un Algoritmo es una secuencia no ambigua, finita y ordenada de instrucciones que han de seguirse para resolver un problema. Ntese que es la secuencia de instrucciones en s (la ejecucin) la que debe ser finita, no el nmero de pasos realizados.

C#
C# (ledo en ingls C Sharp y en espaol C Almohadilla) es el nuevo lenguaje de propsito general diseado por Microsoft para su plataforma. 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.

En resumen, C# es un lenguaje de programacin que toma las mejores caractersticas de lenguajes preexistentes como Visual Basic, Java o C++ y las combina en uno solo. El hecho de ser relativamente reciente no implica que sea inmaduro. Lo que necesita un usuario de C# para desarrollar un programa es: 1. Editar el programa. 2. Compilarlo. 3. Ejecutarlo. 4. Depurarlo.

Como crear un programa en C#


Existen dos principales formas de empezar a crear un programa en C# la bsica y la avanzada. Nos referimos como bsica a la desarrollada bajo la Aplicacin a Consola y la avanzada, bajo Aplicacin para Windows.

Creacin de la Aplicacin de Consola 1. Activar la ruta: Inicio/Todos los programas/Microsoft Visual Studio 2005. 2. En la Pgina de inicio en la seccin de Proyectos Recientes en el apartado Crear(Create) activar el vinculo Proyecto(Proyect). 3. Del cuadro de dilogo Nuevo Proyecto en la seccin Tipos de Proyecto seleccionar Visual C#. 4. De la seccin Plantillas activar la opcin Aplicacin de Consola (Console Aplication). 5. En la seccin inferior del cuadro de dilogo nombre (Name) escribir el nombre que tendr dicho proyecto a crear. 6. En la seccin Ubicacin (Location) activar el botn Examinar (Browse) y navegar al lugar donde se almacenar el proyecto y activar el botn Abrir. 7. Activar el Botn Aceptar (OK).

Partes de la interfaz de C#

Partes del Programa en C#


Al momento de citar esto estamos hablando del cdigo inicial que se presenta despus de la creacin del programa bajo consola, el cual est integrado por el siguiente cdigo:
using System; using System.Collections.Generic; using System.Text;

Llamadas a Libreras

namespace Ejercicio1 { class Program { Mtodo el cual static void Main(string[] args) informa al { compilador por } } donde debe iniciar y tambin } terminar un programa.

Clase del programa creada por defecto

Nombre del Espacio de Trabajo que permite organizar el cdigo

Mtodo Console.Write y Console.WriteLine


Console representa las secuencias de entrada y salida estndar para las aplicaciones de consola. Secuencia de Salida Console.Write Escribe la representacin de texto del valor o valores especificados en la secuencia de salida
estndar.

Sintasis Console.Write(valor/mensaje); Console.WriteLine Escribe los datos especificados, seguidos del terminador de lnea actual, en la secuencia de salida estndar. Sintasis Console.WriteLine(valor/mensaje); Ejemplo 1. Uso de Console. Write
using System; using System.Collections.Generic; using System.Text; namespace Ejercicio1 { class Program { static void Main(string[] args) { Console.Write("C#, pronunciado C Sharp, es actualmente uno de los lenguajes de progracin ms populares. Pero, adems, est disponible para el desarrollo de programas de proposito general. En los ultimos tiempos C y C++ han sido los lenguajes ms utilizados en el desarrollo de aplicaciones en general. El objetivo de c# es permitir a todos los desarrolladores en general, y a los de C y C++ en particular, abordar el desarrollo de aplicaciones complejas con facilidad y rpidez pero sin sacrificar la potencia y el control que ofrecen Cy C++."); } } }

Ejemplo 2. Uso de Console. WriteLine


using System; using System.Collections.Generic; using System.Text; namespace Ejercicio1 { class Program { static void Main(string[] args) { Console.WriteLine("C#, pronunciado C Sharp, es actualmente uno de los lenguajes de progracin ms populares. Pero, adems, est disponible para el desarrollo de programas de proposito general."); Console.WriteLine("En los ultimos tiempos C y C++ han sido los lenguajes ms utilizados en el desarrollo de aplicaciones en general. El objetivo de c# es permitir a todos los desarrolladores en general, y a los de C y C++ en particular, abordar el desarrollo de aplicaciones complejas con facilidad y rpidez pero sin sacrificar la potencia y el control que ofrecen Cy C++."); } } }

Secuencia de Entrada Console.Read Lee el siguiente carcter de la secuencia de entrada estndar. Sintasis Console.Read (); Console.ReadLine Lee la siguiente lnea de caracteres de la secuencia de entrada estndar. Sintasis Console.ReadLine ();

Manejo de Comentarios
Los comentarios son notas incluidas para explicar su diseo y funcionamiento de nuestro programa. Los comentarios no se imprimen y no afectan a los resultados; aparecen solamente en nuestro Editor. Existen dos tipos de comentarios: Comentarios en lnea //escribir Comentario multilnea /* */

Tipos de Datos Bsicos en C#


Tipos Enteros: Con signo: sbyte, short, int, long. Sin signo: byte, ushort, uint, ulong y char.

Tipos Reales: Coma Flotante: float, double. Coma Fija: decimal.

Carcter y cadena de caracteres: char, string;

Tipo int float double decimal bool char string object

Descripcin Enteros Reales con 7 dgitos de precisin Reales de 15-16 dgitos de precisin Reales de 28-29 dgitos de precisin Valores lgicos Caracteres Unicode Cadenas de caracteres Cualquier objeto

Rango de valores [-2.147.483.648, 2.147.483.647] [1,510-45 - 3,41038] [5,010-324 - 1,710308] [1,010-28 - 7,91028] true, false *\u0000, \uFFFF+ El permitido por la memoria Cualquier objeto

Definicin de variables
Una Variable es un lugar para almacenar informacin de forma temporal. El nombre de la variable es como una etiqueta para localizarla en la memoria de nuestro ordenador donde se podr almacenar y recuperar informacin; dicho nombre debe de: Manejar elementos alphanumericos, son que empiece dicho nombre con nmeros. No emplear smbolos especiales dentro del nombre de la variable.

Sintaxis: <tipoVariable> <nombreVariable>; <tipoVariable> <nombreVariable>, <nombreVariable>, , <nombreVariable>;

Ejemplo 3 Visualizacin de valores de tipos de datos.


using System; using System.Collections.Generic; using System.Text;

namespace CAsignarDatos { class Program { static void Main(string[] args) { double a=0, b=0; int c=0; string s;

Declaracin de Variables (con y sin inicializacin de valores)

a=3.14; b=2.71; c=2; s="Datos"; Console.WriteLine(s+": {0} , {1} , {2}", a, b, c); } } }

Las variables locales no son iniciadas por el compilador C#. Por lo tanto, es nuestra obligacin iniciarlas, de lo contrario el compilador visualizar un mensaje de error en todas las sentencias que haga referencia a esas variables.

Operadores
Un operador en C# es un smbolo formado por uno o ms caracteres que permite realizar una determinada operacin entre uno o ms datos y produce un resultado. Operadores aritmticos + * / % ++ -Suma. Los operandos pueden ser enteros o reales. Resta. Los operandos pueden ser enteros o reales. Multiplicacin. Los operandos pueden ser enteros o reales. Divisin. Los operandos pueden ser enteros o reales. Si ambos operandos son enteros el resultado es entero. En el resto de los casos el resultado es real. Modulo o resto de una divisin entera. Los operandos pueden ser enteros o reales Incremento decremento

Operadores lgicos && y & || y | ! ^ Operadores relacionales == != > < >= <= Igualdad. Desigualdad. Mayor que. Menor que. Mayor o igual que Menor o igual que And. Or. Not. Xor.

Ejemplo 4 Visualizacin del resultado de la suma, resta, multiplicacin y divisin de dos cantidades enteras.
using System; using System.Collections.Generic; using System.Text; namespace CAritmetica { class Program { static void Main(string[] args) { int dato1, dato2, resultado; dato1 = 20; dato2 = 10; resultado = dato1 + dato2; Console.WriteLine("{0} + {1} resultado = dato1 - dato2; Console.WriteLine("{0} - {1} resultado = dato1 * dato2; Console.WriteLine("{0} * {1} resultado = dato1 / dato2; Console.WriteLine("{0} / {1} } } }

= {2}", dato1,dato2,resultado); = {2}", dato1, dato2, resultado); = {2}", dato1, dato2, resultado); = {2}", dato1, dato2, resultado);

Ejemplo 5
using System; using System.Collections.Generic; using System.Text; namespace Ejercicio_5 { class Program { static void Main(string[] args) { int x = 5, y=10, z = 50; Console.WriteLine("El valor de x es: " + x); Console.WriteLine("El valor de y es: " + y); Console.WriteLine("El valor de z es: " + z); } } }

Entrada de datos con distintos tipos de datos


Por lo regular las entradas de informacin son de tipo cadena por lo que al momento de asignarlas a una variable de un tipo diferente existe error en su conversin por lo que para solucionar este problemas se considera una llamada a un mtodo con el cual se convierte el estilo de una cadena a un tipo de nmero indicado. Sintaxis Tipo.Parse(Sentencia de entrada); Ejemplo 6
using System; using System.Collections.Generic; using System.Text; namespace Entrada_de_datos_con_tipos_distintos { class Program { static void Main(string[] args) { string nombre; int semestre; double calificacion; Console.WriteLine("Alta de Califificaciones"); Console.WriteLine(); Console.Write("Nombre del alumno: "); nombre = Console.ReadLine; Console.WriteLine();

Console.Write("Semestre: "); semestre = int.Parse (Console.ReadLine); Console.WriteLine(); Console.Write("Calificacion: "); calificacion = double.Parse (Console.ReadLine); Console.WriteLine(); } } }

Estructuras de control
Las Estructuras de Control permiten modificar el flujo de ejecucin de las instrucciones de un programa, considerndose as las Sentencias de Seleccin. Sentencias de Repeticin.

Sentencias de Seleccin
Las Sentencias de Seleccin son aquellas que controlan el flujo de ejecucin cuando se cumple o no una condicin previamente establecida. Sentencia If Sintaxis
if (condicin) { Instrucciones en caso de ser verdadera la condicin establecida; } else { Instrucciones en caso de ser falsa la condicin establecida; }

Ejemplo 7
using System; using System.Collections.Generic; using System.Text; namespace Sentencia_If { class Program { static void Main(string[] args) { int x,y; Console .WriteLine ("Proporcione un primer nmero a comparar"); x=int.Parse (Console .ReadLine ()); Console .WriteLine ("Proporcione un segundo nmero a comparar"); y=int.Parse (Console .ReadLine ());

if (x<y) { Console .WriteLine ("El primer numero proporcionado {0} es menor que el segundo {1}",x,y); } else { Console.WriteLine("El segundo numero proporcionado {0} es menor que el primer {1}", y, x); } } } }

Otra posibilidad que nos ofrecen estas sentencias de seleccin es los if anidados. Un if anidado es un if que es el objeto de otro if o else. Sentencia If anidado Sintaxis

Ejemplo 7
using System; using System.Collections.Generic; using System.Text; namespace Sentencia_If { class Program { static void Main(string[] args) { int x,y; Console .WriteLine ("Proporcione un primer nmero a comparar"); x=int.Parse (Console .ReadLine ()); Console .WriteLine ("Proporcione un segundo nmero a comparar"); y=int.Parse (Console .ReadLine ()); if (x<y)

{ Console .WriteLine ("El primer numero proporcionado {0} es menor que el segundo {1}",x,y); } else { if (y < x) { Console.WriteLine("El segundo numero proporcionado {0} es menor que el primer {1}", y, x); } else { Console.WriteLine("El primer numero proporcionado {0} es igual al segundo {1}", x, y); } } } } }

Sentencia switch Como puede observarse los if anidados tienden a ser estructuras muy grandes y complejas, para simplificar este aspecto se incorpora una sentencia de seleccin mltiple, switch, que compara sucesivamente el valor de una expresin con una lista de constantes enteras o de caracteres. Cuando se encuentra una correspondencia, se ejecutan las sentencias asociadas con la constante. Sintaxis

Ejemplo 8
using System; using System.Collections.Generic; using System.Text; namespace Sentencia_Switch { class Program { static void Main(string[] args) { int opcion; Console.WriteLine("Calculo del Perimetro de Figuras Geometricas\n"); Console.WriteLine("1. Triangulo."); Console.WriteLine("2. Cuadrado."); Console.WriteLine("3. Rectangulo."); Console.WriteLine("4. Trapecio."); Console.WriteLine("5. Circulo."); Console.WriteLine("6. Rombo."); Console.WriteLine("7. Salir.\n"); Console.Write("Ingrese el # de opcion:"); opcion = int.Parse(Console .ReadLine ()); switch (opcion) { case 1: { Console.WriteLine("\nDesea calcular el perimetro del Triangulo.\n"); break; } case 2: { Console.WriteLine("\nDesea calcular el perimetro del Cuadrado.\n"); break; } case 3: { Console.WriteLine("\nDesea calcular el perimetro del Rectangulo.\n"); break; } case 4: { Console.WriteLine("\nDesea calcular el perimetro del Trapecio.\n"); break; } case 5: { Console.WriteLine("\nDesea calcular el perimetro del Circulo.\n"); break; } case 6: { Console.WriteLine("\nDesea calcular el perimetro del Rombo.\n");

break; } case 7: { Console.WriteLine("\nHasta pronto...\n"); break; } default: { Console.WriteLine("\nOpcion Invalida\n"); break; } } } } }

Sentencias de Seleccin Son aquellas que nos permiten variar o alterar la secuencia normal de ejecucin de un programa haciendo posible que un bloque de instrucciones se ejecute ms de una vez de forma consecutiva. Sentencia while Se caracteriza porque su diseo permite repetir un bloque de instrucciones de 0 n veces, es decir, que en aquellos casos en los que la condicin establecida sea verdadera, el nmero de veces que se ejecutar dicho bloque de instrucciones ser una vez como mnimo y n veces como mximo, mientras que en el caso de que la condicin establecida sea falsa dicho bloque de instrucciones no se ejecutar ninguna vez.

Sintaxis

Ejemplo
using System; using System.Collections.Generic; using System.Text; namespace CUsoWhile { class Program {

static void Main(string[] args) { char respuesta; Console.WriteLine("Desea continuar s/n (Si o No)"); respuesta = char.Parse(Console.ReadLine()); while (respuesta == 's' || respuesta == 'S') { Console.WriteLine("Desea continuar s/n (Si o No)"); respuesta = char.Parse(Console.ReadLine()); } Console.WriteLine("Adios......"); } } }

Sentencia do while Ejecuta una sentencia, simple o compuesta, una o ms veces dependiendo del valor de una expresin. Se caracteriza porque su diseo permite repetir un bloque de instrucciones de 1 n veces, es decir, ya sea verdadera o falsa la condicin establecida, el nmero de veces que se ejecutar el bloque de instrucciones ser de una vez como mnimo y de n veces como mximo. Sintaxis

Ejemplo
using System; using System.Collections.Generic; using System.Text; namespace CSentenciaDoWhile { class Program { static void Main(string[] args) { double numero; do { Console.WriteLine("Proporcione un numero >= 0 : "); numero = double.Parse(Console.ReadLine()); } while (numero >= 0); Console.WriteLine("El numero erroneamente proporcionado fue : {0}", numero); } }

Sentencia for Permite ejecutar una sentencia simple o compuesta, repetidamente un nmero de veces conocido.

Ejemplo
using System; using System.Collections.Generic; using System.Text; namespace CSentenciaFor { class Program { static void Main(string[] args) { int i; for (i = 1; i <= 100; i++) Console.Write(i + " "); Console.WriteLine("\n\n"); for (int k = 7; k <= 112; k += 7) Console.Write(k + " "); Console.WriteLine("\n\n"); } } }

Matrices
Una variable maneja un solo valor cambiante pero en ocasiones se tendr que manipular conjuntos ms grandes de valores. El hecho de registrar conjuntos de valores nos lleva a trabajar con estructuras de datos como son las Matrices. En estas formas todos tienen el mismo tipo de datos (int, doubl, float, char, string, etc.). Una Matriz es una estructura homognea, compuesta de varios elementos, todos del mismo tipo y almacenados consecutivamente eh memoria.

Las Matrices segn su definicin se clasifican en unidimensionales y multidimensionales; y segn su contenido, en numricas, de caracteres, etc.

Matrices Unidimensionales
Igual con las variables, antes de utilizar una matriz hay que declararla. La declaracin de una matriz especifica el nombre de la matriz y el tipo de elementos de la misma. Para crear y utilizar una matriz hay que realizar dos acciones: Declararla y Crearla. Sintaxis de Declaracin de Matrices

Ejemplo
char[] caracter; string[] cadena; int[] entero; double[] real1; float[] real2;

Nota: Las declaraciones no especifican el tamao de la matriz. El tamao ser especificado cuando se cree la matriz, ya sea proporcionndole el tamao dentro del cdigo o al momento de la ejecucin del programa a travs de una variable. Sintaxis de Creacin de Matrices

Ejemplo
using System; using System.Collections.Generic; using System.Text; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { //Declaracin char[] caracter; string[] cadena; int[] entero; double[] real1; float[] real2; // Creacin caracter = new char [10]; cadena= new string[9]; entero = new int[8]; real1 = new double[10]; real2 = new float[20] ; } } }

Utilizacin de una sola Sentencia en Matrices Unidimensionales Es bastante comn Declarar y Crear la Matriz en esta forma, esto puede hacerse as:

Ejemplo
using System; using System.Collections.Generic; using System.Text; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { //Declaracin y Creacin char[] caracter = new char [10];

string[] cadena = new string[9]; int[] entero = new int[8]; double[] real1 = new double[10]; float[] real2 = new float[20]; } } }

Cuando se crea una matriz, el tamao de la misma puede ser tambin especificado durante la ejecucin a travs de una variable a la que se la asiganar{a como valor el n{umero de elementos requeridos. Ejemplo
using System; using System.Collections.Generic; using System.Text; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { int tam; //El tamao del arreglo siempre ser de tipo entero Console.WriteLine("Proporcione el Tamao del arreglo: "); tam = int.Parse(Console .ReadLine ()); double[] real1 = new double[tam]; Console.WriteLine("El Tamao del arreglo es : {0}",tam ); } } }

Acceso a una Matriz

Ejemplo
using System; using System.Collections.Generic; using System.Text; namespace ConsoleApplication1 { class Program { static void Main(string[] args)

{ int tam, posicion; //El tamao del arreglo siempre ser de tipo entero string nom; Console.WriteLine("Proporcione el numero de nombres a introducir: "); tam = int.Parse(Console .ReadLine ()); string [] nombres = new string [tam]; for (posicion = 0; posicion <= tam - 1; posicion ++ ) { Console.WriteLine("Proporcione el nombre: "); nombres[posicion] = Console.ReadLine(); } Console.Clear(); Console.WriteLine("Los nombres introducidos son:"); for (posicion = 0; posicion <= tam - 1; posicion++) { nom=nombres[posicion]; Console.WriteLine(nom ); } } } }

Mtodos de una matriz


Length Mtodo que devuelve la longitud o tamao de una matriz. Sintaxis

Ejemplo
using System; using System.Collections.Generic; using System.Text; namespace Registro_de_Calificaciones { class Program { static void Main(string[] args) { int tam, posicion; double promedio=0; Console.WriteLine("Proporcione el numero de alumnos a evaluar: "); tam = int.Parse(Console .ReadLine ()); string[] nombres = new string[tam];

int[] calificacion = new int[tam]; Console .Clear (); Console.WriteLine("Proporcione el nombre del alumno: "); for (posicion = 0; posicion <= nombres.Length-1; posicion++) { nombres[posicion] = Console.ReadLine(); } Console.Clear(); for (posicion = 0; posicion <= calificacion.Length-1; posicion++) { Console.WriteLine("Proporcione la calificacion del alumno {0}: ",nombres [posicion ]); calificacion[posicion] = int.Parse (Console.ReadLine()); promedio = promedio + calificacion[posicion]; } Console.WriteLine("El promedio del grupo es: {0} ", promedio /calificacion .Length ); } } }

Clone Duplica una matriz y sus datos.

Ejemplo
using System; using System.Collections.Generic; using System.Text; namespace Registro_de_Calificaciones { class Program { static void Main(string[] args) { int tam, posicion; double promedio=0; Console.WriteLine("Proporcione el numero de alumnos a evaluar: "); tam = int.Parse(Console .ReadLine ()); string[] nombres = new string[tam]; Console .Clear (); Console.WriteLine("Proporcione el nombre del alumno: ");

for (posicion = 0; posicion <= nombres.Length-1; posicion++) { nombres[posicion] = Console.ReadLine(); } Console.Clear(); //Realiza la clonacion de la matriz unidimensional nombre en nomgrup string[] nomgrup = (string[])nombres.Clone(); //-----------------------------------------------------------------for (posicion = 0; posicion <= nombres.Length - 1; posicion++) { Console.WriteLine("Proporcione el grupo al que pertenece el alumno{0}: ", nombres[posicion]); nomgrup[posicion] = nomgrup[posicion] + " " + Console.ReadLine(); } Console.Clear(); Console.WriteLine("La informacin proporcionada fue: "); for (posicion = 0; posicion <= nombres.Length - 1; posicion++) { Console.WriteLine("{0}", nomgrup[posicion]); } } } }

BinarySearch Mtodo que permite buscar un valor en una matriz unidimensional que esta ordenada ascendentemente utilizando el Algoritmo De Bsqueda Binaria.

Ejemplo
using System; using System.Collections.Generic; using System.Text; namespace arreglo_orden { class Program { static void Main(string[] args) { int[] arreglo = new int[5]; int respuesta, buscar; arreglo[0] = 1; arreglo[1] = 2; arreglo[2] = 3;

arreglo[3] = 4; arreglo[4] = 5; Console.WriteLine("Proporcione el valor a buscar: "); buscar = int.Parse(Console.ReadLine ()); respuesta = Array.BinarySearch(arreglo, buscar); if (respuesta < 0) { Console.WriteLine("\n\nEl numero no fue encontrado"); } else { Console.WriteLine("\n\nEl numero fue encontrado en la posicion: " + respuesta); } } } }

Short Mtodo que permite ordenar los elementos de una matriz unidimensional en orden ascendente utilizando el Algoritmo De Quicksort.

Ejemplo
using System; using System.Collections.Generic; using System.Text; namespace arreglo_orden { class Program { static void Main(string[] args) { int[] arreglo = new int[5]; int i; arreglo[0] = 1; arreglo[1] = 5; arreglo[2] = 2; arreglo[3] = 3; arreglo[4] = 4; Console.WriteLine("Los valores del arreglo desordenado son: "); for (i = 0; i <= 4; i++) { Console.WriteLine(arreglo[i]); } Array.Sort(arreglo); Console.WriteLine("Los valores del arreglo ordenado son: ");

for (i = 0; i <= 4; i++) { Console.WriteLine(arreglo[i]); } } } }

Matrices Multidimensionales
Declaracin y Creacin la Matriz

Ejemplo Ilustrativo int[,] matriz = new int[2, 3]; Su representacin grafica sera:

Acceso a una Matriz

Ejemplo

using System; using System.Collections.Generic; using System.Text; namespace Matices_Multidimensionales { class Program { static void Main(string[] args) { // int[,] matriz = new int[2, 3]; int tam, fila, columna=2,m,n=0; //El tamao del arreglo siempre ser de tipo entero //string nom; Console.WriteLine("Proporcione el numero de nombres a introducir: "); tam = int.Parse(Console.ReadLine()); string[,] nombres = new string[tam,columna]; fila = tam;

for (m {

= 0; m <= fila - 1; m++)

Console.WriteLine("Proporcione el Nombre: "); nombres[m,n] = Console.ReadLine();

Console.WriteLine("Proporcione el Apellido: "); nombres[m, n+1] = Console.ReadLine(); } Console.Clear(); Console.WriteLine("Los nombres introducidos son:"); for (m = 0; m <= fila - 1; m++) { Console.Write("{0} ",nombres[m, n]); Console.Write("{0} ", nombres[m, n + 1]); Console.WriteLine(); } } } }

C# bajo aplicacin para Windows


Creacin de la Aplicacin bajo Windows 1. Activar la ruta: Inicio/Todos los programas/Microsoft Visual Studio 2005. 2. En la Pgina de inicio en la seccin de Proyectos Recientes en el apartado Crear(Create) activar el vinculo Proyecto(Proyect). 3. Del cuadro de dilogo Nuevo Proyecto en la seccin Tipos de Proyecto seleccionar Visual C#. 4. De la seccin Plantillas activar la opcin Aplicacin de Windows (Aplication From Windows). 5. En la seccin inferior del cuadro de dilogo nombre (Name) escribir el nombre que tendr dicho proyecto a crear. 6. En la seccin Ubicacin (Location) activar el botn Examinar (Browse) y navegar al lugar donde se almacenar el proyecto y activar el botn Abrir. 7. Activar el Botn Aceptar (OK).

Partes de la interfaz de C# en Windows

Los botones de activacin de paneles son ms importantes dentro de la aplicacin de Windows en C# y son: Explorador de Soluciones. Proporciona una vista organizada de los proyectos y sus archivos, as como acceso rpido a los comandos relativos a ellos y al activase se observa:

Ventana Propiedades. Contiene la lista de propiedades, eventos en los controles seleccionados. Estas propiedades se establecen o se modifican en tiempo de diseo o por medio de programacin. Los eventos son las acciones que se les dan a los controles como clic, doubleclic, etc.

Propiedades del Formulario Propiedades Name BackColor - Font o Name o Size o Bold o Italic Descripcin Indica el nombre utilizado en el cdigo para identificar el objeto. El color de fondo del componente. Fuente utilizada para mostrar texto en control. Fuente. Tamao. Negritas. Cursivas.

ForeColor Size StartPosition Text


Nota: abreviatura del nombre frmnombre_objeto.

Color de primer plano de este componente, utilizado para mostrar texto. Tamao del Control, en pixeles. Determina la posicin del Formulario cuando aparece por primera vez. Texto asociado al control.

Controles
El control Label o Etiqueta es un simple control que se utiliza para mostrar texto, descripciones, informacin para el programa.

Propiedades Location

Descripcin Coordenadas de la esquina superior izquierda del control respecto de la esquina superior del contenedor. Determina si el control est visible u oculto.

Visible

Nota: abreviatura del nombre lblnombre_objeto. Este objeto comparte muchas de las caractersticas especificadas en las propiedades del formulario.

El control TextBox o Caja de texto se utiliza para Ingresar y/o visualizar Texto (es un control de entrada de datos). Nota: abreviatura del nombre txtnombre_objeto. Este objeto comparte muchas de las caractersticas especificadas en las propiedades del formulario y de la etiqueta.

Este control Button o Botn de comando, nos permite ejecutar alguna rutina, funcin o procedimiento, generalmente en el evento click del mismo, para realizar de esta manera alguna tarea dentro del programa.

Propiedades Enable

Descripcin Indica si el control est habilitado.

Nota: abreviatura del nombre btnnombre_objeto. Este objeto comparte muchas de las caractersticas especificadas en las propiedades de los controles anteriormente descritos.

Eventos Click MouseLeave MouseMove

Descripcin Tiene lugar cuando se hace clic en el componente. Tiene lugar cuando el mouse ya no est en la parte visible del control. Tiene lugar cuando el punto del mouse se mueve sobre el componente.

Ejemplo

Control Form

Propiedad/Valor Name/frmprincipal Size/300, 217 StartPosition/CenterScreen

Label

Name/lblnombre Font/Name/Arial Font/Size/10 Font/Bold/True Location/42, 30

Text/Nombre Label Name/lblmensaje Font/Bold/True ForeColor/192, 0, 0 Text/Vacio Location/174, 75 Visible/False Label Name/lblresultado Font/Bold/True Text/Vacio Location/117, 140 Button Name/btnaceptar Location/93, 88 Text/Aceptar

Control

Eventos a emplear Click

Button

MouseLeave MouseMove

Cdigo
using using using using using using using System; System.Collections.Generic; System.ComponentModel; System.Data; System.Drawing; System.Text; System.Windows.Forms;

namespace Apuntes {

public partial class frmprincipal : Form { public frmprincipal() { InitializeComponent(); } private void btnaceptar_Click(object sender, EventArgs e) { lblresultado.Text = txtnombre.Text; } private void btnaceptar_MouseLeave(object sender, EventArgs e) { lblmensaje.Text = "Presione el Botn"; lblmensaje.Visible = true; } private void btnaceptar_MouseMove(object sender, MouseEventArgs e) { lblmensaje.Text = "Aceptar"; lblmensaje.Visible = true; } } }

You might also like