lista exercicios algoritmos

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

Upload: inacio-wanderley

Post on 22-Oct-2015

57 views

Category:

Documents


0 download

TRANSCRIPT

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

Lista de Exercícios

Algoritmos

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 pelo hardware. 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 quais podemos citar: Quanto ao grau de abstração (NÍVEL) : Esta classificaçã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 com a linguagem humana, mais alto é seu nível. Linguagens de alto nível são mais fáceis de se programar, 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 poderosas no que diz respeito à acesso aos recursos do hardware, são bem mais rápidas, mas exigem um maior esforço de programação. Exemplo: Assembly, C ANSI.

Quanto ao paradigma de programação : Esta classificação leva em consideração a forma com que é elaborada a solução para o problema. Paradigma Imperativo: É quando uma lista de comandos executados em seqüência determina a mudança de estado de atuadores e variáveis, ou verificam estado dos sensores. O nome “imperativo” é utilizado pelo fato da linguagem exprimir 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 3 estruturas: Seqüência, Decisão e Iteração (repetição). Paradigma Funcional: É quando o programa dá ênfase à relação entre seus componentes mediante funções específicas. Paradigma de Orientação a Objetos: É quando o programa preconiza a descrição de seus componentes através de “classes”, para as quais são associados métodos e conjuntos de dados chamados atributos. Este paradigma está comumente associado a linguagens de alto nível, e facilita a abstração e o reaproveitamento de código. Paradigma Lógico: É quando a relação entre os diversos componentes do programa é estabelecida mediante um conjunto de regras. Estabelece-se uma relação entre entradas e saídas, entre os dados, e o sistema 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ão executadas.

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

Linguagem montada: É quando um programa (montador) simplesmente traduz as instruções escritas por sí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 do programa fonte, e gera trechos de programa em código binário reconhecíveis pelo processador ou por outro programa executor. Linguagem interpretada: É quando a linguagem do programa fonte é diretamente interpretada por um programa 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 de regras e especificações, que determinam em uma linguagem de ALTO NÍVEL (fácil de ser entendida) como o programa deve funcionar. Para facilitar o entendimento, imaginemos o modelo como a “planta baixa” do programa. O modelo pode ser apresentado de várias formas, como diagramas ou fluxogramas ou documentos em linguagem descritiva.

Cliente: É quem apresenta o problema e quem “paga” pela solução. É um componente importante na programação, pois antes de tudo precisamos saber “como o cliente quer que o programa resolva o problema”. Usuário: É quem irá usar o programa a ser criado. Nem sempre o cliente e o

usuário são a mesma pessoa, por isso precisamos observar que o usuário em questão pode ser uma pessoa mais leiga, ou uma pessoa mais experiente ...

Analista: É quem entrevista o cliente, extrai os requisitos do programa, cria o MODELO do programa, 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 o pedreiro, que a partir da planta baixa (modelo), constrói as paredes, teto, instalação hidráulica, etc...

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

Linguagens mais utilizadas em automação industrial e mecatrônica : Linguagem Assembly : Utilizada para programar microprocessadores e microcontroladores. Possui poucos comandos e requer bastante conhecimento do programador para resolução de problemas mais complexos. Muito utilizada para construção de sistemas embarcados, como firmwares de equipamentos feitos em série e que exijam baixo custo e desempenho. Firmware é o software gravado em memória ROM que permite que um determinado sistema funcione. Linguagem C: Alternativa para uso no lugar da

linguagem Assembly,

permite maior produtividade

com reaproveitamento de código, e

maior portabilidade,

permitindo que menos mudanças sejam necessárias quando o programa deve ser adaptado a outra plataforma 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 paradigma lógico.

Grafcet ou SFC : Linguagem que permite expressar o programa através de máquinas de estado (como nos diagramas de Petri Net). É um paradigma intermediário entre o Lógico e o Imperativo.

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ável X

+ Adição NUM � X + 2 A variável NUM recebe o valor de X adicionado 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 5 dividido por 3

Arit

mét

ico

% Resto da divisã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) / 2 Estabelece que a soma será feito antes da divisão. Sem os parênteses, a divisão seria 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 igual a X ≥ 2

Retorna verdadeiro se X for maior ou igual a 2

Rel

acio

nais

≤≤≤≤ Menor ou igual a X ≤ 2

Retorna verdadeiro se X for menor ou igual a 2

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

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

Lógi

cos

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ão retornará falso.

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

FLUXOGRAMAS : REGRAS

Abaixo estão relacionadas as regras para os algorit mos (fluxogramas) que iremos interpretar e implementar.

1) Todo algoritmo deve possuir um INICIO.

2) A Terminação (FIM), conectores e o RETURN serão os únicos blocos que não possuirã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 de fluxo, 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 por outro, sem que as mesmas se cruzem.

7) Devemos, preferencialmente, escrever o algoritmo sempre da esquerda para direita, 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 única palavra, sem espaços, acentuação ou símbolos. O nome da variável deve começar necessariamente por uma letra, e pode ser seguida de letras e números.

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

SIMBOLOGIA BÁSICA PARA CONSTRUÇÃO DE DIAGRAMA DE BL OCOS (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 do processamento.

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) a execução continua do ponto de onde foi realizada a chamada.

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

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

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

SAÍDA VIA VÍDEO : Indica que um determinado dado será impresso em vídeo. Para escrever literais (textos) escreva o mesmo entre aspas duplas. Para escrever o conteú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á ser executado, geralmente implicando em manipulação de um canal de entrada e saída de dados.

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

1) O que melhor define PROGRAMAÇÃO ? a. ( ) Ato de escrever textos e documentos b. ( ) Utilizar um equipamento automatizado para realizar uma determinada tarefa c. ( ) Montar um computador, conhecendo todos os seus componentes de hardware d. ( ) Realizar a extração de requisitos a partir de um problema apresentado e. ( ) 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 programa b. ( ) Analisar se o programa criado está escrito corretamente. c. ( ) Escrever os programas a partir do modelo criado. d. ( ) Saber utilizar um determinado programa e. ( ) 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 criado b. ( ) É um documento que determina como o programa deve funcionar c. ( ) É o conjunto dos componentes de hardware onde o programa irá ser executado d. ( ) É 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 disquete b. ( ) Teclado, processador e vídeo c. ( ) Sensores, processamento e atuadores d. ( ) Cliente, programador e usuário e. ( ) Hardwre, software e algoritmo

5) Podemos afirmar que um algoritmo é ...

a. ( ) Um componente de hardware b. ( ) Uma operação aritmética c. ( ) Uma linguagem de programação muito eficiente d. ( ) Uma forma simplificada de escrever o modelo de um programa e. ( ) 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 setas de direção, similar ao representado na imagem ao lado ?

a. ( ) Fluxograma b. ( ) Diagrama de Chapin c. ( ) Descrição narrativa d. ( ) Pseudocódigo e. ( ) Português estruturado

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

a. ( ) Implementação do programa b. ( ) Construção do modelo c. ( ) Construção e montagem do conjunto de hardware d. ( ) Testes realizados ao final da programação e. ( ) 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 microcomputadores f. ( ) 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

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ção b) Sensor c) Atuador d) Constante e) 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 ?

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 o PICAXE, surgirá a tela ao lado. e em seguida será aberta uma área para trabalho no software com o nome Untitled1.

Para compor um fluxograma, clique no botão encontrado 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ão sempre que possível, pois o PICAXE pode travar ou f icar instável, e se você não salvar poderá perder seu programa, e ter que reescrevê-lo. COMO DECLARAR SENSORES, ATUADORES e VARIÁVEIS no PI CAXE. clique em FLOWCHART -> FLOWCHART SYMBOL TABLE E 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 atuadores digitais) 3 ) Declaração dos SENSORES (máximo de 8 sensores digitais) Troque o nome dos sensores, atuadores e variáveis, para facilitar a 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, podemos declarar o nome LED para output 0, MOTOR para output 1 e BOTAO para input 0. Veja como ficaria : Após declarar os sensores, atuadores e variáveis, você pode começar a escrever seu programa.

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

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

OU

Você deve clicar em , seguido de , clicar na área de escrita do 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, onde aparecerá o bloco ao lado. Para mudar o nome do atuador, observe no canto inferior esquerdo a presença de uma caixa que permite que você selecione um dos atuadores previamente cadastrados na tabela de símbolos (explicado anteriormente). TESTES (DECISÕES) O PICAXE supõe que testes só podem ser realizados em dois tipos de símbolos : os sensores e as variá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 a variá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 testar variáveis. Embora o PICAXE não permita, se você possuir variáveis com mesmos nomes de sensores, essa confusão pode acontecer.

