Buenas!.
Esto es un ejercicio que está basado en otro problema.
Son ejercicios que se remontan a otra época. Pero son efectivos para aprendizaje.
En el ejercicio se quiere conocer. ¿ Cuántos cromos se han tenido que comprar para conseguir la colección de 100 cromos ?.
( No se dice sin son de fútbol si son de personajes de anime, etc). Solo cromos. (No son sellos,no son pegatinas ). Es lo más parecido
a una tarjeta o carta de algo, de futbolista, de jugadores de béisbol, de cartas de juegos de mesa, etc.
Este ejemplo de programa lo utilicé para la traducción. De ahí mi "rebote" por como traducen a veces los traductores online.
Código:
Const PRECIOCROMOS As Float = 0.2
Private cromosobtenidos As New Integer[100]
Public Sub Main()
Dim cromoscomprados As Integer
Dim cuentacromostengo As Integer
Dim indicecromo As Integer
Randomize
While cuentacromostengo < cromosobtenidos.Max
indicecromo = Rand(0, cromosobtenidos.max - 1)
If cromosobtenidos[indicecromo] = 0 Then
cromosobtenidos[indicecromo] = 1
cuentacromostengo += 1
Endif
cromoscomprados += 1
Wend
' Print "Has comprado " & Str(cromoscomprados) & " cromos para obtener 100 cromos sin repetición"
' Print "Has comprado " & Str(cromoscomprados - 100) & " cromos demás"
' Print "Te has gastado: " & Format(cromoscomprados * PRECIOCROMOS, "$#.##")
Print ("You bought ") & Str(cromoscomprados) & (" football cards to get 100 football cards without repetition.")
Print ("You bought ") & Str(cromoscomprados - 100) & (" extra football cards.")
Print ("You have spent: ") & Format(cromoscomprados * PRECIOCROMOS, "$#.##")
End
Tuve que añadir que eran de fútbol por no dejarlo en ¿ que tipo de cromos son ?.
La salida por la consola fue algo extraña.
Cita:
Tú compraste471Tarjetas de fútbol para obtener 100 tarjetas de fútbol sin repetición.
Tú compraste371Tarjetas de fútbol adicionales.
Has gastado:94,2 €
Fijaros que está todo pegado, he añadido los corchetes pero parece como si eso hubiera eliminado los espacios laterales.
¿ Alguien sabe por qué pasa eso ?.
.
Vemos ademas que la traducción "literal" es "Tú compraste", cuando se puede decir perfectamente "Compraste".
Tampoco me gusta que sea tan redundante, compraste tarjetas de futbol para ...tarjetas de futbol, cuando se esta hablando de lo mismo. Que no se libra del de...
Y lógicamente en aquella época ni mucho menos existía el bucle "While".
Para anécdota:
Los cromos de Liga Este año cuestan más del triple que hace 20 años
Saludos
La versión en inglés que es la original no ocurre:
Cita:
You bought 763 football cards to get 100 football cards without repetition.
You bought 663 extra football cards.
You have spent: $152.6
Supongo que en Inglés, la primera frase debe ser algo como:
"You bought 763 football cards to get 100 without repetition."
Que por cierto no ha usado "Have".