Vous êtes sur la page 1sur 44

PROGRAMAO - PRG

ALGORITMOS
Prof. Stefano

Introduo
Algoritmos
Fluxograma
Constantes e variveis
Operadores
Declaraes de Controle
Exerccios
2

Introduo
Lgica de programao:
Tcnica
para
gerar
uma
determinada
sequncia de atividades para atingir um
determinado objetivo;

Sequncia Lgica:
So os diferentes passos ou instrues para
solucionar um problema;

Instrues:
So um conjunto de regras
ou normas
definidas para realizao de uma atividade.
uma
ao
elementar
executada
pelo
computador;
3

Algoritmos
Algoritmos uma maneira de formalizar uma
sequncia de passos para execuo de uma
atividade.
A formalizao necessria para que
diferentes pessoas possam entender e repetir
os passos para chegar a soluo do problema;
Ex.:

Executar a operao de soma em uma calculadora;


Fazer uma transferncia bancria;
Ajustar o horrio no celular;
Programar um DVD para gravar um programa;

Algoritmos
EXERCCIO 1:
Descreva passo a passo como voc faria para
obter a mdia de trs nmeros a seguir em sua
calculadora;
MEDIA = 12 + 6 + 9
3

Fluxograma
Para
representar
graficamente
um
algoritmo utilizaremos o fluxograma;
Um fluxograma a representao das
diferentes etapas de um processo atravs
de elementos grficos ligados conforme a
lgica de programao;
Simbologia
Smbolo

Funo

Incio ou Fim de um algoritmo


Processamento geral
Deciso
6

Fluxograma
EXERCCIO 2:
Implemente em um fluxograma o algoritmo do
clculo da mdia de trs nmeros a seguir em
sua calculadora do exerccio anterior;

Constantes e variveis
Identificadores: So nomes arbitrrios
dados as funes, variveis, constantes.
Os identificadores podem ser1 letras de A
Z, nmeros de 0 9 e _(underline). No
pode comear com nmero.
Exemplos:
Temperatura_media
Temp
_T1

1 Depende de cada compilador

Constantes e variveis
Constantes: so elementos que tem um
valor fixo, no podendo ser mudados durante
a execuo do programa;
Exemplo: = 3,1415927.... Em vez de escrever
toda vez o nmero podemos nomear uma
constante PI = 3,1415927 e durante programa
utilizar PI;

Variveis: so elementos que permitem a


alterao do seu valor durante a execuo do
programa. recomendvel que no incio do
programa seja atribudo um valor inicial a
elas, que elas sejam inicializadas;
Exemplo: Calcule consumo mdio de combustvel
de um automvel. CONSUMO= KM/L
9

Constantes e variveis
EXERCCIO 3:
Para preparar uma salada de frutas, um
cozinheiro foi comprar 4 frutas, onde cada
fruta tem seu preo 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;
Preo
por
kg(R$)
Peso
(kg)

FR1

FR2

FR3

FR4

1,30

1,90

4,50

0,98

2,5

1,3

0,6

3,8

Observar a utilizao de constantes e variveis

10

Operadores
Operador um smbolo que faz com que
compilador execute alguma operao
matemtica ou lgica;
Os principais operadores so aritmticos,
de relao, lgicos e bit a bit;
A seguir sero apresentados os principais
elementos de cada operador. Este tpico
ser visto em maiores detalhes na
linguagem de programao aplicado
diretamente ao compilador utilizado;

11

Operadores
Operador Aritmtico
Operador

Operao
realizada

+
*
/
%
++
--

Soma
Subtrao
Multiplicao
Diviso
Resto da diviso
Incremento
Decremento
12

Operadores
Operador de Relao: eles testam as
relaes nas expresses. Seu resultado
1 se for verdadeiro ou 0 se for falso;
Operador

Operao
realizada

==
!=
>
<
>=
<=

Igual a
No igual a
Maior que
Menor que
Maior ou igual a
Menor ou igual a
13

Operadores

Exemplos de Operador de Relao:


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

14

Operadores
Operadores lgicos: realizam operaes
lgicas nas expresses. Os operandos so
considerados verdadeiros(1) ou falsos(0).
Seu resultado 1 se for verdadeiro ou 0
se for falso;
Operador

Operao
realizada

&&
||
!

AND
OR
NOT (Negado)

15

Operadores
Exemplos de Operador Lgico:
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
16

Operadores
Operadores Bit a Bit: eles testam as
relaes dos operadores nas expresses
bit a bit;
Operador

Operao
realizada

&
|
^
~
>>

AND

<<

OR
XOR
NOT
SHIFT RIGHT,desloca
bits a direita
SHIFT LEFT, desloca
bits a esquerda

17

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
18

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
19

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
20

Declaraes de Controle
As declaraes controlam o fluxo de
execuo de um algoritmo, sendo assim
de fundamental importncia o domnio da
sua correta utilizao;
Em uma linguagem de programao
existem diferentes declaraes, mas aqui,
para um primeiro contato, utilizaremos a
declarao de controle condicional;

21

Declaraes de Controle
Declarao de controle condicional

