elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  vb
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: vb  (Leído 4,962 veces)
osmanorozco

Desconectado Desconectado

Mensajes: 2


Ver Perfil
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
Moderador
***
Desconectado Desconectado

Mensajes: 3.621



Ver Perfil WWW
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 Desconectado

Mensajes: 242


constancia y dedicacion


Ver Perfil
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 Desconectado

Mensajes: 622


Im beyond the system


Ver Perfil
Re: vb
« Respuesta #3 en: 25 Agosto 2012, 06:00 am »

porque no usar una matriz?

Código:
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
  1. x = InputBox("asteriscos iniciales")
  2. For i = x To 1 Step -1
  3.    asteriscos = asteriscos & String(i, "*") & vbCrLf
  4. Next
  5. 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 Desconectado

Mensajes: 431


en ocasiones uso goto ¬¬


Ver Perfil WWW
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).

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.
« Última modificación: 25 Agosto 2012, 06:55 am por ABDERRAMAH » En línea

BlackZeroX
Wiki

Desconectado Desconectado

Mensajes: 3.158


I'Love...!¡.


Ver Perfil WWW
Re: vb
« Respuesta #5 en: 25 Agosto 2012, 07:08 am »

yo lo haría así:

Código
  1.  
  2. option explicit
  3.  
  4. Private Sub Form_Load()
  5. Dim n As Long
  6. Dim i As Long
  7.    n = CLng(InputBox("Tamaño del triangulo:", "Triangulo", 15))
  8.    For i = n To 0 Step -2
  9.        Debug.Print String((n - i) / 2, " ") & String(i, "*")
  10.    Next i
  11. End Sub
  12.  
  13.  

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 Desconectado

Mensajes: 3.158


I'Love...!¡.


Ver Perfil WWW
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.
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines