Voltar ao inícioComputação · 9º ano · Mudar de matéria
Começar grátis
Apontamentos

Exercícios: Programação de placas controladoras

Pratica★☆☆
Explique o que é um algoritmo e o que é um programa, e qual a diferença entre descrevê-lo em pseudocódigo (com palavras) e com blocos gráficos.

Explique o que é um algoritmo e o que é um programa, e qual a diferença entre descrevê-lo em pseudocódigo (com palavras) e com blocos gráficos.

Resolver
Pratica★☆☆
As instruções do programa de um semáforo estão desordenadas: (a) esperar 2 segundos, (b) acender a luz vermelha e apagar as demais, (c) acender a luz verde e apagar as…

As instruções do programa de um semáforo estão desordenadas: (a) esperar 2 segundos, (b) acender a luz vermelha e apagar as demais, (c) acender a luz verde e apagar as demais, (d) voltar ao início, (e) esperar 8 segundos (aparece duas vezes no ciclo), (f) acender a luz amarela e apagar as demais. Ordene-as corretamente e descreva o que faz o programa completo.

Resolver
Pratica★☆☆
O fluxograma da figura governa a cancela de entrada de um estacionamento, mas falta a pergunta do losango. Escreva a condição que deveria ser verificada ali e descreva o…

O fluxograma da figura governa a cancela de entrada de um estacionamento, mas falta a pergunta do losango. Escreva a condição que deveria ser verificada ali e descreva o comportamento completo da cancela.

