Intro2

28
NOMBRE: ING: SEMESTRE: III “A” i

Transcript of Intro2

Page 1: Intro2

NOMBRE:

ING:

SEMESTRE: III “A”

2013-2014

i

Page 2: Intro2

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

DEDICATORIA

ii

Page 3: Intro2

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.

AGRADECIMIENTO

iii

Page 4: Intro2

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.

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

iv

Page 5: Intro2

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.

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#.

v

Page 6: Intro2

vi

Page 7: Intro2

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

{

public static void Main()

{

1

Page 8: Intro2

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

{

public static void Main()

{

int tabla, numero;

for (tabla=1; tabla<=5; tabla++)

2

Page 9: Intro2

{

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

{

public static void Main()

{

char letra;

for (letra='a'; letra<='z'; letra++) Console.Write("{0} ", letra);

}

3

Page 10: Intro2

}

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++)

Console.Write("{0} ", contador);

}

}

4

Page 11: Intro2

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()

{

char letra;

for (letra='z'; letra>='a'; letra--) Console.Write("{0} ", letra);

}

}

5

Page 12: Intro2

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);

}

}

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

6

Page 13: Intro2

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());

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());

}

}

7

Page 14: Intro2

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

{

public static void Main()

{

int n = 1;

while (n < 6)

{

Console.WriteLine(n);

n = n + 1;

}

}

}

8

Page 15: Intro2

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)

{

int x;

x = 1;

while (x <= 100)

{

Console.Write(x);

Console.Write(" - ");

x = x + 1;

}

Console.ReadKey();

}

}

9

Page 16: Intro2

}

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

{

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);

10

Page 17: Intro2

Console.Write(" - ");

x = x + 1;

}

Console.ReadKey();

}

}

}

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;

11

Page 18: Intro2

x=1;

suma=0;

while (x<=10)

{

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();

}

}

}

12

Page 19: Intro2

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;

13

Page 20: Intro2

do

{

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

{

14

Page 21: Intro2

public static void Main()

{

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.");

}

}

Imprima los números de 1 al 10 con ciclo do while

15

Page 22: Intro2

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();

}

}

}

Programa para sacar el promedio

using System;

16

Page 23: Intro2

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;

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

17

Page 24: Intro2

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");

}

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

18

Page 25: Intro2

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

19