lista_exercicios_algoritmos

38
 COMPUT AÇÃO – Algoritmos. Pág 1 / 38 Lista de Exercícios Algoritmos

Upload: joao-pedro

Post on 22-Jul-2015

88 views

Category:

Documents


0 download

TRANSCRIPT

5/17/2018 lista_exercicios_algoritmos - slidepdf.com

http://slidepdf.com/reader/full/listaexerciciosalgoritmos 1/38

COMPUTAÇÃO – Algoritmos. Pág 1 / 38 

Lista de Exercícios

Algoritmos

5/17/2018 lista_exercicios_algoritmos - slidepdf.com

http://slidepdf.com/reader/full/listaexerciciosalgoritmos 2/38

COMPUTAÇÃO – Algoritmos. Pág 2 / 38 

Introdução à programação

- Definição de programa:

Programa de computador é uma lista de instruções a serem seguidas

pelo equipamento. \ 

Programa fonte é o programa escrito em linguagem de programação.

Programa objeto é o programa gerado que será executado pelohardware. Em certos casos, ainda deve sofrer um processo chamado ligação(“linkagem”), o que na maioria dos casos é transparente ao usuário.

As linguagens de programação podem ser classificadas segundo alguns critérios, dentre os quaispodemos citar:

Quanto ao grau de abstração (NÍVEL) : Estaclassificação leva em consideração a facilidade na escrita e a

proximidade desta linguagem com a linguagem humana.Quanto mais “parecida” for a linguagem de programação coma linguagem humana, mais alto é seu nível.

Linguagens de alto nível são mais fáceis de seprogramar, e apresentam (geralmente) maior portabilidade,permitindo fácil migração de um hardware para outro.Exemplos: Java, C#, Object Pascal (Delphi), Visual Basic.

Já as linguagens de baixo nível são mais poderosasno que diz respeito à acesso aos recursos do hardware, sãobem mais rápidas, mas exigem um maior esforço deprogramação. Exemplo: Assembly, C ANSI.

Quanto ao paradigma deprogramação : Esta classificaçãoleva em consideração a forma com que é elaborada a solução para o problema.

Paradigma Imperativo: É quando uma lista de comandos executados emseqüência determina a mudança de estado de atuadores e variáveis, ou verificamestado dos sensores. O nome “imperativo” é utilizado pelo fato da linguagemexprimir ações em seqüência no formato de “ordens” a serem seguidas, uma a

uma.

Paradigma Estruturado: É quando o programa é escrito tendo em base o uso principalmente de 3estruturas: Seqüência, Decisão e Iteração (repetição).

Paradigma Funcional: É quando o programa dá ênfase à relação entre seus componentes mediantefunções específicas.

Paradigma de Orientação a Objetos: É quando o programa preconiza a descrição de seuscomponentes através de “classes”, para as quais são associados métodos e conjuntos de dados chamadosatributos. Este paradigma está comumente associado a linguagens de alto nível, e facilita a abstração e oreaproveitamento de código.

Paradigma Lógico: É quando a relação entre os diversos componentes do programa é estabelecidamediante um conjunto de regras. Estabelece-se uma relação entre entradas e saídas, entre os dados, e osistema simplesmente “obedece” este conjunto de regras, sem se preocupar com a seqüência. Exemplo:

Ladder, Prolog.Forma de execução : Esta classificação leva em consideração a forma com que as instruções serãoexecutadas.

5/17/2018 lista_exercicios_algoritmos - slidepdf.com

http://slidepdf.com/reader/full/listaexerciciosalgoritmos 3/38

COMPUTAÇÃO – Algoritmos. Pág 3 / 38 

Linguagem montada: É quando um programa (montador) simplesmente traduz as instruções escritas porsímbolos no programa fonte para códigos binários reconhecidos pelo processador. Ex: Assembly

Linguagem compilada: É quando um programa mais complexo (compilador) analisa as estruturas doprograma fonte, e gera trechos de programa em código binário reconhecíveis pelo processador ou por outroprograma executor.

Linguagem interpretada: É quando a linguagem do programa fonte é diretamente interpretada por umprograma executor. Geralmente é um pouco mais lenta.

Compilador: É o programa que transforma um programa fonte em um programa objeto.

Modelo do programa: O MODELO de um programa ou sistema é dado por um conjunto deregras e especificações, que determinam em uma linguagem de ALTO NÍVEL (fácil de serentendida) como o programa deve funcionar. Para facilitar o entendimento, imaginemos omodelo como a “planta baixa” do programa. O modelo pode ser apresentado de váriasformas, como diagramas ou fluxogramas ou documentos em linguagem descritiva.

Cliente: É quem apresenta o problema e quem “paga” pela solução. É um componenteimportante na programação, pois antes de tudo precisamos saber “como o cliente quer que oprograma resolva o problema”.

Usuário: É quem irá usar o programa a ser criado. Nem sempre o cliente e ousuário são a mesma pessoa, por isso precisamos observar que o usuário em questão podeser uma pessoa mais leiga, ou uma pessoa mais experiente ...

Analista: É quem entrevista o cliente, extrai os requisitos do programa, cria o MODELO doprograma, ou seja, o projeto inicial, e por fim entrega a ESPECIFICAÇÃO ao programador.Fazendo uma comparação com a construção civil, podemos dizer que é o engenheiro/arquiteto,que cria a planta baixa (modelo) da casa.

Programador: É quem escreve o programa, usando os comandos adequados,técnica de programação adequada e seguindo as orientações do MODELO apresentado.Novamente na analogia com a construção de uma casa, o PROGRAMADOR é como opedreiro, que a partir da planta baixa (modelo), constrói as paredes, teto, instalaçãohidráulica, etc...

5/17/2018 lista_exercicios_algoritmos - slidepdf.com

http://slidepdf.com/reader/full/listaexerciciosalgoritmos 4/38

COMPUTAÇÃO – Algoritmos. Pág 4 / 38 

Linguagens mais utilizadas em automação industrial e mecatrônica :

Linguagem Assembly: Utilizada paraprogramar microprocessadores emicrocontroladores. Possui poucos comandos e

requer bastante conhecimento do programador pararesolução de problemas mais complexos. Muitoutilizada para construção de sistemas embarcados,como firmwares de equipamentos feitos em série eque exijam baixo custo e desempenho. Firmware éo software gravado em memória ROM que permiteque um determinado sistema funcione.

Linguagem C: Alternativa para uso no lugar dalinguagemAssembly,

permite maior

produtividadecomreaproveitamentode código, e

maiorportabilidade,

permitindo quemenos mudançassejam necessárias quando o programa deve ser adaptado a outraplataforma de hardware.

Ladder: Freqüentemente utilizada na programação de PLCs (controladores

lógicos programáveis) sendo uma linguagem de fácil abstração e paradigmalógico.

Grafcet ou SFC: Linguagem que permiteexpressar o programa através de máquinasde estado (como nos diagramas de PetriNet). É um paradigma intermediário entre oLógico e o Imperativo.

5/17/2018 lista_exercicios_algoritmos - slidepdf.com

http://slidepdf.com/reader/full/listaexerciciosalgoritmos 5/38

COMPUTAÇÃO – Algoritmos. Pág 5 / 38 

ALGORITMOS:

OPERADORES

Tipo Operador Descrição Exemplo

Atribuição   NUM X A variável NUM recebe o valor da variávelX

+ Adição NUM X + 2 A variável NUM recebe o valor de Xadicionado em 2- Subtração X Y - 2 A variável X recebe o valor de Y menos 2* Multiplicação X 3 * G A variável X recebe o triplo de G

/ Divisão S 5 / 3 A variável S recebe o resultado de 5dividido por 3

   A  r   i   t  m   é   t   i  c  o

% Resto dadivisão S 9 % 2 A variável S recebe o resto da divisão de 9

por 2 (portanto, S receberá 1)

Prioridade ( ) X (3+7) / 2Estabelece que a soma será feito antes dadivisão. Sem os parênteses, a divisãoseria feita antes da soma.

= Igual X = 2 Retorna verdadeiro se X for 2

≠≠≠≠  Diferente X ≠ 2 Retorna verdadeiro se X for diferente de 2> Maior que X > 2 Retorna verdadeiro se X for maior que 2< Menor que X < 2 Retorna verdadeiro se X for menor que 2

≥≥≥≥ Maior ou iguala X ≥ 2

Retorna verdadeiro se X for maior ou iguala 2

   R  e   l  a  c   i  o  n  a   i  s

≤≤≤≤ Menor ou iguala X ≤ 2

Retorna verdadeiro se X for menor ouigual a 2

e E X > 0 e Y > 0 Retorna verdadeiro somente se X e Yforem positivos

ou OU X >0 ou Y >0 Retorna verdadeiro se X for positivo ou seY for positivo

   L   ó  g

   i  c  o  s

não Negação não (x > 0)

Inverte o valor lógico do item que segue.

No exemplo, se X for positivo, a expressãoretornará falso.

5/17/2018 lista_exercicios_algoritmos - slidepdf.com

http://slidepdf.com/reader/full/listaexerciciosalgoritmos 6/38

COMPUTAÇÃO – Algoritmos. Pág 6 / 38 

FLUXOGRAMAS : REGRAS

Abaixo estão relacionadas as regras para os algoritmos (fluxogramas) que iremos interpretar eimplementar.

1) Todo algoritmo deve possuir um INICIO.

2) A Terminação (FIM), conectores e o RETURN serão os únicos blocos que nãopossuirão saídas de fluxo.

3) O fluxo de execução do programa (setas) deve seguir um sentidoúnico.

4) Utilize os blocos corretos para facilitar a interpretação.

5) Blocos de decisão (SE) deverão possuir duas e somente duas saídas defluxo, sendo uma para VERDADEIRO e outra para FALSO. Não esqueça de indicá-las usando V ou F, SIM ou NÃO, YES ou NO ...

6) Todas as linhas de fluxo devem descer por um lado do algoritmo, e retornar poroutro, sem que as mesmas se cruzem.

7) Devemos, preferencialmente, escrever o algoritmo sempre da esquerda paradireita, e de cima para baixo.

8) Somente poderão ser utilizados os operadores definidos na tabela de operadores.

9) Conectores somente devem ser utilizados em extrema necessidade.

10) As variáveis utilizadas no programa devem ser nomeadas por uma únicapalavra, sem espaços, acentuação ou símbolos. O nome da variável deve começarnecessariamente por uma letra, e pode ser seguida de letras e números.

5/17/2018 lista_exercicios_algoritmos - slidepdf.com

http://slidepdf.com/reader/full/listaexerciciosalgoritmos 7/38

COMPUTAÇÃO – Algoritmos. Pág 7 / 38 

SIMBOLOGIA BÁSICA PARA CONSTRUÇÃO DE DIAGRAMA DE BLOCOS (Fluxograma)

TERMINAÇÃO : Indica o início e o término de algoritmo ou de uma subrotina.

SETA DE DIREÇÃO : Indica o caminho a ser seguido e a direção doprocessamento.

PROCESSAMENTO : Indica um processamento, algo que deverá ser executado,geralmente implicando em manipulação de dados (variáveis).

SUBROTINA : Indica uma rotina a ser chamada. No final da rotina (subprograma) aexecução continua do ponto de onde foi realizada a chamada.

ENTRADA VIA TECLADO : Indica uma entrada manual via teclado de umequipamento. No interior, devem constar informações das variáveis a serem lidasvia teclado.

CONECTOR : Indica uma “ponte” ou conexão entre pontos distantes de umalgoritmo.

DECISÃO : Indica uma estrutura condicional. Obrigatoriamente deve haver umaentrada e duas saídas. No interior deve haver uma pergunta, e as saídas serãoconhecidas por (SIM) e (NÃO), ou (VERDADEIRO) e (FALSO).

SAÍDA VIA VÍDEO : Indica que um determinado dado será impresso em vídeo. Paraescrever literais (textos) escreva o mesmo entre aspas duplas. Para escrever oconteúdo de variáveis, escreva o nome da variável fora das aspas duplas.

Entrada/saída de dados : Indica um processamento, algo que deverá serexecutado, geralmente implicando em manipulação de um canal de entrada e saídade dados.

5/17/2018 lista_exercicios_algoritmos - slidepdf.com

http://slidepdf.com/reader/full/listaexerciciosalgoritmos 8/38

COMPUTAÇÃO – Algoritmos. Pág 8 / 38 

1) O que melhor define PROGRAMAÇÃO ?a. ( ) Ato de escrever textos e documentosb. ( ) Utilizar um equipamento automatizado para realizar uma determinada tarefac. ( ) Montar um computador, conhecendo todos os seus componentes de hardwared. ( ) Realizar a extração de requisitos a partir de um problema apresentadoe. ( ) Escrever uma lista de ações que serão executados por um equipamento

2) Qual a função do ANALISTA ?a. ( ) Extrair informações sobre o problema e criar um modelo do programab. ( ) Analisar se o programa criado está escrito corretamente.c. ( ) Escrever os programas a partir do modelo criado.d. ( ) Saber utilizar um determinado programae. ( ) Criar e implantar o hardware adequado para a solução do problema

3) O que é MODELO de programa ?a. ( ) É um programa inicial, tido como base para o novo programa a ser criadob. ( ) É um documento que determina como o programa deve funcionarc. ( ) É o conjunto dos componentes de hardware onde o programa irá ser executadod. ( ) É o mesmo que ANALISTA

e. ( ) É o mesmo que PROGRAMADOR

4) Entrada, processamento e saída são dados, na automação industrial, como ...a. ( ) Programador, analista e disqueteb. ( ) Teclado, processador e vídeoc. ( ) Sensores, processamento e atuadoresd. ( ) Cliente, programador e usuárioe. ( ) Hardwre, software e algoritmo

5) Podemos afirmar que um algoritmo é ...a. ( ) Um componente de hardwareb. ( ) Uma operação aritméticac. ( ) Uma linguagem de programação muito eficiente

d. ( ) Uma forma simplificada de escrever o modelo de um programae. ( ) O conjunto de componentes de hardware onde o programa será executado

6) Qual o nome usado para o algoritmo expresso através do uso de blocos e setasde direção, similar ao representado na imagem ao lado ?

a. ( ) Fluxogramab. ( ) Diagrama de Chapinc. ( ) Descrição narrativad. ( ) Pseudocódigoe. ( ) Português estruturado

f.7) O que é EXTRAÇÃO DE REQUISITOS?

a. ( ) Implementação do programa

b. ( ) Construção do modeloc. ( ) Construção e montagem do conjunto de hardwared. ( ) Testes realizados ao final da programaçãoe. ( ) Análise minuciosa do problema junto ao cliente, usuário e equipamento

8) Marque com V para verdadeiro, e F para falso.a. ( ) O programador deve se preocupar unicamente com a escrita do programa, esquecendo o resto.b. ( ) A extração dos requisitos somente é necessária em problemas muito complexos.c. ( ) O usuário também deve ser levado em consideração a se realizar a extração dos requisitos.d. ( ) É importante realizar testes ao final do processo de programação, evitando que os erros cheguem ao

usuário e ao cliente.e. ( ) Somente é possível se programar microcomputadoresf. ( ) Para se programar é necessário o uso de uma linguagem de programação

g.( ) Linguagem de ALTO NÍVEL é a mais complexa e difícil de ser entendida 

5/17/2018 lista_exercicios_algoritmos - slidepdf.com

http://slidepdf.com/reader/full/listaexerciciosalgoritmos 9/38

COMPUTAÇÃO – Algoritmos. Pág 9 / 38 

9) O que é programar ?( ) Inserir dados em um computador( ) Executar uma seqüência de comandos expressos em uma determinada ordem( ) Escrever um texto( ) Interpretar os dados processados por um computador( ) Escrever uma seqüência de instruções a serem executadas por um equipamento

10) Associe corretamente as colunas

a) Instruçãob) Sensorc) Atuadord) Constantee) Variável

( ) Porção de memória RAM para armazenamento temporário( ) Saída – Elemento para onde a informação é enviada( ) Entrada – Elemento de onde vem a informação para o programa( ) Valor fixo, que não muda durante a execução do programa( ) Comando, ordem que identifica a tarefa a ser realizada

Lembre sempre desta frase: “Programar é 90% inspiração e 10% transpiração.”

O que isso quer dizer ?

5/17/2018 lista_exercicios_algoritmos - slidepdf.com

http://slidepdf.com/reader/full/listaexerciciosalgoritmos 10/38

COMPUTAÇÃO – Algoritmos. Pág 10 / 38 

3

2 1

Manual do PICAXE

Para download desta ferramenta, consulte o site www.picaxe.co.uk 

Ao executar oPICAXE, surgirá atela ao lado.

e em seguida seráaberta uma áreapara trabalho nosoftware com onome Untitled1.

Para compor um fluxograma, clique no botãoencontrado na barra de ferramentas. Surgirá uma

tela com o indicador de início de fluxograma :

A partir deste momento, você está pronto para

escrever e simular fluxogramas no PICAXE. Lembre-se : salve seu programa clicando no botãosempre que possível, pois o PICAXE pode travar ou ficar instável, e se você não salvar poderá perderseu programa, e ter que reescrevê-lo.

COMO DECLARAR SENSORES, ATUADORES e VARIÁVEIS no PICAXE.

clique em

FLOWCHART -> FLOWCHART SYMBOL TABLEE observe os intes para

1 ) Declaração das VARIAVEIS (capacidade de 8 bits,comportando valores inteiros de 0 a 255)2 ) Declaração dos ATUADORES (máximo de 8 atuadoresdigitais)3 ) Declaração dos SENSORES (máximo de 8 sensores digitais)

Troque o nome dos sensores, atuadores e variáveis, para facilitara programação e o entendimento do fluxograma. Por exemplo,para um hardware composto por um botão, um motor, um led

indicador e duas variáveis chamadas CONTADOR e X, podemosdeclarar o nome LED para output 0, MOTOR para output 1 eBOTAO para input 0. Veja como ficaria :

Após declarar os sensores,atuadores e variáveis, vocêpode começar a escreverseu programa.

5/17/2018 lista_exercicios_algoritmos - slidepdf.com

http://slidepdf.com/reader/full/listaexerciciosalgoritmos 11/38

COMPUTAÇÃO – Algoritmos. Pág 11 / 38 

ACIONAMENTOPara ativar uma saída, ou seja, para gerar ações correspondentes a

OU

Você deve clicar em , seguido de , clicar na área de escritado fluxograma, onde aparecerá o bloco representado ao lado.

Para desativar a saída, ou seja, para gerar as ações correspondentes a

OU

Clique em seguido de , e após clique na área de escrita do fluxograma, ondeaparecerá o bloco ao lado.

Para mudar o nome do atuador,observe no canto inferior esquerdoa presença de uma caixa quepermite que você selecione um dos atuadorespreviamente cadastrados na tabela de símbolos(explicado anteriormente).

TESTES (DECISÕES)

O PICAXE supõe que testes só podem ser realizadosem dois tipos de símbolos : os sensores e asvariáveis.

Para inserir um bloco de teste, clique no botão .Surgirá a seguinte barra de ferramentas :

Clicando nas opções com a inscrição PIN, você poderá inserir teste em pinos (SENSORE DIGITAIS).Clicando na opções com a inscrição VAR, você poderá inserir testes com variáveis.Para testes de pinos, você só poderá testar se a entrada é igual a 1 ou igual a 0.Já, para variáveis, podem ser utilizados os operadores de igual,diferente, maior e menor, comparando avariável com um valor inteiro de 0 a 255, ou com outra variável.

Cuidado para não confundir usando o teste de variável para testar sensores, ou teste de pinos para testarvariáveis. Embora o PICAXE não permita, se você possuir variáveis com mesmos nomes de sensores, essaconfusão pode acontecer.

ATUADOR 1 Liga ATUADOR

ATUADOR 0 Desliga ATUADOR

5/17/2018 lista_exercicios_algoritmos - slidepdf.com

http://slidepdf.com/reader/full/listaexerciciosalgoritmos 12/38

COMPUTAÇÃO – Algoritmos. Pág 12 / 38 

Temporização

Para inserir um bloco de tempo, use o recurso DELAY, clicando no botão . Deve surgir uma barra comas seguintes opções :

Usando a opção PAUSE, pode ser definido uma pausa, com valor expresso em milésimos de segundos. Porexemplo, se você inserir um PAUSE de 2500 unidades, o sistema, ao executar este bloco, ficará parado pordois segundos e meio.A opção WAIT permite realizar pausas em segundos. Já o comando SLEEP permite pausas de módulos de2,3 segundos. Por exemplo, um SLEEP de 10 causa uma pausa de 23 segundos.

Variáveis

Para se atribuir um valor a uma variável, utilize o item OTHER do menu principal, clicando no ícone .

Logo após, clique em . Este item permite que você monte expressões como estas :

Let X = 10 (a variável X passa a conter o valor 10. Let X = X + 1 (a variável X aumenta uma unidade) Let X = X – 1 (a variável X diminui uma unidade) Let X = X + Y (a variável X recebe um aumento de Y unidades) 

Para testes com variáveis (saber se ela é maior, igual ou menor que um outro determinado valor), veja o itemTESTES.

SUBROTINAS

Para trabalhar com subrotinas, use o ícone . A seguir, clique no botão para indicar o início da

subrotina, o botão para o final de uma subrotina, e o botão para realizar uma chamada a umasubrotina. Ao indicar o início de uma subrotina, observe que você deve indicar um NOME para a mesma(canto inferior esquerdo da tela quando o comando SUB estiver selecionado)

SIMULAÇÃO

Para entrar em modo simulação, pressione F4, ou clique emFLOWCHART – SIMULATE. Esta opção fará com que surja a janela de simulação (pode variar conforme versão utilizada):

Esta janela mostra os atuadores (como indicadoresretangulares verdes, com números de 0 a 7, indicando 8saídas digitais. A quantidade de saídas pode mudar conformeo modelo de microcontrolador escolhido no item VIEW-OPTIONS. No exemplo acima, observe que a saída 0 (zero)está acionada.

Na parte inferior, abaixo dos atuadores, existem as chaves LIGA/DESLIGA que representam os sensores.

Para alterar um estado de um sensor, basta clicar com o mouse sobre o mesmo. No exemplo acima, temosos sensores 2 e 6 acionados (foi clicado com o mouse).

5/17/2018 lista_exercicios_algoritmos - slidepdf.com

http://slidepdf.com/reader/full/listaexerciciosalgoritmos 13/38

COMPUTAÇÃO – Algoritmos. Pág 13 / 38 

Ao lado direito da janela, surgem as variáveis do sistema (b0 a b13). É recomendável que sejamrenomeadas para facilitar o uso.Na parte superior da janela existem 4 campos para digitação numérica, de valores que podem variar de 0 a255, indicando 4 entradas digitais de 8 bits.

Como este simulador não possui um dispositivo de saída (display), este recurso pode ser utilizado para

visualizar informações numéricas.

Mudando a velocidade de execução

Clicando em FLOWCHART -> OPTIONS

A opção SIMULATION DELAY define qual o atraso usado ao executar cada bloco. Para “depurar”, ou seja,analisar os passos do problema, é aconselhável usar um tempo mais alto. Já, para avaliar a execução doprograma (ou seja, simular o programa em funcionamento), é recomendado um valor mais baixo, ou mesmo

o valor zero.

5/17/2018 lista_exercicios_algoritmos - slidepdf.com

http://slidepdf.com/reader/full/listaexerciciosalgoritmos 14/38

COMPUTAÇÃO – Algoritmos. Pág 14 / 38 

Exercícios de simulação no PICAXE :

11) Tente escrever e executar o programa abaixo no PICAXE. Ao simular, verifique se todas ascondições abaixo foram atendidas para saber se o processo foiconcluído com sucesso.

a) Uma saída (cadastrada com o nome LED) irá ficarpiscando.b) Se a entrada (cadastrada como BOTAO) for acionada,

