Programación Aplicada - Tema 1

18
PROGRAMACIÓN APLICADA Tema 1 – Introducción al lenguaje C# Pontificia Universidad Católica Madre y Maestra Vicerrectoría Académica Facultad Ciencias de las Ingenierías Ingeniería en Sistemas y Computación - ISC

description

Diapositiva utilizada en clases hasta Enero 2013 por el profesor Miguel Moronta en las clases de Programación Aplicada, departamento de Ingeniería de Sistemas y Computación - ISC, en el campus de Santiago, Rep. Dom.

Transcript of Programación Aplicada - Tema 1

Page 1: Programación Aplicada - Tema 1

PROGRAMACIÓN APLICADATema 1 – Introducción al lenguaje C#

Pontificia Universidad Católica Madre y MaestraVicerrectoría AcadémicaFacultad Ciencias de las IngenieríasIngeniería en Sistemas y Computación - ISC

Page 2: Programación Aplicada - Tema 1

Introducción al lenguaje C#

Origen: 2000, por Microsoft.

Es un lenguaje de programación orientado a objetos desarrollado y estandarizado por Microsoft como parte de su plataforma .NET, que después fue aprobado como un estándar por la ECMA (ECMA-334) e ISO (ISO/IEC 23270). C# es uno de los lenguajes de programación diseñados para la infraestructura de lenguaje común (CLI).

Familiarización con el Ambiente de Familiarización con el Ambiente de TrabajoTrabajo

Page 3: Programación Aplicada - Tema 1

Introducción al lenguaje C#

using System;

public class HolaMundo

