Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Temas - JValero

Páginas: [1]
1
Hola a todos,

Tengo una duda con este ejercicio. El ejercicio consiste en elegir un número y que automáticamente se me muestre la tabla de multiplicar de los 10 primeros números enteros por ese número. En el caso de que el resultado fuera igual o superior a 150 debería de aparecer un mensaje indicando que se ha sobrepasado el valor máximo.

Se me pide el pseudocódigo y he realizado el siguiente:

Código: [Seleccionar]
1. Inicio
2. Mostrar “Introduzca número para mostrar la tabla de multiplicar”
Pedir Numero
3. i=0
4. Mientras i<11 y Resultado<150 Hacer
5. Resultado=Numero*i
5.1 Mostrar Numero, “x”, i, “=”, Resultado
6. i=i+1
7. Si Resultado>=150 Entonces
7.1 Mostrar “Valor superior al máximo permitido”
8. FinSi
9. Repetir
10. Fin

Tengo dudas con el condicionante Si...Entonces de la linea 7. ¿Sería correcto?

Gracias por la ayuda.

Saludos.

2
Buenos días,

Se me pide realizar un psudocódigo donde aparezca un menú con 3 opciones 1. Solicitar la contraseña, 2. Ver una pista y 3. Salir del programa.

El programa debería de servir para solicitar una contraseña y mostrar un mensaje de acierto en el caso de introducir la password correcta y un mensaje de error en el caso de introducirla erroneamente. No hay número de intentos, pero cada vez que introducimos la clave erronea el programa debe de volver al menú inicial. Si insertamos la contraseña correcta el programa debería de finalizar.

Tengo dudas de que este psudocódigo realmente funcionara y, sobre todo, finalizara el programa en el caso de acertar la contraseña.

1.   Inicio
2.   Mientras E <> 3 Hacer
2.1   Mostrar “Menú: 1. Intentar averiguar nombre secreto  - 2. Ver pista - 3. Salir”
2.2   Pedir E
2.3   Si E = 1 Entonces
2.3.1   Clave = “Albert Einstein”
2.3.2   Si Clave = “Albert Einstein” entonces
Mostrar “ Has acertado”
FinSi
Unload Form
2.3.3   Mientras Clave <> “Albert Einstein” Hacer
Mostrar “Has fallado”
Salir Mientras
2.4   Si E=2 Entonces
Mostrar “Es el físico más influyente del siglo XX”
FinSi
3.   Fin

Gracias por vuestra ayuda.

Un saludo.

3
Buenas tardes,

Tengo un problema con el código del siguiente ejercicio.

En el programa debería de insertar la contraseña y reconocerla como válida o no. al tercer fallo el programa debería indicarme que he fallado tres veces y cerrarse.

El programa funciona cuando inserto la contraseña correcta pero me entra en un bucle sin salida cuando introduzco una contraseña erronea.

¿Alguna idea? Muchas gracias.

Código: [Seleccionar]
Option Explicit

Dim Clave As Integer
Dim i As Integer

Private Sub Form_load()
Form1.Caption = "Insertar contraseña"
Label1.Caption = "Por favor, introduzca su contraseña"
Label1.Alignment = 2
Text1 = ""
Text1.Alignment = 2
Command1.Caption = "Verificar"
End Sub

Private Sub Command1_click()
Clave = Text1
Do While Clave <> "1234"
i = i + 1
MsgBox ("La clave introducida no es válida. Inténtelo de nuevo.")
Text1 = ""
If i > 2 Then
MsgBox ("Ha introducido tres veces la clave incorrectamente.")
End If
Loop
MsgBox ("Contraseña correcta")

End Sub


4
Vaya día...

Se me pide hacer un programa que multiplique entre si los primeros tres números naturales (3 * 2 * 1=6), una vez nos aparece el resultado debemos de decidir si continuar. En el caso de continuar la ventana nos debería de mostrar el resultado de la multiplicación de los póximos 6 números naturales (1*2*3*4*5*6=720), si continuamos el de los próximos 9...12...15, etc.

El código usado es el siguiente:
Código: [Seleccionar]
Option Explicit

Dim i As Integer
Dim j As Integer
Dim Respuesta As Integer
Dim Multiplicacion As Integer

Private Sub Form_load()
j = 1
Respuesta = vbYes
Do While Respuesta = vbYes
For i = j To j + 2
Multiplicacion = Multiplicacion + i
Next i
j = j + 3
Respuesta = MsgBox("La multiplicación de los " & j - 1 & " numeros naturales es " & Multiplicacion & vbCrLf & "¿Quiere continuar?", vbYesNo, "¿Continuar?")
Loop
End Sub


