SlideShare una empresa de Scribd logo
1 de 26
i
NOMBRE:
ING:
SEMESTRE: III “A”
2013-2014
ii
INDICE GENERAL
CARATULA ..........................................................................I
INDICE ............................................................................ II
DEDICATORIA ................................................................... III
AGRADECIMIENTO............................................................... IV
INTRODUCCION................................................................... V
OBJETIVOS ...................................................................... VI
CICLO FOR ......................................................................... 1
EJEMPLOS ......................................................................... 1
CICLO WHILE...................................................................... 7
EJEMPLOS ......................................................................... 7
CICLO DO WHILE ................................................................ 14
EJEMPLOS ........................................................................ 14
CONCLUSIONES.................................................................. 20
RECOMENDACIONES............................................................. 20
iii
DEDICATORIA
A Dios, verdadera fuente de amor y sabiduría.
A mi padre, por que gracias a él sé que la responsabilidad se la debe vivir como
un compromiso de dedicación y esfuerzo.
A mi madre, cuyo vivir me ha mostrado que en el camino hacia la meta se
necesita de la dulce fortaleza para aceptar las derrotas y del sutil coraje para
derribar miedos.
A mi hermano, el incondicional abrazo que me motiva y recuerda que detrás de
cada detalle existe el suficiente alivio para empezar nuevas búsquedas.
A mis familiares, viejos amigos y a quienes recién se sumaron a mi vida para
hacerme compañía con sus sonrisas de ánimo, porque a lo largo de este trabajo
aprendimos que nuestras diferencias se convierten en riqueza cuando existe
respeto y verdadera amistad.
iv
AGRADECIMIENTO
Agradezco a todas las personas que de una u otra forma estuvieron conmigo,
porque cada una aportó con un granito de arena; y es por ello que a todos y
cada uno de ustedes les dedico todo el esfuerzo, sacrificio y tiempo que
entregué a esta tesis.
A tí Dios mío, por darme la oportunidad de existir así, aquí y ahora; por mi
vida, que la he vivido junto a ti. Gracias por iluminarme y darme fuerzas y
caminar por tu sendero.
v
INTRODUCCIÓN A C#
El lenguaje C# se presenta como el último invento en materia de lenguajes
de programación, y constituye también la más reciente y ambiciosa apuesta
en este sentido por parte de Microsoft. Quizás, lo primero que habría que
aclarar, es que, de todo el .NET Framework, es la única parte que puede
considerarse terminada, hasta el punto de que el propio Visual Studio .NET
ha sido construido al 90% en C# y el 10% restante en C++. Por otro lado, el
lenguaje merece el calificativo de estándar, en el sentido de que –al igual
que algunos otros aspectos del entorno- está siendo sometido a
estandarización por parte de ECMA, la misma entidad de normalización que
llevó a cabo la estandarización de Javascript.
C# supone una mejora respecto a otros lenguajes existentes por dos
razones básicas: primero, por que es el último, y por lo tanto, el más
adaptado a las necesidades actuales del programador y el que más ha
aprendido de los demás, heredando lo mejor de cada entorno, y añadiendo
las cosas que los programadores solicitaban. En segundo término, por que su
creador principal (el jefe del equipo de desarrollo, el danés Anders
Hejlsberg, de quien Bixhorn y Fletcher hablaban maravillas), ha podido
hacer un excelente trabajo basado su experiencia personal (es el diseñador
de Turbo Pascal 5.5 y Delphi), con tiempo suficiente, y un pequeño pero
impresionante equipo de colaboradores entre los que figuran Peter Kukol,
Jeffrey Richter, etc.
vi
Objetivos
General
Dar a conocer que C# es un lenguaje de formato libre, de modo que
puede haber varias órdenes en una misma línea
Específicos
Identificar en que parte del programa no se utiliza comillas
Conocer las librerías que contiene C#.
1
CICLO FOR EN C#
Ésta es la orden que usaremos habitualmente para crear partes del
programa que se repitan un cierto número de veces.
En un "for", realmente, la parte que hemos llamado "Incremento" no tiene
por qué incrementar la variable, aunque ése es su uso más habitual. Es
simplemente una orden que se ejecuta cuando se termine la "Sentencia" y
antes de volver a comprobar si todavía se cumple la condición de repetición.
Por eso, si escribimos la siguiente línea:
for (contador=1; contador<=10; )
La variable "contador" no se incrementa nunca, por lo que nunca se cumplirá
la condición de salida: nos quedamos encerrados dando vueltas dentro de la
orden que siga al "for". El programa no termina nunca. Se trata de un "bucle
sin fin".
SINTAXIS
El formato de "for" es
for (valorInicial; CondiciónRepetición; Incremento)
Sentencia;
EJEMPLOS
Tablas de multiplicar del 1 al 5
using System;
public class
{
2
public static void Main()
{
int tabla, numero;
for (tabla=1; tabla<=5; tabla++)
for (numero=1; numero<=10; numero++)
Console.WriteLine("{0} por {1} es {2}", tabla, numero,
tabla*numero);
}
}
Si queremos que se hagan varias cosas, basta definirlas como un bloque
(una sentencia compuesta) encerrándolas entre llaves. Por ejemplo, si
queremos mejorar el ejemplo anterior haciendo que deje una línea en
blanco entre tabla y tabla
using System;
public class
{
3
public static void Main()
{
int tabla, numero;
for (tabla=1; tabla<=5; tabla++)
{
for (numero=1; numero<=10; numero++)
Console.WriteLine("{0} por {1} es {2}", tabla, numero, tabla*numero);
Console.WriteLine();
}
}
}
Ejemplo, podemos contar con letras así:
using System;
public class
{
4
public static void Main()
{
char letra;
for (letra='a'; letra<='z'; letra++) Console.Write("{0} ", letra);
}
}
Programa que escribiera los números del 1 al 10
using System;
public class
{
public static void Main()
{
int contador;
for (contador=1; contador<=10; contador++)
5
Console.Write("{0} ", contador);
}
}
Si queremos contar de forma decreciente, o de dos en dos, o como nos
interese, basta indicarlo en la condición de finalización del "for" y en la
parte que lo incrementa
using System;
public class
{
public static void Main()
6
{
char letra;
for (letra='z'; letra>='a'; letra--) Console.Write("{0} ", letra);
}
}
Tablas de multiplicar del 0 al 10
using System;
public class
{
public static void Main()
{
int multiplicar, numero;
for (multiplicar=1; multiplicar<=10; multiplicar++)
for (numero=1; numero<=10; numero++)
Console.WriteLine("{0} por {0} es {2}", multiplicar, numero,
multiplicar*numero);
}
}
7
CICLO WHILE EN C#
Si queremos hacer que una sección de nuestro programa se repita mientras
se cumpla una cierta condición, usaremos la orden "while". Esta orden tiene
dos formatos distintos, según comprobemos la condición al principio o al
final.
Es decir, la sentencia se repetirá mientras la condición sea cierta. Si la
condición es falsa ya desde un principio, la sentencia no se ejecuta nunca. Si
queremos que se repita más de una sentencia, basta agruparlas entre { y }
SINTAXIS
while (condición)
sentencia;
EJEMPLOS
Un ejemplo que nos diga si cada número que tecleemos es positivo o
negativo, y que pare cuando tecleemos el número 0,
using System;
public class Ejemplo16
{
public static void Main()
{
int numero;
Console.Write("Teclea un número (0 para salir): ");
numero = Convert.ToInt32(Console.ReadLine());
8
while (numero != 0)
{
if (numero > 0) Console.WriteLine("Es positivo");
else Console.WriteLine("Es negativo");
Console.WriteLine("Teclea otro número (0 para salir): ");
numero = Convert.ToInt32(Console.ReadLine());
}
}
Por ejemplo, si queremos contar del 1 al 5, nuestra variable empezaría
en 1, aumentaría una unidad en cada repetición y se repetiría hasta
llegar al valor 5
using System;
public class Ejemplo16b
{
9
public static void Main()
{
int n = 1;
while (n < 6)
{
Console.WriteLine(n);
n = n + 1;
}
}
}
Realizar un programa que imprima en pantalla los números del 1 al 100.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace EstructuraRepetitivaWhile1
{
class Program
{
static void Main(string[] args)
10
{
int x;
x = 1;
while (x <= 100)
{
Console.Write(x);
Console.Write(" - ");
x = x + 1;
}
Console.ReadKey();
}
}
}
Escribir un programa que solicite la carga de un valor positivo y nos
muestre desde 1 hasta el valor ingresado de uno en uno.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace
11
{
class Program
{
static void Main(string[] args)
{
int n,x;
string linea;
Console.Write("Ingrese el valor final:");
linea=Console.ReadLine();
n=int.Parse(linea);
x=1;
while (x<=n)
{
Console.Write(x);
Console.Write(" - ");
x = x + 1;
}
Console.ReadKey();
}
}
12
}
Desarrollar un programa que permita la carga de 10 valores por teclado
y nos muestre posteriormente la suma de los valores ingresados y su
promedio.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace
{
class Program
{
static void Main(string[] args)
{
int x,suma,valor,promedio;
string linea;
x=1;
suma=0;
while (x<=10)
{
13
Console.Write("Ingrese un valor:");
linea = Console.ReadLine();
valor=int.Parse(linea);
suma=suma+valor;
x=x+1;
}
promedio=suma/10;
Console.Write("La suma de los 10 valores es:");
Console.WriteLine(suma);
Console.Write("El promedio es:");
Console.Write(promedio);
Console.ReadKey();
}
}
}
14
CICLO DO WHILE EN C#
Este es el otro formato que puede tener la orden "while": la condición se
comprueba al final (equivale a "repetir…mientras"). El punto en que comienza
a repetirse se indica con la orden "do",
Al igual que en el caso anterior, si queremos que se repitan varias órdenes
(es lo habitual), deberemos encerrarlas entre llaves.
SINTAXIS
do
sentencia;
while (condición)
EJEMPLOS
Programa que nos pide una clave de acceso y no nos deja entrar hasta
que tecleemos la clave correcta
using System;
public class
{
public static void Main()
{
int valida = 711; int clave;
do
{
15
Console.Write("Introduzca su clave numérica: ");
clave = Convert.ToInt32(Console.ReadLine());
if (clave != valida) Console.WriteLine("No válida!");
}
while (clave != valida);
Console.WriteLine("Aceptada.");
}
}
Si preferimos que la clave sea un texto en vez de un número, los
cambios al programa son mínimos, basta con usar "string"
using System;
public class
{
public static void Main()
16
{
string valida = "secreto"; string clave;
do
{
Console.Write("Introduzca su clave: ");
clave = Console.ReadLine();
if (clave != valida) Console.WriteLine("No válida!");
}
while (clave != valida);
Console.WriteLine("Aceptada.");
}
}
17
Imprima los números de 1 al 10 con ciclo do while
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace
{
class Program
{
static void Main(string[] args)
{
int iContador = 0;
do
{
iContador++;
Console.WriteLine("{0}", iContador);
}
while (iContador < 10);
Console.ReadLine();
}
18
}
}
Programa para sacar el promedio
using System;
class Program
{
static void Main(string[] args)
{
int c1 = 0, i = 0;
Console.WriteLine("Programa para Promedio");
Console.Write("cuantas calificaciones son: ");
c1 = int.Parse(Console.ReadLine());
float pf = 0
do
{
Console.Write("Dame la calificacion: ");
pf += float.Parse(Console.ReadLine());
}
while (++i < c1);
pf /= c1;
19
Console.WriteLine("promedio = " + pf);
Console.ReadLine();
}
}
Programa que nos pide una clave de acceso y no nos deja entrar hasta
que tecleemos la clave correcta
using System;
public class Ejemplo23
{
public static void Main()
{
int valida = 711;
int clave;
do
{
Console.Write("Introduzca su clave numérica: ");
clave = Convert.ToInt32(Console.ReadLine());
if (clave != valida) Console.WriteLine("No válida!n");
}
20
while (clave != valida);
Console.WriteLine("Aceptada.n");
}
}
CONCLUSIONES
C# Se trata de un lenguaje moderno, evolucionado a partir de C y
C++, y con una sintaxis muy similar a la de Java. Los programas
creados con C# no suelen ser tan rápidos como los creados con C,
pero a cambio la productividad del programador es mucho mayor.
Es un programa estandarizado posteriormente por ECMA y por ISO,
y del que existe una implementación alternativa de "código abierto",
el "proyecto Mono", que está disponible para Windows, Linux, Mac OS
X y otros sistemas operativos
RECOMENDACIONES
En la actualidad se está comenzando a desarrollar aplicaciones más
sofisticadas para los Smarth Phones, Palm y Pocket PC, debido al
avance de procesamiento, memoria y sus sistemas operativos es
estos. Lo mencionado en este párrafo trae como consecuencia una
mayor movilidad de los usuarios, conservando aplicaciones similares a
la de una PC de escritorio.
Tener un ordenador más potente pero a cambio incluye un entorno de
desarrollo muy avanzado, y está disponible también en una versión
gratuita (Visual Studio Express Edition).
Identificar el tipo de datos a utilizar

Más contenido relacionado

La actualidad más candente

Curso de programacion en c++ para microcontroladores pic 16 f87xx
Curso de programacion en c++ para microcontroladores pic 16 f87xxCurso de programacion en c++ para microcontroladores pic 16 f87xx
Curso de programacion en c++ para microcontroladores pic 16 f87xxJose Manuel Mansilla Carrasco
 
Presentacion1 lenguaje de-programacion_c
Presentacion1 lenguaje de-programacion_cPresentacion1 lenguaje de-programacion_c
Presentacion1 lenguaje de-programacion_cMonica Martinez
 
Desarrollo de aplicaciones , programacion en dev ++
Desarrollo de aplicaciones , programacion  en   dev ++Desarrollo de aplicaciones , programacion  en   dev ++
Desarrollo de aplicaciones , programacion en dev ++ernestre
 
C sharp manual[1]
C sharp manual[1]C sharp manual[1]
C sharp manual[1]Kalizbeth
 

La actualidad más candente (20)

Programación en C++
Programación en C++Programación en C++
Programación en C++
 
Lenguaje c 2_neo
Lenguaje c 2_neoLenguaje c 2_neo
Lenguaje c 2_neo
 
Curso de programacion en c++ para microcontroladores pic 16 f87xx
Curso de programacion en c++ para microcontroladores pic 16 f87xxCurso de programacion en c++ para microcontroladores pic 16 f87xx
Curso de programacion en c++ para microcontroladores pic 16 f87xx
 
Introduccion Lenguaje C Blanca
Introduccion Lenguaje  C BlancaIntroduccion Lenguaje  C Blanca
Introduccion Lenguaje C Blanca
 
C(++) programacion en c y c++
C(++)   programacion en c y c++C(++)   programacion en c y c++
C(++) programacion en c y c++
 
Programación C++ - DEV C++
Programación C++ - DEV C++Programación C++ - DEV C++
Programación C++ - DEV C++
 
Portafolio(1)
Portafolio(1)Portafolio(1)
Portafolio(1)
 
Algoritmos para c#
Algoritmos para c#Algoritmos para c#
Algoritmos para c#
 
Intro dev c 2011
Intro dev c 2011Intro dev c 2011
Intro dev c 2011
 
Guía De Ejercicios Programación Web Básica
Guía De Ejercicios Programación Web BásicaGuía De Ejercicios Programación Web Básica
Guía De Ejercicios Programación Web Básica
 
Presentacion1 lenguaje de-programacion_c
Presentacion1 lenguaje de-programacion_cPresentacion1 lenguaje de-programacion_c
Presentacion1 lenguaje de-programacion_c
 
Guía de Ejercicios de Programación Web Básica
Guía de Ejercicios de Programación Web BásicaGuía de Ejercicios de Programación Web Básica
Guía de Ejercicios de Programación Web Básica
 
Desarrollo de aplicaciones , programacion en dev ++
Desarrollo de aplicaciones , programacion  en   dev ++Desarrollo de aplicaciones , programacion  en   dev ++
Desarrollo de aplicaciones , programacion en dev ++
 
Programación en c y c++
Programación en c y c++Programación en c y c++
Programación en c y c++
 
C sharp manual
C sharp manualC sharp manual
C sharp manual
 
C sharp manual
C sharp manualC sharp manual
C sharp manual
 
C sharp manual[1]
C sharp manual[1]C sharp manual[1]
C sharp manual[1]
 
Lenguaje C
Lenguaje CLenguaje C
Lenguaje C
 
C
C C
C
 
Introducción a Python
Introducción a PythonIntroducción a Python
Introducción a Python
 

Destacado

Geografía físicade la tierra
Geografía físicade la tierraGeografía físicade la tierra
Geografía físicade la tierraJose Manuel
 
El computador4642 modificado-nancy
El computador4642 modificado-nancyEl computador4642 modificado-nancy
El computador4642 modificado-nancyjohanmucutuy
 
Guía para la creación de recursos educativos abiertos
Guía para la creación de recursos educativos abiertosGuía para la creación de recursos educativos abiertos
Guía para la creación de recursos educativos abiertosAndres Giovanni Lara Collazos
 
บทที่7 ภาพฉายมุมที่1,3
บทที่7 ภาพฉายมุมที่1,3บทที่7 ภาพฉายมุมที่1,3
บทที่7 ภาพฉายมุมที่1,3Si Seng
 

Destacado (9)

Google earth
Google earthGoogle earth
Google earth
 
Geografía físicade la tierra
Geografía físicade la tierraGeografía físicade la tierra
Geografía físicade la tierra
 
U8yhbtg
U8yhbtgU8yhbtg
U8yhbtg
 
El computador4642 modificado-nancy
El computador4642 modificado-nancyEl computador4642 modificado-nancy
El computador4642 modificado-nancy
 
CSS
CSSCSS
CSS
 
Tcu prim10 67103_mj_79
Tcu prim10 67103_mj_79Tcu prim10 67103_mj_79
Tcu prim10 67103_mj_79
 
Act19 djmm
Act19 djmmAct19 djmm
Act19 djmm
 
Guía para la creación de recursos educativos abiertos
Guía para la creación de recursos educativos abiertosGuía para la creación de recursos educativos abiertos
Guía para la creación de recursos educativos abiertos
 
บทที่7 ภาพฉายมุมที่1,3
บทที่7 ภาพฉายมุมที่1,3บทที่7 ภาพฉายมุมที่1,3
บทที่7 ภาพฉายมุมที่1,3
 

Similar a Intro2

Fundamentos de Programación - Unidad III Control de Flujo
Fundamentos de Programación - Unidad III Control de FlujoFundamentos de Programación - Unidad III Control de Flujo
Fundamentos de Programación - Unidad III Control de FlujoJosé Antonio Sandoval Acosta
 
Plataformas tecnologicas introduccion visual studio clase 1 - 4
Plataformas tecnologicas introduccion visual studio   clase 1 - 4Plataformas tecnologicas introduccion visual studio   clase 1 - 4
Plataformas tecnologicas introduccion visual studio clase 1 - 4Richard Eliseo Mendoza Gafaro
 
Revista programacion
Revista programacionRevista programacion
Revista programacionMARKO HERRERA
 
Varios tema de c++ por (alvaro tejada)
Varios tema de c++ por (alvaro tejada)Varios tema de c++ por (alvaro tejada)
Varios tema de c++ por (alvaro tejada)javiel162009
 
El arte de programar c++ - versión 3.0
El arte de programar   c++ - versión 3.0El arte de programar   c++ - versión 3.0
El arte de programar c++ - versión 3.0javiel162009
 
151442532 tutorial-de-c
151442532 tutorial-de-c151442532 tutorial-de-c
151442532 tutorial-de-cDaniel Verdin
 
Programación c++forcsma
Programación c++forcsmaProgramación c++forcsma
Programación c++forcsmaCarlos Avila
 
De algoritmo a programa en c++
De algoritmo a programa en c++De algoritmo a programa en c++
De algoritmo a programa en c++maribelduran
 
Ejemplos de pseudocódigo
Ejemplos de pseudocódigoEjemplos de pseudocódigo
Ejemplos de pseudocódigoLiliana Nieto
 
Introducción al curso de C.docx
Introducción al curso de C.docxIntroducción al curso de C.docx
Introducción al curso de C.docxNidia Castro Campo
 
Fundamentos de Programacion - Unidad 4 control de flujo
Fundamentos de Programacion - Unidad 4 control de flujoFundamentos de Programacion - Unidad 4 control de flujo
Fundamentos de Programacion - Unidad 4 control de flujoJosé Antonio Sandoval Acosta
 

Similar a Intro2 (20)

Fundamentos de Programación - Unidad III Control de Flujo
Fundamentos de Programación - Unidad III Control de FlujoFundamentos de Programación - Unidad III Control de Flujo
Fundamentos de Programación - Unidad III Control de Flujo
 
Plataformas tecnologicas introduccion visual studio clase 1 - 4
Plataformas tecnologicas introduccion visual studio   clase 1 - 4Plataformas tecnologicas introduccion visual studio   clase 1 - 4
Plataformas tecnologicas introduccion visual studio clase 1 - 4
 
C sharp manual
C sharp manualC sharp manual
C sharp manual
 
Revista programacion
Revista programacionRevista programacion
Revista programacion
 
Varios tema de c++ por (alvaro tejada)
Varios tema de c++ por (alvaro tejada)Varios tema de c++ por (alvaro tejada)
Varios tema de c++ por (alvaro tejada)
 
El arte de programar c++ - versión 3.0
El arte de programar   c++ - versión 3.0El arte de programar   c++ - versión 3.0
El arte de programar c++ - versión 3.0
 
Prueba
PruebaPrueba
Prueba
 
Lenguajec(1)
Lenguajec(1)Lenguajec(1)
Lenguajec(1)
 
151442532 tutorial-de-c
151442532 tutorial-de-c151442532 tutorial-de-c
151442532 tutorial-de-c
 
Programación c++forcsma
Programación c++forcsmaProgramación c++forcsma
Programación c++forcsma
 
De algoritmo a programa en c++
De algoritmo a programa en c++De algoritmo a programa en c++
De algoritmo a programa en c++
 
Ejemplos de pseudocódigo
Ejemplos de pseudocódigoEjemplos de pseudocódigo
Ejemplos de pseudocódigo
 
Proyecto
ProyectoProyecto
Proyecto
 
Proyecto
ProyectoProyecto
Proyecto
 
6.funciones y recursividad en c++
6.funciones y recursividad en c++6.funciones y recursividad en c++
6.funciones y recursividad en c++
 
Introducción al curso de C.docx
Introducción al curso de C.docxIntroducción al curso de C.docx
Introducción al curso de C.docx
 
El mundo del lenguaje c++
El mundo del lenguaje c++El mundo del lenguaje c++
El mundo del lenguaje c++
 
Fundamentos de Programacion - Unidad 4 control de flujo
Fundamentos de Programacion - Unidad 4 control de flujoFundamentos de Programacion - Unidad 4 control de flujo
Fundamentos de Programacion - Unidad 4 control de flujo
 
Programación en c y c++
Programación en c y c++Programación en c y c++
Programación en c y c++
 
Ensamblador y lenguaje c
Ensamblador y lenguaje cEnsamblador y lenguaje c
Ensamblador y lenguaje c
 

Más de bombillo seven

Más de bombillo seven (6)

configuración red LAN
configuración red LANconfiguración red LAN
configuración red LAN
 
victor tesis
victor tesisvictor tesis
victor tesis
 
Diapositivas Defensa Cecilia Calapiña
Diapositivas Defensa Cecilia CalapiñaDiapositivas Defensa Cecilia Calapiña
Diapositivas Defensa Cecilia Calapiña
 
Adry
AdryAdry
Adry
 
Soccer para vivirlo
Soccer para vivirloSoccer para vivirlo
Soccer para vivirlo
 
Soccer para vivirlo
Soccer para vivirloSoccer para vivirlo
Soccer para vivirlo
 

Intro2

