Você está na página 1de 45

Microcontroladores

Programação: fluxogramas,
pseudocódigos e lógica
Prof. Daniel

1
• Introdução
• Algoritmos
• Fluxograma
• Constantes e variáveis
• Operadores
• Declarações de Controle
• Exercícios

2
Introdução
• Lógica de programação:
– Técnica para gerar uma determinada sequência de
atividades para atingir um determinado objetivo;
• Sequência Lógica:
– São os diferentes passos ou instruções para solucionar um
problema;
• Instruções:
– São um conjunto de regras ou normas definidas para
realização de uma atividade. É uma ação elementar
executada pelo computador;

3
Algoritmos
• Algoritmos é uma maneira de formalizar uma
sequência de passos para execução de uma
atividade.
• A formalização é necessária para que diferentes
pessoas possam entender e repetir os passos para
chegar a solução do problema;
• Ex.:
– Executar a operação de soma em uma calculadora;
– Fazer uma transferência bancária;
– Ajustar o horário no celular;
– Programar um DVD para gravar um programa;

4
Algoritmos
• EXERCÍCIO 1:
– Descreva passo a passo como você faria para obter a
média de três números a seguir em sua calculadora;

MEDIA = 12 + 6 + 9
3

5
Fluxograma
• Para representar graficamente um algoritmo
utilizaremos o fluxograma;
• Um fluxograma é a representação das diferentes
etapas de um processo através de elementos gráficos
ligados conforme a lógica de programação;
• Simbologia
Símbolo Função
Início ou Fim de um algoritmo

Processamento geral

Decisão

6
Fluxograma
• EXERCÍCIO 2:
– Implemente em um fluxograma o algoritmo do cálculo da
média de três números a seguir em sua calculadora do
exercício anterior;

7
Constantes e variáveis
• Identificadores: São nomes arbitrários dados as
funções, variáveis, constantes. Os identificadores
podem ser1 letras de A à Z, números de 0 à 9 e
“_“(underline). Não pode começar com número.
– Exemplos:
• Temperatura_media
• Temp
• _T1

1 – Depende de cada compilador 8


Constantes e variáveis
• Constantes: são elementos que tem um valor fixo,
não podendo ser mudados durante a execução do
programa;
– Exemplo: π = 3,1415927.... Em vez de escrever toda vez o
número podemos nomear uma constante PI = 3,1415927 e
durante programa utilizar PI;
• Variáveis: são elementos que permitem a alteração
do seu valor durante a execução do programa. É
recomendável que no início do programa seja
atribuído um valor inicial a elas, que elas sejam
inicializadas;
– Exemplo: Calcule consumo médio de combustível de um
automóvel. CONSUMO= KM/L
9
Constantes e variáveis
• EXERCÍCIO 3:
– Para preparar uma salada de frutas, um cozinheiro foi
comprar 4 frutas, onde cada fruta tem seu preço e a
quantidade que o cozinheiro precisa descrito na tabela a
seguir. Monte um algoritmo que calcule quanto ele terá
que pagar por cada fruta e o valor total da despesa;

FR1 FR2 FR3 FR4


Preço por 1,30 1,90 4,50 0,98
kg(R$)
Peso (kg) 2,5 1,3 0,6 3,8

Observar a utilização de constantes e variáveis


10
Constantes e variáveis
• EXERCÍCIO 3:

11
Operadores
• Operador é um símbolo que faz com que
compilador execute alguma operação matemática ou
lógica;
• Os principais operadores são aritméticos, de relação,
lógicos e bit a bit;
• A seguir serão apresentados os principais elementos
de cada operador. Este tópico será visto em maiores
detalhes na linguagem de programação aplicado
diretamente ao compilador utilizado;

12
Operadores
• Operador Aritmético

Operador Operação realizada


+ Soma

- Subtração

* Multiplicação

/ Divisão

% Resto da divisão

++ Incremento

-- Decremento

13
Operadores
• Operador de Relação: eles testam as relações nas
expressões. Seu resultado é 1 se for verdadeiro ou 0
se for falso;
Operador Operação realizada
== Igual a

!= Não igual a

> Maior que

< Menor que

>= Maior ou igual a

<= Menor ou igual a

