Sunteți pe pagina 1din 36

Universidad Nacional Autnoma de Nicaragua

Len, Nicaragua

Programacin Visual I
Ingeniera en Telemtica

Tema 2: Resumen del lenguaje

Pre-requisito: Programacin
Orientada a Objetos

Crditos: 4
Semestre: 6to

Ing. Julio Csar Gonzlez Moreno


julcgmoreno@gmail.com

Contenidos
Comentarios
Tipos
Conversin entre tipos
Identificadores
Palabras reservadas
Declaracin de constantes simblicas
Declaracin de variables
Sentencias
Arreglos o arrays
Caracteres y cadenas
Sentencias de control
Estructura de un programa C#
Bibliografa

Programacin Visual
I
Ingeniera en Telemtica

2 / 36

Comentarios
Tipos de comentarios:
De una solo lnea (como en C), no se realiza accin alguna con una
lnea de este tipo
Ejemplo:
//Esto es un comentario
De una o ms lneas
Ejemplo:
/*Estas lneas de cdigo tambin son
consideradas como comentarios*/

Programacin Visual
I
Ingeniera en Telemtica

3 / 36

Tipos (I)
Tipos en C# se clasifican en:
Tipos valor
Almacena directamente un valor (un dato)
Ejemplo: int suma = 0;
Tipos referencia
Almacena una referencia a un objeto (posicin de memoria donde
est el objeto)
Ejemplo: string cadena = null;
Todos los tipos de datos derivan de System.Object
Cualquier tipo puede ser tratado como un objeto

Programacin Visual
I
Ingeniera en Telemtica

4 / 36

Tipos (II)
Tipos en C# se clasifican en:
Tipos valor
Pueden ser inicializados al declararse
Ejemplo: bool bRetorno = true;
Tipos referencia
Los valores de referencia son creados con la palabra reservada
new
Ejemplo: frmMensaje = new frmMensaje(this);

Programacin Visual
I
Ingeniera en Telemtica

5 / 36

Tipos (III)

Programacin Visual
I
Ingeniera en Telemtica

6 / 36

Conversin entre tipos


Conversin implcita
Es automtica
Es siempre exitosa
No se pierde informacin en la conversin
Conversin explcita
Obliga a la realizacin de un conversin cast
Puede no tener xito
Puede perderse informacin en la conversin
Ejemplos:
int iValor = 123;
long lValor = iValor; //Implcita de int a long
IntValor = (int) lValor; //Explcita de long a int

Programacin Visual
I
Ingeniera en Telemtica

7 / 36

Identificadores
Se usan para dar nombres a los elementos de un programa como
variables, constantes, clases, interfaces, mtodos, espacios de nombres,
etc.
La sintaxis para formar un identificador es la siguiente:
{letra|_}[{letra|digito|_}]...
Hay diferencia entre maysculas y minsculas
Pueden estar formados hasta por 1023 caracteres

Programacin Visual
I
Ingeniera en Telemtica

8 / 36

Palabras reservadas
Conjunto de identificadores predefinidos que tienen un significado especial
para el compilador
Las palabras reservadas deben escribirse siempre en minsculas
Palabras reservadas: public, null, static, string, void, new, while, etc.
Un identificador definido por el programador no debe tener el mismo
nombre de un identificador predefinido (palabra reservada)
Ejemplo: int public = 0; //Error
Para definir un identificador con el mismo nombre de un identificador
predefinido (palabra reservada) se debe usar el carcter @ como
carcter de escape
Ejemplo: int @public = 0; //@ previene el conflicto con public

Programacin Visual
I
Ingeniera en Telemtica

9 / 36

Declaracin de constantes simblicas


Declarar una constante simblica significa decirle al compilador el nombre
de la constante y su valor
Esto se hace utilizando la palabra reservada const
Sintaxis:
const tipo <identificador> = <valor>
Ejemplo:
const double PI = 3.141592;

Programacin Visual
I
Ingeniera en Telemtica

10 / 36

Declaracin de variables (I)


public class cElementos
{

Declaracin de variable a
nivel de clase (atributo)

private int dia, mes, anyo = 2011;


public void Test(string strNombre)
{
int contador = 0;

string nombre = , apellidos = ;

Declaracin de variable a
nivel de mtodo

dia = 20;
apellidos = Morales;
nombre = strNombre;
}
}

Dependiendo de donde se declare, su uso estar limitado a la clase o al