  • 2. ii INDICE GENERAL CARATULA ..........................................................................I INDICE ............................................................................ II DEDICATORIA ................................................................... III AGRADECIMIENTO............................................................... IV INTRODUCCION................................................................... V OBJETIVOS ...................................................................... VI CICLO FOR ......................................................................... 1 EJEMPLOS ......................................................................... 1 CICLO WHILE...................................................................... 7 EJEMPLOS ......................................................................... 7 CICLO DO WHILE ................................................................ 14 EJEMPLOS ........................................................................ 14 CONCLUSIONES.................................................................. 20 RECOMENDACIONES............................................................. 20
  • 3. iii DEDICATORIA A Dios, verdadera fuente de amor y sabiduría. A mi padre, por que gracias a él sé que la responsabilidad se la debe vivir como un compromiso de dedicación y esfuerzo. A mi madre, cuyo vivir me ha mostrado que en el camino hacia la meta se necesita de la dulce fortaleza para aceptar las derrotas y del sutil coraje para derribar miedos. A mi hermano, el incondicional abrazo que me motiva y recuerda que detrás de cada detalle existe el suficiente alivio para empezar nuevas búsquedas. A mis familiares, viejos amigos y a quienes recién se sumaron a mi vida para hacerme compañía con sus sonrisas de ánimo, porque a lo largo de este trabajo aprendimos que nuestras diferencias se convierten en riqueza cuando existe respeto y verdadera amistad.
  • 4. iv AGRADECIMIENTO Agradezco a todas las personas que de una u otra forma estuvieron conmigo, porque cada una aportó con un granito de arena; y es por ello que a todos y cada uno de ustedes les dedico todo el esfuerzo, sacrificio y tiempo que entregué a esta tesis. A tí Dios mío, por darme la oportunidad de existir así, aquí y ahora; por mi vida, que la he vivido junto a ti. Gracias por iluminarme y darme fuerzas y caminar por tu sendero.
  • 5. v INTRODUCCIÓN A C# El lenguaje C# se presenta como el último invento en materia de lenguajes de programación, y constituye también la más reciente y ambiciosa apuesta en este sentido por parte de Microsoft. Quizás, lo primero que habría que aclarar, es que, de todo el .NET Framework, es la única parte que puede considerarse terminada, hasta el punto de que el propio Visual Studio .NET ha sido construido al 90% en C# y el 10% restante en C++. Por otro lado, el lenguaje merece el calificativo de estándar, en el sentido de que –al igual que algunos otros aspectos del entorno- está siendo sometido a estandarización por parte de ECMA, la misma entidad de normalización que llevó a cabo la estandarización de Javascript. C# supone una mejora respecto a otros lenguajes existentes por dos razones básicas: primero, por que es el último, y por lo tanto, el más adaptado a las necesidades actuales del programador y el que más ha aprendido de los demás, heredando lo mejor de cada entorno, y añadiendo las cosas que los programadores solicitaban. En segundo término, por que su creador principal (el jefe del equipo de desarrollo, el danés Anders Hejlsberg, de quien Bixhorn y Fletcher hablaban maravillas), ha podido hacer un excelente trabajo basado su experiencia personal (es el diseñador de Turbo Pascal 5.5 y Delphi), con tiempo suficiente, y un pequeño pero impresionante equipo de colaboradores entre los que figuran Peter Kukol, Jeffrey Richter, etc.
  • 6. vi Objetivos General Dar a conocer que C# es un lenguaje de formato libre, de modo que puede haber varias órdenes en una misma línea Específicos Identificar en que parte del programa no se utiliza comillas Conocer las librerías que contiene C#.
  • 7. 1 CICLO FOR EN C# Ésta es la orden que usaremos habitualmente para crear partes del programa que se repitan un cierto número de veces. En un "for", realmente, la parte que hemos llamado "Incremento" no tiene por qué incrementar la variable, aunque ése es su uso más habitual. Es simplemente una orden que se ejecuta cuando se termine la "Sentencia" y antes de volver a comprobar si todavía se cumple la condición de repetición. Por eso, si escribimos la siguiente línea: for (contador=1; contador<=10; ) La variable "contador" no se incrementa nunca, por lo que nunca se cumplirá la condición de salida: nos quedamos encerrados dando vueltas dentro de la orden que siga al "for". El programa no termina nunca. Se trata de un "bucle sin fin". SINTAXIS El formato de "for" es for (valorInicial; CondiciónRepetición; Incremento) Sentencia; EJEMPLOS Tablas de multiplicar del 1 al 5 using System; public class {
  • 8. 2 public static void Main() { int tabla, numero; for (tabla=1; tabla<=5; tabla++) for (numero=1; numero<=10; numero++) Console.WriteLine("{0} por {1} es {2}", tabla, numero, tabla*numero); } } Si queremos que se hagan varias cosas, basta definirlas como un bloque (una sentencia compuesta) encerrándolas entre llaves. Por ejemplo, si queremos mejorar el ejemplo anterior haciendo que deje una línea en blanco entre tabla y tabla using System; public class {
  • 9. 3 public static void Main() { int tabla, numero; for (tabla=1; tabla<=5; tabla++) { for (numero=1; numero<=10; numero++) Console.WriteLine("{0} por {1} es {2}", tabla, numero, tabla*numero); Console.WriteLine(); } } } Ejemplo, podemos contar con letras así: using System; public class {
  • 10. 4 public static void Main() { char letra; for (letra='a'; letra<='z'; letra++) Console.Write("{0} ", letra); } } Programa que escribiera los números del 1 al 10 using System; public class { public static void Main() { int contador; for (contador=1; contador<=10; contador++)
  • 11. 5 Console.Write("{0} ", contador); } } Si queremos contar de forma decreciente, o de dos en dos, o como nos interese, basta indicarlo en la condición de finalización del "for" y en la parte que lo incrementa using System; public class { public static void Main()
  • 12. 6 { char letra; for (letra='z'; letra>='a'; letra--) Console.Write("{0} ", letra); } } Tablas de multiplicar del 0 al 10 using System; public class { public static void Main() { int multiplicar, numero; for (multiplicar=1; multiplicar<=10; multiplicar++) for (numero=1; numero<=10; numero++) Console.WriteLine("{0} por {0} es {2}", multiplicar, numero, multiplicar*numero); } }
  • 13. 7 CICLO WHILE EN C# Si queremos hacer que una sección de nuestro programa se repita mientras se cumpla una cierta condición, usaremos la orden "while". Esta orden tiene dos formatos distintos, según comprobemos la condición al principio o al final. Es decir, la sentencia se repetirá mientras la condición sea cierta. Si la condición es falsa ya desde un principio, la sentencia no se ejecuta nunca. Si queremos que se repita más de una sentencia, basta agruparlas entre { y } SINTAXIS while (condición) sentencia; EJEMPLOS Un ejemplo que nos diga si cada número que tecleemos es positivo o negativo, y que pare cuando tecleemos el número 0, using System; public class Ejemplo16 { public static void Main() { int numero; Console.Write("Teclea un número (0 para salir): "); numero = Convert.ToInt32(Console.ReadLine());
  • 14. 8 while (numero != 0) { if (numero > 0) Console.WriteLine("Es positivo"); else Console.WriteLine("Es negativo"); Console.WriteLine("Teclea otro número (0 para salir): "); numero = Convert.ToInt32(Console.ReadLine()); } } Por ejemplo, si queremos contar del 1 al 5, nuestra variable empezaría en 1, aumentaría una unidad en cada repetición y se repetiría hasta llegar al valor 5 using System; public class Ejemplo16b {
  • 15. 9 public static void Main() { int n = 1; while (n < 6) { Console.WriteLine(n); n = n + 1; } } } Realizar un programa que imprima en pantalla los números del 1 al 100. using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace EstructuraRepetitivaWhile1 { class Program { static void Main(string[] args)
  • 16. 10 { int x; x = 1; while (x <= 100) { Console.Write(x); Console.Write(" - "); x = x + 1; } Console.ReadKey(); } } } Escribir un programa que solicite la carga de un valor positivo y nos muestre desde 1 hasta el valor ingresado de uno en uno. using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace
  • 17. 11 { class Program { static void Main(string[] args) { int n,x; string linea; Console.Write("Ingrese el valor final:"); linea=Console.ReadLine(); n=int.Parse(linea); x=1; while (x<=n) { Console.Write(x); Console.Write(" - "); x = x + 1; } Console.ReadKey(); } }
  • 18. 12 } Desarrollar un programa que permita la carga de 10 valores por teclado y nos muestre posteriormente la suma de los valores ingresados y su promedio. using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace { class Program { static void Main(string[] args) { int x,suma,valor,promedio; string linea; x=1; suma=0; while (x<=10) {
  • 19. 13 Console.Write("Ingrese un valor:"); linea = Console.ReadLine(); valor=int.Parse(linea); suma=suma+valor; x=x+1; } promedio=suma/10; Console.Write("La suma de los 10 valores es:"); Console.WriteLine(suma); Console.Write("El promedio es:"); Console.Write(promedio); Console.ReadKey(); } } }
  • 20. 14 CICLO DO WHILE EN C# Este es el otro formato que puede tener la orden "while": la condición se comprueba al final (equivale a "repetir…mientras"). El punto en que comienza a repetirse se indica con la orden "do", Al igual que en el caso anterior, si queremos que se repitan varias órdenes (es lo habitual), deberemos encerrarlas entre llaves. SINTAXIS do sentencia; while (condición) EJEMPLOS Programa que nos pide una clave de acceso y no nos deja entrar hasta que tecleemos la clave correcta using System; public class { public static void Main() { int valida = 711; int clave; do {
  • 21. 15 Console.Write("Introduzca su clave numérica: "); clave = Convert.ToInt32(Console.ReadLine()); if (clave != valida) Console.WriteLine("No válida!"); } while (clave != valida); Console.WriteLine("Aceptada."); } } Si preferimos que la clave sea un texto en vez de un número, los cambios al programa son mínimos, basta con usar "string" using System; public class { public static void Main()
  • 22. 16 { string valida = "secreto"; string clave; do { Console.Write("Introduzca su clave: "); clave = Console.ReadLine(); if (clave != valida) Console.WriteLine("No válida!"); } while (clave != valida); Console.WriteLine("Aceptada."); } }
  • 23. 17 Imprima los números de 1 al 10 con ciclo do while using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace { class Program { static void Main(string[] args) { int iContador = 0; do { iContador++; Console.WriteLine("{0}", iContador); } while (iContador < 10); Console.ReadLine(); }
  • 24. 18 } } Programa para sacar el promedio using System; class Program { static void Main(string[] args) { int c1 = 0, i = 0; Console.WriteLine("Programa para Promedio"); Console.Write("cuantas calificaciones son: "); c1 = int.Parse(Console.ReadLine()); float pf = 0 do { Console.Write("Dame la calificacion: "); pf += float.Parse(Console.ReadLine()); } while (++i < c1); pf /= c1;
  • 25. 19 Console.WriteLine("promedio = " + pf); Console.ReadLine(); } } Programa que nos pide una clave de acceso y no nos deja entrar hasta que tecleemos la clave correcta using System; public class Ejemplo23 { public static void Main() { int valida = 711; int clave; do { Console.Write("Introduzca su clave numérica: "); clave = Convert.ToInt32(Console.ReadLine()); if (clave != valida) Console.WriteLine("No válida!n"); }
  • 26. 20 while (clave != valida); Console.WriteLine("Aceptada.n"); } } CONCLUSIONES C# Se trata de un lenguaje moderno, evolucionado a partir de C y C++, y con una sintaxis muy similar a la de Java. Los programas creados con C# no suelen ser tan rápidos como los creados con C, pero a cambio la productividad del programador es mucho mayor. Es un programa estandarizado posteriormente por ECMA y por ISO, y del que existe una implementación alternativa de "código abierto", el "proyecto Mono", que está disponible para Windows, Linux, Mac OS X y otros sistemas operativos RECOMENDACIONES En la actualidad se está comenzando a desarrollar aplicaciones más sofisticadas para los Smarth Phones, Palm y Pocket PC, debido al avance de procesamiento, memoria y sus sistemas operativos es estos. Lo mencionado en este párrafo trae como consecuencia una mayor movilidad de los usuarios, conservando aplicaciones similares a la de una PC de escritorio. Tener un ordenador más potente pero a cambio incluye un entorno de desarrollo muy avanzado, y está disponible también en una versión gratuita (Visual Studio Express Edition). Identificar el tipo de datos a utilizar