Inicio Guía didáctica Actividades Recursos Vídeos   Ayuda

 
Actividad 1
Actividad 2
Actividad 3
Actividad 4
Actividad 5
Actividad 6
Actividad 7
Actividad 8
Actividad 9
Actividad 10
Actividad 11
Actividad 12
Actividad 13
Actividad 14
Actividad 15

Resolución

Código fuente 10.2: Números primos entre dos valores introducidos por el usuario

/*Programa: Primos2

    Autores: Lidia y Pablo

    Descripción: Este programa imprime la lista de los números

primos entre dos valores naturales introducidos por el usuario,

dando el resultado en 15 columnas*/

 

Program Primos2

 

      Var k As Integer  //número a ensayar

     

      //función que indica si "k" es primo

      Function EsPrimo(k As Integer) As Boolean

            Var d As Integer  //posible divisor

            For d=2 To (-1+k)

                  If k Mod d=0 Then

                        Return False

                  End If

            Next

            Return True

      End Function

     

      Method Main()

           

            Var columna As Integer       //contador de columnas

           

            ConsoleWriteLine("Sabías que el número de números naturales primos es infinito?")

            ConsoleWriteLine("Vamos a hallar todos los primos entre dos números naturales dados")

            ConsoleWriteLine("")

           

            Var n As Integer=ConsoleReadInt("Introduzca un número natural: ",True)

            While n<=0

                  ConsoleWriteLine("Por favor, tiene que ser mayor que cero")

                  n=ConsoleReadInt("Introduzca un número natural: ",True)

            End While

            Var m As Integer=ConsoleReadInt("Introduzca otro número natural: ",True)

            While m<=0

                  ConsoleWriteLine("Por favor, otra vez igual,tiene que ser mayor que cero")

                  m=ConsoleReadInt("Introduzca otro número natural: ",True)

            End While

           

            //impresión del resultado

            ConsoleWriteLine("")

            ConsoleWriteLine("Los números primos comprendidos entre los valores "+Min(n,m)+" y "+Max(n,m)+" son:")

            ConsoleWriteLine("")

            For k=Min(n,m) To Max(n,m)

                  If EsPrimo(k) Then

                        ConsoleWrite(k)

                        ConsoleWrite("     ")

                        columna=columna+1

                        If columna=15 Then

                             columna=0

                             ConsoleWriteLine("")

                        End If

                  End If

            Next

 

      End Method

 

End Program

Planteamiento Ejecución Resolución
 
Enlaces Web de interés

Ver la presentación

 

Autores: Pablo Flórez Valbuena y Lidia Getino Llamas

Abril 2007