|     Inicio    |   |         |  |   FOROS      |  |      |      
   Elastix - VoIP B4A (Basic4Android) App inventor 2 WAMP - PHP - MySQL
  Estación meteorológica Cosas de Windows Webs interesantes Arduino
  AutoIt (Programación) Visual Basic Script (VBS) Translate:
Búsqueda en este sitio:


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

App inventor 2 en español
Cómo programar los teléfonos móviles con Android.
Curso de App inventor 2 en español - Juan Antonio Villalpando

-- Tutorial de iniciación de App Inventor 2 en español --

Volver al índice del tutorial

____________________________


84B.- Números primos.

p84B_numeros_primos.aia

- Un número primo es aquel que solo es divisible entre él mismo y la unidad.

- El número 7 es primo, porque solo es divisible entre 7/7 = 1 (resto 0) y 7/1 = 7 (resto = 0)

- El número 6 no es primo, porque además de 6 y de 1 se puede dividir entre 6/3 = 2 (resto = 0) y entre 6/2 = 3 (resto = 0)

- En nuestra aplicación al pulsar un Botón se calculará y se mostrarán los números primos menores de 100.

- [En el tutorial 18parimpar, vimos cómo calcular los divisores de un número.]

_________________
- Diseño.

________________
- Bloques.

_________________
- Comentarios.

- En un bucle vamos tomando números empezando por el 100 y disminuyendo (-1): 99, 98, 97, 96,... hasta el 2

- Cada vez que el bucle tenga un número, supongamos que está en el 47, a una variable llamada divisor se le asigna uno menos, el 46.

- Así que irá dividiendo el 47 entre 46, 45, 44, 43, 42... hasta el 2

- Entra en otro bucle llamado mientras (while).

- Mientras el divisor sea mayor de 1 estará dando vueltas en ese bucle.

- Va dividiendo el dividendo (47) entre el divisor, en caso que su división tenga resto 0 es que el dividendo es divisible por ese número y se indica que es_divisible es cierto.

- Además obligamos que salga del bucle mientras, poniendo divisor a 0. Ya no tendrá que seguir haciendo divisiones al 47.

- En caso que haya dividido al 47 por todos los números menores que él y que la variable es_divisible siga siendo a falsa, significa que ese número es primo, lo añade a la Etiqueta1.

- La línea divisor = divisor -1 es la que hará que cada vez que existe una iteración divisor sea uno menos que el anterior.

- Para finalizar los cáculos la aplicación tiene que realizar muchas iteraciones, de tal manera que puede tardar más de 40 segundos en dar el resultado.

_________________
- Propuestas.

- Consulta el tiempo que tarda en calcular los número primos, tal vez 45 segundos.

- Inhabilita el bloque divisor = 0. Consulta otra vez el tiempo, tal vez 65 segundos.

- El bloque divisor = 0, se ha puesto para que en el caso que ya encuentre un divisor, salga del bucle "Mientras". No hace falta seguir dividiendo ese dividendo.

- Cuenta el número de iteraciones totales necesarias para dar el resultado. Muéstralo en una Etiqueta2.

- Criba de Eratóstenes, consiste en eliminar o cribar números en determinadas secuencias para que al final solo queden los primos.

- Criba de Eratóstenes. Wikipedia.

- Al final de este mensaje hay un ejemplo de la Shieve of Erastostenes.

https://groups.google.com/forum/#!category-topic/mitappinventortest/general-questions-about-app-inventor-programming/5fTa_mXDdv0

 

__________________________________

 

- 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