SlideShare una empresa de Scribd logo
1 de 38
Descargar para leer sin conexión
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

Exemplo

Atribuição

NUM

X
X+2

Adição

NUM

*

Subtração
Multiplicação

X
X

Y-2
3*G

/

Divisão

S

5/3

%

Resto
divisão

S

9%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

Aritmético

+

OU

X >0 ou Y >0

não

Negação

não (x > 0)

Lógicos

Relacionais

Prioridade
=
≠
>
<
≥

da

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)

Dado o fluxograma abaixo:

I
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.
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
V1

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

0

3) Quais os atuadores do sistema ?
..........................................................................
..........................................................................
4) A caixa d’água corre o risco de transbordar ? Explique ...

NIVEL1 = 1

sim

BOMBA1
BOMBA2

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

Más contenido relacionado

La actualidad más candente

Banco de dados exercícios resolvidos
Banco de dados exercícios resolvidosBanco de dados exercícios resolvidos
Banco de dados exercícios resolvidosGleydson Sousa
 
Organização de computadores
Organização de computadoresOrganização de computadores
Organização de computadoresKaren Costa
 
Lista de exercicios algoritmos com pseudocodigo
Lista de exercicios   algoritmos com pseudocodigoLista de exercicios   algoritmos com pseudocodigo
Lista de exercicios algoritmos com pseudocodigoMauro Pereira
 
Questões de provas e simulados probabilidade e estatística junho 2014
Questões de provas e simulados probabilidade e estatística junho 2014Questões de provas e simulados probabilidade e estatística junho 2014
Questões de provas e simulados probabilidade e estatística junho 2014Nina Silva
 
Aula Lógica de Programação - cap1
Aula Lógica de Programação - cap1 Aula Lógica de Programação - cap1
Aula Lógica de Programação - cap1 Cloves da Rocha
 
Exercicios resolvidos visu alg vetores
Exercicios resolvidos visu alg vetoresExercicios resolvidos visu alg vetores
Exercicios resolvidos visu alg vetoresWillians Miyabara
 
Linguagem C - Funções e ponteiros
Linguagem C - Funções e ponteiros Linguagem C - Funções e ponteiros
Linguagem C - Funções e ponteiros Karoline Tavares
 
Material de Apoio de Algoritmo e Lógica de Programação
Material de Apoio de Algoritmo e Lógica de ProgramaçãoMaterial de Apoio de Algoritmo e Lógica de Programação
Material de Apoio de Algoritmo e Lógica de Programaçãorodfernandes
 
Lógica de programação em ppt
Lógica de programação em pptLógica de programação em ppt
Lógica de programação em pptAndrei Bastos
 
Lista de exercicios algoritmos resolvida-
Lista de exercicios   algoritmos  resolvida-Lista de exercicios   algoritmos  resolvida-
Lista de exercicios algoritmos resolvida-Mauro Pereira
 
Guia prático para criar algoritmos
Guia prático para criar algoritmosGuia prático para criar algoritmos
Guia prático para criar algoritmosMauro Pereira
 
Algoritmos e Estrutura de Dados - Aula 01
Algoritmos e Estrutura de Dados - Aula 01Algoritmos e Estrutura de Dados - Aula 01
Algoritmos e Estrutura de Dados - Aula 01thomasdacosta
 
Algoritmos e Técnicas de Programação - Aula 01
Algoritmos e Técnicas de Programação - Aula 01Algoritmos e Técnicas de Programação - Aula 01
Algoritmos e Técnicas de Programação - Aula 01thomasdacosta
 
Lista de exercícios em portugol
Lista de exercícios em portugolLista de exercícios em portugol
Lista de exercícios em portugolGabriel Faustino
 
Linguagem C 01 Primeiros Passos
Linguagem C 01 Primeiros PassosLinguagem C 01 Primeiros Passos
Linguagem C 01 Primeiros PassosRegis Magalhães
 
