O que é um ciclo de controlo?
Um ciclo de controlo é uma parte do programa que se repete enquanto se cumprir uma condição. Por exemplo, enquanto chover não sairei para a rua e leio um bom livro. Existem vários tipos de blocos de controlo que nos serão úteis em ocasiões distintas. Vamos aprender a utilizá-los. | ![]() |
O ciclo Enquanto
O ciclo Enquanto ou While repete uma série de acções enquanto uma condição for verdadeira. Quando a condição deixa de ser verdadeira, o programa continuará com o bloco seguinte. Encontrarás este bloco na aba Controlo. Lembras-te do meu problema com os quadros? Bem… tenho que confessar-te outra coisa: não é o meu único problema! Na realidade, não gosto muito de luz… sou um vampiro! Adoro voar em noites de tempestade à procura de algo para trincar! O meu problema é que sou muito despistado, e muitas vezes sou surpreendido pelo amanhecer quando estou muito longe de casa. Por isso, decidi criar um dispositivo que me avise quando houver demasiada luz. Assim poderei esconder-me rapidamente. Usarei um sensor de luz e um besouro para fazer de alarme.
O programa será muito simples. Enquanto a luz for maior que 100, o besouro soará a cada meio segundo. No caso da luz ser menor, o besouro deixará de soar.
Podes modificar o programa para que a sensibilidade do alarme seja personalizável. Vamos controlar a sensibilidade através do potenciómetro e do bloco mapear.
Declarámos uma variável sensibilidade, onde mapeámos entre 0 e 800. Se a luz for maior que a nossa sensibilidade, o besouro começará a soar. Como estamos dentro do ciclo, não passaremos pela declaração da variável, e por isso, é importante voltar a armazenar o valor do potenciómetro dentro do ciclo… ou o besouro soaria indefinidamente.
O ciclo Contar
O ciclo Contar ou For repete uma série de acções durante um número concreto de vezes.
Para utilizar o bloco For, devemos configurar uma série de opções. Em primeiro lugar devemos seleccionar qual a variável que vamos utilizar para realizar a contagem. Essa variável deve ser criada previamente como uma variável global. Não te preocupes com o seu valor inicial: o bloco For vai mudar esse valor para realizar a sua contagem. Em segundo lugar, devemos indicar desde que número … e até que número queremos contar. Por último, selecciona no bloco se queres que a contagem se realize a somar, ou pelo contrário, a subtrair.
Copia o programa de cima e carrega-o na tua placa. O que está a acontecer? Se tomares atenção, o LED pisca cada vez mais lentamente: criámos a variável contador para utilizar com o ciclo. Tal como configurámos, o ciclo for repetirá o pisca-pisca de 0 a 5000 vezes. O mais importante é que a variável contador (que também utilizámos nos ciclos esperar), irá aumentando o seu valor em cada repetição, fazendo com que o LED pisque a um ritmo cada vez mais lento.
Ainda há mais…
- A seguir, propomos-te algumas ideias para continuares a praticar:
- Cria um aviso de está tudo bem, de forma que soe um apito de forma ininterrupta a cada dez segundos, indicando que tudo está bem.
- Modifica o programa do bloco contar, de forma a que com o bloco do besouro avançado, toques frequências diferentes entre 100 e 1000.
- Conecta à tua placa, todos os LED que tenhas em casa e coloca-os em fila. Acende-os um a um… e a seguir… apaga-os. Modifica o exercício anterior para criares diferentes jogos com luzes.
Os ciclos de controlo são, tal como as frases condicionais, fundamentais para conseguir programar qualquer coisa que queiras. Parabéns! Já começas a ser um grande programador!