uma saída chamada MOTOR1 irá ser acionada edesativada por período de tempos 5 vezes.

c) Outras saídas aqui não descritas não são acionadas.d) Outras entradas aqui não descritas não geram nenhum

efeito sobre o programa.

12) Dado o fluxograma abaixo:

1) Ao iniciar a simulação, a saída LED irá piscar.2) Ao se pressionar e soltar o botão pela primeira

vez, o programa para de piscar.

3) Ao se acionar novamente o botão, o LED voltaa piscar.

13) Dado o fluxograma abaixo:

Implem

ente-o no PICAXE Em que situações o atuador MOTOR iráacionar ? Mude o programa, de forma que o atuadorMOTOR acione somente se ambos os sensores (BOTAO1 eBOTAO2) estejam acionados.

5/17/2018 lista_exercicios_algoritmos - slidepdf.com

http://slidepdf.com/reader/full/listaexerciciosalgoritmos 15/38

COMPUTAÇÃO – Algoritmos. Pág 15 / 38 

14) Dado o diagrama de hardware e o fluxograma abaixo, responda as questões que seguem.

a) Em que situação o led L1 será ativado ?( ) Quando nenhum botão estiver pressionado.( ) Quando somente B1 estiver pressionado.( ) Quando somente B2 estiver pressionado.( ) Quando somente um dos botões (B1 ou B2) estiver pressionado.( ) Quando ambos os botões (B1 e B2) estiver pressionado.

b) Em que situação o led L2 será ativado ?( ) Quando nenhum botão estiver pressionado.( ) Quando somente B1 estiver pressionado.( ) Quando somente B2 estiver pressionado.( ) Quando somente um dos botões (B1 ou B2) estiver pressionado.( ) Quando ambos os botões (B1 e B2) estiver pressionado.

c) Modifique o programa para que, quando ambos os botões B1 e B2 estiver sendo pressionado, L1 fiquepiscando.

15) Dado o diagrama da prensa ao lado, crieum algoritmo que proceda segundo os seguintes

critérios, expressando-o em um fluxograma.

A prensa irá baixar se CIL_PRENSA foracionado, e recuar se CIL_PRENSA for desligado. A morsa irá fechar se CIL_MORSA foracionado, e abrir se CIL_MORSA FOR desligado. SENS_PECA indica se há ou não presençade peça no interior da morsa. FIM_CURSO indica a posição máxima defechamento da prensa. Se a prensa descer abaixodeste nível, a peça será danificada. B1 e B2 são botões que disparam o sistema.

A morsa deve fechar somente se houver peça na prensa, e se pelo menos um dos botões (B1 ou B2)estiver pressionado. A morsa deve abrir se ambos os botões estiverem soltos. A prensa deve baixar sempre que ambos os botões B1 e B2 estiverem pressionados, salvo situaçõesem que o final de curso (FIM_CURSO) seja atingido. Quando o final de curso da prensa for atingido, a peça deve ser removida. Caso isso não ocorra, osistema deve permanecer parado (a prensa não deve mais descer). Se os botões B1 e B2 forem liberadosdurante a descida da prensa, o movimento deve parar, e a prensa deve voltar a subir.

5/17/2018 lista_exercicios_algoritmos - slidepdf.com

http://slidepdf.com/reader/full/listaexerciciosalgoritmos 16/38

COMPUTAÇÃO – Algoritmos. Pág 16 / 38 

INICIO

ALIM <-- 0DESV1 <-- 0

DESV2 <-- 0MOTOR <-- 0

SENSOR_PECA = 1

S1=1

S2=1

S3=1

DESV1<--1

DESV2<--0

DESV1<--0DESV2<--1

DESV1<--0DESV2<--0

tempo(5000)

MOTOR <-- 1ALIM<--1

SI M

SI M

nã o

nã o

nã o

SI M

SI M

nã o

tempo(1000)

16) Observe o diagrama de hardware e o fluxograma abaixo.

A) Quais são os sensores deste sistema ?........................................................................

........................................................................

B) Quais são os atuadores deste sistema ?........................................................................

C) A esteira irá ligar ...( ) Quando houver peça no alimentador e um botão for pressionado( ) Quando houver peça no alimentador( ) Sempre – o motor da esteira permanecerá ligado

( ) Somente quando for detectada uma peça alta( ) Quando um determinado botão for pressionado

D) O que acontece se uma peça “entalar” na saída do alimentador (antes dos sensores) e não seguir ofluxo normal da esteira ?( ) A esteira se auto-desliga em 5 segundos (5000 milisegundos)( ) A esteira processa até colocar a peça em BOX 3( ) A esteira processa até colocar a peça em BOX 2( ) A esteira processa até colocar a peça em BOX 1( ) A esteira liga, e não irá parar enquanto não passar por S1, S2 ou S3

E) Se forem colocadas 5 peças no alimentador, ao mesmo tempo, o motor da esteira ...( ) enquanto houver peças, irá funcionar por alguns segundos, parando 1 segundo em cada peça

processada.( ) irá funcionar continuamente até processar as 5 peças.( ) não irá funcionar até que seja pressionado um botão( ) irá ligar e desligar a cada exatos 5 segundos( ) irá funcionar continuamente e não parará mais

F) Quando funcionar este sistema, onde vão parar ...Peças baixas : ( ) BOX 3 ( )BOX 2 ( ) BOX 1Peças médias : ( ) BOX 3 ( )BOX 2 ( ) BOX 1Peças altas : ( ) BOX 3 ( )BOX 2 ( ) BOX 1

G) No programa apresentado, é utilizado um método de controle por tempo. Na sua opinião, que riscos estemétodo apresenta para esse tipo de equipamento ?

5/17/2018 lista_exercicios_algoritmos - slidepdf.com

http://slidepdf.com/reader/full/listaexerciciosalgoritmos 17/38

COMPUTAÇÃO – Algoritmos. Pág 17 / 38 

17) Analisando o fluxograma e o diagrama de hardware abaixo, responda as questões queseguem.

Quais os sensores presentes neste sistema ?.......................................................................................................................... Quais os atuadores presentes neste sistema ?.......................................................................................................................... Analisando o programa, responda V para verdadeiro e F para falso.( ) O botão B1 e o botão B2 produzem o mesmo efeito para o programa.( ) O botão B3 serve para encher a caixa com água( ) Ao pressionar o botão, o usuário precisará esperar a caixa d’água encher.( ) Enquanto a caixa d’água estive enchendo, o agitador permanecerá desligado.( ) Enquanto o recipiente de mistura estiver esvaziando, o agitador permanecerá ligado.( ) Se durante o processo de mistura o botão B2 for acionado, o processo irá parar.