Programação orientada a objetos
Programação orientada a objetosProgramação orientada a objetos
Programação orientada a objetosCleyton Ferrari
 
Aula 1 - Introdução a POO
Aula 1 -  Introdução a POOAula 1 -  Introdução a POO
Aula 1 - Introdução a POODaniel Brandão
 

La actualidad más candente (20)

Banco de dados exercícios resolvidos
Banco de dados exercícios resolvidosBanco de dados exercícios resolvidos
Banco de dados exercícios resolvidos
 
Organização de computadores
Organização de computadoresOrganização de computadores
Organização de computadores
 
Lista de exercicios algoritmos com pseudocodigo
Lista de exercicios   algoritmos com pseudocodigoLista de exercicios   algoritmos com pseudocodigo
Lista de exercicios algoritmos com pseudocodigo
 
Questões de provas e simulados probabilidade e estatística junho 2014
Questões de provas e simulados probabilidade e estatística junho 2014Questões de provas e simulados probabilidade e estatística junho 2014
Questões de provas e simulados probabilidade e estatística junho 2014
 
Aula Lógica de Programação - cap1
Aula Lógica de Programação - cap1 Aula Lógica de Programação - cap1
Aula Lógica de Programação - cap1
 
Exercicios resolvidos visu alg vetores
Exercicios resolvidos visu alg vetoresExercicios resolvidos visu alg vetores
Exercicios resolvidos visu alg vetores
 
1ª lista de_algoritmos
1ª lista de_algoritmos1ª lista de_algoritmos
1ª lista de_algoritmos
 
Variáveis e portugol
Variáveis e portugolVariáveis e portugol
Variáveis e portugol
 
Linguagem C - Funções e ponteiros
Linguagem C - Funções e ponteiros Linguagem C - Funções e ponteiros
Linguagem C - Funções e ponteiros
 
Material de Apoio de Algoritmo e Lógica de Programação
Material de Apoio de Algoritmo e Lógica de ProgramaçãoMaterial de Apoio de Algoritmo e Lógica de Programação
Material de Apoio de Algoritmo e Lógica de Programação
 
Lógica de programação em ppt
Lógica de programação em pptLógica de programação em ppt
Lógica de programação em ppt
 
Lista de exercicios algoritmos resolvida-
Lista de exercicios   algoritmos  resolvida-Lista de exercicios   algoritmos  resolvida-
Lista de exercicios algoritmos resolvida-
 
Algoritmo aula 01-f
Algoritmo   aula 01-fAlgoritmo   aula 01-f
Algoritmo aula 01-f
 
Guia prático para criar algoritmos
Guia prático para criar algoritmosGuia prático para criar algoritmos
Guia prático para criar algoritmos
 
Algoritmos e Estrutura de Dados - Aula 01
Algoritmos e Estrutura de Dados - Aula 01Algoritmos e Estrutura de Dados - Aula 01
Algoritmos e Estrutura de Dados - Aula 01
 
Algoritmos e Técnicas de Programação - Aula 01
Algoritmos e Técnicas de Programação - Aula 01Algoritmos e Técnicas de Programação - Aula 01
Algoritmos e Técnicas de Programação - Aula 01
 
Lista de exercícios em portugol
Lista de exercícios em portugolLista de exercícios em portugol
Lista de exercícios em portugol
 
Linguagem C 01 Primeiros Passos
Linguagem C 01 Primeiros PassosLinguagem C 01 Primeiros Passos
Linguagem C 01 Primeiros Passos
 
Programação orientada a objetos
Programação orientada a objetosProgramação orientada a objetos
Programação orientada a objetos
 
Aula 1 - Introdução a POO
Aula 1 -  Introdução a POOAula 1 -  Introdução a POO
Aula 1 - Introdução a POO
 

Destacado

Lista de Exercícios Algoritmos Semana 03
Lista de Exercícios Algoritmos Semana 03Lista de Exercícios Algoritmos Semana 03
Lista de Exercícios Algoritmos Semana 03Eder Samaniego
 
