reduc
Diferenças
Aqui você vê as diferenças entre duas revisões dessa página.
| Ambos lados da revisão anteriorRevisão anteriorPróxima revisão | Revisão anterior | ||
| reduc [2025/04/01 23:48] – [Comandos] admin | reduc [2025/04/15 16:34] (atual) – edição externa 127.0.0.1 | ||
|---|---|---|---|
| Linha 1: | Linha 1: | ||
| ====== rEduc ====== | ====== rEduc ====== | ||
| - | A linguagem rEduc foi criada para facilitar a programação de robôs em linguagens mais complexas (no caso do sBotics, [[csharp|C# | + | A linguagem rEduc foi criada para facilitar a programação de robôs em linguagens mais complexas (no caso do sBotics, [[csharp|C# |
| Neste tutorial apresentaremos as principais estruturas desta linguagem. | Neste tutorial apresentaremos as principais estruturas desta linguagem. | ||
| + | |||
| + | > **Aviso!** rEduc também tem uma versão em inglês, porém neste tutorial estamos tratando da versão pt-BR do rEduc, a mais utilizada por usuários do sBotics. | ||
| ===== Inicialização ===== | ===== Inicialização ===== | ||
| Linha 93: | Linha 95: | ||
| | | ||
| Estes operadores podem ser utilizados em // | Estes operadores podem ser utilizados em // | ||
| + | |||
| + | ==== Conversões Entre Tipos ==== | ||
| + | Tipos podem ser convertidos utilizando as funções '' | ||
| + | |||
| + | * '' | ||
| + | * '' | ||
| + | * '' | ||
| + | |||
| + | Na conversão em booleano, caso o número informado seja 1 ou acima a conversão sairá como '' | ||
| ===== Controladores de fluxo ===== | ===== Controladores de fluxo ===== | ||
| Linha 151: | Linha 162: | ||
| **Teste** | **Teste** | ||
| - | A estrutura teste da linguagem rEduc representa um comando de seleção. A utilização desta estrutura faz com que o valor de uma variável do tipo **texto** fornecida seja avaliado e dependendo de seu valor uma determinada sequência de comandos é realizada. No código abaixo a variável testada foi chamada de variavel e caso o seu valor seja igual a valor1 a sequência de comandos denominada no código como comandos1 será executada, caso seu valor seja igual a valor2 o conjunto comandos2 será executado. Caso seu valor não seja nenhum dos apresentados a sequência de comandos denominada de comandos3 será executada. | + | A estrutura teste da linguagem rEduc representa um comando de seleção. A utilização desta estrutura faz com que o valor de uma **variável do tipo texto** fornecida seja avaliado e dependendo de seu valor uma determinada sequência de comandos é realizada. No código abaixo a variável testada foi chamada de variavel e caso o seu valor seja igual a valor1 a sequência de comandos denominada no código como comandos1 será executada, caso seu valor seja igual a valor2 o conjunto comandos2 será executado. Caso seu valor não seja nenhum dos apresentados a sequência de comandos denominada de comandos3 será executada. |
| < | < | ||
| - | teste ( variavel de texto ) { | + | teste ( variavelDeTexto |
| caso valor1: comandos1 | caso valor1: comandos1 | ||
| caso valor2: comandos2 | caso valor2: comandos2 | ||
| Linha 220: | Linha 231: | ||
| | | ||
| ===== Funções ===== | ===== Funções ===== | ||
| - | adasdasds | ||
| + | Funções no sBotics são como tarefas, porém que **retornam** algum valor em um dos tipos já citados: numérico, em texto ou booleano. | ||
| + | |||
| + | Desta forma, toda função precisa de um **tipo de retorno** e uma instrução de **retorno**. Exemplos: | ||
| + | |||
| + | < | ||
| + | funcao booleano TaPerto { | ||
| + | booleano verificacao = (Ultra(" | ||
| + | retornar verificacao | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | < | ||
| + | funcao numero UmMaisUm { | ||
| + | retornar 1+1 | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | E como tarefas, também podem receber parâmetros: | ||
| + | |||
| + | < | ||
| + | funcao numero UmMaisAlgo com numero algo { | ||
| + | retornar 1+algo | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | Da mesma forma que tarefas, funções podem ser chamadas no seu código | ||
| + | |||
| + | se(TaPerto()) | ||
| + | |||
| + | numero exemplo = UmMaisUm() | ||
| + | |||
| + | numero exemplodois = UmMaisAlgo(5) | ||
| + | | ||
| + | ===== Valores-Padrão de Parâmetros (Funções e Tarefas) ===== | ||
| + | Conceito mais avançado, porém tarefas e funções podem possuir valores-padrão para os parâmetros se informados após o símbolo '' | ||
| + | |||
| + | < | ||
| + | tarefa Frente com numero velocidade = 200 { | ||
| + | Motor(" | ||
| + | Motor(" | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | Isto poderá ser chamado como: | ||
| + | |||
| + | # Normalmente | ||
| + | Frente(500) | ||
| + | |||
| + | # Sem o parâmetro, que utilizará o valor padrão de 200 como definido | ||
| + | Frente() | ||
| ===== Comandos ===== | ===== Comandos ===== | ||
| - | asdasdasdasd | + | Comandos gerais para a linguagem rEduc, desde operações matemáticas a controle do robô etc podem ser encontrados aqui: [[https:// |
| + | |||
| + | Para aprender outros conceitos gerais de [[Programação]] e sobre [[Componentes]], | ||
| ===== Exemplo ===== | ===== Exemplo ===== | ||
| - | asdasdasdasd | + | {{ line-follower.gif }} |
| + | |||
| + | Segue abaixo um código de exemplo de um simples seguidor de linha para o robô " | ||
| + | |||
| + | < | ||
| + | # Funções de Controle | ||
| + | tarefa Frente com numero velocidade = 200{ | ||
| + | TravarMotor(" | ||
| + | TravarMotor(" | ||
| + | |||
| + | Motor(" | ||
| + | Motor(" | ||
| + | } | ||
| + | |||
| + | tarefa Direita com numero velocidade = 200{ | ||
| + | Motor(" | ||
| + | TravarMotor(" | ||
| + | |||
| + | TravarMotor(" | ||
| + | Motor(" | ||
| + | } | ||
| + | |||
| + | tarefa Esquerda com numero velocidade = 200{ | ||
| + | Motor(" | ||
| + | TravarMotor(" | ||
| + | |||
| + | TravarMotor(" | ||
| + | Motor(" | ||
| + | } | ||
| + | |||
| + | tarefa Tras com numero velocidade = 200{ | ||
| + | TravarMotor(" | ||
| + | TravarMotor(" | ||
| + | |||
| + | Motor(" | ||
| + | Motor(" | ||
| + | } | ||
| + | |||
| + | numero contador = 0 | ||
| + | tarefa LedFinal { | ||
| + | para contador de 1 ate 5 passo 1 farei { | ||
| + | LigarLuz(" | ||
| + | Esperar(50) | ||
| + | LigarLuz(" | ||
| + | Esperar(50) | ||
| + | LigarLuz(" | ||
| + | Esperar(50) | ||
| + | } | ||
| + | } | ||
| + | |||
| + | inicio | ||
| + | AbrirConsole() | ||
| + | |||
| + | enquanto (verdadeiro) farei { | ||
| + | EscreverLinha(" | ||
| + | se((Cor(" | ||
| + | LigarLuz(" | ||
| + | Direita(300) | ||
| + | } senao se((Cor(" | ||
| + | LigarLuz(" | ||
| + | Esquerda(300) | ||
| + | } senao se((Cor(" | ||
| + | LigarLuz(" | ||
| + | Frente() | ||
| + | } senao se((Cor(" | ||
| + | Frente(0) | ||
| + | LedFinal() | ||
| + | } senao { | ||
| + | LigarLuz(" | ||
| + | Frente() | ||
| + | } | ||
| + | |||
| + | } | ||
| + | |||
| + | fim | ||
| + | </ | ||
| + | |||
| + | Caso seja um usuário avançado que deseja realizar tarefas mais difíceis e ter um controle total sobre seu robô, cogite alterar para [[csharp|C# | ||
reduc.1743551308.txt.gz · Última modificação: 2025/04/15 16:34 (edição externa)
