none
Hacer una J en VB con bucle for RRS feed

  • Pregunta

  • Hacer una J en VisualBasic con asteriscos mediante un bucle For. 

    El tamaño de la J se introduce por teclado y si el número no es par da error.

    Enunciado : Escribir un procedimiento en VisualBasic que reciba un parámetro n, indicando el tamaño de la letra a dibujar, en este caso la J, de forma que mida n de ancho y mida n+1 de alto. El parámetro n debe ser un número par, si no es número par el procedimiento muestra un error y no hace nada más, si es par dibuja la letra J en la ventana de inmediato.

    lunes, 18 de diciembre de 2017 17:01

Todas las respuestas

  • Pero ... ¿Cuál es el problema concreto? ¿Dónde te has atascado? Recuerda que en los foros no resolvemos ejecricios académicos; no vale con poner el enunciado y esperar que te den la respuesta terminada. Te podemos dar una pequeña ayuda concreta que resulte instructiva. Por ejemplo, si nos pones el código que has hecho y nos dices "me sale el error xxx en laa línea yyy y no sé por qué ocurre", entonces te podemos explicar las causas y cómo solucionarlo. Pero no vale partir del enunciado y a partir de ahí que te lo hagan todo.
    lunes, 18 de diciembre de 2017 17:22
  • hola daniel

    te este codigo te direccionará a dibujar la j, si quieres ingresar los parametros ya tienes que pensar como hacerlo

    Module Module1
        Dim origRow As Integer
        Dim origCol As Integer
    
        Public Sub Main()
    
            Dim j As Integer
            origRow = Console.CursorTop
            origCol = Console.CursorLeft
            For i As Integer = 1 To 20 - 1
                j = i
                If i > 15 Then
                    EscribirEnPosicion("*", i, i)
                End If
                j -= 1
                EscribirEnPosicion("*", 20, j)
    
            Next
            Console.ReadKey()
        End Sub
    
    
        Public Sub EscribirEnPosicion(ByVal s As String, ByVal x As Integer, ByVal y As Integer)
            Try
                Console.SetCursorPosition(origCol + x, origRow + y)
                Console.Write(s)
            Catch e As ArgumentOutOfRangeException
    
                Console.WriteLine(e.Message)
            End Try
        End Sub
    End Module 


    Suerte!!


    • Editado greg_dorian jueves, 21 de diciembre de 2017 14:39
    lunes, 18 de diciembre de 2017 17:28
  • Escribo lo que llevo hecho: 

    Public Sub EjercicioJ()

          Dim n, i, j As Integer                -----> Declaro las variables. Tamaño de la j y los dos contadores para los bucles

          n=InputBox("Tamaño de la J:") -----> Introduce  la n por teclado

          If n Mod 2 <> 0 Then              -------> Aquí he puesto esto para que de error si el número no es par.

          Debug.Print "Error";

          Else 

              For i = 1 To                         -------> Aquí ya no sé como empezar con los bucles. Primero tiene que

                                                                    escribir la primera linea entera con asteriscos. De la i=2 hasta la 

                                                                     n-2 solo escribe asteriscos en la n columna. En la n solo escribe 

                                                                     asteriscos en columna 1 y n. En la n+1 escribe asteriscos en la col

                                                                     2 hasta la n-1.

    Para las filas que lleva solo asterisco en la ultima:

    For i = 2 To n-2

        For j = 1 To n

               If j = n 

                       Debug.Print "*"

                Else

                        Debug.Print " "

                 End If

                Next j

    Next i 

    No estoy seguro pero creo que eso lo tengo bien pero no se  como hacer la primera fila( la que lleva todo asteriscos) y las dos ultimas. Y como juntar todo.


    Si me das algún consejo de como hacer filas o si ves que tengo mal lo que he puesto...También de como juntar todo...

    Mañana tengo examen de Visual Basic y en esto  de dibujar letras o arboles de navidad mediante bucles for voy un poco mal.

    Gracias de antemano.

    lunes, 18 de diciembre de 2017 17:55
  • Escribo lo que llevo hecho: 

    Public Sub EjercicioJ()

          Dim n, i, j As Integer                -----> Declaro las variables. Tamaño de la j y los dos contadores para los bucles

          n=InputBox("Tamaño de la J:") -----> Introduce  la n por teclado

          If n Mod 2 <> 0 Then              -------> Aquí he puesto esto para que de error si el número no es par.

          Debug.Print "Error";

          Else 

              For i = 1 To                         -------> Aquí ya no sé como empezar con los bucles. Primero tiene que

                                                                    escribir la primera linea entera con asteriscos. De la i=2 hasta la 

                                                                     n-2 solo escribe asteriscos en la n columna. En la n solo escribe 

                                                                     asteriscos en columna 1 y n. En la n+1 escribe asteriscos en la col

                                                                     2 hasta la n-1.

    Para las filas que lleva solo asterisco en la ultima:

    For i = 2 To n-2

        For j = 1 To n

               If j = n 

                       Debug.Print "*"

                Else

                        Debug.Print " "

                 End If

                Next j

    Next i 

    No estoy seguro pero creo que eso lo tengo bien pero no se  como hacer la primera fila( la que lleva todo asteriscos) y las dos ultimas. Y como juntar todo.


    Si me das algún consejo de como hacer filas o si ves que tengo mal lo que he puesto...También de como juntar todo...

    Mañana tengo examen de Visual Basic y en esto  de dibujar letras o arboles de navidad mediante bucles for voy un poco mal.

    Gracias de antemano.

    la linea de código

     If n Mod 2 <> 0 Then  

    es para saber si n es par lo que no entiendo para que quieres saber si es par o no??

    en el código que te escribí solo utilizas un for 

     For i As Integer = 0 To 20 - 1

    el 20 lo cambiarias por tu n y ese seria el tamaño de la j

    suerte!




    • Editado greg_dorian martes, 19 de diciembre de 2017 16:06
    lunes, 18 de diciembre de 2017 18:32