44
LOOPS E SWITCHES

05 - LOOPS E SWITCHESacademico.riogrande.ifrs.edu.br/~mauricio.ortiz/... · SWITCHES, ou seja SWITCHES dentro de SWITCHES. • Com a utilização conjunta de SWITCHES eCom a utilização

Embed Size (px)

Citation preview

LOOPS E SWITCHES

LOOPS E SWITCHESLOOPS E SWITCHES

• Loops• SwitchesSwitches• Loops Simples• Switches Simples• Loops Encadeados• Loops Encadeados• Switches Encadeados• Utilizando Loops e Switches

LOOPS

LOOPSLOOPS

• Os LOOPS nos permitem repetir trechos de códigos sem a necessidade de se ter cópias do g pcódigo.

• Podemos criar loops encadeados ou seja• Podemos criar loops encadeados, ou seja estruturas de loops dentro de estruturas de loops. Isso facilita a legibilidade do código além de deixá-lo mais elaborado e limpo.p

LOOPSLOOPS

ESTRUTURA LOOP

O bloco LOOP nos permite i d lcriar uma estrutura de loop 

dentro do programa. Ele fica na paleta comum de blocos.

LOOP

ABA DE BLOCOS COMUNS

LOOPSLOOPS

ESTRUTURA LOOP

Com a propriedade SHOW podemos d lacrescentar um contador ao loop.

PROPRIEDADE SHOW

LOOPSLOOPS

ESTRUTURA LOOP

Na propriedade CONTROL definimos l á i é i d d d lqual será o critério de parada do loop. 

FOREVER não utiliza nenhum critério de parada, para que o loop seja interrompido precisamos utilizar um p pbloco chamado STOP.

PROPRIEDADE CONTROL: FOREVER

LOOPSLOOPS

ESTRUTURA LOOP

Podemos definir um sensor como o controlador do loop. Nesse caso precisamos também definir qual dos sensores já vistos que será usado. Precisamos também configurar o sensor com as condições que iremos esperar do sensor para que o loop seja terminadoesperar do sensor para que o loop seja terminado. Essas condições já foram vistas anteriormente.

PROPRIEDADE CONTROL: SENSOR

LOOPSLOOPS

ESTRUTURA LOOP

Podemos definir um tempo em segundos para a p g pduração do loop.

PROPRIEDADE CONTROL: TIME

LOOPSLOOPS

ESTRUTURA LOOP

