programacao
Diferenças
Aqui você vê as diferenças entre duas revisões dessa página.
Próxima revisão | Revisão anterior | ||
programacao [2025/04/02 00:20] – criada admin | programacao [2025/04/15 16:34] (atual) – edição externa 127.0.0.1 | ||
---|---|---|---|
Linha 1: | Linha 1: | ||
====== Programação ====== | ====== Programação ====== | ||
+ | |||
+ | No sBotics, a programação do robô é a principal atividade a ser realizada pelo usuário. Esta página explora as funcionalidades do menu de programação, | ||
+ | |||
+ | ===== Acessando a Tela de Programação ===== | ||
+ | |||
+ | O menu de robôs pode ser acessado através do segundo botão na parte inferior da interface do simulador (HUD). | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | Nesta tela, você pode: | ||
+ | |||
+ | - Criar, alterar e excluir programas; | ||
+ | - Trocar a linguagem entre **BlockEduc**, | ||
+ | - Salvar o programa e enviar para o robô (compilar); | ||
+ | - Importar / Exportar arquivos dos programas escritos. | ||
+ | |||
+ | {{: | ||
+ | |||
+ | > **Dica!** Caso seu programa escrito (que não seja BlockEduc) fique muito grande (+700 linhas), recomendamos que use o vscode para programar no simulador, basta ver o botão " | ||
+ | ===== Hierarquia de Dificuldades ===== | ||
+ | As lingugens do sBotics seguem uma hierarquia de dificuldades. **Toda programação pode ser convertida para níveis maiores de dificuldade.** | ||
+ | |||
+ | {{ trocarlinguagem.png? | ||
+ | Isto é, dada a hierarquia abaixo: | ||
+ | - [[BlockEduc]] (Mais fácil) | ||
+ | - [[rEduc]] (Intermediária) | ||
+ | - [[csharp|C# | ||
+ | É sempre possível programando a partir de uma linguagem mais fácil converter seu código para uma linguagem mais difícil utilizando a função de trocar linguagem no topo da tela de programação. | ||
+ | |||
+ | Isto é, BlockEduc é um conversor/ | ||
+ | |||
+ | > **Não pretendemos fazer conversores para linguagens mais fáceis pois o intuito do sBotics é iniciar pessoas a educação de robótica, e queremos que o usuário esteja progredindo em dificuldade e habilidade.** | ||
+ | |||
+ | No geral, sempre aconselhamos utilizar o **[[rEduc]]** para seus programas, porém caso não tenha familiaridade com programação em texto ou já saiba programação avançada, não há problemas em utilizar [[BlockEduc]] e [[csharp|C# | ||
+ | ===== Entendendo a Programação Síncrona (Avançado) ===== | ||
+ | Imagine que o sBotics é como um palco onde o robô executa suas ações. Em um robô tradicional, | ||
+ | |||
+ | > **Para pessoas mais estudadas de programação: | ||
+ | |||
+ | Como isso afeta a programação? | ||
+ | * " | ||
+ | * Esperar é importante: Na robótica real, os comandos levam tempo para serem executados. Agora, no sBotics, você **precisa** usar um comando chamado " | ||
+ | |||
+ | **No rEduc/ | ||
+ | |||
+ | > **Para os estudados: | ||
+ | |||
+ | Esta forma de processar tudo no mesmo " | ||
+ | ===== Erros Comuns / Crashes ===== | ||
+ | Existem alguns erros que **podem parecer do simulador**, | ||
+ | |||
+ | ==== Esgotamento de Memória ==== | ||
+ | Quando o simulador fecha aleatóriamente sem nenhuma explicação, | ||
+ | |||
+ | ==== Busy Waiting ==== | ||
+ | {{ naorespondendo.png? | ||
+ | Caso o programa "pare de responder", | ||
+ | |||
+ | {{ crashhandler.png? | ||
+ | ==== Crash Handler ==== | ||
+ | Caso você veja uma janela como a do lado com este símbolo ou o símbolo do sBotics, é porque o simulador estava prestes a ter um crash / fechar (por um dos motivos já citados) e o " | ||
+ | |||
+ | ==== Como Resolvo? ==== | ||
+ | Para resolver problemas com seu código, separe seu código sempre em tarefas, funções e blocos que você pode comentar ou retirar para testar casos isoladamente. Assim você poderá ter uma melhor noção do que está acontecendo e aonde. Na grande maioria dos casos, problemas que resultam em crashes vêm de programação ineficiente, |
programacao.1743553248.txt.gz · Última modificação: 2025/04/15 16:34 (edição externa)