vb

Iniciado por osmanorozco, 25 Agosto 2012, 00:19 AM

0 Miembros y 1 Visitante están viendo este tema.

osmanorozco

queria saber amigos q codigo me hace falta para q me de este resultado


-realizar un programa q dibuje un triangulo de n filas, empleando el carácter asterisco (ver figura). Realice el programa utilizando:

Sentencia For
Sentencia while
Por ejemplo para n = 4
               *******
                  *****
                    ***
                      *            
Option Explicit
Private Sub Command1_Click()
Dim nf As Integer
Dim asterisco As String

'Dim j As Integer
Dim i As Integer
nf = InputBox("ingrese el numero de fila")
asterisco = asterisco & "*"
For i = 1 To nf

       asterisco = asterisco & vbCrLf & String(i, "*") & vbCrLf
    Next
        MsgBox asterisco
   
    End Sub


seba123neo

el post anterior te lo borre, porque borraste el mensaje principal, y eso que te habian respondido varios usuarios incluido yo, como te dijeron no se hacen tareas.
La característica extraordinaria de las leyes de la física es que se aplican en todos lados, sea que tú elijas o no creer en ellas. Lo bueno de las ciencias es que siempre tienen la verdad, quieras creerla o no.

Neil deGrasse Tyson

kaiserr

yo haria una relacion entre el numero de filas y asteriscos... es decir, si tu indicas que hay 4 filas, empezar con 4 asteriscos e ir reduciendo la cantidad hasta uno.

Elemental Code

#3
porque no usar una matriz?

Valores de X()
[3,0] [3,1] [3,2] [3,3]
[2,0] [2,1] [2,2] [2,3]
[1,0] [1,1] [1,2] [1,3]
[0,0] [0,1] [0,2] [0,3]

0,0 = *
0,1 = *
1,1 = *
2,2 = *
3,3 = *
2,3 = *
1,3 = *
0,3 = *
0,2 = *

Resultado:

[ ] [ ] [ ] [*]
[ ] [ ] [*] [*]
[ ] [*] [ ] [*]
[*] [*] [*] [*]


Despues mostralo con una fuente monospace :P




Edito.
Mas facil hacerlo con un for en negativo, no? :P

hace algo asi:
RUSICMODEOOOOOON!

Código (vb) [Seleccionar]
x = InputBox("asteriscos iniciales")
For i = x To 1 Step -1
    asteriscos = asteriscos & String(i, "*") & vbCrLf
Next
MsgBox asteriscos


este codigo no tiene variables declaradas, comprobacion de errores ni nada. es una mera muestra nomas de como usar un step negativo

I CODE FOR $$$
Programo por $$$
Hago tareas, trabajos para la facultad, lo que sea en VB6.0

Mis programas

ABDERRAMAH

#4
un bucle while anidado es otra opción, no es muy buena, sobre todo despues de las que hemos visto antes, pero no deja de ser una opción. Lo he escrito aquí sin probarlo ni nada, es sólo un ejemplo, pero puede contener errores (aunque no, creo que no).

Citar
dim respuesta as string=""
dim main_iteracion as integer=4
dim sec_iteracion as integer=0

do while p >= 1
sec_iteracion = p-1

 do while sec_iteracion > 1
  respuesta=respuesta+"**"
  sec_iteracion=sec_iteracion - 1
 loop

respuesta=respuesta+"*"+vbnewline
main_iteracion=sec_iteracion - 1
loop

return respuesta


se deben aprovechar las pautas, si llamamos iteración al identificador de la línea que estamos dibujando:

el número de asteriscos por línea = iteracion+(iteracion-1) o lo que es lo mismo
número de asteriscos por línea = 1-(2*iteracion)
Por otro lado no me ha quedado claro si hay que añadir los espacios o no, aunque a juzgar por el enunciado no.

BlackZeroX

#5
yo lo haría así:

Código (vb) [Seleccionar]


option explicit

Private Sub Form_Load()
Dim n As Long
Dim i As Long
   n = CLng(InputBox("Tamaño del triangulo:", "Triangulo", 15))
   For i = n To 0 Step -2
       Debug.Print String((n - i) / 2, " ") & String(i, "*")
   Next i
End Sub



Dulces Lunas!¡.
The Dark Shadow is my passion.

BlackZeroX

Cita de: ABDERRAMAH en 25 Agosto 2012, 06:53 AM

el número de asteriscos por línea = iteracion+(iteracion-1) o lo que es lo mismo
número de asteriscos por línea = 1-(2*iteracion)


De hecho: línea = iteracion+(iteracion-1) es igual a línea = (2*iteracion) - 1 o lo que es lo mismo a línea = -1 + (2*iteracion)

Dulces Lunas!¡.
The Dark Shadow is my passion.