Consigo la ventana, consigo que realice el primer cálculo bien y que los números naturales vayan aumentando de 3 en 3 correlativamente pero no consigo que los resultados de las multiplicaciones sean los correctos.

Por favor, ¿podría alguien echarme una mano?

Muchas gracias.

5
Hola otra vez,

En el ejercicio 6 me solicitan llevar a cabo un programa que realice el cálculo del area de un rectángulo y me abra una ventana facilitando el resultado y dandome la opción a realizar un nuevo cálculo o a cerrar la aplicación.

No tengo problemas en cerrar la aplicación y que el programa me muestre un mensaje de despedida pero no consigo que me de la opción de volver a calcular un nuevo area.

- ¿Dónde está el error? ¿Qué tendría que añadir?

Código: [Seleccionar]
Option Explicit

Dim Base As Integer
Dim Altura As Integer
Dim Area As Integer
Dim Aceptacion As Integer


Private Sub Command1_click()
Base = Text1
Altura = Text2
Aceptacion = vbYes
Do While Aceptacion = vbYes
Text1 = ""
Text2 = ""
Area = Base * Altura
Aceptacion = MsgBox("El area del rectángulo es de " & Area & " centímetros cuadrados" & vbCrLf & "¿Quieres calcular otro area?", vbYesNo, "Calculo de area")
Loop
If Aceptacion = vbNo Then
MsgBox ("Gracias por utilizar el programa")
End If

Gracias por vuestra ayuda y colaboración.

Saludos.

6
Buenos días,

Tengos dudas referentes al ejercicio 4 de la semana 10 de "Fundamentos de programación I" donde se me pide crear un psudocódigo referente a un programa que pide una contraseña y al tercer intento fallido debería de mostrar un mensaje indicando que se ha fallado tres veces.

El código usado es el siguiente:

Código: [Seleccionar]
1. Inicio
2. Mientras Clave <> 1234 Hacer
Mostrar “Por favor, introduzca password”
Pedir Clave
i=i+1
Si i>2 Entonces
 Mostrar “Ha introducido 3 veces la clave errónea”
Finalizar
FinSi
Repetir
3. Mostrar “Ha acertado la clave”
4. Fin


Preguntas:
- He puesto que la password correcta sería 1234 pero, ¿qué ocurriría si la password fuera texto o texto y números? ¿Habría que variar alguna linea del psudocódigo?

Gracias por vuestra ayuda

7
Buenos días,

Tengo una duda acerca del ejercicio 1 referente a la semana 10 del curso de "Fundamentos de programación 1".

Me solicitan crear un pseudocódigo referente a un programa que nos calcule el area de un rectángulo. Tengo que insertar la base y la altura para calcular el area y tras el cálculo la aplicación debería de preguntarme si deseo calcular un nuevo area (se me pedirían nuevos datos y recalcularía el area) o no (en este caso el algoritmo finalizaría).

El pseudocódigo que he creado es el siguiente:
Código: [Seleccionar]
1. Inicio

2. Mientras Aceptacion=”s” o Aceptacion=”S” Hacer

2.1 Mostrar  “Inserte la base del rectángulo en centímetros”

Pedir Base

2.2 Mostrar  “Inserte la altura del rectángulo en centímetros”

Pedir altura

2.3 Area = Base x Altura

2.4 Mostrar  “El área del rectángulo es “, Area, “centímetros.”

2.5 Mostrar  “¿Quiere realizar un nuevo cálculo? (S/N)”

2.6 Pedir Aceptación

Repetir

3. Fin


¿Estaría correcto el psudocódigo?
¿Sería necesario escribir la linea correspondiente a cuando se inidica que NO queremos calcular otro area?
¿Está correctamente situada la linea 2?

Muchas gracias a todos por la ayuda.
Un saludo.

8
Buenas tardes,

En este ejercicio no soy capaz de que me aparezcan los datos correctamente. Los números de modelo de los vehículos no me aparecen dentro de cada correspondiente grupo de vehículos.

El código que llevo hasta ahora realizado es el siguiente:

Código: [Seleccionar]
Option Explicit

Dim i As Integer
Dim Modelo(1 To 8) As Integer

Private Sub Form_Load()
Form1.Caption = "Modelos de vehículos"
Label1.Alignment = 2
Label1.Font = True
Label2.Alignment = 2
Label2.Font = True
Label3.Alignment = 2
Label3.Font = True
i = 1
Modelo(1) = 350
Modelo(2) = 5000
Modelo(3) = 21
Modelo(4) = 100
Modelo(5) = 125
Modelo(6) = 750
Modelo(7) = 800
Modelo(8) = 850


