|   FOROS      |     Tutoriales    |     KIO4 |      
   Inicio B4A (Basic4Android) App inventor 2 Arduino
   Elastix - VoIP Cosas de Windows Webs interesantes  Telecomunicaciones

 


Nuevo concurso para España, Argentina, Brasil, Chile, Colombia, Ecuador, México, Perú y Portugal.

Nueva sección en esta web: Elastix - VoIP

¿Qué es esto?

- Monta un servidor telefónico en tu ordenador para poderte comunicar mediante tu móvil con otros móviles que estén en tu red Wifi. Parecido a Skipe o Whatsapp-teléfono, pero en este caso tú controlas al servidor.

- Si sabes abrir puertos del router, también puedes comunicarte con tu móvil de una red Wifi a teléfonos de otra red Wifi.

- También puedes comunicarte con teléfonos "normales", pero para eso necesitas un dispositivo que vale unos 60 €.

- Es muy recomendable aprender el funcionamiento de este servidor telefónico Asterisk-Elastix.

 Elastix - VoIP

 

B4A en español - Juan Antonio Villalpando
(BASIC4Android)

-- Tutorial de B4A --

Volver al índice del tutorial                    Return to index tutorial

____________________________

Basic4Android.

27.- Lotería primitiva. Tablas. Arrays. Aleatorios. Bucles.

Tutoriales. Lotería primitiva.

Presentación

Bajar Primitiva.zip

- Se trata de obtener 6 números aleatorios entre el 1 y el 48. Entre esos 6 números no debe haber ninguno repetido. De tal manera que cada vez que se obtenga un número, se comprobará, mediante una tabla si ya ha salido anteriormente, en caso que haya salido se busca otro número y en caso que no se haya obtenido se almacena en la tabla.

Código

Bajar Primitiva.zip

 

- Agregamos un Button y seis Label.

- Guardamos el Designer como layout.

 

Los códigos comienzan con

Sub Process_Globals

End Sub

 

Si no tienen esas líneas dará error.

 

Código del programa en Basic4Android
' Programa realizado por Juan Antonio Villalpando
' juana1991@yahoo.com

Sub Process_Globals

End Sub
Sub
Globals Dim numero, a As Int ' Se crea una tabla desde el 0 al 6 (para eso ponemos tabla(7) ' tomarelos los elementos 1, 2, 3, 4, 5 y 6 de la tabla. Dim tabla(7) As Int Dim repetido As Boolean Dim Button1 As Button Dim Label1, Label2, Label3, Label4, Label5, Label6 As Label End Sub Sub Activity_Create(FirstTime As Boolean) Activity.LoadLayout("layout") End Sub Sub Button1_Click For n = 1 To 6 ' Do repetido = True Do While repetido = True repetido = False numero = Rnd(1,49) For k = 1 To 6 If tabla(k) = numero Then repetido = True Next 'Loop While repetido = True Loop tabla(n) = numero Next Label1.Text = tabla(1) Label2.Text = tabla(2) Label3.Text = tabla(3) Label4.Text = tabla(4) Label5.Text = tabla(5) Label6.Text = tabla(6) End Sub

- Creamos una tabla(7) que contiene los elementos:
tabla(0), tabla(1), tabla(2), tabla(3), tabla(4), tabla(5), tabla(6)
- El último elemento de la tabla es el 6, NO es el 7.
- Nosotros utilizaremos desde el elemento tabla(1) hasta el tabla(6)
- El elemento tabla(0), existe pero no lo utilizaremos.

- Creamos un número aleatorio desde el 1 al 48. (Uno menos del que ponemos en el Rnd(1,49)

- Cada vez que se crea un número, se consulta los 6 elementos de la tabla.
For k = 1 To 6

- Si algún número contenido en la tabla coincide con el número actual, se repetirá la obtención del número.

- Si el número que ha salido no está en la tabla, se almacena en el lugar actual de la tabla(n) = numero

- Basic4Android no admite: Loop While repetido = True

____________________

2.- Otro código

Aquí puedes ver otro código para generar números aleatorios sin repetición.

http://www.basic4ppc.com/forum/basic4android-updates-questions/13892-how-dont-repetition-random-number.html#post78764

Fisher-Yates shuffle

En el código anterior el resultado se visualiza en el Logs (pestaña abajo derecha del editor del programa).

________________________________

Si quieres que este tutorial se mantenga y lo actualice con más programas, escríbeme un correo a Juan Antonio: juana1991@yahoo.com

- Mi correo:
juana1991@yahoo.com
- KIO4.COM - Política de cookies. Textos e imágenes propiedad del autor:
© Juan A. Villalpando
No se permite la copia de información ni imágenes.
Usamos cookies propias y de terceros que entre otras cosas recogen datos sobre sus hábitos de navegación y realizan análisis de uso de nuestro sitio.
Si continúa navegando consideramos que acepta su uso. Acepto    Más información