ATUADOR �1 Liga ATUADOR

ATUADOR �0 Desliga ATUADOR

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 com as seguintes opções :

Usando a opção PAUSE, pode ser definido uma pausa, com valor expresso em milésimos de segundos. Por exemplo, se você inserir um PAUSE de 2500 unidades, o sistema, ao executar este bloco, ficará parado por dois segundos e meio. A opção WAIT permite realizar pausas em segundos. Já o comando SLEEP permite pausas de módulos de 2,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 item TESTES. 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 uma subrotina. 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 em FLOWCHART – 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 indicadores retangulares verdes, com números de 0 a 7, indicando 8 saídas digitais. A quantidade de saídas pode mudar conforme o 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, temos os sensores 2 e 6 acionados (foi clicado com o mouse).

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

Ao lado direito da janela, surgem as variáveis do sistema (b0 a b13). É recomendável que sejam renomeadas para facilitar o uso. Na parte superior da janela existem 4 campos para digitação numérica, de valores que podem variar de 0 a 255, 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 do programa (ou seja, simular o programa em funcionamento), é recomendado um valor mais baixo, ou mesmo o valor zero.

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 as condições abaixo foram atendidas para saber se o processo foi concluído com sucesso. a) Uma saída (cadastrada com o nome LED) irá ficar

piscando. b) Se a entrada (cadastrada como BOTAO) for acionada,

uma saída chamada MOTOR1 irá ser acionada e desativada 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 volta

a 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 atuador MOTOR acione somente se ambos os sensores (BOTAO1 e BOTAO2) estejam acionados.

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

14) Dado o diagrama de hardware e o fluxograma abai xo, 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 fique piscando. 15) Dado o diagrama da prensa ao lado, crie um algoritmo que proceda segundo os seguintes critérios, expressando-o em um fluxograma. � A prensa irá baixar se CIL_PRENSA for acionado, e recuar se CIL_PRENSA for desligado. � A morsa irá fechar se CIL_MORSA for acionado, e abrir se CIL_MORSA FOR desligado. � SENS_PECA indica se há ou não presença de peça no interior da morsa. � FIM_CURSO indica a posição máxima de fechamento da prensa. Se a prensa descer abaixo deste 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ções em 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, o sistema deve permanecer parado (a prensa não deve mais descer). Se os botões B1 e B2 forem liberados durante a descida da prensa, o movimento deve parar, e a prensa deve voltar a subir.

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

INICIO

ALIM <-- 0DESV1 <-- 0DESV2 <-- 0MOTOR <-- 0

SENSOR_ PECA = 1

S1 =1

S2 =1

S3 =1

DESV1<--1DESV2<--0

DESV1<--0DESV2<--1

DESV1<--0DESV2<--0

tem p o(5 00 0)

MOTOR <-- 1ALIM <--1

SIM

SIM

nã o

nã o

nã o

S IM

SIM

nã o

tem p o(1 00 0)

16) Observe o diagrama de hardware e o fluxograma a baixo.

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 o

fluxo 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 1 Peças médias : ( ) BOX 3 ( )BOX 2 ( ) BOX 1 Peç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 este método apresenta para esse tipo de equipamento ?

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

17) Analisando o fluxograma e o diagrama de hardwar e abaixo, responda as questões que seguem.

� 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. Associe corretamente as anotações que você julgar correspondente a cada botão. Observe que somente poderá ser colado 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)

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

18) A empresa ETAP SA. utiliza água para resfriamento d e algumas máquinas injetoras. Para esta função de resfriamento, é utilizada água de duas fontes distintas : Um poço artesiano e água da chuva. Como as máquinas que utilizam esta água não podem parar, a empresa desenvolveu um reservatório com capacidade de armazenar a água da chuva e dos poços artesianos. Um sistema automatizado mantém o nível do reservatório.

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

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

Observe o diagrama de hardware e o fluxograma desta automaçã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 quando este 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 ���� 0 BOMBA1 ���� 0 BOMBA2 ���� 0

NIVEL0 = 1