Do While Modelo(i) <> 850

If Modelo(i) = 125 Then

End If
If Modelo(i) = 350 Then

End If
i = i + 1
Loop




End Sub

Los datos deberían de quedar del siguiente modo:

"Números de modelo de Fórmula 1" = 350
"Números de modelo de motocicletas" = 5000, 21, 100, 125
"Numeros de modelos de camiones" = 750, 800, 850

¿Cómo podría hacer para que los datos se mostraran en tres labels que he creado para mostrar los resultados?

Muchas gracias por la ayuda.

Un saludo.

9
Buenos días,

Realizando el ejercicio 5 correspondiente a la semana 9 me encuentro ante la siguiente situación.

El programa me funciona correctamente, o eso creo, excepto a la hora de extraer el peso más bajo de todos los que hay en el grupo.

La media me la calcula correctamente (no calcula el peso correspondiente al señalero -99 Kg), el paso máximo también lo calcula correctamente pero a la hora de extraer de los datos el peso más bajo me muestra -99Kg cuando al principio del programa he indicado que haga los cálculas con todos los datos que sean iguales o superiores a 0.

Pego el código que llevo realizado hasta el momento:

Código: [Seleccionar]
Option Explicit

Dim Peso(1 To 12) As Integer
Dim Media As Single
Dim PesoMin As Integer
Dim PesoMax As Integer
Dim Suma As Integer
Dim i As Integer

Private Sub form_Load()
Show
Peso(1) = 55
Peso(2) = 78
Peso(3) = 56
Peso(4) = 89
Peso(5) = 66
Peso(6) = 109
Peso(7) = 44
Peso(8) = 57
Peso(9) = 29
Peso(10) = 58
Peso(11) = 76
Peso(12) = -99
Form1.Caption = "Peso grupo de personas"

i = 1
Do While Peso(i) >= 0
Suma = Suma + Peso(i)
i = i + 1
If Peso(i) > PesoMax Then
PesoMax = Peso(i)
End If
If Peso(i) < PesoMin Then
PesoMin = Peso(i)
End If
Loop

Media = Suma / (i - 1)
Label1.Alignment = 2
Label1.Font = True
Label1 = "El peso medio del grupo de personas es de " & Media & " Kilogramos"
Label2.Alignment = 2
Label2.Font = True
Label2 = "La persona con mayor peso del grupo tiene un peso de " & PesoMax & " Kilogramos"
Label3.Alignment = 2
Label3.Font = True
Label3 = "La persona con menos peso del grupo tiene un peso de " & PesoMin & " Kilogramos"

End Sub

¿Qué tendría que modificar? ¿Qué falla?
Entiendo que la linea Do While Peso(i) >= 0 debería de hacer que automáticamente no se calculase los datos de Peso(-99) correspondiente al señalero de la serie de datos.

Cualquier ayuda será bienvenida.

Muchas gracias.

10
Buenos días,

Me encuentro haciendo el ejercicio 4 correspondiente a la semana 9 y hay varias cosas que no entiendo del pseudocódigo del ejercicio.

Concretamente en la linea 4:

Código: [Seleccionar]
4. i=1 : Leer Dato(i)
Entiendo que si a la variable Dato(i) le dieramos, por ejemplo, un valor 10 (Dato(10)) el no poner i=1 haría que el programa empezase a leer Dato(0) cuando en este caso eso no sería posible. No sé si me explico.

Referente al ejercicio me preguntan que qué ocurriría en el caso de que eliminásemos la linea 4 del psudocódigo. Entiendo que si borramos esa linea, eliminaríamos el array que guarda el total de datos que va a leer el programa.

Cualquier ayuda, consejo u orientación será bien recibida.

Muchas gracias a todos.

11
Buenos días,

Haciendo el ejercicio 7 correspondiente a la semana 8 me encuentro con el siguiente problema. El programa me entra en un bucle a la hora de ejecutar el Msgbox y de ahí no sale. El código utilizado es el siguiente:

Option Explicit

Dim TotalCemento As Integer
Dim CemEntregado As Integer

Private Sub Form_load()
Form1.Caption = "Control de cemento en almacén"
Label1.Alignment = 2
Label1.Caption = "Por favor, introduzca el total de kilos de cemento a retirar:"
Command1.Caption = "Retirar cemento"
TotalCemento = 25000
End Sub

Private Sub Command1_Click()
Text1 = CemEntregado
Do While TotalCemento >= 6000
CemEntregado = MsgBox("Cemento retirado de almacén")
TotalCemento = TotalCemento - CemEntregado
Loop
Label2.Alignment = 2
Label2.FontBold = True
Label2 = "El inventario ha bajado de 6000 kilos de cemento. Por favor, comuníquelo al almacén"
End Sub