Um funcionário escreveu em três anotações para os botões do painel desta máquina. Associecorretamente as anotações que você julgar correspondente a cada botão. Observe que somente poderá sercolado uma anotação por botão, portanto escolha somente 3 anotações, um para cada botão.

(A) Gerar solução pouco ácida ( ) B1(B) Gerar solução muito ácida ( ) B2(C) Gerar solução alcalina (básica) ( ) B3(D) Limpar a caixa(E) Ligar o agitador(F) Gerar solução neutra

Você sugere alguma modificação neste fluxograma ? Em caso afirmativo, explique. (use o verso)

5/17/2018 lista_exercicios_algoritmos - slidepdf.com

http://slidepdf.com/reader/full/listaexerciciosalgoritmos 18/38

COMPUTAÇÃO – Algoritmos. Pág 18 / 38 

18) A empresa ETAP SA. utiliza água para resfriamento de algumas máquinas injetoras. Paraesta função de resfriamento, é utilizada água deduas fontes distintas : Um poço artesiano eágua da chuva.Como as máquinas que utilizam esta água nãopodem parar, a empresa desenvolveu um

reservatório com capacidade de armazenar aágua da chuva e dos poços artesianos. Umsistema automatizado mantém o nível doreservatório.

Quem realizou a automação se preocupou emmanter o nível de água utilizando um sistema

que permita escoar ou encher a caixa d’água. Foram aindautilizadas duas bombas no poço artesiano.

Observe o diagrama de hardware e o fluxograma destaautomação.

Responda as questões abaixo.

1) Quais os sensores do sistema ?..........................................................................

..........................................................................

2) Na sua opinião, algum destes sensores é analógico ?..........................................................................

..........................................................................

3) Quais os atuadores do sistema ?..........................................................................

..........................................................................

4) A caixa d’água corre o risco de transbordar ? Explique ...

5) Em que situação a bomba 1 será ativada ?..........................................................................

..........................................................................

6) Em que situação a bomba 2 será ativada ?.....................................................................................

....................................................................................................

7) As bombas irão apresentar um mesmo desgaste ? Porque?....................................................................................................................................................

8) Acrescente um “botão” ao sistema, de forma que quandoeste botão for pressionado, a água existente na caixa seja

escoada até o nível mínimo ser atingido. Modifique o diagrama de hardware e o fluxograma.

INICIO

V1 0BOMBA1 0BOMBA2 0

NIVEL0 = 1

NIVEL1 = 1

NIVEL2 = 0

NIVEL3 = 0

V1 1

V1 0

BOMBA1 0BOMBA2 0 

BOMBA1 1

BOMBA2 1

sim

sim

sim

sim

não

não

não

não

5/17/2018 lista_exercicios_algoritmos - slidepdf.com

http://slidepdf.com/reader/full/listaexerciciosalgoritmos 19/38

COMPUTAÇÃO – Algoritmos. Pág 19 / 38 

19) EstufaXi Pan Zé, um técnico de

automação industrial chinês,desenvolveu uma estufa automatizadapara criação de chinchilas.

A estufa era composta por umsistema de aquecimento elétrico por

estufas de resistências, ventiladorespara resfriamento, um sensor detemperatura e uma interface homem-máquina com um display do tipo LCD edois botões do tipo PUSH BUTTON.

DIAGRAMA DEHARDWARE

5/17/2018 lista_exercicios_algoritmos - slidepdf.com

http://slidepdf.com/reader/full/listaexerciciosalgoritmos 20/38

COMPUTAÇÃO – Algoritmos. Pág 20 / 38 

a) Quais os sensores presentes neste sistema ?

.........................................................................................................................................................

.........................................................................................................................................................

b) Alguns destes sensores são analógicos ? Quais ?.........................................................................................................................................................

.........................................................................................................................................................

c) Quais os atuadores presentes neste sistema ?

.........................................................................................................................................................

.........................................................................................................................................................

d) Quantas variáveis são mostradas no atuador “display” ? Quais ?

.........................................................................................................................................................

.........................................................................................................................................................

e) Qual a temperatura inicial que o sistema tentará manter ?

.........................................................................................................................................................

f) A temperatura ideal para criar as chinchilas depende da idade das mesmas. Neste sistema, é possível sealterar a temperatura a ser mantida ? Qual é a variável que armazena o valor desejado neste sistema ?.........................................................................................................................................................

.........................................................................................................................................................

g) Qual o valor da maior temperatura e da menor temperatura que o usuário pode definir para este sistema ?

.........................................................................................................................................................

h) Quantas são e quais são as estruturas de decisão e de repetição presentes no fluxograma ?

.........................................................................................................................................................

i) Quando o sensor TEMP estiver valendo 228, que temperatura estará sendo “considerada” pelo sistema ?.........................................................................................................................................................

.........................................................................................................................................................

 j) O usuário do sistema gostaria de definir temperaturas de 2ºC até 60ºC. Ele também gostaria de modificar atemperatura definida de dois em dois graus, sendo que se uma das teclas “sobe” e “desce” ficar sendopressionada, o valor irá aumentar ou diminuir continuamente (efeito de repetição de tecla). Em outraspalavras, se o usuário pressionar a tecla sobe, a temperatura irá subir gradualmente até o valor limite, sem anecessidade de soltar e pressionar novamente a mesma tecla. Implemente estas modificações nofluxograma.

5/17/2018 lista_exercicios_algoritmos - slidepdf.com

http://slidepdf.com/reader/full/listaexerciciosalgoritmos 21/38

COMPUTAÇÃO – Algoritmos. Pág 21 / 38 

20) Dado o fluxograma, responda as questões que seguem.

a) Quantas estruturas de decisão são apresentadas neste fluxograma : ...........

b) Quantas estruturas de repetição são apresentadas neste fluxograma : .........

c) Sendo que a rotina TEMPO causa atrasos de tempo em milésimos de segundos, qual será o valorexibido no display se o veículo demorar 600 milésimos de segundos para percorrer a distância entre aBOBINA1 e a BOBINA2 ?

.....................................................................................................

d) Em qual situação será acessa a luz vermelha, e por quanto tempo ela permanecerá acesa?( ) Para velocidades calculadas superiores a 80km/h, por 8 segundos.( ) Para velocidades calculadas superiores ou iguais a 80km/h, por 20 segundos.( ) Para velocidades calculadas superiores ou iguais a 80km/h, por 2000 segundos.( ) Para velocidades calculadas inferiores a 80km/h, por 2 segundos.( ) Para velocidades calculadas inferiores e iguais a 80km/h, por 18 segundos.( ) Para velocidades calculadas superiores a 80km/h, por 2 segundos.

e) No caso de um veículo ser detectado somente pela BOBINA1, e não ser detectado ao passar sobre aBOBINA2, podemos afirmar que ...( ) Nenhum problema irá ocorrer( ) O sistema não funcionará até que outro veículo cruze a segunda bobina( ) O sistema irá travar, e somente destravará após 18 segundos( ) Mesmo assim o sistema irá calcular a velocidade aproximada do veículo( ) A luz vermelha irá ficar piscando

5/17/2018 lista_exercicios_algoritmos - slidepdf.com

http://slidepdf.com/reader/full/listaexerciciosalgoritmos 22/38

COMPUTAÇÃO – Algoritmos. Pág 22 / 38 

INICIO

B1 = 1

ROT2

ROT1

NÃO

SIM

 21) Olhando o diagrama e o fluxograma abaixo (um semáforo), responda as questões queseguem.

a) Para que serve B1 neste sistema ? Oque acontece com o semáforo quandoeste botão é acionado ?

.............................................

.............................................

.............................................

b) Quais são as entradas (sensores)e as saídas (atuadores) deste sistema?

.............................................................................................................

.............................................................

................................................