NIVEL1 = 1

NIVEL2 = 0

NIVEL3 = 0

V1 ���� 1

V1 ���� 0

BOMBA1 ���� 0 BOMBA2 ���� 0

BOMBA1 ���� 1

BOMBA2 ���� 1

sim

sim

sim

sim

não

não

não

não

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

19) Estufa

Xi Pan Zé, um técnico de automação industrial chinês, desenvolveu uma estufa automatizada para criação de chinchilas. A estufa era composta por um sistema de aquecimento elétrico por estufas de resistências, ventiladores para resfriamento, um sensor de temperatura e uma interface homem-máquina com um display do tipo LCD e dois botões do tipo PUSH BUTTON.

DIAGRAMA DE HARDWARE

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 se alterar 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 a temperatura definida de dois em dois graus, sendo que se uma das teclas “sobe” e “desce” ficar sendo pressionada, o valor irá aumentar ou diminuir continuamente (efeito de repetição de tecla). Em outras palavras, se o usuário pressionar a tecla sobe, a temperatura irá subir gradualmente até o valor limite, sem a necessidade de soltar e pressionar novamente a mesma tecla. Implemente estas modificações no fluxograma.

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

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

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 valor exibido no display se o veículo demorar 600 milésimos de segundos para percorrer a distância entre a BOBINA1 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 a BOBINA2, 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

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

INICIO

B1 = 1

ROT2

ROT1

NÃO

SIM

21) Olhando o diagrama e o fluxograma abaixo (um se máforo), responda as questões que seguem. a) Para que serve B1 neste sistema ? O que acontece com o semáforo quando este botão é acionado ? ............................................. ............................................. ............................................. b) Quais são as entradas (sensores) e as saídas (atuadores) deste sistema ? ............................................................................................................. ............................................................................................................. c) Levando em consideração que a subrotina tempo (implícita) causa um atraso no programa em milésimos de segundo, descreva o funcionamento deste semáforo. (seja claro, objetivo e procure a resposta mais completa possível.) ............................................................................................................. ............................................................................................................. ............................................................................................................. ............................................................................................................. d) Implemente este programa no simulador.

RO T2

VERMELHO1 <-- 1AMARELO1 <-- 0VERDE1 <-- 0

VERMELHO2 <-- 0AMARELO2 <-- 0VERDE2 <-- 1

VERDE2 <-- 0AMARELO2 <-- 1

TEMPO(45000)

TEMPO(15000)

RETO RNE

AMARELO2 <-- 0VERMELHO2 <-- 1

VERMELHO1 <-- 0VERDE1 <-- 1

VERDE1 <-- 0AMARELO1 <-- 1

TEMPO(45000)

TEMPO(15000)

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

22) Crie um programa que gere um seqüencial de 4 le ds, conforme movimentação de um potenciô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 com dois sentidos de rotação. b) Existem sensores que permitem identificar se a cancela está totalmente aberta ou totalmente fechada. c) Existe um semáforo, que identifica ao motorista se ele pode seguir ou se deve parar para esperar autorização do operador. d) O operador da cancela abre a mesma, autorizando a passagem de um veículo, através de um botão presente na cabine. e) Um sensor de barreira identifica se o veículo passou pela cancela. A cancela deve fechar automaticamente 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 do sensor, a cancela deve parar de fechar. g) Uma vez fechada a cancela, ela somente deverá ser aberta com a autorização do operador. -------------------------------------------------------------------------------------------------------------------------------

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

Responda (relativo ao exercício da cancela de pedág io) : 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 citadas anteriormente. ......................................................................................................................................................... ......................................................................................................................................................... 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 conforme o exemplo.

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

25) Dois botões (B1 e B2) estão ligados a um microc ontrolador, assim com dois leds L1 e L2. O objetivo é ligar o led L1 somente se ambos os botõe s estiverem pressionados. Enquanto o usuário não pressionar nenhum botão, ambos os leds devem es tar desligados. Se o usuário apertar somente um dos dois botões, somente o led L2 deverá ser aci onado. Construa o algoritmo para determinar este comportamento.

26) Para o hardware representado, crie programas que si gam 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 BOTAO seja pressionado novamente. Programa c) Se BOTAO for pressionado, o motor deve ser ligado, girando o disco 15 vezes. Caso BOTAO seja pressionado novamente durante a execução desta ação, o motor deve ser desligado, parando de girar o disco.

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