Automacao De Esteira Transportora2
Automacao De Esteira Transportora2Automacao De Esteira Transportora2
Automacao De Esteira Transportora2Lucas Peng  
 
Algoritmos - Formas de Representação de Algoritmos
Algoritmos - Formas de Representação de AlgoritmosAlgoritmos - Formas de Representação de Algoritmos
Algoritmos - Formas de Representação de AlgoritmosElaine Cecília Gatto
 
Apostila de automação com clp em linguagem ladder
Apostila de automação com clp em linguagem ladderApostila de automação com clp em linguagem ladder
Apostila de automação com clp em linguagem laddermarv2
 
Automação ind 2_2014
Automação ind 2_2014Automação ind 2_2014
Automação ind 2_2014Marcio Oliani
 
50978145 algoritmos-exercicios-resolvidos
50978145 algoritmos-exercicios-resolvidos50978145 algoritmos-exercicios-resolvidos
50978145 algoritmos-exercicios-resolvidosEdvan Mateó
 
Elevador didático de 5 andares
Elevador didático de 5 andaresElevador didático de 5 andares
Elevador didático de 5 andaresdarosajoseluiz
 
Apresentação sensor de estacionamento
Apresentação sensor de estacionamentoApresentação sensor de estacionamento
Apresentação sensor de estacionamentoMárcio Cirne
 
Logica Algoritmo 02 Algoritmo
Logica Algoritmo 02 AlgoritmoLogica Algoritmo 02 Algoritmo
Logica Algoritmo 02 AlgoritmoRegis Magalhães
 
Introdução a Algoritmos: Conceitos Básicos
Introdução a Algoritmos: Conceitos BásicosIntrodução a Algoritmos: Conceitos Básicos
Introdução a Algoritmos: Conceitos BásicosElaine Cecília Gatto
 
Apostila clp (conceitos básicos)
Apostila clp (conceitos básicos)Apostila clp (conceitos básicos)
Apostila clp (conceitos básicos)jastro1984
 

Destacado (20)

Lista de Exercícios Algoritmos Semana 03
Lista de Exercícios Algoritmos Semana 03Lista de Exercícios Algoritmos Semana 03
Lista de Exercícios Algoritmos Semana 03
 
Clp
ClpClp
Clp
 
Automacao De Esteira Transportora2
Automacao De Esteira Transportora2Automacao De Esteira Transportora2
Automacao De Esteira Transportora2
 
Algoritmos - Formas de Representação de Algoritmos
Algoritmos - Formas de Representação de AlgoritmosAlgoritmos - Formas de Representação de Algoritmos
Algoritmos - Formas de Representação de Algoritmos
 
Apostila de automação com clp em linguagem ladder
Apostila de automação com clp em linguagem ladderApostila de automação com clp em linguagem ladder
Apostila de automação com clp em linguagem ladder
 
Curso de plc avancado
Curso de plc  avancadoCurso de plc  avancado
Curso de plc avancado
 
Automação ind 2_2014
Automação ind 2_2014Automação ind 2_2014
Automação ind 2_2014
 
Lista algoritmos 1
Lista algoritmos 1Lista algoritmos 1
Lista algoritmos 1
 
Artigo final 2
Artigo final 2Artigo final 2
Artigo final 2
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
50978145 algoritmos-exercicios-resolvidos
50978145 algoritmos-exercicios-resolvidos50978145 algoritmos-exercicios-resolvidos
50978145 algoritmos-exercicios-resolvidos
 
Elevador didático de 5 andares
Elevador didático de 5 andaresElevador didático de 5 andares
Elevador didático de 5 andares
 
Apresentação sensor de estacionamento
Apresentação sensor de estacionamentoApresentação sensor de estacionamento
Apresentação sensor de estacionamento
 
Logica Algoritmo 02 Algoritmo
Logica Algoritmo 02 AlgoritmoLogica Algoritmo 02 Algoritmo
Logica Algoritmo 02 Algoritmo
 