Início Ler botão ? sim Subir cancela Esperar 5 s Baixar cancela não
Resolver
Pratica★☆☆
Explique o que significa «ler uma entrada» em um programa de controle e qual a diferença entre ler um botão (que dá 0 ou 1) e ler um sensor de luz (que dá um número…

Explique o que significa «ler uma entrada» em um programa de controle e qual a diferença entre ler um botão (que dá 0 ou 1) e ler um sensor de luz (que dá um número dentro de uma faixa).

Resolver
Pratica★☆☆
Um programa tem apenas estas linhas: «repetir sempre: ler o botão; se estiver pressionado, acender o LED; se não, apagar o LED». Descreva com suas palavras o que faz a…

Um programa tem apenas estas linhas: «repetir sempre: ler o botão; se estiver pressionado, acender o LED; se não, apagar o LED». Descreva com suas palavras o que faz a montagem e raciocine sobre o que ocorreria se a parte «se não, apagar o LED» fosse apagada.

Resolver
Pratica★☆☆
Explique o que é uma instrução condicional («se... então... senão...») e escreva a condição de que precisam estes dois avisos: um alarme que soa quando uma porta é…

Explique o que é uma instrução condicional («se... então... senão...») e escreva a condição de que precisam estes dois avisos: um alarme que soa quando uma porta é aberta e um aviso que apita quando a temperatura passa de $40\ ^\circ\text{C}$.

Resolver
Pratica★☆☆
Para que serve a instrução «esperar» (uma pausa) em um programa de controle? Dê dois exemplos em que, sem essa pausa, o sistema não cumpriria sua função.

Para que serve a instrução «esperar» (uma pausa) em um programa de controle? Dê dois exemplos em que, sem essa pausa, o sistema não cumpriria sua função.

Resolver
Pratica★☆☆
Explique por que quase todos os programas das placas controladoras têm um laço («repetir sempre») e descreva o que faria um semáforo cujo programa não tivesse laço.

Explique por que quase todos os programas das placas controladoras têm um laço («repetir sempre») e descreva o que faria um semáforo cujo programa não tivesse laço.

Resolver
Pratica★★☆
Escreva em pseudocódigo o programa completo de um semáforo simples: verde por 8 segundos, amarelo por 2, vermelho por 8, e recomeçar. Indique em cada passo quais luzes…

Escreva em pseudocódigo o programa completo de um semáforo simples: verde por 8 segundos, amarelo por 2, vermelho por 8, e recomeçar. Indique em cada passo quais luzes estão acesas e quais estão apagadas.

Resolver
Pratica★★☆
Uma luz de escada funciona assim: ao pressionar o botão, ela acende; passados 30 segundos, apaga sozinha; e o ciclo pode se repetir. Desenhe ou descreva seu fluxograma e…

Uma luz de escada funciona assim: ao pressionar o botão, ela acende; passados 30 segundos, apaga sozinha; e o ciclo pode se repetir. Desenhe ou descreva seu fluxograma e escreva depois o pseudocódigo correspondente.

Você pode fazer no papel e enviar uma foto com a sua resposta.

Resolver
Pratica★★☆
O fluxograma da figura é o programa de um robô seguidor de linha com um único sensor que fica sobre a borda da linha, mas falta a condição do losango. Complete-a,…

O fluxograma da figura é o programa de um robô seguidor de linha com um único sensor que fica sobre a borda da linha, mas falta a condição do losango. Complete-a, descreva o que o robô faz em cada caso e raciocine sobre o que ocorrerá quando a linha acabar.

Início Ler sensor ? sim Girar para a esquerda não Girar para a direita
Resolver
Pratica★★☆
A cancela de um estacionamento só deve subir quando há um carro esperando (sensor) e, além disso, o motorista pegou o ticket (botão); desce quando o carro passou (um…

A cancela de um estacionamento só deve subir quando há um carro esperando (sensor) e, além disso, o motorista pegou o ticket (botão); desce quando o carro passou (um segundo sensor). Escreva o pseudocódigo completo do ciclo, combinando as duas condições ao mesmo tempo.

Resolver
Pratica★★☆
Um alarme residencial, ao detectar a porta aberta, espera 10 segundos antes de soar para dar tempo de desativá-lo com um código. Escreva seu pseudocódigo incluindo a…

Um alarme residencial, ao detectar a porta aberta, espera 10 segundos antes de soar para dar tempo de desativá-lo com um código. Escreva seu pseudocódigo incluindo a verificação do código e explique para que serve esse atraso.

Resolver
Pratica★★☆
Um programa conta carros: «repetir sempre: esperar que o sensor passe de 0 a 1; somar 1 à variável carros». Explique o que ele faz, para que pode servir e que problema…

Um programa conta carros: «repetir sempre: esperar que o sensor passe de 0 a 1; somar 1 à variável carros». Explique o que ele faz, para que pode servir e que problema aparece se um carro parar bem em cima do sensor.

Resolver
Pratica★★☆
Um programa de ventilador diz: «se a temperatura for maior que $26\ ^\circ\text{C}$, desligar o ventilador; se for menor que $26\ ^\circ\text{C}$, ligá-lo». Descreva o…

Um programa de ventilador diz: «se a temperatura for maior que $26\ ^\circ\text{C}$, desligar o ventilador; se for menor que $26\ ^\circ\text{C}$, ligá-lo». Descreva o comportamento real do ventilador e escreva o programa corrigido.

Resolver
Pratica★★☆
Em um semáforo com botão para pedestres, o programa só lê o botão uma vez a cada ciclo de 30 segundos. Explique o que o pedestre percebe ao pressionar e raciocine por…

Em um semáforo com botão para pedestres, o programa só lê o botão uma vez a cada ciclo de 30 segundos. Explique o que o pedestre percebe ao pressionar e raciocine por que as pausas longas dentro do programa afetam a rapidez de resposta do sistema.

Resolver
Pratica★★★
O fluxograma da figura controla a cancela de saída de um estacionamento, com um sensor situado sob a cancela, mas falta uma das condições. Complete-o, descreva o…

O fluxograma da figura controla a cancela de saída de um estacionamento, com um sensor situado sob a cancela, mas falta uma das condições. Complete-o, descreva o comportamento completo e explique que acidente essa segunda verificação evita.

Início carro esperando? não sim Subir cancela ? não sim Baixar cancela
Resolver
Pratica★★★
Uma equipe de robótica testa um rastreador seguidor de linha com dois sensores de infravermelho (E e D) separados por 2,0 cm, projetados para seguir uma linha preta de…

Uma equipe de robótica testa um rastreador seguidor de linha com dois sensores de infravermelho (E e D) separados por 2,0 cm, projetados para seguir uma linha preta de 1,5 cm sobre fundo branco. O programa atual aplica a lógica clássica: avançar em linha reta se ambos veem branco, virar à direita se D pisa no preto e à esquerda se E pisa no preto.

  1. a) Preveja o que acontecerá em uma curva muito fechada de 90° se o robô entrar rápido e os dois sensores ficarem ao mesmo tempo sobre o fundo branco fora da linha. Justifique por que o algoritmo básico falha.
  2. b) Projete em pseudocódigo uma melhoria que use uma variável de memória (ultimo_visto) para que o robô saiba para qual lado girar quando perde a linha por completo.
  3. c) Se a pista tivesse uma linha preta larga de 3,5 cm (mais larga que a distância entre os sensores), preveja o comportamento do robô em uma reta e explique qual condição adicional você deveria programar para tratar o caso em que ambos os sensores detectam preto ao mesmo tempo.