mtodo
El espacio del programa al que queda limitado una variable se
denomina mbito de esa variable

Programacin Visual
I
Ingeniera en Telemtica

11 / 36

Declaracin de variables (II)


La visibilidad de una variable fuera de su mbito se puede modificar
anteponiendo el especificador de acceso public o private en la
declaracin
Las variables declaradas a nivel de clase
Existen en todos los mbitos dentro de la clase (variables globales)
Por defecto son iniciadas por el compilador
Variables numricas a 0, caracteres a '\0', referencias a null
Tambin pueden ser iniciadas explcitamente
Las variables declaradas a nivel de mtodo
Existen nicamente dentro del mbito del propio mtodo
No son iniciadas por el compilador
Es nuestra obligacin iniciarlas

Programacin Visual
I
Ingeniera en Telemtica

12 / 36

Sentencias
Pueden formarse a partir de:
Una palabra reservada (for, while, if, etc.)
Expresiones
Declaraciones
Llamadas a mtodos
Para escribirlas hay que tener en cuenta las siguientes consideraciones:
Toda sentencia simple termina con punto y coma (;)
Dos o ms sentencias pueden aparecer sobre una misma lnea,
separadas una de la otra por un punto y coma
Una sentencia nula empieza y termina con un punto y coma

Programacin Visual
I
Ingeniera en Telemtica

13 / 36

Arreglos o arrays (I)


Los arrays son tipos por referencia
Sus ndices comienzan en 0
Derivados de System.Array
Ejemplo: string[] a;
El tipo de datos viene dado por string[], el nombre del array es una
referencia al array
Para crear espacio para los elementos es necesario usar:
string[] a = new string[100];
Los arrays se pueden inicializar directamente:
string[] animales = {"gato", "perro", "caballo"};
int[] a2 = {1, 2, 3};

Programacin Visual
I
Ingeniera en Telemtica

14 / 36

Arreglos o arrays (II)


Informacin sobre un array:
Dimensiones: Rank
Nmero de elementos: GetLength()
Saber si es un array:
if (a is Array)
System.Console.WriteLine(Array);
Recorrer los elementos de un array sin conocer sus ndices:
string[] animales = {"gato", "perro", "caballo"};
foreach (string a in animales)
System.Console.WriteLine(a);

Programacin Visual
I
Ingeniera en Telemtica

15 / 36

Caracteres y cadenas
Existen dos tipos para manipular caracteres: char y string
char puede contener cualquier carcter Unicode (16 bits)
Manipulacin de caracteres: IsDigit(),
ToUpper(), ToLower(), ToString(), etc.

IsLetter(),

IsPunctuation(),

Una variable de tipo string es una referencia al lugar donde se guarda la