Podemos definir um número de repetições (um p ç (contador).

PROPRIEDADE CONTROL: COUNT

LOOPSLOOPS

ESTRUTURA LOOP

Podemos definir um valor lógico que será verificado a g qcada interação do loop. Para isso precisamos ligar a conexão de entrada da estrutura LOOP a um bloco que tenha uma saída lógica, para que o valor definido como útil seja verificadocomo útil seja verificado.

PROPRIEDADE CONTROL: LOGIC

SWITCHES

SWITCHESSWITCHES

• Com SWITCHES podemos criar linhas de execução que só serão executadas segundo ç q guma determinada condição inicial.

• Assim como os loops podemos criar cadeias de• Assim como os loops podemos criar cadeias de SWITCHES, ou seja SWITCHES dentro de SWITCHES.

• Com a utilização conjunta de SWITCHES eCom a utilização conjunta de SWITCHES e loops podemos criar programas mais elaborados e com melhores funcionalidadeselaborados e com melhores funcionalidades.

SWITCHESSWITCHES

ESTRUTURA SWITCH

O bloco SWITCH nos permiteO bloco SWITCH nos permite dividir trechos do código, criando assim possibilidades diferentes.

SWITCH

ABA DE BLOCOS COMUNS

SWITCHESSWITCHES

ESTRUTURA SWITCH

Podemos definir o controle do bloco através de valores ou sensores.

PROPRIEDADE CONTROL: VALUE

SWITCHESSWITCHES

ESTRUTURA SWITCH

Na propriedade DISPLAY temos a opção FLAT VIEW que nos permite ver a linha de execução  como duas linhas Quando desmarcada vemos as possibilidadeslinhas. Quando desmarcada vemos as possibilidades através de abas e além disso nos permite criarmais opções de linhas de códigos quando estamos com o tipo NUMBER ou TEXT.

PROPRIEDADE DISPLAY

SWITCHESSWITCHES

ESTRUTURA SWITCH

Quando definimos o controle como VALUE temos também que definir o tipo de valor que será usado na propriedade TYPE. Podemos escolher entre os três tiposexistentes do robô: lógico numérico ou textoexistentes do robô: lógico, numérico ou texto.

PROPRIEDADE TYPE

SWITCHESSWITCHES

ESTRUTURA SWITCH

Após definir o tipo devemos escolher as condições de controleApós definir o tipo devemos escolher as condições de controle do bloco. Quando a opção FLAT VIEW está ativa podemos adicionar mais do que duas opções de linhas de execução.

PROPRIEDADE CONDITIONS

SWITCHESSWITCHES

ESTRUTURA SWITCH

No caso dos tipos NUMBER e TEXT ainda precisamos informar os valores que serão verificados. O botão *que serão verificados. O botão   define o valor padrão, ou seja, caso nenhuma da opções seja selecionada a linha que tiver marcada será 

dexecutada.

VALOR PADRÃO

SWITCHESSWITCHES

ABAS DE SELEÇÃO

ENTRADA PARA CONTROLE

Quando definimos o bloco SWITCH como VALUE precisamos conectar a entrada dele uma ligação com a saída de outro bloco que tenha o mesmo tipo definido no bloco SWITCH. Esse bloco tã t l á l i á d õ d blentão controlará e selecionará uma das opções do bloco 

SWITCH.

OPÇÕES A SEREM SELECIONADAS

SWITCHESSWITCHES

BLOCO SWITCH

SENSOR ESCOLHIDO

Quando definimos o bloco SWITCH como SENSOR precisamos configurar as opções que desejamos utilizar, essas configurações já foram vistas em SENSORES.

OPÇÕES A SEREM CONFIGURADAS

SWITCHESSWITCHES

VISUALIZAÇÃO ATRAVÉS DE ABAS

SENSOR ESCOLHIDO

Também podemos visualizar o bloco através de abas, bastando para isso desmarcar a opção FLAT VIEW.

OPÇÕES A SEREM CONFIGURADAS

LOOPS SIMPLES

Loops SimplesLoops Simples1º Exemplo – Robô: avance por 5 segundos vire1 Exemplo Robô: avance por 5 segundos, vire 90° para a esquerda. Repita quatro vezes.P f é á i lPara fazer esse programa é necessário que ele seja dividido em três blocos, um para controlar o loop e outros dois para executar os movimentos. Devemos lembrar de colocar tudo o que tiver de qser repetido dentro do bloco LOOP. O que tiver fora dele não será repetidofora dele não será repetido.

Loops SimplesLoops Simples

BLOCO MOVE

BLOCO LOOP

BLOCO MOVE

BLOCO LOOP

Insira um bloco LOOP com a opção CONTROL marcada como COUNT, especifique a quantidade de repetições (4). Insira dois blocos MOVE e 

fi t õ d j dconfigure‐os para executar as ações desejadas.

PROPRIEDADE CONTROL: COUNT

Loops SimplesLoops Simples2° Exemplo – Robô: dê uma volta e diminua até2 Exemplo Robô: dê uma volta e diminua até parar, quando o sensor de luz detectar um nível

i d 20% d i lt t á R it t êacima de 20% de meia volta para trás. Repita três vezes.Para fazer esse programa é necessário que ele seja dividido em quatro blocos, um para j q , pcontrolar o loop, dois para executar os movimentos e um para aguar o resultado domovimentos e um para aguar o resultado do sensor de som.

Loops SimplesLoops Simples

BLOCO WAIT: SENSOR

BLOCO LOOP

BLOCO MOVEBLOCO MOVE

Insira um bloco LOOP com a opção CONTROL marcada como COUNT, especifique a quantidade de repetições (3). Insira os blocos de ação e um bl WAIT d dbloco WAIT para aguardar o sensor de som. Configure tudo de acordo com o desejado.

PROPRIEDADE CONTROL: COUNT

SWITCHES SIMPLES

Switches SimplesSwitches Simples1º Exemplo – Robô: verifique o sensor de som se1 Exemplo Robô: verifique o sensor de som se ele detectar um valor acima de 50% vire 90° para

d d f t téa esquerda e ande para frente até o sensor ultrasônico detectar uma distância menor que 50cm. Caso não seja detectado um som acima de 50% vire 90° para a direita e ande para frente até p po sensor ultrasônico detectar um valor menor que 50cm50cm.

Switches SimplesSwitches Simples

CASO VERDADEIRO

BLOCO SWITCH

CASO FALSO

Insira um bloco SWITCH e o configure com a opção SENSOR, selecione o sensor de som. Na linha de execução superior coloque os blocos para o caso do resultado ser verdadeiro e na de baixo para falso.

PROPRIEDADE CONTROL: SENSOR

Switches SimplesSwitches Simples

CASO VERDADEIRO

BLOCO SWITCH

CASO FALSO

Configure as opções do sensor de som. Insira os blocos de ação sua linha correspondente e os configure do jeito que foi pedido.  Caso queira ver as linhas de execução separadamente desmarque a opção FLAT VIEW.

PROPRIEDADE CONTROL: SENSOR

LOOPS ENCADEADOS

Loops EncadeadosLoops EncadeadosExemplo – Robô: avance por 5 segundos dêExemplo Robô: avance por 5 segundos, dê uma volta e diminua até parar, quando o sensor d d t t í l i d 20% dê ide som detectar um nível acima de 20% dê meia volta para trás. Repita três vezes. Vire 90° para a esquerda. Repita tudo quatro vezes.Para fazer esse exemplo basta utilizar os pexemplos anteriores como base.

Loops EncadeadosLoops Encadeados

BLOCO LOOP

BLOCO LOOP

Insira dois blocos LOOP com a opção CONTROL marcada como COUNT. Especifique a quantidade de repetições de cada loop. 3 repetições para o l i t 4 l tloop interno e 4 para o loop externo.

PROPRIEDADE CONTROL: COUNT

Loops EncadeadosLoops Encadeados

BLOCO MOVE BLOCO MOVE

BLOCO MOVE BLOCO WAIT: SOUNDBLOCO MOVE

Agora insira os blocos necessários para a execuçãoAgora insira os blocos necessários para a execução do programa e configure‐os. Lembrando da ordem de execução e em que os loops devem ser colocados.

SWITCHES ENCADEADOS

Switches EncadeadosSwitches Encadeados1º Exemplo – Robô: verifique o sensor de som se1 Exemplo Robô: verifique o sensor de som se ele detectar um valor acima de 50% vire 90° para

d lt ô i d t ta esquerda, se o sensor ultrasônico detectar uma distância maior que 50cm avance 2 segundos caso contrário vire para a direita 90°. Caso não seja detectado um som acima de 50% vire 90°jpara a direita, se o sensor ultrasônico detectar um valor maior que 50cm avance 2 segundos casovalor maior que 50cm avance 2 segundos caso contrário vire a esquerda 90°.

Switches EncadeadosSwitches Encadeados

BLOCO LOOP

BLOCO LOOP

Insira um bloco SWITCH, e em cada linha de execução insira çmais um bloco SWITCH. Faça as devidas configurações dos blocos SWITCH.

BLOCO LOOP

PROPRIEDADE CONTROL: SENSOR

Switches EncadeadosSwitches Encadeados

BLOCOS MOVE

Agora insira os blocos necessários para a execução das ações de cada linha de execução dos switches inseridos.

BLOCOS MOVE

PROPRIEDADE CONTROL: SENSOR

BLOCOS MOVE

UTILIZANDO LOOPS EUTILIZANDO LOOPS E SWITCHES

Utilizando Loops e SwitchesUtilizando Loops e Switches

BLOCO STOP

Caso necessite abortar um loop ou um switch antes dele terminar normalmente utilize o blocoantes dele terminar normalmente utilize o bloco STOP. Para utilizar esse bloco precisamos conectar a entrada dele em uma saída lógica de outro bloco. Quando o bloco STOP receber trueem sua porta ele irá abortar o loop ou o switch no qual esteja dentro.

Utilizando Loops e SwitchesUtilizando Loops e Switches1º Exemplo – Robô: se o sensor de som detectar1 Exemplo Robô: se o sensor de som detectar um valor acima de 50%, vire para a esquerda e

té lt ô i d t tavance até o sensor ultrasônico detectar uma distância menor que 50cm. Caso contrário vire para a direita e avance até o sensor ultrasônico detectar uma distância menor que 50cm. Repita q ptudo 3 vezes.

Utilizando Loops e SwitchesUtilizando Loops e Switches

BLOCO SWITCHBLOCO SWITCH

BLOCO LOOP

Insira um bloco LOOP e configure‐o para 3 repetições. Depois insira um bloco SWITCH dentro do bloco LOOP. E faça as devidasdentro do bloco LOOP. E faça as devidas configurações do bloco.

Utilizando Loops e SwitchesUtilizando Loops e Switches

CASO VERDADEIRO

CASO FALSO

Agora basta inserir os blocos de ação e configurá‐los nas devidas linhas de execução.