Anda di halaman 1dari 10

Programacin I

Ingeniera en Telecomunicaciones
Conferencia #1: Introduccin a C#.

Sumario
Introduccin a la asignatura
Introduccin a la Arquitectura .NET y C#
Fundamentos de la Programacin Orientada a Objetos
Fundamentos bsicos de C#

Objetivos
Comprender los conceptos bsicos de la Arquitectura .NET y el lenguaje de
programacin C#.
Mostrar los tipos de datos fundamentales del lenguaje.
Reconocer y diferenciar las variables.
Construir expresiones sencillas.

Desarrollo
Introduccin a la asignatura
La asignatura Programacin I, forma parte de las asignaturas de la disciplina de
computacin, presenta 48 horas presenciales y tiene los siguientes objetivos
instructivos.

Objetivos instructivos:
Utilizar eficientemente un lenguaje de alto nivel de propsito general en la
programacin de algoritmos relacionados con el clculo cientfico y
aplicaciones a su perfil de trabajo.
Explotar un sistema especfico de programacin con sus utilitarios,
bibliotecas, facilidades de edicin y puesta a punto, etc.
Elaborar programas que permitan fcilmente la interpretacin por el hombre
y que en su ejecucin brinden facilidades de interaccin con el sistema.
Describir estructuras de datos bsicos (arreglos y estructuras) y los
algoritmos generales para su manipulacin.
Utilizacin de algoritmos relacionados con las aplicaciones afines a su carrera.
Analizar y sintetizar algoritmos de mediana complejidad.

Sistema de evaluacin:
Tres evaluaciones parciales
Dos seminarios
Evaluaciones frecuentes en los laboratorios.

Conferencia #1: Introduccin a C#.
M.Sc. Yidier Rodrguez Prez de Alejo
Programacin I
2011 - 2012
Distribucin de clases
Conferencias: 8
Clases prcticas: 4
Seminarios: 2
Laboratorios: 7
Evaluaciones parciales: 3

Profesor(es)
M.Sc. Yidier Rodrguez Prez de Alejo

Otros datos
Como lenguaje de alto nivel ser utilizado el C# que es el nuevo lenguaje de
propsito general diseado por Microsoft para su Arquitectura .NET.
En el desarrollo de la asignatura se utilizar el SharpDevelop 3.0 como IDE
(Integrated Development Environment). Adems ser utilizado el Microsoft
Word y Microsoft PowerPoint en la confeccin de seminarios e informes.

Introduccin a la Arquitectura .NET y C#
Microsoft ha creado el lenguaje C# y su arquitectura, conocida como Arquitectura
.NET, con el objetivo de proporcionar a los programadores un soporte completo
para el desarrollo de aplicaciones para Windows.

La Arquitectura .NET es una API (Application Programming Interface) que
permite adems escribir programas o aplicaciones para entornos distribuidos. Para
conseguirlo, .NET facilita la creacin de servicios Web que pueden comunicarse y
combinarse unos con otros de manera totalmente independiente de la plataforma,
lenguaje de programacin y modelo de componentes con los que hayan sido
desarrollados. Esta arquitectura no solo ayuda a crear programas nuevos, sino que
tambin ofrece la posibilidad de mejorar los programas ya existentes. Est diseada
de forma que pueda comunicarse con componentes COM (Component Object
Model) para permitir compatibilidad hacia atrs con programas antiguos.

Para crear aplicaciones para la plataforma .NET, tanto servicios Web como
aplicaciones tradicionales (aplicaciones de consola, aplicaciones de ventanas,
servicios de Windows NT, etc.), Microsoft ha publicado el denominado kit de
desarrollo de software conocido como .NET Framework SDK (Software
Development Kit), que incluye las herramientas necesarias tanto para su desarrollo
como para su distribucin y ejecucin.

Estudio Independiente
Profundizar sobre la Arquitectura .NET
Conferencia #1: Introduccin a C#.
M.Sc. Yidier Rodrguez Prez de Alejo
Programacin I
2011 - 2012
Caractersticas del lenguaje C#