Resolver
Pratica★★★
Um instalador programa a central de alarme de uma residência com um sensor magnético na porta, outro na janela e uma chave de armação por meio deste algoritmo: a)…

Um instalador programa a central de alarme de uma residência com um sensor magnético na porta, outro na janela e uma chave de armação por meio deste algoritmo:

repetir sempre:

    se (armada == VERDADEIRO) e (porta == ABERTA ou janela == ABERTA) então:

        ativar_sirene()

        esperar(60) // segundos

        desativar_sirene()
  1. a) Analise o código e raciocine sobre duas falhas críticas de segurança: o que ocorre se um intruso abre a janela, entra e a fecha de novo em 3,0 s? E o que acontece se passam os 60 s e o intruso continua dentro com a janela aberta?
  2. b) Projete em pseudocódigo um algoritmo robusto com variáveis de estado que garanta: 1) uma vez disparada, a sirene soará pelo menos 60 s mesmo que o acesso seja fechado novamente; 2) não será desligada enquanto persistir a abertura dos sensores; e 3) se o usuário desligar a chave de armação, a sirene será interrompida imediatamente em qualquer instante.
Resolver
Pratica★★★
Um estudante programa o acendimento da luz de uma escada de condomínio: ao pressionar o interruptor, a luz deve permanecer acesa por 30 s e depois apagar. a) Se o…

Um estudante programa o acendimento da luz de uma escada de condomínio: ao pressionar o interruptor, a luz deve permanecer acesa por 30 s e depois apagar.

  1. a) Se o estudante implementa o atraso com uma função bloqueante do tipo esperar(30), preveja o que acontecerá se um segundo morador pressionar o interruptor 15 s depois de a luz ter acendido. Esse comportamento cumpre a função de um minuteiro de escada rearmável? Justifique sua resposta.
  2. b) Projete em pseudocódigo um sistema rearmável não bloqueante empregando uma variável tempo_restante e verificações periódicas (por exemplo, a cada 1,0 s), de modo que cada nova pressão reinicie a contagem regressiva em 30 s sem apagar a luz.
  3. c) Preveja que risco existe se um botão físico travar e ficar permanentemente acionado, e proponha uma modificação lógica para evitar que a luz fique acesa indefinidamente.
Resolver
Pratica★★★
Para controlar um semáforo de veículos que inclui um botão de solicitação para pedestres, comparam-se duas estruturas de programação: Opção A (sequencial linear): laço…

Para controlar um semáforo de veículos que inclui um botão de solicitação para pedestres, comparam-se duas estruturas de programação:

  • Opção A (sequencial linear): laço com chamadas bloqueantes esperar(t) sucessivas (verde 30 s, amarelo 3 s, vermelho 15 s).

  • Opção B (máquina de estados): o sistema permanece no estado CARROS_VERDE e só transita de estado se detectar o sinal do botão de pedestres.

  1. a) Justifique por que a opção A é inadequada para atender imediatamente ao acionamento de um pedestre e que defeito de resposta isso provocará.
  2. b) Se for solicitado acrescentar uma nova função («o verde de pedestres deve piscar 3 vezes durante 3,0 s antes de passar a vermelho, mas somente se o sensor para deficientes visuais não estiver ativo»), raciocine sobre quais vantagens de modularidade e manutenção a opção B apresenta em relação à A.
  3. c) Projete o diagrama de estados ou pseudocódigo geral da opção B identificando claramente os estados, os eventos de entrada e as ações associadas a cada transição.
