Lista de Exercícios Algoritmos
Transcrição
Lista de Exercícios Algoritmos
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 Operado Descrição r Tipo NUM X + Adição NUM X + 2 * Subtração Multiplicação XY-2 X3*G / Divisão S5/3 % Resto divisão Aritmético Atribuição Relacionais da S9%2 ( ) X (3+7) / 2 X=2 X≠2 X>2 X<2 ≤ Igual Diferente Maior que Menor que Maior ou igual a Menor ou igual a e E X>0eY>0 ou OU X >0 ou Y >0 não Negação não (x > 0) Prioridade Lógicos Exemplo = ≠ > < ≥ X≥2 X≤2 A variável NUM recebe o valor da variável X A variável NUM recebe o valor de X adicionado em 2 A variável X recebe o valor de Y menos 2 A variável X recebe o triplo de G A variável S recebe o resultado de 5 dividido por 3 A variável S recebe o resto da divisão de 9 por 2 (portanto, S receberá 1) Estabelece que a soma será feito antes da divisão. Sem os parênteses, a divisão seria feita antes da soma. Retorna verdadeiro se X for 2 Retorna verdadeiro se X for diferente de 2 Retorna verdadeiro se X for maior que 2 Retorna verdadeiro se X for menor que 2 Retorna verdadeiro se X for maior ou igual a2 Retorna verdadeiro se X for menor ou igual a 2 Retorna verdadeiro somente se X e Y forem positivos Retorna verdadeiro se X for positivo ou se Y for positivo 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 algoritmos (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 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 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) b) c) d) e) Instrução Sensor Atuador Constante 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 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 ficar 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 PICAXE. 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. 2 3 1 COMPUTAÇÃO – Algoritmos. Pág 11 / 38 ACIONAMENTO Para ativar uma saída, ou seja, para gerar ações correspondentes a ATUADOR 1 OULiga ATUADOR 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 ATUADOR 0 seguido de Clique em aparecerá o bloco ao lado. OU Desliga ATUADOR , e após clique na área de escrita do fluxograma, onde 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. COMPUTAÇÃO – Algoritmos. Pág 12 / 38 Temporização Para inserir um bloco de tempo, use o recurso DELAY, clicando no botão as seguintes opções : . Deve surgir uma barra com 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 VIEWOPTIONS. 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) b) c) d) 12) Uma saída (cadastrada com o nome LED) irá ficar piscando. 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. Outras saídas aqui não descritas não são acionadas. Outras entradas aqui não descritas não geram nenhum efeito sobre o programa. Dado o fluxograma abaixo: 1) 2) 3) Ao iniciar a simulação, a saída LED irá piscar. Ao se pressionar e soltar o botão pela primeira vez, o programa para de piscar. Ao se acionar novamente o botão, o LED volta a piscar. 13) mplem 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. Dado o fluxograma abaixo: I COMPUTAÇÃO – Algoritmos. 14) Pág 15 / 38 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 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 16) Observe o diagrama de hardware e o fluxograma abaixo. INI CIO A LIM <-- 0 DES V 1 < -- 0 DES V 2 < -- 0 MO TO R < -- 0 tem p o(1 00 0) nã o S E NS OR_ P ECA = 1 SI M MO TO R < -- 1 A LIM <--1 S IM S1 =1 DES V 1< --1 DES V 2< --0 nã o S IM S2 =1 DES V 1< --0 DES V 2< --1 A) Quais são os sensores deste sistema ? ........................................................................ ........................................................................ nã o nã o SI M S3 =1 DES V 1< --0 DES V 2< --0 B) Quais são os atuadores deste sistema ? ........................................................................ tem p o(5 00 0) ( ( ( ( ( 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 Peças médias : ( ) BOX 3 ( )BOX 2 Peças altas : ( ) BOX 3 ( )BOX 2 ( ) BOX 1 ( ) BOX 1 ( ) 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 hardware 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 (B) Gerar solução muito ácida (C) Gerar solução alcalina (básica) (D) Limpar a caixa (E) Ligar o agitador (F) Gerar solução neutra ( ) B1 ( ) B2 ( ) B3 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 de algumas máquinas injetoras. 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. Para 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. INICIO Observe o diagrama de hardware e o fluxograma desta automação. V1 0 BOMBA1 0 BOMBA2 0 Responda as questões abaixo. 1) Quais os sensores do sistema ? .......................................................................... .......................................................................... NIVEL0 = 1 sim V1 1 não 2) Na sua opinião, algum destes sensores é analógico ? .......................................................................... .......................................................................... V1 0 3) Quais os atuadores do sistema ? .......................................................................... .......................................................................... 4) A caixa d’água corre o risco de transbordar ? Explique ... NIVEL1 = 1 sim BOMBA1 0 BOMBA2 0 não 5) Em que situação a bomba 1 será ativada ? .......................................................................... .......................................................................... NIVEL2 = 0 sim BOMBA1 1 não NIVEL3 = 0 6) Em que situação a bomba 2 será ativada ? ..................................................................................... .................................................................................................... sim BOMBA2 1 7) As bombas irão apresentar um mesmo desgaste ? Porque ? .................................................................................................... ................................................ não 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. COMPUTAÇÃO – Algoritmos. 19) Estufa Pág 19 / 38 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 homemmá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. 20) Pág 21 / 38 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 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 21) Olhando o diagrama e o fluxograma abaixo (um semáforo), responda as questões que seguem. INICIO RO T2 a) Para que serve B1 neste sistema ? O que acontece com o semáforo quando este botão é acionado ? B1 = 1 ............................................. NÃO ............................................. SIM ROT1 VERMELHO1 <-- 1 AMARELO1 <-- 0 VERDE1 <-- 0 VERMELHO2 <-- 0 AMARELO2 <-- 0 VERDE2 <-- 1 ROT2 TEMPO(45000) ............................................. b) Quais são as entradas (sensores) e as saídas (atuadores) deste sistema ? ............................................................. ................................................ VERDE2 <-- 0 AMARELO2 <-- 1 ............................................................. ................................................ AMARELO2 <-- 0 VERMELHO2 <-- 1 VERMELHO1 <-- 0 VERDE1 <-- 1 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.) TEMPO(15000) TEMPO(45000) VERDE1 <-- 0 AMARELO1 <-- 1 ............................................................................................................. ............................................................................................................. ............................................................................................................. ............................................................................................................. d) Implemente este programa no simulador. TEMPO(15000) R E TO RNE COMPUTAÇÃO – Algoritmos. Pág 23 / 38 22) Crie um programa que gere um seqüencial de 4 leds, 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á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 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 microcontrolador, assim com dois leds L1 e L2. O objetivo é ligar o led L1 somente se ambos os botões estiverem pressionados. Enquanto o usuário não pressionar nenhum botão, ambos os leds devem estar desligados. Se o usuário apertar somente um dos dois botões, somente o led L2 deverá ser acionado. Construa o algoritmo para determinar este 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 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 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 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 condutores (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 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 deste equipamento. COMPUTAÇÃO – Algoritmos. 29) Pág 27 / 38 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 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. 31) Pág 28 / 38 Sistema de alarme residencial. – Observando o layout de hardware abaixo : a) De nome aos sensores e atuadores, preenchendo a tabela abaixo. 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 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 2 3 4 5 6 – – – – – – A pessoa liga o alarme com a porta aberta. A pessoa liga o alarme com a janela aberta. A pessoa liga o alarme, mas não sai de casa (não abre a porta). A pessoa liga o alarme, sai de casa, mas outra pessoa dentro da casa desliga o alarme. Um ladrão abre a porta, entra na casa e fecha a porta. O alarme é ligado, e desligado logo em seguida. (esse procedimento de teste no planejamento do programa é chamado de “teste de mesa.”) COMPUTAÇÃO – Algoritmos. 32) Pág 29 / 38 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 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 plantas sem solo, onde as recebem uma solução balanceada que contém água nutrientes essenciais ao desenvolvimento da planta. A palavra hidroponia vem do radicais hydro = água e ponos Apesar de ser uma técnica relativamente antiga, o termo só foi utilizado pela primeira 1935 pelo Dr. W. F. Gericke Universidade da Califórnia." cultivar raízes nutritiva e todos os [...] grego, dos = trabalho. hidroponia vez em da (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 acionandose 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 Elemento P M1 M2 AL Saídas Descrição Válvula de entrada de água Bomba de sucção de água Bomba de sucção de água Alarme sonoro COMPUTAÇÃO – Algoritmos. Pág 35 / 38 40) Automatizar um sistema de furação em uma mesa giratória D4 D0 A2 D1 A3 A4 A1 D A5 D3 posição inicial 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). 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).