Fundamentos de la Programacin Orientada a Objetos (OOP
1
)
Muchos lenguajes, como C++ y Microsoft Visual Basic, se dice que soportan
objetos, pero pocos lenguajes realmente soportan todos los principios que
constituyen la programacin orientada a objetos. C# es uno de estos lenguajes: fue
diseado desde la base para ser un lenguaje verdaderamente orientado a objetos y
basado en componentes.

La programacin orientada a objetos es mucho ms que una frase comercial
(aunque haya llegado a ser as por culpa de algunas personas), una nueva sintaxis
o una nueva interfaz de programaci6n de aplicacin (API). La programacin
orientada a objetos es un conjunto completo de conceptos e ideas. Es una manera
de pensar en el problema al que va dirigido un programa de ordenador y de
afrontarlo de modo ms intuitivo e incluso ms productivo.

Si usted es nuevo en la programaci6n orientada a objetos, debe estar prevenido: la
experiencia anterior con otros lenguajes no orientados a objetos no le ayudar aqu!
De hecho, los estudios han demostrado que la gente que es nueva en programar
aprende lenguajes orientados a objetos ms rpidamente que los que empiezan con
lenguajes procedimentales como Basic, COBOL y C. Estos individuos no tienen que
desaprender ningn hbito procedimental que pueda estorbar su entendimiento
de la OOP.

Qu es un objeto?
Imaginar lo que es un objeto no resulta difcil en primera instancia, si se visualizan
de una manera fsica y concreta. Por ejemplo fjese en su propia casa. En ella hay
varios objetos bien conocidos, como sillas, televisores y computadoras.

Estos objetos poseen distintos grados de sofisticacin. Resulta evidente cual es su
aspecto y qu funcin realizan. Los trminos del argot orientado a objetos que
corresponden a las ideas de aspecto y lo que hacen serian, respectivamente,
atributos y comportamiento.

Las sillas, por ejemplo, son importantes en cuanto a atributos, pero pobres en
cuanto a comportamiento. Algunos de los atributos son patas, asiento y respaldo.
Estos atributos pueden ser utilizados para describir la silla. Se trata de tres atributos
muy simples pero que dicen mucho de la clase de silla de la que estamos hablando.
El comportamiento de una silla puede resultar algo ms difcil de describir.

1
OPP: Object Oriented Programming
Conferencia #1: Introduccin a C#.
M.Sc. Yidier Rodrguez Prez de Alejo
Programacin I
2011 - 2012
Dependiendo de la finalidad de la misma, podra ser reclinable, giratoria o rgida. Se
trata de distintos comportamientos para una determinada silla. Los
comportamientos tienen lugar en funcin de alguna accin.

En general, los objetos pueden ser descritos por completo a travs de sus atributos
y comportamiento. Los objetos no han de ser necesariamente entidades fsicas.
Pueden ser cualquier cosa imaginable. Cualquier cosa que pueda describirse
mediante atributos y/o comportamiento, es susceptible de ser un objeto.

Estudio Independiente
Qu es un objeto? Epgrafe 1, Captulo 6.
Clasificacin de los objetos. Epgrafe 2, Captulo 6.

Fundamentos bsicos de C#
A continuacin se enuncian aquellos elementos bsicos que constituyen un
programa escrito en C# los cuales se irn explicando a travs de ejemplos
ilustrativos.

Comentarios
En C# existen tres tipos de sintaxis para comentarios: de una sola lnea, de varias
lneas y XML (eXtensible Markup Language). El compilador ignora los comentarios
al leer el cdigo fuente.

Los comentarios de una sola lnea permiten explicaciones con una extensin no
superior a una lnea de texto. Comienza con un signo de barra diagonal, //. El
comentario de lnea individual puede comenzar en cualquier columna de una lnea.
Termina con el inicio de una nueva lnea o con un retorno de carro. Las lneas 1, 4 y
7 del fragmento de cdigo muestran comentarios de una sola lnea.