27) Uma máquina é utilizada para selar embalagens p lá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 um tempo de 5 segundos. � Caso as resistências não estejam devidamente aquecidas (termostato ativado), o sistema deve 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 condutor es (fios) para construção de chicotes elé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ções possíveis : Pedaços de 32 cm Pedaços de 40 cm Pedaços de 120 cm O perímetro do cilindro contador é de 8 cm, ou seja, a cada volta completa são ejetados 8 cm de fio. A máquina deve cortar automaticamente 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 c om que o sistema “ejete” 8 centímetros de fio, sem cortar. Escreva um programa que, usando a subrotina descrit a acima, realize a automação deste equipamento.

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

29) Para o hardware apresentado, similar ao problem a 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 RESET PARCIAL, o contador parcial deve ser “zerado”. Cada peça que passar pelo sensor deve ser contabilizada no contador parcial e no geral. Observe que sempre cairá uma peça por vez, mas esta pode ter dimensões diferentes, podendo levar mais ou menos tempo para passar pelo sensor.

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

31) Sistema de alarme residencial. – Observando o l ayout 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 o funcionamento do alarme. Lembre que a chave de arme e desarme do alarme está no interior da casa. Desta forma, o sistema deve “dar um tempo” para que a pessoa que ligou o sistema possa sair da casa, caso ela deseje sair. Lembre, também, que o sistema deve permitir que o usuário consiga desligar a chave do sistema de alarme após entrar na casa pela porta, evitando que o alarme dispare. Se a janela for aberta com o alarme 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 ser apagados caso o alarme seja acionado novamente.

Para orientar a construção de seu programa, realize (após elaborar o fluxograma) testes, observando diversas 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 porta 0 = porta aberta 1 = porta fechada

Sensor da janela 0 = janela aberta 1 = janela fechada

Chave do alarme 0 = alarme ligado 1 = alarme desligado

Sirene 0 = sirene parada 1 = Sirene tocando

Led da porta 0 = porta ok 1 = disparou pela porta

Led da janela 0 = janela ok 1 = disparou pela janela

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

32) Crie um programa que realize a automação do por tã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 fechamento somente 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 determinado período de tempo (aprox. 15 segs.)

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 definido pela 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.

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

35) Caso o botão DIR seja pressionado, deve ser inciado um processo de acionamento em seqüência das bobinas B1, B2, B3, B4, B1, B2, B3, B4, ... (uma de cada vez, permanecendo acionada por 100 ms cada) fazendo com que o motor de passo gire 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.

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.

´

Entradas Elemento Descrição

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

S1 Sensor ótico de identificação de peças antes do batente

S2 Sensor ótico na rampa das peças metálicas

S3 Sensor ótico na rampa das peças plásticas

BT1 Botão de Start

Saídas Elemento Descrição

EST Esteira transportadora BTE Batente expulsador

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 foram instalados internamente na estufa dois sensores de temperatura (termostatos). O funcionamento dos termostatos é 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.

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ão em 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.

Entradas Elemento Descrição

a Sensor de nível de água b Sensor de nível de água c Sensor de nível de água d Sensor de nível de água

Saídas Elemento Descrição

P Válvula de entrada de água M1 Bomba de sucção de água M2 Bomba de sucção de água AL Alarme sonoro

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

40) Automatizar um sistema de furação em uma mesa g irató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ício Atuadores: 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ça cilíndrica, presente na posição inicial. Através do cilindro de teste, poderá ser verificado 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 na furação, a peça deverá estar na posição final (270º após a posição inicial).

D1

D

D3

D4

A2

A3

A4

A5

A1

posição inicial

D0

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 cilindro correspondente 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 esteira deverá 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

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 o botão B1 é acionado e, enquanto a esteira estiver ligada, podem passar quantas garrafas o operador desejar. O processo é 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 operador digitar o tipo de garrafa: “1” para pequenas, “2” para médias e “3” para grandes. Assim, por exemplo, se o operador selecionou garrafas grandes e no meio do processo uma garrafa pequena ou média for detectada, a esteira 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

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 indexadora acionadas. Ao realizar o procedimento de furação, a peça deve estar travada (indexador).