cadena
Cada vez que se modifica el valor de la cadena se asigna un nuevo bloque
de memoria y se libera el anterior
Concatenacin: operador + o usar el mtodo Concat()
string a, b;
a = "Visual";
b = " studio";
Console.WriteLine(Concatenacin con +: ", a + b);
Console.WriteLine("Concatenacin con Concat(): ", string.Concat(a, b));

Programacin Visual
I
Ingeniera en Telemtica

16 / 36

Sentencias de control (I)


Permiten tomar decisiones y realizar un proceso repetidas veces
C# dispone de las siguientes sentencias de control:
if ... else
switch
while
do ... while
for
foreach
try ... catch

Programacin Visual
I
Ingeniera en Telemtica

17 / 36

Sentencias de control (II)


Sentencia if
if (<condicin>)

Ejemplo:

<sentenciasCondTrue>

if (a>b)
Mayor=a;

if (<condicin>)

if (a>b)
{
Mayor=a;
Menor=b;
}
else
{
Mayor=b;
Menor=a;
}

{
<sentenciasCondTrue>
[else
{
<sentenciasCondFalse>
}]

Programacin Visual
I
Ingeniera en Telemtica

18 / 36

Sentencias de control (III)


Sentencia switch
Ejemplo:

switch (<expressin>)

switch(B)
{

case 5:

case Opc1 :

Console.WriteLine(B es ptimo);
A=10;

[<sentencias-1>]

break;

break;

case 1:

[case Opc2 :

case 2:

[<sentencias-2>]

case 3:

break;

case 4:

...

Console.WriteLine(B debajo del valor ptimo);


A=3;

default:

break;

<sentencias-def>

default:

break;]

Console.WriteLine(B no es vlido);

break;
}

Programacin Visual
I
Ingeniera en Telemtica

19 / 36

Sentencias de control (IV)


Sentencia while

while ejecuta instrucciones en funcin de un valor booleano


Evala la expresin booleana al principio del bucle
int i = 10;

while (true)
{
//...
}

while (i > 5)
{
//...
i--;
}

int i = 0;
while (i < 10)
{
Console.WriteLine(i);
i++;
}

Programacin Visual
I
Ingeniera en Telemtica

20 / 36

Sentencias de control (V)


Sentencia do ... while

do ejecuta instrucciones en funcin de un valor booleano


Evala la expresin booleana al final del bucle
int i = 10;

do {
//...
} while (true);

do {
//...
i--;
} while (i > 5);

int i = 0;
do {
Console.WriteLine(i);
i++;
} while (i <= 10);

Programacin Visual
I
Ingeniera en Telemtica

21 / 36

Sentencias de control (VI)


Sentencia for

for (int i = 0; i < 5; i++) { //Variable i declarada dentro del bucle


System.Console.WriteLine(i);
}
//Bucle infinito
for (;;) {
//...
}
for (int i = 1, j = 2; i <= 5; i++, j += 2) { //Mltiples expresiones
System.Console.WriteLine("i = " + i + ", j = " + j);
}

Programacin Visual
I
Ingeniera en Telemtica

22 / 36

Sentencias de control (VII)


Sentencia foreach

Ejecuta instrucciones para cada elemento de una coleccin


public void mostrarColores(string[] colores)
{
foreach (string s in colores)
{
//Muestra los elementos de la coleccin colores una por una
System.Console.WriteLine(s);
}
}

Programacin Visual
I
Ingeniera en Telemtica

23 / 36

Sentencias de control (VIII)


Sentencias try ... catch (I)

Se utilizan para manejar las excepciones que se producen durante la


ejecucin del programa
Las excepciones son un mecanismo que permite controlar situaciones de
error
Todas las excepciones derivan de la clase System.Exception

Programacin Visual
I
Ingeniera en Telemtica

24 / 36

Sentencias de control (IX)


Sentencias try ... catch (II)
Tratamiento de excepciones:
try {
// bloque normal de cdigo
//...

Ejemplo:

try {

catch {
// bloque que controla la excepcin

Console.WriteLine("Escriba un nmero");
int i = int.Parse(Console.ReadLine());

}
catch (OverflowException capturada)
{
Console.WriteLine(capturada);
}

//...
}
[ finally
{

// bloque de finalizacin que siempre se ejecuta


//...
}]

Programacin Visual
I
Ingeniera en Telemtica

25 / 36

Estructura de un programa C# (I)


Un programa C# se compone solamente de objetos
Un programa en C# contiene:
Uno o ms ficheros que contienen:
Uno o ms espacios de nombres que contienen:
Tipos de datos: clases, estructuras, interfaces, enumeraciones
y delegados
Si no se declara un namespace se asume el global por defecto

Para acceder a un tipo podemos usar un camino absoluto:


System.Console.WriteLine(Hola mundo);
o relativo:
using System;
Console.WriteLine(Hola mundo);

Programacin Visual
I
Ingeniera en Telemtica

26 / 36

Estructura de un programa C# (II)


Esqueleto mnimo aplicacin grfica C#
using System;
using System.Drawing;
using System.Windows.Forms;
public class frmAcercaDe : Form {
private PictureBox logoPictureBox;
private Label labelProductName;
private Button okButton;

Espacios de nombre
Declaracin de la clase,
derivada de Form
Atributos miembros de la clase

public frmAcercaDe() {
InitializeComponent();
}

Constructor de la clase

public string labelProductName {


get {
return this.labelProductName.Text;
}
set {
labelProductName.Text = value;
}
}

Propiedades

private void okButton_Click(object sender, EventArgs e)


{
MessageBox.Show(Programacin Visual I);
}

Mtodos

Programacin Visual I
}
Ingeniera
en Telemtica

27 / 36

Estructura de un programa C# (III)


Clases (I)
Una clase (class) es la representacin simblica de un objeto
Visto desde el lenguaje:
Se trata de un nuevo tipo de objetos definido por el programador (tipo
referencia)
Visto desde el cdigo fuente:
Se trata de un mdulo de cdigo escrito en C# almacenado en un
fichero .cs
Sintaxis:
[internal | public | private | protected]
class <nombre_clase>
{
//Atributos, propiedades y mtodos de la clase
}

Programacin Visual
I
Ingeniera en Telemtica

28 / 36

Estructura de un programa C# (IV)


Clases (II)

Las palabras reservadas internal, public, private y protected definen el


nivel de proteccin de una clase
Determinan la relacin que guarda esa clase con otras de otros
proyectos
Una clase declarada con el nivel de proteccin:
internal: solo puede ser utilizada por clases de un mismo proyecto
(nivel por default)
public: puede ser utilizada por cualquier otra clase de otro proyecto
private: es accesible solamente desde dentro de su contexto de
declaracin
protected: es accesible solamente desde dentro de su propia
declaracin o desde una clase derivada

Programacin Visual
I
Ingeniera en Telemtica

29 / 36

Estructura de un programa C# (V)


Espacios de nombre

Definen un mbito
Proporciona una forma de crear tipos globalmente nicos
Permiten agrupar las clases en tipos, denominados genricamente
espacios de nombres, en funcin de la labor que desempeen
Algunos espacios de nombre:
System
IO
Windows
Forms

Programacin Visual
I
Ingeniera en Telemtica

Web
UI

predeterminado
Otros espacios

Net

30 / 36

Estructura de un programa C# (VI)


Crear un espacio de nombre
Para crear un espacio de nombre se utiliza la palabra reservada namespace
Ejemplo:

namespace System
{
class A { }
class B { }
namespace Windows
{
namespace Forms
{
class C { }
class D { }
}
}
}
Creacin del espacio de nombres System que empaqueta las clases A y B
y el espacio de nombres Windows, que a su vez empaqueta al espacio
Forms que incluye las clases C y D

Programacin Visual
I
Ingeniera en Telemtica

31 / 36

Estructura de un programa C# (VII)


Acceder a un espacio de nombre
Acceso a una clase dentro de un espacio de nombres:
Utilizando su nombre completo
System.Console
Referencia a la clase Console del espacio de nombres System
System.Windows.Forms.Button

Referencia a la clase Button del espacio de nombres


System.Windows.Forms
Indicando el espacio de nombres donde est la clase (explcitamente)

Se utiliza la palabra reservada using al principio del cdigo


Para referirse a la clase nicamente se emplea su nombre
using System;
public class CapGrados
{
//...
Console.WriteLine(Probando...);
//...
}

Programacin Visual
I
Ingeniera en Telemtica

32 / 36

Estructura de un programa C# (VIII)


Mtodos (I)
public class hogar
{
//...
public int gastoComida(double dPrecioComida)
{
//...
return <valorEntero>;
}
//...
}

Coleccin de sentencias que ejecutan una tara especfica


Siempre pertenecen a una clase
La definicin de un mtodo no puede contener la definicin de otro
mtodo
No se permiten mtodos anidados

Programacin Visual
I
Ingeniera en Telemtica

33 / 36

Estructura de un programa C# (IX)


Mtodos (II)

Los mtodos, por defecto, son privados (private)


Ejemplo:
using System;
public class EjemploClase
{
void EjemploMetodo( )
{
Console.WriteLine("Este es un ejemplo de un mtodo");
}
}

Programacin Visual
I
Ingeniera en Telemtica

34 / 36

Estructura de un programa C# (X)


Mtodos (III)

Una vez que se ha definido un mtodo, se puede:


Llamar al mtodo desde la misma clase en la que fue declarado
Se usa el nombre del mtodo seguido de una lista de parmetros
entre parntesis
Llamar a un mtodo que est en una clase diferente
Determinar la clase que contiene el mtodo
Crear un objeto de dicha clase (cuando sea necesario)
Invocar al mtodo por su nombre seguido de una lista de
parmetros entre parntesis
El mtodo llamado se debe declarar con el especificador de acceso
public o protected

Programacin Visual
I
Ingeniera en Telemtica

35 / 36

Bibliografa
C#. Curso de Programacin
Fco. Javier Ceballos Sierra
RA-MA
Enciclopedia de Microsoft Visual C#, 2da edicin
Fco. Javier Ceballos Sierra
RA-MA
Captulo 3, pgina 38

Programacin Visual
I
Ingeniera en Telemtica

36 / 36

S-ar putea să vă placă și