Aula 6 - Constantes e variáveis
Aula 6 - Constantes e variáveisAula 6 - Constantes e variáveis
Aula 6 - Constantes e variáveis
 
Algoritmos: Variáveis e Constantes
Algoritmos: Variáveis e ConstantesAlgoritmos: Variáveis e Constantes
Algoritmos: Variáveis e Constantes
 
Introdução a Algoritmos: Conceitos Básicos
Introdução a Algoritmos: Conceitos BásicosIntrodução a Algoritmos: Conceitos Básicos
Introdução a Algoritmos: Conceitos Básicos
 
Algoritmos: Tipos de Dados
Algoritmos: Tipos de DadosAlgoritmos: Tipos de Dados
Algoritmos: Tipos de Dados
 
Endereçamento de memória
Endereçamento de memóriaEndereçamento de memória
Endereçamento de memória
 
Apostila clp (conceitos básicos)
Apostila clp (conceitos básicos)Apostila clp (conceitos básicos)
Apostila clp (conceitos básicos)
 

Similar a Lista exercicios algoritmos

Linguagem de programação
Linguagem de programaçãoLinguagem de programação
Linguagem de programaçãoSandro Lopes
 
mod1-algoritmia
mod1-algoritmiamod1-algoritmia
mod1-algoritmiadiogoa21
 
Linguágens de programação
Linguágens de programaçãoLinguágens de programação
Linguágens de programaçãoAlbertoVach
 
Introdução à programação
Introdução à programaçãoIntrodução à programação
Introdução à programação12anogolega
 
Algoritmos - Aula 02 - Construcao de algoritmos
Algoritmos - Aula 02 - Construcao de algoritmosAlgoritmos - Aula 02 - Construcao de algoritmos
Algoritmos - Aula 02 - Construcao de algoritmosRodrigo Kiyoshi Saito
 
Algoritmo estruturado
Algoritmo estruturadoAlgoritmo estruturado
Algoritmo estruturadodasko
 
Módulo 5 Arquitetura de Computadores
Módulo 5 Arquitetura de ComputadoresMódulo 5 Arquitetura de Computadores
Módulo 5 Arquitetura de ComputadoresLuis Ferreira
 
Apostila de algoritimos
Apostila de algoritimosApostila de algoritimos
Apostila de algoritimosCleide Soares
 
Aula 8 - Modularização e Funções.pptx
Aula 8 - Modularização e Funções.pptxAula 8 - Modularização e Funções.pptx
Aula 8 - Modularização e Funções.pptxItamarGoncalves2
 
Aula 2 - Introducao e Algoritmos.ppt
Aula 2 - Introducao e Algoritmos.pptAula 2 - Introducao e Algoritmos.ppt
Aula 2 - Introducao e Algoritmos.pptJadna Almeida
 
Linguagem c wellington telles - aula 01
Linguagem c   wellington telles - aula 01Linguagem c   wellington telles - aula 01
Linguagem c wellington telles - aula 01profwtelles
 

Similar a Lista exercicios algoritmos (20)

Linguagem de programação
Linguagem de programaçãoLinguagem de programação
Linguagem de programação
 
mod1-algoritmia
mod1-algoritmiamod1-algoritmia
mod1-algoritmia
 
Linguágens de programação
Linguágens de programaçãoLinguágens de programação
Linguágens de programação
 
Introdução à programação
Introdução à programaçãoIntrodução à programação
Introdução à programação
 
Linguagem da programação
Linguagem da programaçãoLinguagem da programação
Linguagem da programação
 
Linguagem da programação
Linguagem da programaçãoLinguagem da programação
Linguagem da programação
 
Algoritmos - Aula 02 - Construcao de algoritmos
Algoritmos - Aula 02 - Construcao de algoritmosAlgoritmos - Aula 02 - Construcao de algoritmos
Algoritmos - Aula 02 - Construcao de algoritmos
 