Resolver
Pratica★★★
O sistema de controle de uma cancela automática de pedágio dispõe de um sensor de presença 1 (logo antes da cancela) e de um sensor 2 (logo depois). Um operário propõe…

O sistema de controle de uma cancela automática de pedágio dispõe de um sensor de presença 1 (logo antes da cancela) e de um sensor 2 (logo depois). Um operário propõe este código:

repetir sempre:

    se (sensor_1 == DETECTADO) então:

        subir_cancela()

    se (sensor_1 == LIVRE) então:

        baixar_cancela()
  1. a) Preveja que acidente ocorrerá fisicamente assim que a frente do carro ultrapassar o sensor 1, se a parte traseira ainda estiver sob a cancela. Justifique por que a proposta do operário de «acrescentar uma pausa de 5,0 s antes de baixar» não resolve o problema com tráfego lento ou veículos articulados.
  2. b) Elabore em pseudocódigo um algoritmo seguro que utilize ambos os sensores para garantir que a cancela suba quando o veículo chegar, permaneça levantada enquanto qualquer um dos dois sensores detectar presença, e só baixe quando o veículo tiver liberado totalmente o sensor 2.
Resolver
Pratica★★★
Em uma ponte levadiça acionada por um motorredutor elétrico, propõe-se substituir os dois fins de curso físicos (fc_abajo e fc_arriba) por um controle baseado…

Em uma ponte levadiça acionada por um motorredutor elétrico, propõe-se substituir os dois fins de curso físicos (fc_abajo e fc_arriba) por um controle baseado exclusivamente em tempos: fazer o motor girar durante 5,0 s para abrir e 5,0 s para fechar.

  1. a) Preveja e justifique pelo menos duas situações reais (mecânicas, meteorológicas ou elétricas) em que este sistema por tempo fará com que a ponte não feche por completo ou acabe danificando o motor.
  2. b) Elabore em pseudocódigo o ciclo completo de manobra: ao detectar um barco, colocar o semáforo de trânsito viário em vermelho, esperar 3,0 s para desocupação, subir a ponte até fc_arriba, permitir a passagem fluvial com semáforo náutico em verde e, quando o barco sair, fechar até fc_abajo.
  3. c) Incorpore ao seu algoritmo um mecanismo de segurança por tempo máximo (watchdog): se transcorrerem mais de 8,0 s sem que o fim de curso correspondente seja ativado durante o movimento, o motor deve parar imediatamente e ativar um sinal luminoso de alarme.
Resolver
Pratica★★★
Para automatizar a irrigação de uma horta escolar, dispõe-se de um sensor de umidade analógico e uma eletrobomba. Um primeiro programa aplica esta regra: «repetir…

Para automatizar a irrigação de uma horta escolar, dispõe-se de um sensor de umidade analógico e uma eletrobomba. Um primeiro programa aplica esta regra: «repetir sempre: se umidade < 30,0 %, ligar bomba; senão, desligar bomba; esperar 1 segundo».

  1. a) Se a leitura do sensor oscilar rapidamente entre 29,8 % e 30,2 % devido à absorção localizada ou a ruído elétrico, preveja qual comportamento a eletrobomba terá e quais serão as consequências mecânicas e elétricas.
  2. b) Explique por que substituir a espera por «esperar 10 minutos» também não garante uma irrigação ideal (analise o atraso na infiltração da água e o risco de irrigação excessiva).
  3. c) Elabore uma solução por controle com histerese: defina dois limiares lógicos de umidade distintos (partida e parada) e redija o pseudocódigo estruturado ou descreva detalhadamente o fluxograma correspondente, justificando por que ele evita as comutações constantes.
Resolver