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