# Exemplo de Cálculo

Vamos considerar um exemplo de robô que demonstra o uso de índices em um seletor para cálculos aleatórios em uma calculadora. Este robô gera um número aleatório, clicando no botão correspondente na interface da calculadora.

O projeto do robô consiste em um diagrama, que se parece com o seguinte (para conveniência, os blocos do diagrama estão numerados):

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfiTHXDaz-CrPKL5piGUPI2SzvJZACtLFosuUgBcTZmXjQlE_MIFdjk92PGOm-LH9kdd7lfoo9WRs-mpkgiulFghA15vPoOlp56OdBfFl0juBeUK5gGiCio1T_imrckKYF9zMkm41HOYNIS74hMyHdfr_I?key=0IUVWPWjCJo2wp2B7nwtag" alt=""><figcaption></figcaption></figure>

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXc_2Oyy_j5WHN576XJCV9KWKpYYoNLmJ_sCs7ag7OpeKGGEVfM4sSOzyBHh4FRB-ih8jWUk5yzjwHiy9P6Ws7whHSo7SFFBgyGPGhf2WokBeXQdiwAjhlHP3FyYbhoqkcZ_m9lJ_XGUhW2v5wv7ITZKLtr-?key=0IUVWPWjCJo2wp2B7nwtag" alt=""><figcaption></figcaption></figure>

1. **Bloco "Início"** (com este bloco começa qualquer diagrama).
2. **Bloco "Iniciar Aplicativo"** inicia o aplicativo especificado com os parâmetros dados. Para este bloco, as seguintes propriedades são especificadas:

* Caminho para o aplicativo (caminho para o aplicativo a ser iniciado);
* Aguardar início (a flag definida pausa a execução do script até que o aplicativo especificado seja iniciado completamente);
* Seletor (permite selecionar interativamente o aplicativo que será iniciado através do seletor).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXd6KTcLlSHgdkP02UoW-iX3vYu6zk1XbtBaTra4hr2S30SpsvEwQZNaSdTFpbkffMYwWoi7kTiu9ZQFuR7ENNoXQ-GW5RNP0Vl1YptUOBVB2XW8baLyFULeqb-SaoL8yWGYOIet8rXSLm_bnGHkbRvYHNAj?key=0IUVWPWjCJo2wp2B7nwtag" alt=""><figcaption></figcaption></figure>

3. **Bloco "Pausa"** pausa a execução do script por um tempo especificado. Para este bloco, as seguintes propriedades são especificadas:

* Unidade de medida (unidade de medida na qual a duração da pausa é especificada);
* Duração (número de segundos que a execução do script será pausada).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXc5n-J7tyZ8Nh-tzqLd_B6npnjieZeQyog_9YF8nO9Yd4wmn6zTzH_3nbFv0-B7puflSs-WTOQ2PPJ2qjkEnZS2kFvje6GofmVjxg6nXpLuEYEv4mgMt3-12zurtgU0kKQ3sJz5IaRmQC9yNaBROdDpjL9E?key=0IUVWPWjCJo2wp2B7nwtag" alt=""><figcaption></figcaption></figure>

4. **Bloco "Número Aleatório"** gera um número aleatório com os parâmetros especificados. Para este bloco, as seguintes propriedades são especificadas:

* Min. valor (valor mínimo para o número aleatório);
* Max. valor (valor máximo para o número aleatório);
* Passo (passo do número aleatório).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdvTtuU4RRAWFqjmzRztrAB6iNC4VGMbUZOZ2BKt3asm3pURa0m5a5blENAylayJzTkYSboODhc4QKrd_IkUOFKc3CBPSKPkEFhrQN1RMMjUflvLaXQBGrWInVINKfwpoALYVCDQJ9FQjdRAE5mGHyCZGIT?key=0IUVWPWjCJo2wp2B7nwtag" alt=""><figcaption></figcaption></figure>

5. **Bloco "Atribuir Valor à Variável"** define novos valores para uma ou mais variáveis. Neste caso, nas propriedades é especificado um valor que deve ser atribuído a uma variável específica.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXdCrFoLghURIEz5AZZJZye9AILjEhBb5GPrTUzxJy7S5BBs4zqnbiDvVh699JQwDddhfFHAv8aj3TRRphM7eqDacmDDOMfqFDFJKkl1XUfrx6aX2BQ_C3jUOMuD78vGFPrKiHB42yCbK2QIrxzqYlb1THsZ?key=0IUVWPWjCJo2wp2B7nwtag" alt=""><figcaption></figcaption></figure>

6. **Blocos "Clique com o Mouse"** realizam um clique no elemento especificado do aplicativo. Para esses blocos, são utilizados seletores.