IF.......THEN....ELSE
SE......ENTO...SENO
Ele utilizado para executar um
determinado
comando
se
uma
determinada condio for verdadeira. A
opo ELSE no obrigatria.
IF (verdadeiro) THEN
IF (true) THEN
CommandsTrue
ComandosVerdadeiro
ELSE
ELSE
CommandsFalse
ComandosFalso
22

Declaraes de Controle
Para implementao do caso geral no
algoritmo utilizamos o losango;
As sadas V e F
podem ser trocadas
Pergunta
pergun
?
ta

V
Comandos
Verdadeiro

F
Comandos
Falso

23

Declaraes de Controle
OPO 1: Somente verdadeiro;

Pergunta
pergun
?
ta

V
Comandos
Verdadeiro

24

Declaraes de Controle
OPO 1: Exerccio 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 situao;

25

Declaraes de Controle
Resoluo

Incio
In
Ler Tforno

V
Tforno >= 700

Ligar Alarme

F
Fim
In
A incluso da etapa de
leitura do sensor do forno,
considerando ser um sinal
analgico, foi colocada
aqui porque geralmente
requer
um
tratamento
adicional no programa.

26

Declaraes de Controle
CASO 2: Com verdadeiro e falso o
algoritmo fica da forma como j visto
anteriormente;

Pergunta
pergun
?
ta

V
Comandos
Verdadeiro

F
Comandos
Falso

27

Declaraes de Controle
Exerccio 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

28

Declaraes de Controle
Resoluo

Incio
In

Ler S1

S1 == 1

M1= 0

V
M1= 1
A incluso da etapa de leitura
do sensor S1 em muitas
situaes
pode
ser
considerada
redundante,
sendo colocada aqui para
chamar a ateno ao fato,
podendo ser omitida no futuro.

Fim
In

29

Declaraes de Controle
Exerccio 6: Na esteira abaixo quando o
sensor S1 for acionado por uma pea o
motor M1 deve ser ligado e quando a pea
acionar o sensor S2 o motor deve ser
desligado. Implemente um algoritmo que
atenda o solicitado.
S1

S2

M1

30

Declaraes de Controle
Resoluo

31

Declaraes de Controle
Exerccio 7: Na esteira abaixo a pea colocada
na posio dada pelo sensor S1, e com isso o
motor M1 ligado, levando a pea at o sistema
de aquecimento. Neste instante o motor M1
desligado e a pea espera 10 segundos, sendo o
motor M1 ligado novamente para levar a pea
para o resfriamento, quando ento o motor M1
desligado novamente, aguardando agora 20
segundos neste estgio. Aps decorrido o tempo
o motor M1 ligado novamente para levar a pea
at a posio dada pelo sensor S4, quando o
motor desligado novamente. Implemente um
algoritmo que atenda o solicitado.
32

Declaraes de Controle
Resoluo

33

Declaraes de Controle
Exerccio 8: No sistema abaixo quando uma pea
colocada na posio dada pelo sensor S1 o
motor M1 ligado, levando a pea at o sensor
S2 e caindo na caixa de sada. Sabe-se que a
caixa suporta at 20 peas. Implemente um
contador(CONT) para que somente quando
somente 20 peas carem na caixa o motor M1
desligado e a lmpada L1 ligada, alertando ao
operador da necessidade de trocar a caixa.
Implemente um algoritmo que atenda o
solicitado.

34

Declaraes de Controle
Resoluo

35

Declaraes de Controle
Exerccio 9: No exerccio anterior foi
acrescentado o boto B1 no painel para
que quando o operador trocar a caixa ele
ir apertar o boto a lmpada L1 ir
apagar, o motor M1 ligado novamente, o
contador zerado e o ciclo se inicia
novamente.

36

Declaraes de Controle
Resoluo

37

Declaraes de Controle
CASO 3: IF ANINHADO. Quando vrios
laos so utilizados, um dentro de outro;
V
Pergunta1
?

Comandos1

N
V
Pergunta2
?

Comandos2

N
V
Pergunta3
?

Comandos3

N
Comandos4
38

Declaraes de Controle
Exerccio 10: No reservatrio da figura
abaixo um sensor mede o nvel (NIVEL) de
lquido existente. Elabore um algoritmo
que controle o acionamento das bombas
de acordo com a tabela abaixo;
NIVEL

B1 B2

B3

NIVEL>9

6<NIVEL9

2<NIVEL6

NIVEL2

39

Declaraes de Controle
Resoluo

40

Declaraes de Controle
Exerccio 11: No sistema de seleo da pgina
seguinte quando uma caixa colocada na
posio dada pelo sensor S1 o motor M1
ligado levando a caixa at o sensor
S5,
quando ento desligado. Implemente um
algoritmo para que de acordo com o tipo de
caixa, dada pela figura e identificada no
sistema atravs do acionamento dos sensores
S2,S3
e
S4,
somente
a
lmpada
correspondente fique ligada. Esta lmpada
somente poder ficar ligada at a caixa
correspondente chegar ao sensor S5. O
sistema contnuo. Implemente tambm um
contador para cada tipo de caixa.
41

Declaraes de Controle

42

Declaraes de Controle
Resoluo

43

REFERNCIAS

Robert Schildt. C completo e total.


Users Manual MikroC
Fbio Pereira. Programao em C
Notas de aula do Prof. Stefano
Curso bsico de lgica de
programao. Unicamp

44