// Clase de inicio del programa
public class HowdyPartner
{
// Main inicia la ejecucin del programa
public static void Main()
{
// Escribir en la consola
System.Console.WriteLine(Howdy,Partner);

Los comentarios de varias lneas poseen una o varias lneas de texto dentro de
un par de delimitadores de comentario. Estos delimitadores son los marcadores de
inicio de comentario (/*) y final de comentario (*/). Todo lo que figure entre ambos
marcadores ser considerado un comentario. Las lnea 1 a 4 del fragmento
muestran un comentario de varias lneas.
Conferencia #1: Introduccin a C#.
M.Sc. Yidier Rodrguez Prez de Alejo
Programacin I
2011 - 2012
/*
* Nombre del archivo: HowdyPartner.cs
* Autor: Joe Mayo
*/

Los comentarios de documentacin XML comienzan por una triple diagonal, ///. Los
comentarios aparecen entre etiquetas XML. El compilador de C#.NET dispone de
una opcin para leer los comentarios de documentacin XML y generar
documentacin a partir de ellos. A continuacin se muestra un ejemplo con un
comentario de esta tipo.
/// <summary>
/// Prints HowdyPartner to the console.
/// </summary >

Identificadores
Los identificadores son nombres de diversos elementos de un programa que
aparecen en el cdigo, que permiten identificar de manera univoca a cada elemento
individual. Se trata de nombres de elementos como variables o campos. Son
especificados por el programador y deben tener nombres que den una idea de su
finalidad.

Los identificadores pueden consistir en prcticamente cualquier nombre, aunque
existen algunas restricciones. He aqu algunas reglas que es necesario seguir a la
hora de crear identificadores:
Utilice caracteres Unicode sin formato en cualquier parte de un identificador.
Los identificadores pueden comenzar con cualquier carcter Unicode
permitido, o con un signo de subrayado.
Inicie un identificador con un smbolo @. Esto permite el uso de palabras
clave como identificadores.

Normalmente, no est permitido el uso de palabras clave como identificadores, a
menos que aparezcan precedidas de un smbolo @. No obstante, considere
seriamente la necesidad de utilizar el smbolo @, ya que puede resultar un elemento
de confusin al leer el cdigo. Siempre hay excepciones, pero si se trata de un
requisito ineludible, actu con precaucin. He aqu algunos ejemplos de
identificadores de C# vlidos:

currentBid
_token
@override
\u0043sharp

Y ahora algunos ejemplos de identificadores no vlidos:
Conferencia #1: Introduccin a C#.
M.Sc. Yidier Rodrguez Prez de Alejo
Programacin I
2011 - 2012
1twothree // error la primera letra es un numero
Decimal // error palabra reservada
\u0027format // error carcter de formato

Palabras clave
Las palabras clave son palabras reservadas del lenguaje C#. Dado su carcter
reservado no pueden ser utilizadas como identificadores. class, public o void son
algunos ejemplos de palabras clave, son nombres de elementos permanentes del
lenguaje.

Las palabras clave tienen significados especiales predefinidos cuando se incluyen en
programas C#. La palabra clave class, por ejemplo, se usa para definir una clase
de C#. Otro ejemplo es la palabra clave void, cuyo significado es que el mtodo no
devuelve ningn valor. El uso de palabras clave en cualquier contexto distinto de
aquel para el que han sido definidas equivale a hacer cdigo ilegible.

Estudio independiente
Lista completa de palabras clave. Epgrafe 3, Captulo 2

Estilo
Estilo se refiere a la forma de expresin utilizada en un programa. Es algo distinto
del significado del cdigo. Una utilizacin adecuada de elementos de estilo puede
contribuir significativamente a la legibilidad y comprensin de los programas para
deducir de ellos la semntica del algoritmo. Estos elementos de estilo incluyen los
espacios en blanco, la colocacin de los elementos del lenguaje y los convenios de
asignacin de nombres.

Declaracin de variables
Las variables son elementos de programacin que pueden cambiar durante la
ejecucin de un programa. Se utilizan para almacenar informacin en cualquier fase
de la computacin. Cuando se ejecuta un programa, hay ciertas variables que
cambian para cumplir los objetivos de un algoritmo. Cada variable posee un tipo
especfico. La sintaxis para una definicin de variable siempre responde al siguiente
patrn:

[modificador] Tipo Identificador [inicializador];

Los modificadores se emplean para definir el nivel de accesibilidad de una
variable. C# admite seis tipos de modificadores de acceso: internal, private,
protected, public, read-only y static.

Conferencia #1: Introduccin a C#.
M.Sc. Yidier Rodrguez Prez de Alejo
Programacin I
2011 - 2012
El Tipo es un marcador de posicin que representa uno de los tipos que se
describen posteriormente en esta conferencia. Cada variable tiene que constar de
una parte Tipo en su declaracin. Anlogamente, cada declaracin de variable tiene
que poseer un identificador o nombre. Las declaraciones pueden incluir
opcionalmente un inicializador para configurar el valor de una variable en el
momento de su creacin. El tipo del valor usado para inicializar una variable tiene
que ser compatible con el tipo con el que ha sido declarada dicha variable.

Para usar una variable en una aplicacin es preciso asignarle un valor (inicializarla).
Esta operacin se realiza mediante el operador de asignacin (=) como se muestra
en el ejemplo:

public int x = 10;

Estudio independiente
Asignacin definida. Epgrafe 7, Capitulo 2.

Modificadores de las variables
Los modificadores se emplean para definir las caractersticas de una variable e
indican los niveles de accesibilidad de una variable. Por ejemplo, un modificador de
variable determina si una variable puede ser usada o modificada fuera de la clase
en la que est declarada (Tabla 1).

Tabla 1: Modificadores de variables.
Modificador Descripcin
internal
Una variable internal puede ser accedida desde el programa en el
que se declara.
private
Una variable prvate puede ser accedida desde el tipo que la
contiene.
protected
Una variable protected puede ser accedida desde la clase que la
contiene o desde los tipos derivados de la clase que la contiene.
public
Una variable publica puede ser accedida desde cualquier lugar
read-only
A una variable read-only se le asigna un valor al declararla. Si no
se le asigna valor, tomara el valor por defecto del Tipo. Como
indica su nombre, no se le puede cambiar el valor.
static
Una variable static puede ser accedida directamente desde la
clase y no desde la instancia de la clase.

Tipos bsicos de C#
Un tipo (type) es la organizacin y formato de la informacin. Por ejemplo, un tipo
integer est limitado a 32 bits. Posee un bit menos significativo, el bit 0, que puede
Conferencia #1: Introduccin a C#.
M.Sc. Yidier Rodrguez Prez de Alejo
Programacin I
2011 - 2012
ser cero o uno, y otros 30 bits que designan su magnitud. El bit ms significativo de
un integer, el que ocupa la posicin 31, designa su signo positivo o negativo. Los
integers son nmeros enteros positivos o negativos. Otro ejemplo es el tipo float
que representa nmeros racionales. Se trata de dos tipos diferentes. Poseen
formatos distintos y suelen usarse tambin para distintos fines. Por ejemplo, los
integers no pueden utilizarse para representar nmeros fraccionarios, mientras que
los floats no pueden ser utilizados de manera significativa en muchas situaciones
como nmeros enteros.

Tipos sencillos
Los tipos sencillos comprenden los tipos booleano y numrico. Los tipos numrico
se dividen a su vez en enteros y de coma flotante.

Solo existe un tipo booleano, llamado bool. Un bool puede tener valor true o
false. Los valores true y false tambin son nicos valores literales que pueden
usarse para un bool. He aqu un ejemplo:

bool isProfitable = true;

Los tipos enteros se dividen a su vez en ocho tipos diferentes, ms un tipo
carcter: sbyte, byte, short, ushort, int, uint, long, ulong y char. Todos los tipos
entero, a excepcin de char, tienen formas con y sin signo. Todos los literales de
tipo entero pueden expresarse en notacin hexadecimal usando el prefijo 0x
delante de una serie de nmeros de 0 a F. char es la excepcin de esta regla.

Un char puede obtener un nico carcter Unicode. He aqu algunos ejemplos de
declaraciones de variables char.

char middleInitial; // Sin inicializar
char yesNo = Y; // Inicializada con el carcter Y
char studentGrade = \u005A; // Unicode Z
char studentGrade = \x0041; // Unicode A

Estudio independiente
Secuencias de escape especiales y para que se usan. Epgrafe 7, Capitulo 2.

Un byte es un tipo sin signo que puede contener 8 bits de datos. Su rango va de 0 a
255. Un sbyte es un byte con signo con un rango entre -128 y 127. As se declaran
las variables byte:

byte age = 25;
sbyte normalizedTolerance = -1;
Conferencia #1: Introduccin a C#.
M.Sc. Yidier Rodrguez Prez de Alejo
Programacin I
2011 - 2012

El tipo short tiene signo y permite almacenar 16 bits. Puede guardar nmeros entre
-32768 y 32767. La variante de short sin signo ushort, permite almacenar un rango
de 0 a 65535. He aqu algunos ejemplos:

ushort numberOfJellyBeans = 62873;
short temperatureFarenheit = -36;

El tipo int tiene signo y posee un tamao de 32 bits. El tipo con signo, int, tiene un
rango de -2147483648 a 2147483647. uint no tiene signo y abarca un rango de 0 a
4294967295. Los enteros sin signo pueden tener opcionalmente un sufijo u o U. A
continuacin ejemplos:

uint nationalPopulation = 4139276850;
//Tambin 4139276850u o 4139276850U

int tradeDeficit = -2058293762;

El tipo long tiene signo y permite almacenar 64 bits en un rango de -2e63 a (2e63-
1). Por su parte ulong no tiene signo y posee un rango de 0 a 2e64. Los literales
long sin signo pueden tener sufijos con la combinacin UL en mayscula o en
minscula.

Todos los tipos presentados hasta ahora poseen un rango y tamao unvocos.

Tabla 2: Los tipos enteros.
Tipo Tamao (bits) Rango
char 16 0 a 65535
sbyte 8 -128 a 127
byte 8 0 a 255
short 16 -32768 a 32767
ushort 16 0 a 65535
int 32 -2147483648 a 2147483647
uint 32 0 a 4294967295
long 64 -9223372036854775808 a 9223372036854775807
ulong 64 0 a 18446744073709551615

C# cuenta con dos tipos de coma flotante (float y double) y un nuevo tipo
llamado decimal. Los literales de coma flotante pueden declararse opcionalmente
con notacin exponencial. Esto permite especificar nmeros muy grandes con una
cantidad mnima de espacio para escribirlos. La desventaja que presenta este
ahorro es una prdida de precisin. El formato general de la sintaxis exponencial es:
Conferencia #1: Introduccin a C#.
M.Sc. Yidier Rodrguez Prez de Alejo
Programacin I
2011 - 2012
N.NeP

donde N es un digito decimal, e puede escribirse en mayscula o minscula, y P es
el numero de cifras decimales. El smbolo indica +, - o nada, que equivale a +.
Esta es la notacin cientfica estndar.

El tipo float abarca un rango aproximado de 1.5x10
-45
a 3.4x10
38
. Tiene una
precisin de 7 dgitos. Para designar un literal de coma flotante como float, hay
que aadir el sufijo F o f. Un literal float puede escribirse con o sin notacin
exponencial, como se indica a continuacin:

float profits = 36592.73 // Tambin 56592.73F o 56592.73f
float atomicWeight = 1.54e-15;
float warpSpeed = 3.21E3;

Un tipo double tiene un rango aproximado de 5.0x10
-324
a 1.7x10
308
y una precisin
de 15 a 16 dgitos. Los literales double pueden tener un sufijo D o d y pueden
expresarse con o sin notacin exponencial.

double vectorMagnitude = 8.2e127;
doubl accumulateVolume = 7982365.83658341;

El tipo decimal tiene una precisin 28 o 29 dgitos y abarca un rango de 1.0x10
-28
a
7.9x10
28
. Los literales decimal pueden especificarse con o sin sufijo M o m. Este tipo
es muy til cuando se requiere mayor precisin, sin embargo presenta un menor
rango de valores que double.

Tabla 3: Tipos de coma flotante.
Tipo Tamao (bits) Precisin Rango
float 32 7 dgitos 1.5x10
-45
a 3.4x10
38

double 64 15-16 dgitos 5.0x10
-324
a 1.7x10
308

decimal 128 28-29 cifras decimales 1.0x10
-28
a 7.9x10
28


Estudio independiente
Escritura de un programa sencillo. Epgrafe 1, Captulo 2.
Conversiones bsicas entre variables. Epgrafe 8, Captulo 2.

Bibliografa
C# al descubierto, Joseph Mayo. Captulo 1,2 y 6 (epgrafes 1 y 2).
Materiales digitales en la red.
Notas de clase.

Anda mungkin juga menyukai