Module Module1
Sub Main()
DoLoop()
Console.ReadKey()
End Sub
Sub DoLoop()
Dim a As Integer = 1
' While
While (a < 10)
a += 1
End While
' Equivalente al while
Do While (a < 10)
a += 1
Loop
' Evalúa la condición al final
' Por lo tanto el bloque se ejecutará al menos una vez
Do
a += 1
Loop While (a <= 10)
' Se ejecuta "hasta que", no "mientras"
Do Until (a > 10)
a += 1
Loop
' Lo mismo, pero el bloque se ejecuta al menos una vez
Do
a += 1
Loop Until (a > 10)
End Sub
End Module
Etiquetas
Acceso BD
Access
Algoritmo
Anonimato Online
Array
Array bidimensional
ArrayList
Base de datos
BookWorm
Bucle "do - while"
Bucle "for"
Bucle "while"
Búsqueda
Canvas
Clases
Clases abstractas
Cola
Colección de datos
Consola
Conversión de tipos
Curiosidades
Diseño Web
Eclipse
Exception
Extends
FCT
Flujo de datos
Formularios
Función
Gratis
Herencia
HTML
I/O
If - else
Implements
Interface
Iterator
J2EE
Java
javadoc
JavaScript
Layout
LinkedList
Manual
Matrices
Máximo Común Divisor
Microdatos
Mínimo Común Múltiplo
Nassi-Shneiderman
Ordenación
Pila
Programación
Puente JDBC-ODBC
Rich Snippets
Secuencia
Select... Case
Serialización
SQL Server
Swing
Switch
SyntaxHighlighter
Tor
Utilidades
VB.NET
Web
Mostrando entradas con la etiqueta Bucle "do - while". Mostrar todas las entradas
Mostrando entradas con la etiqueta Bucle "do - while". Mostrar todas las entradas
sábado, 3 de marzo de 2012
"While... End" y "Do... Loop"
A continuación se muestra un sencillísimo ejemplo de todas las variantes de estos bucles:
Instrucción Select... Case
La instrucción Select... Case es similar al Switch de Java, pero bastante más potente, ya que permite indicar intervalos, expresiones y varios valores en el mismo "Case".
EJEMPLO DE SELECT... CASE
Module Module1
Sub Main()
Menu()
Console.ReadKey()
End Sub
Sub Menu()
Dim opcion As Integer = 1
While (opcion <> 0)
Console.Clear()
Console.WriteLine("Menú")
Console.WriteLine("====")
Console.WriteLine("1. Si introduce uno se ejecuta esta opción")
Console.WriteLine("2-5. Si introduce un número entre 2 y 5 se ejecuta esta")
Console.WriteLine("6, 9, 10. Si introduce 6, 9 o 10 se ejecuta esta")
Console.WriteLine("Mayor de 15. Si es mayor de 15 se ejecuta esta")
Console.WriteLine("0. Salir")
Console.WriteLine()
Try
opcion = CInt(Console.ReadLine())
Catch ex As InvalidCastException
' Sólo se ve desde el Visual Studio
Debug.WriteLine("Error: " & ex.Message)
opcion = 7
Catch e As OverflowException
' lo que queramos hacer
End Try
Select Case opcion
Case 1
Console.WriteLine("Ha seleccionado la opción 1")
Case 2 To 5 ' Intervalo
Console.WriteLine("Ha seleccionado una opción entre 2 y 5")
Case 6, 9, 10 ' Varios valores
Console.WriteLine("Ha seleccionado 6, 9 o 10")
Case Is > 15 ' Expresión
Console.WriteLine("Ha seleccionado una opción mayor que 15")
Case 0
Console.WriteLine("Ha elegido salir, ¡adiós!")
Case Else ' Si no entra por las anteriores...
Console.WriteLine("Ha elegido una opción incorrecta")
End Select
' vbCrLf -> constante que representa retorno de carro más salto de línea
Console.WriteLine(vbCrLf & "Pulse ENTER para continuar")
Console.ReadKey()
End While
End Sub
End Module
EJERCICIO
Realizar una aplicación que tenga un menú que permita elegir entre calcular el área de un círculo o un rectángulo. Dependiendo de lo que se elija, se pedirán los datos correspondientes y se mostrará el resultado.
Realizar una aplicación que tenga un menú que permita elegir entre calcular el área de un círculo o un rectángulo. Dependiendo de lo que se elija, se pedirán los datos correspondientes y se mostrará el resultado.
Module Module1
Sub Main()
Const PI As Double = 3.14159265
Dim opcion As Integer
Dim ancho, alto As Double
Dim radio As Double
Do
Menu()
Console.Write("Elija una opción: ")
opcion = Console.ReadLine
Console.WriteLine()
Select Case opcion
Case 1
Console.Write("Ancho: ")
ancho = Console.ReadLine
Console.Write("Alto: ")
alto = Console.ReadLine
Console.WriteLine("Área del rectángulo: " & (ancho * alto) & " uds cuadradas")
Case 2
Console.Write("Radio: ")
radio = Console.ReadLine
Console.WriteLine("Área del círculo: " & (PI * (radio ^ 2)) & " uds cuadradas")
Case 3
Console.WriteLine("Ha elegido salir del programa.")
Case Else
Console.WriteLine("Opción incorrecta.")
End Select
Console.WriteLine(vbCrLf & "Pulse ENTER para continuar")
Console.ReadKey()
Loop While opcion <> 3
End Sub
'Procedimiento que muestar el menú
Sub Menu()
Console.Clear()
Console.WriteLine("CALCULAR ÁREA")
Console.WriteLine()
Console.WriteLine("1. Rectángulo")
Console.WriteLine("2. Círculo")
Console.WriteLine("3. Salir")
End Sub
End Module
miércoles, 29 de febrero de 2012
Varios ejercicios
EJERCICIO 1
Hacer una aplicación que pida un nombre por teclado y luego salude a esa persona.
Hacer una aplicación que pida un nombre por teclado y luego salude a esa persona.
Module Module1
Sub Main()
Dim nombre As String
Console.WriteLine("¿Cómo te llamas?")
nombre = Console.ReadLine
Console.WriteLine()
Console.WriteLine("Hola " & nombre)
Console.ReadKey()
End Sub
End Module
EJERCICIO 2
Hacer una aplicación que recoja números desde teclado hasta que se introduzca vacío (cadena ""). Se deben sumar estos números y mostrar el resultado.
Hacer una aplicación que recoja números desde teclado hasta que se introduzca vacío (cadena ""). Se deben sumar estos números y mostrar el resultado.
Module Module1
Sub Main()
Dim Numero As String
Dim Resultado As Integer = 0
Do
Console.Write("Número: ")
Numero = Console.ReadLine()
Try
Resultado = Resultado + CInt(Numero)
Catch ex As InvalidCastException
End Try
Loop While Numero <> ""
Console.WriteLine("Resultado final: " & Resultado)
Console.ReadKey()
End Sub
End Module
NOTA: por defecto, se realizan conversiones implícitas de datos, si quisiésemos desactivar esta opción (recomendable), tendremos que poner la siguiente línea al principio de nuestro código (antes de Module Nombre_del_Módulo)
Option Explicit On
En este caso, para realizar las conversiones, se utilizarán las funciones de conversión. Algunas de estas funciones son:
- CDate(expresión): para convertir a tipo Date
- CDbl(expresión): para convertir a tipo Double
- CInt(expresión): para convertir a tipo Integer
- CStr(expresión): para convertir a tipo String
Ver más en Funciones de conversión de tipos.
EJERCICIO 3
Hacer una aplicación que pida por teclado el radio de una circunferencia y muestre su área y su perímetro.
Hacer una aplicación que pida por teclado el radio de una circunferencia y muestre su área y su perímetro.
Module Module1
Sub Main()
Dim Radio, Area, Perimetro As Double
' Definición de constantes en VB
Const PI As Double = 3.14159265
Console.Write("Radio de la circunferencia: ")
Radio = Console.ReadLine
Area = PI * (Radio ^ 2)
Perimetro = 2 * PI * Radio
Console.WriteLine("Área: " & Area & " uds cuadradas")
Console.WriteLine("Perímetro: " & Perimetro & "uds")
Console.ReadKey()
End Sub
End Module
jueves, 16 de junio de 2011
Ejercicio número en un rango
Dado un rango entre dos números enteros, realizar una función que reciba estos dos números y pida al usuario que introduzca un número del rango. el programa seguirá pidiendo el número hasta que el usuario introduzca un número válido.
Se añade el programa principal con el que se probó la función.
Se añade el programa principal con el que se probó la función.
public class Rango {
public static void main(String[] args) {
int desde, hasta, resultado;
desde = 1;
hasta = 15;
System.out.println("Numero entre "+desde+" y "+hasta);
resultado = leerRango(desde, hasta);
}
public static int leerRango(int ini, int fin) {
Scanner entrada = new Scanner(System.in);
int numero=0;
boolean valido;
do{
try{
numero = entrada.nextInt();
if (numero < ini | numero > fin)
valido = false;
else
valido = true;
}
catch(InputMismatchException e){
valido = false;
}
entrada.nextLine();
}while (!valido);
return numero;
}
}
Suscribirse a:
Entradas (Atom)