{

public static int Main(string[] args)

{

Console.WriteLine(“¡Hola, Mundo!");

return 0;

}

}

Familiarización con el Ambiente de Familiarización con el Ambiente de TrabajoTrabajo

Programa ejemplo Hola Mundo escrito en C#

Page 4: Programación Aplicada - Tema 1

Introducción al lenguaje C#

Tipos de DatosTipos de datos básicos del C#Tipos de datos básicos del C#

Page 5: Programación Aplicada - Tema 1

Introducción al lenguaje C#

using System;

public class Suma

{

public static int Main(string[] args)

{

int valor1, valor2;

Console.WriteLine(“Digite el primer valor: ");

valor1 = Convert.ToInt32(Console.ReadLine());

Console.WriteLine(“Digite el segundo valor: ");

valor2 = Convert.ToInt32(Console.ReadLine());

valor1+=valor2;

Console.WriteLine(“Resultado: “ + valor1);

return 0;

}

}

Familiarización con el Ambiente de Familiarización con el Ambiente de TrabajoTrabajo

Suma:Leyendo variables, haciendo cálculos y presentando resultados.

Page 6: Programación Aplicada - Tema 1

Introducción al lenguaje C#

using System;

public class Suma

{

public static int Main(string[] args)

{

int valor;

List<int> valores = new List<int>();

Console.WriteLine(“Digite los valores (0 para salir): ");

while((valor = Convert.ToInt32(Console.ReadLine())) != 0)

{

valores.Add(valor);

Console.WriteLine(“Capturado. Digite otro valor…”);

}

Console.WriteLine(“Resultado: “ + valores.Sum());

return 0;

}

}

Familiarización con el Ambiente de Familiarización con el Ambiente de TrabajoTrabajo

Suma:Aplicando listas.

Page 7: Programación Aplicada - Tema 1

Introducción al lenguaje C#

using System;

public class Matriz

{

public static int Main(string[] args)

{

int[,] matriz = new int[6,6];

Console.WriteLine("Generando una matriz 6x6:\n");

for(int i = 0; i<6; i++)

for(int j = 0; j<6; j++)

matriz[i,j] = (i+j)*(i+1)+(j*4)-(i*3)+(i*j);

foreach(int val in matriz)

Console.WriteLine("{0}", val);

Console.ReadKey();

return 0;

}

}

Familiarización con el Ambiente de Familiarización con el Ambiente de TrabajoTrabajo

Operaciones:Aplicando matrices.

Page 8: Programación Aplicada - Tema 1

Introducción al lenguaje C#

using System;

public class IfElse

{

public static int Main(string[] args)

{

int num1, num2;

Console.Write("Digite el primer valor: ");

num1 = Convert.ToInt32(Console.ReadLine());

Console.Write("Digite el segundo valor: ");

num2 = Convert.ToInt32(Console.ReadLine());

if(num1 > num2)

Console.WriteLine("{0} es mayor que {1}", num1, num2);

else if (num1 < num2)

Console.WriteLine("{0} es menor que {1}", num1, num2);

else

Console.WriteLine("{0} es igual que {1}", num1, num2);

Console.ReadKey();

return 0;

}

}

Familiarización con el Ambiente de Familiarización con el Ambiente de TrabajoTrabajo

Instrucciones de selección:Aplicandoif-else if-else.

Page 9: Programación Aplicada - Tema 1

Introducción al lenguaje C#

Operadores Relacionales

Familiarización con el Ambiente de Familiarización con el Ambiente de TrabajoTrabajo

Page 10: Programación Aplicada - Tema 1

Introducción al lenguaje C#

using System;

public class SwitchCase

{

public static int Main(string[] args)

{

int _resp;

Console.Write("¿En cuál continente nació usted?\n\n1) America\n2) Europa\n3) Africa\n4) Asia\n5) Oceanía\n\nEspecifique: ");

_resp = Convert.ToInt32(Console.ReadLine());

switch(_resp)

{

case 1:

Console.WriteLine("\nUsted es americano.");

break;

case 2:

Console.WriteLine("\nUsted es europeo.");

break;

case 3:

Console.WriteLine("\nUsted es africano.");

break;

case 4:

Console.WriteLine("\nUsted es asiático.");

break;

case 5:

Console.WriteLine("\nUsted es oceánico.");

break;

default:

Console.WriteLine("\nHa especificado una entrada incorrecta.");

break;

}

Console.ReadKey();

return 0;

}

}

Familiarización con el Ambiente de Familiarización con el Ambiente de TrabajoTrabajo

Instrucciones de selección:Aplicandoswitch-case.

Page 11: Programación Aplicada - Tema 1

Introducción al lenguaje C#

using System;

public class SwitchCase

{

public static int Main(string[] args)

{

int _filas;

Console.Write("Especifique la cant. de filas del triángulo: ");

_filas = Convert.ToInt32(Console.ReadLine());

while(_filas-- >= 0){

int _tmp = _filas;

while(_tmp-- >= 0)

Console.Write("*");

Console.WriteLine();

}

Console.ReadKey();

return 0;

}

}

Familiarización con el Ambiente de Familiarización con el Ambiente de TrabajoTrabajo

Ciclos/Bucles:Uso del while.

Page 12: Programación Aplicada - Tema 1

Introducción al lenguaje C#

using System;

public class ForEach

{

static void Main(string[] args)

{

int[] fibarray = new int[] { 0, 1, 2, 3, 5, 8, 13 };

foreach (int i in fibarray)

{

System.Console.WriteLine(i);

}

}

}

Familiarización con el Ambiente de Familiarización con el Ambiente de TrabajoTrabajo

Ciclos/Bucles:Uso del foreach.

Page 13: Programación Aplicada - Tema 1

Introducción al lenguaje C#

using System;

using System.IO;

class Program

{

static void Main(string[] args){

// Crear un archivo llamado prueba.txt.

using (Stream s = new FileStream(“prueba.txt”, FileMode.Create))

{

Console.WriteLine(s.CanRead); // True

Console.WriteLine(s.CanWrite); // True

Console.WriteLine(s.CanSeek); // True

s.WriteByte(101);

s.WriteByte(102);

byte[] bloque = {1, 2, 3, 4, 5};

s.Write(bloque, 0, bloque.Length); // Graba 5 bytes

// CÓDIGO PARA DESPLAZARNOS Y LEER.

}

}

}

Familiarización con el Ambiente de Familiarización con el Ambiente de TrabajoTrabajo

Archivos de Texto:Lectura y escritura.

Page 14: Programación Aplicada - Tema 1

Introducción al lenguaje C#

Console.WriteLine(s.Length); // 7

Console.WriteLine(s.Position); // 7

s.Position = 0; // Nos movemos al inicio.

Console.WriteLine(s.ReadByte()); // 101

Console.WriteLine(s.ReadByte()); // 102

// Volvemos a leer desde el Stream al arreglo:

Console.WriteLine(s.Read(bloque, 0, bloque.Length));

/* Si la línea anterior retornó 5, estaremos al final del archivo, por lo que volver a leer nos retorna 0*/

Console.WriteLine(s.Read(bloque, 0, block.Length));

Familiarización con el Ambiente de Familiarización con el Ambiente de TrabajoTrabajo

Archivos de Texto:Lectura y escritura.

Page 15: Programación Aplicada - Tema 1

Introducción al lenguaje C#

Etiquetas de modo de acceso:

Familiarización con el Ambiente de Familiarización con el Ambiente de TrabajoTrabajo

Page 16: Programación Aplicada - Tema 1

Introducción al lenguaje C#

// StopJoin.cs

using System;

using System.Threading;

public class Alpha

{

// Este método será invocado cuando inicie el hilo.

public void Beta()

{

while (true)

{

Console.WriteLine("Alpha.Beta está ejecutando en su propio hilo.");

}

}

};

Familiarización con el Ambiente de Familiarización con el Ambiente de TrabajoTrabajo

Hilos Múltiples:Declaración, invocación y retraso.

Page 17: Programación Aplicada - Tema 1

Introducción al lenguaje C#

public class Simple

{

public static int Main()

{

Console.WriteLine(“Ejemplo de Thread Start/Stop/Join");

Alpha oAlpha = new Alpha();

// Crear el objeto Hilo, pasándole el método Alpha.Beta

// a través de un delegado ThreadStart. Esta parte no inicia el hilo.

Thread oThread = new Thread(new ThreadStart(oAlpha.Beta));

// Iniciar el hilo

oThread.Start();

// Esperar a que el estado del hilo sea “Alive”

while (!oThread.IsAlive);

// Detener el hilo principal por un milisegundo para que

// oThread haga su trabajo:

Thread.Sleep(1);

// Enviar la interrupción:

oThread.Abort();

Familiarización con el Ambiente de Familiarización con el Ambiente de TrabajoTrabajo

Hilos Múltiples:Declaración, invocación y retraso.

Page 18: Programación Aplicada - Tema 1

Introducción al lenguaje C#

// Esperar a que oThread termine. Join también tiene

// sobrecargas para esperar un interval de tiempo.

oThread.Join();

Console.WriteLine();

Console.WriteLine("Alpha.Beta terminó.");

try

{

Console.WriteLine(“Intenta reiniciar el hilo Alpha.Beta");

oThread.Start();

}

catch (ThreadStateException)

{

Console.Write("ThreadStateException tratando de reiniciar Alpha.Beta. ");

Console.WriteLine(“Fue esperado, debido a que los hilos abortados no pueden ser reiniciados.");

}

return 0;

}

}

Familiarización con el Ambiente de Familiarización con el Ambiente de TrabajoTrabajo

Hilos Múltiples:Declaración, invocación y retraso.