Algoritmo estruturado
Algoritmo estruturadoAlgoritmo estruturado
Algoritmo estruturado
 
Cap03
Cap03Cap03
Cap03
 
Cap03
Cap03Cap03
Cap03
 
Cap03
Cap03Cap03
Cap03
 
Módulo 5 Arquitetura de Computadores
Módulo 5 Arquitetura de ComputadoresMódulo 5 Arquitetura de Computadores
Módulo 5 Arquitetura de Computadores
 
Apostila de algoritimos
Apostila de algoritimosApostila de algoritimos
Apostila de algoritimos
 
Aula 8 - Modularização e Funções.pptx
Aula 8 - Modularização e Funções.pptxAula 8 - Modularização e Funções.pptx
Aula 8 - Modularização e Funções.pptx
 
Aula 2 - Introducao e Algoritmos.ppt
Aula 2 - Introducao e Algoritmos.pptAula 2 - Introducao e Algoritmos.ppt
Aula 2 - Introducao e Algoritmos.ppt
 
Cap02
Cap02Cap02
Cap02
 
Cap02
Cap02Cap02
Cap02
 
Cap02
Cap02Cap02
Cap02
 
Linguagem c wellington telles - aula 01
Linguagem c   wellington telles - aula 01Linguagem c   wellington telles - aula 01
Linguagem c wellington telles - aula 01
 
Manual robotec
Manual robotecManual robotec
Manual robotec
 

Lista exercicios algoritmos

  • 1. COMPUTAÇÃO – Algoritmos. Pág 1 / 38 Lista de Exercícios Algoritmos
  • 2. 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.
  • 3. 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...
  • 4. 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.
  • 5. COMPUTAÇÃO – Algoritmos. Pág 5 / 38 ALGORITMOS: OPERADORES Operado Descrição r Tipo Exemplo Atribuição NUM X X+2 Adição NUM * Subtração Multiplicação X X Y-2 3*G / Divisão S 5/3 % Resto divisão S 9%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 Aritmético + OU X >0 ou Y >0 não Negação não (x > 0) Lógicos Relacionais Prioridade = ≠ > < ≥ da 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.
  • 6. 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.
  • 7. 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.
  • 8. 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
  • 9. 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 ?
  • 10. 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
  • 11. 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.
  • 12. 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).
  • 13. 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.
  • 14. 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) Dado o fluxograma abaixo: I 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.
  • 15. 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.
  • 16. 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 ?
  • 17. 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)
  • 18. 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 V1 2) Na sua opinião, algum destes sensores é analógico ? .......................................................................... .......................................................................... 0 3) Quais os atuadores do sistema ? .......................................................................... .......................................................................... 4) A caixa d’água corre o risco de transbordar ? Explique ... NIVEL1 = 1 sim BOMBA1 BOMBA2 0 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.
  • 19. 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
  • 20. 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.
  • 21. 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
  • 22. 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
  • 23. 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. -------------------------------------------------------------------------------------------------------------------------------
  • 24. 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.
  • 25. 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.
  • 26. 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.
  • 27. 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.
  • 28. 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.”)
  • 29. 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.)
  • 30. 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.
  • 31. 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.
  • 32. 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 ´
  • 33. 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.
  • 34. 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
  • 35. 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).
  • 36. 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
  • 37. 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
  • 38. COMPUTAÇÃO – Algoritmos. Pág 38 / 38 43) Estação de Furação Especificação do programa : Uma peça será colocada pelo usuário na posição de entrada, sobre o sensor A4. O sistema deverá testar a peça, verificando se a mesma está furada. Caso a peça não esteja furada, ela deverá ser furada na torre de furação. Finalmente a peça processada ficará aguardando sua retirada na posição sobre o sensor A5. Obs: A mesa não deve girar com a furadeira abaixada ou com as bobinas de teste e indexadora acionadas. Ao realizar o procedimento de furação, a peça deve estar travada (indexador).