Funções Rand RandBetween

Aplica-se a: Aplicações de tela Fluxos de ambiente de trabalho Aplicações condicionadas por modelo Power Platform CLI

Devolve um número pseudoaleatório.

Descrição

A função Rand devolve um número pseudoaleatório que é maior ou igual a 0 e menor do que a 1. Por exemplo, Rand() pode devolver 0,43147 e pode devolver 0, mas não 1.

A função RandBetween devolve um número inteiro pseudoaleatório (número inteiro sem porção decimal) entre dois números, inclusive. Por exemplo RandBetween( 1, 3 ) pode devolver 1, 2 ou 3.

Funções Voláteis

Rand e RandBetween são funções voláteis. Sempre que a função é avaliada, devolve um valor diferente.

Quando for utilizada numa fórmula de fluxos de dados, uma função volátil só irá devolver um valor diferente se a fórmula em que aparece for reavaliada. Se nada mais for alterado na fórmula, esta terá o mesmo valor durante a execução da sua aplicação.

Por exemplo, um controlo label com Label1.Text = Rand() não será alterado enquanto a sua aplicação estiver ativa. Só resultará num novo valor se fechar e voltar a abrir a aplicação.

A função será reavaliada se fizer parte de uma fórmula em que algo foi alterado. Por exemplo, se alterarmos o nosso exemplo para incluir um Controlo de Deslize com Label1.Text = Slider1.Value + Rand(), será gerado um novo número aleatório sempre que o valor do controlo Slider for alterado e a propriedade de texto da etiqueta for reavaliada. Veja este exemplo abaixo.

Quando são utilizadas numa fórmula de comportamento, as funções Rand e RandBetween serão avaliadas sempre que a fórmula de comportamento for avaliada. Veja um exemplo abaixo.

Sintaxe

Rand()

RandBetween( Bottom, Top )

  • Bottom – Obrigatório. O menor número inteiro que a função pode devolver.
  • Top – Obrigatório. O maior número inteiro que a função pode devolver. Tem de ser maior ou igual a Bottom.

Exemplos

Utilização básica

Fórmula Descrição Resultado
Rand() Devolve um número pseudoaleatório que é maior ou igual a 0 e menor do que 1. Varia em cada avaliação, por exemplo, a 0,874252.
Rand() * 100 Com base no exemplo anterior, utiliza a multiplicação para expandir o intervalo para um valor maior ou igual a 0 e menor do que 100. Varia em cada avaliação, por exemplo, a 78,42521.
Int( Rand() * 100 ) Com base no exemplo anterior, utiliza a função Int para remover a porção decimal, resultando num número inteiro maior que ou igual a 0 e menor do que 100 Varia em cada avaliação, por exemplo, a 84.
RandBetween( 0, 99 ) Com base no exemplo anterior, executa a mesma operação utilizando a função RandBetween Varia em cada avaliação, por exemplo, a 21.
RandBetween( -1, 1 ) Devolve um número pseudoaleatório que está entre -1 e 1, incluindo: -1, 0 ou 1. Varia em cada avaliação, por exemplo, a -1.

Apresentar um número aleatório diferente quando a entrada do utilizador é alterada com Rand

  1. Adicione um controlo Slider e mude o respetivo nome para Slider1, se este tiver um nome diferente.

  2. Adicione um controlo Label e defina a respetiva propriedade Text para esta fórmula:

    Slider1.Value + Rand()

    A etiqueta mostra 50 (o valor predefinido para o Controlo de Deslize) e um número decimal aleatório:

    Um ecrã a mostrar um controlo de etiqueta com 50,741.

  3. Mantenha a tecla Alt premida e altere o valor do Controlo de Deslize.

    Sempre que alterar o valor do Controlo de Deslize, a porção decimal da etiqueta mostrará um número aleatório diferente:

    Quatro ecrãs a mostrar um controlo de etiqueta com quatro valores decimais aleatórios diferentes para cada uma das quatro definições de Controlo de Deslize: 70,899; 84,667; 90,134; 99,690.

Criar uma tabela de números aleatórios com RandBetween

  1. Adicione um controlo Button e defina a respetiva propriedade OnSelect para esta fórmula:

    ClearCollect( RandomNumbers, ForAll( Sequence( 100 ), RandBetween( 1, 20 ) ))

    Esta fórmula cria uma tabela com uma única coluna que é utilizada para iterar 100 vezes, o que resulta em 100 números aleatórios.

  2. Adicione um controlo Data table, defina a respetiva propriedade Items para RandomNumbers e mostre o campo Value.

    Seleção da origem de dados da coleção RandomNumbers.

  3. Mantenha a tecla Alt premida e selecione o botão ao clique ou toque no mesmo.

    A tabela de dados mostra 100 números aleatórios entre 1 e 20:

    Tabela de dados com 100 números aleatórios.

  4. Selecione o botão novamente para mostrar uma lista de números aleatórios diferente:

    O mesmo ecrã que mostra uma tabela de dados com um novo conjunto de números aleatórios.

Para gerar um único número aleatório em vez de uma tabela, utilize Set( RandomNumber, Rand() ) ou Set( RandNumber, RandBetween( 1, 20 ) ).