c) Levando em consideração que asubrotina tempo (implícita) causa umatraso no programa em milésimos desegundo, descreva o funcionamentodeste semáforo. (seja claro, objetivo e procure a resposta mais completa possível.)

.............................................................................................................

.............................................................................................................

.............................................................................................................

.............................................................................................................

d) Implemente este programa no simulador.

ROT2

VERMELHO1 <-- 1

AMARELO1 <-- 0

VERDE1 <-- 0

VERMELHO2 <-- 0

AMARELO2 <-- 0

VERDE2 <-- 1

VERDE2 <-- 0

AMARELO2 <-- 1

TEMPO(45000)

TEMPO(15000)

RETORNE

AMARELO2 <-- 0

VERMELHO2 <-- 1

VERMELHO1 <-- 0

VERDE1 <-- 1

VERDE1 <-- 0

AMARELO1 <-- 1

TEMPO(45000)

TEMPO(15000)

5/17/2018 lista_exercicios_algoritmos - slidepdf.com

http://slidepdf.com/reader/full/listaexerciciosalgoritmos 23/38

COMPUTAÇÃO – Algoritmos. Pág 23 / 38 

22) Crie um programa que gere um seqüencial de 4 leds, conforme movimentação de umpotenciômetro linear (entrada analógica).Simule este programa, lembrando que a entrada analógica gera uma variação numérica de 0 a 255,conforme a tensão de entrada no conversor ADC.

23) Automação de cancela de pedágio.

Abaixo, um diagrama de uma simples cancela de pedágio.

O funcionamento da cancela é dado da seguinte forma :

a) O movimento da cancelaé realizado por um motor comdois sentidos de rotação.b) Existem sensores que

permitem identificar se acancela está totalmenteaberta ou totalmente fechada.c) Existe um semáforo, queidentifica ao motorista se elepode seguir ou se deve pararpara esperar autorização dooperador.d) O operador da cancelaabre a mesma, autorizando apassagem de um veículo,através de um botão presentena cabine.

e) Um sensor de barreira identifica se o veículo passou pela cancela. A cancela deve fecharautomaticamente ao identificar que o veículo já passou.f) Ao fechar a cancela, o sensor de barreira deve ser observado. Se algum obstáculo invadir a linha dosensor, a cancela deve parar de fechar.g) Uma vez fechada a cancela, ela somente deverá ser aberta com a autorização do operador.

-------------------------------------------------------------------------------------------------------------------------------

5/17/2018 lista_exercicios_algoritmos - slidepdf.com

http://slidepdf.com/reader/full/listaexerciciosalgoritmos 24/38

COMPUTAÇÃO – Algoritmos. Pág 24 / 38 

Responda (relativo ao exercício da cancela de pedágio) :

1.1. Quantos e quais são os sensores representados no diagrama de hardware ?

.........................................................................................................................................................

.........................................................................................................................................................

1.2. Quantos e quais são os atuadores presentes no sistema ?

.........................................................................................................................................................

.........................................................................................................................................................

1.3. Escreva um algoritmo para automação do sistema, atendendo as especificações citadasanteriormente.

.........................................................................................................................................................

.........................................................................................................................................................

1.4. Acrescente ao sistema anterior um botão para "livre passagem". Este botão, ao estar acionado,deve manter a cancela aberta, e a luz verde do semáforo (SIGA) deve ficar piscando.

24) Dado o diagrama de hardware abaixo, escreva um algoritmo que empilhe as peças conformeo exemplo.

5/17/2018 lista_exercicios_algoritmos - slidepdf.com

http://slidepdf.com/reader/full/listaexerciciosalgoritmos 25/38

COMPUTAÇÃO – Algoritmos. Pág 25 / 38 

25) Dois botões (B1 e B2) estão ligados a um microcontrolador, assim com dois leds L1 e L2. Oobjetivo é ligar o led L1 somente se ambos os botões estiverem pressionados. Enquanto o usuárionão pressionar nenhum botão, ambos os leds devem estar desligados. Se o usuário apertar somenteum dos dois botões, somente o led L2 deverá ser acionado. Construa o algoritmo para determinareste comportamento.

26) Para o hardware representado, crie programas que sigam as seguintes especificações :

Programa a) Quanto BOTAO for pressionado, o disco preso ao motor deve efetuar 10 voltas completas,parando após esta ação.

Programa b) Quanto BOTAO for pressionado, o motor deve ser ligado, e desligado somente caso BOTAOseja pressionado novamente.

Programa c) Se BOTAO for pressionado, o motor deve ser ligado, girando o disco 15 vezes. Caso BOTAOseja pressionado novamente durante a execução desta ação, o motor deve ser desligado, parando de girar odisco.

5/17/2018 lista_exercicios_algoritmos - slidepdf.com

http://slidepdf.com/reader/full/listaexerciciosalgoritmos 26/38

COMPUTAÇÃO – Algoritmos. Pág 26 / 38 

27) Uma máquina é utilizada para selar embalagens plásticas.Crie o programa que gerencie esta máquina, segundo a seguinte especificação :

A embalagem deve ser selada através do acionamento do cilindro pneumático, por umtempo de 5 segundos. Caso as resistências não estejam devidamente aquecidas (termostato ativado), o sistemadeve aguardar até que elas aqueçam. Caso o sistema passe muito tempo sem uso, a resistência deve ser desativada, com o intuito

de preservar energia elétrica.

28) Dada um equipamento criado para cortar condutores (fios) para construção de chicoteselétricos, com as seguintes características :

O funcionamento da máquina é realizado através do pressionamento de um dos 3 botões.O ciclo de funcionamento libera um único pedaço de condutor, conforme o botão pressionado

A máquina possui 3 configuraçõespossíveis :Pedaços de 32 cmPedaços de 40 cm

Pedaços de 120 cm

O perímetro do cilindro contador éde 8 cm, ou seja, a cada voltacompleta são ejetados 8 cm defio.

A máquina deve cortarautomaticamente o fio ao terminar de ejetar a medida de fio desejada.

Quais os sensores e os atuadores deste sistema ?

Sensores : ..................................................................................

Atuadores : ................................................................................

Escreva uma subrotina que, quanto utilizada, faça com que o sistema “ejete” 8 centímetros de fio,sem cortar.

Escreva um programa que, usando a subrotina descrita acima, realize a automação desteequipamento.

5/17/2018 lista_exercicios_algoritmos - slidepdf.com

http://slidepdf.com/reader/full/listaexerciciosalgoritmos 27/38

COMPUTAÇÃO – Algoritmos. Pág 27 / 38 

29) Para o hardware apresentado, similar ao problema anterior, crie um programa que:a) Quando o botão 1 for acionado, ejete 90 cm de fio.b) Quando o botão 2 for acionado, ejete 180 cm de fio.c) Quando o botão B3 for acionado, o sistema ejete o fio (ejetar enquanto o botão estiver sendo

pressionado, e cortar quando o botão for solto).

30) Pressionando o botão RESETPARCIAL, o contador parcial deve ser“zerado”. Cada peça que passar pelosensor deve ser contabilizada no contadorparcial e no geral. Observe que sempre cairáuma peça por vez, mas esta pode ter

dimensões diferentes, podendo levar mais oumenos tempo para passar pelo sensor.

5/17/2018 lista_exercicios_algoritmos - slidepdf.com

http://slidepdf.com/reader/full/listaexerciciosalgoritmos 28/38

COMPUTAÇÃO – Algoritmos. Pág 28 / 38 

31) Sistema de alarme residencial. – Observando o layout de hardware abaixo :

a) De nome aos sensores e atuadores, preenchendo a tabela abaixo.

