Ensayo

Solo disponible en BuenasTareas
  • Páginas : 17 (4120 palabras )
  • Descarga(s) : 0
  • Publicado : 10 de mayo de 2010
Leer documento completo
Vista previa del texto
TRIANGULO
`ImportsSystem.Threading.Threadlibrería para dibujar los puntos y lineas`
`ImportsSystem.Mathlibrería para hacer opreciones matematicas`
`PublicClassTriangulo`
` Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click`
'Declaracion de variables
` Me.AD.Refresh() `
` Me.P1.Refresh()`
` Me.ListBox1.Refresh()`` Dim N As Long = CLng(TextBox1.Text)`
` Dim H As Double = Convert.ToDouble(TextBox2.Text)`
` Dim B As Double = Convert.ToDouble(TextBox3.Text)`
` Dim x As Double = 0.0`
` Dim y As Double = 0.0`
` Dim x1 As Double = 0.0`
` Dim y1 As Double = 0.0`
` Dim p1 As New PointF`
` Dim p2 As New PointF`
` Dim DX As Double = 0.0`
` Dim DY As Double = 0.0`
` Dim DT AsDouble = 0.0`
` Dim eu As Double = 0.0`
` DimPROMAsInteger`
` IfH > BThen' Este parametro permite que la altura debe ser mayor que la base`
` ForiAsLong= 1ToNGenera puntos tantas veces el usuario ha digita. `
Do
x = B * Rnd()Genera el valor de la coordenada que no sea mayo a la base
y = H * Rnd()
` LoopWhile((y > (H * (B - x)) / B))FORMULA !!! `
p1.X = x
p1.Y = y
Dox1 = B * Rnd()
y1 = H * Rnd()
` Loop While ((y1 > (H * (B - x1)) / B))`
p2.X = x1
p2.Y = y1
` Dim vertice As New PointF`
` If p1.X < p2.X And p2.Y < p1.Y Then Condicion !!! `
` vertice.X = p1.XToma los valores menores!! Porque nosotros quisimooos !! `
vertice.Y = p2.Y
` ElseIfp1.X > p2.XAndp2.Y > p1.YThen`
vertice.X = p2.X
vertice.Y = p1.Y
` ElseIfp1.X p1.YThen`
vertice.X = p2.X
vertice.Y = p1.Y
` ElseIfp1.X > p2.XAndp2.Y < p1.YThen`
vertice.X = p1.X
` vertice.Y = p2.Yestos condiciones son para el punto imaginario (vertice) `
` EndIf`
Do
` Loop While ((y > (H * (B - x)) / B))`
` DX = Abs(p1.X - p2.X)abs:si es negativo se toma positivopor al ABS, Distancia en x = la coordenada del punto x – coordenada delpunto 2 en x `
` DY = Abs(p1.Y - p2.Y)si es negativo se toma positivopor el ABS, Distancia en x = la coordenada del punto x – coordenada del punto 2 en x `
Estas dos distancias son necesarias tanto para la distancia metropolitana como la euclidania
` DT += DX + DYEs la sumatoria de las dos distancias tanto en x como en y esta sumatoria es la distancia metropolitana`
PROM = eu / N
`eu += Sqrt((DX) ^ 2 + (DY) ^ 2)esta nos indica la distancia euclidania total de los puntos la raiz cuadrada (SQRT) de las en X elevada al cudardo mas la distancia en Y elevada al cuadrado`
` Me.TextBox4.Text = DT`
` Me.TextBox5.Text = eu`
` Me.TextBox6.Text = PROM`
`p1.X *= 20como los puntos son muy pequeños lo multiplicamos por 20 para poder agrandarla`
p1.Y *= 20
p2.X *= 20p2.Y *= 20
vertice.X *= 20
vertice.Y *= 20
` ListBox1.Items.Add("("& p1.X &" , "& p1.Y &" )"&" - "&" ( "& p2.X &" , "& p2.Y &" )")visualiza en el listbox las coordenada en X y en Y de todos los puntos dibujados`
` dibujar(p1, p2, vertice)dibuja en el picturebox1(AD) los puntos tanto el punto 1, el punto 2 y el punto imaginario (Vertice)`
` dibujar2(p1, p2)dibuja en elpicturebox2(PI)solo lospuntos 1 y 2 `

Next
Else
` MsgBox("recuerde que la altura debe ser mayor que la base", MsgBoxStyle.Exclamation,"error")Nos aparece un mensaje si la condicion que colocamos al principio de que la altura sea mayor que la base no se cumpla`
` EndIf`
` EndSub`
` Private Sub dibujar(ByVal a As PointF, ByVal b As PointF, ByVal c As PointF)es donde se dibujan lospuntos 1,2,imaginario(vertice) con sus respectivas lineas que los une`
` Dim s As New Size(3, 3)es el tamaño del punto`
` DimrAsNewRectangleF(a, s)es la relacion entre el punto1 y el tamaño`
` Dimr1AsNewRectangleF(b, s) es la relacion entre el punto2 y el tamaño`
` Dimr2AsNewRectangleF(c, s) es la relacion entre el puntovertice y el tamaño`
AD.CreateGraphics.DrawEllipse(Pens.Blue,...
tracking img