Autor
|
Tema: vb (Leído 4,985 veces)
|
osmanorozco
Desconectado
Mensajes: 2
|
|
vb
« en: 25 Agosto 2012, 00:19 am » |
|
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
|
|
|
En línea
|
|
|
|
seba123neo
|
|
Re: vb
« Respuesta #1 en: 25 Agosto 2012, 01:24 am » |
|
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.
|
|
|
En línea
|
|
|
|
kaiserr
Desconectado
Mensajes: 242
constancia y dedicacion
|
|
Re: vb
« Respuesta #2 en: 25 Agosto 2012, 01:45 am » |
|
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.
|
|
|
En línea
|
|
|
|
Elemental Code
Desconectado
Mensajes: 622
Im beyond the system
|
|
Re: vb
« Respuesta #3 en: 25 Agosto 2012, 06:00 am » |
|
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
Edito. Mas facil hacerlo con un for en negativo, no? hace algo asi: RUSICMODEOOOOOON! 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
|
|
« Última modificación: 25 Agosto 2012, 06:08 am por Elemental Code »
|
En línea
|
I CODE FOR $$$ Programo por $$$ Hago tareas, trabajos para la facultad, lo que sea en VB6.0 Mis programas
|
|
|
ABDERRAMAH
Desconectado
Mensajes: 431
en ocasiones uso goto ¬¬
|
|
Re: vb
« Respuesta #4 en: 25 Agosto 2012, 06:53 am » |
|
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). 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.
|
|
« Última modificación: 25 Agosto 2012, 06:55 am por ABDERRAMAH »
|
En línea
|
|
|
|
BlackZeroX
Wiki
Desconectado
Mensajes: 3.158
I'Love...!¡.
|
|
Re: vb
« Respuesta #5 en: 25 Agosto 2012, 07:08 am » |
|
yo lo haría así: 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!¡.
|
|
« Última modificación: 25 Agosto 2012, 07:12 am por BlackZeroX (Astaroth) »
|
En línea
|
The Dark Shadow is my passion.
|
|
|
BlackZeroX
Wiki
Desconectado
Mensajes: 3.158
I'Love...!¡.
|
|
Re: vb
« Respuesta #6 en: 25 Agosto 2012, 07:10 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!¡.
|
|
|
En línea
|
The Dark Shadow is my passion.
|
|
|
|
|