b) Usando os nomes que você colocou na tabela acima, escreva um fluxograma que represente ofuncionamento do alarme. Lembre que a chave de arme e desarme do alarme está no interior da casa. Destaforma, o sistema deve “dar um tempo” para que a pessoa que ligou o sistema possa sair da casa, caso eladeseje sair. Lembre, também, que o sistema deve permitir que o usuário consiga desligar a chave do sistemade alarme após entrar na casa pela porta, evitando que o alarme dispare. Se a janela for aberta com oalarme ligado, o sistema deve disparar e o led deve informar que a violação aconteceu por causa da janela.Se a porta for aberta e o alarme continuar ativad depois de um determinado período (a chave não for ligada),a sirene deve disparar e o led indicador da porta deve ser acionado. Os leds indicadores somente devem serapagados caso o alarme seja acionado novamente.

Para orientar a construção de seu programa, realize (após elaborar o fluxograma) testes, observandodiversas situações de uso deste programa, para encontrar possíveis erros. Exemplo :

1 – A pessoa liga o alarme com a porta aberta.2 – A pessoa liga o alarme com a janela aberta.3 – A pessoa liga o alarme, mas não sai de casa (não abre a porta).4 – A pessoa liga o alarme, sai de casa, mas outra pessoa dentro da casa desliga o alarme.5 – Um ladrão abre a porta, entra na casa e fecha a porta.6 – O alarme é ligado, e desligado logo em seguida.

(esse procedimento de teste no planejamento do programa é chamado de “teste de mesa.”)

Sensor/Atuador Nome

Sensor da porta0 = porta aberta1 = porta fechadaSensor da janela0 = janela aberta1 = janela fechadaChave do alarme0 = alarme ligado1 = alarme desligadoSirene0 = sirene parada1 = Sirene tocandoLed da porta

0 = porta ok1 = disparou pelaportaLed da janela0 = janela ok1 = disparou pela janela

5/17/2018 lista_exercicios_algoritmos - slidepdf.com

http://slidepdf.com/reader/full/listaexerciciosalgoritmos 29/38

COMPUTAÇÃO – Algoritmos. Pág 29 / 38 

32) Crie um programa que realize a automação do portão de garagem abaixo.

Quando o botão do controle for acionado, o portão deve abrir (ou fechar).Caso o portão esteja abrindo ou fechando, e o botão do controle for acionado, o programa deve parar ou

inverter o portão.

A temporização do portão aberto é opcional. Inicialmente crie um programa que proceda o fechamentosomente se o botão do controle for acionado. Quando esta versão funcionar, implemente a temporização:Neste caso, o portão deve fechar sozinho se ninguém pressionar o botão do controle por um determinadoperíodo de tempo (aprox. 15 segs.)

5/17/2018 lista_exercicios_algoritmos - slidepdf.com

http://slidepdf.com/reader/full/listaexerciciosalgoritmos 30/38

COMPUTAÇÃO – Algoritmos. Pág 30 / 38 

33) Crie um algoritmo que tenha o objetivo de fazer com que o veículo percorra o trajeto definidopela linha. Os sensores acionam quando estão sobre a linha.

34) Faça a automação da máquina de lavar, fazendo com que ela siga os seguintes passos:

• Aguardar o botão de start ser pressionado• Encher• Lavar por 5 minutos, batendo 10 segundos para cada lado (parar o motor por 5 segundos antes de

reverter)• Esvaziar• Repetir o processo para enxágüe, batendo por 1 minuto• Centrifugar por 2 minutos

Obs: se abrir a porta no meio do processo, a maquina deve parar e só reiniciar se for pressionado START.

5/17/2018 lista_exercicios_algoritmos - slidepdf.com

http://slidepdf.com/reader/full/listaexerciciosalgoritmos 31/38

COMPUTAÇÃO – Algoritmos. Pág 31 / 38 

35) Caso o botão DIRseja pressionado, deveser inciado um processode acionamento emseqüência das bobinasB1, B2, B3, B4, B1, B2, B3,

B4, ... (uma de cada vez,permanecendo acionadapor 100 ms cada) fazendocom que o motor de passogire para a direita.Caso seja pressionado o botão ESQ, deve ser iniciado o procedimento que irá girar o motor para a esquerda(B4, B3, B2, B1, B4, B3, B2, B1 ...) também com 100 ms para cada bobina.O motor deve parar (SEM BOBINAS ACIONADAS) caso seja pressionado o botão PARAR.

36) Hidroponia

"A hidroponia é a ciência de cultivar 

plantas sem solo, onde as raízes recebem uma solução nutritiva balanceada que contém água e todos os nutrientes essenciais ao desenvolvimento da planta. [...] A palavra hidroponia vem do grego, dos radicais hydro = água e ponos = trabalho.Apesar de ser uma técnica relativamente antiga, o termo hidroponia só foi utilizado pela primeira vez em 1935 pelo Dr. W. F. Gericke da Universidade da Califórnia." 

( http://www.labhidro.cca.ufsc.br/hidroponia.htm , 16/10/2003) 

Crie um programa para controlar o sistema de cultivo de alfaces hidropônicas. O sistema deve seguir as

seguintes regras :

O PH deve ser mantido o mais próximo possível de 7,5 A água será reutilizada por 100 ciclos. Após, toda a água existente no reservatório 2 deverá ser

eliminada pelo ralo, realimentando o sistema com a água da rede pública. Sempre que houver correção no PH, o sistema deve ligar o motor agitador (M1) por um minuto. Os ciclos de irrigação devem ocorrer a cada 15 minutos, durando aproximadamente 5 minutos cada.

(15 minutos desligado, 5 minutos ligado) Através dos sensores de nível, deve ser observado o nível mínimo para ligamento da bomba,

abertura da válvula e enchimento dos reservatórios.

5/17/2018 lista_exercicios_algoritmos - slidepdf.com

http://slidepdf.com/reader/full/listaexerciciosalgoritmos 32/38

COMPUTAÇÃO – Algoritmos. Pág 32 / 38 

37) Esteira de separação de peças plásticas e peças metálicas

Funcionamento:

Uma peça é colocada manualmente na posição de entrada. Em seguida, o botão de Start BT1 deve

ser acionado para iniciar o sistema, ligando a esteira. O sensor ótico S1 identifica quando a peça está

posicionada em frente ao sensor indutivo. O sensor indutivo S0 detecta quando as peças são metálicas. Se a

peça for metálica, o batente expulsador (bobina que move um pino de metal) deve ser acionado no exato

instante que a peça metálica sair do alcance do sensor indutivo, empurrando a peça para a rampa das

metálicas. Se a peça não for metálica, deve seguir adiante até a rampa das plásticas. Os sensores óticos S2

e S3 identificam que as peças saíram da esteira, desligando o sistema.

´

EntradasElemento Descrição

S0 Sensor indutivo de identificaçãode peças metálicas 

S1 Sensor ótico de identificação de

peças antes do batenteS2 Sensor ótico na rampa das peçasmetálicas

S3 Sensor ótico na rampa das peçasplásticas

BT1 Botão de Start

SaídasElemento Descrição

EST Esteira transportadoraBTE Batente ex ulsador

5/17/2018 lista_exercicios_algoritmos - slidepdf.com

http://slidepdf.com/reader/full/listaexerciciosalgoritmos 33/38

COMPUTAÇÃO – Algoritmos. Pág 33 / 38 

38) Controle de Temperatura ON-OFF – Estufa

Funcionamento:

Uma estufa deve manter a temperatura interna sempre na faixa entre 45ºC e 60ºC. Para isso foraminstalados internamente na estufa dois sensores de temperatura (termostatos). O funcionamento dostermostatos é o seguinte:

T1 = 1 para temperaturas >= 45ºC

T2 = 1 para temperaturas >= 60ºC

Faça a lógica de controle para que a temperatura interna fique dentro da faixa de trabalho acionando-se um aquecedor A ou um resfriador R.