14
Operadores
• Exemplos de Operador de Relação:
• 4 = = 3; retorna 0 - FALSO
• 3 = = 3; retorna 1 - VERDADEIRO
• 7 > = 3; retorna 1 – VERDADEIRO
• 4 < = 3; retorna 0 - FALSO
• 4 ! = 3; retorna 1 – VERDADEIRO
• 4 > 3; retorna 1 – VERDADEIRO

15
Operadores
• Operadores lógicos: realizam operações lógicas nas
expressões. Os operandos são considerados
verdadeiros(1) ou falsos(0). Seu resultado é 1 se for
verdadeiro ou 0 se for falso;

Operador Operação realizada


&& AND

|| OR

! NOT (Negado)

16
Operadores
• Exemplos de Operador Lógico:
a) (3 > 1) & & (2= = 2);
1 & & 1; resulta em 1 - verdadeiro

b) (3 > 7) | | (2= = 2);


0 | | 1 ; resulta em 1 - verdadeiro

c) !{(3 > 1) & & (2= = 2)} ;


!{ 1 & & 1};
!{ 1} ; - resulta em 0 - falso

17
Operadores
• Operadores Bit a Bit: eles testam as relações dos
operadores nas expressões bit a bit;

Operador Operação realizada


& AND

| OR

^ XOR

~ NOT

>> SHIFT RIGHT,desloca bits a


direita
<< SHIFT LEFT, desloca bits a
esquerda
18
Operadores
• Exemplos de Operador Bit a Bit:
a) v1= 101101, v2=110011, v3 = v1 & v2; AND
v1 = 1 0 1 1 0 1
v2 = 1 1 0 0 1 1
v3 = 1 0 0 0 0 1

b) v1= 110001, v2=010111, v3 = v1 | v2; OR


v1 = 1 1 0 0 0 1
v2 = 0 1 0 1 1 1
v3 = 1 1 0 1 1 1

19
Operadores
• Exemplos de Operador Bit a Bit:
c) v1= 101101, v2=110011, v3 = v1 ^ v2; XOR
v1 = 1 0 1 1 0 1
v2 = 1 1 0 0 1 1
v3 = 0 1 1 1 1 0

d) v1= 110001, v2 = ~ v1 ; NOT


v1 = 1 1 0 0 0 1
v2 = 0 0 1 1 1 0

20
Operadores
• Exemplos de Operador Bit a Bit:
e) v1= 000101, v2=v1 << 2; SHIFT LEFT (x 2)
= 001010; <<1
v2 = 010100; <<2

f) v1= 010100, v2=v1 >> 2; SHIFT RIGHT (÷ 2)


= 001010; >> 1
v2 = 000101; >> 2

21
Declarações de Controle
• As declarações controlam o fluxo de execução de um
algoritmo, sendo assim de fundamental importância
o domínio da sua correta utilização;
• Em uma linguagem de programação existem
diferentes declarações, mas aqui, para um primeiro
contato, utilizaremos a declaração de controle
condicional;

22
Declarações de Controle
• Declaração de controle condicional
IF.......THEN....ELSE
SE......ENTÃO...SENÃO
• Ele é utilizado para executar um determinado
comando se uma determinada condição for
verdadeira. A opção ELSE não é obrigatória.

IF (true) THEN IF (verdadeiro) THEN


CommandsTrue ComandosVerdadeiro
ELSE ELSE
CommandsFalse
ComandosFalso
23
Declarações de Controle
• Para implementação do caso geral no algoritmo
utilizamos o losango;
As saídas V e F
podem ser trocadas

Pergunta V
pergunta
? Comandos
Verdadeiro

Comandos
Falso

24
Declarações de Controle
• OPÇÃO 1: Somente verdadeiro;

Pergunta V
pergunta
? Comandos
Verdadeiro

25
Declarações de Controle
• CASO 2: Com verdadeiro e falso o algoritmo fica da
forma como já visto anteriormente;

Pergunta V
pergunta
? Comandos
Verdadeiro

Comandos
Falso

26
Declarações de Controle
• Exercício 4:
• Considere um forno onde a temperatura limite seja
de 700º C. Se a temperatura atual do forno atingir
este valor o alarme deve ser ligado. Elabore um
algoritmo que implemente essa situação;

27
Declarações de Controle
• Resolução

