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 15: Simulador de Lotería Primitiva

/*Programa: Primitiva

      Autores: Lidia y Pablo

      descripción: Programa que simula el juego de la lotería

      primitiva*/

 

Program Primitiva

 

      Var premiados As Integer[7]

      Var boleto As Integer[12]

     

      Method CubrirBoleto()

            Var i As Integer

           

            boleto[1]=ConsoleReadInt("Introduzca número 1: ",True)

            While boleto[1]<1 Or boleto[1]>49

                  boleto[1]=ConsoleReadInt("Por favor, introduzca bien número 1: ",True)

            End While

           

            boleto[2]=ConsoleReadInt("Introduzca número 2: ",True)

            While boleto[2]<1 Or boleto[2]>49 Or boleto[2]=boleto[1]

                  boleto[2]=ConsoleReadInt("Por favor, introduzca bien número 2: ",True)

            End While

           

            boleto[3]=ConsoleReadInt("Introduzca número 3: ",True)

            While boleto[3]<1 Or boleto[3]>49 Or boleto[3]=boleto[1] Or boleto[3]=boleto[2]

                  boleto[3]=ConsoleReadInt("Por favor, introduzca bien número 3: ",True)

            End While

           

            boleto[4]=ConsoleReadInt("Introduzca número 4: ",True)

            While boleto[4]<1 Or boleto[4]>49 Or boleto[4]=boleto[1] Or boleto[4]=boleto[2] Or boleto[4]=boleto[3]

                  boleto[4]=ConsoleReadInt("Por favor, introduzca bien número 4: ",True)

            End While

           

            boleto[5]=ConsoleReadInt("Introduzca número 5: ",True)

            While boleto[5]<1 Or boleto[5]>49 Or boleto[5]=boleto[1] Or boleto[5]=boleto[2] Or boleto[5]=boleto[3] Or boleto[5]=boleto[4]

                  boleto[5]=ConsoleReadInt("Por favor, introduzca bien número 5: ",True)

            End While

           

            boleto[6]=ConsoleReadInt("Introduzca número 6: ",True)

            While boleto[6]<1 Or boleto[6]>49 Or boleto[6]=boleto[1] Or boleto[6]=boleto[2] Or boleto[6]=boleto[3] Or boleto[6]=boleto[4] Or boleto[6]=boleto[5]

                  boleto[6]=ConsoleReadInt("Por favor, introduzca bien número 6: ",True)

            End While

           

            boleto[7]=ConsoleReadInt("Si desea jugar 7 apuestas, introduzca número 7; en caso contrario pulse cero (0): ",True)

            While boleto[7]<0 Or boleto[7]>49 Or boleto[7]=boleto[1] Or boleto[7]=boleto[2] Or boleto[7]=boleto[3] Or boleto[7]=boleto[4] Or boleto[7]=boleto[5] Or boleto[7]=boleto[6]

                  boleto[7]=ConsoleReadInt("Por favor, introduzca bien número 7 o teclee cero (0) si desea salir: ",True)

            End While

            If (boleto[7]=0) Then

                  For i=8 To 12

                        boleto[i]=0

                  Next

                  Return

            End If

           

            boleto[8]=ConsoleReadInt("Si desea jugar 28 apuestas, introduzca número 8; en caso contrario pulse cero (0): ",True)

            While boleto[8]<0 Or boleto[8]>49 Or boleto[8]=boleto[1] Or boleto[8]=boleto[2] Or boleto[8]=boleto[3] Or boleto[8]=boleto[4] Or boleto[8]=boleto[5] Or boleto[8]=boleto[6] Or boleto[8]=boleto[7]

                  boleto[8]=ConsoleReadInt("Por favor, introduzca bien número 8 o teclee cero (0) si desea salir: ",True)

            End While

            If (boleto[8]=0) Then

                  For i=9 To 12

                        boleto[i]=0

                  Next

                  Return

            End If

           

            boleto[9]=ConsoleReadInt("Si desea jugar 84 apuestas, introduzca número 9; en caso contrario pulse cero (0): ",True)

            While boleto[9]<0 Or boleto[9]>49 Or boleto[9]=boleto[1] Or boleto[9]=boleto[2] Or boleto[9]=boleto[3] Or boleto[9]=boleto[4] Or boleto[9]=boleto[5] Or boleto[9]=boleto[6] Or boleto[9]=boleto[7] Or boleto[9]=boleto[8]

                  boleto[9]=ConsoleReadInt("Por favor, introduzca bien número 9 o teclee cero (0) si desea salir: ",True)

            End While

            If (boleto[9]=0) Then

                  For i=10 To 12

                        boleto[i]=0

                  Next

                  Return

            End If

           

            boleto[10]=ConsoleReadInt("Si desea jugar 210 apuestas, introduzca número 10; en caso contrario pulse cero (0): ",True)

            While boleto[10]<0 Or boleto[10]>49 Or boleto[10]=boleto[1] Or boleto[10]=boleto[2] Or boleto[10]=boleto[3] Or boleto[10]=boleto[4] Or boleto[10]=boleto[5] Or boleto[10]=boleto[6] Or boleto[10]=boleto[7] Or boleto[10]=boleto[8] Or boleto[10]=boleto[9]

                  boleto[10]=ConsoleReadInt("Por favor, introduzca bien número 10 o teclee cero (0) si desea salir: ",True)

            End While

            If (boleto[10]=0) Then

                  For i=11 To 12

                        boleto[i]=0

                  Next

                  Return

            End If

           

            boleto[11]=ConsoleReadInt("Si desea jugar 462 apuestas, introduzca número 11; en caso contrario pulse cero (0): ",True)

            While boleto[11]<0 Or boleto[11]>49 Or boleto[11]=boleto[1] Or boleto[11]=boleto[2] Or boleto[11]=boleto[3] Or boleto[11]=boleto[4] Or boleto[11]=boleto[5] Or boleto[11]=boleto[6] Or boleto[11]=boleto[7] Or boleto[11]=boleto[8] Or boleto[11]=boleto[9] Or boleto[11]=boleto[10]

                  boleto[11]=ConsoleReadInt("Por favor, introduzca bien número 11 o teclee cero (0) si desea salir: ",True)

            End While

            If (boleto[11]=0) Then

                  boleto[12]=0

                  Return

            End If

           

            boleto[12]=ConsoleReadInt("Si desea jugar 924 apuestas, introduzca número 12; en caso contrario pulse cero (0): ",True)

            While boleto[12]<0 Or boleto[12]>49 Or boleto[12]=boleto[1] Or boleto[12]=boleto[2] Or boleto[12]=boleto[3] Or boleto[12]=boleto[4] Or boleto[12]=boleto[5] Or boleto[12]=boleto[6] Or boleto[12]=boleto[7] Or boleto[12]=boleto[8] Or boleto[12]=boleto[9] Or boleto[12]=boleto[10] Or boleto[12]=boleto[11]

                  boleto[12]=ConsoleReadInt("Por favor, introduzca bien número 12 o teclee cero (0) si desea salir: ",True)

            End While

           

      End Method

     

      Method GenerarNumeros()

           

            //con este método generamos la combinación ganadora y

            //la ordenamos

            Var auxiliar As Integer

            Var g As Integer

            Var h As Integer

           

            premiados[1]=Random(1,49)

           

            premiados[2]=Random(1,49)

            While premiados[2]=premiados[1]

                  premiados[2]=Random(1,49)

            End While

           

            premiados[3]=Random(1,49)

            While premiados[3]=premiados[1] Or premiados[3]=premiados[2]

                  premiados[3]=Random(1,49)

            End While

           

            premiados[4]=Random(1,49)

            While premiados[4]=premiados[1] Or premiados[4]=premiados[2] Or premiados[4]=premiados[3]

                  premiados[4]=Random(1,49)

            End While

           

            premiados[5]=Random(1,49)

            While premiados[5]=premiados[1] Or premiados[5]=premiados[2] Or premiados[5]=premiados[3] Or premiados[5]=premiados[4]

                  premiados[5]=Random(1,49)

            End While

           

            premiados[6]=Random(1,49)

            While premiados[6]=premiados[1] Or premiados[6]=premiados[2] Or premiados[6]=premiados[3] Or premiados[6]=premiados[4] Or premiados[6]=premiados[5]

                  premiados[6]=Random(1,49)

            End While

           

            premiados[7]=Random(1,49)

            While premiados[7]=premiados[1] Or premiados[7]=premiados[2] Or premiados[7]=premiados[3] Or premiados[7]=premiados[4] Or premiados[7]=premiados[5] Or premiados[7]=premiados[6]

                  premiados[7]=Random(1,49)

            End While

           

            //ordenamos la combinación ganadora de 6 números

            For g=2 To 6

                  auxiliar=premiados[g]

                  h=g-1

                  While h>=1 And auxiliar<premiados[h]

                        premiados[h+1]=premiados[h]

                        h=h-1

                  End While

                  premiados[h+1]=auxiliar

            Next

           

      End Method

     

      Method Informar()

            //listamos información

            ConsoleWriteLine("Si usted marca 6 números, jugará 1 apuesta")

            ConsoleWriteLine("Si usted marca 7 números, jugará 7 apuestas")

            ConsoleWriteLine("Si usted marca 8 números, jugará 28 apuestas")

            ConsoleWriteLine("Si usted marca 9 números, jugará 84 apuestas")

            ConsoleWriteLine("Si usted marca 10 números, jugará 210 apuestas")

            ConsoleWriteLine("Si usted marca 11 números, jugará 462 apuestas")

            ConsoleWriteLine("Si usted marca 12 números, jugará 924 apuestas")

      End Method

     

      Method Main()

 

            Var acertados As Integer

            Var acertadocomplementario As Boolean

            Var i As Integer

            Var n As Integer

            Var m As Integer

            Var f As Integer

           

            ConsoleWriteLine("=====JUEGO DE LA PRIMITIVA=====")

           

            Informar()        //invocamos nuestro método Informar

           

            CubrirBoleto() //invocamos nuestro método CubrirBoleto

           

            ConsoleWriteLine("")

            ConsoleWriteLine("")

           

            //esto es para retardar y dar emoción al asunto

            ConsoleWriteLine("Generando combinación ganadora")

            Delay(2000)

            ConsoleWriteLine("¡Qué nervios!")

            Delay(3000)

            GenerarNumeros()  //invocamos el método generarnumeros

            ConsoleWriteLine("Combinación ganadora: "+premiados[1]+" - "+premiados[2]+" - "+premiados[3]+" - "+premiados[4]+" - "+premiados[5]+" - "+premiados[6]+" y el complementario "+premiados[7])

           

            ConsoleWriteLine("")

            ConsoleWriteLine("")

           

            For n=1 To 7

                  For m=1 To 12

                        If (premiados[n]=boleto[m]) Then

                             If n<>7 Then

                                   acertados=acertados+1

                             Else

                                   acertadocomplementario=True

                             End If

                        End If

                  Next

            Next

           

            ConsoleWrite("Usted ha tenido "+acertados+" aciertos")

            If acertadocomplementario=True Then

                  ConsoleWriteLine(" y el complementario")

            End If

 

      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