Sei sulla pagina 1di 44

PROGRAMAO - PRG

ALGORITMOS

Prof. Stefano

1
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;

4
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

5
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;

7
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 8


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;

FR1 FR2 FR3 FR4


Preo por 1,30 1,90 4,50 0,98
kg(R$)
Peso (kg) 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 (true) THEN IF (verdadeiro) 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 V
pergunta
? Comandos
Verdadeiro

Comandos
Falso

23
Declaraes de Controle
OPO 1: Somente verdadeiro;

Pergunta V
pergunta
? 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 In
Incio

Ler Tforno

V
Tforno >= 700 Ligar Alarme

In
Fim

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 V
pergunta
? Comandos
Verdadeiro

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 In
Incio

Ler S1

F
S1 == 1 M1= 0

M1= 1

A incluso da etapa de leitura


do sensor S1 em muitas
situaes pode ser In
Fim
considerada redundante,
sendo colocada aqui para
chamar a ateno ao fato,
podendo ser omitida no futuro.
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
?

V
Pergunta2 Comandos2
?

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 0 0 0
6<NIVEL9 1 0 0
2<NIVEL6 1 1 0
NIVEL2 1 1 1

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

Potrebbero piacerti anche