A inclusão da etapa de
leitura do sensor do forno,
considerando ser um sinal
analógico, foi colocada
aqui porque geralmente
requer um tratamento
adicional no programa.
28
Declarações de Controle
• Exercício 5: Na esteira abaixo quando o sensor S1 for
acionado o motor M1 deve ser ligado. Implemente
um algoritmo que atenda o solicitado.

S1

M1

29
Declarações de Controle
• Resolução

A inclusão da etapa de leitura


do sensor S1 em muitas
situações pode ser
considerada redundante,
sendo colocada aqui para
chamar a atenção ao fato,
podendo ser omitida no futuro.
30
Declarações de Controle
• Exercício 6: Na esteira abaixo quando o sensor S1 for
acionado por uma peça o motor M1 deve ser ligado e
quando a peça acionar o sensor S2 o motor deve ser
desligado. Implemente um algoritmo que atenda o
solicitado.

S1 S2

M1

31
Declarações de Controle
• Resolução

32
Declarações de Controle
• Exercício 7: Na esteira abaixo a peça é colocada na posição
dada pelo sensor S1, e com isso o motor M1 é ligado, levando
a peça até o sistema de aquecimento. Neste instante o motor
M1 é desligado e a peça espera 10 segundos, sendo o motor
M1 ligado novamente para levar a peça para o resfriamento,
quando então o motor M1 é desligado novamente,
aguardando agora 20 segundos neste estágio. Após decorrido
o tempo o motor M1 é ligado novamente para levar a peça
até a posição dada pelo sensor S4, quando o motor é
desligado novamente. Implemente um algoritmo que atenda
o solicitado.

33
Declarações de Controle
• Resolução

34
Declarações de Controle
• Exercício 8: No sistema abaixo quando uma peça é colocada
na posição dada pelo sensor S1 o motor M1 é ligado, levando
a peça até o sensor S2 e caindo na caixa de saída. Sabe-se que
a caixa suporta até 20 peças. Implemente um contador(CONT)
para que somente quando somente 20 peças caírem na caixa
o motor M1 é desligado e a lâmpada L1 é ligada, alertando ao
operador da necessidade de trocar a caixa. Implemente um
algoritmo que atenda o solicitado.

35
Declarações de Controle
• Resolução

36
Declarações de Controle
• Exercício 9: No exercício anterior foi acrescentado o
botão B1 no painel para que quando o operador
trocar a caixa ele irá apertar o botão a lâmpada L1 irá
apagar, o motor M1 é ligado novamente, o contador
é zerado e o ciclo se inicia novamente.

37
Declarações de Controle
• Resolução

38
Declarações de Controle
• CASO 3: IF ANINHADO. Quando vários laços são
utilizados, um dentro de outro;

V
Pergunta1 Comandos1
?

V
Pergunta2 Comandos2
?

V
Pergunta3 Comandos3
?

N
Comandos4
39
Declarações de Controle
• Exercício 10: No reservatório da figura abaixo um
sensor mede o nível (NIVEL) de líquido existente.
Elabore um algoritmo que controle o acionamento
das bombas de acordo com a tabela abaixo;

NIVEL B1 B2 B3
NIVEL>9 0 0 0
6<NIVEL≤9 1 0 0
2<NIVEL≤6 1 1 0
NIVEL≤2 1 1 1

40
Declarações de Controle
• Resolução

41
Declarações de Controle
• Exercício 11: No sistema de seleção da página
seguinte quando uma caixa é colocada na posição
dada pelo sensor S1 o motor M1 é ligado levando a
caixa até o sensor S5, quando então é desligado.
Implemente um algoritmo para que de acordo com o
tipo de caixa, dada pela figura e identificada no
sistema através do acionamento dos sensores S2,S3 e
S4, somente a lâmpada correspondente fique ligada.
Esta lâmpada somente poderá ficar ligada até a caixa
correspondente chegar ao sensor S5. O sistema é
contínuo. Implemente também um contador para
cada tipo de caixa.
42
Declarações de Controle

43
Declarações de Controle
• Resolução

44
REFERÊNCIAS
• Robert Schildt. C completo e total.
• User´s Manual MikroC
• Fábio Pereira. Programação em C
• Curso básico de lógica de programação.
Unicamp

45

Você também pode gostar