No primeiro seletor, ocorre um clique no botão com o número, que foi obtido anteriormente através do bloco "Número Aleatório".\
No segundo seletor, ocorre um clique no botão de adição (+).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfbeRJBRPzAg_S7EvXLeL3L8dVP07MIIExZN0nYw_byE8STF2tjguXRvhpOnHLia9BJL5brOGOjZuWX20J5Pw-GHQ8li4oQQdlCUhWYFqLs7yxFZb9eHgD70Z1iXPPoPm45JsYOkR6224tH0gEcqbBNm2zN?key=0IUVWPWjCJo2wp2B7nwtag" alt=""><figcaption></figcaption></figure>

7. **Bloco "Número Aleatório"** gera um número aleatório com os parâmetros especificados. Para este bloco, as seguintes propriedades são especificadas:

* Min. valor (valor mínimo para o número aleatório);
* Max. valor (valor máximo para o número aleatório);
* Passo (passo do número aleatório).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXfJ7Krr-ru5BcxmMi10TDqkF1g7u2aBGFa0JlwhvVU87TScR2Gk7DdfIUsspGXtT8Hii2W62vynB1D-xaCc1kZCuj0NjrK1cJ8I3Fk7Uqdqwn0HnTld7r8UMPhIX2BQ9waZn_dVSM_6Cd0vvUhq2knA9daY?key=0IUVWPWjCJo2wp2B7nwtag" alt=""><figcaption></figcaption></figure>

8. **Bloco "Atribuir Valor à Variável"** define novos valores para uma ou mais variáveis. Neste caso, nas propriedades é especificado um valor que deve ser atribuído a uma variável específica.

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcObw--oX5jNWXDZZbkkjICKF1Xp-aHeH2Swr2Pfzj1gR5LtRaKHFQlKvgeEAVJU5LMNiePN2rGOmkS4FMb4QrKewZsWn0tFxUdRirL6051UjRwmSrsuwtruYIV36IR1AzGpcG-MXxfmm6U4AloRvax2-Bf?key=0IUVWPWjCJo2wp2B7nwtag" alt=""><figcaption></figcaption></figure>

9. **Blocos "Clique com o Mouse"** realizam um clique no elemento especificado do aplicativo. Para esses blocos, são utilizados seletores.

No primeiro seletor, ocorre um clique no botão com o número, que foi obtido anteriormente através do bloco "Número Aleatório".\
No segundo seletor, ocorre um clique no botão de adição (+).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXd0oUDinR5XLbOsWqUYv4FLeEPPJyry3wTzshV42hAvKhWBgDYnlJ3LmI8a3KlGaYohkvF1Xd-lF3h1iuLGjE8z__-LJDBW4uUyLQtYdq3Gnc9RWrPeqf_c3K9eW7oJAWSTQUu1syautwi9yq-Qi-1Oj9cU?key=0IUVWPWjCJo2wp2B7nwtag" alt=""><figcaption></figcaption></figure>

10. **Bloco "Pausa"** pausa a execução do script por um tempo especificado. Para este bloco, as seguintes propriedades são especificadas:

* Unidade de medida (unidade de medida na qual a duração da pausa é especificada);
* Duração (número de segundos que a execução do script será pausada).

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXc5n-J7tyZ8Nh-tzqLd_B6npnjieZeQyog_9YF8nO9Yd4wmn6zTzH_3nbFv0-B7puflSs-WTOQ2PPJ2qjkEnZS2kFvje6GofmVjxg6nXpLuEYEv4mgMt3-12zurtgU0kKQ3sJz5IaRmQC9yNaBROdDpjL9E?key=0IUVWPWjCJo2wp2B7nwtag" alt=""><figcaption></figcaption></figure>

11. **Bloco "Pressionar Teclas"** emula a pressão de teclas no teclado. Para este bloco, as seguintes propriedades são especificadas:

<figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcVFPkn_FThG7Tu-4-T686OJJx4W0nqWHAAYPAM8ZGof5Ke1RLzL5nJxlhDPDUrWIcBq556odG6-G5IluVvNhtddJMkqzDpK1QZIBJSjTLNiJ7ODLKB9R2di9sOQ_ntrqVEvZaC_og1kFA1DrotRRqUK_cU?key=0IUVWPWjCJo2wp2B7nwtag" alt=""><figcaption></figcaption></figure>

12. **Bloco "Fim"** (este bloco finaliza a execução do script ou retorna o diagrama do subprocesso ao processo principal).


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.sherparpa.ru/pt/sherpa-rpa/sherpa-designer/primery-robotov/calc-example.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
