hgubnjkmldfghjkl
Páginas: 13 (3145 palabras)
Publicado: 8 de diciembre de 2013
Escribe en el Módulo1 el siguiente programa:
Sub Programa15()
Dim indice As Integer
For indice = 1 To 10 Step 2
MsgBox "El valor del índice es = " & indice
Next
MsgBox "Lo siento se ha acabado. " & _
"El último valor del índice ha sido " & _
indice
End Sub
- Ejecuta el programa anterior ygrábalo.
- Observa el funcionamiento del ciclo FOR – TO – NEXT:
For indice=1 To 10 Step 2
Instrucción1
Instrucción2
Next
Las instrucciones “encerradas” entre For y Next, en nuestro caso un mensaje que nos da el valor del índice, se van repitiendo: For indice =1 To 10 Step 2, es decir, desde el valor inicial de “indice” que es 1 hasta 10 de 2 en 2.
Veamos:
Al iniciarse el ciclo:Indice = 1
Se muestra el mensaje “El valor del índice es = 1”
Al encontrarse la sentencia Next, se vuelve a iniciar el ciclo.
Al volverse a iniciar el ciclo:
Indice = 3 (ya que Step = 2)
Se muestra el mensaje “El valor del índice es = 3”
Al encontrarse la sentencia Next, se vuelve a iniciar el ciclo.
Al volverse a iniciar el ciclo:
Indice = 5
Aparece el mensaje: “El valor delíndice es = 5”
Al volverse a iniciar el ciclo:
Indice = 7
Aparece el mensaje: “El valor del índice es = 7”
Al volverse a iniciar el ciclo:
Indice = 9
Aparece el mensaje: “El valor del índice es = 9”
Al volverse a iniciar el ciclo:
Indice = 11
Cómo teníamos de empezar por 1 y acabar en 10 (de 2 en 2). Salimos del ciclo For –
To – Next
Y aparece el mensaje (que hay fuera delciclo):”Lo siento se ha acabado. El último valor del
índice ha sido 11”
r) Al trabajar con la sentencia MsgBox, sólo podemos visualizar un mensaje o valor, ya que para visualizar el siguiente MsgBox es necesario antes “cerrar” el anterior. Nos gustaría “ver” todos los mensajes o valores que genera el programa…
Escribe en el Módulo1 el siguiente procedimiento:
Sub Programa16()
Dimnum As Integer, i As Integer
Dim nom As String
num = InputBox("¿Cuántas veces quieres que te salude?")
nom = InputBox("¿Cuál es tu nombre?")
For i = 1 To num
Debug.Print "Hola " & nom
Next
End Sub
- Ejecuta y graba el Programa16
- Observa:
Definimos dos variables “Integer”, la primera: “num”, que indicará el número de “mensajes”, en nuestro caso el númerode veces que se ha de repetir el ciclo For – To – Next. La segunda variable integer “i”, corresponde al “índice” del ciclo For – To – Next
La variable “nom”, tipo texto (String) almacenará “nuestro nombre”.
El programa nos pregunta: “cuántas veces queremos el saludo”, que no es más que el valor de la variable “num” o número de veces que queremos se repita el ciclo For – To –Next.
Observa lasentencia que está en el ciclo For – To – Next:
Debug.Print “Hola “ & nom
Indica que la frase “Hola + el nombre introducido”, se escriba en la Ventana Inmediato.
La ventaja que tiene la sentencia Debug.Print a diferencia del MsgBox, es que todo lo que se escribe en la ventana “Inmediato”, permanece.
Ten en cuenta que el panel inferior de la “Ventana Inmediato”, donde escribimos el nombredel procedimiento para que se ejecute y también donde aparece el contenido de los “Debug.Print”, se puede hacer más grande.
s) Se trata de hacer un programa que “resuelva cualquier ecuación de 2º grado”.
Recordemos:
Dada la ecuación: ax2 + bx + c = 0, con “a” diferente de 0
Definimos “discriminante” de la ecuación:
Discriminante = b2 – 4ac
Si Discriminante > 0
Las soluciones de la ecuaciónson:
Si Discriminante = 0
La única solución de la ecuación es:
Si Discriminante < 0
La ecuación no tiene soluciones “reales”
- Escribe aquí el código de tu programa:
- Ejecuta el programa anterior para los siguientes casos:
a = 0
a = 1, b = 1, c = 1
a = 1, b = -4, c = 4
a = 1, b = 1, c = -6
Pruébalo...
Leer documento completo
Regístrate para leer el documento completo.