Basic - Programación de BASIC

 
Vista:

Programación de BASIC

Publicado por Carlos Valdivia (1 intervención) el 30/01/2017 12:42:50
Necesito ayuda, llevo varios dias intentando realizar un programa que pregunte por un valor de 0 a 300 denominado distancia y un segundo
valor de 0 a 25 denomidado pasos. Usando un ciclo FOR...NEXT dibujar una pelota que se desplaze
de derecha a izquierdala distancia introducida con la longitud de paso elegida. Jugar con ambos
valores para ver en como afectan los mismos a la animación de la pelota.

NOTA: Será necesario el uso de la instrucción PAUSE que suspende la ejecución del programa y que
ayudará a realizar la animación.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Animación de una pelota

Publicado por Alejandro (251 intervenciones) el 23/01/2025 16:47:44
Aquí tienes un ejemplo de cómo podrías implementar un programa en Visual Basic que cumple con tus requisitos. Este programa pedirá al usuario que ingrese la distancia y los pasos, y luego animará una pelota que se desplaza de derecha a izquierda.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
Module Module1
    Sub Main()
        Dim distancia As Integer
        Dim pasos As Integer
 
        ' Solicitar al usuario que ingrese la distancia
        Console.Write("Ingrese la distancia (0 a 300): ")
        distancia = Convert.ToInt32(Console.ReadLine())
 
        ' Validar la distancia
        If distancia < 0 Or distancia > 300 Then
            Console.WriteLine("La distancia debe estar entre 0 y 300.")
            Return
        End If
 
        ' Solicitar al usuario que ingrese los pasos
        Console.Write("Ingrese los pasos (0 a 25): ")
        pasos = Convert.ToInt32(Console.ReadLine())
 
        ' Validar los pasos
        If pasos < 0 Or pasos > 25 Then
            Console.WriteLine("Los pasos deben estar entre 0 y 25.")
            Return
        End If
 
        ' Animar la pelota
        For i As Integer = distancia To 0 Step -pasos
            Console.Clear()
            ' Dibujar la pelota
            For j As Integer = 0 To i
                Console.Write(" ")
            Next
            Console.Write("O") ' Representa la pelota
            Console.WriteLine()
            ' Pausar la ejecución para crear la animación
            System.Threading.Thread.Sleep(100) ' Pausa de 100 ms
        Next
 
        Console.WriteLine("Animación completada. Presione cualquier tecla para salir.")
        Console.ReadKey()
    End Sub
End Module

Solución



1. Entrada de datos: El programa solicita al usuario que ingrese la distancia y los pasos, asegurándose de que estén dentro de los rangos especificados.
2. Ciclo FOR...NEXT: Utiliza un ciclo `For` para mover la pelota de derecha a izquierda, decrementando la posición de la pelota en función de los pasos ingresados.
3. Dibujo de la pelota: Se utiliza un bucle interno para imprimir espacios en blanco antes de la pelota, creando la ilusión de movimiento.
4. Pausa: La instrucción `Thread.Sleep(100)` se utiliza para pausar la ejecución del programa, permitiendo que la animación sea visible.

Puedes jugar con los valores de distancia y pasos para observar cómo afectan la animación de la pelota. ¡Espero que esto te ayude, Carlos!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar