tag:blogger.com,1999:blog-17260592335825155302024-02-19T05:55:25.440+01:00El Blog para aprender a programar Blog "der Waki"
Desarrollo de softwareJoaquin Martínezhttp://www.blogger.com/profile/07166016070485946881noreply@blogger.comBlogger22125tag:blogger.com,1999:blog-1726059233582515530.post-51693448493973490962016-07-21T20:07:00.001+02:002016-07-22T00:37:05.502+02:00Redireccionar a wakicode<div dir="ltr" style="text-align: left;" trbidi="on">
Hola a tod@s<br />
Si queréis visitar mi blog, me he mudado a <a href="https://wakicode.com/">wakicode.com</a> donde podréis consultar los artículos de este blog y los que vaya añadiendo.<br />
Saludos y bienvenidos a mi nuevo sitio<br />
Nota: Este blog se redireccionará automáticamente a https://wakicode.com.
</div>
Joaquin Martínezhttp://www.blogger.com/profile/07166016070485946881noreply@blogger.com0tag:blogger.com,1999:blog-1726059233582515530.post-6916029884682133232016-07-19T21:51:00.000+02:002016-07-19T21:54:43.229+02:00Calculadora Números Complejos (C# y WPF)<div dir="ltr" style="text-align: left;" trbidi="on">
<span style="font-family: inherit; font-size: large;">Java y C# son lenguajes muy parecidos, de hecho C# deriva de C++, Java y otros lenguajes alimentándose de lo bueno de cada uno; particularmente para mi es el mejor por su potencia y sus increíbles mejoras que nos hacen la programación mucho más fácil.</span><br />
<div style="text-align: left;">
<span style="font-family: inherit; font-size: large;">En el anterior post, describí una calculadora de números complejos en Java y en este, lo implemento con C# y WPF. Con esto intento tres cosas, en primer lugar demostrar que la clase (muy pero que muy similar a la de Java) es invariable porque me daría igual usar una aplicación de consola o gráfica, otra es que podáis ver la diferencia entre lenguajes pero la similitud estructural y por último implementarla mediante WPF con el cual nos vamos a ahorrar mucho código quedando la aplicación muy limpia y robusta y de camino os enseño como se aplican estilos a los controles.</span><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhrqFF8bwBVdpDWBME2W2COyPTufaHCy5GUbhzpknnWljtL-BwHAmHYRWvLGzIRAUcG72TfaTP4Oz9Bc3qokpZmx2ppCtq30DN_aSyxlb-1da2-W0ovb1AkCDwZkhhOe3JF3B_rRG8OiPU/s1600/ComplexCalc.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: inherit; font-size: large;"><img border="0" height="300" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhrqFF8bwBVdpDWBME2W2COyPTufaHCy5GUbhzpknnWljtL-BwHAmHYRWvLGzIRAUcG72TfaTP4Oz9Bc3qokpZmx2ppCtq30DN_aSyxlb-1da2-W0ovb1AkCDwZkhhOe3JF3B_rRG8OiPU/s400/ComplexCalc.png" width="400" /></span></a></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<span style="font-family: inherit; font-size: large;"><br /></span></div>
<div style="text-align: left;">
<span style="font-family: inherit; font-size: large;">Lo primero vayamos a la clase <span style="font-family: "courier new" , "courier" , monospace;">Complex</span>. Las principales diferencias con la de Java son las que voy a enumerar.</span></div>
<ol style="text-align: left;">
<li><span style="font-family: inherit; font-size: large;">Implemento la interfaz <span style="font-family: "courier new" , "courier" , monospace;">INotifyPropertyChanged</span> de modo que la clase debe contener el evento <span style="font-family: "courier new" , "courier" , monospace;">public event PropertyChangedEventHandler PropertyChanged;</span> el cual invocamos mediante el método <span style="font-family: "courier new" , "courier" , monospace;">OnPropertyChanged(string p_PropertyName)</span> cada vez que cambia la propiedad de la parte real o imaginaria de un número complejo.</span></li>
<li><span style="font-family: inherit; font-size: large;">En esta clase, he sobrecargado las operaciones básicas de suma, resta, multiplicación, división y negación (a este operador le he asignado el opuesto). Para ver como lo he hecho, os paso el código de la operación suma con el que con un método</span>
<pre class="brush: csharp">public static Complex operator + (Complex _complex1, Complex _complex2)
{
return new Complex(_complex1.Real + _complex2.Real, _complex1.Imaginary + _complex2.Imaginary);
}
</pre>
<span style="font-family: inherit; font-size: large;">
permitiéndome efectuar sumas sobre dos complejos.
</span></li>
</ol>
<div>
<span style="font-size: large;"></span><span style="font-family: inherit;"></span><br /></div>
<div>
<span style="font-family: inherit; font-size: large;">A continuación paso el código completo de la clase.</span></div>
<pre class="brush: csharp">/* ************************************************************************************************************************************************
* © JOAQUIN MARTINEZ RUS 2015
* PROYECTO: ComplexCalc. Calculadora de números complejos
* Archivo: Complex.cs
* Descripción: Clase de números complejos
* Historial:
* 1. Joaquin Martínez Rus - 18 jul 2016. Creación
*
* Comentarios:
*
*
**************************************************************************************************************************************************/
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ComplexCal
{
public class Complex: INotifyPropertyChanged
{
#region Constructor
public Complex(double _real=0, double _imaginary=0)
{
this.Real = _real;
this.Imaginary = _imaginary;
}
public Complex(Complex _complex)
{
this.Real = _complex.Real;
this.Imaginary = _complex.Imaginary;
}
#endregion
#region Propiedades
private double real;
private double imaginary;
public event PropertyChangedEventHandler PropertyChanged;
public double Module { get; set; }
public double DegreesAngle { get; set; }
public double RadiansAngle { get; set; }
public double Imaginary
{
get { return imaginary; }
set
{
imaginary = value;
SetPolarComplex();
OnPropertyChanged("Imaginary");
OnPropertyChanged("ToString");
}
}
public double Real
{
get { return real; }
set
{
real = value;
SetPolarComplex();
OnPropertyChanged("Real");
OnPropertyChanged("ToString");
}
}
public string ToBinomialString
{
get
{
return "z = " + this.Real.ToString("F2") + (this.Imaginary < 0 ? " - " : " + ") + Math.Abs(this.Imaginary).ToString("F2") + " i";
}
}
public string ToPolarString
{
get
{
return "z = " + this.Module.ToString("F2") + ") " + this.DegreesAngle.ToString("F1") + "°";
}
}
public string ToString
{
get { return this.ToBinomialString + new string(' ',10) + this.ToPolarString; }
}
#endregion
#region Private Methods
/// <summary>
/// Asigna el módulo y el argumento de un número complejo
/// </summary>
void SetPolarComplex()
{
this.Module= Math.Sqrt(Math.Pow(this.Real, 2) + Math.Pow(this.Imaginary, 2));
this.RadiansAngle= Math.Atan2(this.Imaginary, this.Real);
this.DegreesAngle = this.RadiansAngle * 180 / Math.PI;
}
#endregion
#region Static Public Methods
// SOBRECARGA DE LOS OPERADORES BÁSICOS
public static Complex operator + (Complex _complex1, Complex _complex2)
{
return new Complex(_complex1.Real + _complex2.Real, _complex1.Imaginary + _complex2.Imaginary);
}
public static Complex operator - (Complex _complex1, Complex _complex2)
{
return new Complex(_complex1.Real - _complex2.Real, _complex1.Imaginary - _complex2.Imaginary);
}
public static Complex operator * (Complex _complex1, Complex _complex2)
{
return new Complex((_complex1.Real * _complex2.Real - _complex1.Imaginary * _complex2.Imaginary),
(_complex1.Real * _complex2.Imaginary + _complex1.Imaginary * _complex2.Real));
}
public static Complex operator / (Complex _complex1, Complex _complex2)
{
double xx = (_complex1.Real * _complex2.Real + _complex1.Imaginary * _complex2.Imaginary) / (Math.Pow(_complex2.Real, 2) + Math.Pow(_complex2.Imaginary, 2));
double yy = (_complex1.Imaginary * _complex2.Real - _complex1.Real * _complex2.Imaginary) / (Math.Pow(_complex2.Real, 2) + Math.Pow(_complex2.Imaginary, 2));
return new Complex(xx, yy);
}
public static Complex operator ! (Complex _complex)
{
return new Complex(-_complex.Real, -_complex.Imaginary);
}
#endregion
#region Public Methods
/// <summary>
/// Inicia el evento de cambio de propiedad
/// </summary>
/// <param name="p_PropertyName" />Nombre de la propiedad
public void OnPropertyChanged(string p_PropertyName)
{
if (this.PropertyChanged != null)
{
this.PropertyChanged(this, new PropertyChangedEventArgs(p_PropertyName));
}
}
/// <summary>
/// Efectúa una copia del objeto
/// </summary>
/// <param name="_complex" />Objeto desde el cual se efectúa la copia
public void Clone(Complex _complex)
{
this.Real = _complex.Real;
this.Imaginary = _complex.Imaginary;
}
/// <summary>
/// Devuelve el conjugado de un número complejo
/// </summary>
/// <param name="complex" />Número complejo al que se le calcula
/// <returns>Objeto Complex</returns>
public Complex Conjugate(Complex complex)
{
return new Complex(complex.Real, -complex.Imaginary);
}
/// <summary>
/// Devuelve el conjugado de un número complejo
/// </summary>
/// <returns>Objeto Complex</returns>
public Complex Conjugate()
{
return Conjugate(this);
}
/// <summary>
/// Determina cuando una instancia y un objeto tienen los mismos valores
/// </summary>
/// <param name="_complex" />El objeto a comparar con la instancia
/// <returns>Valor booleano</returns>
public bool Equals(Complex _complex)
{
if (_complex == null)
{
return false;
}
if (this.GetType() != _complex.GetType())
{
return false;
}
return this.Real == _complex.Real && this.Imaginary == _complex.Imaginary;
}
/// <summary>
/// Obtiene el inverso del objeto Complex actual
/// </summary>
/// <returns>Objeto Complex</returns>
public Complex Reverse()
{
return Reverse(this);
}
/// <summary>
/// Obtiene el inverso de un objeto Complex
/// </summary>
/// <param name="_complex" />Objeto Complex del que se obtiene el inverso
/// <returns>Objeto Complex</returns>
public Complex Reverse(Complex _complex)
{
double denominador = Math.Pow(_complex.Real, 2) + Math.Pow(_complex.Imaginary, 2);
return new Complex(_complex.Real / denominador, -_complex.Imaginary / denominador);
}
/// <summary>
/// Retorna el objeto Complex en formato Polar
/// </summary>
/// <param name="isDegrees" />La salida se muestra en grados sexagesimales
/// <returns>String</returns>
public string PolarToString(bool isDegrees)
{
return this.Module.ToString("D1") + ")" + (isDegrees?this.DegreesAngle.ToString("D1"):this.RadiansAngle.ToString("D2"));
}
/// <summary>
/// Retorna el objeto Complex en formato Polar
/// </summary>
/// <returns>String</returns>
public string PolarToString()
{
return PolarToString(true);
}
#endregion
}
}
</pre>
<span style="font-family: inherit; font-size: large;">Ahora damos paso al código XAML del formulario. Lo primero declaramos los recursos de la ventana con <span style="font-family: "courier new" , "courier" , monospace;">Window.Resources</span> y en este lugar, incluimos los estilos. He creado tres estilos, uno llamado <span style="font-family: "Courier New", Courier, monospace;">normal</span> aplicado a los controles <span style="font-family: "courier new" , "courier" , monospace;">TextBlock</span>, otro llamado <span style="font-family: "courier new" , "courier" , monospace;">header</span> que hereda de normal y por tanto es aplicado a los mismos controles y un tercer estilo llamado <span style="font-family: "courier new" , "courier" , monospace;">textBox</span> aplicado a controles <span style="font-family: "courier new" , "courier" , monospace;">TextBox</span> (muy original, eh?), por tanto a cada control que le asigne este estilo se le aplicarán los valores de las propiedades incluidas en el estilo a no ser que se sobreescriban al crear el control.( En el control <span style="font-family: "courier new" , "courier" , monospace;">TextBox</span> he incluido un validador para que no se incluya texto que no sea numérico, pero eso lo veremos otro día)</span><br />
<span style="font-family: inherit; font-size: large;">Una vez creados los estilos vamos a centrarnos en el control <span style="font-family: "courier new" , "courier" , monospace;">TextBlock</span> del siguiente código:</span> <br />
<br />
<pre class="brush: xml"><StackPanel x:Name="stackResult" Orientation="Horizontal" Grid.Column="2" Grid.Row="5" Grid.ColumnSpan="5">
<TextBox x:Name="textBoxReal1" Style="{StaticResource textBox}" Text="{Binding Real}"/>
<TextBlock x:Name="labelComplexNumberResult" Style="{StaticResource normal}" Text="{Binding ToString}" Margin="123,0,0,0"/>
</StackPanel>
</pre>
<ol>
<li><span style="font-size: large;">Le asignamos un nombre</span></li>
<li><span style="font-size: large;">Le asignamos el estilo con </span><span style="font-family: "courier new" , "courier" , monospace; font-size: large;">Style="{StaticResource textBox}"</span></li>
<li><span style="font-size: large;">Le asignamos el valor enlazado de la propiedad <span style="font-family: "courier new" , "courier" , monospace;">Text</span> con la propiedad <span style="font-family: "courier new" , "courier" , monospace;">Real</span> de la clase <span style="font-family: "courier new" , "courier" , monospace;">Complex</span>. <span style="font-family: "courier new" , "courier" , monospace;">Style="{StaticResource textBox}" Text="{Binding Real}"</span>¿Y de donde extrae los datos la propiedad <span style="font-family: "courier new" , "courier" , monospace;">Text</span>? </span></li>
</ol>
<span style="font-size: large;">Para que los controles sepan de donde tienen que extraer los datos de la clase <span style="font-family: "courier new" , "courier" , monospace;">Complex</span>, al crear la ventana principal, asigno a cada <span style="font-family: "courier new" , "courier" , monospace;">StackPanel</span> donde se encuentran contenidos los controles de cada número, la clase desde donde se alimentará y cada vez que se alteren los datos de cada clase, se visualizarán automáticamente en los controles sin necesidad de código. Por tanto en el code-behind de la ventana principal solo y exclusivamente incluyo la declaración de los tres objetos <span style="font-family: "courier new" , "courier" , monospace;">Complex</span>, los dos de cálculo y el resultado, la asignación del <span style="font-family: "courier new" , "courier" , monospace;">DataContext</span> de los <span style="font-family: "courier new" , "courier" , monospace;">StackPanel</span>, los métodos de los eventos de cambio de propiedad y cambio de operación y el cálculo de la operación.</span><br />
<pre class="brush: csharp">/* ************************************************************************************************************************************************
* © JOAQUIN MARTINEZ RUS 2015
* PROYECTO: ComplexCalc. Calculadora de números complejos
* Archivo: MainWindow.cs
* Descripción: Clase de la ventana principal
* Historial:
* 1. Joaquin Martínez Rus - 18 jul 2016. Creación
*
* Comentarios:
*
*
**************************************************************************************************************************************************/
using System.Windows;
using System.Windows.Controls;
namespace ComplexCal
{
/// <summary>
/// Interaction logic for MainWindow.xaml
/// </summary>
public partial class MainWindow : Window
{
Complex c1 = new Complex(2,4);
Complex c2 = new Complex(3,5);
Complex ComplexResult=new Complex();
public MainWindow()
{
InitializeComponent();
// asignar a los Stackpanel el Datacontext de cada objeto Complex
stackC1.DataContext = c1;
stackC2.DataContext = c2;
stackResult.DataContext = ComplexResult;
// Crear evento para que cada vez que se cambie una propiedad, se calcule la operación
c1.PropertyChanged += Complex_PropertyChanged;
c2.PropertyChanged += Complex_PropertyChanged;
}
private void Complex_PropertyChanged(object sender, System.ComponentModel.PropertyChangedEventArgs e)
{
Calculate(comboBox.SelectionBoxItem.ToString());
}
private void comboBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
ComboBoxItem op = e.AddedItems[0] as ComboBoxItem;
Calculate(op.Content.ToString());
}
/// <summary>
/// Efectúa el cálculo entre dos números complejos
/// </summary>
/// <param name="operatorToString" />Operador
void Calculate(string operatorToString)
{
switch (operatorToString)
{
case "+":
ComplexResult.Clone(c1 + c2);
break;
case "-":
ComplexResult.Clone(c1 - c2);
break;
case "x":
ComplexResult.Clone(c1 * c2);
break;
case "÷":
ComplexResult.Clone(c1 / c2);
break;
case "Inverso":
ComplexResult.Clone(c1.Reverse());
break;
case "Conjugado":
ComplexResult.Clone(c1.Conjugate());
break;
case "Opuesto":
ComplexResult.Clone(!c1);
break;
}
}
}
}
</pre>
<span style="font-size: large;">y el código XAML full:</span><br />
<pre class="brush: xml"><Window x:Class="ComplexCal.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:ComplexCal"
mc:Ignorable="d"
Title="Complex Calc" Height="480" Width="640">
<Window.Resources>
<Style x:Key="normal" TargetType="TextBlock">
<Setter Property="VerticalAlignment" Value="Center"/>
<Setter Property="FontSize" Value="14"/>
<Setter Property="FontFamily" Value="Segoe UI"/>
<Setter Property="Height" Value="25"/>
<Setter Property="Width" Value="Auto"/>
</Style>
<Style x:Key="header" TargetType="TextBlock" BasedOn="{StaticResource normal}">
<Setter Property="FontWeight" Value="Bold"/>
<Setter Property="VerticalAlignment" Value="Bottom"/>
<Setter Property="HorizontalAlignment" Value="Center"/>
</Style>
<Style x:Key="textBox" TargetType="TextBox">
<Setter Property="VerticalAlignment" Value="Center"/>
<Setter Property="Height" Value="25"/>
<Setter Property="Width" Value="50"/>
<Setter Property="HorizontalAlignment" Value="Center"/>
<Setter Property="Validation.ErrorTemplate">
<Setter.Value>
<ControlTemplate>
<DockPanel LastChildFill="true">
<Border Background="OrangeRed" DockPanel.Dock="right" Margin="5,0,0,0"
Width="20" Height="20" CornerRadius="5"
ToolTip="{Binding ElementName=customAdorner,
Path=AdornedElement.(Validation.Errors)[0].ErrorContent}">
<TextBlock Text="!" VerticalAlignment="center" HorizontalAlignment="center"
FontWeight="Bold" Foreground="white" />
</Border>
<AdornedElementPlaceholder Name="customAdorner" VerticalAlignment="Center" >
<Border BorderBrush="red" BorderThickness="1" />
</AdornedElementPlaceholder>
</DockPanel>
</ControlTemplate>
</Setter.Value>
</Setter>
<Setter Property="Margin" Value="20,0,0,0"/>
</Style>
</Window.Resources>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="28*"/>
<ColumnDefinition Width="27*"/>
<ColumnDefinition Width="82*"/>
<ColumnDefinition Width="132*"/>
<ColumnDefinition Width="154*"/>
<ColumnDefinition Width="60*"/>
<ColumnDefinition Width="149*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="49*"/>
<RowDefinition Height="49*"/>
<RowDefinition Height="49*"/>
<RowDefinition Height="49*"/>
<RowDefinition Height="49*"/>
<RowDefinition Height="49*"/>
<RowDefinition Height="155*"/>
</Grid.RowDefinitions>
<TextBlock x:Name="labelReal" Grid.Column="2" Grid.Row="1" Style="{StaticResource header}" Text="Real"/>
<TextBlock x:Name="labelImaginaria" Grid.Column="3" Grid.Row="1" Style="{StaticResource header}" Text="Imaginaria"/>
<TextBlock x:Name="labelNumberHeader" Grid.Column="4" Grid.Row="1" Style="{StaticResource header}" Text="Número complejo"/>
<TextBlock x:Name="z1" Grid.Column="1" Grid.Row="2" Style="{StaticResource normal}" Text="z1" Margin="0,12"/>
<TextBlock x:Name="z2" Grid.Column="1" Grid.Row="4" Style="{StaticResource normal}" Text="z2" Margin="0,12" />
<TextBlock x:Name="op" Grid.Column="2" Grid.Row="3" Style="{StaticResource normal}" Text="Operación" Margin="0,12"/>
<ComboBox x:Name="comboBox" Grid.Column="3" HorizontalAlignment="Left" Grid.Row="3" VerticalAlignment="Center" Width="80" Height="25" SelectionChanged="comboBox_SelectionChanged">
<ComboBoxItem Content="+" IsSelected="True"/>
<ComboBoxItem Content="-"/>
<ComboBoxItem Content="x"/>
<ComboBoxItem Content="÷"/>
<ComboBoxItem Content="Inverso"/>
<ComboBoxItem Content="Conjugado"/>
<ComboBoxItem Content="Opuesto"/>
</ComboBox>
<StackPanel x:Name="stackC1" Orientation="Horizontal" Grid.Column="2" Grid.Row="2" Grid.ColumnSpan="5">
<TextBox x:Name="textBoxReal1" Style="{StaticResource textBox}" Text="{Binding Real}"/>
<TextBox x:Name="textBoxImagin1" Style="{StaticResource textBox}" Text="{Binding Imaginary}"/>
<TextBlock x:Name="labelComplexNumber1" Style="{StaticResource normal}" Text="{Binding ToString}" Margin="50,0,0,0" />
</StackPanel>
<StackPanel x:Name="stackC2" Orientation="Horizontal" Grid.Column="2" Grid.Row="4" Grid.ColumnSpan="5">
<TextBox x:Name="textBoxReal2" Style="{StaticResource textBox}" Text="{Binding Real}"/>
<TextBox x:Name="textBoxImagin2" Style="{StaticResource textBox}" Text="{Binding Imaginary}"/>
<TextBlock x:Name="labelComplexNumber2" Style="{StaticResource normal}" Text="{Binding ToString}" Margin="50,0,0,0" />
</StackPanel>
<StackPanel x:Name="stackResult" Orientation="Horizontal" Grid.Column="2" Grid.Row="5" Grid.ColumnSpan="5">
<TextBlock x:Name="result" Style="{StaticResource header}" Text="Resultado" VerticalAlignment="Center"/>
<TextBlock x:Name="labelComplexNumberResult" Style="{StaticResource normal}" Text="{Binding ToString}" Margin="123,0,0,0"/>
</StackPanel>
</Grid>
</Window></pre>
<pre class="brush: xml"></pre>
<span style="font-size: large;">Pues esto es todo, la clase <span style="font-family: "courier new" , "courier" , monospace;">Complex</span> en C# y su ejecución bajo WPF con los controles enlazados. </span><br />
<span style="font-size: large;">Nos vemos. Saludos</span></div>
Joaquin Martínezhttp://www.blogger.com/profile/07166016070485946881noreply@blogger.com0tag:blogger.com,1999:blog-1726059233582515530.post-10703030027965400662016-07-18T00:53:00.001+02:002016-07-19T20:37:38.703+02:00Calculadora de números complejos (Java)<div dir="ltr" style="text-align: left;" trbidi="on">
<span style="font-size: large;">En este caso, voy a detallar una clase sencilla que implementa una calculadora de números complejos en Java.</span><br />
<span style="font-size: large;">Para los que no lo recuerden, un número complejo consta de dos partes, una parte real y una parte imaginaria; la parte imaginaria se compone del número <i>√-1</i> o lo que es lo mismo <i>i</i>. Un número complejo lo podemos representar vectorialmente como <i>z = (a,b)</i>, binomial <i>z = a + bi</i>, polar mediante un módulo y un ángulo <i>z = r </i></span><sub><span style="font-size: large;"><i>α</i>, </span></sub><span style="font-size: large;">trigonométrica <i>z = r (cos α + i sin α)</i> y por último la forma exponencial y que no voy a incluir en la clase aunque a mi parecer es la más elegante <i>e </i></span><sup><span style="font-size: large;"><i>iα</i></span></sup><span style="font-size: large;"><i> = cos α + i sin α</i>.</span><br />
<span style="font-size: large;">Cada forma tiene su fin, por ejemplo la suma y las resta son más fáciles con la forma binomial mientras que la multiplicación, división y exponenciación lo son con la forma polar; en el caso de la clase todos los cálculos los he realizado con la forma binomial.</span><br />
<span style="font-size: large;">Si pasamos a la clase, como ya he comentado está implementada en Java y consta de cuatro propiedades, parte real mediante x, parte imaginaria mediante y, el módulo que es calculado en base de <i>x</i> e <i>y</i>, y por último el argumento o ángulo.</span><br />
<span style="font-size: large;"></span><br />
<span style="font-size: large;">A continuación paso el diagrama de la clase donde se exponen los métodos con la mayoría de las operaciones:</span><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhmfxJSLYzSLm7sNXwLr_bJw7tLT4zVPHsfZ0EU3Eo1eHoIqIHnl-d9vfGJcH_IVQaoSM4-EVCj9uw25Cc-dBKL0F2AoAtkym7SS0O2Ragll94HvXy5s9mDFgqAjL88tDuyW1T5Bq85CuY/s1600/ComplexUML.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="640" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhmfxJSLYzSLm7sNXwLr_bJw7tLT4zVPHsfZ0EU3Eo1eHoIqIHnl-d9vfGJcH_IVQaoSM4-EVCj9uw25Cc-dBKL0F2AoAtkym7SS0O2Ragll94HvXy5s9mDFgqAjL88tDuyW1T5Bq85CuY/s640/ComplexUML.png" width="378" /></a></div>
<span style="font-size: large;">Pasando un ejemplo</span>
<br />
<pre class="brush: java"> // Pasamos dos números complejos
// Efectuamos los cálculos
Complex c1=new Complex(4,5);
Complex c2=new Complex(7,6);
System.out.println("(" + c1.toString() + ") + (" + c2.toString() + ") = " + c1.addComplex(c2));
System.out.println("(" +c1.toString() + ") - (" + c2.toString() + ") = " + c1.substractComplex(c2));
System.out.println("(" +c1.toString() + ") x (" + c2.toString() + ") = " + c1.multiplyComplex(c2));
System.out.println("(" +c1.toString() + ") / (" + c2.toString() + ") = " + c1.divideComplex(c2));
System.out.println("Opuesto de " + c1.toString() + " = " + c1.opposite().toString());
System.out.println("Inverso de " + c1.toString() + " = " + c1.reverse().toString());
System.out.println(c1.toString() + " = " + c1.polarToString());
System.out.println(c1.toString() + " = " + c1.polarToString(true));
System.out.println(c2.toString() + " = " + c2.polarToString());
System.out.println(c2.toString() + " = " + c2.polarToString(true));
c2.convertToBinomial(5, 36.86*Math.PI/180);
System.out.println("Convertir 5) 36.86º a binomial = " + c2.toString());
</pre>
<span style="font-size: large;">Resultado</span><br />
<span style="font-size: large;"><br /></span>
<br />
<pre>(4 + 5i) + (7 + 6i) = 11 + 11i
(4 + 5i) - (7 + 6i) = -3 -1i
(4 + 5i) x (7 + 6i) = -2 + 59i
(4 + 5i) / (7 + 6i) = 0,68 + 0,13i
Opuesto de 4 + 5i = -4 -5i
Inverso de 4 + 5i = 0,1 -0,12i
4 + 5i = 5,7)0,896 radians
4 + 5i = 5,7)51,3º
7 + 6i = 9,9)0,709 radians
7 + 6i = 9,9)40,6º
Convertir 5) 36.86º a binomial = 4 -3i
</pre>
<span style="font-size: large;"><br /></span>
<span style="font-size: large;">A continuación paso el código:</span><br />
<br />
<pre class="brush: java">/******************************************************
* @author: Joaquín Martínez Rus (c) 2016
* @version: 1.0
* File: Complex.java
* Created: 17/07/2016
* Project: Calculadora de números complejos
* Comments: Clase Complex.
*******************************************************/
public class Complex {
/**
* Inicia una nueva instancia de la clase Complex con valor z = 0 + 0i;
*/
public Complex(){
this(0,0);
}
/**
* Inicia una nueva instancia de la clase Complex
* @param _x Parte real
* @param _y Parte imaginaria
*/
public Complex(double _x, double _y){
this.x=_x;
this.y=_y;
this.setModule();
this.setGrades();
}
double x;
double y;
double module;
double grades;
public double getX() {
return x;
}
public void setX(double x) {
this.x = x;
}
public double getY() {
return y;
}
public void setY(double y) {
this.y = y;
}
public double getModule() {
return module;
}
/**
* Asigna y calcula el valor del módulo
*/
public void setModule(){
this.module=Math.sqrt(Math.pow(x, 2)+ Math.pow(x, 2));
}
/**
* Asigna el valor del módulo
*/
public void setModule(double module) {
this.module = module;
}
public double getGrades() {
return grades;
}
public void setGrades() {
this.grades = Math.atan2(y, x);
}
public void setGrades(double grades) {
this.grades = grades;
}
/**
* Suma al número complejo otro número complejo
* @param _complex Número complejo de la suma
* @return Objeto Complex
*/
public Complex addComplex(Complex _complex){
return new Complex(this.x + _complex.x, this.y + _complex.y);
}
/**
* Resta al número complejo otro número complejo
* @param _complex Número complejo de la resta
* @return Objeto Complex
*/
public Complex substractComplex(Complex _complex){
return new Complex(this.x - _complex.x, this.y - _complex.y);
}
/**
* Multiplica al número complejo otro número complejo
* @param _complex Número complejo de la multiplicación
* @return Objeto Complex
*/
public Complex multiplyComplex(Complex _complex){
return new Complex((this.x * _complex.x - this.y * _complex.y),
(this.x * _complex.y + this.y * _complex.x));
}
/**
* Divide el número complejo actual entre el valor del parámetro
* @param _complex Denominador
* @return Objeto Complex
*/
public Complex divideComplex(Complex _complex){
return divideComplex(this,_complex);
}
/**
* Divide dos números complejos
* @param _complex1 Numerador
* @param _complex2 Denominado
* @return Objeto Complex
*/
public Complex divideComplex(Complex _complex1, Complex _complex2){
double xx = (_complex1.x * _complex2.x + _complex1.y * _complex2.y)/(Math.pow(_complex2.x,2)+Math.pow(_complex2.y,2));
double yy = (_complex1.y * _complex2.x - _complex1.x * _complex2.y)/(Math.pow(_complex2.x,2)+Math.pow(_complex2.y,2));
return new Complex(xx, yy);
}
/**
* Obtiene un número complejo en forma vectorial
* @return Cadena de texto
*/
public String vectorialtoString(){
return "(" + ConsoleUtilities.toNumber(this.x,2) + ", " + ConsoleUtilities.toNumber(this.y,2) + ")";
}
/**
* Obtiene un número complejo en forma binomial
* @return Cadena de texto
*/
@Override
public String toString(){
return ConsoleUtilities.toNumber(this.x,2) + (this.y < 0? " - ": " + ") + ConsoleUtilities.toNumber(this.y,2) + "i";
}
/**
* Obtiene un número complejo en forma polar
* @return Cadena de texto
*/
public String polarToString(){
return polarToString(false);
}
/**
* Obtiene un número complejo en forma polar
* @param isDegrees Mostrar como grados centigrados o radianes
* @return Cadena de texto
*/
public String polarToString(boolean isDegrees){
double angle=isDegrees?this.getGrades()*180/Math.PI:this.getGrades();
String angleToString = (isDegrees?ConsoleUtilities.toNumber(angle,1):ConsoleUtilities.toNumber(angle,3)) + (isDegrees? "º": " radians");
return ConsoleUtilities.toNumber(this.module,1) + ")" + angleToString;
}
/**
* Obtiene el conjugado de un número complejo
* @param complex Número complejo
* @return Objeto Complex
*/
public Complex conjugate(Complex complex){
return new Complex(complex.x, - complex.y);
}
/**
* Calcula el opuesto de un número complejo
* @return Objeto Complex
*/
public Complex opposite(){
return opposite(this);
}
/**
* Calcula el opuesto de un número complejo
* @param _complex Número complejo
* @return Objeto Complex
*/
public Complex opposite(Complex _complex){
return new Complex(-_complex.x, - _complex.y);
}
/**
* Obtiene el conjugado de un número complejo
* @return Objeto Complex
*/
public Complex conjugate(){
return conjugate(this);
}
/**
* Obtiene el inverso de un número complejo
* @return Objeto Complex
*/
public Complex reverse(){
return reverse(this);
}
/**
* Obtiene el inverso de un número complejo
* @param complex Número complejo del cálculo
* @return Objeto Complex
*/
public Complex reverse(Complex complex){
double denominador=Math.pow(complex.x, 2) + Math.pow(complex.y, 2);
return new Complex( complex.x/denominador, - complex.y/denominador);
}
/**
* Convierte un número complejo de forma polar a binomial
* @param module Modulo del número complejo
* @param argument Argumento en radianes del número complejo
* @return Objeto Complex
*/
public Complex convertPolarToBinomial(double module, double argument){
double _x = Math.abs(module) * Math.cos(argument);
double _y = Math.abs(module) * Math.sin(argument);
return new Complex(_x,-_y);
}
/**
* Asigna los valores real e imaginario en base al módulo y el argumento
* @param module Modulo del número complejo
* @param argument Argumento en radianes del número complejo
*/
public void convertToBinomial(double module, double argument){
Complex _complex=convertPolarToBinomial(module, argument);
this.x=_complex.x;
this.y=_complex.y;
}
/**
* Comprueba dos números complejos
* @param _complex Número complejo a comparar
* @return Objeto Complex
*/
public boolean equals(Complex _complex){
if (_complex==null) {
return false;
}
if (this.getClass()!=_complex.getClass()) {
return false;
}
return this.x ==_complex.x && this.y == _complex.y;
}
}
</pre>
<br />
<span style="font-size: large;">Consejos.
</span><br />
<ul>
<li><span style="font-size: large;">La clase debe estar bien definida. Constructores, propiedades y métodos</span></li>
<li><span style="font-size: large;">Antes de escribir código, genera un diagrama de clases como mínimo (esto implica pensar que vas a hacer), además una buena estructura puede hacer nuestro código más robusto.</span></li>
<li><span style="font-size: large;">Piensa en las cuatro características de la Programación Orientada a Objetos, Abstracción, Encapsulamiento, Herencia y Polimorfismo (hay alguna más, pero estas son las principales y debes tenerlas muy claras)</span></li>
<li><span style="font-size: large;">Los métodos deben contener el código justo. Un método con mucho código no hace la clase legible y lo vuelve débil.</span></li>
<li><span style="font-size: large;">Las clases deben funcionar en cualquier medio. Si usara esta clase en modo gráfico con ventanas en vez de modo consola, debería de funcionar del igual modo, solo debo llamar al método de operación y obtener su resultado mediante los métodos apropiados.</span></li>
<li><span style="font-size: large;">Usa los comentarios, tanto dentro de los métodos como en su documentación. Por ejemplo, si llamo al método divideComplex de la clase Complex, cuando estoy escribiendo el método, aparecerá el método y el texto que nosotros escribimos, en este caso yo escribí "<i>Divide el número complejo actual entre el valor del parámetro</i>" junto con los parámetros y el valor retornado. Cuando las clases se hacen muy grandes y complejas, es necesario documentarlas todo lo que se pueda.</span></li>
</ul>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhZyxr1stUAeGYdZZM1HYdqHXSsTSd2SJekaa2FpkGmKJrH_VYekR5-UbE3BCZMuZy1ujTrmfNMuDzfi4W_wle-KpOjIFbC-TzoSsXJ6YBeoFoQq5voJYsrw0y55I1Et3ecOVoNcDybXC8/s1600/ComplexHelp.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="271" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhZyxr1stUAeGYdZZM1HYdqHXSsTSd2SJekaa2FpkGmKJrH_VYekR5-UbE3BCZMuZy1ujTrmfNMuDzfi4W_wle-KpOjIFbC-TzoSsXJ6YBeoFoQq5voJYsrw0y55I1Et3ecOVoNcDybXC8/s400/ComplexHelp.png" width="400" /></a></div>
<div>
<span style="font-size: large;"><br /></span></div>
<ul>
<li><span style="font-size: large;">Además de los comentarios, a mi me gusta agrupar el código por regiones con Java uso </span></li>
</ul>
<pre class="brush: java">// <editor-fold defaultstate="collapsed" desc="REQUEST FROM KEYBOARD">
/**
* Devuelve un valor desde el teclado
* @param textIn Texto que se visualiza en la consola
* @return Texto procedente del teclado
* @throws IOException
*/
public static String readText(String textIn, boolean allowEmpty) throws IOException{
// Declaración de variables
BufferedReader keyboardIn=new BufferedReader(new InputStreamReader(System.in));
String textOut=null;
// Imprimir texto de consola
System.out.println(textIn);
// Solicitar datos desde teclado
do {
textOut=keyboardIn.readLine();
} while (ConsoleUtilities.isNullOrEmpty(textOut) && !allowEmpty);
// Retornar texto
return textOut;
}
// </editor-fold>
</pre>
<span style="font-size: large;">Esto me va permitir expandir o contraer todo el código contenido entre las etiquetas o para el caso de C# </span><br />
<span style="font-size: large;"><br /></span>
<br />
<pre class="brush: csharp">#region Private Methods
// Aquí iría el código
#endregion
</pre>
<br />
<span style="font-size: large;">o Visual Basic</span>
<br />
<br />
<pre class="brush: vb">#Región MiRegion
#End Region
</pre>
<div>
<span style="font-size: large;"><br /></span></div>
<ul>
<li><span style="font-size: large;">Cíñete a la nomenclatura estándar con cada lenguaje de programación, por ejemplo <a href="http://www.elclubdelprogramador.com/2011/08/22/java-nomenclatura-estandar-del-codigo-java/" target="_blank">Java</a> o <a href="https://msdn.microsoft.com/es-es/library/ff926074.aspx" target="_blank">C#</a> o <a href="https://msdn.microsoft.com/es-es/library/0b283bse.aspx" target="_blank">Visual Basic</a>.</span></li>
<li><span style="font-size: large;">Créate un clase con herramientas, por ejemplo, para aplicaciones del tipo consola en Java, tengo una clase con métodos estáticos donde implemento herramientas que puedo usar en este medio como un método que genera un menú automáticamente, un lector desde teclado de texto o números, un formateador de texto, un serializador, etc. Para C# tengo otro tipo de clases donde extiendo funcionalidades a las clases creadas, en fin, código que reutilizaré más a menudo de lo que me pienso.</span></li>
<li><span style="font-size: large;">Si hacemos todo esto, en un futuro nos será más fácil, modificar, entender que hicimos o ampliar nuestras clases.</span></li>
</ul>
<div style="text-align: left;">
<span style="font-size: large;">Y esto es todo por hoy. Saludos!</span></div>
<ul>
</ul>
</div>
Joaquin Martínezhttp://www.blogger.com/profile/07166016070485946881noreply@blogger.com0tag:blogger.com,1999:blog-1726059233582515530.post-41971136922291243472016-07-13T19:28:00.000+02:002016-07-13T19:37:25.343+02:00Mensajería única (2)<div dir="ltr" style="text-align: left;" trbidi="on">
<span style="font-size: large;">Una vez que podemos pasar datos entre formularios como en la entrada </span><a href="http://codewaki.blogspot.com.es/2016/07/mensajeria-comunitaria-de-una-app.html" target="_blank"><span style="font-size: large;">Mensajería única</span></a><span style="font-size: large;">, WPF nos lo pone mucho más fácil y con mucho menos código. </span><br />
<span style="font-size: large;">Lo primero de todo debemos enlazar los controles con los datos de la clase y para ello debemos tener algún conocimiento de XAML y WPF (no es el fin de este artículo enseñar WPF)</span><br />
<span style="font-size: large;"></span><br />
<span style="font-size: large;">Para llevar a cabo el paso de mensajes entre formularios mediante XAML, he creado una nueva ventana con un control <span style="font-family: "courier new" , "courier" , monospace;">Grid</span> con tres columnas y tres filas, un control <span style="font-family: "courier new" , "courier" , monospace;">TextBlock</span> y un control <span style="font-family: "courier new" , "courier" , monospace;">ProgressBar</span>.</span><br />
<span style="font-size: large;">Las propiedades de los controles se enlazan con datos, estos datos proceden de una clase de negocio y esta clase es <span style="font-family: "courier new" , "courier" , monospace;">Message</span>.</span><br />
<span style="font-size: large;">En WPF, para instanciar una clase, debemos hacerlo desde los recursos de la página o de un control, dependiendo del ámbito que se pretenda abarcar. En este caso, yo declaro la clase <span style="font-family: "courier new" , "courier" , monospace;">Message</span> en los recursos del objeto <span style="font-family: "courier new" , "courier" , monospace;">Grid</span>.</span><br />
<span style="font-size: large;"></span><br />
<span style="font-size: large;">Una vez declarada, se creará una instancia de <span style="font-family: "courier new" , "courier" , monospace;">Message</span> en cada nueva ventana y los controles se enlazan a la clase con <span style="font-family: "courier new" , "courier" , monospace;">Binding</span> en la propiedad del control que pretendemos enlazar y haciendo referencia a la propiedad de la clase <span style="font-family: "courier new" , "courier" , monospace;">Message</span>. He incluido un conversor en la propiedad <span style="font-family: "courier new" , "courier" , monospace;">Visibility</span> del control <span style="font-family: "courier new" , "courier" , monospace;">ProgressBar</span> para convertir valores booleanos en valores de la enumeración <span style="font-family: "courier new" , "courier" , monospace;">Visibility</span> como <span style="font-family: "courier new" , "courier" , monospace;">Visible, Hidden o Collapse</span>; si es <span style="font-family: "courier new" , "courier" , monospace;">true, Visible y si es False, Collapse</span>. En este caso hacemos los mismo, que es declarar la clase <span style="font-family: "courier new" , "courier" , monospace;">ConvertBoolToVisible</span> (la cual implementa la interfaz <span style="font-family: "courier new" , "courier" , monospace;">IValueConverter</span>) con una <span style="font-family: "courier new" , "courier" , monospace;">key</span> llamada <span style="font-family: "courier new" , "courier" , monospace;">btv</span>.</span><br />
<span style="font-size: large;">He hecho un <span style="font-family: "courier new" , "courier" , monospace;">binding</span> sobre la propiedad <span style="font-family: "courier new" , "courier" , monospace;">Text</span> del <span style="font-family: "courier new" , "courier" , monospace;">TextBlock</span> a la propiedad <span style="font-family: "courier new" , "courier" , monospace;">infoText</span> de la clase <span style="font-family: "courier new" , "courier" , monospace;">Message</span>, la propiedad <span style="font-family: "courier new" , "courier" , monospace;">Value</span> del control <span style="font-family: "courier new" , "courier" , monospace;">ProgressBar</span> con la propiedad <span style="font-family: "courier new" , "courier" , monospace;">progress</span> de <span style="font-family: "courier new" , "courier" , monospace;">Message</span> y por último la propiedad <span style="font-family: "courier new" , "courier" , monospace;">Visibility</span> con <span style="font-family: "courier new" , "courier" , monospace;">progressIsVisible</span> ya su vez con el conversor <span style="font-family: "courier new" , "courier" , monospace;">btv</span>.</span><br />
<br />
<pre class="brush: xml highlight: [12, 13]"><Window x:Class="WpfApplication1.Window2"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:WpfApplication1"
mc:Ignorable="d"
Title="Window2" Height="300" Width="300">
<Grid x:Name="grid" DataContext="message">
<Grid.Resources>
<local:ConvertBoolToVisible x:Key="btv"/>
<local:Message x:Key="message"/>
</Grid.Resources>
<Grid.RowDefinitions>
<RowDefinition Height="100"/>
<RowDefinition Height="100*"/>
<RowDefinition Height="100*"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="100*"/>
<ColumnDefinition Width="100*"/>
<ColumnDefinition Width="100*"/>
</Grid.ColumnDefinitions>
<TextBlock x:Name="tb" Text="{Binding infoText}" Grid.Row="0" Grid.Column="0" Grid.ColumnSpan="3" HorizontalAlignment="Center" VerticalAlignment="Center"/>
<ProgressBar x:Name="pb" Minimum="0" Maximum="100" Value="{Binding progress}"
Visibility="{Binding Path=progressIsVisible, Converter={StaticResource btv}}"
Grid.Column="0" Grid.Row="1" Grid.ColumnSpan="3" HorizontalAlignment="Center" Width="150" Margin="71,0,71,65"/>
</Grid>
</Window>
</pre>
<br />
<span style="font-size: large;">Y el código (code-behind)? Muchísmo más reducido, ya que en este caso solo existe un objeto <span style="font-family: "courier new" , "courier" , monospace;">Message</span> de clase, asignamos dinámicamente el <span style="font-family: "courier new" , "courier" , monospace;">DataContext</span> del control <span style="font-family: "courier new" , "courier" , monospace;">Grid</span> (que será desde donde se alimenten los controles) y añadimos el evento <span style="font-family: "courier new" , "courier" , monospace;">CollectionChanged</span>. </span><br />
<span style="font-size: large;">Para este caso, he efectuado dos cambios en la clase <span style="font-family: "courier new" , "courier" , monospace;">Message</span>:</span><br />
<ul style="text-align: left;">
<li><span style="font-size: large;">Creación de un nuevo método público llamado <span style="font-family: "courier new" , "courier" , monospace;">Clone</span> en la clase <span style="font-family: "courier new" , "courier" , monospace;">Message</span> que copia las propiedades de un objeto <span style="font-family: "courier new" , "courier" , monospace;">Message</span> al mismo objeto.</span></li>
<li><span style="font-size: large;">Implementación de la interfaz <span style="font-family: "courier new" , "courier" , monospace;">INotifyPropertyChanged</span> por la clase <span style="font-family: "courier new" , "courier" , monospace;">Message</span> de modo que debe implementar el método <span style="font-family: "courier new" , "courier" , monospace;">OnPropertyChanged</span> para que la ventana detecte los cambios en las propiedades y pueda asignar los valores.</span></li>
<li><span style="font-size: large;">Creación del método <span style="font-family: "courier new" , "courier" , monospace;">OnPropertyChanged("propertyName")</span> el cual llamará al evento </span><span style="font-family: "courier new" , "courier" , monospace; font-size: large;">this.PropertyChanged(this, new PropertyChangedEventArgs(p_PropertyName));</span></li>
<li><span style="font-size: large;">Modificación en el set de las propiedades, incluyendo la llamada al método </span><span style="font-family: "courier new" , "courier" , monospace; font-size: large;"><u>OnPropertyChanged("propertyName").</u></span></li>
</ul>
<span style="font-size: large;">Cada vez que se añada un nuevo mensaje, se clonará el objeto mensaje con los nuevos datos y se visualizarán en pantalla efectuando el mismo resultado que conseguimos mediante código, pero esta vez con menos código.</span><br />
<span style="font-size: large;"></span><br />
<span style="font-size: large;"><u>Clase Message modificada</u></span><br />
<pre class="brush: csharp highlight: [139, 140, 141, 142, 143, 144, 145]">using System;
using System.ComponentModel;
namespace WpfApplication1
{
public class Message: INotifyPropertyChanged
{
#region Constructor
public Message()
{
this.infoText = "";
this.progress = 0;
this.progressIsVisible = false;
}
public Message(string _text, bool _isVisible, int _progress)
{
setMessage(_text, _isVisible, _progress);
}
#endregion
#region Properties
private string _infotext;
private int _progress;
public int progress
{
get { return _progress; }
set
{
//if (_progress!=value)
//{
//}
_progress = value;
OnPropertyChanged("progress");
}
}
public string infoText
{
get { return _infotext; }
set
{
//if (_infotext!=value)
//{
// EventArgsMessage eventArgsMessage = new EventArgsMessage(_infotext,value);
//}
_infotext = value;
OnPropertyChanged("infoText");
}
}
private bool _progressIsVisible;
public bool progressIsVisible
{
get { return _progressIsVisible; }
set
{
_progressIsVisible = value;
OnPropertyChanged("progressIsVisible");
}
}
public string infoText2 { get; set; }
#endregion
#region Events
public event EventHandler<EventArgsMessage> ChangedTextEventHandler;
public event EventHandler<EventArgsProgress> ChangedProgressEventHandler;
public event PropertyChangedEventHandler PropertyChanged;
public void OnPropertyChanged(String p_PropertyName)
{
if (this.PropertyChanged != null)
{
this.PropertyChanged(this, new PropertyChangedEventArgs(p_PropertyName));
}
}
#endregion
#region Private Methods
void OnChangedText(EventArgsMessage e)
{
if (ChangedTextEventHandler!=null)
{
ChangedTextEventHandler(this, e);
}
}
void OnChangedProgress(EventArgsProgress e)
{
if (ChangedProgressEventHandler!=null)
{
ChangedProgressEventHandler(this, e);
}
}
#endregion
#region Public Methods
/// <summary>
/// Asigna los valores al mensaje
/// </summary>
/// <param name="_text" />Texto del mensaje
/// <param name="_isVisible" />Visibilidad del mensaje
/// <param name="_progress" />Progreso
public void setMessage(string _text, bool _isVisible, int _progress)
{
this.infoText = _text;
this.progressIsVisible = _isVisible;
this.progress = _progress;
}
/// <summary>
/// Borra los valores del mensaje
/// </summary>
public void Clear()
{
setMessage("", false, 0);
}
/// <summary>
/// Efectua una copia de las propiedades de un mensaje
/// </summary>
/// <param name="message" />Objeto a clonar
public void Clone(Message message)
{
this.infoText = message.infoText;
this.infoText2 = message.infoText2;
this.progressIsVisible = message.progressIsVisible;
this.progress = message.progress;
}
#endregion
}
public class EventArgsMessage:EventArgs
{
public EventArgsMessage() { }
public EventArgsMessage (string _oldText, string _newText)
{
this.oldText = oldText;
this.newText = _newText;
}
public string oldText { get; set; }
public string newText { get; set; }
}
public class EventArgsProgress : EventArgs
{
public EventArgsProgress() { }
public EventArgsProgress(int _newValue)
{
this.newValue = _newValue;
}
public int newValue { get; set; }
}
}
</pre>
<span style="font-size: large;"><u>Code-Behind de la ventana</u></span><br />
<br />
<pre class="brush: csharp highlight: [7, 10, 18]">public partial class Window2 : Window
{
public Window2()
{
InitializeComponent();
App.messages.CollectionChanged += Messages_CollectionChanged;
this.grid.DataContext = m;
}
Message m = new Message();
private void Messages_CollectionChanged(object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e)
{
if (e.Action == System.Collections.Specialized.NotifyCollectionChangedAction.Add)
{
foreach (var item in e.NewItems)
{
m.Clone((Message)item);
}
}
}
}
</pre>
<span style="font-size: large;"><br /></span>
<span style="font-size: large;">He aquí una muestra</span><br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhp5gRnpyIL2HkoSMdD3cR95EfrFG3U5C07h9E6jNu7Fy0FKFHe9RG7KFn2658H9ikdu0iCwyllDn6wBJeibrd83IaD2B9bZI3RkMJdiQp0uGnv61ainKDQlRwW-R9BjuOcmAjPcCW8Fsk/s1600/Loading2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="400" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhp5gRnpyIL2HkoSMdD3cR95EfrFG3U5C07h9E6jNu7Fy0FKFHe9RG7KFn2658H9ikdu0iCwyllDn6wBJeibrd83IaD2B9bZI3RkMJdiQp0uGnv61ainKDQlRwW-R9BjuOcmAjPcCW8Fsk/s640/Loading2.png" width="640" /></a></div>
<br />
<span style="font-size: large;">Pues esto es todo. Estoy a vuestra disposición para cualquier duda.</span><br />
<span style="font-size: large;"></span><br />
<span style="font-size: large;">Un saludo</span><br />
<br /></div>
Joaquin Martínezhttp://www.blogger.com/profile/07166016070485946881noreply@blogger.com0tag:blogger.com,1999:blog-1726059233582515530.post-72716607673821737212016-07-06T00:48:00.000+02:002016-07-13T20:15:01.520+02:00Mensajería única<div dir="ltr" style="text-align: left;" trbidi="on">
<div dir="ltr" style="text-align: left;" trbidi="on">
<span style="font-family: inherit; font-size: large;">Estaba mejorando mi sistema de mensajería para mis aplicaciones y he pensado, ¿por qué no lo publicas?, pues ahí va. (Este en concreto es con WPF)<br />Cuando desarrollo mis aplicaciones, intento que todas tengan un sistema de mensajería con el que pueda comunicarse cualquier ventana de la aplicación con esta, de modo que generando un mensaje por ejemplo, "cargando caché de datos..." y una barra de progreso indique su estado, aparezca en la barra de estado o mediante un cuadro de dialogo, el mensaje "cargando caché de datos..." y la barra aumente su progreso, de modo que si tengo varias ventanas abiertas, podría visualizar los mismos mensajes en todas y esto mediante un ejemplo os lo voy a mostrar. Para comenzar creo una clase llamada <span style="font-family: "courier new" , "courier" , monospace;">Message</span> que contiene cuatro propiedades, <span style="font-family: "courier new" , "courier" , monospace;">infoText</span> que almacena el texto del mensaje principal, <span style="font-family: "courier new" , "courier" , monospace;">progress</span> que almacena el valor del progreso, <span style="font-family: "courier new" , "courier" , monospace;">progressIsVisible</span> que almacena si la barra de progreso es visible y por último <span style="font-family: "courier new" , "courier" , monospace;">infoText2</span> que almacena un segundo texto por si acaso lo necesito. <br />A esta clase le añado varios eventos, por si acaso los necesito, que son cuando cambia el texto del mensaje o cuando cambia el progreso. Extiendo varios <span style="font-family: "courier new" , "courier" , monospace;">EventArgs</span> con <span style="font-family: "courier new" , "courier" , monospace;">EventArgsMessage</span> para obtener los valores nuevo y antiguos y el valor del progreso <span style="font-family: "courier new" , "courier" , monospace;">EventArgsProgress</span>. Contiene dos métodos, uno para asignar los valores de la propiedades y otro para borrarlos.<br />Por otra parte creo una colección del tipo <span style="font-family: "courier new" , "courier" , monospace;">ObservableCollection</span> en la clase <span style="font-family: "courier new" , "courier" , monospace;">App</span> de la aplicación de modo que cualquier ventana puede acceder a esta colección si la hacemos pública, la cual contiene un evento <span style="font-family: "courier new" , "courier" , monospace;">CollectionChanged</span> el cual usaremos en cada ventana para capturar los mensajes</span><br />
<span style="font-family: "trebuchet ms" , sans-serif; font-size: large;"><br /></span></div>
<pre class="brush: csharp"><span style="font-size: large;"></span><span style="font-size: large;"></span><span style="font-size: large;"></span>public static ObservableCollection<Message> messages = new ObservableCollection<Message>();
</pre>
<br />
<span style="font-size: large;">Y ahora solo nos queda capturar los eventos en cada ventana. Para ver esto, voy a crear una ventana principal que iniciará un hilo desde un botón con un proceso que suma desde 1 hasta 100 con un retardo de 50 ms y que en cada incremento, actualizará un control <span style="font-family: "Courier New", Courier, monospace;">Textblock</span> con el texto del mensaje y una barra de progreso con un valor. Al mismo tiempo, abriré otra ventana en la aplicación con un <span style="font-family: "Courier New", Courier, monospace;">TextBlock</span> y otra barra de progreso que deberían actualizarse de igual modo que lo hace la ventana principal y sin albergar ningún código en ella que le permita incrementar nada ni mostrar nada. Para mostrar el mensaje y actualizar las barras uso un delegado en cada ventana que se encargará de hacer este trabajo y para acceder a los controles sin errores, <span style="font-family: "Courier New", Courier, monospace;">Dispatcher.Invoke(new MessageAddedHandler(setMessage), message)</span> invocando al delegado y como argumento el nuevo mensaje. ¿Qué resultado obtendremos? Dos ventanas, la que contiene el botón y la que no. Al pulsar se inicia la carga y en ambas ventanas se actualizan tanto el texto como el valor de la barra de progreso al mismo tiempo.</span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhxVOJku8LxHDmiBNmWif6Z8FKPXuM7bUrYZ-bb3YyAJmCefmdN7ybiOqjkZRmqhFqB7vDSlIcbd5x2CgJXyZ6ldCQdL7IT_h5wIW8h_ZVAeDTcqWNQQs8HoDcMzdaMx0cok8mEN3I12TE/s1600/Imagen1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: "verdana" , sans-serif; font-size: large;"><img border="0" height="360" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhxVOJku8LxHDmiBNmWif6Z8FKPXuM7bUrYZ-bb3YyAJmCefmdN7ybiOqjkZRmqhFqB7vDSlIcbd5x2CgJXyZ6ldCQdL7IT_h5wIW8h_ZVAeDTcqWNQQs8HoDcMzdaMx0cok8mEN3I12TE/s640/Imagen1.png" width="640" /></span></a>
</div>
<span style="font-family: "trebuchet ms" , sans-serif; font-size: large;"><br /></span>
<span style="font-family: inherit; font-size: large;">Pasamos al código.</span><br />
<span style="font-family: "trebuchet ms" , sans-serif; font-size: large;">
</span>
<span style="font-family: inherit; font-size: large;"><u>Clase Message</u></span>
<br />
<br />
<pre class="brush: csharp">using System;
namespace WpfApplication1
{
public class Message
{
#region Constructor
public Message()
{
this.infoText = "";
this.progress = 0;
this.progressIsVisible = false;
}
public Message(string _text, bool _isVisible, int _progress)
{
setMessage(_text, _isVisible, _progress);
}
#endregion
#region Properties
private string _infotext;
private int _progress;
public int progress
{
get { return _progress; }
set
{
if (_progress!=value)
{
}
_progress = value;
}
}
public string infoText
{
get { return _infotext; }
set
{
if (_infotext!=value)
{
EventArgsMessage eventArgsMessage = new EventArgsMessage(_infotext,value);
}
_infotext = value;
}
}
public bool progressIsVisible { get; set; }
public string infoText2 { get; set; }
#endregion
#region Events
public event EventHandler<eventargsmessage> ChangedTextEventHandler;
public event EventHandler<eventargsprogress> ChangedProgressEventHandler;
#endregion
#region Private Methods
void OnChangedText(EventArgsMessage e)
{
if (ChangedTextEventHandler!=null)
{
ChangedTextEventHandler(this, e);
}
}
void OnChangedProgress(EventArgsProgress e)
{
if (ChangedProgressEventHandler!=null)
{
ChangedProgressEventHandler(this, e);
}
}
#endregion
#region Public Methods
/// <summary>
/// Asigna los valores al mensaje
/// </summary>
/// <param name="_text" />Texto del mensaje
/// <param name="_isVisible" />Visibilidad del mensaje
/// <param name="_progress" />Progreso
public void setMessage(string _text, bool _isVisible, int _progress)
{
this.infoText = _text;
this.progressIsVisible = _isVisible;
this.progress = _progress;
}
/// <summary>
/// Borra los valores del mensaje
/// </summary>
public void Clear()
{
setMessage("", false, 0);
}
#endregion
}
public class EventArgsMessage:EventArgs
{
public EventArgsMessage() { }
public EventArgsMessage (string _oldText, string _newText)
{
this.oldText = oldText;
this.newText = _newText;
}
public string oldText { get; set; }
public string newText { get; set; }
}
public class EventArgsProgress : EventArgs
{
public EventArgsProgress() { }
public EventArgsProgress(int _newValue)
{
this.newValue = _newValue;
}
public int newValue { get; set; }
}
}
</eventargsprogress></eventargsmessage></pre>
<br />
<span style="font-family: inherit; font-size: large;"><u>Clase App</u></span> <br />
<br />
<pre class="brush: csharp">public partial class App : Application
{
public static ObservableCollection<message> messages = new ObservableCollection<message>();
public App()
{
}
}
</message></message></pre>
<u><span style="font-family: inherit; font-size: large;">Ventana principal con método de cálculo</span></u><br />
<u><span style="font-family: inherit; font-size: large;">
Constructor</span></u>
<br />
<br />
<pre class="brush: csharp">public MainWindow()
{
InitializeComponent();
App.messages.CollectionChanged += Messages_CollectionChanged;
Window1 w1 = new Window1();
w1.Show();
}
</pre>
<br />
<span style="font-family: "trebuchet ms" , sans-serif; font-size: large;"><u><span style="font-family: inherit;">Propiedades</span></u><span style="font-family: inherit;">. El delegado, un objeto</span></span><span style="font-family: "trebuchet ms" , sans-serif; font-size: large;"> <span style="font-family: "courier new" , "courier" , monospace;">CancellationTokenSource</span> </span><span style="font-family: inherit; font-size: large;">para cancelar el proceso y un flag para saber si la app está corriendo o no.</span>
<br />
<br />
<pre class="brush: csharp"> delegate void MessageAddedHandler(Message _message);
CancellationTokenSource cs;
public bool isRunning { get; set; } = false;
</pre>
<br />
<span style="font-family: "trebuchet ms" , sans-serif; font-size: large;"><u><span style="font-family: inherit;">Captura del evento</span></u><span style="font-family: inherit;">. Ocurre cuando la colección cambia</span></span><span style="font-family: inherit;">
</span><br />
<br />
<pre class="brush: csharp">void Messages_CollectionChanged(object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e)
{
if (e.Action==System.Collections.Specialized.NotifyCollectionChangedAction.Add)
{
foreach (var item in e.NewItems)
{
Dispatcher.Invoke(new MessageAddedHandler(setMessage), (Message)item);
}
}
else if (e.Action == System.Collections.Specialized.NotifyCollectionChangedAction.Reset)
{
Dispatcher.Invoke(new MessageAddedHandler(setMessage), new Message());
}
}
</pre>
<span style="font-family: "trebuchet ms" , sans-serif; font-size: large;"><u><span style="font-family: inherit;">Métodos</span></u><span style="font-family: inherit;">. El primer método asigna un mensaje a los controles, el segundo inicia el proceso o lo cancela y el tercero suma 1 después de 50 ms: una vez que acaba, finaliza y borra los mensajes.</span></span> <br />
<br />
<pre class="brush: csharp">void setMessage(Message message)
{
this.textBlock.Text = message.infoText;
this.pb.Value = message.progress;
this.pb.Visibility = message.progressIsVisible ? Visibility.Visible : Visibility.Collapsed;
}
private void button_Click(object sender, RoutedEventArgs e)
{
if (isRunning)
{
this.button.Content = "Iniciar";
cs.Cancel();
}
else
{
isRunning = true;
cs = new CancellationTokenSource();
this.button.Content = "Cancelar";
var t = Task.Factory.StartNew(() => doSomeThing(cs.Token),cs.Token);
}
}
void doSomeThing(CancellationToken ct)
{
try
{
for (int i = 0; i <= 100; i++)
{
ct.ThrowIfCancellationRequested();
Thread.Sleep(50);
App.messages.Add(new Message(String.Format("Cargando {0}", i), true, i));
}
App.messages.Clear();
}
catch (OperationCanceledException ex)
{
isRunning = false;
App.messages.Clear();
return;
}
}
</pre>
<span style="font-family: "trebuchet ms" , sans-serif; font-size: large;"><u><span style="font-family: inherit;">Ventana que captura mensajería</span></u><span style="font-family: inherit;">. En esta ventana solo se captura el evento cuando la colección cambia y la asignación de los valores al mensaje.</span></span><span style="font-family: inherit;">
</span><br />
<br />
<pre class="brush: csharp">public partial class Window1 : Window
{
public Window1()
{
InitializeComponent();
App.messages.CollectionChanged += Messages_CollectionChanged; ;
}
delegate void MessageAddedHandler(Message _message);
private void Messages_CollectionChanged(object sender, System.Collections.Specialized.NotifyCollectionChangedEventArgs e)
{
if (e.Action == System.Collections.Specialized.NotifyCollectionChangedAction.Add)
{
foreach (var item in e.NewItems)
{
Dispatcher.Invoke(new MessageAddedHandler(setMessage), (Message)item);
}
}
else if (e.Action == System.Collections.Specialized.NotifyCollectionChangedAction.Reset)
{
Dispatcher.Invoke(new MessageAddedHandler(setMessage), new Message());
}
}
void setMessage(Message message)
{
this.textBlock.Text = message.infoText;
this.pb.Value = message.progress;
this.pb.Visibility = message.progressIsVisible ? Visibility.Visible : Visibility.Collapsed;
}
}
}
</pre>
<span style="font-family: inherit; font-size: large;">y con todo funcionando, cada vez que iniciemos desde la ventana principal el proceso, las dos ventanas deben mostrar el mismo texto y el mismo progreso.</span><br />
<span style="font-family: "trebuchet ms" , sans-serif; font-size: large;"><span style="font-family: inherit;">Os dejo el proyecto completo en el </span><a href="https://drive.google.com/open?id=0B0VEoGgb5cVcMllCcHVJcDFkclk" target="_blank"><span style="font-family: inherit;">enlace</span></a><span style="font-family: inherit;">.</span></span><br />
<span style="font-family: "trebuchet ms" , sans-serif; font-size: large;">
</span><br />
<span style="font-family: inherit; font-size: large;">Saludos</span></div>
Joaquin Martínezhttp://www.blogger.com/profile/07166016070485946881noreply@blogger.com0tag:blogger.com,1999:blog-1726059233582515530.post-20198721952407906212016-05-28T12:37:00.001+02:002016-07-13T16:33:17.581+02:00Sistema Planetario en Java<div dir="ltr" style="text-align: left;" trbidi="on">
<span style="font-family: "verdana" , sans-serif; font-size: large;">Para practicar POO, se me ha ocurrido crear un sistema planetario, el cual contiene unos objetos que a su vez orbitan alrededor de otro objeto con mayor gravedad y así poder calcular datos entre ellos, como pueda ser la fuerza de gravitación, distancias, tiempo de llegada, etc.</span><br />
<span style="font-family: "verdana" , sans-serif; font-size: large;">Este sistema es muy precario, porque no se tienen en cuenta las órbitas, si no que se entiende que todos los objetos está alineados y la distancia que los separa, es la distancia media de esas órbitas.</span><br />
<span style="font-family: "verdana" , sans-serif; font-size: large;">Con esta aplicación, existe una superclase abstracta ObjetoSistema que contiene la mayoría de los atributos y métodos, luego hereda de esta otra clase llamada ObjetoSinLuz al cual se le pueden añadir datos de su atmósfera mediante un ArrayList y de esta clase. </span><br />
<span style="font-family: "verdana" , sans-serif; font-size: large;">Los objetos reales del sistema, Estrella, hereda de la superclase; los planetas y satélites de la clase heredan de la clase ObjetoSinLuz para poder en un momento dado añadirles datos de su atmósfera.</span><br />
<span style="font-family: "verdana" , sans-serif; font-size: large;">Cada objeto tiene como atributo un objeto tipo ObjetoSistema que es el objeto de referencia sobre el cual orbita, de modo que la distancia media del objeto será a la de su objeto de referencia.</span><br />
<span style="font-family: "verdana" , sans-serif; font-size: large;">Para calcular la distancia por ejemplo entre la Luna y Marte, se calcularía:</span><br />
<ul>
<li><span style="font-family: "verdana" , sans-serif; font-size: large;">La distancia entre la Luna y la Tierra que es su objeto de referencia</span></li>
<li><span style="font-family: "verdana" , sans-serif; font-size: large;">Distancia desde la Tierra al Sol y la suma de estas dos, la distancia de la luna al sol</span></li>
<li><span style="font-family: "verdana" , sans-serif; font-size: large;">Por otra parte calcularía la distancia de Marte al Sol y la diferencia de ambas distancias, nos daría el resultado esperado.</span></li>
</ul>
<span style="font-family: "verdana" , sans-serif; font-size: large;">El cálculo de las distancias se calcula recursivamente para que funcione en cualquier nivel, por ejemplo si la Luna a su vez fuera un objeto referencia de otros satélites o asteroides.</span><br />
<span style="font-family: "verdana" , sans-serif; font-size: large;">Otra particularidad que he incluido, es la posibilidad de obtener listados por diferentes órdenes, como pueda ser el caso de ordenar por la masa, tamaño, días de traslación, etc., de modo que el método compareTo de cada clase, debe tener previsto con que atributo ordenar.</span><br />
<span style="font-size: large;"></span><span style="font-family: "verdana" , sans-serif;"></span><br />
<span style="font-family: "verdana" , sans-serif; font-size: large;">Su funcionamiento es muy sencillo mediante menú textual, (lo que se trata es aprender)</span><br />
<span style="font-family: "verdana" , sans-serif;"></span><br />
<span style="font-family: "courier new" , "courier" , monospace;">**********************************************<br />Sistema Solar <br />**********************************************<br />* (1) Calcular distancia entre dos objetos *<br />* (2) Calcular atracción gravitacional *<br />* (3) Calcular tiempo (línea recta) *<br />* (4) Listar objetos *<br />* (5) Salir *<br />**********************************************</span><br />
<span style="font-family: "courier new" , "courier" , monospace;">Introduzca la opción...<br />3<br />Introduzca el nombre del primer objeto...<br />tierra<br />Introduzca el nombre del segundo objeto...<br />marte<br />Introduzca la velocidad km/h (Si pulsa INTRO, se asignará 28000 km/h... <br />50000<br />Invertirá para recorrer 78.338.770 Km a una velocidad de 50.000 Km/h, 2 meses 5 días 6 horas 46 minutos 31 segundos días<br />Pulse INTRO para continuar...</span><br />
<span style="font-family: "courier new" , "courier" , monospace;"><br /></span>
<span style="font-family: "courier new" , "courier" , monospace;">Tiempo empleado por la luz en llegar desde el Sol a Júpiter.(300.000km/s=1.080.000.000 km/h)</span><span style="font-family: "courier new" , "courier" , monospace;">
</span><span style="font-family: "courier new";"></span><br />
<span style="font-family: "courier new" , "courier" , monospace;">Invertirá para recorrer 778.412.010 Km a una velocidad de 1.080.000.000 Km/h, 43 minutos 14 segundos días</span><br />
<span style="font-family: "courier new" , "courier" , monospace;"><br /></span>
<span style="font-family: "courier new" , "courier" , monospace;">o el mismo caso para el Sol y la Tierra</span><br />
<span style="font-family: "courier new" , "courier" , monospace;">Invertirá para recorrer 149.597.870 Km a una velocidad de 1.080.000.000 Km/h, 8 minutos 18 segundos días</span><br />
<span style="font-family: "courier new" , "courier" , monospace;"><br /></span><span style="font-family: "verdana" , sans-serif; font-size: large;">
Como caso particular, el código para calcular la distancia, que mediante un método recursivo, hasta que no encuentra el objeto de referencia principal, va calculando la distancia entre cualquier objeto y este.</span><br />
<pre class="brush: java">
/**
* Funcion recursiva para calcular la distancia hasta el objeto de referencia del sistema planetario
* @param objetoSistemaInicial Objeto inicial desde donde se calcula la distancia
* @param objetoSistema Objeto hasta donde se calculará la distancia
* @return Distancia entre los dos objetos
*/
private double calcularDistanciaAObjetoReferencia(ObjetoSistema objetoSistemaInicial){
double distancia = objetoSistemaInicial.distanciaMedia;
if (!objetoSistemaInicial.objetoReferencia.objetoReferencia.equals(objetoSistemaInicial.objetoReferencia)) {
distancia += calcularDistanciaAObjetoReferencia(objetoSistemaInicial.objetoReferencia); }
return distancia;
}
</pre>
<div>
<span style="font-family: "verdana" , sans-serif;"></span><br /></div>
<span style="font-family: "courier new" , "courier" , monospace; font-size: xx-small;"><span style="font-family: "courier new" , "courier" , monospace; font-size: large;"><br /></span></span>
<span style="font-family: "verdana" , sans-serif; font-size: large;"><br /></span><span style="font-family: "verdana" , sans-serif; font-size: large;">
Os dejo el diagrama de clases y el </span><a href="https://drive.google.com/open?id=0B0VEoGgb5cVcTUFlT1VZekNZNEk" target="_blank"><span style="font-family: "verdana" , sans-serif; font-size: large;">código (proyecto de NetBeans)</span></a><span style="font-family: "verdana" , sans-serif; font-size: large;"> para practicar y toquetear.</span><br />
<span style="font-size: large;"></span><span style="font-family: "verdana" , sans-serif;"></span><br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgoGJ85qaz7mmLAz69-qz_0XyRHf9jx7BDy30d2DlxcFMHOCVFLFMZhL-RoZSyooJVodoNVt56mEy4NwtDkC7zSsJLpyEGXqtV9NSQWqAOsZ1SnPoVeyRB4OmkqYGXAvquMMUpsBxOBYPQ/s1600/dcsp.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><span style="font-family: "verdana" , sans-serif; font-size: large;"><img border="0" height="379" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgoGJ85qaz7mmLAz69-qz_0XyRHf9jx7BDy30d2DlxcFMHOCVFLFMZhL-RoZSyooJVodoNVt56mEy4NwtDkC7zSsJLpyEGXqtV9NSQWqAOsZ1SnPoVeyRB4OmkqYGXAvquMMUpsBxOBYPQ/s640/dcsp.png" width="640" /></span></a></div>
<span style="font-size: large;"></span><span style="font-family: "verdana" , sans-serif;"></span><br />
<span style="font-family: "verdana" , sans-serif; font-size: large;">Un saludo y a programar.</span><br />
<span style="font-size: large;"></span><span style="font-family: "verdana" , sans-serif;"></span><br />
<span style="font-family: "verdana" , sans-serif; font-size: large;">Pd: No está terminada, ya que le falta añadir otros elementos para añadir componentes, atmósferas, etc., pero creo que se entiende su objetivo que es el de aprender a programar.</span><br />
<div id="yui_3_9_1_2_1464428762489_190">
<span style="font-family: "verdana" , sans-serif; font-size: large;">Le he incluido el sol, los planetas y dos satélites, la Luna y Phobos, meted más! </span><b></b><i></i><u></u><sub></sub><sup></sup><strike></strike></div>
</div>
Joaquin Martínezhttp://www.blogger.com/profile/07166016070485946881noreply@blogger.com0tag:blogger.com,1999:blog-1726059233582515530.post-26058561226507732342016-05-21T19:54:00.000+02:002016-07-13T16:57:29.584+02:00Espiral de Ulam<div dir="ltr" style="text-align: left;" trbidi="on">
<div dir="ltr" style="text-align: left;" trbidi="on">
<div dir="ltr" style="text-align: left;" trbidi="on">
<div dir="ltr" style="text-align: left;" trbidi="on">
<span style="font-family: "verdana" , sans-serif; font-size: large;">Un día durante una conferencia aburrida, un matemático llamado Stalisnaw Ulam jugando como no con los números, comenzó a dibujar en un papel el número 1 y girando alrededor de él en el sentido contrario a las agujas del reloj, siguió escribiendo el resto de números naturales consecutivamente formando así la espiral que lleva su nombre creando un cuadrado de n x n. Esta espiral tiene una particularidad y es que los números primos tienden a alinearse en diagonales. He aquí un ejemplo de como se forma, una espiral de 7 x 7 y una muestra mayor con los números primos remarcados:</span><br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhm6c4IOBXHvAz-ojEhRRyqYI6IYvBMq45kPojIM_w4MsudMpcbLfLoauplf-sznVlXY5hYOYHzHO_fehCtbNFOLu89FbeiHfE9c1CDOXgc97j71EO3cEJvSF0-T8_IkxWd5uFGoOjjYWk/s1600/espiral.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhm6c4IOBXHvAz-ojEhRRyqYI6IYvBMq45kPojIM_w4MsudMpcbLfLoauplf-sznVlXY5hYOYHzHO_fehCtbNFOLu89FbeiHfE9c1CDOXgc97j71EO3cEJvSF0-T8_IkxWd5uFGoOjjYWk/s1600/espiral.jpg" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<b></b><i></i><u></u><sub></sub><sup></sup><strike></strike><br /></div>
<center>
<table border="0" style="height: 107px; width: 229px;"><tbody>
<tr><td style="text-align: center;">37</td>
<td style="text-align: center;">36</td>
<td style="text-align: center;">35</td>
<td style="text-align: center;">34</td>
<td style="text-align: center;">33</td>
<td style="text-align: center;">32</td>
<td style="text-align: center;">31</td>
</tr>
<tr><td style="text-align: center;">38</td>
<td style="text-align: center;">17</td>
<td style="text-align: center;">16</td>
<td style="text-align: center;">15</td>
<td style="text-align: center;">14</td>
<td style="text-align: center;">13</td>
<td style="text-align: center;">30</td>
</tr>
<tr><td style="text-align: center;">39</td>
<td style="text-align: center;">18</td>
<td style="text-align: center;">5</td>
<td style="text-align: center;">4</td>
<td style="text-align: center;">3</td>
<td style="text-align: center;">12</td>
<td style="text-align: center;">29</td>
</tr>
<tr><td style="text-align: center;">40</td>
<td style="text-align: center;">19</td>
<td style="text-align: center;">6</td>
<td style="text-align: center;"><b>1</b></td>
<td style="text-align: center;">2</td>
<td style="text-align: center;">11</td>
<td style="text-align: center;">28</td>
</tr>
<tr><td style="text-align: center;">41</td>
<td style="text-align: center;">20</td>
<td style="text-align: center;">7</td>
<td style="text-align: center;">8</td>
<td style="text-align: center;">9</td>
<td style="text-align: center;">10</td>
<td style="text-align: center;">27</td>
</tr>
<tr><td style="text-align: center;">42</td>
<td style="text-align: center;">21</td>
<td style="text-align: center;">22</td>
<td style="text-align: center;">23</td>
<td style="text-align: center;">24</td>
<td style="text-align: center;">25</td>
<td style="text-align: center;">26</td>
</tr>
<tr><td style="text-align: center;">43</td>
<td style="text-align: center;">44</td>
<td style="text-align: center;">45</td>
<td style="text-align: center;">46</td>
<td style="text-align: center;">47</td>
<td style="text-align: center;">48</td>
<td style="text-align: center;">49</td>
</tr>
</tbody></table>
<span style="font-family: "verdana" , sans-serif; font-size: large;">
Espiral de Ulam de orden 7</span>
</center>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh2anNFlGJbXQhIC9Nw6r46uRd9aWszbbxKVhyphenhyphenBDJTqo4hiji4PoAZX-Mln__pgFsNVO-gkZFnXxUDB8p3B1PtSlvUx46Z4arlUTL9tByiRE7nFP7-VFj0u2i12ktIsiggRx3aaWgfBsiQ/s1600/ulam_spiral_142_000_by_narcissistic_pi-d7asvfc.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh2anNFlGJbXQhIC9Nw6r46uRd9aWszbbxKVhyphenhyphenBDJTqo4hiji4PoAZX-Mln__pgFsNVO-gkZFnXxUDB8p3B1PtSlvUx46Z4arlUTL9tByiRE7nFP7-VFj0u2i12ktIsiggRx3aaWgfBsiQ/s320/ulam_spiral_142_000_by_narcissistic_pi-d7asvfc.jpg" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: "verdana" , sans-serif; font-size: large;">Espiral de Ulam con 142000 iteraciones</span></div>
<br /></div>
<span style="font-family: "verdana" , sans-serif; font-size: large;">Por otra parte desde el punto de vista algorítmico, formar una espiral mediante código es otro reto, se puede hacer de múltiples formas, pero en concreto se me ha ocurrido crear un algoritmo de creación de la espiral y poder así implementar una ordenación con java implementado la interfaz Comparator y Comparable.</span><br />
<span style="font-family: "verdana" , sans-serif; font-size: large;">Para crear la espiral, lo primero determino la posición inicial del 1 dentro del cuadrado antes de formarlo. Esto es fácil, obtenemos el cuadrado del mayor impar y el valor de la mitad de los lados correspondería a las coordenadas x,y. </span><br />
<span style="font-family: "verdana" , sans-serif; font-size: large;">El paso siguiente sería rotar desde el 1 en el sentido de las agujas del reloj, formando cuadrados de n x n almacenando su valor en una clase que guardará las coordenadas y el valor de cada posición; este objeto, lo salvaremos en un </span><em><span style="font-family: "verdana" , sans-serif; font-size: large;">ArrayList.</span></em><br />
<span style="font-family: "verdana" , sans-serif; font-size: large;">Como las coordenadas se van agregando en este orden en el </span><em><span style="font-family: "verdana" , sans-serif; font-size: large;">ArrayList</span></em><span style="font-family: "verdana" , sans-serif; font-size: large;"> , una vez creada la espiral tendremos que ordenar las coordenadas para visualizarla en pantalla.</span><br />
<span style="font-size: large;"></span><span style="font-family: "verdana" , sans-serif;"></span><br />
<span style="font-family: "verdana" , sans-serif; font-size: large;">¿Qué clases usaremos?</span><br />
<span style="font-family: "verdana" , sans-serif; font-size: large;">Una clase </span><code><span style="font-family: "courier new" , "courier" , monospace; font-size: large;">Coordinate</span></code><span style="font-family: "verdana" , sans-serif; font-size: large;"> que almacena tres atributos, los valores de x, y y el valor de la coordenada. Implementa interface </span><code><span style="font-family: "courier new" , "courier" , monospace; font-size: large;">Comparable<Coordinate></span></code><span style="font-family: "verdana" , sans-serif; font-size: large;">, por tanto debe contener el método </span><code><span style="font-family: "courier new" , "courier" , monospace; font-size: large;">compareTo</span></code><span style="font-family: "verdana" , sans-serif; font-size: large;"> .</span><br />
<span style="font-family: "verdana" , sans-serif; font-size: large;">Una clase que implementa la interfaz </span><code><span style="font-family: "courier new" , "courier" , monospace; font-size: large;">Comparator<Coordinate></span></code><span style="font-family: "verdana" , sans-serif; font-size: large;">, por tanto debe implementar obligatoriamente el método </span><code><span style="font-family: "verdana" , sans-serif; font-size: large;">compare</span></code><span style="font-family: "verdana" , sans-serif; font-size: large;"> y dentro de este llamaría al método </span><code><span style="font-family: "courier new" , "courier" , monospace; font-size: large;">compareTo</span></code><span style="font-family: "verdana" , sans-serif; font-size: large;"> de la clase </span><code><span style="font-family: "courier new" , "courier" , monospace; font-size: large;">Coordinate</span><span style="font-family: "verdana" , sans-serif; font-size: large;">.</span></code><br />
<code><br /></code>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhGHGad7Ta3i00MS_dCocYrZMk7W11NO3DLVOUhzNvm7Oh6z6Di4pZZDb55KZnReU1n_jvfCrMro_45_ISa8cIprVwKz7dL1CdbjoQVrQLBjHgJsM2pbTNMo6-cgDk5WqZ3qFI69BBrHRg/s1600/UlamSpiralDiagramClass.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="265" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhGHGad7Ta3i00MS_dCocYrZMk7W11NO3DLVOUhzNvm7Oh6z6Di4pZZDb55KZnReU1n_jvfCrMro_45_ISa8cIprVwKz7dL1CdbjoQVrQLBjHgJsM2pbTNMo6-cgDk5WqZ3qFI69BBrHRg/s400/UlamSpiralDiagramClass.png" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: "verdana" , sans-serif; font-size: large;">Diagrama de clases</span></div>
<code><span style="font-family: "verdana" , sans-serif; font-size: large;"><br /></span></code><span style="font-family: "verdana" , sans-serif; font-size: large;">
¿Cómo funciona el algoritmo?</span><br />
<span style="font-family: "verdana" , sans-serif; font-size: large;">Del siguiente modo:</span><br />
<ul>
<li><span style="font-family: "verdana" , sans-serif; font-size: large;">Iteramos n veces como cuadrados alrededor del 1 tengamos que dibujar</span></li>
<li><span style="font-family: "verdana" , sans-serif; font-size: large;">Iteramos 4 veces por cada uno de estos cuadrados, ya que un cuadrado tiene 4 lados y lo que haremos es decirle con esta iteración es la siguiente coordenada de destino donde tiene que asignarle un valor</span></li>
<li><span style="font-family: "verdana" , sans-serif; font-size: large;">Iteramos n veces por cada lado para escribir n números</span></li>
</ul>
<span style="font-family: "verdana" , sans-serif; font-size: large;">Y una vez creada la espiral, ¿como ordenamos el ArrayList?</span><br />
<span style="font-family: "verdana" , sans-serif; font-size: large;">Una vez creada la espiral, debemos leer el ArrayList y visualizarlo en pantalla, pero antes hay que ordenarlo de modo que la primera coordenada sea la (0,0), la segunda (0,1), las siguientes (0,2)....(0,6), (1,0), (1,1)....(1,6),(2,0),.... hasta la (6,6) y para ello dentro del método </span><code><span style="color: black; font-family: "courier new" , "courier" , monospace; font-size: large;">compareTo</span><span style="color: black; font-family: "verdana" , sans-serif; font-size: large;"> </span></code><span style="font-family: "verdana" , sans-serif; font-size: large;">de la clase </span><code><span style="color: black; font-family: "courier new" , "courier" , monospace; font-size: large;">Coordinate</span><span style="color: black; font-family: "verdana" , sans-serif; font-size: large;">.</span></code><br />
<span style="font-family: "verdana" , sans-serif; font-size: large;">Una vez ordenada el </span><em><span style="font-family: "verdana" , sans-serif; font-size: large;">ArrayList</span></em><span style="font-family: "verdana" , sans-serif; font-size: large;">, pasamos a imprimirla en pantalla con el método </span><code><span style="font-family: "courier new" , "courier" , monospace; font-size: large;">toString() </span></code><span style="font-family: "verdana" , sans-serif; font-size: large;">iterando por la colección con un <span style="font-family: "courier new" , "courier" , monospace;">for</span> con la salvedad de pasar a una nueva línea cada vez que se alcance el valor de n para formar el cuadrado.</span><br />
<span style="font-size: large;"></span><span style="font-family: "verdana" , sans-serif;"></span><br />
<span style="font-family: "verdana" , sans-serif; font-size: large;">Para otro día, un generador de espiral de Ulam con los números primos resaltados.</span><br />
<span style="font-family: "verdana" , sans-serif; font-size: large;">Aquí os dejo el código fuente de Java.</span><br />
<span style="font-size: large;"></span><span style="font-family: "verdana" , sans-serif;"></span><br />
<span style="font-family: "verdana" , sans-serif; font-size: large;">Un saludo</span><br />
<br />
<i><span style="font-size: large;">"Una ecuación no tiene para mí ningún significado a menos que exprese un </span></i><strong><i><span style="font-size: large;">pensamiento de Dios"</span></i></strong><br />
<strong><span style="color: #666666; font-family: "segoe ui semibold"; font-size: large;">Srinivasa Ramanujan</span></strong><span style="color: #001ba0;"> </span><b></b><i></i><u></u><sub></sub><sup></sup><strike></strike></div>
<pre class="brush: java">package espiralulamproject;
/******************************************************
* @author: Joaquín Martínez Rus (c) 2016
* @version: 1.0
* File: Coordinate.java
* Created: 19/05/2016
* Project: Ulam Spiral.
* Comments: Clase Coordinate. Clase con coordenadas y valor asignados
*
*******************************************************/
public class Coordinate implements Comparable{
// <editor-fold defaultstate="collapsed" desc="CONSTRUCTOR">
/**
* Inicia una nueva instancia de la clase Coordenada
*/
public Coordinate(){
this.x=0;
this.y=0;
this.value=0;
}
/**
* Inicia una nueva instancia de la clase Coordenada
* @param _coor Coordenada
*/
public Coordinate(Coordinate _coor){
this.x=_coor.x;
this.y=_coor.y;
this.value=_coor.value;
}
/**
* Inicia una nueva instancia de la clase Coordenada
* @param _x
* @param _y
*/
public Coordinate(int _x, int _y){
this.x=_x;
this.y=_y;
this.value=0;
}
// </editor-fold>
// <editor-fold defaultstate="collapsed" desc="ATTRIBUTES">
int x;
int y;
int value;
// </editor-fold>
// <editor-fold defaultstate="collapsed" desc="PUBLIC METHODS">
/**
* Obtiene una nuea coordenada a partir del origen
* @param coordinate Coordenada
* @return Coordenada
*/
public Coordinate clone(Coordinate coordinate){
return new Coordinate(coordinate.x, coordinate.y);
}
/**
* Obtiene la Coordenada textual
* @return Cadena de texto con la coordenada
*/
@Override
public String toString(){
return "(" + x + ", " + y + ") = " + this.value;
}
/**
* Ordena dos coordenadas por su valor x e y
* @param _coor Coordenada
* @return Entero
*/
@Override
public int compareTo(Coordinate _coor) {
int result=0;
if (this.x <_coor .x="" else="" if="" result="-1;" this.x=""> _coor.x) {
result= 1;
}
else {
if (this.y <=_coor.y) {
result= -1;
}
else {
result= 1;
}
}
return result;
}
// </_coor></editor-fold>
}
package espiralulamproject;
import java.util.Comparator;
/******************************************************
* @author: Joaquín Martínez Rus (c) 2016
* @version: 1.0
* File: SpiralComparator.java
* Created: 19/05/2016
* Project: Ulam Spiral.
* Comments: Clase SpiralComparator.
* Clase que implementa Comparator
*******************************************************/
public class SpiralComparator implements Comparator<Coordinate> {
@Override
public int compare(Coordinate o1, Coordinate o2) {
return o1.compareTo(o2);
}
}
package espiralulamproject;
import java.util.ArrayList;
/******************************************************
* @author: Joaquín Martínez Rus (c) 2016
* @version: 1.0
* File: EspiralUlam.java
* Created: 19/05/2016
* Project: Ulam Spiral.
* Comments: Clase EspiralUlam
*
*******************************************************/
public class EspiralUlam {
// <editor-fold defaultstate="collapsed" desc="CONSTRUCTOR">
/**
* Inicia unanueva instancia de la clase Espiral de Ulam
* @param num Número máximo
*/
public EspiralUlam(int num){
baseNumber=getBaseNumber(num);
maxNumber=getMaxNumber(baseNumber);
firstNumber=getFirstNumbers(maxNumber,baseNumber);
getFirstCoordinate();
firstCoordinate.value=1;
coordinates.add(firstCoordinate);
setSpiral( new Coordinate(firstCoordinate));
}
// </editor-fold>
// <editor-fold defaultstate="collapsed" desc="ATTRIBUTES">
int firstNumber;
int baseNumber;
int maxNumber;
Coordinate firstCoordinate;
public ArrayList<Coordinate> coordinates=new ArrayList();
// </editor-fold>
// <editor-fold defaultstate="collapsed" desc="PUBLIC METHODS">
/**
* Obtiene el resultado de la espiral
* @return Cadena de texto
*/ @Override
public String toString(){
this.sort();
int count=1;
String textTemp=" ";
String textOut="";
for (Coordinate coordinate : coordinates) {
textTemp = count % baseNumber == 0?"\n":"\t";
textOut += coordinate.value + textTemp;
count ++;
}
return textOut;
}
// </editor-fold>
// <editor-fold defaultstate="collapsed" desc="PRIVATE METHODS">
/**
* Ordena el arrayList de números
*/
private void sort(){
coordinates.sort(new SpiralComparator());
}
/**
* Obtiene el número base de la Espiral
* @param number Número solicitado
* @return Valor entero
*/
private int getBaseNumber(int number){
int n= (int)Math.sqrt((double)(number))+1;
if (n%2==0) {
n++;
}
return n;
}
/**
* Obtiene el máximo número de la Espiral
* @param number Número solicitado
* @return Valor entero
*/
private int getMaxNumber(int number){
return number * number;
}
/**
* Obtiene el primer número de la Espiral
* @param iMaxNumber Máximo número de la espiral
* @param ibaseNumber Número base de la espiral
* @return Valor entero
*/
private int getFirstNumbers(int iMaxNumber, int ibaseNumber){
return iMaxNumber - 2*(ibaseNumber-1);
}
/**
* Obtiene la oordenada central de la espiral
*/
private void getFirstCoordinate(){
firstCoordinate=new Coordinate(baseNumber /2, baseNumber/2);
}
/**
* Calcula la espiral de Ulam
* @param _coor Coordenada central
*/
private void setSpiral(Coordinate _coor){
Coordinate temp=_coor;
int lastNumber=1;
for (int impar = 1; impar < baseNumber; impar +=2) {
temp.x++;
temp.y++;
for (int lado = 0; lado < 4; lado++) {
// 4 veces. una por lado del cuadrado
for (int i = 0; i <= impar; i++) {
temp.value= ++lastNumber;
coordinates.add(nextCoordinate(lado, temp));
}
}
}
}
/**
* Obtiene la siguiente coordenada de la espiral
* @param n Lado del cuadrado
* @param _coor Coordenada de cálculo
* @return Coordenada
*/
private Coordinate nextCoordinate(int n, Coordinate _coor){
switch (n) {
case 0:
// UP. substract 1 to x
_coor.x--;
break;
case 1:
//LEFT. substract 1 to y
_coor.y--;
break;
case 2:
//DOWN. add 1 to x
_coor.x++;
break;
case 3:
//RIGHT. add 1 to y
_coor.y++;
break;
}
return new Coordinate(_coor);
}
</editor-fold>
}
</pre>
</div>
Joaquin Martínezhttp://www.blogger.com/profile/07166016070485946881noreply@blogger.com0tag:blogger.com,1999:blog-1726059233582515530.post-70455828061954912792016-01-14T21:29:00.000+01:002016-07-13T17:26:15.921+02:00Calculadora IP<div dir="ltr" style="text-align: left;" trbidi="on">
<br />
<br />
<br />
<br />
<span style="font-family: "verdana" , sans-serif; font-size: large;">Hola a tod@s</span><br />
<span style="font-size: large;"></span><span style="font-family: "verdana" , sans-serif;"></span><br />
<span style="font-size: large;"></span><span style="font-family: "verdana" , sans-serif;"></span><br />
<span style="font-family: "verdana" , sans-serif; font-size: large;">Aquí os muestro una pequeña calculadora de direcciones IP desarrollada en WPF y C# .NET 4.5 y con la que vemos una pequeña demostración de una clase y su funcionamiento.</span><br />
<br />
<span style="font-family: "verdana" , sans-serif; font-size: large;"><img alt="" height="299" src="data:image/png;base64,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" width="640" /></span><br />
<span style="font-size: large;"></span><span style="font-family: "verdana" , sans-serif;"></span><br />
<span style="font-family: "verdana" , sans-serif; font-size: large;">El funcionamiento de la app es muy fácil, cuadros de texto para la IP y cuadro de texto para la máscara de subred con notación CIDR que quiere decir que el número introducido, indica el número de bits a 1 de la máscara de subred, es decir si introduzco 28, quiere decir que la máscara tiene 28 bit a 1, lo que sería:</span><br />
<div style="text-align: center;">
<span style="font-family: "verdana" , sans-serif; font-size: large;">11111111 11111111 11111111 11110000</span></div>
<div style="text-align: center;">
<span style="font-size: large;"></span><span style="font-family: "verdana" , sans-serif;"></span><br /></div>
<div style="text-align: left;">
<span style="font-family: "verdana" , sans-serif; font-size: large;">el equivalente a 255.255.255.240.</span></div>
<div style="text-align: left;">
<span style="font-size: large;"></span><span style="font-family: "verdana" , sans-serif;"></span><br /></div>
<div style="text-align: left;">
<span style="font-family: "verdana" , sans-serif; font-size: large;">A continuación adjunto la clase la cual no tiene ningún misterio (no he sido muy exquisito en cuanto a código, pero para aprender creo que está bien), propiedades públicas con los resultados y los métodos que si detallo:</span></div>
<div style="text-align: left;">
<span style="font-size: large;"></span><span style="font-family: "verdana" , sans-serif;"></span><br /></div>
<div style="text-align: center;">
<span style="font-family: "verdana" , sans-serif; font-size: large;"> <img alt="" src="data:image/png;base64,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" /></span></div>
<div style="text-align: left;">
<span style="font-size: large;"></span><span style="font-family: "verdana" , sans-serif;"></span><br /></div>
<div style="text-align: left;">
<span style="font-family: "verdana" , sans-serif; font-size: large;">Métodos públicos </span></div>
<ul style="text-align: left;">
<li><span style="font-family: "courier new" , "courier" , monospace; font-size: large;">SetNetAddress</span><span style="font-family: "verdana" , sans-serif; font-size: large;">. Asigna la dirección de red</span></li>
<li><span style="font-family: "courier new" , "courier" , monospace; font-size: large;">SetBroadCast</span><span style="font-family: "verdana" , sans-serif; font-size: large;">. Asigna el Broadcast</span></li>
<li><span style="font-family: "courier new" , "courier" , monospace; font-size: large;">SetIPt</span><span style="font-family: "verdana" , sans-serif; font-size: large;">. Asigna la dirección ip</span></li>
<li><span style="font-family: "courier new" , "courier" , monospace; font-size: large;">SetNetType</span><span style="font-family: "verdana" , sans-serif; font-size: large;">. Asigna el tipo de red (A,B,C,D o E)</span></li>
<li><span style="font-family: "courier new" , "courier" , monospace; font-size: large;">SetHostMin</span><span style="font-family: "verdana" , sans-serif; font-size: large;">.Asigna a la propiedad el valor de host mínimo de la red</span></li>
<li><span style="font-family: "courier new" , "courier" , monospace; font-size: large;">SetHostMax</span><span style="font-family: "verdana" , sans-serif; font-size: large;">. Asigna a la propiedad el valor máximo de la red</span></li>
<li><span style="font-family: "courier new" , "courier" , monospace; font-size: large;">GetIPToString</span><span style="font-family: "verdana" , sans-serif; font-size: large;">. Obtiene la IP como un valor de cadena de la forma XXX.XXX.XXX.XXX</span></li>
<li><span style="font-family: "courier new" , "courier" , monospace; font-size: large;">GetIPBinaryToString</span><span style="font-family: "verdana" , sans-serif; font-size: large;">. Obtiene la IP como un valor de cadena en binario.</span></li>
</ul>
<div style="text-align: left;">
<span style="font-family: "verdana" , sans-serif; font-size: large;">Métodos privados</span></div>
<ul style="text-align: left;">
<li><span style="font-family: "courier new" , "courier" , monospace; font-size: large;">NotifyPropertyChanged</span><span style="font-family: "verdana" , sans-serif; font-size: large;">. Método delegado del evento cuando no es válida la IP. De esta manera, desde la clase donde instancio esta, puedo capturar si la IP no es válida e indicarlo.</span></li>
<li><span style="font-family: "courier new" , "courier" , monospace; font-size: large;">BinaryToDecimal</span><span style="font-family: "verdana" , sans-serif; font-size: large;">. Método sobrecargado para convertir números o direcciones ip de binario a decimal.</span></li>
<li><span style="font-family: "courier new" , "courier" , monospace; font-size: large;">DecimalToBinary</span><span style="font-family: "verdana" , sans-serif; font-size: large;">. Método sobrecargado para convertir números o direcciones ip de decimal a binario.</span></li>
<li><span style="font-family: "courier new" , "courier" , monospace; font-size: large;">OperationOR</span><span style="font-family: "verdana" , sans-serif; font-size: large;">. Operador OR sobre la dirección IP para obtener la máscara de entrada</span></li>
<li><span style="font-family: "courier new" , "courier" , monospace; font-size: large;">OperationAND</span><span style="font-family: "verdana" , sans-serif; font-size: large;">. Operador AND sobre la la dirección IP para obtener el broadcast</span></li>
<li><span style="font-family: "courier new" , "courier" , monospace; font-size: large;">OperationNOT</span><span style="font-family: "verdana" , sans-serif; font-size: large;">. Operador NOT sobre la la dirección IP para obtener el broadcast junto con el operador AND.</span></li>
<li><span style="font-family: "courier new" , "courier" , monospace; font-size: large;">ValidateIP</span><span style="font-family: "verdana" , sans-serif; font-size: large;">. Valida la IP, comprobando que sus valores son correctos y está bien formada.</span></li>
</ul>
<span style="font-family: "verdana" , sans-serif; font-size: large;">Nota: Recordad que para obtener la dirección del red, se realiza la operación AND entre la IP y la máscara de subred y que para obtener el broadcast, se utiliza el operador OR entre la IP y la NOT de la máscara de subred (donde hay ceros, cambio a unos y viceversa).</span><br />
<span style="font-size: large;"></span><span style="font-family: "verdana" , sans-serif;"></span><br />
<!--[if gte mso 9]><xml>
<w:WordDocument>
<w:View>Normal</w:View>
<w:Zoom>0</w:Zoom>
<w:TrackMoves/>
<w:TrackFormatting/>
<w:HyphenationZone>21</w:HyphenationZone>
<w:PunctuationKerning/>
<w:ValidateAgainstSchemas/>
<w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>
<w:IgnoreMixedContent>false</w:IgnoreMixedContent>
<w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>
<w:DoNotPromoteQF/>
<w:LidThemeOther>ES</w:LidThemeOther>
<w:LidThemeAsian>X-NONE</w:LidThemeAsian>
<w:LidThemeComplexScript>X-NONE</w:LidThemeComplexScript>
<w:Compatibility>
<w:BreakWrappedTables/>
<w:SnapToGridInCell/>
<w:WrapTextWithPunct/>
<w:UseAsianBreakRules/>
<w:DontGrowAutofit/>
<w:SplitPgBreakAndParaMark/>
<w:DontVertAlignCellWithSp/>
<w:DontBreakConstrainedForcedTables/>
<w:DontVertAlignInTxbx/>
<w:Word11KerningPairs/>
<w:CachedColBalance/>
</w:Compatibility>
<w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel>
<m:mathPr>
<m:mathFont m:val="Cambria Math"/>
<m:brkBin m:val="before"/>
<m:brkBinSub m:val="--"/>
<m:smallFrac m:val="off"/>
<m:dispDef/>
<m:lMargin m:val="0"/>
<m:rMargin m:val="0"/>
<m:defJc m:val="centerGroup"/>
<m:wrapIndent m:val="1440"/>
<m:intLim m:val="subSup"/>
<m:naryLim m:val="undOvr"/>
</m:mathPr></w:WordDocument>
</xml><![endif]--><span style="font-size: large;"></span><span style="font-family: "verdana" , sans-serif;"></span><br />
<!--[if gte mso 9]><xml>
<w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="true"
DefSemiHidden="true" DefQFormat="false" DefPriority="99"
LatentStyleCount="267">
<w:LsdException Locked="false" Priority="0" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Normal"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="heading 1"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 2"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 3"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 4"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 5"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 6"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 7"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 8"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 9"/>
<w:LsdException Locked="false" Priority="39" Name="toc 1"/>
<w:LsdException Locked="false" Priority="39" Name="toc 2"/>
<w:LsdException Locked="false" Priority="39" Name="toc 3"/>
<w:LsdException Locked="false" Priority="39" Name="toc 4"/>
<w:LsdException Locked="false" Priority="39" Name="toc 5"/>
<w:LsdException Locked="false" Priority="39" Name="toc 6"/>
<w:LsdException Locked="false" Priority="39" Name="toc 7"/>
<w:LsdException Locked="false" Priority="39" Name="toc 8"/>
<w:LsdException Locked="false" Priority="39" Name="toc 9"/>
<w:LsdException Locked="false" Priority="35" QFormat="true" Name="caption"/>
<w:LsdException Locked="false" Priority="10" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Title"/>
<w:LsdException Locked="false" Priority="1" Name="Default Paragraph Font"/>
<w:LsdException Locked="false" Priority="11" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtitle"/>
<w:LsdException Locked="false" Priority="22" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Strong"/>
<w:LsdException Locked="false" Priority="20" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Emphasis"/>
<w:LsdException Locked="false" Priority="59" SemiHidden="false"
UnhideWhenUsed="false" Name="Table Grid"/>
<w:LsdException Locked="false" UnhideWhenUsed="false" Name="Placeholder Text"/>
<w:LsdException Locked="false" Priority="1" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="No Spacing"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 1"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 1"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 1"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 1"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 1"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 1"/>
<w:LsdException Locked="false" UnhideWhenUsed="false" Name="Revision"/>
<w:LsdException Locked="false" Priority="34" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="List Paragraph"/>
<w:LsdException Locked="false" Priority="29" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Quote"/>
<w:LsdException Locked="false" Priority="30" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Quote"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 1"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 1"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 1"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 1"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 1"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 1"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 1"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 1"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 2"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 2"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 2"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 2"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 2"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 2"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 2"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 2"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 2"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 2"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 2"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 2"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 2"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 2"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 3"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 3"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 3"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 3"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 3"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 3"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 3"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 3"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 3"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 3"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 3"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 3"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 3"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 3"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 4"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 4"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 4"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 4"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 4"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 4"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 4"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 4"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 4"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 4"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 4"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 4"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 4"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 4"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 5"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 5"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 5"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 5"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 5"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 5"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 5"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 5"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 5"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 5"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 5"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 5"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 5"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 5"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 6"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 6"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 6"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 6"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 6"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 6"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 6"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 6"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 6"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 6"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 6"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 6"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 6"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 6"/>
<w:LsdException Locked="false" Priority="19" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtle Emphasis"/>
<w:LsdException Locked="false" Priority="21" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Emphasis"/>
<w:LsdException Locked="false" Priority="31" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtle Reference"/>
<w:LsdException Locked="false" Priority="32" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Reference"/>
<w:LsdException Locked="false" Priority="33" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Book Title"/>
<w:LsdException Locked="false" Priority="37" Name="Bibliography"/>
<w:LsdException Locked="false" Priority="39" QFormat="true" Name="TOC Heading"/>
</w:LatentStyles>
</xml><![endif]--><!--[if gte mso 10]>
<style>
/* Style Definitions */
table.MsoNormalTable
{mso-style-name:"Tabla normal";
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-priority:99;
mso-style-qformat:yes;
mso-style-parent:"";
mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
mso-para-margin-top:0cm;
mso-para-margin-right:0cm;
mso-para-margin-bottom:10.0pt;
mso-para-margin-left:0cm;
line-height:115%;
mso-pagination:widow-orphan;
font-size:11.0pt;
font-family:"Calibri","sans-serif";
mso-ascii-font-family:Calibri;
mso-ascii-theme-font:minor-latin;
mso-fareast-font-family:"Times New Roman";
mso-fareast-theme-font:minor-fareast;
mso-hansi-font-family:Calibri;
mso-hansi-theme-font:minor-latin;}
table.MsoTableGrid
{mso-style-name:"Tabla con cuadrícula";
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-priority:59;
mso-style-unhide:no;
border:solid windowtext 1.0pt;
mso-border-alt:solid windowtext .5pt;
mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
mso-border-insideh:.5pt solid windowtext;
mso-border-insidev:.5pt solid windowtext;
mso-para-margin:0cm;
mso-para-margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:11.0pt;
font-family:"Calibri","sans-serif";
mso-ascii-font-family:Calibri;
mso-ascii-theme-font:minor-latin;
mso-hansi-font-family:Calibri;
mso-hansi-theme-font:minor-latin;
mso-fareast-language:EN-US;}
</style>
<![endif]-->
<br />
<div align="center">
<table border="1" cellpadding="0" cellspacing="0" class="MsoTableGrid" style="border-collapse: collapse; border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 0cm 5.4pt 0cm 5.4pt; mso-yfti-tbllook: 1184;">
<tbody>
<tr style="mso-yfti-firstrow: yes; mso-yfti-irow: 0;">
<td colspan="3" style="background: #595959; border: solid windowtext 1.0pt; mso-background-themecolor: text1; mso-background-themetint: 166; mso-border-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 175.5pt;" valign="top" width="234"><div align="center" class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; text-align: center;">
<b style="mso-bidi-font-weight: normal;"><span style="color: white; font-family: "verdana" , sans-serif; font-size: large; mso-themecolor: background1;">OPERADOR AND</span></b></div>
</td>
</tr>
<tr style="mso-yfti-irow: 1;">
<td style="background: #BFBFBF; border-top: none; border: solid windowtext 1.0pt; mso-background-themecolor: background1; mso-background-themeshade: 191; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 47.95pt;" valign="top" width="64"><div align="center" class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; text-align: center;">
<span style="font-family: "verdana" , sans-serif; font-size: large;">a</span></div>
</td>
<td style="background: #BFBFBF; border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-background-themecolor: background1; mso-background-themeshade: 191; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 42.5pt;" valign="top" width="57"><div align="center" class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; text-align: center;">
<span style="font-family: "verdana" , sans-serif; font-size: large;">b</span></div>
</td>
<td style="background: #BFBFBF; border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-background-themecolor: background1; mso-background-themeshade: 191; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 3.0cm;" valign="top" width="113"><div align="center" class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; text-align: center;">
<span style="font-family: "verdana" , sans-serif; font-size: large;">RESULTADO(Q)</span></div>
</td>
</tr>
<tr style="mso-yfti-irow: 2;">
<td style="border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 47.95pt;" valign="top" width="64"><div align="center" class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; text-align: center;">
<span style="font-family: "verdana" , sans-serif; font-size: large;">0</span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 42.5pt;" valign="top" width="57"><div align="center" class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; text-align: center;">
<span style="font-family: "verdana" , sans-serif; font-size: large;">0</span></div>
</td>
<td style="background: #F2F2F2; border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 3.0cm;" valign="top" width="113"><div align="center" class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; text-align: center;">
<span style="font-family: "verdana" , sans-serif; font-size: large;">0</span></div>
</td>
</tr>
<tr style="mso-yfti-irow: 3;">
<td style="border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 47.95pt;" valign="top" width="64"><div align="center" class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; text-align: center;">
<span style="font-family: "verdana" , sans-serif; font-size: large;">0</span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 42.5pt;" valign="top" width="57"><div align="center" class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; text-align: center;">
<span style="font-family: "verdana" , sans-serif; font-size: large;">1</span></div>
</td>
<td style="background: #F2F2F2; border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 3.0cm;" valign="top" width="113"><div align="center" class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; text-align: center;">
<span style="font-family: "verdana" , sans-serif; font-size: large;">0</span></div>
</td>
</tr>
<tr style="mso-yfti-irow: 4;">
<td style="border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 47.95pt;" valign="top" width="64"><div align="center" class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; text-align: center;">
<span style="font-family: "verdana" , sans-serif; font-size: large;">1</span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 42.5pt;" valign="top" width="57"><div align="center" class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; text-align: center;">
<span style="font-family: "verdana" , sans-serif; font-size: large;">0</span></div>
</td>
<td style="background: #F2F2F2; border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 3.0cm;" valign="top" width="113"><div align="center" class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; text-align: center;">
<span style="font-family: "verdana" , sans-serif; font-size: large;">0</span></div>
</td>
</tr>
<tr style="mso-yfti-irow: 5; mso-yfti-lastrow: yes;">
<td style="border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 47.95pt;" valign="top" width="64"><div align="center" class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; text-align: center;">
<span style="font-family: "verdana" , sans-serif; font-size: large;">1</span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 42.5pt;" valign="top" width="57"><div align="center" class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; text-align: center;">
<span style="font-family: "verdana" , sans-serif; font-size: large;">1</span></div>
</td>
<td style="background: #F2F2F2; border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 3.0cm;" valign="top" width="113"><div align="center" class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; text-align: center;">
<span style="font-family: "verdana" , sans-serif; font-size: large;">1</span></div>
</td>
</tr>
</tbody></table>
</div>
<span style="font-size: large;"></span><span style="font-family: "verdana" , sans-serif;"></span><br />
<span style="font-size: large;"></span><span style="font-family: "verdana" , sans-serif;"></span><br />
<!--[if gte mso 9]><xml>
<w:WordDocument>
<w:View>Normal</w:View>
<w:Zoom>0</w:Zoom>
<w:TrackMoves/>
<w:TrackFormatting/>
<w:HyphenationZone>21</w:HyphenationZone>
<w:PunctuationKerning/>
<w:ValidateAgainstSchemas/>
<w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>
<w:IgnoreMixedContent>false</w:IgnoreMixedContent>
<w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>
<w:DoNotPromoteQF/>
<w:LidThemeOther>ES</w:LidThemeOther>
<w:LidThemeAsian>X-NONE</w:LidThemeAsian>
<w:LidThemeComplexScript>X-NONE</w:LidThemeComplexScript>
<w:Compatibility>
<w:BreakWrappedTables/>
<w:SnapToGridInCell/>
<w:WrapTextWithPunct/>
<w:UseAsianBreakRules/>
<w:DontGrowAutofit/>
<w:SplitPgBreakAndParaMark/>
<w:DontVertAlignCellWithSp/>
<w:DontBreakConstrainedForcedTables/>
<w:DontVertAlignInTxbx/>
<w:Word11KerningPairs/>
<w:CachedColBalance/>
</w:Compatibility>
<w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel>
<m:mathPr>
<m:mathFont m:val="Cambria Math"/>
<m:brkBin m:val="before"/>
<m:brkBinSub m:val="--"/>
<m:smallFrac m:val="off"/>
<m:dispDef/>
<m:lMargin m:val="0"/>
<m:rMargin m:val="0"/>
<m:defJc m:val="centerGroup"/>
<m:wrapIndent m:val="1440"/>
<m:intLim m:val="subSup"/>
<m:naryLim m:val="undOvr"/>
</m:mathPr></w:WordDocument>
</xml><![endif]--><span style="font-size: large;"></span><span style="font-family: "verdana" , sans-serif;"></span><br />
<!--[if gte mso 9]><xml>
<w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="true"
DefSemiHidden="true" DefQFormat="false" DefPriority="99"
LatentStyleCount="267">
<w:LsdException Locked="false" Priority="0" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Normal"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="heading 1"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 2"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 3"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 4"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 5"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 6"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 7"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 8"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 9"/>
<w:LsdException Locked="false" Priority="39" Name="toc 1"/>
<w:LsdException Locked="false" Priority="39" Name="toc 2"/>
<w:LsdException Locked="false" Priority="39" Name="toc 3"/>
<w:LsdException Locked="false" Priority="39" Name="toc 4"/>
<w:LsdException Locked="false" Priority="39" Name="toc 5"/>
<w:LsdException Locked="false" Priority="39" Name="toc 6"/>
<w:LsdException Locked="false" Priority="39" Name="toc 7"/>
<w:LsdException Locked="false" Priority="39" Name="toc 8"/>
<w:LsdException Locked="false" Priority="39" Name="toc 9"/>
<w:LsdException Locked="false" Priority="35" QFormat="true" Name="caption"/>
<w:LsdException Locked="false" Priority="10" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Title"/>
<w:LsdException Locked="false" Priority="1" Name="Default Paragraph Font"/>
<w:LsdException Locked="false" Priority="11" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtitle"/>
<w:LsdException Locked="false" Priority="22" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Strong"/>
<w:LsdException Locked="false" Priority="20" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Emphasis"/>
<w:LsdException Locked="false" Priority="59" SemiHidden="false"
UnhideWhenUsed="false" Name="Table Grid"/>
<w:LsdException Locked="false" UnhideWhenUsed="false" Name="Placeholder Text"/>
<w:LsdException Locked="false" Priority="1" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="No Spacing"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 1"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 1"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 1"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 1"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 1"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 1"/>
<w:LsdException Locked="false" UnhideWhenUsed="false" Name="Revision"/>
<w:LsdException Locked="false" Priority="34" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="List Paragraph"/>
<w:LsdException Locked="false" Priority="29" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Quote"/>
<w:LsdException Locked="false" Priority="30" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Quote"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 1"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 1"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 1"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 1"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 1"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 1"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 1"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 1"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 2"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 2"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 2"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 2"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 2"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 2"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 2"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 2"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 2"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 2"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 2"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 2"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 2"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 2"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 3"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 3"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 3"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 3"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 3"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 3"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 3"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 3"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 3"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 3"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 3"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 3"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 3"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 3"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 4"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 4"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 4"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 4"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 4"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 4"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 4"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 4"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 4"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 4"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 4"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 4"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 4"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 4"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 5"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 5"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 5"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 5"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 5"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 5"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 5"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 5"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 5"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 5"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 5"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 5"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 5"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 5"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 6"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 6"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 6"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 6"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 6"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 6"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 6"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 6"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 6"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 6"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 6"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 6"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 6"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 6"/>
<w:LsdException Locked="false" Priority="19" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtle Emphasis"/>
<w:LsdException Locked="false" Priority="21" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Emphasis"/>
<w:LsdException Locked="false" Priority="31" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtle Reference"/>
<w:LsdException Locked="false" Priority="32" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Reference"/>
<w:LsdException Locked="false" Priority="33" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Book Title"/>
<w:LsdException Locked="false" Priority="37" Name="Bibliography"/>
<w:LsdException Locked="false" Priority="39" QFormat="true" Name="TOC Heading"/>
</w:LatentStyles>
</xml><![endif]--><!--[if gte mso 10]>
<style>
/* Style Definitions */
table.MsoNormalTable
{mso-style-name:"Tabla normal";
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-priority:99;
mso-style-qformat:yes;
mso-style-parent:"";
mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
mso-para-margin-top:0cm;
mso-para-margin-right:0cm;
mso-para-margin-bottom:10.0pt;
mso-para-margin-left:0cm;
line-height:115%;
mso-pagination:widow-orphan;
font-size:11.0pt;
font-family:"Calibri","sans-serif";
mso-ascii-font-family:Calibri;
mso-ascii-theme-font:minor-latin;
mso-fareast-font-family:"Times New Roman";
mso-fareast-theme-font:minor-fareast;
mso-hansi-font-family:Calibri;
mso-hansi-theme-font:minor-latin;}
table.MsoTableGrid
{mso-style-name:"Tabla con cuadrícula";
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-priority:59;
mso-style-unhide:no;
border:solid windowtext 1.0pt;
mso-border-alt:solid windowtext .5pt;
mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
mso-border-insideh:.5pt solid windowtext;
mso-border-insidev:.5pt solid windowtext;
mso-para-margin:0cm;
mso-para-margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:11.0pt;
font-family:"Calibri","sans-serif";
mso-ascii-font-family:Calibri;
mso-ascii-theme-font:minor-latin;
mso-hansi-font-family:Calibri;
mso-hansi-theme-font:minor-latin;
mso-fareast-language:EN-US;}
</style>
<![endif]-->
<br />
<div align="center">
<table border="1" cellpadding="0" cellspacing="0" class="MsoTableGrid" style="border-collapse: collapse; border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 0cm 5.4pt 0cm 5.4pt; mso-yfti-tbllook: 1184;">
<tbody>
<tr style="mso-yfti-firstrow: yes; mso-yfti-irow: 0;">
<td colspan="3" style="background: #595959; border: solid windowtext 1.0pt; mso-background-themecolor: text1; mso-background-themetint: 166; mso-border-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 175.5pt;" valign="top" width="234"><div align="center" class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; text-align: center;">
<b style="mso-bidi-font-weight: normal;"><span style="color: white; font-family: "verdana" , sans-serif; font-size: large; mso-themecolor: background1;">OPERADOR OR</span></b></div>
</td>
</tr>
<tr style="mso-yfti-irow: 1;">
<td style="background: #BFBFBF; border-top: none; border: solid windowtext 1.0pt; mso-background-themecolor: background1; mso-background-themeshade: 191; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 47.95pt;" valign="top" width="64"><div align="center" class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; text-align: center;">
<span style="font-family: "verdana" , sans-serif; font-size: large;">a</span></div>
</td>
<td style="background: #BFBFBF; border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-background-themecolor: background1; mso-background-themeshade: 191; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 42.5pt;" valign="top" width="57"><div align="center" class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; text-align: center;">
<span style="font-family: "verdana" , sans-serif; font-size: large;">b</span></div>
</td>
<td style="background: #BFBFBF; border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-background-themecolor: background1; mso-background-themeshade: 191; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 3.0cm;" valign="top" width="113"><div align="center" class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; text-align: center;">
<span style="font-family: "verdana" , sans-serif; font-size: large;">RESULTADO(Q)</span></div>
</td>
</tr>
<tr style="mso-yfti-irow: 2;">
<td style="border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 47.95pt;" valign="top" width="64"><div align="center" class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; text-align: center;">
<span style="font-family: "verdana" , sans-serif; font-size: large;">0</span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 42.5pt;" valign="top" width="57"><div align="center" class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; text-align: center;">
<span style="font-family: "verdana" , sans-serif; font-size: large;">0</span></div>
</td>
<td style="background: #F2F2F2; border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 3.0cm;" valign="top" width="113"><div align="center" class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; text-align: center;">
<span style="font-family: "verdana" , sans-serif; font-size: large;">1</span></div>
</td>
</tr>
<tr style="mso-yfti-irow: 3;">
<td style="border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 47.95pt;" valign="top" width="64"><div align="center" class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; text-align: center;">
<span style="font-family: "verdana" , sans-serif; font-size: large;">0</span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 42.5pt;" valign="top" width="57"><div align="center" class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; text-align: center;">
<span style="font-family: "verdana" , sans-serif; font-size: large;">1</span></div>
</td>
<td style="background: #F2F2F2; border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 3.0cm;" valign="top" width="113"><div align="center" class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; text-align: center;">
<span style="font-family: "verdana" , sans-serif; font-size: large;">1</span></div>
</td>
</tr>
<tr style="mso-yfti-irow: 4;">
<td style="border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 47.95pt;" valign="top" width="64"><div align="center" class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; text-align: center;">
<span style="font-family: "verdana" , sans-serif; font-size: large;">1</span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 42.5pt;" valign="top" width="57"><div align="center" class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; text-align: center;">
<span style="font-family: "verdana" , sans-serif; font-size: large;">0</span></div>
</td>
<td style="background: #F2F2F2; border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 3.0cm;" valign="top" width="113"><div align="center" class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; text-align: center;">
<span style="font-family: "verdana" , sans-serif; font-size: large;">1</span></div>
</td>
</tr>
<tr style="mso-yfti-irow: 5; mso-yfti-lastrow: yes;">
<td style="border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 47.95pt;" valign="top" width="64"><div align="center" class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; text-align: center;">
<span style="font-family: "verdana" , sans-serif; font-size: large;">1</span></div>
</td>
<td style="border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 42.5pt;" valign="top" width="57"><div align="center" class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; text-align: center;">
<span style="font-family: "verdana" , sans-serif; font-size: large;">1</span></div>
</td>
<td style="background: #F2F2F2; border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 3.0cm;" valign="top" width="113"><div align="center" class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; text-align: center;">
<span style="font-family: "verdana" , sans-serif; font-size: large;">0</span></div>
</td>
</tr>
</tbody></table>
</div>
<span style="font-size: large;"></span><span style="font-family: "verdana" , sans-serif;"></span><br />
<span style="font-size: large;"></span><span style="font-family: "verdana" , sans-serif;"></span><br />
<!--[if gte mso 9]><xml>
<w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="true"
DefSemiHidden="true" DefQFormat="false" DefPriority="99"
LatentStyleCount="267">
<w:LsdException Locked="false" Priority="0" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Normal"/>
<w:LsdException Locked="false" Priority="9" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="heading 1"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 2"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 3"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 4"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 5"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 6"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 7"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 8"/>
<w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 9"/>
<w:LsdException Locked="false" Priority="39" Name="toc 1"/>
<w:LsdException Locked="false" Priority="39" Name="toc 2"/>
<w:LsdException Locked="false" Priority="39" Name="toc 3"/>
<w:LsdException Locked="false" Priority="39" Name="toc 4"/>
<w:LsdException Locked="false" Priority="39" Name="toc 5"/>
<w:LsdException Locked="false" Priority="39" Name="toc 6"/>
<w:LsdException Locked="false" Priority="39" Name="toc 7"/>
<w:LsdException Locked="false" Priority="39" Name="toc 8"/>
<w:LsdException Locked="false" Priority="39" Name="toc 9"/>
<w:LsdException Locked="false" Priority="35" QFormat="true" Name="caption"/>
<w:LsdException Locked="false" Priority="10" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Title"/>
<w:LsdException Locked="false" Priority="1" Name="Default Paragraph Font"/>
<w:LsdException Locked="false" Priority="11" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtitle"/>
<w:LsdException Locked="false" Priority="22" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Strong"/>
<w:LsdException Locked="false" Priority="20" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Emphasis"/>
<w:LsdException Locked="false" Priority="59" SemiHidden="false"
UnhideWhenUsed="false" Name="Table Grid"/>
<w:LsdException Locked="false" UnhideWhenUsed="false" Name="Placeholder Text"/>
<w:LsdException Locked="false" Priority="1" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="No Spacing"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 1"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 1"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 1"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 1"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 1"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 1"/>
<w:LsdException Locked="false" UnhideWhenUsed="false" Name="Revision"/>
<w:LsdException Locked="false" Priority="34" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="List Paragraph"/>
<w:LsdException Locked="false" Priority="29" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Quote"/>
<w:LsdException Locked="false" Priority="30" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Quote"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 1"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 1"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 1"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 1"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 1"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 1"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 1"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 1"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 2"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 2"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 2"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 2"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 2"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 2"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 2"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 2"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 2"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 2"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 2"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 2"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 2"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 2"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 3"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 3"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 3"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 3"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 3"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 3"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 3"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 3"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 3"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 3"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 3"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 3"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 3"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 3"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 4"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 4"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 4"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 4"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 4"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 4"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 4"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 4"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 4"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 4"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 4"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 4"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 4"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 4"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 5"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 5"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 5"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 5"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 5"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 5"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 5"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 5"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 5"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 5"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 5"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 5"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 5"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 5"/>
<w:LsdException Locked="false" Priority="60" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Shading Accent 6"/>
<w:LsdException Locked="false" Priority="61" SemiHidden="false"
UnhideWhenUsed="false" Name="Light List Accent 6"/>
<w:LsdException Locked="false" Priority="62" SemiHidden="false"
UnhideWhenUsed="false" Name="Light Grid Accent 6"/>
<w:LsdException Locked="false" Priority="63" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 1 Accent 6"/>
<w:LsdException Locked="false" Priority="64" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Shading 2 Accent 6"/>
<w:LsdException Locked="false" Priority="65" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 1 Accent 6"/>
<w:LsdException Locked="false" Priority="66" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium List 2 Accent 6"/>
<w:LsdException Locked="false" Priority="67" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 1 Accent 6"/>
<w:LsdException Locked="false" Priority="68" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 2 Accent 6"/>
<w:LsdException Locked="false" Priority="69" SemiHidden="false"
UnhideWhenUsed="false" Name="Medium Grid 3 Accent 6"/>
<w:LsdException Locked="false" Priority="70" SemiHidden="false"
UnhideWhenUsed="false" Name="Dark List Accent 6"/>
<w:LsdException Locked="false" Priority="71" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Shading Accent 6"/>
<w:LsdException Locked="false" Priority="72" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful List Accent 6"/>
<w:LsdException Locked="false" Priority="73" SemiHidden="false"
UnhideWhenUsed="false" Name="Colorful Grid Accent 6"/>
<w:LsdException Locked="false" Priority="19" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtle Emphasis"/>
<w:LsdException Locked="false" Priority="21" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Emphasis"/>
<w:LsdException Locked="false" Priority="31" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Subtle Reference"/>
<w:LsdException Locked="false" Priority="32" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Intense Reference"/>
<w:LsdException Locked="false" Priority="33" SemiHidden="false"
UnhideWhenUsed="false" QFormat="true" Name="Book Title"/>
<w:LsdException Locked="false" Priority="37" Name="Bibliography"/>
<w:LsdException Locked="false" Priority="39" QFormat="true" Name="TOC Heading"/>
</w:LatentStyles>
</xml><![endif]--><!--[if gte mso 10]>
<style>
/* Style Definitions */
table.MsoNormalTable
{mso-style-name:"Tabla normal";
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-priority:99;
mso-style-qformat:yes;
mso-style-parent:"";
mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
mso-para-margin-top:0cm;
mso-para-margin-right:0cm;
mso-para-margin-bottom:10.0pt;
mso-para-margin-left:0cm;
line-height:115%;
mso-pagination:widow-orphan;
font-size:11.0pt;
font-family:"Calibri","sans-serif";
mso-ascii-font-family:Calibri;
mso-ascii-theme-font:minor-latin;
mso-fareast-font-family:"Times New Roman";
mso-fareast-theme-font:minor-fareast;
mso-hansi-font-family:Calibri;
mso-hansi-theme-font:minor-latin;}
table.MsoTableGrid
{mso-style-name:"Tabla con cuadrícula";
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-priority:59;
mso-style-unhide:no;
border:solid windowtext 1.0pt;
mso-border-alt:solid windowtext .5pt;
mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
mso-border-insideh:.5pt solid windowtext;
mso-border-insidev:.5pt solid windowtext;
mso-para-margin:0cm;
mso-para-margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:11.0pt;
font-family:"Calibri","sans-serif";
mso-ascii-font-family:Calibri;
mso-ascii-theme-font:minor-latin;
mso-hansi-font-family:Calibri;
mso-hansi-theme-font:minor-latin;
mso-fareast-language:EN-US;}
</style>
<![endif]-->
<br />
<div align="center">
<table border="1" cellpadding="0" cellspacing="0" class="MsoTableGrid" style="border-collapse: collapse; border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 0cm 5.4pt 0cm 5.4pt; mso-yfti-tbllook: 1184;">
<tbody>
<tr style="mso-yfti-firstrow: yes; mso-yfti-irow: 0;">
<td colspan="2" style="background: #595959; border: solid windowtext 1.0pt; mso-background-themecolor: text1; mso-background-themetint: 166; mso-border-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 5.0cm;" valign="top" width="189"><div align="center" class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; text-align: center;">
<b style="mso-bidi-font-weight: normal;"><span style="color: white; font-family: "verdana" , sans-serif; font-size: large; mso-themecolor: background1;">OPERADOR NOT</span></b></div>
</td>
</tr>
<tr style="mso-yfti-irow: 1;">
<td style="background: #BFBFBF; border-top: none; border: solid windowtext 1.0pt; mso-background-themecolor: background1; mso-background-themeshade: 191; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 62.9pt;" valign="top" width="84"><div align="center" class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; text-align: center;">
<span style="font-family: "verdana" , sans-serif; font-size: large;">a</span></div>
</td>
<td style="background: #BFBFBF; border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-background-themecolor: background1; mso-background-themeshade: 191; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 78.85pt;" valign="top" width="105"><div align="center" class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; text-align: center;">
<span style="font-family: "verdana" , sans-serif; font-size: large;">RESULTADO(Q)</span></div>
</td>
</tr>
<tr style="mso-yfti-irow: 2;">
<td style="border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 62.9pt;" valign="top" width="84"><div align="center" class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; text-align: center;">
<span style="font-family: "verdana" , sans-serif; font-size: large;">0</span></div>
</td>
<td style="background: #F2F2F2; border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 78.85pt;" valign="top" width="105"><div align="center" class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; text-align: center;">
<span style="font-family: "verdana" , sans-serif; font-size: large;">0</span></div>
</td>
</tr>
<tr style="mso-yfti-irow: 3; mso-yfti-lastrow: yes;">
<td style="border-top: none; border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 62.9pt;" valign="top" width="84"><div align="center" class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; text-align: center;">
<span style="font-family: "verdana" , sans-serif; font-size: large;">0</span></div>
</td>
<td style="background: #F2F2F2; border-bottom: solid windowtext 1.0pt; border-left: none; border-right: solid windowtext 1.0pt; border-top: none; mso-background-themecolor: background1; mso-background-themeshade: 242; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 78.85pt;" valign="top" width="105"><div align="center" class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; text-align: center;">
<span style="font-family: "verdana" , sans-serif; font-size: large;">0</span></div>
</td>
</tr>
</tbody></table>
</div>
<span style="font-size: large;"></span><span style="font-family: "verdana" , sans-serif;"></span><br />
<div style="text-align: left;">
<span style="font-size: large;"></span><span style="font-family: "verdana" , sans-serif;"></span><br /></div>
<div style="text-align: left;">
<span style="font-family: "verdana" , sans-serif; font-size: large;"> Si alguno ha dado el algebra de Boole, recordáis que a AND b= NOT (a OR b)?</span></div>
<div style="text-align: left;">
<span style="font-family: "verdana" , sans-serif; font-size: large;">solo hay que mirar la tabla AND y la OR, donde hay un 1 en la otra hay un 0!</span></div>
<div style="text-align: left;">
<span style="font-size: large;"></span><span style="font-family: "verdana" , sans-serif;"></span><br /></div>
<div style="text-align: left;">
<span style="font-family: "verdana" , sans-serif; font-size: large;">y por último el símbolo de estos operadores (y de alguno más) es:</span></div>
<div style="text-align: left;">
<span style="font-family: "verdana" , sans-serif; font-size: large;">(una puerta NOR es una OR con una NOT, que es la que usamos para obtener el broadcast) </span></div>
<div style="text-align: left;">
<span style="font-size: large;"></span><span style="font-family: "verdana" , sans-serif;"></span><br /></div>
<div style="text-align: center;">
<span style="font-family: "verdana" , sans-serif; font-size: large;"> </span><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhIQNT8cYp44cA2LZuYVXEblyfsNHmQIOcv6VVgkE9R-A3tdZivM5lnIPF-Bj8OZLn2h8Ghz4RFjxlxTKIAZg6pVv5Nqs8FXUTTk_20EWZEB5iit_TARlIgS_pJWDmffZERiVMvYtSFBgg/s1600/puertas.gif" imageanchor="1"><img border="0" height="158" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhIQNT8cYp44cA2LZuYVXEblyfsNHmQIOcv6VVgkE9R-A3tdZivM5lnIPF-Bj8OZLn2h8Ghz4RFjxlxTKIAZg6pVv5Nqs8FXUTTk_20EWZEB5iit_TARlIgS_pJWDmffZERiVMvYtSFBgg/s400/puertas.gif" width="400" /></a></div>
<div style="text-align: left;">
<span style="font-size: large;"></span><span style="font-family: "verdana" , sans-serif;"></span><br /></div>
<div style="text-align: left;">
<span style="font-family: "verdana" , sans-serif; font-size: large;">Para descargar la calculadora IP, </span><a href="https://drive.google.com/open?id=0B0VEoGgb5cVcSlA1aGh6UWV1M3M" target="_blank"><span style="font-family: "verdana" , sans-serif; font-size: large;">pulsar aquí</span></a></div>
<div style="text-align: left;">
<span style="font-size: large;"></span><span style="font-family: "verdana" , sans-serif;"></span><br /></div>
<div style="text-align: left;">
</div>
<div style="text-align: left;">
<span style="font-family: "verdana" , sans-serif; font-size: large;">Espero que os sirva y adjunto el código de la clase principal.</span></div>
<pre class="brush: csharp">
/* ************************************************************************************************************************************************
* © JOAQUIN MARTINEZ RUS 2015
* PROYECTO: IpAddress Calculator
* Nombre: AndrewWiles
* Archivo: IpAddress.cs
* Descripción: Clase principal
* Historial:
* 1. Joaquin Martínez Rus - 13 ene 2016. Creación
*
* Comentarios: Calculador de redes
*
*
**************************************************************************************************************************************************/
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading.Tasks;
using System.ComponentModel;
namespace AndrewWiles
{
public class IpAddress:INotifyPropertyChanged
{
public IpAddress()
{
CreateArrays();
this.IP = "0.0.0.0";
}
public IpAddress(string ip)
{
CreateArrays();
this.IP = ip;
}
#region Propiedades, eventos
public event PropertyChangedEventHandler PropertyChanged;
private string _ip;
public string IP
{
get { return _ip; }
set
{
_ip = value;
IsValidIP = this.ValidateIP();
if (IsValidIP)
{
ipNumbers = _ip.Split('.');
for (int i = 0; i < ipNumbers.Length; i++)
{
ipNumbersByte[i] = DecimalToBinary(ipNumbers[i]);
}
}
}
}
public string[] ipNumbers { get; set; }
public string[] ipNumbersByte { get; set; }
public string[] NetWorkAddress { get; set; }
public string[] Broadcast { get; set; }
public string[] NetMask { get; set; }
public string[] HostMin { get; set; }
public string[] HostMax { get; set; }
public string IpClass { get; set; }
public string NetID { get; set; }
public string HostID { get; set; }
public int Hosts { get; set; }
private int netMaskCIDR;
public int NetMaskCIDR
{
get { return netMaskCIDR; }
set
{
netMaskCIDR = value;
this.ConvertCIDRToNetMask();
}
}
private bool isValidIP;
public bool IsValidIP
{
get { return isValidIP; }
set
{
isValidIP = value;
NotifyPropertyChanged("ValidIP");
}
}
#endregion
#region Métodos públicos
public void SetNetAddress()
{
this.NetWorkAddress = this.OperationAND(this.ipNumbers, this.NetMask);
}
public void SetBroadCast()
{
this.Broadcast= this.OperationOR(this.ipNumbers, this.OperationNOT(this.NetMask));
}
public void SetIP(string ip)
{
this.IP = ip;
}
public void SetNetType()
{
if (ipNumbersByte[0].Substring(0,1)=="0")
{
this.IpClass = "A";
}
if (ipNumbersByte[0].Substring(0, 2) == "10")
{
this.IpClass = "B";
}
if (ipNumbersByte[0].Substring(0, 3) == "110")
{
this.IpClass = "C";
}
if (ipNumbersByte[0].Substring(0, 4) == "1110")
{
this.IpClass = "D";
}
if (ipNumbersByte[0].Substring(0, 4) == "1111")
{
this.IpClass = "E";
}
}
public void SetHostMin()
{
this.NetWorkAddress.CopyTo(this.HostMin,0);
this.HostMin[3]= (Convert.ToInt16(this.HostMin[3]) + 1).ToString();
}
public void SetHostMax()
{
this.Broadcast.CopyTo(this.HostMax, 0);
this.HostMax[3] = (Convert.ToInt16(this.HostMax[3]) - 1).ToString();
}
public string GetIPToString(string [] ip)
{
string ipToString = "";
foreach (var item in ip)
{
ipToString += item + ".";
}
return ipToString.Substring(0, ipToString.Length - 1);
}
public string GetIPBinaryToString(string[] ip)
{
string ipToString = "";
foreach (var item in ip)
{
ipToString += this.DecimalToBinary(item) + " ";
}
return ipToString.Substring(0, ipToString.Length - 1);
}
#endregion
#region Métodos privados
#region Métodos de Eventos
private void NotifyPropertyChanged(string property)
{
var handler = this.PropertyChanged;
if (handler != null)
{
handler(this, new PropertyChangedEventArgs(property));
}
}
#endregion
#region Operaciones Binarias
private string[] BinaryToDecimal(string[] aByte)
{
string[] bytes = new string[4];
for (int i = 0; i < aByte.Length; i++)
{
bytes[i] = BinaryToDecimal(aByte[i]);
}
return bytes;
}
private string BinaryToDecimal(string aByte)
{
double aux = 0;
for (int i = 0; i < aByte.Length; i++)
{
double potencia = Math.Pow(2, i);
double digito=Convert.ToInt16(aByte.Substring(aByte.Length-1-i,1));
aux += (potencia * digito);
}
return aux.ToString();
}
private string[] DecimalToBinary(string[] aByte)
{
string[] bytes = new string[4];
for (int i = 0; i < aByte.Length; i++)
{
bytes[i] = DecimalToBinary(aByte[i]);
}
return bytes;
}
private string DecimalToBinary(string aByte)
{
int entero=Convert.ToInt32(aByte);
return Convert.ToString(entero,2).PadLeft(8,'0');
}
public string[] OperationOR(string[] ip1, string[] ip2)
{
string[] CalculoOR = new string[4];
for (int i = 0; i < ip1.Length; i++)
{
int a= Convert.ToInt32(ip1[i]);
int b= Convert.ToInt32(ip2[i]);
string o = (a | b).ToString();
CalculoOR[i] = o;
}
return CalculoOR;
}
public string[] OperationAND(string[] ip1, string[] ip2)
{
string[] CalculoAND = new string[4];
for (int i = 0; i < ip1.Length; i++)
{
int a = Convert.ToInt32(ip1[i]);
int b = Convert.ToInt32(ip2[i]);
string o = (a & b).ToString();
CalculoAND[i] = o;
}
return CalculoAND;
}
public string[] OperationNOT(string[] ip)
{
string[] CalculoNOT = new string[4];
for (int i = 0; i < ip.Length; i++)
{
string number = this.DecimalToBinary(ip[i]);
string notNumber = "";
foreach (var item in number)
{
notNumber += item == '0' ? '1' : '0';
}
CalculoNOT[i] = this.BinaryToDecimal(notNumber);
}
return CalculoNOT;
}
#endregion
#region Cálculos con Direcciones
private void ConvertCIDRToNetMask()
{
string unos = "";
string ceros = "";
int resto = 32 - this.NetMaskCIDR;
string netmaskTemporal = unos.PadRight(this.NetMaskCIDR, '1') + ceros.PadRight(resto, '0');
string a = netmaskTemporal.Substring(0, 8);
string b = netmaskTemporal.Substring(8, 8);
string c = netmaskTemporal.Substring(16, 8);
string d = netmaskTemporal.Substring(24, 8);
this.NetMask[0] = BinaryToDecimal(a);
this.NetMask[1] = BinaryToDecimal(b);
this.NetMask[2] = BinaryToDecimal(c);
this.NetMask[3] = BinaryToDecimal(d);
this.Hosts = (int)Math.Pow(2, resto) - 2;
}
#endregion
#region Validaciones
private bool ValidateIP()
{
return ValidateIP(this.IP);
}
private bool ValidateIP(string ip)
{
bool isValid = false;
Regex regexip = new Regex(@"\b(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\b");
MatchCollection result = regexip.Matches(ip);
if (result.Count > 0)
{
isValid = true;
}
else
{
isValid = false;
}
return isValid;
}
#endregion
#region Genéricas
private void CreateArrays()
{
ipNumbers = new string[4];
ipNumbersByte = new string[4];
NetWorkAddress = new string[4];
Broadcast = new string[4];
NetMask = new string[4];
HostMin = new string[4];
HostMax = new string[4];
}
#endregion
#endregion
}
public class IPData
{
public IPData(string texto, string data, string binary)
{
this.Texto = texto;
this.Data = data;
this.Binary = binary;
}
public string Texto { get; set; }
public string Data { get; set; }
public string Binary { get; set; }
}
}
</pre>
<div style="text-align: left;">
<span style="font-size: large;"></span><span style="font-family: "verdana" , sans-serif;"></span><br /></div>
<div style="text-align: left;">
<span style="font-family: "verdana" , sans-serif; font-size: large;">Saludos</span></div>
</div>
Joaquin Martínezhttp://www.blogger.com/profile/07166016070485946881noreply@blogger.com2tag:blogger.com,1999:blog-1726059233582515530.post-71771349516222183642014-10-30T13:11:00.000+01:002014-10-30T13:15:03.799+01:0014.- Instrucciones de Salto<div dir="ltr" style="text-align: left;" trbidi="on">
<br />
<div class="MsoNormal" style="margin: 0cm 0cm 10pt; text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;">Hola a todos de nuevo. Hoy vamos a estudiar las
instrucciones de salto. ¿Y que son las instrucciones de salto? Todos sabemos
que en un programa las instrucciones se ejecutan secuencialmente, pues estas,
nos permiten saltar de una parte del programa a otro evitando esa ejecución
secuencial.</span></div>
<div class="MsoNormal" style="margin: 0cm 0cm 10pt;">
<span style="font-family: Arial, Helvetica, sans-serif;">Las instrucciones de salto para C# son:</span></div>
<ul style="text-align: left;"><span style="font-family: Arial, Helvetica, sans-serif;">
</span>
<li><div class="MsoListParagraphCxSpFirst" style="margin: 0cm 0cm 0pt 36pt; mso-list: l0 level1 lfo1; text-indent: -18pt;">
<!--[if !supportLists]--><span style="font-family: Arial, Helvetica, sans-serif;"><span style="font-family: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol;"><span style="mso-list: Ignore;"><span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal "Times New Roman";">
</span></span></span><!--[endif]-->break</span></div>
<span style="font-family: Arial, Helvetica, sans-serif;">
</span></li>
<span style="font-family: Arial, Helvetica, sans-serif;">
</span>
<li><div class="MsoListParagraphCxSpFirst" style="margin: 0cm 0cm 0pt 36pt; mso-list: l0 level1 lfo1; text-indent: -18pt;">
<span style="font-family: Arial, Helvetica, sans-serif;">continue</span></div>
<span style="font-family: Arial, Helvetica, sans-serif;">
</span></li>
<span style="font-family: Arial, Helvetica, sans-serif;">
</span>
<li><div class="MsoListParagraphCxSpMiddle" style="margin: 0cm 0cm 0pt 36pt; mso-list: l0 level1 lfo1; text-indent: -18pt;">
<!--[if !supportLists]--><span style="font-family: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol;"><span style="mso-list: Ignore;"><span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal "Times New Roman";"></span></span></span><!--[endif]--><span style="font-family: Arial, Helvetica, sans-serif;">goto</span></div>
<span style="font-family: Arial, Helvetica, sans-serif;">
</span></li>
<span style="font-family: Arial, Helvetica, sans-serif;">
</span>
<li><div class="MsoListParagraphCxSpMiddle" style="margin: 0cm 0cm 0pt 36pt; mso-list: l0 level1 lfo1; text-indent: -18pt;">
<!--[if !supportLists]--><span style="font-family: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol;"><span style="mso-list: Ignore;"><span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal "Times New Roman";"></span></span></span><!--[endif]--><span style="font-family: Arial, Helvetica, sans-serif;">return</span></div>
<span style="font-family: Arial, Helvetica, sans-serif;">
</span></li>
<span style="font-family: Arial, Helvetica, sans-serif;">
</span>
<li><div class="MsoListParagraphCxSpLast" style="margin: 0cm 0cm 10pt 36pt; mso-list: l0 level1 lfo1; text-indent: -18pt;">
<!--[if !supportLists]--><span style="font-family: Symbol; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol;"><span style="mso-list: Ignore;"><span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal "Times New Roman";"></span></span></span><!--[endif]--><span style="font-family: Arial, Helvetica, sans-serif;">throw</span></div>
<span style="font-family: Arial, Helvetica, sans-serif;">
</span></li>
<span style="font-family: Arial, Helvetica, sans-serif;">
</span></ul>
<div class="MsoNormal" style="margin: 0cm 0cm 10pt;">
<span style="font-family: Arial, Helvetica, sans-serif;">Y para VB.NET</span></div>
<ul style="text-align: left;"><span style="font-family: Arial, Helvetica, sans-serif;">
</span>
<li><div class="MsoListParagraphCxSpFirst" style="margin: 0cm 0cm 0pt 36pt; mso-list: l1 level1 lfo2; text-indent: -18pt;">
<!--[if !supportLists]--><!--[endif]--><span style="font-family: Arial, Helvetica, sans-serif;">Exit For</span></div>
<span style="font-family: Arial, Helvetica, sans-serif;">
</span></li>
<span style="font-family: Arial, Helvetica, sans-serif;">
</span>
<li><div class="MsoListParagraphCxSpMiddle" style="margin: 0cm 0cm 0pt 36pt; mso-list: l1 level1 lfo2; text-indent: -18pt;">
<!--[if !supportLists]--><!--[endif]--><span style="font-family: Arial, Helvetica, sans-serif;">Exit Do</span></div>
<span style="font-family: Arial, Helvetica, sans-serif;">
</span></li>
<span style="font-family: Arial, Helvetica, sans-serif;">
</span>
<li><div class="MsoListParagraphCxSpMiddle" style="margin: 0cm 0cm 0pt 36pt; mso-list: l1 level1 lfo2; text-indent: -18pt;">
<!--[if !supportLists]--><!--[endif]--><span style="font-family: Arial, Helvetica, sans-serif;">Exit While</span></div>
<span style="font-family: Arial, Helvetica, sans-serif;">
</span></li>
<span style="font-family: Arial, Helvetica, sans-serif;">
</span>
<li><div class="MsoListParagraphCxSpMiddle" style="margin: 0cm 0cm 0pt 36pt; mso-list: l1 level1 lfo2; text-indent: -18pt;">
<!--[if !supportLists]--><span style="font-family: Arial, Helvetica, sans-serif;">Exit Select</span></div>
<span style="font-family: Arial, Helvetica, sans-serif;">
</span></li>
<span style="font-family: Arial, Helvetica, sans-serif;">
</span>
<li><div class="MsoListParagraphCxSpMiddle" style="margin: 0cm 0cm 0pt 36pt; mso-list: l1 level1 lfo2; text-indent: -18pt;">
<!--[if !supportLists]--><span style="font-family: Arial, Helvetica, sans-serif;">Continue For</span></div>
<span style="font-family: Arial, Helvetica, sans-serif;">
</span></li>
<span style="font-family: Arial, Helvetica, sans-serif;">
</span>
<li><div class="MsoListParagraphCxSpMiddle" style="margin: 0cm 0cm 0pt 36pt; mso-list: l1 level1 lfo2; text-indent: -18pt;">
<!--[if !supportLists]--><span style="font-family: Arial, Helvetica, sans-serif;">goto</span></div>
<span style="font-family: Arial, Helvetica, sans-serif;">
</span></li>
<span style="font-family: Arial, Helvetica, sans-serif;">
</span>
<li><div class="MsoListParagraphCxSpMiddle" style="margin: 0cm 0cm 0pt 36pt; mso-list: l1 level1 lfo2; text-indent: -18pt;">
<!--[if !supportLists]--><!--[endif]--><span style="font-family: Arial, Helvetica, sans-serif;">Return</span></div>
<span style="font-family: Arial, Helvetica, sans-serif;">
</span></li>
<span style="font-family: Arial, Helvetica, sans-serif;">
</span></ul>
<div class="MsoNormal" style="margin: 0cm 0cm 10pt; text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;">Paso a paso, vamos a detallar una por una excepto la última
que la incluiremos en el tratamiento de errores.</span></div>
<div class="MsoNormal" style="margin: 0cm 0cm 10pt; text-align: justify;">
<span style="font-family: Calibri;"><span style="font-family: Arial, Helvetica, sans-serif;">La instrucción <em>break</em> nos permita terminar un bucle o salir
de una instrucción <em>switch</em>, es decir por ejemplo, si creamos un bucle do <em>while</em>
que vaya sumando 1 a una variable y le ponemos la condición de que cuando esa
variable llegue a 100 salga del bucle, pues en la parte verdadera de esa
condición es donde debemos poner el break, para que así salga y no siga
sumando. Para VB.NET, se utiliza <em>Exit For</em> para un bucle <em>For Next, Exit Do</em> para
un bucle <em>Do While, Exit While</em> para un bucle <em>While</em> y <em>Exit Select</em> para una
instrucción <em>Select</em> <em>Case</em>. Como veis, C# se complica menos y utiliza <em>break</em> para
todos los casos.</span> </span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="color: blue; font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">for</span><span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">
(<span style="color: blue;">int</span> i = 1; i <= 1000; i++)</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">{</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none; text-indent: 35.4pt;">
<span lang="EN-US" style="color: blue; font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">if</span><span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"> (i == 100)</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none; text-indent: 35.4pt;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">{</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt 35.4pt; mso-layout-grid-align: none; text-indent: 35.4pt;">
<span lang="EN-US" style="color: blue; font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">break</span><span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">;</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt 35.4pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">}</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="color: #2b91af; font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">Console</span><span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">.WriteLine(i);</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">}</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"></span> </div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Arial, Helvetica, sans-serif;">Mismo caso pero con una instrucción
<em>while</em></span><span style="font-family: Consolas;"><o:p><em> </em></o:p></span></div>
<br />
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="color: blue; font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">int</span><span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">
n = 0;</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="color: blue; font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">while</span><span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">
(<span style="color: blue;">true</span>)</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">{</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none; text-indent: 35.4pt;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">n
+= 1;</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none; text-indent: 35.4pt;">
<span lang="EN-US" style="color: blue; font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">if</span><span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"> (n==100)</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none; text-indent: 35.4pt;">
<span style="font-family: Consolas; font-size: 9.5pt;">{</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt 35.4pt; mso-layout-grid-align: none; text-indent: 35.4pt;">
<span style="color: blue; font-family: Consolas; font-size: 9.5pt;">break</span><span style="font-family: Consolas; font-size: 9.5pt;">;</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none; text-indent: 35.4pt;">
<span style="font-family: Consolas; font-size: 9.5pt;">}</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;">}</span></div>
<br />
<div class="MsoNormal" style="margin: 0cm 0cm 10pt;">
<span style="font-family: Calibri;">Y su equivalente para Vb.NET</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">For</span> i <span style="color: blue;">As</span> <span style="color: blue;">Integer</span> = 1 <span style="color: blue;">To</span> 1000</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">If</span>
i = 100 <span style="color: blue;">Then</span></span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">Exit
For</span></span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">End</span>
<span style="color: blue;">If</span></span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span></span><span style="color: #2b91af; font-family: Consolas; font-size: 9.5pt;">Console</span><span style="font-family: Consolas; font-size: 9.5pt;">.WriteLine(i)</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">Next</span></span></div>
<br />
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">Dim</span> n <span style="color: blue;">As</span> <span style="color: blue;">Integer</span> = 0</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">While</span> <span style="color: blue;">True</span></span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span>n += 1</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">If</span>
n = 100 <span style="color: blue;">Then</span></span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">Exit
While</span></span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">End</span>
<span style="color: blue;">If</span></span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">End</span> <span style="color: blue;">While</span></span><span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><o:p> </o:p></span></div>
<br />
<div class="MsoNormal" style="margin: 0cm 0cm 10pt; text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;"><em>continue</em>, es una instrucción que no suelo utilizar a menudo,
pero es curiosa en cuanto a su funcionamiento. Esta lo que provoca dentro de un
bucle for o foreach, pasar a la siguiente iteración, por ejemplo.</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">for</span>
(<span style="color: blue;">int</span> i = 1; i <= 10; i++)</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span>{</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">if</span>
(i < 9)</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span></span><span style="font-family: Consolas; font-size: 9.5pt;">{</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;">
</span><span style="color: blue;">continue</span>;</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;">
</span>}</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;">
</span><span style="color: #2b91af;">Console</span>.WriteLine(i);</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span>}</span></div>
<br />
<div class="MsoNormal" style="margin: 0cm 0cm 10pt; text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;">En este ejemplo cuando i es menor que 9 la instrucción
continue evita que se escriba en la consola pasando a darle un valor nuevo a i
hasta que i es mayor o igual a 9, donde entonces se imprimirá el valor en
pantalla. <span lang="EN-US" style="mso-ansi-language: EN-US;">Su equivalente en
VB.NET es Continue For.</span></span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">For</span> i <span style="color: blue;">As</span> <span style="color: blue;">Integer</span> = 1 <span style="color: blue;">To</span> 10</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">If</span>
i < 9 <span style="color: blue;">Then</span></span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">Continue
For</span></span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">End</span>
<span style="color: blue;">If</span></span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span><span style="color: #2b91af;">Console</span>.WriteLine(i)</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span></span><span style="color: blue; font-family: Consolas; font-size: 9.5pt;">Next</span><span style="font-family: Consolas; font-size: 9.5pt;"><o:p> </o:p></span></div>
<br />
<div class="MsoNormal" style="margin: 0cm 0cm 10pt; text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;">Goto transfiera o envía el control del programa a un sitio
concreto del programa y ¿cómo sabe donde tiene que enviarlo?, pues porque en
ese lugar debe existir una etiqueta. También puede usarse para transferir el
control de programa a una etiqueta de una instrucción switch. Además, como es
normal, podemos usarla también para salir de bucles, ¿no crees? Exponemos
ejemplos. En el primero, aparecerá en pantalla ‘He salido’ cuando el valor de i
valga 9.</span></div>
<div class="MsoNormal" style="margin: 0cm 0cm 10pt; text-align: justify;">
<span lang="EN-US" style="mso-ansi-language: EN-US;"><span style="font-family: Calibri;">C#</span></span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">for</span>
(<span style="color: blue;">int</span> i = 1; i <= 10; i++)</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span>{</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">if</span>
(i > 8)</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span>{</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">goto</span>
SalidaPrograma;</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span><span style="mso-spacerun: yes;"> </span></span><span style="font-family: Consolas; font-size: 9.5pt;">}</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span>}</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;">
</span>SalidaPrograma:</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span><span style="color: #2b91af;">Console</span>.WriteLine(<span style="color: #a31515;">"He
salido"</span>);</span><span style="font-family: Consolas; font-size: 9.5pt;"><o:p> </o:p></span></div>
<br />
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;">VB.NET</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">For</span> i <span style="color: blue;">As</span> <span style="color: blue;">Integer</span> = 1 <span style="color: blue;">To</span> 10</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">If</span>
i > 8 <span style="color: blue;">Then</span></span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">GoTo</span>
SalidaPrograma</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">End</span>
<span style="color: blue;">If</span></span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span></span><span style="color: blue; font-family: Consolas; font-size: 9.5pt;">Next</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;">SalidaPrograma:</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span><span style="color: #2b91af;">Console</span>.WriteLine(<span style="color: #a31515;">"He
salido"</span>)</span><span style="font-family: Consolas; font-size: 9.5pt;"><o:p> </o:p></span></div>
<br />
<div class="MsoNormal" style="margin: 0cm 0cm 10pt; text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;">En el caso de salto dentro de una instrucción switch, lo
vemos a continuación en el que dependiendo del valor de n, (el resto no me
valen), en el que para el caso de 2 y 3, efectuará la suma propia del caso,
pero además lo reenviará al valor 1 donde volverá a sumarle 25, ¿ok?</span></div>
<div class="MsoNormal" style="margin: 0cm 0cm 10pt;">
<span style="font-family: Calibri;">C# </span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span></span><span lang="EN-US" style="color: blue; font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">int</span><span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"> valor=0;</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">switch</span>
(n)</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span>{</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">case</span>
1:</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span>valor += 25;</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">break</span>;</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">case</span>
2:</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span>valor += 25;</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">goto</span>
<span style="color: blue;">case</span> 1;</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">case</span>
3:</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span>valor += 50;</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">goto</span>
<span style="color: blue;">case</span> 1;</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">default</span>:</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span></span><span style="color: #2b91af; font-family: Consolas; font-size: 9.5pt;">Console</span><span style="font-family: Consolas; font-size: 9.5pt;">.WriteLine(<span style="color: #a31515;">"Esto no me vale"</span>);</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;">
</span></span><span lang="EN-US" style="color: blue; font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">break</span><span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">;</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span>}</span><span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><o:p> </o:p></span></div>
<br />
<div class="MsoNormal" style="margin: 0cm 0cm 10pt;">
<span lang="EN-US" style="mso-ansi-language: EN-US;"><span style="font-family: Calibri;">VB.NET</span></span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">Dim</span>
valor <span style="color: blue;">As</span> <span style="color: blue;">Integer</span>
= 0</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">Select</span> <span style="color: blue;">Case</span> n</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">Case</span>
1</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span>valor += 25</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">Exit
Select</span></span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">Case</span>
2</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span>valor += 25</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-tab-count: 2;"> </span><span style="color: blue;">goto</span>
case 1</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">Case</span>
3</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span>valor += 50</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-tab-count: 2;"> </span><span style="color: blue;">goto</span>
case 1</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">Case Else</span></span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span></span><span style="color: #2b91af; font-family: Consolas; font-size: 9.5pt;">Console</span><span style="font-family: Consolas; font-size: 9.5pt;">.WriteLine(<span style="color: #a31515;">"Esto
no me vale"</span>)</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;">
</span></span><span lang="EN-US" style="color: blue; font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">Exit Select</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">End</span> <span style="color: blue;">Select</span></span><span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><o:p> </o:p></span></div>
<br />
<div class="MsoNormal" style="margin: 0cm 0cm 10pt; text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;">La instrucción return acaba la ejecución del método donde se
ha ejecutado y devuelve el control al método que llamó antes, además puede
devolver algún valor. Con un ejemplo lo veremos con más claridad.</span></div>
<div class="MsoNormal" style="margin: 0cm 0cm 10pt; text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;">Si ejecutamos el método Inicio, se llamará al método
CalcularAreaCirculo conun valor de radio igual a 5. Dentro del método de cálculo,
se efectuarán los cálculos pertinentes para obtener el área y acto seguido se
ejecuta return area, devolviendo el valor del área al método que lo llamó que
es Inicio. Una vez este tiene el valor, lo visualiza en pantalla. Lo que si
tenemos que tener en cuenta para VB.NET, es que para que un método devuelva un
valor, debe ser una función (Function), cosa que en C# en vez de void se le
asigna un tipo.</span></div>
<div class="MsoNormal" style="margin: 0cm 0cm 10pt;">
<span style="font-family: Calibri;"><span style="font-family: Arial, Helvetica, sans-serif;">C#</span> </span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span></span><span lang="EN-US" style="color: blue; font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">private</span><span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"> <span style="color: blue;">void</span> Inicio()</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span>{<o:p></o:p></span></div>
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">int</span>
radius = 5;</span><br />
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">double</span>
result = CalcularAreaCirculo(radius);</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;">
</span><span style="mso-spacerun: yes;"> </span><span style="color: #2b91af;">Console</span>.WriteLine(<span style="color: #a31515;">"El area es {0:0.00}"</span>, result);</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;">
</span></span><span lang="EN-US" style="color: #2b91af; font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">Console</span><span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">.ReadKey();</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span>}</span><span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><o:p> </o:p></span></div>
<br />
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">private</span>
<span style="color: blue;">double</span> CalcularAreaCirculo(<span style="color: blue;">int</span> r)</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span>{</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">double</span>
area = r * r * <span style="color: #2b91af;">Math</span>.PI;</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span></span><span style="color: blue; font-family: Consolas; font-size: 9.5pt;">return</span><span style="font-family: Consolas; font-size: 9.5pt;"> area;</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span><span style="mso-spacerun: yes;"> </span>}</span><span style="font-family: Consolas; font-size: 9.5pt;"><o:p> </o:p></span></div>
<br />
<div class="MsoNormal" style="margin: 0cm 0cm 10pt;">
<span style="font-family: Calibri;">VB.NET</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">Private</span> <span style="color: blue;">Sub</span> Inicio()</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">Dim</span> radius <span style="color: blue;">As</span> <span style="color: blue;">Integer</span> = 5</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">Dim</span> result <span style="color: blue;">As</span> <span style="color: blue;">Double</span> = CalcularAreaCirculo(radius)</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span><span style="color: #2b91af;">Console</span>.WriteLine(<span style="color: #a31515;">"El
area es {0:0.00}"</span>, result)</span><span style="font-family: Consolas; font-size: 9.5pt;"><o:p> </o:p></span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span><span style="color: #2b91af;">Console</span>.ReadKey()</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span></span><span lang="EN-US" style="color: blue; font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">End</span><span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"> <span style="color: blue;">Sub</span></span></div>
<br />
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">Private</span> <span style="color: blue;">Function</span> CalcularAreaCirculo(r <span style="color: blue;">As</span> <span style="color: blue;">Integer</span>) <span style="color: blue;">As</span> <span style="color: blue;">Double</span></span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">Dim</span>
area <span style="color: blue;">As</span> <span style="color: blue;">Double</span>
= r * r * <span style="color: #2b91af;">Math</span>.PI</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span></span><span style="color: blue; font-family: Consolas; font-size: 9.5pt;">Return</span><span style="font-family: Consolas; font-size: 9.5pt;"> area</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">End</span> <span style="color: blue;">Function</span></span><span style="font-family: Consolas; font-size: 9.5pt;"><o:p> </o:p></span></div>
<br />
<div class="MsoNormal" style="margin: 0cm 0cm 10pt; text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;">Pues esto es todo en cuanto a las instrucciones de salto, fácil,
¿no?. Pues nos vemos en la próxima entrega!!</span></div>
<div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;"></span></div>
<div class="MsoNormal" style="margin: 0cm 0cm 10pt; text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;">Saludos “der Waki”</span></div>
</div>
Joaquin Martínezhttp://www.blogger.com/profile/07166016070485946881noreply@blogger.com0tag:blogger.com,1999:blog-1726059233582515530.post-36900568034907308362014-10-09T21:14:00.000+02:002014-10-09T21:14:06.278+02:0013.- Instrucciones de iteración<div dir="ltr" style="text-align: left;" trbidi="on">
<div style="text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;">Por fin he vuelto. Estimados amigos, he tenido que dejar por
una temporada el blog de Aprender a programar para mejorar mis conocimientos anglo-lingüísticos y me han absorbido todo el tiempo del mundo,
pero a partir de ahora... si nada ni nadie lo impide, seguiremos en primera línea. Vamos allá.</span></div>
<div class="MsoNormal" style="margin: 0cm 0cm 10pt; text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;">Bueno pues las instrucciones de iteración nos permiten repetir ciertas
acciones o crear un bucle. Un bucle se puede repetir un número de veces
limitado porque aunque se puede hacer ilimitado no tiene ningún sentido crear
un programa que no acabe nunca, ¿no?. Dentro de estos bucles se ejecutan las instrucciones
ordenadamente salvo cuando utilizamos otro tipo de instrucciones que son las de
salto.</span></div>
<div class="MsoNormal" style="margin: 0cm 0cm 10pt; text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;">Tenemos varios tipos de instrucciones de salto y la primera
de todas es do-while (hacer mientras…). Ahora vamos a ver un ejemplo para C# y
su equivalente para VB .NET. Esta instrucción ejecuta un bloque de
instrucciones repetidas veces hasta que una determinada instrucción se evalúa
como false. Para C# el bloque de código se incluye entre llaves y acto seguido
se incluye la expresión booleana. En el siguiente ejemplo creamos una pequeña aplicación
que imprimirá por pantalla los valores desde 0 a 2. Como veis, al entrar en el
bucle, se imprime el primer valor de x que es cero, después le suma a x una
unidad (x++ esto de verdad que suma una unidad, es un operador y lo veremos en un
futuro) , efectúa la comprobación x vale ahora 1, ¿1 es menor que 3?, si
(true), pues volvemos al inicio del bucle do y se vuelve a ejecutar el mismo
código hasta que x llega a tener el valor de 3 que en ese caso 3 no es menor
que 3 y la expresión booleana sería false. En este momento, saldría del bucle. Para
VB.NET es igual pero con Do y Loop While donde el contenido de código incluido
entre ambas instrucciones, es lo que se ejecutará mientras la expresión While
sea false. El aspecto fundamental de esta instrucción es que por lo menos, el
bloque de código se ejecuta una sola vez ya que una vez ejecutado es cuando se
comprueba la expresión booleana que permitirá seguir ejecutando este o salir
del bucle.</span></div>
<div class="MsoNormal" style="margin: 0cm 0cm 10pt;">
<span style="font-family: Arial, Helvetica, sans-serif;">C#</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="color: blue; font-family: Consolas; font-size: 9.5pt;">public</span><span style="font-family: Consolas; font-size: 9.5pt;"> <span style="color: blue;">class</span> <span style="color: #2b91af;">DoWhile_Prueba</span></span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span>{</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span></span><span lang="EN-US" style="color: blue; font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">public</span><span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"> <span style="color: blue;">static</span> <span style="color: blue;">void</span> Main()</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span>{</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">int</span>
x = 0;</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span></span><span style="color: #2b91af; font-family: Consolas; font-size: 9.5pt;">Console</span><span style="font-family: Consolas; font-size: 9.5pt;">.WriteLine(<span style="color: #a31515;">"SALIDA EN
PANTALLA"</span>);</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span></span><span lang="EN-US" style="color: blue; font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">do</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span>{</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span><span style="color: #2b91af;">Console</span>.WriteLine(x);</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span>x++;</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span><span style="mso-spacerun: yes;"> </span></span><span style="font-family: Consolas; font-size: 9.5pt;">} <span style="color: blue;">while</span> (x < 3);</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span><span style="color: #2b91af;">Console</span>.WriteLine(<span style="color: #a31515;">"FIN
DE BUCLE"</span>);</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span>}<o:p></o:p></span></div>
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span>}</span><br />
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span><span style="color: green;">/*</span></span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="color: green; font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;">
</span>SALIDA EN PANTALLA:</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="color: green; font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;">
</span></span><span lang="EN-US" style="color: green; font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">0</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="color: green; font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span>1</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="color: green; font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span>2</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="color: green; font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span>*/</span></div>
<div class="MsoNormal" style="margin: 0cm 0cm 10pt;">
<span lang="EN-US" style="mso-ansi-language: EN-US;"><span style="font-family: Calibri;">Vb.NET</span></span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="color: blue; font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">Public</span><span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">
<span style="color: blue;">Class</span> <span style="color: #2b91af;">DoWhile_Prueba</span></span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">Public</span> <span style="color: blue;">Shared</span> <span style="color: blue;">Sub</span> Main()</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">Dim</span> x <span style="color: blue;">As</span> <span style="color: blue;">Integer</span> = 0</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span></span><span style="color: #2b91af; font-family: Consolas; font-size: 9.5pt;">Console</span><span style="font-family: Consolas; font-size: 9.5pt;">.WriteLine(<span style="color: #a31515;">"SALIDA EN
PANTALLA"</span>)</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span></span><span lang="EN-US" style="color: blue; font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">Do</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span><span style="color: #2b91af;">Console</span>.WriteLine(x)</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span>x += 1</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">Loop</span> <span style="color: blue;">While</span> x < 3</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span><span style="color: #2b91af;">Console</span>.WriteLine(<span style="color: #a31515;">"FIN DE BUCLE"</span>)</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">End</span> <span style="color: blue;">Sub</span></span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="color: blue; font-family: Consolas; font-size: 9.5pt;">End</span><span style="font-family: Consolas; font-size: 9.5pt;"> <span style="color: blue;">Class</span></span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="color: green; font-family: Consolas; font-size: 9.5pt;">'</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="color: green; font-family: Consolas; font-size: 9.5pt;">'<span style="mso-spacerun: yes;">
</span>SALIDA EN PANTALLA:</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="color: green; font-family: Consolas; font-size: 9.5pt;">'<span style="mso-spacerun: yes;">
</span>0</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="color: green; font-family: Consolas; font-size: 9.5pt;">'<span style="mso-spacerun: yes;">
</span>1</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="color: green; font-family: Consolas; font-size: 9.5pt;">'<span style="mso-spacerun: yes;">
</span>2</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
</div>
<div class="MsoNormal" style="margin: 0cm 0cm 10pt; text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;">Ahora vamos a ver la instrucción while y su equivalente en
VB.NET While y End While. En este tipo de instrucciones, la expresión booleana
se verifica al principio, por tanto si al comienzo no se verifica la expresión ,
no se ejecutará ni una sola vez el contenido de código del bucle (esta es la
principal diferencia con Do-While). Con esta instrucción, <span style="mso-spacerun: yes;"> </span>he incluido un cosita nueva, en la anterior
instrucción metimos un operador de adición y en esta un parámetro. Cuando le
damos formato a un texto como es en el siguiente caso, una vez vale una cosa y
a la siguiente vale otra, bueno pues utilizamos unas llaves con un número en su
interior y cuando se ejecute, se buscará por orden el primer parámetro
disponible. Un ejemplo y lo entenderéis.</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="color: #2b91af; font-family: Consolas; font-size: 9.5pt;">Console</span><span style="font-family: Consolas; font-size: 9.5pt;">.WriteLine(<span style="color: #a31515;">"Hola {0}
{0}, me llamo {1} {2}, y esto es una {3}"</span>, <span style="color: #a31515;">"amigos"</span>,
<span style="color: #a31515;">"Joaquín"</span>, <span style="color: #a31515;">"Martínez"</span>, <span style="color: #a31515;">"prueba"</span>);</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><o:p></o:p></span> </div>
<span style="font-family: Arial, Helvetica, sans-serif;">{0} equivale a amigos,
{1} a Joaquín, {2} a Martínez y {3} a prueba.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;">
</span><br />
<div class="MsoNormal" style="margin: 0cm 0cm 10pt; text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;">Esto imprimirá en pantalla “<i style="mso-bidi-font-style: normal;">Hola amigos amigos, me llamo Joaquín Martínez y esto es una prueba”</i>.
Si os dais cuenta en cada hueco donde antes existía una llave y un número,
ahora existe su equivalente en texto con el mismo orden en el que<span style="mso-spacerun: yes;"> </span>encontraba. Aunque no lo parezca, esto es muy
útil!</span></div>
<div class="MsoNormal" style="margin: 0cm 0cm 10pt;">
<span style="font-family: Arial, Helvetica, sans-serif;">C#</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="color: blue; font-family: Consolas; font-size: 9.5pt;">class</span><span style="font-family: Consolas; font-size: 9.5pt;"> <span style="color: #2b91af;">WhileTest_Prueba</span></span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span></span><span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">{</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">static</span> <span style="color: blue;">void</span> Main()</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span>{</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt 35.4pt; mso-layout-grid-align: none;">
<span style="color: #2b91af; font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span>Console</span><span style="font-family: Consolas; font-size: 9.5pt;">.WriteLine(<span style="color: #a31515;">"Salida en pantalla"</span>)</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="color: blue; font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span>int</span><span style="font-family: Consolas; font-size: 9.5pt;"> n = 1;</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none; text-align: left;">
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span></span><span lang="EN-US" style="color: blue; font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">while</span><span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"> (n < 6)</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span>{</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;">
</span><span style="color: #2b91af;">Console</span>.WriteLine(<span style="color: #a31515;">"Valor actual de n es {0}"</span>, n);</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;">
</span></span><span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">n++;</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span>}</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span>}</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span>}</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span><span style="color: green;">/*</span></span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="color: green; font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span>Salida en pantalla:</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="color: green; font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;">
</span>Valor actual de n es 1</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="color: green; font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;">
</span>Valor actual de n es 2</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="color: green; font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;">
</span>Valor actual de n es 3</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="color: green; font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;">
</span>Valor actual de n es 4</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="color: green; font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;">
</span>Valor actual de n es 5</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="color: green; font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;">
</span></span><span lang="EN-US" style="color: green; font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">*/<o:p></o:p></span></div>
<br />
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Arial, Helvetica, sans-serif;">VB.NET</span><span lang="EN-US" style="color: blue; font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><o:p> </o:p></span></div>
<br />
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="color: blue; font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">Class</span><span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">
<span style="color: #2b91af;">WhileTest_Prueba</span></span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">Private</span> <span style="color: blue;">Shared</span> <span style="color: blue;">Sub</span> Main()<o:p></o:p></span></div>
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">Dim</span> n <span style="color: blue;">As</span> <span style="color: blue;">Integer</span> = 1</span><br />
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span><span style="color: #2b91af;">Console</span>.WriteLine(<span style="color: #a31515;">"Salida
en pantalla"</span>)</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">While</span> n < 6</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span><span style="color: #2b91af;">Console</span>.WriteLine(<span style="color: #a31515;">"Valor
actual de n es {0}"</span>, n)</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span></span><span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">n
+= 1</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">End</span> <span style="color: blue;">While</span></span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">End</span> <span style="color: blue;">Sub</span></span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="color: blue; font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">End</span><span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">
<span style="color: blue;">Class</span><o:p></o:p></span></div>
<span style="color: green; font-family: Consolas; font-size: 9.5pt;">'</span><br />
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="color: green; font-family: Consolas; font-size: 9.5pt;">'<span style="mso-spacerun: yes;">
</span></span><span lang="EN-US" style="color: green; font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">Salida en pantalla</span><span style="color: green; font-family: Consolas; font-size: 9.5pt;">:</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="color: green; font-family: Consolas; font-size: 9.5pt;">'<span style="mso-spacerun: yes;">
</span>Valor actual de n es 1</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="color: green; font-family: Consolas; font-size: 9.5pt;">'<span style="mso-spacerun: yes;">
</span>Valor actual de n es 2</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="color: green; font-family: Consolas; font-size: 9.5pt;">'<span style="mso-spacerun: yes;">
</span>Valor actual de n es 3</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="color: green; font-family: Consolas; font-size: 9.5pt;">'<span style="mso-spacerun: yes;">
</span>Valor actual de n es 4</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="color: green; font-family: Consolas; font-size: 9.5pt;">'<span style="mso-spacerun: yes;">
</span>Valor actual de n es 5</span><span style="color: green; font-family: Consolas; font-size: 9.5pt;"> <o:p></o:p></span></div>
<br />
<div class="MsoNormal" style="margin: 0cm 0cm 10pt; text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;">Ojo con este tipo de instrucciones porque SIEMPRE deben
tener una salida, es decir que alguna vez se debe cumplir el valor de la
expresión en false para poder salir del bucle, porque si no se convertiría en
un bucle infinito sin ninguna utilidad. En el siguiente ejemplo ocurriría esto.
Ya que el valor de nes 4 y la instrucción se ejecutará mientras que n sea mayor
que 3, por tanto entraría en un bucle sin fin. Otra forma de salir de un bucle
es mediante break, goto o return para C# o Exit While o Exit For, GoTo o
Return.</span></div>
<div class="MsoNormal" style="margin: 0cm 0cm 10pt;">
<span style="font-family: Arial, Helvetica, sans-serif;">C#</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="color: blue; font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">class</span><span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">
<span style="color: #2b91af;">WhileTest_Prueba</span></span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span>{</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">static</span> <span style="color: blue;">void</span> Main()</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span></span><span style="font-family: Consolas; font-size: 9.5pt;">{</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">int</span> n = 4;</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">while</span> (n > 3)<o:p></o:p></span></div>
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span>{</span><br />
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;">
</span><span style="color: #2b91af;">Console</span>.WriteLine(<span style="color: #a31515;">"Valor actual de n is {0}"</span>, n);</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;">
</span>n++;<o:p></o:p></span></div>
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span>}</span><br />
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span>}</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span>}</span></div>
<span style="font-family: Arial, Helvetica, sans-serif;">VB.NET</span><br />
<br />
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="color: blue; font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">Class</span><span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">
<span style="color: #2b91af;">WhileTest_Prueba</span></span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">Private</span> <span style="color: blue;">Shared</span> <span style="color: blue;">Sub</span> Main()</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span></span><span style="color: blue; font-family: Consolas; font-size: 9.5pt;">Dim</span><span style="font-family: Consolas; font-size: 9.5pt;"> n <span style="color: blue;">As</span> <span style="color: blue;">Integer</span> = 1</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span><span style="color: #2b91af;">Console</span>.WriteLine(<span style="color: #a31515;">"Salida
en pantalla"</span>)</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span></span><span lang="EN-US" style="color: blue; font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">While</span><span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"> n < 6</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span><span style="color: #2b91af;">Console</span>.WriteLine(<span style="color: #a31515;">"Valor actual de n is {0}"</span>, n)</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span>n += 1</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">Return</span><o:p></o:p></span></div>
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">End</span> <span style="color: blue;">While</span></span><br />
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">End</span> <span style="color: blue;">Sub</span></span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="color: blue; font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">End</span><span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">
<span style="color: blue;">Class</span></span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="color: green; font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">'</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="color: green; font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">'<span style="mso-spacerun: yes;"> </span><span style="mso-spacerun: yes;"> </span>Output:</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="color: green; font-family: Consolas; font-size: 9.5pt;">'<span style="mso-spacerun: yes;">
</span>Valor actual de n es 1</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="color: green; font-family: Consolas; font-size: 9.5pt;">'<span style="mso-spacerun: yes;">
</span>Valor actual de n es 2</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="color: green; font-family: Consolas; font-size: 9.5pt;">'<span style="mso-spacerun: yes;">
</span>Valor actual de n es 3</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="color: green; font-family: Consolas; font-size: 9.5pt;">'<span style="mso-spacerun: yes;">
</span>Valor actual de n es 4</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="color: green; font-family: Consolas; font-size: 9.5pt;">'<span style="mso-spacerun: yes;">
</span>Valor actual de n es 5</span></div>
<br />
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none; text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;">Otra instrucción de
iteración, for para C# y For Next para VB.NET. Estas se ejecutan n-veces hasta
que una expresión sea false y son muy útiles para recorrer matrices o para
casos en los que conocemos el número de veces que se va a repetir un bucle. Por
ejemplo vamos a ejecutar una instrucción 5 veces. La instrucción for realiza
varias funciones. El primero y solo se hace una vez es declarar un variable i
asignándole el valor de 1 (podríamos asignarle el valor 34 o -23), después la
expresión de evaluación en este caso i<=5, es decirse ejecutará hasta que el
valor de i sea menor o igual que 5 y por último el valor siguiente después de
ejecutar el bloque que en este caso incrementa en 1 el valor de i (podríamos restarle
1 a i mediante <span style="font-family: Consolas; font-size: 9.5pt;">--i</span><span style="mso-spacerun: yes;"> </span>o sumarle 2 mediante <span style="font-family: Consolas; font-size: 9.5pt;">i+=2 aunque para </span>VB.NET se utiliza Step).</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none; text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;">Para VB.NET cerramos el
bloque de código mediante la instrucción Next.</span></div>
<span style="font-family: Arial, Helvetica, sans-serif;">
</span><br />
<div class="MsoNormal" style="margin: 0cm 0cm 10pt;">
<span style="font-family: Arial, Helvetica, sans-serif;">C#</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="color: blue; font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">class</span><span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">
<span style="color: #2b91af;">For_Prueba</span></span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span>{</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">static</span> <span style="color: blue;">void</span> Main()</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span>{</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span><span style="color: #2b91af;">Console</span>.WriteLine(<span style="color: #a31515;">"Salida"</span>);</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">for</span>
(<span style="color: blue;">int</span> i = 1; i <= 5; i++)</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span></span><span style="font-family: Consolas; font-size: 9.5pt;">{</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;">
</span><span style="mso-spacerun: yes;"> </span><span style="color: #2b91af;">Console</span>.WriteLine(i);</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span>}</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span>}</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span>}<o:p></o:p></span></div>
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span><span style="color: green;">/*</span></span><br />
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="color: green; font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;">
</span>Salida:</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="color: green; font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;">
</span>1</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="color: green; font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;">
</span>2</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="color: green; font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;">
</span>3</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="color: green; font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;">
</span>4</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="color: green; font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;">
</span>5</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="color: green; font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;">
</span>*/<o:p></o:p></span></div>
<br />
<div class="MsoNormal" style="margin: 0cm 0cm 10pt;">
<span style="font-family: Calibri;"><span style="font-family: Arial, Helvetica, sans-serif;">VB.NET</span> </span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="color: blue; font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">Class</span><span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">
<span style="color: #2b91af;">For_Prueba</span></span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">Private</span> <span style="color: blue;">Shared</span> <span style="color: blue;">Sub</span> Main()</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span><span style="color: #2b91af;">Console</span>.WriteLine(<span style="color: #a31515;">"Salida"</span>)</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">For</span> i <span style="color: blue;">As</span> <span style="color: blue;">Integer</span> = 1 <span style="color: blue;">To</span> 5<o:p></o:p></span></div>
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span><span style="color: #2b91af;">Console</span>.WriteLine(i)</span><br />
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">Next</span><o:p></o:p></span></div>
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">End</span> <span style="color: blue;">Sub</span></span><br />
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="color: blue; font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">End</span><span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">
<span style="color: blue;">Class</span><o:p></o:p></span></div>
<span lang="EN-US" style="color: green; font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">'</span><br />
<span lang="EN-US" style="color: green; font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"></span><span lang="EN-US" style="color: green; font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">'<span style="mso-spacerun: yes;"> </span>Salida:</span><br />
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="color: green; font-family: Consolas; font-size: 9.5pt;">'<span style="mso-spacerun: yes;">
</span>1</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="color: green; font-family: Consolas; font-size: 9.5pt;">'<span style="mso-spacerun: yes;">
</span>2</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="color: green; font-family: Consolas; font-size: 9.5pt;">'<span style="mso-spacerun: yes;">
</span>3</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="color: green; font-family: Consolas; font-size: 9.5pt;">'<span style="mso-spacerun: yes;">
</span>4</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="color: green; font-family: Consolas; font-size: 9.5pt;">'<span style="mso-spacerun: yes;">
</span>5</span></div>
<br />
<div class="MsoNormal" style="margin: 0cm 0cm 10pt;">
<span style="font-family: Arial, Helvetica, sans-serif;">Ejemplo de for obteniendo los números pares hasta 100</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="mso-ansi-language: EN-US;"><span style="font-family: Arial, Helvetica, sans-serif;">C#<o:p></o:p></span></span></div>
<span lang="EN-US" style="color: blue; font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">for</span><span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">
(<span style="color: blue;">int</span> i = 1; i <= 100; i+=2)</span><br />
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">{</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none; text-indent: 35.4pt;">
<span lang="EN-US" style="color: #2b91af; font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">Console</span><span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">.WriteLine(i);</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">}</span><span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><o:p> </o:p></span></div>
<br />
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; mso-ansi-language: EN-US;"><span style="font-family: Arial, Helvetica, sans-serif;">VB.NET</span></span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="color: blue; font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">For</span><span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">
i <span style="color: blue;">As</span> <span style="color: blue;">Integer</span> =
1 <span style="color: blue;">To</span> 100 <span style="color: blue;">Step</span> 2</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none; text-indent: 35.4pt;">
<span style="color: #2b91af; font-family: Consolas; font-size: 9.5pt;">Console</span><span style="font-family: Consolas; font-size: 9.5pt;">.WriteLine(i)</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="color: blue; font-family: Consolas; font-size: 9.5pt;">Next</span><span style="font-family: Consolas; font-size: 9.5pt;"><o:p> </o:p></span></div>
<br />
<div class="MsoNormal" style="margin: 0cm 0cm 10pt; text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;">Por último la instrucción foreach se utiliza para recorrer
colecciones y ¿qué es una colección? Pues imaginemos que miramos la galería de
fotos de nuestro móvil, seleccionamos una y vamos pasando una a una. Pues esto
es lo que hace la instrucción foreach, pasar de una foto a otra por toda la colección.</span></div>
<div class="MsoNormal" style="margin: 0cm 0cm 10pt; text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;">¿Y qué hace? Pues el bloque de código contenido, se
ejecutará para cada elemento de la colección. En el siguiente ejemplo, creamos una
colección de números enteros y rotamos por cada uno de ellos. Como veis, esta instrucción
tiene también varios elementos primero foreach, segundo y se ejecuta cada vez,
crea un objeto del mismo tipo que los elementos de la colección y le asigna el
valor de uno de estos y por último dice de donde debe extraer esos objetos.
Pues para el siguiente caso se imprimirá por pantalla 0,1,1,2,3,5,8 y 13. Y a
continuación expongo otra forma de recorrer una colección mediante una
instrucción for diciendo que desde el valor con índice 0 hasta el valor menor
que el número de elementos que tiene, imprima en pantalla el valor con el índice
de la instrucción, curioso ¿no?</span></div>
<div class="MsoNormal" style="margin: 0cm 0cm 10pt; text-align: justify;">
<span style="font-family: Arial, Helvetica, sans-serif;">Para VB.NET foreach se convierte en For Each el valor del
elemento declarado y la colección desde donde se extraerán los elementos
acabando y cerrando el bloque de código con Next.</span></div>
<div class="MsoNormal" style="margin: 0cm 0cm 10pt;">
<span style="font-family: Arial, Helvetica, sans-serif;">C#</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="color: blue; font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">int</span><span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">[]
coleccion = <span style="color: blue;">new</span> <span style="color: blue;">int</span>[]
{ 0, 1, 1, 2, 3, 5, 8, 13 };</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="color: blue; font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">foreach</span><span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">
(<span style="color: blue;">int</span> element <span style="color: blue;">in</span>
coleccion)</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">{</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none; text-indent: 35.4pt;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">System.<span style="color: #2b91af;">Console</span>.WriteLine(element);<o:p></o:p></span></div>
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">}</span><br />
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="mso-ansi-language: EN-US;"></span> </div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="color: blue; font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">for</span><span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">
(<span style="color: blue;">int</span> i = 0; i < coleccion.Length; i++)</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;">{</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none; text-indent: 35.4pt;">
<span style="font-family: Consolas; font-size: 9.5pt;">System.<span style="color: #2b91af;">Console</span>.WriteLine(coleccion[i]);</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;">}<o:p></o:p></span></div>
<br />
<div class="MsoNormal" style="margin: 0cm 0cm 10pt;">
<span style="font-family: Arial, Helvetica, sans-serif;"><span lang="EN-US" style="mso-ansi-language: EN-US;">VB.</span><span lang="EN-US"> </span>NET</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="color: blue; font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">Dim</span><span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">
coleccion <span style="color: blue;">As</span> <span style="color: blue;">Integer</span>()
= <span style="color: blue;">New</span> <span style="color: blue;">Integer</span>()
{0, 1, 1, 2, 3, 5, 8, 13}</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="color: blue; font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">For</span><span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">
<span style="color: blue;">Each</span> element <span style="color: blue;">As</span>
<span style="color: blue;">Integer</span> <span style="color: blue;">In</span>
coleccion</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none; text-indent: 35.4pt;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">System.<span style="color: #2b91af;">Console</span>.WriteLine(element)</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="color: blue; font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">Next</span><span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><o:p> </o:p></span></div>
<span lang="EN-US" style="color: blue; font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"></span><br />
<span lang="EN-US" style="color: blue; font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">For</span><span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">
i <span style="color: blue;">As</span> <span style="color: blue;">Integer</span> =
0 <span style="color: blue;">To</span> coleccion.Length - 1</span><br />
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none; text-indent: 35.4pt;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">System.<span style="color: #2b91af;">Console</span>.WriteLine(coleccion(i))</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="color: blue; font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">Next<o:p></o:p></span></div>
<br />
<div class="MsoNormal" style="margin: 0cm 0cm 10pt;">
<span style="font-family: Arial, Helvetica, sans-serif;">Pues esto esto esto es todo amigos!!</span></div>
<div class="MsoNormal" style="margin: 0cm 0cm 10pt;">
<span lang="EN-US"><span style="font-family: Arial, Helvetica, sans-serif;">Saludos “der Waki”<o:p></o:p></span></span></div>
</div>
Joaquin Martínezhttp://www.blogger.com/profile/07166016070485946881noreply@blogger.com0tag:blogger.com,1999:blog-1726059233582515530.post-2391756419064710702014-09-15T18:16:00.002+02:002014-09-15T18:25:18.140+02:0012.- Instrucciones de Selección<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="MsoNormal">
Las instrucciones son acciones que realiza el programa. Existen
acciones comunes como la declaración de variables, la asignación de valores, la
llamada a métodos, el recorrido en bucle de una colección y la creación de
bifurcaciones a uno u otro bloque de código en función de una condición. El
orden en que se ejecutan las instrucciones en un programa se denomina flujo de
control o flujo de ejecución.</div>
<div class="MsoNormal">
Para C#, una instrucción puede estar compuesta por una única
línea de código que finaliza en un punto y coma o por una serie de
instrucciones de una línea incluidas en un bloque. Como ya hemos visto, un bloque de
instrucciones se encierra entre llaves {} y pueden contener bloques anidados. A
continuación enumero las categorías:<o:p></o:p></div>
<div class="MsoListParagraphCxSpFirst">
</div>
<ul style="text-align: left;">
<li>Instrucciones de selección (if, else,
switch, case)</li>
<li>Instrucciones de iteración (do, for, foreach,
in, while)</li>
<li>Instrucciones de salto (break, continue,
default, goto, return, yield)</li>
<li>Instrucciones de control de excepciones (throw, try-catch, try-finally,
try-catch-finally)</li>
<li>Checked y unchecked (checked, unchecked)</li>
<li>Instrucción fixed (fixed)</li>
<li>Instrucción lock</li>
</ul>
<br />
<div class="MsoNormal">
En VB.NET <o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
En Visual Basic, una instrucción es una instrucción
completa. Puede contener palabras clave,
operadores, variables, constantes y expresiones y cada instrucción como en C#, pertenece
a cada una de las categorías siguientes: </div>
<div class="MsoNormal">
Instrucciones de declaración, que dan nombre a una variable,
constante o procedimiento y también pueden especificar un tipo de datos.</div>
<div class="MsoNormal">
Instrucciones ejecutables, que inician acciones. Estas instrucciones pueden llamar a un método
o función, y pueden repetirse en bloques de código o crear una bifurcación en
otro bloque de código. Las instrucciones ejecutables incluyen instrucciones de
asignación, que asignan un valor o expresión a una variable o constante. <br />
<br /></div>
<div class="MsoNormal">
En este capítulo, vamos a ver las instrucciones de selección
para C# y las instrucciones ejecutables para VB.NET.</div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
¿Empezamos por C#? Venga, pues una instrucción de selección,
hace que el programa vaya a un determinado punto dependiendo de que cierta
condición sea verdadero o falso (true o false). Las palabras <i>if, else, switch, case y default</i> son las
palabras clave en las instrucciones de selección. Como son palabras clave, no
pueden usarse como variables o nombres de métodos ya que el compilador nos
daría un error.</div>
<div class="MsoNormal">
La instrucción <i>if</i>
identifica que sentencia debe ejecutarse dependiendo de un valor booleano
(verdadero o falso, true o false), vemos un ejemplo:</div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span lang="EN-US" style="color: blue; font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">bool</span><span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">
condition = <span style="color: blue;">true</span>;<o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<br /></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="color: blue; font-family: Consolas; font-size: 9.5pt;">if</span><span style="font-family: Consolas; font-size: 9.5pt;"> (condition)<o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-family: Consolas; font-size: 9.5pt;">{<o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt; text-indent: 35.4pt;">
<span style="color: #2b91af; font-family: Consolas; font-size: 9.5pt;">Console</span><span style="font-family: Consolas; font-size: 9.5pt;">.WriteLine(<span style="color: #a31515;">"La variable tiene un valor true"</span>);<o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-family: Consolas; font-size: 9.5pt;">}<o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="color: blue; font-family: Consolas; font-size: 9.5pt;">else</span><span style="font-family: Consolas; font-size: 9.5pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-family: Consolas; font-size: 9.5pt;">{<o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt; text-indent: 35.4pt;">
<span style="color: #2b91af; font-family: Consolas; font-size: 9.5pt;">Console</span><span style="font-family: Consolas; font-size: 9.5pt;">.WriteLine(<span style="color: #a31515;">"La variable tiene un valor false."</span>);<o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-family: Consolas; font-size: 9.5pt;">}<o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-family: Consolas; font-size: 9.5pt;"><br /></span></div>
<div class="MsoNormal">
Analicemos el código. Si la variable es true, (verdadera),
visualizaremos en pantalla el texto de “La variable tiene un valor true”, pero
si el valor lo cambiáramos a false, veríamos el segundo mensaje “La variable
tiene un valor false”. El contenido donde se dirigirá el flujo del programa, se
encuentra encerrado entre llaves {}, a continuación tenemos la palabra clave <i>else</i> y otras dos llaves con el contenido
donde se redirigirá el programa cuando la condición es <i>false</i>.</div>
<div class="MsoNormal">
En el siguiente ejemplo, declaramos una variable con valor entero
y le asignamos el valor 8 y en la instrucción comparamos ese valor m para ver
si es mayor que 10, ¿es mayor 8 que 10 (entre paréntesis)? Yo creo que no, pues
entonces se aparecerá el mensaje “La variable tiene un valor false”.</div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="color: blue; font-family: Consolas; font-size: 9.5pt;"><br /></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="color: blue; font-family: Consolas; font-size: 9.5pt;">int</span><span style="font-family: Consolas; font-size: 9.5pt;"> m = 8;<o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<br /></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="color: blue; font-family: Consolas; font-size: 9.5pt;">if</span><span style="font-family: Consolas; font-size: 9.5pt;"> (m > 10)<o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-family: Consolas; font-size: 9.5pt;">{<o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt; text-indent: 35.4pt;">
<span style="color: #2b91af; font-family: Consolas; font-size: 9.5pt;">Console</span><span style="font-family: Consolas; font-size: 9.5pt;">.WriteLine(<span style="color: #a31515;">"La variable tiene un valor true"</span>);<o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-family: Consolas; font-size: 9.5pt;">}<o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="color: blue; font-family: Consolas; font-size: 9.5pt;">else</span><span style="font-family: Consolas; font-size: 9.5pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-family: Consolas; font-size: 9.5pt;">{<o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt; text-indent: 35.4pt;">
<span style="color: #2b91af; font-family: Consolas; font-size: 9.5pt;">Console</span><span style="font-family: Consolas; font-size: 9.5pt;">.WriteLine(<span style="color: #a31515;">"La variable tiene un valor false."</span>);<o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-family: Consolas; font-size: 9.5pt;">}<o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<br /></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
También podríamos comparar
si un texto es igual a otro mediante el operador ==</div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<br /></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="color: blue; font-family: Consolas; font-size: 9.5pt;">string</span><span style="font-family: Consolas; font-size: 9.5pt;"> texto = “mi_texto”;<o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<br /></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="color: blue; font-family: Consolas; font-size: 9.5pt;">if</span><span style="font-family: Consolas; font-size: 9.5pt;"> (texto == “mi_texto”)<o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-family: Consolas; font-size: 9.5pt;">{<o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt; text-indent: 35.4pt;">
<span style="color: #2b91af; font-family: Consolas; font-size: 9.5pt;">Console</span><span style="font-family: Consolas; font-size: 9.5pt;">.WriteLine(<span style="color: #a31515;">"La variable tiene un valor true"</span>);<o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-family: Consolas; font-size: 9.5pt;">}<o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<br /></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
También existe una
combinación de <i>if else</i> y es que además podemos hacer una comparativa <i>if </i>y si falla
esta, podemos hacer de nuevo otra comparación <i>else if</i> y si fallaran todas las
instrucciones <i>else if</i>, redirigir el programa a la instrucción <i>else</i>.</div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<br /></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="color: blue; font-family: Consolas; font-size: 9.5pt;">int</span><span style="font-family: Consolas; font-size: 9.5pt;"> m = 8;<o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<br /></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="color: blue; font-family: Consolas; font-size: 9.5pt;">if</span><span style="font-family: Consolas; font-size: 9.5pt;"> (m > 10)<o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-family: Consolas; font-size: 9.5pt;">{<o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt; text-indent: 35.4pt;">
<span style="color: #2b91af; font-family: Consolas; font-size: 9.5pt;">Console</span><span style="font-family: Consolas; font-size: 9.5pt;">.WriteLine(<span style="color: #a31515;">"La variable tiene un valor true"</span>);<o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-family: Consolas; font-size: 9.5pt;">}<o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="color: blue; font-family: Consolas; font-size: 9.5pt;">else</span><span style="font-family: Consolas; font-size: 9.5pt;"> <span style="color: blue;">if</span> (m == 8)<o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-family: Consolas; font-size: 9.5pt;">{<o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt; text-indent: 35.4pt;">
<span style="color: #2b91af; font-family: Consolas; font-size: 9.5pt;">Console</span><span style="font-family: Consolas; font-size: 9.5pt;">.WriteLine(<span style="color: #a31515;">"La variable tiene un valor igual a 8"</span>);<o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-family: Consolas; font-size: 9.5pt;">} <o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="color: blue; font-family: Consolas; font-size: 9.5pt;">else</span><span style="font-family: Consolas; font-size: 9.5pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-family: Consolas; font-size: 9.5pt;">{<o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt; text-indent: 35.4pt;">
<span style="color: #2b91af; font-family: Consolas; font-size: 9.5pt;">Console</span><span style="font-family: Consolas; font-size: 9.5pt;">.WriteLine(<span style="color: #a31515;">"La variable tiene un valor false."</span>);<o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-family: Consolas; font-size: 9.5pt;">}<o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<br /></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<br /></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
La instrucción <i>if </i>tiene
una forma simplificada como la que os represento</div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<br /></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="color: blue; font-family: Consolas; font-size: 9.5pt;">if</span><span style="font-family: Consolas; font-size: 9.5pt;"> (m > 10) {<span style="color: #2b91af;">Console</span>.WriteLine(<span style="color: #a31515;">"La variable tiene un valor true"</span>);}<o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="color: blue; font-family: Consolas; font-size: 9.5pt;">else </span><span style="font-family: Consolas; font-size: 9.5pt;">{<span style="color: #2b91af;">Console</span>.WriteLine(<span style="color: #a31515;">"La variable tiene un valor false."</span>);}<o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
(Esta versión es igual
que las anteriores, pero con las llaves en la misma línea)</div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-family: Consolas; font-size: 9.5pt;">o<o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="color: blue; font-family: Consolas; font-size: 9.5pt;">if</span><span style="font-family: Consolas; font-size: 9.5pt;"> (m > 10) <span style="color: #2b91af;">Console</span>.WriteLine(<span style="color: #a31515;">"La variable tiene un valor true"</span>);<o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="color: blue; font-family: Consolas; font-size: 9.5pt;">else </span><span style="color: #2b91af; font-family: Consolas; font-size: 9.5pt;">Console</span><span style="font-family: Consolas; font-size: 9.5pt;">.WriteLine(<span style="color: #a31515;">"La variable
tiene un valor false."</span>);<o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<br /></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<br /></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
Consejo: cuando no sepáis
como funciona una instrucción, acudid a la referencia de <a href="http://msdn.microsoft.com/es-es/library/5011f09h.aspx"><span style="color: blue; text-decoration: none; text-underline: none;">msdn</span></a>,
ahí tenéis todo </div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<br /></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
Otra instrucción de
selección es <i><a href="http://msdn.microsoft.com/es-es/library/06tc147t.aspx">switch</a></i> en
la que se redirige el programa a la lista de candidatos, en el siguiente caso,
como es igual a 1, se redirigirá a la zona donde se imprimirá en pantalla “Caso
1”. Si por ejemplo el valor de la variable tuviera un valor de 17, como no
existe ningún caso que valga 17, se ejecutaría la instrucción <i>Default</i>.</div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
La palabra clave <i>break</i>,
hace que una vez ejecutado el caso concreto, el programa se redirija fuera de
la instrucción y no ejecute nada más dentro de esta.</div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<br /></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span lang="EN-US" style="color: blue; font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">int</span><span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">
casoSwitch = 1;<o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span lang="EN-US" style="color: blue; font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">switch</span><span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">
(casoSwitch)<o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">{<o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt; text-indent: 35.4pt;">
<span lang="EN-US" style="color: blue; font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">case</span><span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"> 1:<o:p></o:p></span></div>
<div class="MsoNormal" style="margin: 0cm 0cm 0.0001pt 35.4pt; text-indent: 35.4pt;">
<span lang="EN-US" style="color: #2b91af; font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">Console</span><span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">.WriteLine(<span style="color: #a31515;">"Caso
1"</span>);<o:p></o:p></span></div>
<div class="MsoNormal" style="margin: 0cm 0cm 0.0001pt 35.4pt; text-indent: 35.4pt;">
<span lang="EN-US" style="color: blue; font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">break</span><span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">;<o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt; text-indent: 35.4pt;">
<span lang="EN-US" style="color: blue; font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">case</span><span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"> 2:<o:p></o:p></span></div>
<div class="MsoNormal" style="margin: 0cm 0cm 0.0001pt 35.4pt; text-indent: 35.4pt;">
<span lang="EN-US" style="color: #2b91af; font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">Console</span><span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">.WriteLine(<span style="color: #a31515;">"Caso
2"</span>);<o:p></o:p></span></div>
<div class="MsoNormal" style="margin: 0cm 0cm 0.0001pt 35.4pt; text-indent: 35.4pt;">
<span lang="EN-US" style="color: blue; font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">break</span><span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">;<o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt; text-indent: 35.4pt;">
<span lang="EN-US" style="color: blue; font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">default</span><span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">:<o:p></o:p></span></div>
<div class="MsoNormal" style="margin: 0cm 0cm 0.0001pt 35.4pt; text-indent: 35.4pt;">
<span lang="EN-US" style="color: #2b91af; font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">Console</span><span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">.WriteLine(<span style="color: #a31515;">"Caso Default"</span>);<o:p></o:p></span></div>
<div class="MsoNormal" style="margin: 0cm 0cm 0.0001pt 35.4pt; text-indent: 35.4pt;">
<span lang="EN-US" style="color: blue; font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">break</span><span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">;<o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">}<o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<br /></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
En el lenguaje “der Waki”.
¿Existe algún caso que sea igual a 2? Pués claro!! Ir hasta el caso 2 e
imprimir en pantalla “Caso 2”.</div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<br /></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
Otro caso, sería poder
agrupar casos. En este concreto, hemos agrupado el caso 2,3 y 8, de modo que si
la variable vale alguno de ellos, aparecerá el texto “Caso 2, 3 u 8”</div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<br /></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span lang="EN-US" style="color: blue; font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">int</span><span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">
casoSwitch = 3;<o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span lang="EN-US" style="color: blue; font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">switch</span><span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">
(casoSwitch)<o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">{<o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt; text-indent: 35.4pt;">
<span lang="EN-US" style="color: blue; font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">case</span><span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"> 1:<o:p></o:p></span></div>
<div class="MsoNormal" style="margin: 0cm 0cm 0.0001pt 35.4pt; text-indent: 35.4pt;">
<span lang="EN-US" style="color: #2b91af; font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">Console</span><span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">.WriteLine(<span style="color: #a31515;">"Caso
1"</span>);<o:p></o:p></span></div>
<div class="MsoNormal" style="margin: 0cm 0cm 0.0001pt 35.4pt; text-indent: 35.4pt;">
<span lang="EN-US" style="color: blue; font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">break</span><span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">;<o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt; text-indent: 35.4pt;">
<span lang="EN-US" style="color: blue; font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">case</span><span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"> 2:<o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt; text-indent: 35.4pt;">
<span lang="EN-US" style="color: blue; font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">case</span><span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"> 3:<o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt; text-indent: 35.4pt;">
<span lang="EN-US" style="color: blue; font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">case</span><span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"> 8:<o:p></o:p></span></div>
<div class="MsoNormal" style="margin: 0cm 0cm 0.0001pt 35.4pt; text-indent: 35.4pt;">
<span lang="EN-US" style="color: #2b91af; font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">Console</span><span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">.WriteLine(<span style="color: #a31515;">"Caso 2, 3
u 8"</span>);<o:p></o:p></span></div>
<div class="MsoNormal" style="margin: 0cm 0cm 0.0001pt 35.4pt; text-indent: 35.4pt;">
<span lang="EN-US" style="color: blue; font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">break</span><span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">;<o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt; text-indent: 35.4pt;">
<span lang="EN-US" style="color: blue; font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">default</span><span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">:<o:p></o:p></span></div>
<div class="MsoNormal" style="margin: 0cm 0cm 0.0001pt 35.4pt; text-indent: 35.4pt;">
<span style="color: #2b91af; font-family: Consolas; font-size: 9.5pt;">Console</span><span style="font-family: Consolas; font-size: 9.5pt;">.WriteLine(<span style="color: #a31515;">"Caso Default"</span>);<o:p></o:p></span></div>
<div class="MsoNormal" style="margin: 0cm 0cm 0.0001pt 35.4pt; text-indent: 35.4pt;">
<span style="color: blue; font-family: Consolas; font-size: 9.5pt;">break</span><span style="font-family: Consolas; font-size: 9.5pt;">;<o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-family: Consolas; font-size: 9.5pt;">}<o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<br /></div>
<div class="MsoNormal">
En Visual Basic .NET es muy parecido todo, pero existen
algunas variaciones, primero que no existen llaves como en C#, estas se cambian
por palabras clave, entonces para iniciar una instrucción <i>if</i>, esta comienza por
lo mismo <i>If</i>, se añade la condición (sin paréntesis), palabra clave <i>Then </i>(<i>entonces</i> en inglés), el contenido del
código que se ejecutará cuando sea verdadero, <i>ElseIf </i>o <i>Else </i>cuando queremos
efectuar nuevas comparativas o la condición es falsa respectivamente y por fin
le decimos al compilador que la instrucción finaliza con <i>End If.</i> ¿Bien? Prácticamente
es igual!</div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span lang="EN-US" style="color: blue; font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><br /></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span lang="EN-US" style="color: blue; font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">Dim</span><span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">
m <span style="color: blue;">As</span> <span style="color: blue;">Integer</span> =
8<o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<br /></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="color: blue; font-family: Consolas; font-size: 9.5pt;">If</span><span style="font-family: Consolas; font-size: 9.5pt;"> m > 10 <span style="color: blue;">Then</span><o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt; text-indent: 35.4pt;">
<span style="color: #2b91af; font-family: Consolas; font-size: 9.5pt;">Console</span><span style="font-family: Consolas; font-size: 9.5pt;">.WriteLine(<span style="color: #a31515;">"La variable tiene un valor true"</span>)<o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="color: blue; font-family: Consolas; font-size: 9.5pt;">ElseIf</span><span style="font-family: Consolas; font-size: 9.5pt;"> m = 8 <span style="color: blue;">Then</span><o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt; text-indent: 35.4pt;">
<span style="color: #2b91af; font-family: Consolas; font-size: 9.5pt;">Console</span><span style="font-family: Consolas; font-size: 9.5pt;">.WriteLine(<span style="color: #a31515;">"La variable tiene un valor igual a 8"</span>)<o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="color: blue; font-family: Consolas; font-size: 9.5pt;">Else</span><span style="font-family: Consolas; font-size: 9.5pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt; text-indent: 35.4pt;">
<span style="color: #2b91af; font-family: Consolas; font-size: 9.5pt;">Console</span><span style="font-family: Consolas; font-size: 9.5pt;">.WriteLine(<span style="color: #a31515;">"La variable tiene un valor false."</span>)<o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="color: blue; font-family: Consolas; font-size: 9.5pt;">End</span><span style="font-family: Consolas; font-size: 9.5pt;"> <span style="color: blue;">If</span><o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<br /></div>
<div class="MsoNormal">
Para la instrucción <i>switch </i>iniciamos con <i>Select Case</i> y expresión
<i>Switch</i>. Luego los casos, código del caso y salida de la instrucción <i>Select
Case</i>. </div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span lang="EN-US" style="color: blue; font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">Dim</span><span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">
casoSwitch <span style="color: blue;">As</span> <span style="color: blue;">Integer</span>
= 3<o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span lang="EN-US" style="color: blue; font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">Select</span><span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">
<span style="color: blue;">Case</span> casoSwitch<o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt; text-indent: 35.4pt;">
<span lang="EN-US" style="color: blue; font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">Case</span><span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"> 1<o:p></o:p></span></div>
<div class="MsoNormal" style="margin: 0cm 0cm 0.0001pt 35.4pt; text-indent: 35.4pt;">
<span lang="EN-US" style="color: #2b91af; font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">Console</span><span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">.WriteLine(<span style="color: #a31515;">"Caso
1"</span>)<o:p></o:p></span></div>
<div class="MsoNormal" style="margin: 0cm 0cm 0.0001pt 35.4pt; text-indent: 35.4pt;">
<span lang="EN-US" style="color: blue; font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">Exit
Select</span><span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt; text-indent: 35.4pt;">
<span lang="EN-US" style="color: blue; font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">Case</span><span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"> 2, 3, 8<o:p></o:p></span></div>
<div class="MsoNormal" style="margin: 0cm 0cm 0.0001pt 35.4pt; text-indent: 35.4pt;">
<span style="color: #2b91af; font-family: Consolas; font-size: 9.5pt;">Console</span><span style="font-family: Consolas; font-size: 9.5pt;">.WriteLine(<span style="color: #a31515;">"Caso 2, 3 u
8"</span>)<o:p></o:p></span></div>
<div class="MsoNormal" style="margin: 0cm 0cm 0.0001pt 35.4pt; text-indent: 35.4pt;">
<span style="color: blue; font-family: Consolas; font-size: 9.5pt;">Exit Select</span><span style="font-family: Consolas; font-size: 9.5pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt; text-indent: 35.4pt;">
<span lang="EN-US" style="color: blue; font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">Case Else</span><span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><o:p></o:p></span></div>
<div class="MsoNormal" style="margin: 0cm 0cm 0.0001pt 35.4pt; text-indent: 35.4pt;">
<span lang="EN-US" style="color: #2b91af; font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">Console</span><span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">.WriteLine(<span style="color: #a31515;">"Caso
Default"</span>)<o:p></o:p></span></div>
<div class="MsoNormal" style="margin: 0cm 0cm 0.0001pt 35.4pt; text-indent: 35.4pt;">
<span lang="EN-US" style="color: blue; font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">Exit
Select</span><span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="color: blue; font-family: Consolas; font-size: 9.5pt;">End</span><span style="font-family: Consolas; font-size: 9.5pt;"> <span style="color: blue;">Select</span><o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<br /></div>
<div class="MsoNormal">
Igual pero con otras palabras!! <span lang="EN-US">Same, but with other words!!<o:p></o:p></span></div>
<div class="MsoNormal">
<span lang="EN-US">Y si encima .NET, te permite escribir en varios lenguajes, pues que más da el que uses!! el que más fácil te resulte, ¿no?</span><br />
<br /></div>
<br />
<div class="MsoNormal">
<span lang="EN-US">Saludos “der
Waki”<o:p></o:p></span><br />
<span lang="EN-US"><br /></span>
<span lang="EN-US">Nota: Si utilizáis Visual Studio, escribid dentro de un método la palabra <i>if </i>y pulsáis la tecla TAB dos veces. OHHH!! el fragmento de código, se escribe solo!!!</span></div>
</div>
Joaquin Martínezhttp://www.blogger.com/profile/07166016070485946881noreply@blogger.com0tag:blogger.com,1999:blog-1726059233582515530.post-26903575874237291462014-09-08T23:17:00.000+02:002014-09-08T23:17:43.718+02:0011.- Los campos, variables locales y tipos.<div dir="ltr" style="text-align: left;" trbidi="on">
<br />
<div class="MsoNormal" style="margin: 0cm 0cm 10pt;">
<span style="font-family: Calibri;">Vamos a tratar los campos, las variable locales y los tipos mediante una "minientrega".</span></div>
<div class="MsoNormal" style="margin: 0cm 0cm 10pt;">
<span style="font-family: Calibri;">Los campos, como ya dijimos, son variables declaradas a
nivel de clase. Estos campos tienen como es lógico sus modificadores, es decir,
pueden ser <em>public</em>, <em>protected</em>, <em>prívate</em>. </span></div>
<div class="MsoNormal" style="margin: 0cm 0cm 10pt;">
<span style="font-family: Calibri;">Aconsejo, no usar los campos como públicos sino privados o
protegidos. ¿Por qué? Pues porque para ello ya usamos las propiedades y el
campo lo que hace es respaldar el almacenamiento de estas.</span></div>
<div class="MsoNormal" style="margin: 0cm 0cm 10pt;">
<span style="font-family: Calibri;">Bueno hasta ahora no hemos descubierto nada, puesto que es
repaso de lo aprendido, cuando declaramos un campo, lo definimos con un
tipo, un número entero, doble precisión, fecha, cadena de texto, etc. </span><span style="font-family: Calibri;">Estos tipos pueden convertirse entre unos y otros, siempre
que el compilador pueda hacerlo, en caso contrario provocaría un error. Puedo
convertir una fecha a texto, pero lo que no puedo hacer es convertir la palabra
“hola” en una fecha, el compilador se quejaría, ¿no?.</span></div>
<div class="MsoNormal" style="margin: 0cm 0cm 10pt;">
<span style="font-family: Calibri;"><span class="sentence">Una vez declarada una variable, ésta no
se puede volver a declarar con un nuevo tipo y tampoco se le puede asignar un
valor que no sea compatible con su tipo declarado. </span><span data-guid="925564c57a908d949c65e5f7bfe5d69f" data-source="For example, you cannot declare an <span class="mtpsTagOuterHtml" ><span>int</span></span> and then assign it a Boolean value of <span class="mtpsTagOuterHtml" ><span>true</span></span>." id="mt24" xml:space="preserve"><sentencetext xmlns="http://www.w3.org/1999/xhtml">Por
ejemplo, no puede declarar <span style="color: blue;">int</span> y a
continuación, asignarle un valor booleano de <span style="color: blue;">true</span>.</sentencetext></span>
<span data-guid="561f27e9ba710ee205929c10972f1bbd" data-source="However, values can be converted to other types, for example when they are assigned to new variables or passed as method arguments." id="mt25" xml:space="preserve"><sentencetext xmlns="http://www.w3.org/1999/xhtml"><span class="sentence">Sin embargo, los valores pueden convertirse en otros tipos, por
ejemplo, cuando se asignan a variables nuevas o se pasan como argumentos de
método.</span></sentencetext></span></span></div>
<div class="MsoNormal" style="margin: 0cm 0cm 10pt;">
<span style="font-family: Calibri;">Los tipos son:</span></div>
<table border="1" cellpadding="0" cellspacing="0" class="MsoTableGrid" style="border-collapse: collapse; border: currentColor; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 0cm 5.4pt 0cm 5.4pt; mso-yfti-tbllook: 1184;">
<tbody>
<tr style="mso-yfti-firstrow: yes; mso-yfti-irow: 0;">
<td style="background: gray; border: 1pt solid windowtext; mso-background-themecolor: background1; mso-background-themeshade: 128; mso-border-alt: solid windowtext .5pt; padding: 0cm 5.4pt; width: 97.55pt;" valign="top" width="130">
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt;">
<b style="mso-bidi-font-weight: normal;"><span style="color: white; mso-themecolor: background1;"><span style="font-family: Calibri;">Nombre de tipo<o:p></o:p></span></span></b></div>
</td>
<td style="background: gray; border-color: windowtext windowtext windowtext rgb(0, 0, 0); border-style: solid solid solid none; border-width: 1pt 1pt 1pt 0px; mso-background-themecolor: background1; mso-background-themeshade: 128; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; padding: 0cm 5.4pt; width: 334.65pt;" valign="top" width="446">
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt;">
<b style="mso-bidi-font-weight: normal;"><span style="color: white; mso-themecolor: background1;"><span style="font-family: Calibri;">Descripción<o:p></o:p></span></span></b></div>
</td>
</tr>
<tr style="mso-yfti-irow: 1;">
<td style="background-color: transparent; border-color: rgb(0, 0, 0) windowtext windowtext; border-style: none solid solid; border-width: 0px 1pt 1pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt; width: 97.55pt;" valign="top" width="130">
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt;">
<i><span style="font-family: Calibri;">System.Object<o:p></o:p></span></i></div>
</td>
<td style="background-color: transparent; border-color: rgb(0, 0, 0) windowtext windowtext rgb(0, 0, 0); border-style: none solid solid none; border-width: 0px 1pt 1pt 0px; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt; width: 334.65pt;" valign="top" width="446">
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt;">
<span style="font-family: Calibri;">Clase base para todos los tipos. Puede almacenar cualquier cosa<o:p></o:p></span></div>
</td>
</tr>
<tr style="mso-yfti-irow: 2;">
<td style="background-color: transparent; border-color: rgb(0, 0, 0) windowtext windowtext; border-style: none solid solid; border-width: 0px 1pt 1pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt; width: 97.55pt;" valign="top" width="130">
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt;">
<i><span style="font-family: Calibri;">System.String<o:p></o:p></span></i></div>
</td>
<td style="background-color: transparent; border-color: rgb(0, 0, 0) windowtext windowtext rgb(0, 0, 0); border-style: none solid solid none; border-width: 0px 1pt 1pt 0px; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt; width: 334.65pt;" valign="top" width="446">
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt;">
<span style="font-family: Calibri;">Cadena de texto.<o:p></o:p></span></div>
</td>
</tr>
<tr style="mso-yfti-irow: 3;">
<td style="background-color: transparent; border-color: rgb(0, 0, 0) windowtext windowtext; border-style: none solid solid; border-width: 0px 1pt 1pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt; width: 97.55pt;" valign="top" width="130">
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt;">
<i><span style="font-family: Calibri;">System.SByte<o:p></o:p></span></i></div>
</td>
<td style="background-color: transparent; border-color: rgb(0, 0, 0) windowtext windowtext rgb(0, 0, 0); border-style: none solid solid none; border-width: 0px 1pt 1pt 0px; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt; width: 334.65pt;" valign="top" width="446">
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt;">
<span style="font-family: Calibri;">Byte con signo de 8 bits.<o:p></o:p></span></div>
</td>
</tr>
<tr style="mso-yfti-irow: 4;">
<td style="background-color: transparent; border-color: rgb(0, 0, 0) windowtext windowtext; border-style: none solid solid; border-width: 0px 1pt 1pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt; width: 97.55pt;" valign="top" width="130">
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt;">
<i><span style="font-family: Calibri;">System.Byte<o:p></o:p></span></i></div>
</td>
<td style="background-color: transparent; border-color: rgb(0, 0, 0) windowtext windowtext rgb(0, 0, 0); border-style: none solid solid none; border-width: 0px 1pt 1pt 0px; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt; width: 334.65pt;" valign="top" width="446">
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt;">
<span style="font-family: Calibri;">Byte sin signo de 8 bits.<o:p></o:p></span></div>
</td>
</tr>
<tr style="mso-yfti-irow: 5;">
<td style="background-color: transparent; border-color: rgb(0, 0, 0) windowtext windowtext; border-style: none solid solid; border-width: 0px 1pt 1pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt; width: 97.55pt;" valign="top" width="130">
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt;">
<i><span style="font-family: Calibri;">System.Intl6<o:p></o:p></span></i></div>
</td>
<td style="background-color: transparent; border-color: rgb(0, 0, 0) windowtext windowtext rgb(0, 0, 0); border-style: none solid solid none; border-width: 0px 1pt 1pt 0px; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt; width: 334.65pt;" valign="top" width="446">
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt;">
<span style="font-family: Calibri;">Valor de 16 bits con signo.<o:p></o:p></span></div>
</td>
</tr>
<tr style="mso-yfti-irow: 6;">
<td style="background-color: transparent; border-color: rgb(0, 0, 0) windowtext windowtext; border-style: none solid solid; border-width: 0px 1pt 1pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt; width: 97.55pt;" valign="top" width="130">
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt;">
<i><span lang="EN-US" style="mso-ansi-language: EN-US;"><span style="font-family: Calibri;">System.Ulntl6<o:p></o:p></span></span></i></div>
</td>
<td style="background-color: transparent; border-color: rgb(0, 0, 0) windowtext windowtext rgb(0, 0, 0); border-style: none solid solid none; border-width: 0px 1pt 1pt 0px; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt; width: 334.65pt;" valign="top" width="446">
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt;">
<span style="font-family: Calibri;">Valor de 16 bits sin signo.<o:p></o:p></span></div>
</td>
</tr>
<tr style="mso-yfti-irow: 7;">
<td style="background-color: transparent; border-color: rgb(0, 0, 0) windowtext windowtext; border-style: none solid solid; border-width: 0px 1pt 1pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt; width: 97.55pt;" valign="top" width="130">
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt;">
<i><span lang="EN-US" style="mso-ansi-language: EN-US;"><span style="font-family: Calibri;">System.Int32<o:p></o:p></span></span></i></div>
</td>
<td style="background-color: transparent; border-color: rgb(0, 0, 0) windowtext windowtext rgb(0, 0, 0); border-style: none solid solid none; border-width: 0px 1pt 1pt 0px; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt; width: 334.65pt;" valign="top" width="446">
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt;">
<span style="font-family: Calibri;">Valor de 32 bits con signo.<o:p></o:p></span></div>
</td>
</tr>
<tr style="mso-yfti-irow: 8;">
<td style="background-color: transparent; border-color: rgb(0, 0, 0) windowtext windowtext; border-style: none solid solid; border-width: 0px 1pt 1pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt; width: 97.55pt;" valign="top" width="130">
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt;">
<i><span lang="EN-US" style="mso-ansi-language: EN-US;"><span style="font-family: Calibri;">System.Ulnt32<o:p></o:p></span></span></i></div>
</td>
<td style="background-color: transparent; border-color: rgb(0, 0, 0) windowtext windowtext rgb(0, 0, 0); border-style: none solid solid none; border-width: 0px 1pt 1pt 0px; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt; width: 334.65pt;" valign="top" width="446">
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt;">
<span style="font-family: Calibri;">Valor de 32 bits sin signo.<o:p></o:p></span></div>
</td>
</tr>
<tr style="mso-yfti-irow: 9;">
<td style="background-color: transparent; border-color: rgb(0, 0, 0) windowtext windowtext; border-style: none solid solid; border-width: 0px 1pt 1pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt; width: 97.55pt;" valign="top" width="130">
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt;">
<i><span lang="EN-US" style="mso-ansi-language: EN-US;"><span style="font-family: Calibri;">System.Int64<o:p></o:p></span></span></i></div>
</td>
<td style="background-color: transparent; border-color: rgb(0, 0, 0) windowtext windowtext rgb(0, 0, 0); border-style: none solid solid none; border-width: 0px 1pt 1pt 0px; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt; width: 334.65pt;" valign="top" width="446">
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt;">
<span style="font-family: Calibri;">Valor de 64 bits con signo.<o:p></o:p></span></div>
</td>
</tr>
<tr style="mso-yfti-irow: 10;">
<td style="background-color: transparent; border-color: rgb(0, 0, 0) windowtext windowtext; border-style: none solid solid; border-width: 0px 1pt 1pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt; width: 97.55pt;" valign="top" width="130">
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt;">
<i><span lang="EN-US" style="mso-ansi-language: EN-US;"><span style="font-family: Calibri;">System.Ulnt64<o:p></o:p></span></span></i></div>
</td>
<td style="background-color: transparent; border-color: rgb(0, 0, 0) windowtext windowtext rgb(0, 0, 0); border-style: none solid solid none; border-width: 0px 1pt 1pt 0px; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt; width: 334.65pt;" valign="top" width="446">
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt;">
<span style="font-family: Calibri;">Valor de 64 bits sin signo.<o:p></o:p></span></div>
</td>
</tr>
<tr style="mso-yfti-irow: 11;">
<td style="background-color: transparent; border-color: rgb(0, 0, 0) windowtext windowtext; border-style: none solid solid; border-width: 0px 1pt 1pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt; width: 97.55pt;" valign="top" width="130">
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt;">
<i><span lang="EN-US" style="mso-ansi-language: EN-US;"><span style="font-family: Calibri;">System.Char<o:p></o:p></span></span></i></div>
</td>
<td style="background-color: transparent; border-color: rgb(0, 0, 0) windowtext windowtext rgb(0, 0, 0); border-style: none solid solid none; border-width: 0px 1pt 1pt 0px; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt; width: 334.65pt;" valign="top" width="446">
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt;">
<span style="font-family: Calibri;">Carácter unicode de 16 bits.<o:p></o:p></span></div>
</td>
</tr>
<tr style="mso-yfti-irow: 12;">
<td style="background-color: transparent; border-color: rgb(0, 0, 0) windowtext windowtext; border-style: none solid solid; border-width: 0px 1pt 1pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt; width: 97.55pt;" valign="top" width="130">
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt;">
<i><span lang="EN-US" style="mso-ansi-language: EN-US;"><span style="font-family: Calibri;">System.Single<o:p></o:p></span></span></i></div>
</td>
<td style="background-color: transparent; border-color: rgb(0, 0, 0) windowtext windowtext rgb(0, 0, 0); border-style: none solid solid none; border-width: 0px 1pt 1pt 0px; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt; width: 334.65pt;" valign="top" width="446">
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt;">
<span style="font-family: Calibri;">Valor en coma flotante del IEEE de 32 bits.<o:p></o:p></span></div>
</td>
</tr>
<tr style="mso-yfti-irow: 13;">
<td style="background-color: transparent; border-color: rgb(0, 0, 0) windowtext windowtext; border-style: none solid solid; border-width: 0px 1pt 1pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt; width: 97.55pt;" valign="top" width="130">
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt;">
<i><span lang="EN-US" style="mso-ansi-language: EN-US;"><span style="font-family: Calibri;">System.Double<o:p></o:p></span></span></i></div>
</td>
<td style="background-color: transparent; border-color: rgb(0, 0, 0) windowtext windowtext rgb(0, 0, 0); border-style: none solid solid none; border-width: 0px 1pt 1pt 0px; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt; width: 334.65pt;" valign="top" width="446">
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt;">
<span style="font-family: Calibri;">Valor en coma flotante del IEEE de 64 bits.<o:p></o:p></span></div>
</td>
</tr>
<tr style="mso-yfti-irow: 14;">
<td style="background-color: transparent; border-color: rgb(0, 0, 0) windowtext windowtext; border-style: none solid solid; border-width: 0px 1pt 1pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt; width: 97.55pt;" valign="top" width="130">
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt;">
<span style="font-family: Calibri;"><i>System.Boolean</i><o:p></o:p></span></div>
</td>
<td style="background-color: transparent; border-color: rgb(0, 0, 0) windowtext windowtext rgb(0, 0, 0); border-style: none solid solid none; border-width: 0px 1pt 1pt 0px; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt; width: 334.65pt;" valign="top" width="446">
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt;">
<span style="font-family: Calibri;">Valor booleano <i>(true!false).</i><o:p></o:p></span></div>
</td>
</tr>
<tr style="mso-yfti-irow: 15; mso-yfti-lastrow: yes;">
<td style="background-color: transparent; border-color: rgb(0, 0, 0) windowtext windowtext; border-style: none solid solid; border-width: 0px 1pt 1pt; mso-border-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt; width: 97.55pt;" valign="top" width="130">
<div class="MsoNormal" style="line-height: 115%; margin: 0cm 0cm 10pt;">
<i><span style="font-family: Calibri;">System.Decimal<o:p></o:p></span></i></div>
</td>
<td style="background-color: transparent; border-color: rgb(0, 0, 0) windowtext windowtext rgb(0, 0, 0); border-style: none solid solid none; border-width: 0px 1pt 1pt 0px; mso-border-alt: solid windowtext .5pt; mso-border-left-alt: solid windowtext .5pt; mso-border-top-alt: solid windowtext .5pt; padding: 0cm 5.4pt; width: 334.65pt;" valign="top" width="446">
<div class="MsoNormal" style="line-height: 115%; margin: 0cm 0cm 10pt;">
<span style="font-family: Calibri;">Tipo de
datos de 128-bit igual a 28 o 29 dígitos. Principalmente utilizado para aplicaciones
financieras, donde se requiere un alto grado de precisión.</span></div>
</td>
</tr>
</tbody></table>
<div class="MsoNormal" style="margin: 0cm 0cm 10pt;">
<o:p><span style="font-family: Calibri;"> </span></o:p></div>
<div class="MsoNormal" style="margin: 0cm 0cm 10pt;">
<o:p></o:p><span style="font-family: Calibri;">Todos los tipos tienen un alias en el lenguaje de
programación usado. ¿Y que es un alias?, pues un modo abreviado de acceder a
ellos de una forma más rápida. Estos alias o nombres, no pueden ser utilizados
para nombrar variables, están protegidos por el compilador, de modo que si
intento declarar una variable con el nombre double, el compilador chillaría!</span></div>
<div class="MsoNormal" style="margin: 0cm 0cm 10pt;">
<span style="font-family: Calibri;">Y ¿por qué el tipo? Pues entre otras cosas, el tipo determina el almacenamiento interno en la memoria donde se guarda esta variable,
el valor máximo y mínimo que puede representar, los miembros de clase que
contiene (porque son clases), los tipos de operaciones que se pueden realizar
con ellas, el tipo del que hereda y la ubicación en la memoria cuando se están
en tiempo de ejecución. Con todo esto, el compilador se encarga de de comprobar
que todos hacen las cosas como deben hacerlas.</span></div>
<div class="MsoNormal" style="margin: 0cm 0cm 10pt;">
<span style="font-family: Calibri;">Ejemplo.</span></div>
<div class="MsoNormal" style="margin: 0cm 0cm 10pt;">
<span style="font-family: Calibri;">C#</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span lang="EN-US" style="color: blue; font-family: "Courier New"; font-size: 10pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;">int</span><span lang="EN-US" style="color: black; font-family: "Courier New"; font-size: 10pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"> a = 5;<span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span lang="EN-US" style="color: blue; font-family: "Courier New"; font-size: 10pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;">int</span><span lang="EN-US" style="color: black; font-family: "Courier New"; font-size: 10pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"> b = a + 2; </span><span lang="EN-US" style="color: green; font-family: "Courier New"; font-size: 10pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;">//Esto funciona, suma 5 + 2 = 7</span><span lang="EN-US" style="color: black; font-family: "Courier New"; font-size: 10pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"><o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span lang="EN-US" style="color: black; font-family: "Courier New"; font-size: 10pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"><o:p> </o:p></span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span lang="EN-US" style="color: blue; font-family: "Courier New"; font-size: 10pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;">bool</span><span lang="EN-US" style="color: black; font-family: "Courier New"; font-size: 10pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"> test = </span><span lang="EN-US" style="color: blue; font-family: "Courier New"; font-size: 10pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;">true</span><span lang="EN-US" style="color: black; font-family: "Courier New"; font-size: 10pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;">;<o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span lang="EN-US" style="color: black; font-family: "Courier New"; font-size: 10pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"><o:p> </o:p></span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span lang="EN-US" style="color: blue; font-family: "Courier New"; font-size: 10pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;">int</span><span lang="EN-US" style="color: black; font-family: "Courier New"; font-size: 10pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"> c = a + test;</span><span lang="EN-US" style="color: green; font-family: "Courier New"; font-size: 10pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"> // Error. </span><span style="color: green; font-family: "Courier New"; font-size: 10pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;">El operador '+' no puede sumar una variable de número
con una variable tipo booleana.</span><span style="color: black; font-family: "Courier New"; font-size: 10pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"><o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span lang="EN-US" style="color: black; font-family: "Courier New"; font-size: 10pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"><o:p> </o:p></span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span lang="EN-US" style="color: black; font-family: "Courier New"; font-size: 10pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"><o:p> </o:p></span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="color: blue; font-family: "Courier New"; font-size: 10pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;">string</span><span style="color: black; font-family: "Courier New"; font-size: 10pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"> d = a.</span><span style="font-family: Consolas; font-size: 9.5pt;">ToString() </span><span style="color: black; font-family: "Courier New"; font-size: 10pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;">+ test</span><span style="font-family: Consolas; font-size: 9.5pt;">.ToString()</span><span style="color: black; font-family: "Courier New"; font-size: 10pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;">; </span><span style="color: green; font-family: "Courier New"; font-size: 10pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;">// Esto no da error ya que el resultado es ‘5True’,
ahora las variable tipo número y booleana, las he convertido antes a texto y lo
que ha hecho, ha sido concatenarlas</span><span style="color: black; font-family: "Courier New"; font-size: 10pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"><o:p></o:p></span></div>
<div class="MsoNormal" style="margin: 0cm 0cm 10pt;">
<o:p><span style="font-family: Calibri;"> </span></o:p></div>
<div class="MsoNormal" style="margin: 0cm 0cm 10pt;">
<span style="font-family: Calibri;">VB.NET</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="color: blue; font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">Dim</span><span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">
a <span style="color: blue;">As</span> <span style="color: blue;">Integer</span> =
5<o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">Dim</span>
b <span style="color: blue;">As</span> <span style="color: blue;">Integer</span> =
a + 2<o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span><span style="color: green;">'Esto
funciona, suma 5 + 2 = 7</span><o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">Dim</span>
test <span style="color: blue;">As</span> <span style="color: blue;">Boolean</span>
= <span style="color: blue;">True</span><o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><o:p> </o:p></span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">Dim</span>
c <span style="color: blue;">As</span> <span style="color: blue;">Integer</span> =
a + test<o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span></span><span style="color: green; font-family: Consolas; font-size: 9.5pt;">' Error. El operador '+' no puede sumar una
variable de número con una variable tipo booleana.</span><span style="font-family: Consolas; font-size: 9.5pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><o:p> </o:p></span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span></span><span lang="EN-US" style="color: blue; font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">Dim</span><span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"> d <span style="color: blue;">As</span> <span style="color: blue;">String</span> = a.ToString() & test.ToString()<o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span><span style="color: green;">' Esto no da error ya que el resultado es ‘5True’, ahora
las variable tipo número y booleana, las he convertido antes a texto y lo que
ha hecho, ha sido concatenarlas<o:p></o:p></span></span></div>
<div class="MsoNormal" style="margin: 0cm 0cm 10pt;">
<o:p><span style="font-family: Calibri;"> </span></o:p></div>
<div class="MsoNormal" style="margin: 0cm 0cm 10pt;">
<span style="font-family: Calibri;">No se si os habéis dado cuenta, pero cuando declaramos una
variable con su tipo, en la misma declaración es posible asignarle un valor, de
este modo no tenemos porque volver a escribirla y asignarle un valor.</span></div>
<div class="MsoNormal" style="margin: 0cm 0cm 10pt;">
<span style="font-family: Calibri;">Bueno, pues todas estas cosas, además las podemos realizar
dentro de un método y en este caso, la variable se convierte en local del método
y no es accesible nada más que dentro de este y tampoco, nos permitirá declarar
una variable con el mismo nombre dentro del método.</span></div>
<div class="MsoNormal" style="margin: 0cm 0cm 10pt;">
<span style="font-family: Calibri;">¿Cuáles son los más utilizados? Pues depende para que los
vayamos a usar; ahí viene cuando diseñamos la clase y debemos determinar qué
valores van a usar los miembros de clase.</span></div>
<div class="MsoNormal" style="margin: 0cm 0cm 10pt;">
<span style="font-family: Calibri;">Por ejemplo, dentro de un método voy a incluir un contador
dentro de un bucle y cada vez que se repita, se sumará la cantidad de 1; sé que
“jamás” no sobrepasará el valor de 10000, vamos que no llegará al valor de 10000,
pues creo que si declaro una variable de tipo entero (16 bit) será más que
suficiente, (valor mínimo -2147483647 y máximo 2147483647 ala!!!) ahora si el valor que voy a almacenar es el resultado de una
división y necesito un aproximación alta, utilizaré un <em>doublé </em>(valor mínimo <span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px; font-family: Tahoma, "Trebuchet MS", "Lucida Grande", Verdana, Arial, sans-serif;">5,0×10</span><span style="font-size: small;"><span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px; font-family: Tahoma, "Trebuchet MS", "Lucida Grande", Verdana, Arial, sans-serif;"><sup>-324</sup></span>y valor máximo <span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px; font-family: Tahoma, "Trebuchet MS", "Lucida Grande", Verdana, Arial, sans-serif;">1,7×10</span></span><span style="font-size: small;"><span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 1px; -webkit-border-vertical-spacing: 1px; font-family: Tahoma, "Trebuchet MS", "Lucida Grande", Verdana, Arial, sans-serif;"><sup>308</sup></span>. Vaya cifras astronómicas!, ¿no? pues depende para que, a veces se quedan cortas.</span></span></div>
<div class="MsoNormal" style="margin: 0cm 0cm 10pt;">
<span style="font-family: Calibri;">Pues lo prometido es deuda, entrega corta y a programar!! Practicad
mucho!!</span></div>
<div class="MsoNormal" style="margin: 0cm 0cm 10pt;">
<span style="font-family: Calibri;">Saludos “der Waki”</span></div>
</div>
Joaquin Martínezhttp://www.blogger.com/profile/07166016070485946881noreply@blogger.com0tag:blogger.com,1999:blog-1726059233582515530.post-81628388414404598262014-09-06T22:50:00.002+02:002014-09-06T22:50:42.992+02:0010.- Las propiedades<div dir="ltr" style="text-align: left;" trbidi="on">
<br />
<span style="font-family: Calibri;"><span style="font-family: Times New Roman;">
</span></span><span style="font-family: Calibri;"><span style="font-size: 12pt; mso-ascii-font-family: Calibri; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES; mso-hansi-font-family: Calibri;">Como ya
dijimos, las propiedades es una mezcla entre método y campo, puesto que almacenan
valores y además nos permiten hacer cálculos sobre ellos. Para el que accede a
la propiedad, la ve como un campo.</span></span><br />
<span style="font-family: Calibri;">
<span style="font-size: 12pt; mso-ascii-font-family: Calibri; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES; mso-hansi-font-family: Calibri;">Además, son miembros de clase que nos permiten leer,
escribir o calcular un campo privado de la clase, es decir, nos permite leerlo,
cambiarle su valor o calcularle uno nuevo.</span>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 10pt;">
<span style="font-size: 12pt; mso-ascii-font-family: Calibri; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES; mso-hansi-font-family: Calibri;">Una propiedad genérica, tiene la siguiente estructura:</span>
</div>
<ul type="disc"><span style="font-family: Times New Roman;">
</span>
<li class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 10pt; mso-list: l0 level1 lfo1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt;"><span style="font-size: 12pt; mso-ascii-font-family: Calibri; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES; mso-hansi-font-family: Calibri;">Contiene un descriptor <i style="mso-bidi-font-style: normal;">Get</i>. Se utiliza para leer la propiedad. Una propiedad sin este
valor, se considera de solo escritura, puesto que no es posible leerla.</span><span style="font-family: "Times New Roman","serif"; font-size: 12pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"><o:p></o:p></span></li>
<span style="font-family: Times New Roman;">
</span>
<li class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 10pt; mso-list: l0 level1 lfo1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt;"><span style="font-size: 12pt; mso-ascii-font-family: Calibri; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES; mso-hansi-font-family: Calibri;">Contiene un descriptor <i style="mso-bidi-font-style: normal;">Set</i>. Se utiliza para asignar un valor a la propiedad. Si este
descriptor no existiera, la propiedad sería solo de lectura y por tanto,
sería como cuando vimos la constante, que era un campo de solo lectura.</span><span style="font-family: "Times New Roman","serif"; font-size: 12pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"><o:p></o:p></span></li>
<span style="font-family: Times New Roman;">
</span>
<li class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 10pt; mso-list: l0 level1 lfo1; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto; tab-stops: list 36.0pt;"><span style="font-size: 12pt; mso-ascii-font-family: Calibri; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES; mso-hansi-font-family: Calibri;">Tiene un campo del mismo tipo que la propiedad
y asociado a esta.</span>
</li>
</ul>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 10pt;">
<span style="font-size: 12pt; mso-ascii-font-family: Calibri; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES; mso-hansi-font-family: Calibri;">Las propiedades no son campos, por tanto no podemos
pasar como argumento en un método una propiedad.</span>
</div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 10pt;">
<b style="mso-bidi-font-weight: normal;"><span style="font-size: 12pt; mso-ascii-font-family: Calibri; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES; mso-hansi-font-family: Calibri;">¿Qué usos le podemos dar a las variables?</span></b><span style="font-size: 12pt; mso-ascii-font-family: Calibri; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES; mso-hansi-font-family: Calibri;"> Pues podemos usarlas para validar datos antes de
permitir un cambio, exponer los datos de forma transparente obtenidos desde
otro origen o cuando se realiza una acción, por ejemplo si cambiamos su
valor, se genera un evento avisándonos de que la propiedad ha cambiado.</span>
</div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 10pt;">
<b><span style="font-size: 12pt; mso-ascii-font-family: Calibri; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES; mso-hansi-font-family: Calibri;">¿Dónde se declaran las propiedades?</span></b><span style="font-size: 12pt; mso-ascii-font-family: Calibri; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES; mso-hansi-font-family: Calibri;"> Las propiedades se declaran a nivel de clase mediante
el tipo, el nombre de la propiedad, el descriptor <i style="mso-bidi-font-style: normal;">get</i> y el descriptor <i style="mso-bidi-font-style: normal;">set</i>. </span>
</div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 10pt;">
<span style="font-size: 12pt; mso-ascii-font-family: Calibri; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES; mso-hansi-font-family: Calibri;">Ejemplo. En la siguiente propiedad, declaramos un
campo <i style="mso-bidi-font-style: normal;">month</i> y le asignamos el valor
7. Acto seguido declaramos la propiedad pública <i style="mso-bidi-font-style: normal;">Month</i> y en la cual si nosotros solicitáramos su lectura, nos daría
el valor del campo <i style="mso-bidi-font-style: normal;">month</i>, en este
caso, nos daría el valor 7. Si dijéramos que la propiedad <i style="mso-bidi-font-style: normal;">Month</i> vale ahora 10 (Octubre), en el descriptor set, comprobaría
que el valor que le pasamos es mayor que 0, que como mínimo vale 1 y menor que
13, que como máximo valga 12. Una vez efectuada la comprobación le asignaría el
valor a la propiedad. ¿Qué ocurriría si le asignamos el valor 15? Pues como no
cumple las condiciones de mayor de 0 y menor de 13 y no se asignaría
ningún valor a la propiedad quedando en su estado anterior. El valor <i style="mso-bidi-font-style: normal;">value</i>, es el valor que asignamos a la
propiedad. </span><span lang="EN-US" style="font-size: 12pt; mso-ansi-language: EN-US; mso-ascii-font-family: Calibri; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES; mso-hansi-font-family: Calibri;">¿bien?</span>
</div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;">
<span lang="EN-US" style="mso-ansi-language: EN-US;">C#</span>
</div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="mso-ansi-language: EN-US;"> </span><span lang="EN-US" style="color: blue; font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">private</span><span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">
<span style="color: blue;">int</span> month = 7;<span style="mso-spacerun: yes;">
</span><span style="color: green;">// el campo month </span></span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">public</span> <span style="color: blue;">int</span> Month<span style="mso-spacerun: yes;">
</span><span style="color: green;">// La propiedad Month</span></span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span>{</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">get</span></span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span>{</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">return</span>
month;</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span>}</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span><span style="mso-spacerun: yes;"> </span><span style="color: blue;">set</span></span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span>{</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">if</span>
((<span style="color: blue;">value</span> > 0) && (<span style="color: blue;">value</span> < 13))</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span></span><span style="font-family: Consolas; font-size: 9.5pt;">{</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;">
</span>month = <span style="color: blue;">value</span>;</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span>}</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span>}</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span>}</span><br />
</div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 10pt; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;">
<span lang="EN-US" style="mso-ansi-language: EN-US; mso-ascii-font-family: Calibri; mso-bidi-font-family: "Times New Roman"; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES; mso-hansi-font-family: Calibri;">VB.NET</span><span lang="EN-US" style="font-family: "Times New Roman","serif"; mso-ansi-language: EN-US; mso-bidi-font-size: 12.0pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"><o:p></o:p></span></div>
<span style="font-family: Times New Roman;">
</span><span lang="EN-US" style="color: blue; font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"> Private</span><span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"> m_month <span style="color: blue;">As</span> <span style="color: blue;">Integer</span> = 7<span style="color: green;">' el campo month</span></span><span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"><span style="mso-spacerun: yes;"> </span></span><span lang="EN-US" style="font-family: "Times New Roman","serif"; font-size: 12pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"><o:p></o:p></span><br />
<span style="font-family: Times New Roman;">
</span><span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">Public</span> <span style="color: blue;">Property</span>
Month() <span style="color: blue;">As</span> <span style="color: blue;">Integer</span><span style="color: green;">' La propiedad Month</span></span><span lang="EN-US" style="font-family: "Times New Roman","serif"; font-size: 12pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"><o:p></o:p></span><br />
<span style="font-family: Times New Roman;">
</span><span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"><span style="mso-spacerun: yes;">
</span><span style="color: blue;">Get</span></span><br />
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"><span style="mso-spacerun: yes;">
</span><span style="color: blue;">Return</span> m_month</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"><span style="mso-spacerun: yes;">
</span><span style="color: blue;">End</span> <span style="color: blue;">Get</span></span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"><span style="mso-spacerun: yes;">
</span><span style="color: blue;">Set</span>(value <span style="color: blue;">As</span>
<span style="color: blue;">Integer</span>)</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"><span style="mso-spacerun: yes;">
</span><span style="color: blue;">If</span> (value > 0) <span style="color: blue;">AndAlso</span> (value < 13) <span style="color: blue;">Then</span></span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"><span style="mso-spacerun: yes;"> </span>m_month = value</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"><span style="mso-spacerun: yes;"> </span><span style="mso-spacerun: yes;"> </span><span style="color: blue;">End</span> <span style="color: blue;">If</span></span><span lang="EN-US" style="font-family: "Times New Roman","serif"; font-size: 12pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"><o:p></o:p></span></div>
<span style="font-family: Times New Roman;">
</span><span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"><span style="mso-spacerun: yes;">
</span><span style="color: blue;">End</span> <span style="color: blue;">Set</span></span><span lang="EN-US" style="font-family: "Times New Roman","serif"; font-size: 12pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"><o:p></o:p></span><br />
<span style="font-family: Times New Roman;">
</span><span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"><span style="mso-spacerun: yes;"> </span></span><span style="color: blue; font-family: Consolas; font-size: 9.5pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;">End</span><span style="font-family: Consolas; font-size: 9.5pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"> <span style="color: blue;">Property</span></span><span style="font-family: "Times New Roman","serif"; font-size: 12pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"><o:p></o:p></span><br />
<span style="font-family: Times New Roman;">
</span><span style="font-size: 12pt; mso-ascii-font-family: Calibri; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES; mso-hansi-font-family: Calibri;"></span><br />
<span style="font-size: 12pt; mso-ascii-font-family: Calibri; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES; mso-hansi-font-family: Calibri;">Otro ejemplo con nuestra clase preferida, la clase
Vehiculo. Asignamos un propiedad a esta clase llamada Matricula y otra
Potencia, pues vamos a crear una instancia de esta y vamos a leer y escribir
sus propiedades.</span><span style="font-family: Times New Roman;">
</span><br />
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 10pt;">
<span lang="EN-US" style="font-size: 12pt; mso-ansi-language: EN-US; mso-ascii-font-family: Calibri; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES; mso-hansi-font-family: Calibri;">C#</span><span lang="EN-US" style="font-family: "Times New Roman","serif"; font-size: 12pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"><o:p></o:p></span></div>
<span style="font-family: Times New Roman;">
</span><span lang="EN-US" style="color: blue; font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;">static</span><span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"> <span style="color: blue;">void</span>
Main(<span style="color: blue;">string</span>[] args)</span>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;">{</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"><span style="mso-spacerun: yes;"> </span><span style="color: #2b91af;">Console</span>.WriteLine
(<span style="color: #a31515;">"Comienza la App"</span>);</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt 35.4pt; mso-layout-grid-align: none;">
<span style="color: #2b91af; font-family: Consolas; font-size: 9.5pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"><span style="mso-spacerun: yes;"> </span>Vehiculo</span><span style="font-family: Consolas; font-size: 9.5pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"> miVehiculo = <span style="color: blue;">new</span> <span style="color: #2b91af;">Vehiculo</span>();</span></div>
<span style="font-family: Times New Roman;">
</span><br />
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"><span style="mso-spacerun: yes;"> </span>miVehiculo.Potencia = 120;</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"><span style="mso-spacerun: yes;"> </span>miVehiculo.Matricula = <span style="color: #a31515;">"0000 XXX"</span>;</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"><span style="mso-spacerun: yes;"> </span><span style="color: #2b91af;">Console</span>.WriteLine(miVehiculo.Potencia);</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"><span style="mso-spacerun: yes;"> </span><span style="color: #2b91af;">Console</span>.WriteLine(miVehiculo.Matricula);</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"><span style="mso-spacerun: yes;"> </span><span style="color: #2b91af;">Console</span>.WriteLine(<span style="color: #a31515;">"Pulse INTRO para finalizar.."</span>);</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"><span style="mso-spacerun: yes;"> </span></span><span lang="EN-US" style="color: #2b91af; font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;">Console</span><span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;">.ReadLine();</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;">}</span>
</div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="color: blue; font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;">class</span><span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"> <span style="color: #2b91af;">Vehiculo</span></span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;">{</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">public</span> Vehiculo()</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"><span style="mso-spacerun: yes;"> </span></span><span style="font-family: Consolas; font-size: 9.5pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;">{</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"><span style="mso-spacerun: yes;"> </span><span style="mso-spacerun: yes;"> </span><span style="color: green;">// código
utilizado al instanciar la clase</span></span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"><span style="mso-spacerun: yes;"> </span></span><span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;">}</span><span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"> </span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">private</span> <span style="color: blue;">double</span>
_potencia; </span><span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"> </span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">public</span> <span style="color: blue;">double</span>
Potencia</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"><span style="mso-spacerun: yes;"> </span>{</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"><span style="mso-spacerun: yes;">
</span><span style="color: blue;">get</span> { <span style="color: blue;">return</span>
_potencia; }</span><span lang="EN-US" style="font-family: "Times New Roman","serif"; font-size: 12pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"><o:p></o:p></span></div>
<span style="font-family: Times New Roman;">
</span><span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"><span style="mso-spacerun: yes;">
</span><span style="color: blue;">set</span> { _potencia = <span style="color: blue;">value</span>; }</span><span lang="EN-US" style="font-family: "Times New Roman","serif"; font-size: 12pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"><o:p></o:p></span><br />
<span style="font-family: Times New Roman;">
</span><span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"><span style="mso-spacerun: yes;"> </span>}</span><span style="font-family: Times New Roman;">
</span><br />
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">private</span> <span style="color: blue;">string</span> _matricula;</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">public</span> <span style="color: blue;">string</span>
Matricula</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"><span style="mso-spacerun: yes;"> </span>{</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"><span style="mso-spacerun: yes;">
</span><span style="color: blue;">get</span> { <span style="color: blue;">return</span>
_matricula; }</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"><span style="mso-spacerun: yes;">
</span><span style="color: blue;">set</span> { _matricula = <span style="color: blue;">value</span>; }</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"><span style="mso-spacerun: yes;"> </span>}</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 10pt;">
<span lang="EN-US" style="font-size: 12pt; mso-ansi-language: EN-US; mso-ascii-font-family: Calibri; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES; mso-hansi-font-family: Calibri;">}</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 10pt;">
<span lang="EN-US" style="font-size: 12pt; mso-ansi-language: EN-US; mso-ascii-font-family: Calibri; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES; mso-hansi-font-family: Calibri;">VB.NET</span>
</div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">Private</span> <span style="color: blue;">Shared</span> <span style="color: blue;">Sub</span> Main(args <span style="color: blue;">As</span> <span style="color: blue;">String</span>())</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"><span style="mso-spacerun: yes;">
</span></span><span style="color: #2b91af; font-family: Consolas; font-size: 9.5pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;">Console</span><span style="font-family: Consolas; font-size: 9.5pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;">.WriteLine(<span style="color: #a31515;">"Comienza
la App"</span>)</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="color: blue; font-family: Consolas; font-size: 9.5pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"><span style="mso-spacerun: yes;"> </span><span style="mso-spacerun: yes;"> </span></span><span lang="EN-US" style="color: blue; font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;">Dim</span><span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"> miVehiculo <span style="color: blue;">As</span> <span style="color: blue;">New</span> <span style="color: #2b91af;">Vehiculo</span>()</span><br />
</div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"><span style="mso-spacerun: yes;">
</span></span><span style="font-family: Consolas; font-size: 9.5pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;">miVehiculo.Potencia = 120</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"><span style="mso-spacerun: yes;"> </span>miVehiculo.Matricula = <span style="color: #a31515;">"0000 XXX"</span></span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"><span style="mso-spacerun: yes;"> </span><span style="color: #2b91af;">Console</span>.WriteLine(miVehiculo.Potencia)</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"><span style="mso-spacerun: yes;"> </span><span style="color: #2b91af;">Console</span>.WriteLine(miVehiculo.Matricula)</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"><span style="mso-spacerun: yes;"> </span><span style="color: #2b91af;">Console</span>.WriteLine(<span style="color: #a31515;">"Pulse INTRO para finalizar.."</span>)</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"><span style="mso-spacerun: yes;"> </span></span><span lang="EN-US" style="color: #2b91af; font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;">Console</span><span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;">.ReadLine()</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">End</span> <span style="color: blue;">Sub</span></span><span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"> </span>
</div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">Private</span> <span style="color: blue;">Class</span> <span style="color: #2b91af;">Vehiculo</span></span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"><span style="mso-spacerun: yes;">
</span></span><span style="color: green; font-family: Consolas; font-size: 9.5pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;">' código utilizado al
instanciar la clase</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"><span style="mso-spacerun: yes;"> </span></span><span lang="EN-US" style="color: blue; font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;">Public</span><span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"> <span style="color: blue;">Sub</span> <span style="color: blue;">New</span>()</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"><span style="mso-spacerun: yes;">
</span><span style="color: blue;">End</span> <span style="color: blue;">Sub</span></span><span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"> </span><br />
</div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"><span style="mso-spacerun: yes;">
</span><span style="color: blue;">Private</span> _potencia <span style="color: blue;">As</span> <span style="color: blue;">Double</span></span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"><span style="mso-spacerun: yes;">
</span><span style="color: blue;">Public</span> <span style="color: blue;">Property</span>
Potencia() <span style="color: blue;">As</span> <span style="color: blue;">Double</span></span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"><span style="mso-spacerun: yes;">
</span><span style="color: blue;">Get</span></span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">Return</span>
_potencia</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"><span style="mso-spacerun: yes;">
</span><span style="color: blue;">End</span> <span style="color: blue;">Get</span></span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"><span style="mso-spacerun: yes;">
</span><span style="color: blue;">Set</span>(value <span style="color: blue;">As</span>
<span style="color: blue;">Double</span>)</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"><span style="mso-spacerun: yes;"> </span>_potencia = value</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"><span style="mso-spacerun: yes;">
</span><span style="color: blue;">End</span> <span style="color: blue;">Set</span></span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"><span style="mso-spacerun: yes;">
</span><span style="color: blue;">End</span> <span style="color: blue;">Property</span></span><span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"> </span><br />
</div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"><span style="mso-spacerun: yes;">
</span><span style="color: blue;">Private</span> _matricula <span style="color: blue;">As</span> <span style="color: blue;">String</span></span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"><span style="mso-spacerun: yes;">
</span><span style="color: blue;">Public</span> <span style="color: blue;">Property</span>
Matricula() <span style="color: blue;">As</span> <span style="color: blue;">String</span></span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"><span style="mso-spacerun: yes;">
</span><span style="color: blue;">Get</span></span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">Return</span>
_matricula</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"><span style="mso-spacerun: yes;">
</span><span style="color: blue;">End</span> <span style="color: blue;">Get</span></span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"><span style="mso-spacerun: yes;">
</span><span style="color: blue;">Set</span>(value <span style="color: blue;">As</span>
<span style="color: blue;">String</span>)</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"><span style="mso-spacerun: yes;"> </span>_matricula = value</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"><span style="mso-spacerun: yes;">
</span><span style="color: blue;">End</span> <span style="color: blue;">Set</span></span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"><span style="mso-spacerun: yes;">
</span><span style="color: blue;">End</span> <span style="color: blue;">Property</span></span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"><span style="mso-spacerun: yes;"> </span></span><span style="color: blue; font-family: Consolas; font-size: 9.5pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;">End</span><span style="font-family: Consolas; font-size: 9.5pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"> <span style="color: blue;">Class</span></span><span style="font-family: "Times New Roman","serif"; font-size: 12pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"><o:p> </o:p></span><br />
</div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 10pt;">
<span style="font-size: 12pt; mso-ascii-font-family: Calibri; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES; mso-hansi-font-family: Calibri;">En este ejemplo, desde el método de clase Main,
creamos un objeto Vehículo llamado miVehiculo, le asignamos a la propiedad
Potencia un valor de 120 , a la propiedad de Matrícula 0000 XXX y una vez
asignadas, las imprimimos por pantalla. </span><span style="font-family: "Times New Roman","serif"; font-size: 12pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"><o:p></o:p></span></div>
<span style="font-family: Times New Roman;">
</span><b style="mso-bidi-font-weight: normal;"><span style="font-size: 12pt; mso-ascii-font-family: Calibri; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES; mso-hansi-font-family: Calibri;">¿Qué ocurre dentro de las propiedades?</span></b><span style="font-size: 12pt; mso-ascii-font-family: Calibri; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES; mso-hansi-font-family: Calibri;"> Cuando le asignamos un valor a la Propiedad Potencia,
estamos accediendo al descriptor <i style="mso-bidi-font-style: normal;">set</i>
dándole al valor del campo <i style="mso-bidi-font-style: normal;">_potencia</i>,
el valor asignado de 120 pero en el siguiente paso, cuando lo imprimimos por
pantalla accedemos al descriptor <i style="mso-bidi-font-style: normal;">get</i>
y este lo que hace es ir a buscar el campo privado de clase <i style="mso-bidi-font-style: normal;">_potencia</i> y devuelve su valor que es
120. Así de fácil.</span><br />
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 10pt;">
<span style="font-size: 12pt; mso-ascii-font-family: Calibri; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES; mso-hansi-font-family: Calibri;">Otro ejemplo un poco más complejo. </span><span style="font-family: "Times New Roman","serif"; font-size: 12pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"><o:p></o:p></span></div>
<span style="font-family: Times New Roman;">
</span><span style="font-size: 12pt; mso-ascii-font-family: Calibri; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES; mso-hansi-font-family: Calibri;">C#</span><span style="font-family: "Times New Roman","serif"; font-size: 12pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"><o:p></o:p></span><br />
<span style="font-family: Times New Roman;">
</span><span lang="EN-US" style="color: blue; font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;">class</span><span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"> <span style="color: #2b91af;">Cuadrado</span></span><br />
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"><span style="mso-spacerun: yes;"> </span>{</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">public</span> <span style="color: blue;">double</span> _lado;</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">public</span> Cuadrado(<span style="color: blue;">double</span>
s)<span style="mso-spacerun: yes;"> </span><span style="color: green;">//constructor</span></span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"><span style="mso-spacerun: yes;"> </span>{</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"><span style="mso-spacerun: yes;">
</span>_lado = s;</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"><span style="mso-spacerun: yes;"> </span>}</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">public</span> <span style="color: blue;">double</span> Area</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"><span style="mso-spacerun: yes;"> </span>{</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"><span style="mso-spacerun: yes;">
</span><span style="color: blue;">get</span></span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"><span style="mso-spacerun: yes;">
</span>{</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"><span style="mso-spacerun: yes;">
</span><span style="color: blue;">return</span> _lado * _lado;</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"><span style="mso-spacerun: yes;"> </span><span style="mso-spacerun: yes;"> </span>}</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"><span style="mso-spacerun: yes;">
</span><span style="color: blue;">set</span></span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"><span style="mso-spacerun: yes;">
</span>{</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"><span style="mso-spacerun: yes;">
</span>_lado = System.<span style="color: #2b91af;">Math</span>.Sqrt(<span style="color: blue;">value</span>);</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"><span style="mso-spacerun: yes;">
</span>}</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"><span style="mso-spacerun: yes;"> </span>}</span><span lang="EN-US" style="color: blue; font-family: Consolas; font-size: 10pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"> <o:p></o:p></span></div>
<span style="font-family: Times New Roman;">
</span><span lang="EN-US" style="color: blue; font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"> public</span><span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"> <span style="color: blue;">double</span> Volumen</span><br />
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span>{</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">get</span>
</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt 35.4pt; mso-layout-grid-align: none; text-indent: 35.4pt;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">{ <span style="color: blue;">return</span> _lado * _lado * _lado; }</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">set</span>
</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt 35.4pt; mso-layout-grid-align: none; text-indent: 35.4pt;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">{ _lado
=System.<span style="color: #2b91af;">Math</span>.Pow( <span style="color: blue;">value</span>,
1 / 3); }</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span>}</span><span lang="EN-US" style="font-family: "Times New Roman","serif"; font-size: 12pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"> </span><br />
</div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 10pt; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;">
<span lang="EN-US" style="color: blue; font-family: Consolas; font-size: 10pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;">static</span><span lang="EN-US" style="font-family: Consolas; font-size: 10pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"> <span style="color: blue;">void</span> Main(<span style="color: blue;">string</span>[] args)</span><br />
<span style="font-family: "Times New Roman","serif"; font-size: 12pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"><span style="font-family: Consolas; font-size: x-small;">{</span></span><br />
<span style="color: #2b91af; font-family: Consolas; font-size: 10pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"> Cuadrado</span><span style="font-family: Consolas; font-size: 10pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"> MiCuadrado = <span style="color: blue;">new</span> <span style="color: #2b91af;">Cuadrado</span>(4);</span><br />
<span style="color: #2b91af; font-family: Consolas; font-size: 10pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"> Console</span><span style="font-family: Consolas; font-size: 10pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;">.WriteLine(MiCuadrado.Area); <span style="color: green;">// imprime por
pantalla 16</span></span><br />
<span style="font-family: Consolas; font-size: 10pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;">
MiCuadrado.Area = 100; <span style="color: green;">// ahora el lado vale 10, pero
no lo vemos porque es un camp privado de clase</span></span><br />
<span style="font-family: "Times New Roman","serif"; font-size: 12pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"> <span style="color: #2b91af; font-family: Consolas; font-size: x-small;">Console</span><span style="font-family: Consolas; font-size: 10pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"></span></span><span style="font-family: Consolas; font-size: 10pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;">.WriteLine(MiCuadrado.Volumen); <span style="color: green;">// imprime por pantalla 1000</span></span><br />
<span style="font-family: "Times New Roman","serif"; font-size: 12pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"> </span><span lang="EN-US" style="font-family: Consolas; font-size: 10pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;">}</span><span lang="EN-US" style="font-family: "Times New Roman","serif"; font-size: 12pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"><o:p></o:p></span><br />
<span style="font-family: Times New Roman;">
</span><span lang="EN-US" style="font-size: 12pt; mso-ansi-language: EN-US; mso-ascii-font-family: Calibri; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES; mso-hansi-font-family: Calibri;"></span><br />
<span lang="EN-US" style="font-size: 12pt; mso-ansi-language: EN-US; mso-ascii-font-family: Calibri; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES; mso-hansi-font-family: Calibri;">VB.NET</span><br />
<span lang="EN-US" style="color: blue; font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;">Class</span><span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"> <span style="color: #2b91af;">Cuadrado</span></span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">Public</span> _lado <span style="color: blue;">As</span> <span style="color: blue;">Double</span></span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">Public</span> <span style="color: blue;">Sub</span> <span style="color: blue;">New</span>(s <span style="color: blue;">As</span> <span style="color: blue;">Double</span>)</span><span lang="EN-US" style="font-family: "Times New Roman","serif"; font-size: 12pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"><o:p></o:p></span></div>
<span style="font-family: Times New Roman;">
</span><span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"><span style="mso-spacerun: yes;">
</span><span style="color: green;">'constructor</span></span><br />
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"><span style="mso-spacerun: yes;">
</span>_lado = s</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">End</span> <span style="color: blue;">Sub</span></span><span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"> </span><br />
</div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">Public</span> <span style="color: blue;">Property</span>
Area() <span style="color: blue;">As</span> <span style="color: blue;">Double</span></span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"><span style="mso-spacerun: yes;">
</span><span style="color: blue;">Get</span></span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"><span style="mso-spacerun: yes;">
</span><span style="color: blue;">Return</span> _lado * _lado</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"><span style="mso-spacerun: yes;">
</span><span style="color: blue;">End</span> <span style="color: blue;">Get</span></span>
</div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"><span style="mso-spacerun: yes;">
</span><span style="color: blue;">Set</span>(value <span style="color: blue;">As</span>
<span style="color: blue;">Double</span>)</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"><span style="mso-spacerun: yes;">
</span>_lado = System.<span style="color: #2b91af;">Math</span>.Sqrt(value)</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"><span style="mso-spacerun: yes;">
</span><span style="color: blue;">End</span> <span style="color: blue;">Set</span></span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">End</span> <span style="color: blue;">Property</span></span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 10pt; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;">
<span lang="EN-US" style="color: blue; font-family: Consolas; font-size: 10pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"> Public</span><span lang="EN-US" style="font-family: Consolas; font-size: 10pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"> <span style="color: blue;">Property</span> Volumen() <span style="color: blue;">As</span>
<span style="color: blue;">Double</span></span><br />
<span style="font-family: Consolas;"><span style="font-size: x-small;"><span style="color: blue;"> <span lang="EN-US" style="font-size: 10pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;">
Get</span></span></span></span><br />
<span lang="EN-US" style="color: blue; font-family: Consolas; font-size: 10pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"> Return</span><span lang="EN-US" style="font-family: Consolas; font-size: 10pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"> _lado *
_lado * _lado</span><br />
<span lang="EN-US" style="color: blue; font-family: Consolas; font-size: 10pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"> End</span><span lang="EN-US" style="font-family: Consolas; font-size: 10pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"> <span style="color: blue;">Get</span></span><br />
<span lang="EN-US" style="color: blue; font-family: Consolas; font-size: 10pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"> Set</span><span lang="EN-US" style="font-family: Consolas; font-size: 10pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;">(value <span style="color: blue;">As</span> <span style="color: blue;">Double</span>)</span><br />
<span lang="EN-US" style="font-family: Consolas; font-size: 10pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;">
_lado = System.<span style="color: #2b91af;">Math</span>.Pow(value, 1 \ 3)</span><br />
<span lang="EN-US" style="color: blue; font-family: Consolas; font-size: 10pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"> End</span><span lang="EN-US" style="font-family: Consolas; font-size: 10pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"> <span style="color: blue;">Set</span></span><br />
<span lang="EN-US" style="color: blue; font-family: Consolas; font-size: 10pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;">
End</span><span lang="EN-US" style="font-family: Consolas; font-size: 10pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"> <span style="color: blue;">Property</span></span><br />
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"><span style="color: blue;">End</span> <span style="color: blue;">Class</span></span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"><span style="color: blue;"></span></span> </div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 10pt; mso-margin-bottom-alt: auto; mso-margin-top-alt: auto;">
<span lang="EN-US" style="color: blue; font-family: Consolas; font-size: 10pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;">Private</span><span lang="EN-US" style="font-family: Consolas; font-size: 10pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"> <span style="color: blue;">Shared</span> <span style="color: blue;">Sub</span> Main(args <span style="color: blue;">As</span> <span style="color: blue;">String</span>())</span></div>
<span lang="EN-US" style="color: blue; font-family: Consolas; font-size: 10pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"><span style="color: blue; font-family: Consolas; font-size: 9.5pt;">Dim</span><span style="font-family: Consolas; font-size: 9.5pt;"><span style="color: black;"> MiCuadrado</span> <span style="color: blue;">As</span><span style="color: black;"> </span><span style="color: blue;">New</span><span style="color: black;"> </span><span style="color: #2b91af;">Cuadrado</span><span style="color: black;">(4)</span></span><br />
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"><span style="color: black;"> </span></span><span style="color: #2b91af;">Console</span><span style="color: black;">.WriteLine(MiCuadrado.Area)</span></span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"><span style="color: black;"> </span></span><span style="color: green;">' imprime por pantalla 16</span></span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"><span style="color: black;">
</span></span><span style="color: black;">MiCuadrado.Area = 100<o:p></o:p></span></span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="color: black; font-family: Times New Roman; font-size: small;">
</span><span style="font-family: Consolas; font-size: 9.5pt; line-height: 115%; mso-ansi-language: ES; mso-bidi-language: AR-SA; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-latin;"><span style="mso-spacerun: yes;">
</span><span style="color: green;">' ahora el lado vale 10, pero no lo vemos
porque es un camp privado de clase</span></span></div>
</span><span lang="EN-US" style="color: blue; font-family: Consolas; font-size: 10pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;">End</span><span lang="EN-US" style="font-family: Consolas; font-size: 10pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"> <span style="color: blue;">Sub</span></span><span lang="EN-US" style="font-family: "Times New Roman","serif"; font-size: 12pt; mso-ansi-language: EN-US; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"><o:p></o:p></span><br />
<span style="font-family: Times New Roman;">
</span><span style="font-size: 12pt; mso-ascii-font-family: Calibri; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES; mso-hansi-font-family: Calibri;">Creamos una clase <i>Cuadrado</i> a la cual le
agregamos una propiedad llamada <i>Area</i> con un campo llamado <i>_lado</i>.
En el constructor de la clase, (lo primero que hace una clase cuando se instancia),
le agregamos un parámetro <i>s</i>, de modo que cuando instanciemos la clase <i>Cuadrado</i>,
nos pedirá que le pasemos un argumento, en este caso el valor del lado el cual
automáticamente es asignado al campo <i>_lado</i>. Hasta aquí todo bien.</span>
<span style="font-family: Times New Roman;">
</span><br />
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 10pt;">
<span style="font-size: 12pt; mso-ascii-font-family: Calibri; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES; mso-hansi-font-family: Calibri;">Si le pedimos al objeto cuadrado el valor de su Area,
el descriptor get, obtendrá el valor de _lado y lo multiplicará por si mismo,
obteniendo el Area que solicitamos.</span>
</div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 10pt;">
<span style="font-size: 12pt; mso-ascii-font-family: Calibri; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES; mso-hansi-font-family: Calibri;">Si ahora le dijéramos a este objeto que el valor de su
Area es 100, el descriptor set calcularía la raíz cuadrada del área para
asignar al campo _lado este valor, en este caso 10, por tanto al solicitarle
que imprima por pantalla la propiedad Volumen, este ha calculado el nuevo
valor del lado y el nuevo valor del volumen. Este es uno de los poderes
secretos de las propiedades. Fantástico ¿no?</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 10pt;">
<span style="font-size: 12pt; mso-ascii-font-family: Calibri; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES; mso-hansi-font-family: Calibri;">Ahora que sabemos que son las propiedades, más
adelante crearemos algunas más complejas que nos avisen cuando cambie su valor
generando eventos.</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 10pt;">
<span style="font-size: 12pt; mso-ascii-font-family: Calibri; mso-bidi-font-family: "Times New Roman"; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES; mso-hansi-font-family: Calibri;">Saludos “der Waki”</span><span style="font-family: "Times New Roman","serif"; font-size: 12pt; mso-fareast-font-family: "Times New Roman"; mso-fareast-language: ES;"><o:p></o:p></span></div>
<span style="font-family: Times New Roman;">
</span><br />
<div class="MsoNormal" style="margin: 0cm 0cm 10pt;">
<o:p> </o:p></div>
<span style="font-family: Times New Roman;">
</span></span><br /></div>
Joaquin Martínezhttp://www.blogger.com/profile/07166016070485946881noreply@blogger.com0tag:blogger.com,1999:blog-1726059233582515530.post-91507502629565278552014-09-04T19:20:00.000+02:002014-09-04T19:20:01.944+02:009.- Los métodos<div dir="ltr" style="text-align: left;" trbidi="on">
<span style="font-family: Calibri;">Como dijimos, los métodos son las acciones realizadas por el
objeto. En la cuarta entrega, escribíamos con el “lenguaje der Waki” la clase
Vehículo con los métodos Avanzar, Arrancar o Parar. En el método Avanzar le añadíamos la velocidad
hasta la que queríamos que nuestro vehículo llegara.</span><br />
<div class="MsoNormal" style="margin: 0cm 0cm 10pt;">
<span style="font-family: Calibri;">El valor velocidad es el parámetro del método, es el que
aparece en el método, mientras que el argumento es el valor pasado una vez
creado el objeto. Ejemplo.</span></div>
<div class="MsoNormal" style="margin: 0cm 0cm 10pt;">
<span style="font-family: Calibri;">C#</span></div>
<div class="MsoNormal" style="margin: 0cm 0cm 10pt;">
<span style="color: green; font-family: Consolas; font-size: 9.5pt;">/*
************************************************</span><span style="font-family: Consolas; font-size: 9.5pt;"><o:p></o:p></span></div>
<span style="color: green; font-family: Consolas; font-size: 9.5pt;">* © WAKI 2014</span><span style="font-family: Consolas; font-size: 9.5pt;"><o:p></o:p></span><br />
<span style="color: green; font-family: Consolas; font-size: 9.5pt;">* PROYECTO:<span style="mso-spacerun: yes;"> </span>Aprender a Programar.</span><span style="font-family: Consolas; font-size: 9.5pt;"><o:p></o:p></span><br />
<span style="color: green; font-family: Consolas; font-size: 9.5pt;">* Archivo:<span style="mso-spacerun: yes;"> </span>Program.cs</span><span style="font-family: Consolas; font-size: 9.5pt;"><o:p></o:p></span><br />
<span style="color: green; font-family: Consolas; font-size: 9.5pt;">* Descripción:<span style="mso-spacerun: yes;"> </span>Clase Main y Vehículo <span style="mso-spacerun: yes;"> </span></span><span style="font-family: Consolas; font-size: 9.5pt;"><o:p></o:p></span><br />
<span lang="EN-US" style="color: green; font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">*
Historial:<span style="mso-spacerun: yes;"> </span></span><span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><o:p></o:p></span><br />
<span lang="EN-US" style="color: green; font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">*
Comentarios:</span><span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><o:p></o:p></span><br />
<span lang="EN-US" style="color: green; font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">*</span><span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><o:p></o:p></span><br />
<span lang="EN-US" style="color: green; font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">****************************************************/</span><span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><o:p></o:p></span><br />
<span lang="EN-US" style="color: blue; font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">using</span><span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">
System;<o:p></o:p></span><br />
<span lang="EN-US" style="color: blue; font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">namespace</span><span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">
MyNameSpace<o:p></o:p></span><br />
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">{</span><br />
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">class</span> <span style="color: #2b91af;">MyApp</span><o:p></o:p></span></div>
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span>{<o:p></o:p></span><br />
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">static</span> <span style="color: blue;">void</span> Main(<span style="color: blue;">string</span>[]
args)<o:p></o:p></span><br />
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span></span><span style="font-family: Consolas; font-size: 9.5pt;">{<o:p></o:p></span><br />
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span><span style="color: #2b91af;">Console</span>.WriteLine (<span style="color: #a31515;">"Comienza
la App ==>"</span>);<o:p></o:p></span><br />
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span><span style="color: #2b91af;">Vehiculo</span> miVehiculo = <span style="color: blue;">new</span>
<span style="color: #2b91af;">Vehiculo</span>();</span><br />
<span style="font-family: Consolas; font-size: 9.5pt;"><o:p></o:p></span><br />
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;">
</span>miVehiculo.Avanzar(50); <span style="color: green;">// esto hace avanzar
el vehículo hasta los 50km/h. 50 es el ARGUMENTO</span><o:p></o:p></span><br />
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span><span style="color: #2b91af;">Console</span>.WriteLine (<span style="color: #a31515;">"Pulse
una tecla para frenar el vehículo..."</span>);<o:p></o:p></span><br />
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span><span style="mso-spacerun: yes;"> </span><span style="color: #2b91af;">Console</span>.ReadLine();<o:p></o:p></span><br />
<br />
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;">
</span>miVehiculo.Avanzar(0); <span style="color: green;">// esto hace parar. 0
es el ARGUMENTO</span><o:p></o:p></span></div>
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span><span style="color: #2b91af;">Console</span>.WriteLine(<span style="color: #a31515;">"Pulse
INTRO para finalizar.."</span>);<o:p></o:p></span><br />
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span></span><span lang="EN-US" style="color: #2b91af; font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">Console</span><span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">.ReadLine();<o:p></o:p></span><br />
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span>}<o:p></o:p></span><br />
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span>}<o:p></o:p></span><br />
<br />
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">class</span> <span style="color: #2b91af;">Vehiculo</span><o:p></o:p></span></div>
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span>{</span><br />
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">public</span>
Vehiculo()<o:p></o:p></span></div>
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span></span><span style="font-family: Consolas; font-size: 9.5pt;">{<o:p></o:p></span><br />
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span><span style="color: green;">// código utilizado al instanciar la clase</span><o:p></o:p></span><br />
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span>}<o:p></o:p></span><br />
<br />
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">public</span> <span style="color: blue;">void</span> Avanzar(<span style="color: blue;">int</span> kmHora)<o:p></o:p></span></div>
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span>{<o:p></o:p></span><br />
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span><span style="color: green;">// kmHora es el parámetro tipo número entero del método
Avanzar</span><o:p></o:p></span><br />
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span><span style="color: #2b91af;">Console</span>.WriteLine(<span style="color: #a31515;">"La
velocidad del vehículo es de "</span> + kmHora.ToString() + <span style="color: #a31515;">" km/h"</span>);<o:p></o:p></span><br />
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span></span><span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">}<o:p></o:p></span><br />
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span>}<o:p></o:p></span><br />
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">}<o:p></o:p></span><br />
<br />
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">VB.NET<o:p></o:p></span></div>
<span style="color: green; font-family: Consolas; font-size: 9.5pt;">'
************************************************</span><span style="font-family: Consolas; font-size: 9.5pt;"><o:p></o:p></span><br />
<span style="color: green; font-family: Consolas; font-size: 9.5pt;">'* © WAKI 2014</span><span style="font-family: Consolas; font-size: 9.5pt;"><o:p></o:p></span><br />
<span style="color: green; font-family: Consolas; font-size: 9.5pt;">'* PROYECTO:<span style="mso-spacerun: yes;"> </span>Aprender a Programar.</span><span style="font-family: Consolas; font-size: 9.5pt;"><o:p></o:p></span><br />
<span style="color: green; font-family: Consolas; font-size: 9.5pt;">'* Archivo:<span style="mso-spacerun: yes;"> </span>Program.cs</span><span style="font-family: Consolas; font-size: 9.5pt;"><o:p></o:p></span><br />
<span style="color: green; font-family: Consolas; font-size: 9.5pt;">'* Descripción:<span style="mso-spacerun: yes;"> </span>Clase Main y Vehículo<span style="mso-spacerun: yes;"> </span></span><span style="font-family: Consolas; font-size: 9.5pt;"><o:p></o:p></span><br />
<span style="color: green; font-family: Consolas; font-size: 9.5pt;">'* Historial:<span style="mso-spacerun: yes;"> </span></span><span style="font-family: Consolas; font-size: 9.5pt;"><o:p></o:p></span><br />
<span style="color: green; font-family: Consolas; font-size: 9.5pt;">'* Comentarios:</span><span style="font-family: Consolas; font-size: 9.5pt;"><o:p></o:p></span><br />
<span style="color: green; font-family: Consolas; font-size: 9.5pt;">'*</span><span style="font-family: Consolas; font-size: 9.5pt;"><o:p></o:p></span><br />
<span lang="EN-US" style="color: green; font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">'***************************************************</span><span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><o:p></o:p></span><br />
<br />
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="color: blue; font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">Namespace</span><span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">
MyNameSpace<o:p></o:p></span></div>
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">Class</span> <span style="color: #2b91af;">MyApp</span><o:p></o:p></span><br />
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">Private</span>
<span style="color: blue;">Shared</span> <span style="color: blue;">Sub</span>
Main(args <span style="color: blue;">As</span> <span style="color: blue;">String</span>())<o:p></o:p></span><br />
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span><span style="color: #2b91af;">Console</span>.WriteLine(<span style="color: #a31515;">"Comienza
la App ==>"</span>)<o:p></o:p></span><br />
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span></span><span lang="EN-US" style="color: blue; font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">Dim</span><span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"> miVehiculo <span style="color: blue;">As</span> <span style="color: blue;">New</span> <span style="color: #2b91af;">Vehiculo</span>()<o:p></o:p></span><br />
<br />
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span></span><span style="font-family: Consolas; font-size: 9.5pt;">miVehiculo.Avanzar(50)<o:p></o:p></span></div>
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span><span style="color: green;">' esto hace avanzar el vehículo hasta los 50km/h. 50 es el
ARGUMENTO</span><o:p></o:p></span><br />
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span><span style="color: #2b91af;">Console</span>.WriteLine(<span style="color: #a31515;">"Pulse
una tecla para frenar el vehículo..."</span>)<o:p></o:p></span><br />
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span><span style="color: #2b91af;">Console</span>.ReadLine()<o:p></o:p></span><br />
<br />
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;">
</span>miVehiculo.Avanzar(0)<o:p></o:p></span></div>
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span><span style="color: green;">' esto hace parar. 0 es el ARGUMENTO</span><o:p></o:p></span><br />
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span><span style="color: #2b91af;">Console</span>.WriteLine(<span style="color: #a31515;">"Pulse
INTRO para finalizar.."</span>)<o:p></o:p></span><br />
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span></span><span lang="EN-US" style="color: #2b91af; font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">Console</span><span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">.ReadLine()<o:p></o:p></span><br />
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">End</span> <span style="color: blue;">Sub</span><o:p></o:p></span><br />
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">End</span> <span style="color: blue;">Class</span><o:p></o:p></span><br />
<br />
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><o:p> </o:p></span><span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span></span><span style="color: blue; font-family: Consolas; font-size: 9.5pt;">Class</span><span style="font-family: Consolas; font-size: 9.5pt;"> <span style="color: #2b91af;">Vehiculo</span><o:p></o:p></span></div>
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span><span style="color: green;">' código utilizado al instanciar la clase</span><o:p></o:p></span><br />
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span></span><span lang="EN-US" style="color: blue; font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">Public</span><span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"> <span style="color: blue;">Sub</span> <span style="color: blue;">New</span>()<o:p></o:p></span><br />
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">End</span> <span style="color: blue;">Sub</span></span><br />
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="color: blue;"></span><o:p></o:p></span><br />
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><o:p> </o:p></span><span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">Public</span> <span style="color: blue;">Sub</span> Avanzar(kmHora <span style="color: blue;">As</span>
<span style="color: blue;">Integer</span>)<o:p></o:p></span><br />
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span></span><span style="color: green; font-family: Consolas; font-size: 9.5pt;">' kmHora es el parámetro tipo número entero
del método Avanzar</span><span style="font-family: Consolas; font-size: 9.5pt;"><o:p></o:p></span><br />
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span><span style="color: #2b91af;">Console</span>.WriteLine(<span style="color: #a31515;">"La
velocidad del vehículo es de "</span> & kmHora.ToString() & <span style="color: #a31515;">" km/h"</span>)<o:p></o:p></span><br />
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span></span><span lang="EN-US" style="color: blue; font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">End</span><span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"> <span style="color: blue;">Sub</span><o:p></o:p></span><br />
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">End</span> <span style="color: blue;">Class</span><o:p></o:p></span><br />
<span lang="EN-US" style="color: blue; font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">End</span><span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">
<span style="color: blue;">Namespace</span><o:p></o:p></span><br />
<br />
<div class="MsoNormal" style="margin: 0cm 0cm 10pt;">
<span style="font-family: Calibri;">Analizando código…</span></div>
<ol style="text-align: left;">
<li><div class="MsoListParagraphCxSpFirst" style="margin: 0cm 0cm 0pt 36pt; mso-list: l1 level1 lfo1; text-indent: -18pt;">
<!--[if !supportLists]--><!--[endif]--><span style="font-family: Calibri;">Escribimos en<span style="mso-spacerun: yes;">
</span>la consola “Comienza App ==>”</span></div>
</li>
<li><div class="MsoListParagraphCxSpFirst" style="margin: 0cm 0cm 0pt 36pt; mso-list: l1 level1 lfo1; text-indent: -18pt;">
<span style="font-family: Calibri;">Cre</span><span style="font-family: Calibri;">amos el objeto miVehiculo</span></div>
</li>
<li><div class="MsoListParagraphCxSpFirst" style="margin: 0cm 0cm 0pt 36pt; mso-list: l1 level1 lfo1; text-indent: -18pt;">
<!--[endif]--><span style="font-family: Calibri;">Llamamos al método Avanzar de miVehículo pasando
el argumento 50</span></div>
</li>
<li><div class="MsoListParagraphCxSpFirst" style="margin: 0cm 0cm 0pt 36pt; mso-list: l1 level1 lfo1; text-indent: -18pt;">
<!--[endif]--><span style="font-family: Calibri;">Se visualiza en la consola “La velocidad del
vehículo es de 50 Km/h”</span></div>
</li>
<li><div class="MsoListParagraphCxSpFirst" style="margin: 0cm 0cm 0pt 36pt; mso-list: l1 level1 lfo1; text-indent: -18pt;">
<!--[endif]--><span style="font-family: Calibri;">Escribimos en la consola “Pulse una tecla para
frenar el vehículo...”</span></div>
</li>
<li><div class="MsoListParagraphCxSpFirst" style="margin: 0cm 0cm 0pt 36pt; mso-list: l1 level1 lfo1; text-indent: -18pt;">
<!--[endif]--><span style="font-family: Calibri;">Al pulsar INTRO, llamamos de nuevo al método Avanzar
de miVehículo pasando el argumento 0</span></div>
</li>
<li><div class="MsoListParagraphCxSpFirst" style="margin: 0cm 0cm 0pt 36pt; mso-list: l1 level1 lfo1; text-indent: -18pt;">
<!--[endif]--><span style="font-family: Calibri;">Se visualiza en la consola “La velocidad del
vehículo es de 0 Km/h”</span></div>
</li>
<li><div class="MsoListParagraphCxSpFirst" style="margin: 0cm 0cm 0pt 36pt; mso-list: l1 level1 lfo1; text-indent: -18pt;">
<!--[endif]--><span style="font-family: Calibri;">Al pulsar INTRO finalizamos.</span></div>
</li>
</ol>
<div class="MsoNormal" style="margin: 0cm 0cm 10pt;">
<span style="font-family: Calibri;">Nota: Solo hay detalle nuevo que se nos pasa por alto y es
que en C# ¿se suman las palabras?. El texto se concatena en C# mediante el
signo + mientras que en VB.NET es mediante el signo &. Estos son operadores
y los hay a miles (no tantos Waki!).</span></div>
<div class="MsoNormal" style="margin: 0cm 0cm 10pt;">
<span style="font-family: Calibri;">Un método puede contener<span style="mso-spacerun: yes;">
</span>múltiples parámetros y de cualquier índole. Podría crear una clase a la
que pasará como un argumento un objeto tipo Vehículo, cualquier objeto admite,
ahora si, si la clase o el método tiene como parámetros un objetos tipo
Vehículo, solo y exclusivamente podemos pasarle este tipo de objeto y no un
número del tipo </span><span style="color: blue; font-family: Consolas; line-height: 115%;">int, Integer</span><span style="font-family: Consolas; line-height: 115%;"> </span><span style="font-family: Calibri;">o entero, un <span style="color: blue; font-family: Consolas;">string</span><span style="font-family: Consolas; line-height: 115%;"> </span><span style="font-family: Calibri;"></span>o cadena, <span style="color: blue; font-family: Consolas;">boolean</span><span style="font-family: Consolas; line-height: 115%;"> <span style="font-family: Calibri;">o booleano, etc</span>.</span></span></div>
<div class="MsoNormal" style="margin: 0cm 0cm 10pt;">
<span style="font-family: Calibri;">Más cosas con los métodos, podemos crear métodos con el
mismo nombre pero con distinto tipo de parámetros. <span style="mso-spacerun: yes;"> </span>Esto se llama sobrecarga y permite utilizar un
mismo método de diferente forma como en la vida misma o ¿nosotros caminamos
siempre del mismo modo?, <span style="mso-spacerun: yes;"> </span>a pesar de que
el método caminar es el mismo, podemos hacerlo calzados o descalzados (con lo
que variaría la velocidad), el tipo de calzado, hacia atrás, hacia adelante,
etc. Expongo un ejemplo.</span></div>
<div class="MsoNormal" style="margin: 0cm 0cm 10pt;">
<span style="font-family: Calibri;">C#</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="color: blue; font-family: Consolas; font-size: 9.5pt;">public</span><span style="font-family: Consolas; font-size: 9.5pt;"> <span style="color: blue;">void</span> Avanzar(<span style="color: blue;">int</span> kmHora)<o:p></o:p></span></div>
<span style="font-family: Consolas; font-size: 9.5pt;">{<o:p></o:p></span><br />
<span style="color: green; font-family: Consolas; font-size: 9.5pt;"> // kmHora es el parámetro
tipo número entero del método Avanzar</span><span style="font-family: Consolas; font-size: 9.5pt;"><o:p></o:p></span><br />
<span style="color: #2b91af; font-family: Consolas; font-size: 9.5pt;"> Console</span><span style="font-family: Consolas; font-size: 9.5pt;">.WriteLine(<span style="color: #a31515;">"La velocidad del vehículo es de "</span>
+<span style="mso-spacerun: yes;"> </span>KmHora.ToString() + <span style="color: #a31515;">" km/h"</span>);<o:p></o:p></span><br />
<span style="font-family: Consolas; font-size: 9.5pt;">}<o:p></o:p></span><br />
<br />
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="color: blue; font-family: Consolas; font-size: 9.5pt;">public</span><span style="font-family: Consolas; font-size: 9.5pt;"> <span style="color: blue;">void</span> Avanzar()<o:p></o:p></span></div>
<span style="font-family: Consolas; font-size: 9.5pt;">{<o:p></o:p></span><br />
<span style="color: green; font-family: Consolas; font-size: 9.5pt;"> // avanza hasta los 50
Km/h como valor predeterminado</span><span style="font-family: Consolas; font-size: 9.5pt;"><o:p></o:p></span><br />
<span style="color: #2b91af; font-family: Consolas; font-size: 9.5pt;"> Console</span><span style="font-family: Consolas; font-size: 9.5pt;">.WriteLine(<span style="color: #a31515;">"La velocidad del vehículo es de 50 km/h"</span>);<o:p></o:p></span><br />
<span style="font-family: Consolas; font-size: 9.5pt;">}<o:p></o:p></span><br />
<br />
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="color: blue; font-family: Consolas; font-size: 9.5pt;">public</span><span style="font-family: Consolas; font-size: 9.5pt;"> <span style="color: blue;">void</span> Avanzar(<span style="color: blue;">int</span> kmHora, <span style="color: blue;">bool</span>
limitarA120)<o:p></o:p></span></div>
<span style="font-family: Consolas; font-size: 9.5pt;">{<o:p></o:p></span><br />
<span style="color: green; font-family: Consolas; font-size: 9.5pt;"> // kmHora es el parámetro
tipo número entero del método Avanzar</span><br />
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none; text-indent: 35.4pt;">
<span style="color: green; font-family: Consolas; font-size: 9.5pt;">// limitarA120 no
permite que pase de 120 km/h</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none; text-indent: 35.4pt;">
<span style="color: blue; font-family: Consolas; font-size: 9.5pt;">if</span><span style="font-family: Consolas; font-size: 9.5pt;"> (limitarA120 && kmHora
> 120)</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none; text-indent: 35.4pt;">
<span style="font-family: Consolas; font-size: 9.5pt;">{</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt 35.4pt; mso-layout-grid-align: none; text-indent: 35.4pt;">
<span style="font-family: Consolas; font-size: 9.5pt;">kmHora = 120;</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none; text-indent: 35.4pt;">
<span style="font-family: Consolas; font-size: 9.5pt;">}<o:p></o:p></span></div>
<span style="color: #2b91af; font-family: Consolas; font-size: 9.5pt;"> Console</span><span style="font-family: Consolas; font-size: 9.5pt;">.WriteLine(<span style="color: #a31515;">"La velocidad del vehículo es de "</span> +
kmHora.ToString() + <span style="color: #a31515;">" km/h"</span>);</span><br />
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;">}<o:p></o:p></span></div>
<br />
<div class="MsoNormal" style="margin: 0cm 0cm 10pt;">
<o:p><span style="font-family: Calibri;"> </span></o:p><span style="font-family: Calibri;">VB.NET</span></div>
<span style="color: blue; font-family: Consolas; font-size: 9.5pt;">Public</span><span style="font-family: Consolas; font-size: 9.5pt;"> <span style="color: blue;">Sub</span> Avanzar(kmHora
<span style="color: blue;">As</span> <span style="color: blue;">Integer</span>)</span><br />
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span><span style="color: green;">' kmHora es el parámetro tipo número entero del método
Avanzar</span></span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span><span style="color: #2b91af;">Console</span>.WriteLine(<span style="color: #a31515;">"La
velocidad del vehículo es de "</span> & kmHora.ToString() & <span style="color: #a31515;">" km/h"</span>)</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="color: blue; font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">End</span><span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">
<span style="color: blue;">Sub</span><o:p></o:p></span></div>
<br />
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="color: blue; font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">Public</span><span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">
<span style="color: blue;">Sub</span> Avanzar()</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span></span><span style="color: green; font-family: Consolas; font-size: 9.5pt;">' avanza hasta los 50 Km/h como valor
predeterminado</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span><span style="color: #2b91af;">Console</span>.WriteLine(<span style="color: #a31515;">"La
velocidad del vehículo es de 50 km/h"</span>)</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="color: blue; font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">End</span><span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">
<span style="color: blue;">Sub</span><o:p></o:p></span></div>
<br />
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="color: blue; font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">Public</span><span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">
<span style="color: blue;">Sub</span> Avanzar(kmHora <span style="color: blue;">As</span>
<span style="color: blue;">Integer</span>, limitarA120 <span style="color: blue;">As</span>
<span style="color: blue;">Boolean</span>)</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span></span><span style="color: green; font-family: Consolas; font-size: 9.5pt;">' kmHora es el parámetro tipo número entero
del método Avanzar</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span><span style="color: green;">' limitarA120 no permite que pase de 120 km/h</span></span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span></span><span lang="EN-US" style="color: blue; font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">If</span><span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"> limitarA120 <span style="color: blue;">AndAlso</span>
kmHora > 120 <span style="color: blue;">Then</span></span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span>kmHora = 120</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">End</span> <span style="color: blue;">If</span><o:p></o:p></span></div>
<br />
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span></span><span style="color: #2b91af; font-family: Consolas; font-size: 9.5pt;">Console</span><span style="font-family: Consolas; font-size: 9.5pt;">.WriteLine(<span style="color: #a31515;">"La velocidad
del vehículo es de "</span> & kmHora.ToString() & <span style="color: #a31515;">" km/h"</span>)</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="color: blue; font-family: Consolas; font-size: 9.5pt;">End</span><span style="font-family: Consolas; font-size: 9.5pt;"> <span style="color: blue;">Sub</span><o:p></o:p></span></div>
<br />
<div class="MsoNormal" style="margin: 0cm 0cm 10pt;">
<span style="font-family: Calibri;">Tres métodos Avanzar pero con distintos parámetros. El primero
permite llevar al vehículo a una velocidad concreta, el segundo lleva al
vehículo a una velocidad predeterminada y el tercero lleva un parámetros que
nos va a permitir limitar la velocidad a 120 Km/h.<span style="mso-spacerun: yes;"> </span>Si el segundo argumento pasado <span style="mso-spacerun: yes;"> </span>(parámetro </span><i style="mso-bidi-font-style: normal;"><span style="font-family: Consolas; font-size: 9.5pt; line-height: 115%;">limitarA120),</span></i><span style="font-family: Consolas; font-size: 9.5pt; line-height: 115%;"> </span><span style="font-family: Calibri;">tiene un
valor <i style="mso-bidi-font-style: normal;">false</i>, (falso), se comporta
como el método primero, pero si el argumento pasado tiene un valor <i style="mso-bidi-font-style: normal;">true</i>, (verdadero), el método limitará la
velocidad a 120. ¿Cómo?<span style="mso-spacerun: yes;"> </span>Mediante el
fragmento if o If…</span></div>
<br />
<div class="MsoNormal" style="margin: 0cm 0cm 10pt;">
<span style="font-family: Calibri;">La instrucción <i style="mso-bidi-font-style: normal;">if</i>
para C# o <i style="mso-bidi-font-style: normal;">If…Then</i> para VB.NET tiene
muchas variantes, pero esta es la más sencilla. Lo primero que hace es efectuar
una comparación booleana, quiere decir que se obtendrá un Sí o un No, un
Verdadero o un Falso, un true o un false. Dentro de esta condición hacemos otra
comparación mediante el operador </span><span style="color: blue; font-family: Consolas; font-size: 9.5pt; line-height: 115%;">&&</span><span style="font-family: Calibri;"> o </span><span style="color: blue; font-family: Consolas; font-size: 9.5pt; line-height: 115%;">AndAlso</span><span style="font-family: Consolas; font-size: 9.5pt; line-height: 115%;"> </span><span style="font-family: Calibri;">que es el
operador equivalente a decir <b style="mso-bidi-font-weight: normal;">Y</b>; en
el método preguntamos, ¿es verdadero el argumento pasado<span style="mso-spacerun: yes;"> </span></span><i style="mso-bidi-font-style: normal;"><span style="font-family: Consolas; font-size: 9.5pt; line-height: 115%;">limitarA120</span></i><span style="font-family: Consolas; font-size: 9.5pt; line-height: 115%;">?<i style="mso-bidi-font-style: normal;"> </i></span><span style="font-family: Calibri;"><b style="mso-bidi-font-weight: normal;">Y</b> <b style="mso-bidi-font-weight: normal;">además</b> ¿es verdadero
que el argumento pasado de velocidad es mayor que 120? Pues si esto es
verdadero, se limitará la velocidad a 120 Km/h, pero si alguno de las
condiciones de la instrucción if no se cumple, el argumento limitar es falso o
la velocidad es inferior a 120, pues no se limitará. ¿OK? Pues tan útil como ya
he dicho se llama sobrecarga de métodos.</span></div>
<br />
<div class="MsoNormal" style="margin: 0cm 0cm 10pt;">
<span style="font-family: Calibri;">Por último, los métodos también pueden devolver valores. Si
le pedimos a una calculadora que sume dos número, primero nos solicitará los
dos números y luego el método suma, devolverá un resultado con las dos cantidades
sumadas, bien, pues a un método por ejemplo le pasamos dos argumentos y este,
devuelve la suma de ambos. En VB.NET los métodos que devuelven valores se
llaman funciones. Ejemplos es lo que nos hace falta!. Vamos a convertir los
tres métodos del ejemplo anterior pero devolviendo el texto que escribimos en
la consola, evitando incluir Console.WriteLine en cada método.</span></div>
<br />
<div class="MsoNormal" style="margin: 0cm 0cm 10pt;">
<span style="font-family: Calibri;">C#</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="color: green; font-family: Consolas; font-size: 9.5pt;">/*
************************************************</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="color: green; font-family: Consolas; font-size: 9.5pt;">* © WAKI 2014</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="color: green; font-family: Consolas; font-size: 9.5pt;">* PROYECTO:<span style="mso-spacerun: yes;"> </span>Aprender a Programar.</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="color: green; font-family: Consolas; font-size: 9.5pt;">* Archivo:<span style="mso-spacerun: yes;"> </span>Program.cs</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="color: green; font-family: Consolas; font-size: 9.5pt;">* Descripción:<span style="mso-spacerun: yes;"> </span>Clase Main y Vehículo<span style="mso-spacerun: yes;"> </span></span><span style="font-family: Consolas; font-size: 9.5pt;"><o:p></o:p></span></div>
<span lang="EN-US" style="color: green; font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">*
Historial:<span style="mso-spacerun: yes;"> </span></span><span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><o:p></o:p></span><br />
<span lang="EN-US" style="color: green; font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">*
Comentarios:</span><span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><o:p></o:p></span><br />
<span lang="EN-US" style="color: green; font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">*</span><span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><o:p></o:p></span><br />
<span lang="EN-US" style="color: green; font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">****************************************************/</span><span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><o:p></o:p></span><br />
<br />
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="color: blue; font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">using</span><span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">
System;</span><span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><o:p> </o:p></span></div>
<span lang="EN-US" style="color: blue; font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">namespace</span><span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">
MyNameSpace</span><br />
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">{</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">class</span> <span style="color: #2b91af;">MyApp</span></span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span>{</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">static</span> <span style="color: blue;">void</span> Main(<span style="color: blue;">string</span>[]
args)</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span></span><span style="font-family: Consolas; font-size: 9.5pt;">{</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span><span style="color: #2b91af;">Console</span>.WriteLine (<span style="color: #a31515;">"Comienza
la App"</span>);</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span><span style="color: #2b91af;">Vehiculo</span> miVehiculo = <span style="color: blue;">new</span>
<span style="color: #2b91af;">Vehiculo</span>();</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"></span> </div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">string</span> textoDeSalida = miVehiculo.Avanzar(90); <span style="color: green;">// esto hace avanzar el vehículo hasta los 90km/h. 90 es el
ARGUMENTO</span></span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span><span style="color: #2b91af;">Console</span>.WriteLine(textoDeSalida);<span style="mso-spacerun: yes;"> </span><span style="color: green;">// Aquí se imprime
el texto devuelto por los métodos</span></span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span><span style="color: #2b91af;">Console</span>.WriteLine (<span style="color: #a31515;">"Pulse
una tecla para frenar el vehículo..."</span>);<o:p></o:p></span></div>
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span><span style="color: #2b91af;">Console</span>.ReadLine();</span><br />
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;">
</span>textoDeSalida = miVehiculo.Avanzar(0); <span style="color: green;">// esto
hace parar. 0 es el ARGUMENTO</span></span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span><span style="color: #2b91af;">Console</span>.WriteLine(textoDeSalida);<span style="mso-spacerun: yes;"> </span><span style="color: green;">// Aquí se imprime
el texto devuelto por los métodos</span></span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span><span style="color: #2b91af;">Console</span>.WriteLine(<span style="color: #a31515;">"Pulse
una tecla para activar velocidad predeterminada..."</span>);<o:p></o:p></span></div>
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span><span style="color: #2b91af;">Console</span>.ReadLine();</span><br />
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;">
</span>textoDeSalida = miVehiculo.Avanzar(); <span style="color: green;">// esto
hace parar. 0 es el ARGUMENTO</span></span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span><span style="color: #2b91af;">Console</span>.WriteLine(textoDeSalida);<span style="mso-spacerun: yes;"> </span><span style="color: green;">// Aquí se imprime
el texto devuelto por los métodos</span></span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span><span style="color: #2b91af;">Console</span>.WriteLine(<span style="color: #a31515;">"Pulse
una tecla para limitar velocidad..."</span>);</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span><span style="color: #2b91af;">Console</span>.ReadLine();</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;">
</span>textoDeSalida = miVehiculo.Avanzar(150,<span style="color: blue;">true</span>);
<span style="color: green;">// velocidad a 150 km/h y limitador activado</span></span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span><span style="color: #2b91af;">Console</span>.WriteLine(textoDeSalida);<span style="mso-spacerun: yes;"> </span><span style="color: green;">// Aquí se imprime
el texto devuelto por los métodos</span></span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span><span style="color: #2b91af;">Console</span>.WriteLine(<span style="color: #a31515;">"Pulse
INTRO para finalizar.."</span>);</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span></span><span lang="EN-US" style="color: #2b91af; font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">Console</span><span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">.ReadLine();</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span>}</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span>}</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><o:p> </o:p></span></div>
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">class</span> <span style="color: #2b91af;">Vehiculo</span></span><br />
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span>{</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">public</span>
Vehiculo()</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span></span><span style="font-family: Consolas; font-size: 9.5pt;">{</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span><span style="color: green;">// código utilizado al instanciar la clase</span></span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span></span><span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">}</span></div>
<br />
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">public</span> <span style="color: blue;">string</span> Avanzar(<span style="color: blue;">int</span>
kmHora)</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span></span><span style="font-family: Consolas; font-size: 9.5pt;">{</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span><span style="color: green;">// kmHora es el parámetro tipo número entero del método
Avanzar</span></span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">return</span> <span style="color: #a31515;">"La velocidad
del vehículo es de "</span> + kmHora.ToString() + <span style="color: #a31515;">"
km/h"</span>;</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span>}</span><span style="font-family: Consolas; font-size: 9.5pt;"><o:p> </o:p></span></div>
<br />
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">public</span> <span style="color: blue;">string</span>
Avanzar()</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span>{</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span><span style="color: green;">// avanza hasta los 50 Km/h como valor predeterminado</span></span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">return</span> <span style="color: #a31515;">"La velocidad
del vehículo es de 50 km/h"</span>;</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span>}</span><span style="font-family: Consolas; font-size: 9.5pt;"><o:p> </o:p></span></div>
<br />
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">public</span> <span style="color: blue;">string</span>
Avanzar(<span style="color: blue;">int</span> kmHora, <span style="color: blue;">bool</span>
limitarA120)</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span>{</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span><span style="color: green;">// kmHora es el parámetro tipo número entero del método
Avanzar</span></span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span><span style="color: green;">// limitarA120 no permite que pase de 120 km/h</span></span><span style="font-family: Consolas; font-size: 9.5pt;"><o:p> </o:p></span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">string</span> textoDeSalida = <span style="color: #a31515;">"La
velocidad del vehículo es de "</span>;</span><span style="font-family: Consolas; font-size: 9.5pt;"><o:p> </o:p></span></div>
<br />
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">if</span> (limitarA120 && kmHora > 120)</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span>{</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;">
</span>textoDeSalida = <span style="color: #a31515;">"La velocidad del vehículo
era de "</span> + kmHora + <span style="color: #a31515;">" Km/h, pero
ahora es de "</span>;</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;">
</span>kmHora = 120;</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span>}<o:p></o:p></span></div>
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">return</span><span style="mso-spacerun: yes;">
</span>textoDeSalida + kmHora.ToString() + <span style="color: #a31515;">"
km/h"</span>;</span><br />
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span>}</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span>}</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;">}<o:p></o:p></span></div>
<br />
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;">VB.NET</span><span style="font-family: Consolas; font-size: 9.5pt;"><o:p> </o:p></span></div>
<br />
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="color: green; font-family: Consolas; font-size: 9.5pt;">/*
************************************************</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="color: green; font-family: Consolas; font-size: 9.5pt;"></span><span style="color: green; font-family: Consolas; font-size: 9.5pt;">* © WAKI 2014</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="color: green; font-family: Consolas; font-size: 9.5pt;"></span><span style="color: green; font-family: Consolas; font-size: 9.5pt;">* PROYECTO:<span style="mso-spacerun: yes;"> </span>Aprender a Programar.</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="color: green; font-family: Consolas; font-size: 9.5pt;">* Archivo:<span style="mso-spacerun: yes;"> </span>Program.cs</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="color: green; font-family: Consolas; font-size: 9.5pt;">* Descripción:<span style="mso-spacerun: yes;"> </span>Clase Main y Vehículo</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="color: green; font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">*
Historial:<span style="mso-spacerun: yes;"> </span></span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="color: green; font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">*
Comentarios:</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="color: green; font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">*</span><span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><o:p></o:p></span></div>
<span lang="EN-US" style="color: green; font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">****************************************************/</span><br />
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="color: blue; font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">using</span><span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">
System;</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="color: blue; font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">namespace</span><span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">
MyNameSpace</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">{</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">class</span> <span style="color: #2b91af;">MyApp</span></span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span>{</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">static</span> <span style="color: blue;">void</span> Main(<span style="color: blue;">string</span>[]
args)</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span><span style="mso-spacerun: yes;"> </span></span><span style="font-family: Consolas; font-size: 9.5pt;">{</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span><span style="color: #2b91af;">Console</span>.WriteLine (<span style="color: #a31515;">"Comienza
la App"</span>);</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span><span style="color: #2b91af;">Vehiculo</span> miVehiculo = <span style="color: blue;">new</span>
<span style="color: #2b91af;">Vehiculo</span>();</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"></span> </div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">string</span> textoDeSalida = miVehiculo.Avanzar(90); <span style="color: green;">// esto hace avanzar el vehículo hasta los 90km/h. 90 es el
ARGUMENTO</span></span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span><span style="color: #2b91af;">Console</span>.WriteLine(textoDeSalida);<span style="mso-spacerun: yes;"> </span><span style="color: green;">// Aquí se imprime
el texto devuelto por los métodos</span></span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span><span style="color: #2b91af;">Console</span>.WriteLine (<span style="color: #a31515;">"Pulse
una tecla para frenar el vehículo..."</span>);<o:p></o:p></span></div>
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span><span style="color: #2b91af;">Console</span>.ReadLine();</span><br />
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;">
</span>textoDeSalida = miVehiculo.Avanzar(0); <span style="color: green;">// esto
hace parar. 0 es el ARGUMENTO</span><o:p></o:p></span></div>
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span><span style="color: #2b91af;">Console</span>.WriteLine(textoDeSalida);<span style="mso-spacerun: yes;"> </span><span style="color: green;">// Aquí se imprime
el texto devuelto por los métodos</span></span><br />
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span><span style="color: #2b91af;">Console</span>.WriteLine(<span style="color: #a31515;">"Pulse
una tecla para activar velocidad predeterminada..."</span>);<o:p></o:p></span></div>
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span><span style="color: #2b91af;">Console</span>.ReadLine();</span><br />
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;">
</span>textoDeSalida = miVehiculo.Avanzar(); <span style="color: green;">// esto
hace parar. 0 es el ARGUMENTO</span><o:p></o:p></span></div>
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span><span style="color: #2b91af;">Console</span>.WriteLine(textoDeSalida);<span style="mso-spacerun: yes;"> </span><span style="color: green;">// Aquí se imprime
el texto devuelto por los métodos</span><o:p></o:p></span><br />
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span><span style="color: #2b91af;">Console</span>.WriteLine(<span style="color: #a31515;">"Pulse
una tecla para limitar velocidad..."</span>);</span><br />
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span><span style="color: #2b91af;">Console</span>.ReadLine();</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;">
</span>textoDeSalida = miVehiculo.Avanzar(150,<span style="color: blue;">true</span>);
<span style="color: green;">// velocidad a 150 km/h y limitador activado</span></span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span><span style="color: #2b91af;">Console</span>.WriteLine(textoDeSalida);<span style="mso-spacerun: yes;"> </span><span style="color: green;">// Aquí se imprime
el texto devuelto por los métodos</span></span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span><span style="color: #2b91af;">Console</span>.WriteLine(<span style="color: #a31515;">"Pulse
INTRO para finalizar.."</span>);</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span></span><span lang="EN-US" style="color: #2b91af; font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">Console</span><span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">.ReadLine();</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span>}</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span>}<o:p></o:p></span></div>
<br />
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">class</span> <span style="color: #2b91af;">Vehiculo</span></span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span>{<o:p></o:p></span></div>
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">public</span>
Vehiculo()</span><br />
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span></span><span style="font-family: Consolas; font-size: 9.5pt;">{</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span><span style="color: green;">// código utilizado al instanciar la clase</span></span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span></span><span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">}</span></div>
<br />
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">public</span> <span style="color: blue;">string</span> Avanzar(<span style="color: blue;">int</span>
kmHora)</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span></span><span style="font-family: Consolas; font-size: 9.5pt;">{</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span><span style="color: green;">// kmHora es el parámetro tipo número entero del método
Avanzar</span></span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">return</span> <span style="color: #a31515;">"La velocidad
del vehículo es de "</span> + kmHora.ToString() + <span style="color: #a31515;">"
km/h"</span>;</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span>}</span></div>
<br />
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">public</span> <span style="color: blue;">string</span>
Avanzar()</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span>{</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span><span style="color: green;">// avanza hasta los 50 Km/h como valor predeterminado</span></span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">return</span> <span style="color: #a31515;">"La velocidad
del vehículo es de 50 km/h"</span>;</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span>}</span><span style="font-family: Consolas; font-size: 9.5pt;"><o:p> </o:p></span></div>
<br />
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">public</span> <span style="color: blue;">string</span>
Avanzar(<span style="color: blue;">int</span> kmHora, <span style="color: blue;">bool</span>
limitarA120)</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span>{</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span><span style="color: green;">// kmHora es el parámetro tipo número entero del método
Avanzar</span></span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span><span style="color: green;">// limitarA120 no permite que pase de 120 km/h</span></span><span style="font-family: Consolas; font-size: 9.5pt;"><o:p> </o:p></span></div>
<br />
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">string</span> textoDeSalida = <span style="color: #a31515;">"La
velocidad del vehículo es de "</span>;</span></div>
<br />
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">if</span> (limitarA120 && kmHora > 120)</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span>{</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;">
</span>textoDeSalida = <span style="color: #a31515;">"La velocidad del vehículo
era de "</span> + kmHora + <span style="color: #a31515;">" Km/h, pero
ahora es de "</span>;</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;">
</span>kmHora = 120;</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"></span><span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span>}</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">return</span><span style="mso-spacerun: yes;">
</span>textoDeSalida + kmHora.ToString() + <span style="color: #a31515;">"
km/h"</span>;</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span>}</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span>}</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;">}<o:p></o:p></span></div>
<br />
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Calibri;">Analizando código… en el
método Main, ocurre lo siguiente:</span></div>
<ol style="text-align: left;">
<li>
<span style="font-family: Calibri;">Escribimos en<span style="mso-spacerun: yes;">
</span>la consola “Comienza App ==>”</span></li>
<li><span style="font-family: Calibri;">C</span><span style="font-family: Calibri;">reamos el objeto miVehiculo</span></li>
<li><!--[endif]--><span style="font-family: Calibri;">Llamamos al método Avanzar(90) de miVehículo pasando
el argumento 90</span></li>
<li><!--[endif]--><span style="font-family: Calibri;">Se visualiza en la consola “La velocidad del
vehículo es de 90 Km/h”</span></li>
<li><!--[endif]--><span style="font-family: Calibri;">Escribimos en la consola “Pulse una tecla para
frenar el vehículo...”</span></li>
<li><!--[endif]--><span style="font-family: Calibri;">Al pulsar INTRO, llamamos de nuevo al método Avanzar(0)
de miVehículo pasando el argumento 0</span></li>
<li><span style="font-family: Calibri;">Se visualiza en la consola “La velocidad del vehículo es de 0 Km/h”</span></li>
<li><!--[endif]--><span style="font-family: Calibri;">Escribimos en la consola “Pulse una tecla para
activar velocidad predeterminada...”</span></li>
<li><!--[endif]--><span style="font-family: Calibri;">Al pulsar INTRO, llamamos de nuevo al método Avanzar()
sin argumentos de miVehiculo.</span></li>
<li><!--[endif]--><span style="font-family: Calibri;">Se visualiza en la consola “La velocidad del
vehículo es de 50 Km/h”</span></li>
<li><span style="font-family: Calibri;">Es</span><span style="font-family: Calibri;">cribimos en la consola “Pulse una tecla para
limitar velocidad...”</span></li>
<li><!--[endif]--><span style="font-family: Calibri;">Al pulsar INTRO, llamamos de nuevo al método Avanzar(150)
de miVehículo pasando el argumento 150</span></li>
<li><span style="mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin;"><span style="mso-list: Ignore;"><span style="font-size-adjust: none; font-stretch: normal; font: 7pt/normal "Times New Roman";">
</span></span></span><!--[endif]--><span style="font-family: Calibri;">Se visualiza en la consola “La velocidad del
vehículo era de 150 Km/h, pero ahora es de 120 Km/h.”</span></li>
<li><span style="font-family: Calibri;">Al pulsar INTRO finalizamos.</span></li>
</ol>
<div class="MsoNormal" style="margin: 0cm 0cm 10pt;">
<span style="font-family: Calibri;">En el último método Avanzar creamos una variable textoDeSalida,
a la cual le damos un valor u otro dependiendo si se limita la velocidad o no y
para devolver los valores al lugar desde los hemos llamado es mediante la instrucción
return que retorna o devuelve el valor calculado.</span></div>
<div class="MsoNormal" style="margin: 0cm 0cm 10pt;">
<span style="font-family: Calibri;">Para la sobrecarga de métodos, lo único que no podemos hacer
es crear dos métodos con el mismo número de parámetros y del mismo tipo, lo que
provocaría una ambigüedad y el compilador no sabría cual ejecutar.</span></div>
<div class="MsoNormal" style="margin: 0cm 0cm 10pt;">
<span style="font-family: Calibri;">Como ya sabemos compilar, practica y crea, que no duele!</span></div>
<div class="MsoNormal" style="margin: 0cm 0cm 10pt;">
<span style="font-family: Calibri;">Saludos “der Waki”</span></div>
</div>
Joaquin Martínezhttp://www.blogger.com/profile/07166016070485946881noreply@blogger.com0tag:blogger.com,1999:blog-1726059233582515530.post-51314397365684575452014-09-03T19:30:00.000+02:002014-09-04T17:06:39.947+02:008.- Nuestro primer programa "ereeh la caña illo!!!”<div dir="ltr" style="text-align: left;" trbidi="on">
<br />
<div class="MsoNormal" style="margin: 0cm 0cm 10pt;">
<span style="font-family: Calibri;">Ahora que ya sabemos cómo crear una clase, vamos a intentar
crear nuestra primera aplicación.</span></div>
<div class="MsoNormal" style="margin: 0cm 0cm 10pt;">
<span style="font-family: Calibri;">En todos los libros que he leído, la primera aplicación que
se desarrolla es la típica en “Hello world!!” o un “Hola Mundo!!” en la que se imprime
o se obtiene en pantalla el mismo texto y tiene su historia; la más antigua de
ellas y que yo conozca es la de un tejedor (“muuuu espabilao”) llamado Joseph
Marie Jacquard que allá por 1801, le daba instrucciones a un telar mediante
tarjetas perforadas y consiguió escribir “hello word” en uno de sus tapices,
después dicen que Bill Gates <span style="mso-spacerun: yes;"> </span>inició Windows
1 con la misma frase, o un libro de C por los años 70 que imprimía lo mismo y …
hasta hoy que se sigue usando por todos los begginers o principiantes . Pero para cambiar y siendo este un blog “andalú”,
nuestra primera aplicación va a escribir un mensaje que diga “ereeh la caña illo!!!”
(Traducido a eres la caña chiquillo, cosas de los andaluces!), ¿ok?, bueno,
vamos allá.</span></div>
<br />
<div class="MsoNormal" style="margin: 0cm 0cm 10pt;">
<span style="font-family: Calibri;">Antes de nada, quiero decir que toda aplicación tiene un
método llamado <b style="mso-bidi-font-weight: normal;">Main</b> tanto para C#
como VB.NET. Da igual en que clase lo pongamos que el compilador se encargará
de buscarlo e iniciar todo desde ahí, desde <b style="mso-bidi-font-weight: normal;">Main</b>. Este método tiene además dos modificadores, uno <i style="mso-bidi-font-style: normal;">public</i> y otro <i style="mso-bidi-font-style: normal;">static</i>. El modificador público es para acceder a la aplicación
desde el exterior y el <i style="mso-bidi-font-style: normal;">static</i> lo
explico ahora mismo.</span></div>
<br />
<div class="MsoNormal" style="margin: 0cm 0cm 10pt;">
<span style="font-family: Calibri;">Cuando creamos un clase y la instanciamos, se genera un
nuevo objeto, si instanciamos esta clase mil veces, tendremos 1000 objetos,
pero si una clase o un miembro de clase es <em>static</em>, lo primero es que no hace
falta instanciarla y lo segundo, que solo se crea una solo objeto.</span></div>
<br />
<div class="MsoNormal" style="margin: 0cm 0cm 10pt;">
<span style="font-family: Calibri;">Ejemplo. Si tenemos un clase vehículo estática y queremos
que arranque el vehículo, no haría falta crear un nuevo vehículo, sino que escribiríamos
el nombre de la clase seguido de punto y el método a usar, Vehículo.Arrancar, pero
con el inconveniente de que solo habrá un solo objeto.
Pasemos a un ejemplo:</span></div>
<div class="MsoNormal" style="margin: 0cm 0cm 10pt;">
<span style="font-family: Calibri;">C#</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="color: green; font-family: Consolas; font-size: 9.5pt;">/*
************************************************</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="color: green; font-family: Consolas; font-size: 9.5pt;">* © WAKI 2014</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="color: green; font-family: Consolas; font-size: 9.5pt;">* PROYECTO:<span style="mso-spacerun: yes;"> </span>Aprender a Programar.</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="color: green; font-family: Consolas; font-size: 9.5pt;">* Archivo:<span style="mso-spacerun: yes;"> </span>Program.cs</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="color: green; font-family: Consolas; font-size: 9.5pt;">* Descripción:<span style="mso-spacerun: yes;"> </span>Clase Main y Vehículo<span style="mso-spacerun: yes;"> </span></span><span style="font-family: Consolas; font-size: 9.5pt;"><o:p></o:p></span></div>
<span lang="EN-US" style="color: green; font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">*
Historial:<span style="mso-spacerun: yes;"> </span></span><span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><o:p></o:p></span><br />
<span lang="EN-US" style="color: green; font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">*
Comentarios:</span><span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><o:p></o:p></span><br />
<span lang="EN-US" style="color: green; font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">*</span><span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><o:p></o:p></span><br />
<span lang="EN-US" style="color: green; font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">****************************************************/</span><span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><o:p></o:p></span><br />
<span lang="EN-US" style="color: blue; font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">using</span><span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">
System;</span><br />
<br />
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="color: blue; font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">namespace</span><span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">
MyNameSpace</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">{</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">class</span> <span style="color: #2b91af;">MyApp</span></span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span>{</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">static</span> <span style="color: blue;">void</span> Main(<span style="color: blue;">string</span>[]
args)</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span></span><span style="font-family: Consolas; font-size: 9.5pt;">{</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span><span style="color: #2b91af;">Vehiculo</span> miVehiculo = <span style="color: blue;">new</span>
<span style="color: #2b91af;">Vehiculo</span>();</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span>miVehiculo.Arrancar();</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span><span style="color: #2b91af;">ClaseEstatica</span>.MetodoEstatico();</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span>}</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span>}<o:p></o:p></span></div>
<br />
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">static</span> <span style="color: blue;">class</span> <span style="color: #2b91af;">ClaseEstatica</span></span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span>{</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">static</span> <span style="color: blue;">public</span> ClaseEstatica() </span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span></span><span style="font-family: Consolas; font-size: 9.5pt;">{</span><span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span><o:p></o:p></span></div>
<br />
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span>}</span><span style="font-family: Consolas; font-size: 9.5pt;"><o:p> </o:p></span></div>
<br />
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">static</span> <span style="color: blue;">public</span> <span style="color: blue;">void</span> MetodoEstatico()</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span>{</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span><span style="color: green;">// código cuando se accede al método estático</span></span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span>}</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span>}<o:p></o:p></span></div>
<br />
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><o:p> </o:p></span></div>
<br />
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">class</span> <span style="color: #2b91af;">Vehiculo</span></span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span>{</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">public</span> Vehiculo()</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span>{</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span><span style="color: green;">// código utilizado al instanciar la clase</span></span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span>}</span><span style="font-family: Consolas; font-size: 9.5pt;"><o:p> </o:p></span></div>
<br />
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">public</span> <span style="color: blue;">void</span>
Arrancar()</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span>{<o:p></o:p></span></div>
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span><span style="color: green;">// código necesario para arrancar</span></span><br />
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><o:p> </o:p></span><span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span>}</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span>}</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;">}<o:p></o:p></span></div>
<br />
<div class="MsoNormal" style="margin: 0cm 0cm 10pt;">
<span style="font-family: Calibri;">VB.NET</span></div>
<span style="color: green; font-family: Consolas; font-size: 9.5pt;">'
************************************************</span><br />
<span style="color: green; font-family: Consolas; font-size: 9.5pt;"></span><span style="color: green; font-family: Consolas; font-size: 9.5pt;">'* © WAKI 2014</span><br />
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="color: green; font-family: Consolas; font-size: 9.5pt;">'* PROYECTO:<span style="mso-spacerun: yes;"> </span>Aprender a Programar.</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="color: green; font-family: Consolas; font-size: 9.5pt;">'* Archivo:<span style="mso-spacerun: yes;"> </span>Program.vb</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="color: green; font-family: Consolas; font-size: 9.5pt;">'* Descripción:<span style="mso-spacerun: yes;"> </span>Clase Main y Vehículo<span style="mso-spacerun: yes;"> </span></span><span style="font-family: Consolas; font-size: 9.5pt;"><o:p></o:p></span></div>
<span style="color: green; font-family: Consolas; font-size: 9.5pt;">'* Historial:<span style="mso-spacerun: yes;"> </span></span><span style="font-family: Consolas; font-size: 9.5pt;"><o:p></o:p></span><br />
<span style="color: green; font-family: Consolas; font-size: 9.5pt;">'* Comentarios:</span><span style="font-family: Consolas; font-size: 9.5pt;"><o:p></o:p></span><br />
<span style="color: green; font-family: Consolas; font-size: 9.5pt;">'*</span><br />
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="color: green; font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">'***************************************************</span><span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><o:p></o:p></span></div>
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><o:p> </o:p></span><br />
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="color: blue; font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">Namespace</span><span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">
MyNameSpace<o:p></o:p></span></div>
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">Class</span> <span style="color: #2b91af;">MyApp</span><o:p></o:p></span><br />
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">Private</span>
<span style="color: blue;">Shared</span> <span style="color: blue;">Sub</span>
Main(args <span style="color: blue;">As</span> <span style="color: blue;">String</span>())<o:p></o:p></span><br />
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">Dim</span>
miVehiculo <span style="color: blue;">As</span> <span style="color: blue;">New</span>
<span style="color: #2b91af;">Vehiculo</span>()<o:p></o:p></span><br />
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span></span><span style="font-family: Consolas; font-size: 9.5pt;">miVehiculo.Arrancar()<o:p></o:p></span><br />
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span><span style="color: #2b91af;">ClaseEstatica</span>.MetodoEstatico()<o:p></o:p></span><br />
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">End</span> <span style="color: blue;">Sub</span><o:p></o:p></span><br />
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">End</span> <span style="color: blue;">Class</span><o:p></o:p></span><br />
<br />
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">NotInheritable</span>
<span style="color: blue;">Class</span> <span style="color: #2b91af;">ClaseEstatica</span><o:p></o:p></span></div>
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">Private</span>
<span style="color: blue;">Sub</span> <span style="color: blue;">New</span>()<o:p></o:p></span><br />
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">End</span> <span style="color: blue;">Sub</span><o:p></o:p></span><br />
<br />
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">Public</span> <span style="color: blue;">Shared</span> <span style="color: blue;">Sub</span>
MetodoEstatico()<o:p></o:p></span></div>
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span></span><span style="color: green; font-family: Consolas; font-size: 9.5pt;">' código cuando se accede al método estático</span><span style="font-family: Consolas; font-size: 9.5pt;"><o:p></o:p></span><br />
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span></span><span lang="EN-US" style="color: blue; font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">End</span><span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"> <span style="color: blue;">Sub</span><o:p></o:p></span><br />
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">End</span> <span style="color: blue;">Class</span><o:p></o:p></span><br />
<br />
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">Class</span> <span style="color: #2b91af;">Vehiculo</span><o:p></o:p></span></div>
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span></span><span style="color: green; font-family: Consolas; font-size: 9.5pt;">' código utilizado al instanciar la clase</span><span style="font-family: Consolas; font-size: 9.5pt;"><o:p></o:p></span><br />
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span></span><span lang="EN-US" style="color: blue; font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">Public</span><span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"> <span style="color: blue;">Sub</span> <span style="color: blue;">New</span>()<o:p></o:p></span><br />
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">End</span> <span style="color: blue;">Sub</span><o:p></o:p></span><br />
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"></span></span><br />
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">Public</span> <span style="color: blue;">Sub</span> Arrancar()<o:p></o:p></span><br />
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span></span><span style="color: green; font-family: Consolas; font-size: 9.5pt;">' código necesario para arrancar</span><span style="font-family: Consolas; font-size: 9.5pt;"><o:p></o:p></span><br />
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">End</span> <span style="color: blue;">Sub</span><o:p></o:p></span><br />
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">End</span> <span style="color: blue;">Class</span><o:p></o:p></span><br />
<span style="color: blue; font-family: Consolas; font-size: 9.5pt;">End</span><span style="font-family: Consolas; font-size: 9.5pt;"> <span style="color: blue;">Namespace<o:p></o:p></span></span><br />
<br />
<div class="MsoNormal" style="margin: 0cm 0cm 10pt;">
<span style="font-family: Calibri;">Analicemos el código; tenemos un espacio de nombres llamado <i style="mso-bidi-font-style: normal;">MyNameSpace</i> <span style="mso-spacerun: yes;"> </span>con tres clases, una pública y estática </span><span style="color: #2b91af; font-family: Consolas; font-size: 9.5pt; line-height: 115%;">MyApp</span><span style="font-family: Calibri;">
que contiene el método <i style="mso-bidi-font-style: normal;">Main</i>, otra </span><span style="color: #2b91af; font-family: Consolas; font-size: 9.5pt; line-height: 115%;">Vehiculo</span><span style="font-family: Calibri;"><span style="mso-spacerun: yes;"> </span>y otra pública y estática llamada </span><span style="color: #2b91af; font-family: Consolas; font-size: 9.5pt; line-height: 115%;">ClaseEstatica.</span><span style="font-family: Calibri;">
La primera es desde donde accederemos desde Windows, (donde pone <span style="mso-spacerun: yes;"> </span></span><span style="color: blue; font-family: Consolas; font-size: 9.5pt; line-height: 115%;">string</span><span style="font-family: Consolas; font-size: 9.5pt; line-height: 115%;">[] args,</span><span style="font-family: Calibri;"> son parámetros enviados como argumentos
y los veremos con más detalle) y en su método <i style="mso-bidi-font-style: normal;">Main</i> hacemos lo siguiente:</span></div>
<div class="MsoNormal" style="margin: 0cm 0cm 10pt;">
<span style="font-family: Calibri;">Creamos un objeto Vehículo al que llamamos <i style="mso-bidi-font-style: normal;">miVehiculo</i> (el nombre es elección del
usuario, podría haberle llamado coche, micoche, etc) e instanciamos uno nuevo (<i style="mso-bidi-font-style: normal;">new</i> </span><span style="color: #2b91af; font-family: Consolas; font-size: 9.5pt; line-height: 115%;">Vehiculo)</span><span style="font-family: Calibri;">. A partir
de este momento, cada vez que nos referimos a <i style="mso-bidi-font-style: normal;">miVehiculo</i> nos referimos a el que hemos creado y ahora que ya tenemos
un objeto, invocamos el método Arrancar desde este mismo objeto. Ahora nos referimos
a la clase estática pero sin hacer referencia a new </span><span style="color: #2b91af; font-family: Consolas; font-size: 9.5pt; line-height: 115%;">ClaseEstatica</span><span style="font-family: Calibri;">
, directamente escribiendo la clase y seguido del método estático. Fácil, ¿no?</span></div>
<span style="font-family: Calibri;">En VB.NET las clases se instancia primero con Dim, luego el
nombre y posteriormente <i style="mso-bidi-font-style: normal;">As New</i> nombre
de la clase</span><br />
<br />
<div class="MsoNormal" style="margin: 0cm 0cm 10pt;">
<span style="font-family: Calibri;">Volviendo a nuestra primera aplicación y centrándonos en
ella. Abrimos el Bloc de Notas o Notepad++, creamos un nuevo archivo de texto y escribimos (aconsejo escribir) o copiamos y pegamos el código de nuestra primera Aplicación. Guardamos donde queramos el archivo, eso si, guardando con extensión .cs para C# o .vb para VB.NET. Si no vemos las extensiones, hay que habilitar su visualización. </span></div>
<div class="MsoNormal" style="margin: 0cm 0cm 10pt;">
<span style="font-family: Calibri;">(En W7, desde una ventana del explorador de Windows, Organizar, Opciones de carpeta y búsqueda, Pestaña Ver y casi al final de la lista desmarcamos <em>Ocultar</em> las Extensiones de Archivos ...)</span></div>
<div class="MsoNormal" style="margin: 0cm 0cm 10pt;">
<span style="font-family: Calibri;">C#</span></div>
<span style="color: green; font-family: Consolas; font-size: 9.5pt;">/*
************************************************</span><span style="font-family: Consolas; font-size: 9.5pt;"><o:p></o:p></span><br />
<span style="color: green; font-family: Consolas; font-size: 9.5pt;">* © WAKI 2014</span><br />
<span style="color: green; font-family: Consolas; font-size: 9.5pt;"></span><span style="color: green; font-family: Consolas; font-size: 9.5pt;">* PROYECTO:<span style="mso-spacerun: yes;"> </span>Aprender a Programar.</span><span style="font-family: Consolas; font-size: 9.5pt;"><o:p></o:p></span><br />
<span style="color: green; font-family: Consolas; font-size: 9.5pt;">* Archivo:<span style="mso-spacerun: yes;"> </span>Program.cs</span><span style="font-family: Consolas; font-size: 9.5pt;"><o:p></o:p></span><br />
<span style="color: green; font-family: Consolas; font-size: 9.5pt;">* Descripción:<span style="mso-spacerun: yes;"> </span>Clase Main y Vehículo<span style="mso-spacerun: yes;"> </span></span><span style="font-family: Consolas; font-size: 9.5pt;"><o:p></o:p></span><br />
<span lang="EN-US" style="color: green; font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">*
Historial:<span style="mso-spacerun: yes;"> </span></span><span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><o:p></o:p></span><br />
<span lang="EN-US" style="color: green; font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">*
Comentarios:</span><span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><o:p></o:p></span><br />
<span lang="EN-US" style="color: green; font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">*</span><br />
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="color: green; font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">****************************************************/</span><span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><o:p></o:p></span></div>
<span lang="EN-US" style="color: blue; font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">using</span><span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">
System;<o:p></o:p></span><br />
<span lang="EN-US" style="color: blue; font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">namespace</span><span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">
MyConsoleApplication<o:p></o:p></span><br />
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">{<o:p></o:p></span><br />
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">class</span> <span style="color: #2b91af;">MyApp</span><o:p></o:p></span><br />
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span>{<o:p></o:p></span><br />
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">static</span> <span style="color: blue;">void</span> Main(<span style="color: blue;">string</span>[]
args)<o:p></o:p></span><br />
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span></span><span style="font-family: Consolas; font-size: 9.5pt;">{<o:p></o:p></span><br />
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span><span style="color: #2b91af;">Console</span>.WriteLine (<span style="color: #a31515;">"ereeh
la caña illo!!!"</span>);<o:p></o:p></span><br />
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span><span style="color: #2b91af;">Console</span>.WriteLine(<span style="color: #a31515;">"Pulse
una tecla para cerrar"</span>);<o:p></o:p></span><br />
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span><span style="color: #2b91af;">Console</span>.ReadLine();<o:p></o:p></span><br />
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span>}<o:p></o:p></span><br />
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span>}<o:p></o:p></span><br />
<span style="font-family: Consolas; font-size: 9.5pt;">}<o:p></o:p></span><br />
<br />
<div class="MsoNormal" style="margin: 0cm 0cm 10pt;">
<span lang="EN-US" style="mso-ansi-language: EN-US;"><span style="font-family: Calibri;">VB.NET<o:p></o:p></span></span></div>
<span lang="EN-US" style="color: green; font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">'*
************************************************</span><span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><o:p></o:p></span><br />
<span lang="EN-US" style="color: green; font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">'*
© WAKI 2014</span><span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><o:p></o:p></span><br />
<span style="color: green; font-family: Consolas; font-size: 9.5pt;">'* PROYECTO:<span style="mso-spacerun: yes;"> </span>Aprender a Programar.</span><span style="font-family: Consolas; font-size: 9.5pt;"><o:p></o:p></span><br />
<span style="color: green; font-family: Consolas; font-size: 9.5pt;">'* Archivo:<span style="mso-spacerun: yes;"> </span>Module1.vb</span><span style="font-family: Consolas; font-size: 9.5pt;"><o:p></o:p></span><br />
<span style="color: green; font-family: Consolas; font-size: 9.5pt;">'* Descripción:<span style="mso-spacerun: yes;"> </span>Clase Main y Vehículo<span style="mso-spacerun: yes;"> </span></span><span style="font-family: Consolas; font-size: 9.5pt;"><o:p></o:p></span><br />
<span style="color: green; font-family: Consolas; font-size: 9.5pt;">'* Historial:<span style="mso-spacerun: yes;"> </span></span><span style="font-family: Consolas; font-size: 9.5pt;"><o:p></o:p></span><br />
<span style="color: green; font-family: Consolas; font-size: 9.5pt;">'* Comentarios:</span><span style="font-family: Consolas; font-size: 9.5pt;"><o:p></o:p></span><br />
<span style="color: green; font-family: Consolas; font-size: 9.5pt;">'*</span><span style="font-family: Consolas; font-size: 9.5pt;"><o:p></o:p></span><br />
<span lang="EN-US" style="color: green; font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">'****************************************************</span><span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><o:p></o:p></span><br />
<br />
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="color: blue; font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">Module</span><span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">
<span style="color: #2b91af;">Module1</span><o:p></o:p></span></div>
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">Class</span> <span style="color: #2b91af;">MyApp</span><o:p></o:p></span><br />
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">Public</span> <span style="color: blue;">Shared</span> <span style="color: blue;">Sub</span> Main(args <span style="color: blue;">As</span> <span style="color: blue;">String</span>())<o:p></o:p></span><br />
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span></span><span style="color: #2b91af; font-family: Consolas; font-size: 9.5pt;">Console</span><span style="font-family: Consolas; font-size: 9.5pt;">.WriteLine(<span style="color: #a31515;">"ereeh la caña
illo!!!"</span>)<o:p></o:p></span><br />
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span><span style="color: #2b91af;">Console</span>.WriteLine(<span style="color: #a31515;">"Pulse
Intro para cerrar"</span>)<o:p></o:p></span><br />
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span></span><span lang="EN-US" style="color: #2b91af; font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">Console</span><span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">.ReadLine()<o:p></o:p></span><br />
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">End</span> <span style="color: blue;">Sub</span><o:p></o:p></span><br />
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">End</span> <span style="color: blue;">Class</span><o:p></o:p></span><br />
<span style="color: blue; font-family: Consolas; font-size: 9.5pt;">End</span><span style="font-family: Consolas; font-size: 9.5pt;"> <span style="color: blue;">Module<o:p></o:p></span></span><br />
<br />
<div class="MsoNormal" style="margin: 0cm 0cm 10pt;">
<span style="font-family: Calibri;"><span class="sentence"><strong>Nota</strong>: (Una instrucción <span xmlns="http://www.w3.org/1999/xhtml"></span><span class="input"><i style="mso-bidi-font-style: normal;">Module</i></span></span><span class="sentence"> define un tipo de referencia disponible en su espacio de
nombres. </span><span data-guid="14f2d6373c5748f5e1a64d3563cd6f85" data-source="A <span class="parameter">module</span> (sometimes called a <span class="parameter">standard module</span>)is similar to a class but with some important distinctions." id="mt16" xml:space="preserve"><sentencetext xmlns="http://www.w3.org/1999/xhtml">Un
<span xmlns="http://www.w3.org/1999/xhtml"></span><span class="parameter">módulo</span></sentencetext></span><span class="sentence"> es similar a una clase pero con algunas distinciones
importantes.</span> <span data-guid="7a4531a8252319b55568276aa45946ef" data-source="Every module has exactly one instance and does not need to be created or assigned to a variable." id="mt17" xml:space="preserve"><sentencetext xmlns="http://www.w3.org/1999/xhtml"><span class="sentence">Cada módulo tiene exactamente una instancia y no necesita ser
creado ni asignado a una variable.</span></sentencetext></span> <span data-guid="2e780cd384fc4e16c734f420da528ade" data-source="Modules do not support inheritance or implement interfaces." id="mt18" xml:space="preserve"><sentencetext xmlns="http://www.w3.org/1999/xhtml"><span class="sentence">Los módulos no admiten la herencia ni implementan interfaces.</span></sentencetext></span>
<span data-guid="6d4c6293243f6d4c97df0e7b5719cd25" data-source="Notice that a module is not a <span class="parameter">type</span> in the sense that a class or structure is — you cannot declare a programming element to have the data type of a module." id="mt19" xml:space="preserve"><sentencetext xmlns="http://www.w3.org/1999/xhtml"><span class="sentence">No es <span style="mso-spacerun: yes;"> </span>una clase y no
puede declarar.)</span></sentencetext></span></span></div>
<div class="MsoNormal" style="margin: 0cm 0cm 10pt;">
<span style="font-family: Calibri;">Analicemos este nuevo código. Vemos que hemos escrito la clase
</span><span style="color: #2b91af; font-family: Consolas; font-size: 9.5pt; line-height: 115%;">Console</span><span style="font-family: Calibri;">
que procede del espacio de nombre <i style="mso-bidi-font-style: normal;">System</i>
que lo tenemos importado, esta clase tiene múltiples métodos, pero hemos
escogido <i style="mso-bidi-font-style: normal;">WriteLine</i> y <i style="mso-bidi-font-style: normal;">ReadLine</i>. El primero escribe una línea
en la consola (pantalla negra) y el segundo espera una entrada del teclado y
una vez recibida cierra el programa. La parte que va incluida entre los paréntesis
de los métodos se llama argumento y tiene un tipo, es decir si el método dice
que solo puede recibir un texto, no podemos pasarle un número (aunque ya
veremos que también se puede), pero en definitiva, el método decide que
recibir.</span></div>
<div class="MsoNormal" style="margin: 0cm 0cm 10pt;">
<span style="font-family: Calibri;">Una vez que recibe el argumento tipo string (texto), se
visualiza en pantalla.</span></div>
<div class="MsoNormal" style="margin: 0cm 0cm 10pt;">
<span style="font-family: Calibri;">Ahora vamos a crear el programa. Dijimos que necesitábamos
un compilador que lo encontraremos en C:\Windows\Microsoft.NET\Framework\(Versión
de .NET) yo en mi caso voy a compilar con la versión .NET Framework 4.0 por
tanto yo tengo el compilador en C:\Windows\Microsoft.NET\Framework\v4.0.30319.</span></div>
<div class="MsoNormal" style="margin: 0cm 0cm 10pt;">
<span style="font-family: Calibri;">En W7, abro el símbolo del sistema como administrador
(Inicio-Todos los Programas-Accesorios- Símbolo del Sistema y le damos con el
botón derecho “Ejecutar como Administrador”.</span></div>
<div class="MsoNormal" style="margin: 0cm 0cm 10pt;">
<span style="font-family: Calibri;">Una vez en la pantalla oscura, escribimos cd\ e INTRO de
modo que el símbolo del sistema se irá a C: \>, en esta ruta se creará
nuestro programa y después de esto, escribo la ruta donde se encuentra el
compilador seguido del archivo que queremos compilar, en mi caso <i style="mso-bidi-font-style: normal;">C:\Windows\Microsoft.NET\Framework\v4.0.30319\csc.exe
C:\Desarrollo\ConsoleApplication1\Program.cs</i>, pulsamos INTRO y et voilá,
compilado, ya tenemos nuevo programa!, en C:\ tendremos un ejecutable llamado program.exe. Lo ejecutamos y
… ahí lo llevas</span></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhLSPrF9PgUgRZsFUzvc2OEdBcWOoLS2NAEg31ZqE0nr8Soh0DnmDQMPEjiTdcdOTT1Or48J4MHsFW_HJkTPfck0P1wqsk_YWkwQy2CMrdMR0XDjN3UFanslPkB3c9Zceo-ubjK1GoW9xA/s1600/8.2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhLSPrF9PgUgRZsFUzvc2OEdBcWOoLS2NAEg31ZqE0nr8Soh0DnmDQMPEjiTdcdOTT1Or48J4MHsFW_HJkTPfck0P1wqsk_YWkwQy2CMrdMR0XDjN3UFanslPkB3c9Zceo-ubjK1GoW9xA/s1600/8.2.png" height="201" width="400" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="MsoNormal" style="margin: 0cm 0cm 10pt;">
<span style="font-family: Calibri;">Saludos “der Waki”</span></div>
</div>
Joaquin Martínezhttp://www.blogger.com/profile/07166016070485946881noreply@blogger.com0tag:blogger.com,1999:blog-1726059233582515530.post-81803439893778169252014-09-01T20:11:00.000+02:002014-09-02T10:34:24.080+02:007.- Un modo de tener el código ordenado<div dir="ltr" style="text-align: left;" trbidi="on">
<br />
<div class="MsoNormal" style="margin: 0cm 0cm 10pt;">
<span style="font-family: Calibri;">Como ya dije en el Post 5, el coste llevado a cabo para el
mantenimiento del software es muy costoso, por lo que sería muy conveniente escribir
un código muy comentado, claro y estructurado, esto nos daría limpieza y
efectividad pudiendo detectar y minimizar los ERRORES (porque haberlos,
haylos)</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Calibri;">Para comentar el código,
escribimos en C# </span><span style="color: green; font-family: Consolas; font-size: 9.5pt;">//
Aquí van los comentarios</span><span style="font-family: Calibri;"> o en VB.NET </span><span style="color: green; font-family: Consolas; font-size: 9.5pt;">’Aquí van los comentarios.</span><span style="font-family: Calibri;"> Este texto
en Visual Studio se torna verde cuando se trata de un comentario.</span></div>
<br />
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Calibri;">Si en vez de dos barras,
escribimos tres, podemos escribir comentarios continuamente al pulsar ENTER y cambiar de
línea, escribiéndose automáticamente otras tres barras (C#) o comillas simples(''').</span></div>
<br />
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<o:p><span style="font-family: Calibri;"> </span></o:p><span style="font-family: Calibri;">Si estamos programando
en Visual Studio y escribimos estas tres barras o comillas simples encima de un
método, variable, propiedad, etc., es decir sobre un miembro de clase, se
inserta automáticamente una etiqueta llamada <summary> con otra etiqueta
de cierre </summary> y el contenido que escribamos entre estas dos
etiquetas se visualizará automáticamente con <span class="sentence">IntelliSense
que es una herramienta de ayuda de Visual Studio con la cual según vamos
escribiendo, se van visualizando los miembros de clase disponibles en esta;
además visualiza la información escrita entre las dos etiquetas <summary>Esto
describe el miembro de clase</summary>.</span></span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Calibri;"><span class="sentence"><o:p></o:p></span></span> </div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi4vGzQj4a6oqea-WgcQJWFWgmaMyNMyjtIoj9fUAdcRIBQ7NKov4sQnzXUcLjtX5zt6WWJoUnxt0vPLwyUT_N8WpX02yKbevKkOjKl-MYgeAeRBTVhi34FjTRVWUA8NaA-z5qkyX_95tc/s1600/7.1.1.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi4vGzQj4a6oqea-WgcQJWFWgmaMyNMyjtIoj9fUAdcRIBQ7NKov4sQnzXUcLjtX5zt6WWJoUnxt0vPLwyUT_N8WpX02yKbevKkOjKl-MYgeAeRBTVhi34FjTRVWUA8NaA-z5qkyX_95tc/s1600/7.1.1.png" height="275" width="400" /></a></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Calibri;">Una vez comentado el
código, existe otra forma de tener el código ordenado mediante bloques y esto
se hace escribiendo </span></div>
<br />
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Calibri;">C#</span></div>
<br />
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="color: blue; font-family: Consolas; font-size: 9.5pt;">#region</span><span style="font-family: Consolas; font-size: 9.5pt;"> MyRegion</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><o:p></o:p></span> </div>
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span><span style="color: green;">// aquí podemos poner todos los </span><o:p></o:p></span><br />
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span><span style="color: green;">// miembros de clase que queramos</span><o:p></o:p></span><br />
<br />
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="color: blue; font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">#endregion<o:p></o:p></span></div>
<br />
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="mso-ansi-language: EN-US;"><span style="font-family: Calibri;">VB.NET<o:p></o:p></span></span></div>
<br />
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="color: blue; font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">#Region</span><span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">
<span style="color: #a31515;">"MyRegion"</span><o:p></o:p></span></div>
<br />
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span><span style="color: green;">' aquí podemos poner todos los </span><o:p></o:p></span></div>
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-spacerun: yes;"> </span><span style="color: green;">' miembros de clase que queramos</span><o:p></o:p></span><br />
<br />
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="color: blue; font-family: Consolas; font-size: 9.5pt;">#End</span><span style="font-family: Consolas; font-size: 9.5pt;"> <span style="color: blue;">Region</span></span><o:p><span style="font-family: Calibri;"> </span></o:p></div>
<br />
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Calibri;">Esto no se compila y
simplemente nos permite mantener los miembros de clase ordenaditos y
enclaustrados entre regiones o bloques de código, por ejemplo, podemos crear
una región llamada propiedades y variables donde incluyamos solo exclusivamente
estos miembros u otra donde incluya los métodos asociados a controles y dentro
de esta más bloques de código separándolos por tipo de control, de modo que
cuando quiera visualizar un método asociado a un evento click de un botón, me
iré a la región Controles y dentro de esta a otra región llamada Botones y en su
interior estará el método que busco evitando dar muchas vueltas con la rueda
del ratón o efectuando búsquedas de texto.</span></div>
<br />
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Calibri;">Debemos pensar que el
código será revisado por otra persona o por nosotros mismos miles de años después, por
tanto, ordena!!! (¿miles? jajajaja dejémoslo en cientos)</span></div>
<br />
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Calibri;">Además, imaginemos una
clase con 1000 líneas, al incluir el código entre regiones, es posible contraer
o expandir las regiones, evitando mantener las mil líneas desplegadas con el
consiguiente lio.</span></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgfabaMApU7xCbvFBzyZAe_Odzi5e6lUxPM6wJ6Qxgu9l_3-rnmwuYlgrkOj0UFbK8NptNYWes8MQsvFaAJQZptVyS_r3aOYyyJPmodi4_s0YrvpP2bNTiBGzjrPRoZ5DDOksdE4-S3PAY/s1600/7.2.1.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgfabaMApU7xCbvFBzyZAe_Odzi5e6lUxPM6wJ6Qxgu9l_3-rnmwuYlgrkOj0UFbK8NptNYWes8MQsvFaAJQZptVyS_r3aOYyyJPmodi4_s0YrvpP2bNTiBGzjrPRoZ5DDOksdE4-S3PAY/s1600/7.2.1.png" height="206" width="320" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<span style="font-family: Calibri;">Otra forma de de
mantener claro el código es escribir con mucha sencillez los métodos,
espaciados y con pocas líneas (A ser posible).</span></div>
<br />
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<o:p><span style="font-family: Calibri;"> </span></o:p><span style="font-family: Calibri;">Otro aspecto muy importante
es la nomenclatura de los nombres de las clases y miembros de clase, ¿por qué
es importante? Pues si recuerdan cuando en el lenguaje “der waki” asignábamos
los nombres a las características y métodos de la clase vehículo, los
nombrábamos con Velocidad, Potencia, Matrícula, Número de Bastidor, Arrancar, Parar,
Avanzar, etc., pues eso, cuando quiero asignarle la matrícula a la propiedad
Matrícula debo hacerlo con sentido común; si le hubiéramos puesto como nombre
Abrigo, diría ¿para qué le he puesto el nombre Abrigo a la propiedad Matrícula?
Menuda tontería no!! Pues por ahí van los tiros.</span><o:p><span style="font-family: Calibri;"> </span></o:p></div>
<br />
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Calibri;">Existen múltiples
notaciones para nombrar los miembros de clase, pero nos centramos en dos,
notación Pascal y Camello ( que nombres!!). La notación Pascal utiliza la
primera letra de cada palabra con mayúscula, de modo que si nombramos la
propiedad NumeroBastidor, iniciamos cada palabra con mayúsculas sin espacios y
si usamos la notación camello es igual que la Pascal pero iniciando con
minúsculas y dándole ese aspecto de jorobas de camello subiendo y bajando.
Microsoft utiliza este método para crear sus aplicaciones y dependiendo del miembro
de <span style="mso-spacerun: yes;"> </span>clase que sea, adaptaremos el nombre de
un modo u otro y que a continuación detallo:</span><o:p><span style="font-family: Calibri;"> </span></o:p></div>
<ul style="text-align: left;">
<li><span style="font-family: Calibri;"><strong>Espacios de nombres</strong>. Para los espacios de nombres
se usa el nombre de la compañía o el nombre del producto con la primera letra
en mayúscula y resto en minúsculas, por ejemplo Microsoft tiene un espacio de
nombres Microsoft de alto nivel y según van creando productos, le agregan un
nuevo espacio de nombres, <span style="mso-spacerun: yes;"> </span>Microsoft.Win32, <span style="mso-spacerun: yes;"> </span>System.Windows.Forms, etc.</span></li>
<li><!--[endif]--><span style="font-family: Calibri;">Para las <strong>clases</strong>, utilizamos sustantivos con
notación Pascal. Otra manía que tengo y que aprendí de dos buenos programadores, es encabezar las clases con comentarios, nombre del archivo de la clase, que hace la clase, quien la ha creado y cuando, si le introduzco modificaciones, que modificaciones se han realizado y cuando, en definitiva, una serie de datos que me informen de la clase.</span></li>
<li><!--[endif]--><span style="font-family: Calibri;">Para los <strong>métodos</strong> también Notación Pascal, pero
como los métodos hacen cosas, actúan, llevan a cabo una labor, interesa que
describan los que hacen mediante verbos acompañados de objeto sobre el que
recae la acción. Por ejemplo ImprimirFactura, CalcularSalario, AbrirBaseDeDatos,
ObtenerUsuario, etc. Yo personalmente, uso en castellano los métodos privados y
los métodos públicos los pongo en inglés para globalizar la clase, si estos
métodos los hiciera públicos, les daría PrintInvoice, CalculatePay,OpenDataBase,
GetUser, etc. </span><span style="font-family: Calibri;">Debo hacer hincapié en que existen métodos que además de
hacer algo obtienen algo, como el último ejemplo ObtenerUsuario que se
encargaría de buscar en algún sitio el usuario que está activo en el momento,
bueno pues existen métodos que comprueban algo por ejemplo EstaLaPuertaAbierta
y si lo está, devolvería un valor verdadero y si no lo está devolvería un valor
falso, este tipo se llaman boolean de Boole el matemático que estudio el algebra
de su mismo nombre sobre el sistema binario, pues este tipo de métodos deben
comenzar con la tercera persona del verbo ser o estar, en inglés Is, por
ejemplo IsOpenDoor, de modo que si utilizamos este método con alguna condición,
sería mucho más claro de entender, en el lenguaje “der Waki”</span></li>
</ul>
<span style="font-family: Calibri;"> Si está abierta la puerta, ciérrala</span><br />
<span style="font-family: Calibri;"> En C# </span><br />
<br />
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt 35.4pt; mso-layout-grid-align: none; text-indent: 35.4pt;">
<span style="color: blue; font-family: Consolas; font-size: 9.5pt;">if</span><span style="font-family: Consolas; font-size: 9.5pt;"> (IsOpenDoor())</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-tab-count: 1;"> </span><span style="mso-spacerun: yes;"> </span>{<o:p></o:p></span></div>
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-tab-count: 2;"> </span><span style="mso-spacerun: yes;"> </span><span style="color: green;">// cerrar
puerta</span><o:p></o:p></span><br />
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="mso-tab-count: 1;"> </span><span style="mso-spacerun: yes;"> </span>}<o:p></o:p></span><br />
<span style="font-family: Calibri;"> En VB.NET</span><br />
<br />
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt 70.8pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="color: blue; font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">If</span><span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;">
IsOpenDoor() <span style="color: blue;">Then</span><o:p></o:p></span></div>
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span><span style="color: green;">' cerrar puerta</span></span><br />
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt 70.8pt; mso-layout-grid-align: none;">
<span style="color: blue; font-family: Consolas; font-size: 9.5pt;">End</span><span style="font-family: Consolas; font-size: 9.5pt;"> <span style="color: blue;">If<o:p></o:p></span></span></div>
<ul style="text-align: left;">
<li><span style="font-family: Calibri;">Las <strong>propiedades</strong>. Estilo Pascal (primera en
mayúscula de cada palabra)</span></li>
<li><span style="font-family: Calibri;"><strong>Variables</strong>. Sobre las variables o campos, hay
tema para todos los gustos. Vamos a ver, si una clase se llama Autor y creamos
un campo que identifique al autor, no vamos a ponerle el mismo nombre de la
clase, le ponemos por ejemplo NombreAutor con notación Pascal y cuando
accedamos a esta variable los haremos mediante Autor.NombreAutor. Para las
variables privadas o de menor entidad, yo utilizo la notación Camello (primera
en minúsculas) y en algunos casos (para gustos los colores) le incluyo a la
notación camello un guión bajo al inicio, así de un primer vistazo
introduciendo un guión, echo un vistazo sobre estas.</span></li>
</ul>
<span style="font-family: Calibri;">De todos modos, los IDE (Entornos de Desarrollo
Integrado) como Visual Studio, Eclipse, etc.., cambian de color (como los comentarios que los ponía
en verde) cada elemento dependiendo del tipo que sea.</span><br />
<br />
<span style="font-family: Calibri;">En resumen, para todo programador es importantísimo el orden, tengo la experiencia de crear aplicaciones con pocas líneas de código y que al volver a modificar algún detalle, volverse en un trabajo tedioso, por tanto el tiempo invertido inicialmente es fundamental para futuras modificaciones o ampliaciones.</span><br />
<span style="font-family: Calibri;"></span><br />
<span style="font-family: Calibri;">Saludos "der Waki"</span></div>
Joaquin Martínezhttp://www.blogger.com/profile/07166016070485946881noreply@blogger.com0tag:blogger.com,1999:blog-1726059233582515530.post-88360316305890608002014-08-31T16:56:00.001+02:002014-09-06T22:58:59.186+02:006.- ¿Que código podemos escribir en una clase?<div dir="ltr" style="text-align: left;" trbidi="on">
<span style="font-family: Arial, Helvetica, sans-serif;">Hola de nuevo, ahora que sabemos como crear una clase, vamos a ver que podemos escribir dentro de ella para poder generar aplicaciones.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;">Dentro de una clase podemos incluir lo que llamaremos miembros de clase y estos son:</span><br />
<ul><span style="font-family: Arial, Helvetica, sans-serif;">
</span>
<li><span style="font-family: Arial, Helvetica, sans-serif;"><strong>Campos</strong>. Un campo es una variable que se utiliza para almacenar un valor. Si yo quiero calcular x+3, creo una variable x pudiéndole asignar infinitos valores, pero lo importante no es poder asignarle infinitos valores, es que puede almacenar un valor, al nombre x le adjudicamos una relación con un valor.</span></li>
<span style="font-family: Arial, Helvetica, sans-serif;">
</span>
<li><span style="font-family: Arial, Helvetica, sans-serif;"><strong>Métodos</strong>. Los métodos son el código real, lo que tiene que hacer un objeto cuando lo instanciamos. En la clase vehículo que creamos, había varios métodos, ARRANCAR, PARAR y AVANZAR. Dentro de los métodos escribiremos el código necesario para hacer lo que queremos hacer.</span></li>
<span style="font-family: Arial, Helvetica, sans-serif;">
</span>
<li><span style="font-family: Arial, Helvetica, sans-serif;"><strong>Propiedades</strong>. Las propiedades a mi parecer han sido un gran invento, son campos con métodos!! que cosas tiene esto de la programación!, pues si, son campos de cara al usuario, es decir almacenan valores pero en realidad son métodos porque dentro de las propiedades podemos incluir más código. Los llaman Smart Fields (Campos inteligentes)!! y pueden ser de lectura y escritura o lectura.</span></li>
<span style="font-family: Arial, Helvetica, sans-serif;">
</span>
<li><span style="font-family: Arial, Helvetica, sans-serif;"><strong>Constantes</strong>. Es un campo con un valor fijo, invariable, de solo lectura, ya que no podemos cambiarlo. ¿Para que se utilizan? pues por ejemplo para almacenar el número pi, el número e, un texto que se repite mil veces y es siempre el mismo, pues para eso.</span></li>
<span style="font-family: Arial, Helvetica, sans-serif;">
</span>
<li><span style="font-family: Arial, Helvetica, sans-serif;"><strong>Eventos</strong>. Un evento se produce cuando pasa algo, por ejemplo click de ratón. Si le asignamos un evento a un botón, cuando hagamos click sobre él (cuando pulsamos), este correrá código de un método asociado, por ejemplo cambiar de color el botón. En el lenguaje "der waki", cuando pulses el botón,<em> cambiar de color botón</em>.</span></li>
<span style="font-family: Arial, Helvetica, sans-serif;">
</span></ul>
<span style="font-family: Arial, Helvetica, sans-serif;">Hay más miembros de clase, pero creo que con estos es suficiente para aprender.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"></span><br />
<span style="font-family: Arial, Helvetica, sans-serif;">Existen además elementos muy importantes en programación que son los <strong>modificadores de acceso</strong>. A todos los miembros de clase hay que especificarle lo visibles o accesibles que deben ser vistos desde fuera o desde la misma clase. Por ejemplo supongamos que mi casa es una clase, yo que soy el propietario, (vivo en la clase) puedo abrir la puerta, llamar al timbre, cocinar, limpiar, etc. pero un alguien que intente usar mi casa, no podría hacerlo porque no tiene los medios para hacerlo, lo más que le permitiría sería dejar una carta en el buzón o llamar al timbre. Pues como solo quiero que haga eso, los métodos de dejar carta en el buzón y llamar al timbre, pues estos métodos los haría públicos, mientras que los de cocinar o limpiar los haría privados. </span><br />
<span style="font-family: Arial, Helvetica, sans-serif;">¿Captada la idea? pues hay cuatro modificadores (en C#):</span><br />
<ul><span style="font-family: Arial, Helvetica, sans-serif;">
</span>
<li><span style="font-family: Arial, Helvetica, sans-serif;"><strong>public</strong>. Esto quiere decir que el miembro de clase, es accesible desde fuera de la clase que lo ha definido y de la jerarquía de clases derivadas o heredadas. Vamos, que si instanciamos un casa nueva como la mía por ejemplo, el usuario de esa clase solo podrá usar los métodos que creamos como públicos.</span></li>
<span style="font-family: Arial, Helvetica, sans-serif;">
</span>
<li><span style="font-family: Arial, Helvetica, sans-serif;"><strong>protected</strong>. El miembro de clase no es visible desde fuera pero si desde las clases derivadas. Nuestro ejemplo, clase vehículo y camión. El método ARRANCAR podría ser protected, ya que al derivar la clase camión de vehículo, este método podría ser usado por el camión aunque el método en si pertenece a vehículo.</span></li>
<span style="font-family: Arial, Helvetica, sans-serif;">
</span>
<li><span style="font-family: Arial, Helvetica, sans-serif;"><strong>private</strong>. Los miembros de clase con este modificador solo son accesibles desde la propia clase, las clases derivadas no pueden acceder a ellos.</span></li>
<span style="font-family: Arial, Helvetica, sans-serif;">
</span>
<li><span style="font-family: Arial, Helvetica, sans-serif;"><strong>internal</strong>. Los miembros de clase internos solo son accesibles desde la compilación es un híbrido entre <em>protected</em> y <em>public</em>, dependiendo donde esté el código.</span></li>
<span style="font-family: Arial, Helvetica, sans-serif;">
</span></ul>
<span style="font-family: Arial, Helvetica, sans-serif;">En VB.NET son <strong>Public</strong>, <strong>Protected</strong>, <strong>Private</strong> y <strong>Friend</strong>.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"></span><br />
<span style="font-family: Arial, Helvetica, sans-serif;">Damos paso a un ejemplo de una clase con una propiedad, un campo y un método. Por cierto, se me olvidaba, no lo puse en la anterior entrega para no liarnos, todas las clases tiene un método inicial con el mismo nombre que la clase (por algún sitio tenía que empezar la clase, ¿no?)</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;">En C#</span><br />
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="color: blue; font-family: Consolas; mso-ansi-language: EN-US;">using</span><span lang="EN-US" style="font-family: Consolas; mso-ansi-language: EN-US;">
System;</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="color: blue; font-family: Consolas; mso-ansi-language: EN-US;">using</span><span lang="EN-US" style="font-family: Consolas; mso-ansi-language: EN-US;">
System.Drawing;</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="color: blue; font-family: Consolas; mso-ansi-language: EN-US;">using</span><span lang="EN-US" style="font-family: Consolas; mso-ansi-language: EN-US;">
System.Windows.Forms;</span><span lang="EN-US" style="font-family: Consolas; mso-ansi-language: EN-US;"><o:p> </o:p></span></div>
<br />
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="color: blue; font-family: Consolas; mso-ansi-language: EN-US;">namespace</span><span lang="EN-US" style="font-family: Consolas; mso-ansi-language: EN-US;">
MyNameSpace</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; mso-ansi-language: EN-US;">{<o:p></o:p></span></div>
<span lang="EN-US" style="font-family: Consolas; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">public</span> <span style="color: blue;">class</span> <span style="color: #2b91af;">MyClass</span>: <span style="color: #2b91af;">Form</span></span><br />
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span>{</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; mso-ansi-language: EN-US;"><span style="mso-tab-count: 2;"> </span><span style="color: blue;">public</span>
MyClass()</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; mso-ansi-language: EN-US;"><span style="mso-tab-count: 2;"> </span></span><span style="font-family: Consolas;">{</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas;"><span style="mso-tab-count: 3;"> </span><span style="color: green;">// lo primero que hace la clase cuando es instanciado como
objeto,</span></span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas;"><span style="mso-tab-count: 3;"> </span><span style="color: green;">// es el código contenido aquí. El nombre es igual que la
clase</span><o:p></o:p></span></div>
<span style="font-family: Consolas;"><span style="mso-tab-count: 2;"> </span>}<o:p></o:p></span><br />
<span style="font-family: Consolas;"><span style="mso-tab-count: 2;"> </span><o:p></o:p></span><br />
<span style="font-family: Consolas;"><span style="mso-tab-count: 2;"> </span><span style="color: green;">// aquí incluyo los campos</span></span><br />
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas;"><span style="mso-tab-count: 2;"> </span><span style="color: blue;">int</span> variable_1 = 3;</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas;"><span style="mso-tab-count: 2;"> </span><span style="color: blue;">const</span> <span style="color: blue;">double</span> s =
3.1415926535; <span style="color: green;">// número pi</span><o:p></o:p></span></div>
<span style="font-family: Consolas;"><span style="mso-tab-count: 2;"> </span><o:p></o:p></span><br />
<span style="font-family: Consolas;"><span style="mso-tab-count: 2;"> </span><span style="color: green;">// aquí incluyo las propiedades. Para las propiedades, habrá
un capítulo entero</span><o:p></o:p></span><br />
<span style="font-family: Consolas;"><span style="mso-tab-count: 2;"> </span><span style="color: blue;">private</span> <span style="color: blue;">string</span>
variable_privada_propiedad;</span><br />
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">public</span> <span style="color: blue;">string</span>
Propiedad_1</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas;"><span style="mso-spacerun: yes;"> </span>{</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">get</span> { <span style="color: blue;">return</span>
variable_privada_propiedad ; }</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">set</span> { variable_privada_propiedad<span style="mso-spacerun: yes;"> </span>= <span style="color: blue;">value</span>; }</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas;"><span style="mso-spacerun: yes;"> </span>}</span><span style="font-family: Consolas;"><span style="mso-tab-count: 2;"> </span><o:p></o:p></span></div>
<br />
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas;"><span style="mso-tab-count: 2;"> </span><span style="color: green;">// aquí los métodos</span></span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas;"><span style="mso-tab-count: 2;"> </span><span style="color: blue;">protected</span> <span style="color: blue;">void</span>
CargarMenuPrincipal()</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas;"><span style="mso-spacerun: yes;"> </span>{</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas;"><span style="mso-spacerun: yes;"> </span><span style="color: green;">// el código para cargar el menú principal, estaría
contenido aquí</span></span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas;"><span style="mso-spacerun: yes;"> </span>} <o:p></o:p></span></div>
<span style="font-family: Consolas;"><span style="mso-tab-count: 1;"> </span>}</span><br />
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas; font-size: 9.5pt;"><span style="font-size: small;">}<o:p></o:p></span></span></div>
<br />
<span style="font-family: Arial, Helvetica, sans-serif;">en VB.NET</span><br />
<br />
<span style="color: blue; font-family: Consolas;"><span style="color: blue; font-family: Consolas;"><span style="color: blue; font-family: Consolas;">Imports</span></span></span><span style="font-family: Consolas;"><span style="font-family: Consolas;"> System</span></span><br />
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="color: blue; font-family: Consolas; mso-ansi-language: EN-US;">Imports</span><span lang="EN-US" style="font-family: Consolas; mso-ansi-language: EN-US;">
System.Drawing<o:p></o:p></span></div>
<span lang="EN-US" style="color: blue; font-family: Consolas; mso-ansi-language: EN-US;">Imports</span><span lang="EN-US" style="font-family: Consolas; mso-ansi-language: EN-US;">
System.Windows.Forms<o:p></o:p></span><br />
<br />
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="color: blue; font-family: Consolas; mso-ansi-language: EN-US;">Namespace</span><span lang="EN-US" style="font-family: Consolas; mso-ansi-language: EN-US;">
MyNameSpace</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">Public</span> <span style="color: blue;">Class</span> <span style="color: #2b91af;">[MyClass]</span></span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span></span><span style="color: blue; font-family: Consolas;">Inherits</span><span style="font-family: Consolas;"> <span style="color: #2b91af;">Form</span></span><span style="font-family: Consolas;"><span style="mso-spacerun: yes;"> </span></span></div>
<br />
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas;"><span style="mso-spacerun: yes;"> </span></span><span lang="EN-US" style="color: blue; font-family: Consolas; mso-ansi-language: EN-US;">Public</span><span lang="EN-US" style="font-family: Consolas; mso-ansi-language: EN-US;"> <span style="color: blue;">Sub</span> <span style="color: blue;">New</span>()<o:p></o:p></span></div>
<span style="font-family: Consolas;"><span style="color: green;"> ' lo primero que hace la clase cuando es instanciado como objeto,</span></span><br />
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas;"><span style="mso-spacerun: yes;"> </span><span style="color: green;">' es el código contenido aquí. el nombre es igual que la clase</span><o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">End</span> <span style="color: blue;">Sub</span></span><span lang="EN-US" style="font-family: Consolas; mso-ansi-language: EN-US;"><o:p> </o:p></span></div>
<br />
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span><span style="color: green;">' aquí
incluyo los campos</span></span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">Private</span>
variable_1 <span style="color: blue;">As</span> <span style="color: blue;">Integer</span>
= 3</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">Const</span> s
<span style="color: blue;">As</span> <span style="color: blue;">Double</span> =
3.1415926535 </span><span style="color: green; font-family: Consolas;">' número pi</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="color: green; font-family: Consolas;"></span> </div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas;"><span style="mso-spacerun: yes;"> </span><span style="color: green;">' aquí incluyo las propiedades. Para las propiedades, habrá
un capítulo entero</span></span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas;"><span style="mso-spacerun: yes;"> </span></span><span lang="EN-US" style="color: blue; font-family: Consolas; mso-ansi-language: EN-US;">Private</span><span lang="EN-US" style="font-family: Consolas; mso-ansi-language: EN-US;"> variable_privada_propiedad <span style="color: blue;">As</span>
<span style="color: blue;">String</span></span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">Public</span> <span style="color: blue;">Property</span> Propiedad_1() <span style="color: blue;">As</span>
<span style="color: blue;">String</span></span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">Get</span></span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">Return</span>
variable_privada_propiedad</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">End</span>
<span style="color: blue;">Get</span></span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">Set</span>(value
<span style="color: blue;">As</span> <span style="color: blue;">String</span>)</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span>variable_privada_propiedad =
value</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span></span><span style="color: blue; font-family: Consolas;">End</span><span style="font-family: Consolas;"> <span style="color: blue;">Set</span></span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">End</span> <span style="color: blue;">Property</span></span><span style="font-family: Consolas;"><o:p> </o:p></span></div>
<br />
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas;"><span style="mso-spacerun: yes;"> </span><span style="color: green;">' aquí los métodos</span></span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">Protected</span> <span style="color: blue;">Sub</span>
CargarMenuPrincipal()</span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas;"><span style="mso-spacerun: yes;"> </span><span style="color: green;">' el código para cargar el menú principal, estaría
contenido aquí</span></span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span style="font-family: Consolas;"><span style="mso-spacerun: yes;"> </span></span><span lang="EN-US" style="color: blue; font-family: Consolas; mso-ansi-language: EN-US;">End</span><span lang="EN-US" style="font-family: Consolas; mso-ansi-language: EN-US;"> <span style="color: blue;">Sub</span><o:p></o:p></span></div>
<br />
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; mso-ansi-language: EN-US;"><span style="mso-spacerun: yes;"> </span><span style="color: blue;">End</span> <span style="color: blue;">Class</span></span></div>
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="color: blue; font-family: Consolas; mso-ansi-language: EN-US;">End</span><span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><span style="font-size: small;">
<span style="color: blue;">Namespace</span><o:p></o:p></span></span></div>
<br />
<div class="MsoNormal" style="line-height: normal; margin: 0cm 0cm 0pt; mso-layout-grid-align: none;">
<span lang="EN-US" style="font-family: Consolas; font-size: 9.5pt; mso-ansi-language: EN-US;"><o:p> </o:p></span></div>
<span style="font-family: Arial, Helvetica, sans-serif;">Analicemos el código. Lo primero importamos espacios de nombres (<em>using</em> e <em>Imports</em>), después nuestro espacio de nombres, todas las clases que creemos dentro de este espacio de nombres, podrán ser instanciadas a través de este.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;">Nombre de la clase con modificador público. Ahora vemos en C# dos puntos y <em>Form</em> y para VB <em>Inherits Form</em>, pues esto es como realmente se hereda una clase de otra, nuestra clase hereda de la clase <em>Form</em> que proviene del espacio de nombres <em>System.Windows.Forms</em>, de modo que nuestra clase tendrá el aspecto de un formulario de Windows. La herencia solo puede ser usada una sola vez, es decir, una clase solo se puede ser derivada de otra, pero no de 3 o cuatro clases, para hacer algo parecido, tenemos otros elementos.<span style="font-size: x-small;"><span style="font-size: small;"></span></span></span><br />
<span style="font-family: Arial, Helvetica, sans-serif;">Después aparece el <em>constructor</em> de la clase, que es el código que primero se ejecutará.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;">Pasamos a los campos. Primero tenemos un campo del tipo número entero (<em>int</em> e <em>Integer</em>) al cual le hemos dado por primera vez el valor de 3. Como es variable en cualquier momento podemos darle cualquier valor; como es privado, solo puede ser visto desde la clase. </span><br />
<span style="font-family: Arial, Helvetica, sans-serif;">Ahora creamos un valor constante (de solo lectura) de tipo numérico doble (<em>double</em> y <em>Double</em>) y le asignamos el número pi con 10 decimales.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;">Ahora creamos una propiedad que como ya he dicho, dedicaré un capítulo a este miembro de clase y por último un método <em>protected</em> simple con el pretendemos cargar el menú principal de nuestra aplicación. (Para C# un método se inicia con <em>void</em> y <em>llaves {}</em> y en VB mediante <em>Sub</em> y <em>End Sub</em>.)</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;">Ya está, poco a poco va creciendo nuestra clase y le vamos dando forma. El desarrollo de software es arquitectura por tanto antes de empezar a escribir código hay muchos elementos comunes y fijos que siempre aparecen en las clases, pero hay otros que debemos y tenemos que meditar, planificar, diseñar, etc. antes de plasmarlos en una clase como líneas de código.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"></span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"> Antes de despedirme he dejado caer los tipos <em>int</em> y <em>double</em>, pues hay muchos más. Al declarar una variable como un tipo concreto, le estamos diciendo que guarde en memoria un objeto concreto con unas características concretas, por ejemplo, cuando hemos guardado en la variable <em>variable_1</em> el valor 3 como un valor entero, estamos diciéndole al sistema que el valor que voy a guardar en un futuro, no va a sobrepasar los 32 bit en binario (ala!!!) y sin embargo para el valor de pi, he visto que es necesario su utilización como valor <em>double</em> que utiliza valor en coma flotante con 64 bit en binario (otra vez alaaaaa!!!!!)¿pero que es esto? tranquiiiilos! todo llega.</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"></span><br />
<span style="font-family: Arial, Helvetica, sans-serif;">Espero no haberos aburrido!!</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"></span><br />
<span style="font-family: Arial, Helvetica, sans-serif;">Saludos "der Waki"</span></div>
Joaquin Martínezhttp://www.blogger.com/profile/07166016070485946881noreply@blogger.com0tag:blogger.com,1999:blog-1726059233582515530.post-58333931732216949162014-08-30T21:26:00.000+02:002014-08-31T20:17:13.970+02:005.- Primer contacto con el código<div dir="ltr" style="text-align: left;" trbidi="on">
Por fin vamos a comenzar a escribir código!!! (pero poco, que luego nos liamos)<br />
Hay una gran variedad de lenguajes, pero en principio nos vamos a centrar en .NET y los lenguajes que usamos para .NET.<br />
<br />
¿Qué es .NET? Es una plataforma a la que las aplicaciones acceden a coger lo que les hace falta, de ese modo cada vez que desarrollamos una aplicación no tiene porque llevar consigo ciertas herramientas. Con esto conseguimos que todo el mundo use las mismas utilidades y del mismo modo.<br />
De los componentes que tiene .NET Framework nos enfocamos en dos, el CLR (Common Language Runtime) y la biblioteca de clases.<br />
<br />
El primero es un entorno de ejecución que asegura que el código escrito cumple una serie de reglas, (vamos que es bueno!) y por otra parte compila desde un lenguaje intermedio (MSIL) al código nativo. El CLR nos permite poder crear una clase en Visual Basic, crear dos heredadas de esta en C# y C++. Que cosas!!<br />
La biblioteca de clases contiene todas las clases base, (valga la redundancia), para todos los lenguajes de programación. En definitiva, da igual el lenguaje que utilicemos, todos valen!.<br />
Antes de continuar, vamos a repasar alguna palabra nueva.<br />
<br />
¿Que es compilar? es convertir un lenguaje a otro, normalmente a código máquina. ¿Y que es código máquina? es el lenguaje que solamente entiende un microprocesador, el chip principal de nuestro PC.<br />
Por tanto, generamos clases C#, VB, .. el compilador lo convierte a MSIL y posteriormente el CLR se encargará de compilar a código máquina con otro compilador (Just In Time JIT ) lo que vayamos necesitando. (Es bastante más complicado, pero dejémoslo ahí, más o menos).<br />
<br />
Y yo ¿qué necesito para crear un programa? pues un editor de texto, por ejemplo el bloc de notas (Notepad.exe) o yo, personalmente utilizo <a href="http://notepad-plus-plus.org/" target="_blank">notepad++</a>, (lo utilizo mucho para HTML) tabula, cambia el color de variables, métodos, tiene múltiples lenguajes, etc, y por último un compilador.<br />
¿Dónde consigo el compilador? Al instalar .NET Framework, se instalan también los compiladores, por lo que podemos compilar desde la línea de comandos (csc para C# y vbc para VB. Ya lo haremos! poco a poco.<br />
Pero entonces, ¿por qué tenemos que instalar Visual Studio? Visual Studio es un IDE (Entorno de Desarrollo Integrado), el cual tiene un conjunto de herramientas para diferentes lenguajes como <a href="http://es.wikipedia.org/wiki/Visual_C%2B%2B" title="Visual C++">C++</a>, <a class="mw-redirect" href="http://es.wikipedia.org/wiki/C_sharp" title="C sharp">C#</a>, <a href="http://es.wikipedia.org/wiki/Visual_Basic_.NET" title="Visual Basic .NET">Visual Basic .NET</a>, <a href="http://es.wikipedia.org/wiki/F_Sharp" title="F Sharp">F#</a>, <a href="http://es.wikipedia.org/wiki/Java_(lenguaje_de_programaci%C3%B3n)" title="Java (lenguaje de programación)">Java</a>, <a href="http://es.wikipedia.org/wiki/Python" title="Python">Python</a>, <a href="http://es.wikipedia.org/wiki/Ruby" title="Ruby">Ruby</a>, <a href="http://es.wikipedia.org/wiki/PHP" title="PHP">PHP</a> y para entornos de desarrollo ASP.NET que te AYUDAN MUCHÍÍÍÍÍÍSIMO a crear aplicaciones, por tanto os insto a usarlo. Microsoft, tiene una versión de <a href="http://www.visualstudio.com/en-us/products/visual-studio-express-vs.aspx" target="_blank">Visual Studio Express</a> gratuita, te registras y a programar!<br />
<br />
Como dije vamos a aprender dos lenguajes muy comunes C# (la almohadilla se lee Sharp, por tanto C Sharp) o Visual Basic .NET.<br />
Cuando creamos la clase vehículo o camión, yo ponía en el lenguaje "der waki", <em>comienza declaración de clase</em>, pues eso, cuando se genera una clase, hay que poner lo siguiente:<br />
<br />
<span lang="EN-US" style="font-family: Courier; mso-ansi-language: EN-US;">En C#</span><span lang="EN-US" style="mso-ansi-language: EN-US;"><o:p></o:p></span><br />
<br />
<span style="font-family: Consolas;"><span style="font-family: "Courier New", Courier, monospace;"><span style="color: blue;">using</span> Espacio_de_nombres1;<br /><span style="color: blue;">using</span> Espacio_de_nombres1;</span><br />
<span style="font-family: "Courier New", Courier, monospace;"><span style="color: blue;">namespace</span> espacio_de_nombres<br />{<br /> <span style="color: blue;">public</span> <span style="color: blue;">class</span> Class1<br /> {<br /> <span style="color: #38761d;">// aquí va el código</span> }<br />}</span></span><br />
<span style="font-family: "Courier New", Courier, monospace;">en VB:NET</span><br />
<span style="font-family: "Courier New", Courier, monospace;"><br /><span style="color: blue;">Imports</span> espacio_de_nombres1<br /><span style="color: blue;">Imports</span> espacio_de_nombres2</span><br />
<span style="font-family: "Courier New", Courier, monospace;"><span style="color: blue;">Namespace</span> espacio_de_nombres<br /> <span style="color: blue;">Class</span> [MyClass]<br /> <span style="color: #38761d;">' aquí va el código</span><br /> <span style="color: blue;">End Class</span><br /><span style="color: blue;">End Namespace</span></span><br />
<br />
En primer lugar ¿Qué es la palabra using o Imports? La biblioteca de clases
de .NET Framework tiene un entramado jerárquico de clases enorme y algunos
nombres bastante largos. Si tenemos que usar alguna de las clases de alguna biblioteca,
tendríamos que escribir continuamente los espacios de nombre a la que
pertenecen las clases ( y algunos son largos, largos), pues de este modo, una vez
incluidos mediante using o Imports, no es necesario escribir continuamente y si
el compilador no entiende algo que he escrito, se encarga de buscarlo en la
lista de using.<br />
<br />
¿Qué es el espacio de nombres? <span class="sentence">Los espacios de nombres se utilizan en gran medida en
la programación de dos maneras. </span><span data-guid="6e8c23d425eeee3554fc7b3fab57cdd8" data-source="First, the .NET Framework uses namespaces to organize its many classes, as follows:" id="mt2" xml:space="preserve"><sentencetext xmlns="http://www.w3.org/1999/xhtml">En
primer lugar, .NET Framework utiliza los espacios de nombres para organizar sus
múltiples clases. En segundo lugar, declarar espacios de nombres propios puede
ayudar a controlar el ámbito de clase y nombres de método en proyectos de
programación grandes</sentencetext></span>. Concluyendo, son contenedores de clases
que nos ayudan a mantenerlas ordenadas y localizadas. Si creo 5 clases distintas
pero están todas en el mismo namespace, podré acceder a cualquiera de ellas a
través de este por ejemplo escribiendo namespace1.clase3.<br />
<br />
Para declarar la clase, utilizamos las llaves en C#, mientras que en VB
Iniciamos con Class y finalizamos con End Class. Dentro de la clase,
escribiremos el código.<br />
<br />
Donde ponía <em>Nota</em>, en C# es // y después los comentarios y en
VB.NET la comilla simple '.<br />
Ojo!!, en C#, las líneas deben acabar con punto y coma ";".<br />
<br />
Como consejo, diría que a la hora de escribir código, hay que respetar
escrupulosamente los nombres mediante una notación específica, respetar
tabulaciones, comentar, en definitiva limpieza porque si un programa es grande,
la cosa se puede complicar muy mucho, además, si trabajáramos en un equipo de
trabajo, lo que estoy diciendo se convertiría en condición
indispensable. El mantenimiento de las aplicaciones es muy costoso y si no tenemos el código limpio, mal vamos!, dedicaremos un post solo a la notación.<br />
<br />
Nos quedamos aquí por hoy, pero recuerden, aún hay mas!!!<br />
<br />
Saludos “der waki”<br />
<br />
<br />
<br />
<br />
<div class="MsoNormal" style="margin: 0cm 0cm 10pt;">
<span style="color: #636363; font-family: "Verdana","sans-serif"; font-size: 9pt; line-height: 115%;"><o:p><span style="font-family: Times New Roman; font-size: small;"> </span></o:p></span></div>
</div>
Joaquin Martínezhttp://www.blogger.com/profile/07166016070485946881noreply@blogger.com0tag:blogger.com,1999:blog-1726059233582515530.post-33721666851871324012014-08-30T17:17:00.003+02:002014-10-05T12:41:24.450+02:004.- Y ahora, creo un objeto heredado<div dir="ltr" style="text-align: left;" trbidi="on">
En esta entrega vamos a crear un objeto utilizando la herencia y el polimorfismo, creando una nueva clase que va a heredar las características y las funciones de su "padre" además de añadirle las suyas propias.<br />
Volviendo de nuevo al código "der waki", vamos a utilizar la clase vehículo de la anterior entrega para crear una clase nueva llamada camión.<br />
Un camión como dijimos, sigue siendo un vehículo pero agregándole nuevas características; una era la capacidad de la caja y otra avanzar con reductora (para los que no sepan lo que es reductora es una caja de cambios especial que mediante ruedas dentadas como no podía ser de otro modo, obtiene potencia en perjuicio de velocidad, mas fuerza!!). Comenzamos.<br />
<br />
Declaro <strong>Camión</strong>. Heredo de <strong>Vehículo. </strong><em>Nota</em>:<strong> Herencia!!!</strong><br />
(comienza declaración de clase)<br />
<br />
<em>Nota</em>: Características<br />
<br />
propiedad <strong>capacidad</strong>. Esto es número.<br />
<br />
<em>Nota</em>: ahora declaro los métodos<br />
<em>Nota</em>: Este método es igual que el de vehículo, ahora tenemos dos método llamados avanzar, uno el que hemos heredado de vehículo y el otro que estamos creando ahora. Solo hay que especificar cual utilizar.<br />
<br />
método <strong>Avanzar </strong><strong>(¿Hasta que velocidad?)</strong><br />
(comienza método)<br />
<em>Nota</em>: <strong>Polimorfismo!!!</strong><br />
<em>Requisitos</em>. El vehículo debe estar arrancado, el vehículo no debe tener el freno de mano echado.... <br />
<em>Acciones</em>. Activar caja de cambios reductora. Llevar el coche a la velocidad del método. Envío más o menos combustible a los inyectores dependiendo de como esté pisado el acelerador y como es automático, el embrague se ha accionado y la caja de cambios engrana con otros métodos internos y ... (<strong>encapsulación</strong>), más acciones que no vemos!!<br />
(finaliza método)<br />
<br />
(finaliza declaración de clase)<br />
Ahora ya que tenemos la plantilla, vamos a crear el objeto <strong>Camión</strong>. <br />
<br />
Crear un nuevo <strong>Vehículo</strong> como <strong>Camión </strong>que voy a llamar <strong>camión "der</strong> <strong>waki"</strong><br />
Nota: He hecho esto para instanciar un vehículo pero como camión, ¿para que? para que cuando inicie el método avanzar lo haga con la reductora.<br />
<strong></strong><br />
la <strong>matrícula</strong> del <strong>camión </strong><strong>der</strong> <strong>waki </strong>es 0001 AAA. Nota: Esta propiedad es heredada<br />
el <strong>número de bastidor</strong> de <strong>camión</strong> <strong></strong><strong>der</strong> <strong>waki </strong>es YYYYYY. Nota: Esta propiedad es heredada<br />
la <strong>potencia</strong> de <strong>camión</strong> <strong></strong><strong>der</strong> <strong>waki </strong>es 250 CV. Nota: Esta propiedad es heredada<br />
la velocidad de <strong>camión</strong> <strong></strong><strong>der</strong> <strong>waki </strong>es 0 km/h. Nota: Esta propiedad es heredada<br />
la capacidad de <strong>camión der waki</strong> es 36 metros cúbicos. Nota: Esta propiedad es solo del camión!<br />
<br />
Ordeno al <strong>camión</strong> <strong></strong><strong>der</strong> <strong>waki Arrancar </strong><strong>Motor</strong><br />
Ordeno al <strong>camión</strong> <strong></strong><strong>der</strong> <strong>waki Avanzar</strong><strong>. </strong><em>Nota</em>: Avanzará con reductora porque hemos instanciado un vehículo pero como camión, por tanto utilizará el método avanzar de camión, es decir con reductora.<br />
Ordeno al <strong>camión</strong> <strong></strong><strong></strong><strong>der</strong> <strong>waki </strong> <strong>Parar Motor</strong><br />
Bueno, pues en esta clase, hemos intentado adaptar los principios fundamentales de la programación, herencia, encapsulación y polimorfismo creando un nuevo objeto heredado y con funciones sobrescritas.<br />
<br />
Saludos "der Waki"<br />
<br />
PD. Tengo que hacer un inciso sobre las propiedades de una clase; cuando he declarado una propiedad, le he dicho esto es texto, esto es un número, esto es una fecha, etc... bueno, esto es un aspecto que hay que tener en cuenta, cuando declaramos las propiedades o variables de una clase, tenemos que decirle que son y que van a albergar en su interior de modo que estén preparadas, bueno realmente lo que estamos es instanciar nuevas clases y estas, tiene métodos propios del tipo que sea. Por ejemplo, si incluimos una nueva propiedad a la clase vehículo como fecha de fabricación, no sería válido ponerle el 42 de Febrero de 2014, ya que la clase de fechas no permitiría tal aberración.</div>
Joaquin Martínezhttp://www.blogger.com/profile/07166016070485946881noreply@blogger.com0tag:blogger.com,1999:blog-1726059233582515530.post-47687296604792688432014-08-29T18:53:00.002+02:002014-08-30T21:28:16.794+02:003.- Voy a crear un objeto<div dir="ltr" style="text-align: left;" trbidi="on">
En esta entrega, vamos a crear un objeto y que previamente debemos construir su plantilla o clase, pero no vamos a utilizar ningún lenguaje de programación conocido, sino que vamos a inventarnos uno, el lenguaje "<em>der Waki</em>". (Vaya tela con er Waki y sus inventos!!)<br />
<br />
Vamos a crear el objeto vehículo del primer post, un vehículo simple que arranca, para el motor y avanza, que tiene matrícula, número de bastidor, potencia y velocidad, para ello, debemos crear la plantilla; en lenguajes de programación, se comienza siguiendo una <em>ortografía</em> concreta, declarando la clase, pero como nos vamos a inventar un lenguaje nuevo, pues adelante ahí va!!<br />
(el vehículo que vamos a generar, le obviamos muchos de los aspectos técnicos que conocemos, ya que el fin de este post, es aprender a programar, no hacer un master en automovilismo!. Supongamos que es un vehículo automático, sin embrague que es más fácil, de conducir)<br />
<br />
declaro <strong>Vehículo</strong><br />
(comienza declaración de clase)<br />
<br />
Nota: ahora declaro las características. (las notas no afectan al declarar ni instanciar el objeto, son NOTAS)<br />
propiedad <strong>matrícula</strong>. Esto es texto.<br />
propiedad <strong>número de bastidor</strong>. Esto es texto.<br />
propiedad <strong>potencia</strong>. Esto un número.<br />
propiedad <strong>velocidad</strong>. Esto un número<br />
<br />
Nota: ahora declaro los métodos<br />
<br />
método <strong>Arrancar Motor</strong><br />
(comienza método)<br />
<em>Requisitos</em>. Estar parado el motor. <em>Nota</em>: Es simple, pero debe ser así, jeje<br />
<em>Acciones. </em>Alimentar con electricidad el coche, accionar motor de arranque, enviar combustible, arrancar motor.<br />
(finaliza método)<br />
<br />
método <strong>Parar Motor</strong><br />
(comienza método)<br />
<em>Requisitos</em>. Estar arrancado el motor.<br />
<em>Acciones. </em>Cortar alimentación al coche, parar motor.<br />
(finaliza método)<br />
<br />
método <strong>Avanzar (¿Hasta que velocidad?)</strong><br />
(comienza método)<br />
<em>Requisitos</em>. El vehículo debe estar arrancado, el vehículo no debe tener el freno de mano echado.... <br />
<em>Acciones</em>. Llevar el coche a la velocidad del método. Envío más o menos combustible a los inyectores dependiendo de como esté pisado el acelerador y como es automático, el embrague se ha accionado y la caja de cambios engrana con otros métodos internos y ... <em>Nota</em>: Y muchas más cosas que ocurren y se comprueban antes de avanzar (<strong>encapsulación</strong>), nosotros no las vemos!!<br />
(finaliza método)<br />
<br />
(finaliza declaración de clase)<br />
<br />
Pues esto con mucha simpleza y con el leguaje "der waki", hemos declarado una clase llamada vehículo, si ahora quiero crear un objeto vehículo, digo en mi lenguaje...<br />
<br />
Crear nuevo <strong>Vehículo</strong> que voy a llamar <strong>vehículo der</strong> <strong>waki </strong><br />
<strong></strong><br />
la <strong>matrícula</strong> del <strong>vehículo der</strong> <strong>waki </strong>es 0000 AAA<br />
el <strong>número de bastidor</strong> de <strong>vehículo der</strong> <strong>waki </strong>es XXXXXXXX<br />
la <strong>potencia</strong> de <strong>vehículo der</strong> <strong>waki </strong>es 177 CV<br />
la velocidad de <strong>vehículo der</strong> <strong>waki </strong>es 0 km/h<br />
<br />
Ordeno al <strong>vehículo der</strong> <strong>waki Arrancar </strong><strong>Motor</strong><br />
Ordeno al <strong>vehículo der</strong> <strong>waki Avanzar (</strong>hasta los <strong>20 Km/h) </strong><br />
Ordeno al <strong>vehículo der</strong> <strong>waki Avanzar (</strong>hasta los <strong>50 Km/h) </strong><br />
Ordeno al <strong>vehículo der</strong> <strong>waki Avanzar (</strong>hasta los <strong>0 Km/h) </strong>Nota: Esto es lo mismo que frenar, no?<br />
Ordeno al <strong>vehículo der</strong> <strong>waki </strong> <strong>Parar Motor</strong><br />
<strong></strong><br />
Pues esto, en un lenguaje muy simple, es lo que se hace con una clase para convertirla en un objeto. Una vez creada la plantilla (clase) podemos crear (instanciar) tantos vehículos como queramos y asignarles las propiedades distintas a cada uno de estos objetos. Vehículos distintos con diferentes propiedades pero basados en una misma plantilla.<br />
<br />
Como ya veremos no es tan difícil adaptar el lenguaje "der waki" a los lenguajes de programación, prácticamente y por eso lo he hecho así, se hacen de este modo. Tranquilos, ya llegará el momento de escribir código, primero la base. Para integrar o derivar hay que aprender muchas cosas antes!<br />
<br />
Saludos "der Waki".</div>
Joaquin Martínezhttp://www.blogger.com/profile/07166016070485946881noreply@blogger.com0tag:blogger.com,1999:blog-1726059233582515530.post-14054805690367279402014-08-29T00:08:00.000+02:002014-08-30T21:28:06.833+02:002.- En programación todo es un objeto<div dir="ltr" style="text-align: left;" trbidi="on">
¿Qué es una clase? Una clase es una colección de objetos que comparten características comunes entre ellos. Es la plantilla en la que nos basamos para crear un objeto.<br />
<br />
Un clase contiene métodos y propiedades entre otras cosas y siguiendo el ejemplo del post de ¿Que es la Programación Orientada a Objetos? podemos decir que el vehículo es una <b>clase</b>, sus características son <b>propiedades</b> y sus funcionalidades <b>métodos</b>. Además a los objetos en la clase les podemos añadir <strong>eventos</strong> que son acciones que se realizan cuando ocurre un suceso concreto.<br />
Para crear el objeto generamos una clase y dentro de esta sus propiedades y métodos y esto se hace mediante texto con una “ortografía” concreta dependiendo del lenguaje utilizado. Si estamos desarrollando una aplicación de Windows con .NET utilizaríamos por ejemplo como lenguaje C# (csharp) o Visual basic y con la ortografía concreta de cada lenguaje generaríamos esa clase; posteriormente necesitaríamos de un programa compilador para convertir esta clase en una aplicación ejecutable de window.<br />
Una librería DLL es una clase y no es un programa ejecutable tipo window, tiene funcionalidades y características concretas.<br />
Vamos a poner un ejemplo práctico, creamos una aplicación tipo ventana en la que vamos a incluir una caja de texto donde poder escribir y un botón y cada vez que pulsemos, aparecerá un mensaje de alerta con el texto de la caja. <br />
Normalmente Visual Studio hace muchas cosas por nosotros, pero vamos a entender que no. Entonces, para crear la ventana de window generamos una nueva clase la cual HEREDARÁ de la clase <em>form</em> para que tenga todas las funcionalidades de un formulario tipo window, titulo, botones de cerrar, minimizar, maximizar, ajustable, etc. La clase <em>form</em> es un <strong>OBJETO</strong> al instanciarla. Dentro de ese nuevo form que hemos creado añadimos la caja de texto y el botón (en un futuro ya veremos cómo hacerlo) y tanto la caja de texto donde escribimos y el botón son <strong>OBJETOS</strong>, son clases también con sus propiedades, métodos y eventos que al instanciarlas, se convierten en objetos, estos, llamados controles, heredan funcionalidades comunes de la clase CONTROL que también es un <strong>OBJETO</strong> y la clase control hereda de otra Component y así de ese modo mediante la herencia de clases le añadimos el legado de otros desarrolladores que generaron esas clases.<br />
Las clases son plantillas para crear <strong>OBJETOS</strong> y al agregar un control tipo botón al formulario como contenedor estamos instanciando una clase que será un <strong>OBJETO</strong> o una clase botón y la estamos añadiendo en esta contenida. <br />
En definitiva, en programación todo es un <strong>OBJETO</strong>.<br />
Nota: Todos los lenguajes de programación están orientado a objetos, JAVA por ejemplo es un lenguaje tipo POO, C++ o C#. Todo lo que explique irá orientado a .NET y como lenguajes C# o VB.NET.<br />
Saludos "der Waki"</div>
Joaquin Martínezhttp://www.blogger.com/profile/07166016070485946881noreply@blogger.com0tag:blogger.com,1999:blog-1726059233582515530.post-28360972366206442982014-08-29T00:03:00.000+02:002014-10-05T12:44:48.687+02:001.- ¿Que es la Programación Orientada a Objetos (POO o OOP, Object Oriented Programming)?<div dir="ltr" style="text-align: left;" trbidi="on">
Este es mi primer post en <em>codewaki</em> y como no, voy a dedicarlo a lo que creo que es más importante para aprender a programar, la Programación Orientada a Objetos.<br />
Como para cualquier situación en la vida en la que debemos realizar un trabajo, proceso, tarea, etc. necesitamos de unos conocimientos previos para poder realizarlos; por ejemplo, si jamás hemos conducido un coche, al sentarnos solos por primera vez delante del volante es como si nos sentáramos en una cabina de un avión; si no hay conocimientos, no hay conducción o sin embargo si la hubiera porque hemos visto a alguien conducir, lo haríamos mal o aprenderíamos con defectos que costarían mucho luego corregir. Para aprender a programar, es necesario conocer obligatoriamente los conceptos de POO, ya que sin ellos, puede que hagamos <em>pinitos</em> en programación, pero jamás llegaremos a poder afrontar aplicaciones claras y limpias en las que poder corregir, reutilizar o compartir. Si aprendéis bien estos conceptos, aprenderéis a programar, si aplicáis correctamente los conceptos de POO, estos cumplirán su promesa<br />
¿Qué es un objeto en programación? Pues es como en la vida real, un <em>algo</em> que tiene unas características concretas y que puede hacer cosas o no. Un ejemplo. Una radio es un objeto que tiene las siguientes características:<br />
<ul>
<li>Onda media</li>
<li>Frecuencia modulada</li>
<li>Onda corta</li>
<li>Puede variar el volumen</li>
<li>Puede buscar frecuencias</li>
<li>Puede cambiar entre onda corta, onda media y frecuencia modulada</li>
<li>Tiene dos altavoces</li>
<li>Tiene un indicador de estéreo</li>
<li>etc...</li>
</ul>
en líneas generales hemos detallado un objeto con unas características y que además tiene funciones como cambiar a FM, variar volumen, variar frecuencia, etc.. grosso modo, si quisiera en programación crear una radio, tendría un objeto radio que he creado antes y simplemente instanciaría una nueva radio cuantas veces quisiera. Vamos a detallar los principios de la POO y luego pasaremos a un ejemplo.<br />
La POO tiene unos conceptos básicos y fundamentales y son <strong>encapsulación</strong>, <strong>herencia</strong> y <strong>polimorfismo</strong>.<br />
<br />
La <strong>encapsulación</strong> (arte de ocultar) es la capacidad de ocultar los procesos internos de un objeto y proporcionar los que si queremos que usen los usuarios. En el caso de la radio, el usuario no tiene porqué saber como desmodula la radio la señal de frecuencia modulada en señal de audio, es decir la señal que recibe la antena y que se convierte en música por el altavoz. El usuario ENCIENDE o APAGA, CAMBIA de frecuencia, VARIA el volumen, etc. pero no tiene porqué conocer que hace interiormente. Cada vez que instanciemos una nueva radio, el usuario solo podrá ver y usar estas funciones.<br />
<br />
La <strong>herencia</strong> es la relación que tiene un objeto de otro objeto. Yo tengo una herencia de mi padre y de mi madre, porque he heredado y valga la redundancia genéticamente características propias de ellos. Además con el tiempo, yo he adquirido nuevas características que me hacen único como cualquier ser humano, bueno pues en programación es la parte más significativa del diseño de un sistema; sin herencia tendríamos que repetir y cambiar código continuamente cada vez que hiciéramos una corrección. En definitiva es aprovechar objetos con características concretas y heredarlas a nuestro objeto. Un ejemplo.<br />
Creamos un objeto <b>vehículo</b>, el cual solo le vamos a dar la funcionalidad de arrancar, parar y avanzar y como características un motor con la posibilidad de cambiar su potencia, matrícula, número de bastidor. <br />
<br />
Creamos otro objeto al que llamaremos <b>vehículo con marcha atrás</b>, este objeto va a heredar de vehículo pero le damos un nuevo desempeño, marchar hacia atrás.Creamos ahora un objeto <b>camión</b>, que hereda las funcionalidades de <b>vehículo con marcha atrás</b>; a este objeto camión, le añadimos una caja y a esta caja le damos la posibilidad de cambiar su volumen para en un futuro poder crear camiones con diferentes capacidades. Creamos otro objeto turismo que hereda de igual modo de <b>vehículo con marcha atrás</b> y a este se me ocurre ponerle una característica como número de puertas y la posibilidad de hacerlo descapotable y por último creamos un objeto motocicleta el cual va a heredar de vehículo y le damos una característica concreta de tipo (carretera, trial, trail, scooter, enduro,….).<br />
<br />
Si quisiera crear un camión con caja de 10 metros cúbicos, simplemente instanciaría un objeto camión, le asignaríamos el volumen y como hereda de vehículo marcha atrás y este de vehículo, podrá arrancar, parar, avanzar, ir hacia atrás y además con las características propias de un vehículo, matrícula, potencia y número de bastidor.<br />
<br />
Supongamos que en un futuro le añadimos nuevas características a los vehículos como por ejemplo aparcar solo, pues agregamos al objeto vehículo con <b>marcha atrás </b>la posibilidad de aparcar, mientras que las motocicletas no podrían. Las funciones internas que deba realizar el objeto en sus entrañas para poder aparcar solo es a lo que nos referíamos antes con el concepto de encapsulación, el usuario no tiene porqué conocer que hace para aparcar solo.<br />
<br />
El <strong>polimorfismo </strong>es la funcionalidad de invocar nuevo código con código antiguo. Expliquemos esto. El vehículo puede avanzar, pero en el caso del camión le podemos añadir la posibilidad de avanzar con reductora, es decir le damos esa posibilidad pero bajando la velocidad en beneficio de potencia para llevar más peso. Esto implica que dentro del objeto camión creamos una función avanzar pero propia del camión. Esto nos proporciona dos beneficios, uno es poder agrupar objetos que tienen una base común y tratarlos consistentemente y otra es que el código antiguo puede utilizar un código nuevo.<br />
Esto es solo un pequeño resumen de la POO que espero hayáis entendido, sin estos conceptos, los programas que desarrolléis en un futuro podrían convertirse en una pesadilla con su consecuente pérdida de tiempo.<br />
Saludos “der Waki”</div>
Joaquin Martínezhttp://www.blogger.com/profile/07166016070485946881noreply@blogger.com0