Entiendo perfectamente el porqué entra en el bucle y de ahí no sale. Le estoy diciendo que mientras el TotalCemento sea mayor o igual de 6.000 que muestre el mensaje de "Cemento retirado de almacén" en un msgbox.

Lo que me gustaría saber es cómo solucionar este problema, es decir, como meter la cantidad de kilos a retirar en el TextBox, pulsar sobre el command button, que me muestre el mensaje en el msgbox y acto seguido vuelva a la pantalla principal a poner una nueva cantidad de cemento a retirar hasta que llegue a los 6000 kilos en el almacén y muestre el mensaje final en Label2.

Cualquier ayuda será bienvenida y muy agradecida. Si no queda clara mi explicación, por favor, indicármelo y trataré de aportar nuevos datos.

Muchas gracias de antemano.

12
Buenos días a todos,

Realizando el psudocódigo del ejercicio 5 de la semana 8 me encuentro en la siguiente situación. Me solicitan que en el pseudocódigo deben de aparecer un acumulador y un interruptor.

El psudocódigo que he creado es el siguiente:

1.Inicio
   2. TotalCajero = 600
   3. Mientras Totalcajero >= 0 Hacer
      Mostrar “Introduzca el importe a extraer”
      Pedir Cantidad
      TotalCajero = TotalCajero – Cantidad
   Repetir
   4. Mostrar “Se ha excedido de la cantidad máxima permitida”
5. Fin


La verdad es que no sé en qué momento o para qué situación disponer de un interruptor en este ejercicio. Entiendo que con este pseudocódigo ya quedaría reflejado que sólo puedo retirar un máximo diario de 600€ y me avisaría en el momento en que superase esa cantidad.

Cualquier correción o ayuda será bienvenida. Gracias.

Saludos.

13
Hola a todos,

Estoy completamente estancado y necesito vuestra ayuda para abrirme los ojos con el ejercicio 7 correspondiente a la semana 7 del curso de fundamentos de programación.

He creado el pseudocódigo pero soy incapaz de generar el código en VB. Me gustaría empezar por el principio: ¿Es correcto el pseudocódigo?. Porque si no lo es, desde luego estoy perdiendo el tiempo y ya llevo un retraso considerable en la entrega de los ejercicios (lo siento Mario  :D )

El pseudocódigo es el siguiente:

1. Inicio
 2. Desde i=1 hasta 8 Hacer
   2.1 Leer PersonasTotal
   2.2 PersonasTotal=PersonasTotal + personasEntran(i)
   2.3 Si personasEntran(i)=0 Entonces
         TransitoCero=TransitoCero + 1
         Mostrar "La hora", i, "hubo tránsito cero"
         FinSi
   2.4 Si personasEntran(i)>MaxTransito
         MaxTransito = personasEntran(i)
         HoraMaxTran = i
         FinSi
   Siguiente
 3. Media=PersonasTotal / 8
 4. Mostrar "El total de personas que pasaron fue ", PersonasTotal
 5. Mostar "Las horas de tránsito cero fueron ", TransitoCero
 6. Mostrar "La hora con mayor tránsito fue ", HoraMaxTran
 7. Mostrar "El número medio de personas por hora que entran al supermercado es ", Media
8. Fin


En primer lugar querría saber si el pseudocódigo es correcto y, en caso negativo, qué habría que cambiar.

Agradecería una ayuda para empezar con el código pues, como os comentaba, estoy completamente atascado.

Espero podáis ayudarme.

Muchas gracias,
Javier.
         

14
Buenos días,

Realizando uno de los ejercicios que se nos solicitan durante el curso de Fundamentos, concretamente a la hora de crear un programa en VB que nos facilite el area de un rectángulo, me surge la siguiente pregunta:

He creado dos Label (Label1 y Label2) y a continuación dos TextBox (Text1 y Text2) donde dejo reflejado los valores que corresponden a la base y la altura del rectángulo. Escribiendo el código para el cálculo del area (AreaRectangulo=Base x Altura) he utilizado la siguiente linea:
AreaRectangulo= Text1 x Text2

El programa funciona correctamente y me calcula el area, me muestra el resultado correctamente en un tercer Label que he creado con ese propósito y demás.

Mi pregunta es, ¿es correcto realizar el cálculo con la linea AreaRectangulo= Text1 x Text2? ¿Existe otra manera de realizar ese cálculo?

Espero haberme expresado con suficiente claridad.

Muchas gracias de antemano por vuestra ayuda.

Páginas: [1]

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".