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).