Curso Básico de Programación
en Visual Basic
Soluciones de la
entrega Dieciséis.
Fecha: 6/Abr/98
1- Haz que se muestren los caracteres de una cadena al revés.
Dim unaCadena As String Dim i As Integer unaCadena = "Hola Mundo" Cls For i = Len(unaCadena) To 1 Step -1 Print Mid$(unaCadena, i, 1); Next PrintLo que se hace es un bucle "al revés", es decir: empezando por el último caracter... avanzando hasta el primero.
De eso se encarga el STEP -1
2- Usando esta misma cadena, es decir "Hola Mundo", divídela en las dos palabras.
' Dim unaCadena As String Dim i As Integer Dim palabra1 As String Dim palabra2 As String unaCadena = "Hola Mundo" Cls For i = 1 To Len(unaCadena) If Mid$(unaCadena, i, 1) = " " Then palabra1 = Mid$(unaCadena, 1, i) 'También así: 'palabra1 = Left$(unaCadena, i) palabra2 = Mid$(unaCadena, i + 1) 'Realmente deberíamos abandonar el bucle 'Por la tremenda: 'Exit For 'Terminando el bucle: 'i = Len(unaCadena) End If Next Print palabra1 Print palabra2En este segundo ejemplo, si no abandonamos el bucle, bien usando EXIT FOR, (algunos me odiarán por esto), bien asignando a la variable i el valor máximo que puede tener: Len(unaCadena); en el caso de que la variable tenga más de un espacio, se asignará a palabra2 la última palabra y a palabra1 todo lo anterior. Si se abandona el bucle, en ese mismo caso: palabra1 tendrá la primera palabra y palabra2 todo el resto.
Para comprobarlo, cambia la asignación por esta otra:
unaCadena = "Hola Mundo desastroso"Y comprueba lo que te digo...
Más adelante veremos otras formas de "obtener" cada una de las palabras de una cadena...
Ya sólo queda esperar a la próxima entrega... en la que "remataremos" lo del acceso aleatorio ese...
Nos vemos.
Guillermo