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.


Mensajes - JValero

Páginas: [1] 2
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
Gracias por las aclaraciones Mario.

si, estoy de acuerdo contigo en quitar la linea 3 pues supongo que tiene la misma funcionalidad que la 4.3.3

Creo que ya está todo más o menos claro...veré que ocurre al crear el código.

Gracias de nuevo.

3
Hola Mario,

Gracias por tus comentarios y sugerencias.

La verdad es que sigo teniendo dudas de cómo estructurar el pseudocódigo. Te facilito el psudocódigo y más abajo de pregunto:

Código: [Seleccionar]
1. Inicio
2. RespuestaAcertada=falso
3. Clave=”Albert Einstein”
4. Mientras E <> 3 Hacer y RespuestaAcertada=falso Hacer
4.1 Mostrar “Menú: 1. Intentar averiguar nombre secreto  - 2. Ver pista - 3. Salir”
4.2 Pedir E
4.3 Si E = 1 Entonces
4.3.1 Mostrar “Por favor, introduzca el nombre secreto”
4.3.2 Pedir Clave
4.3.3 Si Clave = “Albert Einstein” entonces
4.3.4 RespuestaAcertada=verdadero
Mostrar “ Has acertado.”
Sino
Mostrar “Has fallado”
FinSi
4.4 Si E=2 Entonces
Mostrar “Es el físico más influyente del siglo XX”
FinSi
Repetir
5. Fin

- ¿Sería correcto el uso de las lineas 4.3.3 y 4.3.4? Entiendo que si la variable Clave toma el valor de "Albert Einstein" RespuestaAcertada es igual a Verdadero. Lo que no entiendo es por qué me pusiste en tus notas la linea Si RespuestaAcertada = verdadero Entonces detrás de la linea Repetir

- Entiendo que cuando E=2 no sería necesario hacer ningún tipo de condicionante ya que simplemente debería mostrarnos un mensaje indicando la pista para averiguar la contraseña. ¿Es correcto?

Un saludo.

4
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.

5
Hola alex,

Si, efectivamente lo habíamos comentado anteriormente pero no entiendo porque no funciona con un MSGBOX.

Pensaba que una vez pinchase sobre aceptar la aplicación volvería a la pantalla inicial para permitirme insertar una contraseña nuevamente.

No obstante, tienes toda la razón, con el inputbox funciona perfectamente.

Muchas gracias!!

6
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


7
Gracias Javi in the sky!!

Ahora si funciona. Muchas gracias por tus acalaraciones y explicacones.

Saludos.

8
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.

9
Gracias de nuevo Alex...

Te estoy dando trabajo  ;)

10
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.

11
Todo clarísmo Alex.

Se agradece tu recomendación pues, claramente, es mucho más eficiente que mi pseudocódigo.

Gracias por la ayuda.

12
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

13
Gracias Alex,

Ahora entiendo el porqué de la linea 2 y 3 del psudocódigo.

Muchas gracias de nuevo por tu ayuda y aclaraciones.

Un saludo!!

14
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.

15
Aprender a programar desde cero / Re:Ejercicio 6 - Semana 9
« en: 17 de Mayo 2014, 20:30 »
Hola de nuevo Álex,

Está muy claro. Creeme que con tu explicación la duda está resuelta.

El principal problema que estaba encontrando es que usaba varios Labels y los resultados me salían sin el orden apropiado en cada uno de ellos.

Muchas gracias por tu ayuda, se agradece muchísimo.

16
Aprender a programar desde cero / Re:Ejercicio 5 - Semana 9
« en: 17 de Mayo 2014, 19:45 »
Hola Álex,

Muchísimas gracias por la ayuda.

La verdad que no se me hubiera ocurrido mover la linea i=i+1 y mucho menos tener qe poner un valor aleatorio a PesoMin.

Lo dicho, muchas gracias!!




17
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.

18
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.

19
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.

20
Hola Alex,

Te agradezco muchísimo tu respuesta. Todas las dudas aclaradas. Sobre todo te agradezco los dos ejemplos que me has puesto, tanto mediante el uso de Do..While y de cómo realizar el ejercicio mediante el uso de un TextBox.

Repito, muchísimas gracias.

Saludos.

Páginas: [1] 2

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".