A tabela abaixo mostra o funcionamento do sistema:

T1 T2 A R Situação

0 0 1 0 Temperatura abaixo de 45ºC

0 1 x x Condição impossível

1 0 0 0 Temperatura dentro da faixa

1 1 0 1 Temperatura acima de 60ºC

O sistema de controle de temperatura deverá ser ligado ou desligado através de botões. 

5/17/2018 lista_exercicios_algoritmos - slidepdf.com

http://slidepdf.com/reader/full/listaexerciciosalgoritmos 34/38

COMPUTAÇÃO – Algoritmos. Pág 34 / 38 

39) Controle de nível

Objetivo: Manter o nível de água do reservatório entre os sensores “a” e “b”.

Funcionamento: Não existem botões para ligar ou desligar o sistema, o algoritmo pode iniciar o

controle automaticamente.. Os sensores de nível “a”, “b”, “c” e “d” enviam o sinal “1” quando estãoem contato com a água. As condições de funcionamento são as seguintes:  a válvula P é aberta (P recebe “1”) quando o sensor “b” for igual a “0” e fechada quando o sensor

“a” for igual a “1”.  O motor M2 é ligado quando o sensor “a” for igual a “1” e desligado quando o sensor “b” for

igual a “0”.  O motor M1 é ligado quando o sensor “c” for igual a “1” e desligado quando o sensor “d” for

igual a “0”.  Enquanto “c” for igual a “0”, soa o alarme AL (AL recebe “1”).

Figura 1. Sistema de reservatório.

EntradasElemento Descrição

a Sensor de nível de água b Sensor de nível de águac Sensor de nível de águad Sensor de nível de água

SaídasElemento Descrição

P Válvula de entrada de águaM1 Bomba de sucção de águaM2 Bomba de sucção de águaAL Alarme sonoro

5/17/2018 lista_exercicios_algoritmos - slidepdf.com

http://slidepdf.com/reader/full/listaexerciciosalgoritmos 35/38

COMPUTAÇÃO – Algoritmos. Pág 35 / 38 

40) Automatizar um sistema de furação em uma mesa giratória

Sensores:A1 – Sensor de posicionamento da mesa giratória (indutivo, ativado em 4 posições a cada 90º)A2 – Sensor do cilindro de teste (magnético - indica cilindro totalmente avançado)A3 – Sensor da furadeira baixa (magnético - indica que a furadeira está totalmente avançada)A4 – Sensor do cilindro indexador avançado (magnético - indica que a peça está travada)A5 – Sensor de presença de peça (óptico - indica que há peça na posição inicial)

E2 – Botão de inícioAtuadores:D0 – Cilindro que desce a furadeira (Avança a furadeira em 1 e recua em 0)D1 – Motor da furadeira (Liga em 1 e desliga em 0)D2 – Cilindro indexador (Trava a peça para furação. Avança em 1 e recua em 0)D3 – Motor que gira a mesa em sentido horário (Gira mesa em 1 e para em 0)D4 – Cilindro de teste de furação (Avança em 1 e retorna em 0)B3 – Sinalizador sonoro de erro

OBJETIVO DA AUTOMAÇÃO

O objetivo do sistema é furar uma peçacilíndrica, presente na posição inicial.

Através do cilindro de teste, poderá serverificado se houve ou não a furação. No caso de erro,o sistema deverá emitir um alerta sonoro.

No final do processo, havendo ou não sucesso nafuração, a peça deverá estar na posição final (270º após aposição inicial). 

D1

D

D3

D4

A2

A3

A4

A5

A1

posição inicial

D0

5/17/2018 lista_exercicios_algoritmos - slidepdf.com

http://slidepdf.com/reader/full/listaexerciciosalgoritmos 36/38

COMPUTAÇÃO – Algoritmos. Pág 36 / 38 

41) Estação de Separação

Funcionamento:

1º) Ao acionar o botão de início (B1), a esteira (D0) iniciará o transporte de uma peça.

2º) Durante o transporte, sensores identificarão o tipo de peça, como segue:

- A peça prata aciona os sensores S0, S1 e S2;

- A peça vermelha aciona os sensores S1 e S2;

- A peça preta aciona o sensor S2.

3º) Se a peça for prata (alumínio), o 1º cilindro (C1) fará com que a peça escorregue na 1ª rampa.

4º) Se a peça for vermelha, o 2º cilindro (C2) fará com que a peça escorregue na 2ª rampa.

5º) Se a peça for preta, o 3º cilindro (C3) fará com que a peça escorregue na 3ª rampa.

6º) Após uma peça escorregar por uma dessas três rampas, a peça passará pelo sensor de barreira(S4), o qual indicará que o ciclo acabou. Neste instante, a esteira deverá parar e o cilindrocorrespondente recuar.

7º) Se uma peça defeituosa passar pela esteira, nenhum sensor será acionado. O sensor ótico 3 (S3)indicará que essa peça escorregou pela rampa de refugo. Neste instante, o ciclo acaba e a esteiradeverá parar. 

Lista de Alocação:Entradas Saídas

• B1 – Botão de início • D0 – Liga Esteira

• S0 – Sensor indutivo • C1 – Avança o 1º cilindro

• S1 – Sensor ótico 1 • C2 – Avança o 2º cilindro

• S2 – Sensor ótico 2 • C3 – Avança o 3º cilindro

• S3 – Sensor ótico 3

• S4 – Sensor de barreira 

5/17/2018 lista_exercicios_algoritmos - slidepdf.com

http://slidepdf.com/reader/full/listaexerciciosalgoritmos 37/38

COMPUTAÇÃO – Algoritmos. Pág 37 / 38 

42) Sistema para detecção de garrafas

Figura 1. Sistema para detecção de garrafas.

Funcionamento:

Uma esteira, acionada pelo motor E, transporta garrafas de três tamanhos (pequenas, médias e grandes)que sensibilizam três sensores óticos (A, B, C), conforme ilustra a figura 1. O processo tem início quando obotão B1 é acionado e, enquanto a esteira estiver ligada, podem passar quantas garrafas o operador desejar. Oprocesso é interrompido pelo botão de parada B2.

A seleção do tipo de garrafa é feita no início do programa, através de uma requisição para o operadordigitar o tipo de garrafa: “1” para pequenas, “2” para médias e “3” para grandes. Assim, por exemplo, se ooperador selecionou garrafas grandes e no meio do processo uma garrafa pequena ou média for detectada, aesteira deve parar e o alarme AL soar, finalizando o programa.

Lista de Alocação:

Entradas: Saídas:

• B1 – Botão de início • E – Motor que movimenta a esteira

• B2 – Botão de parada • AL – Alarme sonoro

• A – Sensor ótico que detecta todas as garrafas

• B – Sensor ótico que detecta garrafas médias e grandes

• C – Sensor ótico que detecta apenas garrafas grandes

• G – Chave seletora de garrafas grandes

• M - Chave seletora de garrafas médias

• P - Chave seletora de garrafas pequenas

5/17/2018 lista_exercicios_algoritmos - slidepdf.com

http://slidepdf.com/reader/full/listaexerciciosalgoritmos 38/38

COMPUTAÇÃO – Algoritmos. Pág 38 / 38 

43) Estação de Furação

Especificação do programa :

Uma peça será colocada pelo usuário na posição de entrada, sobre o sensor A4.O sistema deverá testar a peça, verificando se a mesma está furada.Caso a peça não esteja furada, ela deverá ser furada na torre de furação.Finalmente a peça processada ficará aguardando sua retirada na posição sobre o sensor A5.

Obs: A mesa não deve girar com a furadeira abaixada ou com as bobinas de teste e indexadoraacionadas. Ao realizar o procedimento de furação, a peça deve estar travada (indexador).