Algoritmos
Algoritmos ee
Lgica
Lgica de
de Programao
Programao
Material de apoio ao estudo
Introduo
Notas de aulas
Material disponvel para download em: http://prof.vania.cristina.sites.uol.com.br
Introduo
Ementa:
Objetivos:
Metodologia:
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP
Bibliografia
Bibliografia Bsica
. MANZANO, J. A. N. G., Algoritmos, rica.
Bibliografia Complementar
FORBELLONE, A. L.V. & EBERSPCHER, H. F., Lgica de Programao.
Makron.
SALIBA, W. L. C., Tcnicas de Programao, Makron
ASCENCIO, A. F. G., Lgica de Programao com Pascal, Makron.
FARRER, H. et. al. Algoritmos Estruturados, LTC.
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP
Datas importantes
Avaliaes
1 GQ:
___/___/___
___/___/___
___/___/___
___/___/___
___/___/___
___/___/___
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP
Algoritmos
Algoritmos ee
Lgica
Lgica de
de Programao
Programao
Material de apoio ao estudo
Lgica
Notas de aulas
Material disponvel para download em: http://prof.vania.cristina.sites.uol.com.br
Lgica
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP
Raciocnio Lgico
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP
Lgica de Programao
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP
Algoritmos
Algoritmos ee
Lgica
Lgica de
de Programao
Programao
Material de apoio ao estudo
Algoritmos
Notas de aulas
Material disponvel para download em: http://prof.vania.cristina.sites.uol.com.br
Algoritmos - Introduo
Lgica de Programao
Seqncia Lgica
Instrues
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP
10
Algoritmos - Introduo
Algoritmo
Programas
algoritmo errado
resultado errado
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP
11
Representao de Algoritmos
Pseudocdigo
Pseudocdigo
Fluxograma
Fluxograma
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP
12
Pseudocdigo
programa <identificador-do-programa>
<declaraes>
Incio
<instrues>
Fim.
Onde:
<identificador-do-programa>
<declaraes>
<instrues>
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP
13
ou
Indica o incio ou
trmino de um
fluxograma
Entrada de dados
Procedimento interno
e/ou
mudana de contedo
ou
Tomada de deciso
Repetio
Sada de dados
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP
14
Exemplo
Elaborar o algoritmo que faa a soma de dois nmeros inteiros quaisquer
Pseudocdigo
Fluxograma
Linguagem de Programao
programa somadoisnum
var n1, n2, result: inteiro
incio
program somadoisnum;
var n1, n2, result : integer;
incio
leia n1
leia n2
result n1 + n2
escreva result
fim.
n1,n2
begin
readln( n1 );
readln( n2 );
result := n1 + n2;
writeln(result);
result
n1+n2
result
end.
fim
15
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP
Programador
Usurio
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP
16
Algoritmos
Algoritmos ee
Lgica
Lgica de
de Programao
Programao
Material de apoio ao estudo
Tipo de Dados
Notas de aulas
Material disponvel para download em: http://prof.vania.cristina.sites.uol.com.br
17
Tipos de dados
Exemplo:
em um dado numrico pode-se aplicar uma operao aritmtica.
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP
18
Tipos de Dados
Tipos simples;
Tipos estruturados (vetor, registro, etc., estudados mais adiante)
Numrico
Inteiro
Caractere
Lgico
Real
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP
19
Dado Numrico
-3
234
1,45
-0,56
23,98
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP
20
Dado Numrico
Observaes
Reais
Inteiros
Situaes de dvida
Exemplos:
raiz quadrada de um nmero;
diviso entre dois nmeros inteiros.
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP
21
Dado Caractere
Exemplos: a
ave
7,89
Atenas 2004
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP
22
Dado Caractere
8 um dado numrico;
8 um caractere;
A um caractere;
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP
23
Dado Lgico
Exemplos:
0e1
VeF
true e false
sim e no
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP
24
Algoritmos
Algoritmos ee
Lgica
Lgica de
de Programao
Programao
Material de apoio ao estudo
Variveis
Notas de aulas
Material disponvel para download em: http://prof.vania.cristina.sites.uol.com.br
25
Variveis
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP
26
Variveis
Varivel uma entidade que guarda valores que podem ser alterados
no decorrer de um algoritmo.
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP
27
Variveis
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP
28
Variveis
Um vaso armazena dados do tipo flor, entretanto, esta flor pode ser uma rosa,
um cravo, uma orqudea, etc.
Uma mquina fotogrfica armazena filme, mas pode ser colorido ou preto e
branco.
O carrinho de carrega um beb que pode ser o Joozinho, o Marquinhos, a
Aninha, etc.
O cofrinho armazena dinheiro (notas em papel, moeda ou ento dolres, reais,
euros, etc.)
A bomba de combustvel pode conter lcool, gasolina, diesel, gs, etc.
Flor
Filme
Beb
Dinheiro
Combustvel
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP
29
Variveis
Exemplos vlidos:
Exemplos invlidos:
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP
30
Variveis
Atributos (caractersticas) de uma varivel:
Nome, Tipo, Valor associado
Clula de memria
Nome do identificador (varivel)
Tipo de dado que ser armazenado
(inteiro, real, caractere ou lgico)
Valor associado (valor armazenado na
clula de memria)
Endereo Fsico
3000: B712
2000: 12EC
3000: 0004
3000: C223
2000: 11DA
Identificador
nome
numero
letra
medida
resposta
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP
31
Variveis
100
3,14
falso
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP
32
Variveis
Exemplos de inteiros:
Nmero de pessoas;
Um nmero par ou mpar;
Idade de uma pessoa;
Quantidade de objetos;
Exemplos de reais:
O peso de uma pessoa;
Um percentual;
Nota de uma avaliao;
Mdia;
Preo de um produto;
Exemplos de caracteres:
Um nome de pessoa;
Um endereo;
Um nmero de CEP;
Um nmero de telefone;
Exemplo de lgicos:
Se o sexo feminino;
Se a pessoa maior de
idade;
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP
33
Algoritmos
Algoritmos ee
Lgica
Lgica de
de Programao
Programao
Material de apoio ao estudo
Constantes
Notas de aulas
Material disponvel para download em: http://prof.vania.cristina.sites.uol.com.br
34
Constantes
Pode ser visto como uma varivel cujo valor nunca pode ser alterado.
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP
35
Constantes
Exemplos: pi = 3,1415
sexo_m = masculino
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP
36
Constante
const <identificador> = <valor>
Exemplo:
Exemplo:
programa variavel
var x, y, z: real
nome : caractere
ok : lgico
Inicio
<instrues>
Fim.
programa constante
const pi = 3,1415
sexo_m = masculino
Inicio
<instrues>
Fim.
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP
37
Algoritmos
Algoritmos ee
Lgica
Lgica de
de Programao
Programao
Material de apoio ao estudo
Atribuio
Notas de aulas
Material disponvel para download em: http://prof.vania.cristina.sites.uol.com.br
38
Atribuio
=> varivel
=> expresso
CUIDADO!
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP
39
Atribuio
Sintaxe
varivel <valor>
varivel <expresso>
Exemplos:
x 34
sexo FEMININO
yx*3
salrio 128,00
considere as atribuies
a5
se fizermos a b e b c, teremos a = 2, b = 10 e c = 10
b2
c 10
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP
40
Algoritmos
Algoritmos ee
Lgica
Lgica de
de Programao
Programao
Material de apoio ao estudo
Entrada e Sada
de dados
Notas de aulas
Material disponvel para download em: http://prof.vania.cristina.sites.uol.com.br
41
receber informaes
processar as informaes
para o usurio
entrada
ALGORITMO
sada
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP
42
Entrada de Dados
Fluxograma
<lista de variveis>
Linguagem de
Programao
readln(<lista de variveis>);
ou
<lista de variveis>
Exemplos
Leia x , y
Leia nome_aluno
x,y
nome_aluno
readln(x , y);
readln(nome_aluno);
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP
43
Sada de Dados
Escreva<lista de variveis>
Fluxograma
<lista de
variveis>
ou
<lista de
variveis>
Linguagem de
Programao
writeln(<lista de variveis>);
Exemplos
Escreva x
Escreva Voc pesa , x * 2 , quilos
x
Voc pesa ,
x * 2 , quilos
writeln(x);
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP
44
Exemplo
Linguagem de Programao
program km_por_hora;
var velocidade : real;
begin
writeln( Digite velocidade em m/s: );
readln(velocidade);
writeln( Velocidade em KM/h: , velocidade * 3.6);
end.
inicio
Digite velocidade
em m/s:
velocidade
Velocidade em KM/h: ,
velocidade * 3.6
fim
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP
45
Algoritmos
Algoritmos ee
Lgica
Lgica de
de Programao
Programao
Material de apoio ao estudo
Operadores e
Expresses
Notas de aulas
Material disponvel para download em: http://prof.vania.cristina.sites.uol.com.br
46
Operadores e Expresses
Operadores
Expresses
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP
47
Operadores Aritmticos
Operador
Operao
/
*
+
Manuteno de sinal
Inverso de sinal
Exponenciao
Diviso
Multiplicao
Soma
Subtrao
Prioridade
Matemtica
1
1
2
3
3
4
4
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP
48
Expresses Aritmticas
Aquelas cujos operadores so aritmticos e cujos operandos so
constantes e/ou variveis do tipo numrico (inteiro e/ou real);
O resultado da avaliao um valor do tipo de dado numrico.
Expresso Matemtica
Expresso Algortmica
2.a+b
2*a+b
a.x2
a*x2
a
+b
2
a/2+b
49
Prioridades de Operadores
Depende da prioridade da avaliao dos operadores!
Operao
Prioridade Matemtica
Manuteno de sinal
Inverso de sinal
Exponenciao
Diviso
Multiplicao
Soma
Subtrao
a
2+b
a/2+b
a/(2+b)
errado
certo
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP
50
Observaes
a b + c;
se b e c so do tipo real ento a tambm deve ser real
a / (a + b) - (2 * (b + c))
2
1
4
3
5
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP
51
Operadores Relacionais
Operadores Relacionais
Operador
Significado
Exemplo de uso
>
Maior que
<
Menor que
<>
Diferente de
2*A < B 2
A+B <> C
Igual a
A=0
<=
Menor ou igual a
B*A < = 0
>=
Maior ou igual a
a > = b'
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP
52
Operadores Lgicos
Significado
Exemplo de uso
Prioridade
Conjuno
A e B
II
OU
Disjuno
A ou B
III
No
Negao
No A
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP
53
Expresses Lgicas
Exemplos:
x >= 0
carro = gol
x <= 1
OU
carro = corsa
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP
54
Tabela Verdade
T1
T2
T1 E T2
T1 OU T2
NO T1
Exemplo 1
Exemplo 2
Exemplo 3
Exemplo 4
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP
55
Algoritmos
Algoritmos ee
Lgica
Lgica de
de Programao
Programao
Material de apoio ao estudo
Estruturas
de Seleo
Notas de aulas
Material disponvel para download em: http://prof.vania.cristina.sites.uol.com.br
56
Estruturas de Seleo
Linguagem de
Programao
if <condio> then
<instrues>;
Fluxograma
Falso
<condio>
Verdadeiro
<instrues>
57
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP
Seleo Simples
Exemplo: Clculo da mdia de quatro nmeros do tipo real.
PSEUDOCDIGO
programa selecao
Var n1, n2, n3, n4, media : real
incio
leia n1, n2, n3, n4
media ( n1+ n2 + n3 + n4 ) / 4
se media > = 7 ento
escreva aprovado
fim_se
fim.
LINGUAGEM DE PROGRAMAO
program selecao;
var n1, n2, n3, n4, media: real;
begin
readln (n1, n2, n3, n4);
media := ( n1+ n2 + n3 + n4 ) / 4;
if media > = 7 then
writeln ( aprovado);
end.
Fluxograma
inicio
media
(n1+n2+n3+n4)/4
media >= 7
Falso
Verdadeiro
Aprovado
fim
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP
58
Seleo Composta
Pseudocdigo
se <condio> ento
<instrues>
seno
<instrues>
fim_se
Linguagem de
Programao
if <condio> then
<instrues>
else
<instrues>;
<condio>
Falso
Verdadeiro
<instrues>
<instrues>
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP
59
Exemplo
Pseudocdigo
programa idade
var idade, x : inteiro
inicio
leia idade
se idade >= 18 ento
escreva Voc pode tirar a carteira
seno
escreva Voc no pode tirar a carteira
x 18 idade
escreva Ainda faltam , x , anos
fim_se
fim
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP
60
Exemplo
Fluxograma
incio
Linguagem de Programao
idade
program idade;
idade >= 18
Voc no
pode tirar
a carteira
V
Voc pode
tirar a
carteira
x
18 - idade
else
begin
writeln( Voc no pode tirar a carteira );
Ainda
faltam , x ,
anos
x := 18 idade;
writeln( Ainda faltam , x , anos );
end;
end.
fim
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP
61
Seleo encadeada
Pseudocdigo
Linguagem de Programao
Programa maior
var a, b, c : real
inicio
leia a, b, c
se (a >= b) e (a >= c) ento
escreva a, o maior
seno
se (b >= a) e (b >= c) ento
escreva b, o maior
seno
escreva c, o maior
fim
Program maior;
var a, b, c : real;
begin
readln(a, b, c);
if (a >= b) and (a >= c) then
writeln ( a, o maior )
else
if (b >= a) and (b >= c) then
writeln ( b, o maior )
else
writeln ( c, o maior );
end.
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP
62
Seleo encadeada
Fluxograma
incio
a, b, c
a>=b e
a >= c
b>=a e
b >= c
V
c, o maior
a, o maior
b, o maior
fim
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP
63
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP
64
Pseudocdigo
caso <varivel>
seja <valor 1> faa <instruo 1>
seja <valor 2> faa <instruo 2>
seja <valor N> faa <instruo N>
seno <instruo>
fim_caso
Onde:
<varivel> uma varivel a ser controlada;
<instruo1> o bloco de instrues que sero executadas se varivel for igual a valor1;
<instruo2> o bloco de instrues que sero executadas se varivel for igual a valor2;
e assim sucessivamente ...
<instruo> o bloco de instrues que sero executadas caso varivel no seja igual a
nenhum dos outros valores especificados anteriormente a seno.
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP
65
Linguagem de Programao
case <expresso> of
<opo 1>: <instruo 1>;
<opo 2>: <instruo 2>;
<opo n>: <instruo n>;
else
<instruo>;
end;
<opo 1>
<instruo 1>
F
<opo 2>
<instruo 2>
<opo n>
<instruo n>
F
<instruo>
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP
66
Linguagem de
Programao
Program dia_semana;
var dia:integer;
r : string;
begin
read(dia);
case dia of
1 : r := DOM;
2 : r := SEG;
3 : r := SEG;
4 : r := SEG;
5 : r := SEG;
6 : r := SEG;
7 : r := SAB;
else
r := Dia invlido;
end;
write(r);
end.
Fluxograma
dia
dia = 1
F
dia = 2
F
dia = 3
F
dia = 4
F
dia = 5
F
dia = 6
F
dia = 7
F
V
V
V
V
V
r DOM
r SEG
r TER
r QUA
r QUI
r SEX
r SAB
r Dia invlido
r
fim
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP
67
Algoritmos
Algoritmos ee
Lgica
Lgica de
de Programao
Programao
Material de apoio ao estudo
Estruturas
de Repetio
Notas de aulas
Material disponvel para download em: http://prof.vania.cristina.sites.uol.com.br
68
Estruturas de Repeties
Condio;
Contador.
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP
69
Estruturas de Repeties
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP
70
Fluxograma
<condio>
Falso
Verdadeiro
Linguagem de
Programao
<instrues>
while <condio> do
<instrues>;
71
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP
72
Exemplo
Calcular a mdia aritmtica de 3 notas de 30 alunos.
Pseudocdigo
Linguagem de Programao
Algoritmo Media_30
var cont : inteiro
n1,n2,n3,media: real
incio
cont 0
enquanto cont < 30 faa
leia n1,n2,n3
media (n1+n2+n3)/3
cont cont + 1
escreva media
fim_enquanto
fim
Program Media_30;
var cont : integer;
n1,n2,n3,media : real;
begin
cont := 0;
while cont < 30 do
begin
read (n1,n2,n3);
media := (n1+n2+n3)/3;
cont := cont + 1;
write(media);
end;
end.
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP
73
Exemplo
Fluxograma
incio
cont 0
cont < 30
V
n1, n2, n3
media
(n1+n2+n3)/3
cont cont +1
media
fim
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP
74
Pseudocdigo
para <varivel> de <incio> at <fim> faa
<instrues>
fim_para
<variavel>
<inicio>,<fim>
Falso
Verdadeiro
Linguagem de Programao
<instrues>
75
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP
76
Exemplo
Calcular a mdia aritmtica de 3 notas de 30 alunos.
Linguagem de Programao
Pseudocdigo
Algoritmo Media_30
var cont : inteiro
n1,n2,n3,media : real
incio
para cont de 1 at 30 faa
leia ( n1,n2, n3 )
media ( n1+ n2+ n3 ) / 3
escreva (media)
fim_para
fim
Program Media_30;
uses crt;
var cont : integer;
n1,n2,n3,media: real;
begin
clrscr;
for cont := 1 to 30 do
begin
clrscr;
writeln( Digite as 3 notas => ) ;
read ( n1,n2, n3 );
media := ( n1 + n2 + n3 ) / 3;
write(media:0:2);
end;
end.
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP
77
Exemplo
Fluxograma
incio
cont 1,30
V
n1, n2, n3
media
(n1+n2+n3)/3
media
fim
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP
78
Fluxograma
repita
<instrues>
at_que <condio>
Linguagem de Programao
<instrues>
V
<condio>
repeat
<instrues>
until <condio>
79
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP
80
Exemplo
Calcular a mdia aritmtica de 3 notas de 30 alunos.
Linguagem de Programao
Pseudocdigo
Algoritmo Media_30
var cont : inteiro
n1,n2,n3,media : real
Incio
cont 1
repita
leia (n1,n2, n3 )
media (n1 + n2 + n3 ) / 3
cont cont + 1
escreva (media)
at_que cont > 30
fim
Program Media_30;
uses crt;
var cont : integer;
n1,n2,n3,media: real;
begin
cont := 1;
repeat
clrscr;
writeln( Digite as 3 notas => ) ;
read ( n1, n2, n3 ) ;
media := (n1 + n2 + n3 ) / 3 ;
write( media : 0 : 2 ) ;
cont := cont + 1;
until cont > 30;
end.
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP
81
Exemplo
Fluxograma
incio
cont 1
n1, n2, n3
media
(n1+n2+n3)/3
cont cont +1
media
F
cont > 30
fim
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP
82
Algoritmos e
Lgica de Programao
Material de apoio ao estudo
Resumo
Notas de aulas
Material disponvel para download em: http://prof.vania.cristina.sites.uol.com.br
83
CONCEITOS BSICOS
ALGORITMOS
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP
84
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP
85
Constantes
Variveis
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP
86
Tipos de Dados
INTEIRO
REAL
LGICO
CARACTERE
Atribuio
salrio 128,00;
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP
87
Expresses Aritmticas
- Subtrao
Div Diviso de Inteiros
Expresses Relacionais
Exponenciao
Comparao entre dois valores de um mesmo tipo primitivo. Estes valores podem ser
constantes, variveis ou expresses aritmticas.
O resultado obtido de uma relao sempre um valor lgico.
Operadores Relacionais
= igual a
<> diferente de
> maior que
>= maior igual a
<
menor que
<= menor igual a
Expresses Lgicas
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP
88
Seqncia
Seleo
simples
composta
mltipla
Repetio
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP
89
Seleo simples
incio
...
se <condio 1> ento
inicio
<comando 1>
<comando 2>
...
<comando n>
fim
Fim_se
...
fim.
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP
90
Seleo mltipla
}
}
Bloco
Verdade
Bloco
Falso
incio
...
caso <varivel>
seja <valor1> faa <comando 1>
seja <valor2> faa <comando 2>
seja <valorN> faa <comando N>
seno <comando>
fim_caso
...
fim.
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP
91
<comando n>
fim_enquanto
Quando o resultado da <expresso lgica> for falso, o comando abandonado.
Se j da primeira vez o resultado for falso, os comandos no so executados
nem uma vez.
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP
92
<comando n>
at que <condio>
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP
93
onde:
<varivel> uma varivel de controle do tipo inteiro;
<incio> o valor inicial da varivel de controle;
<fim> o valor final da varivel de controle, ou seja, o valor at o
qual ela pode chegar.
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP
94
Estrutura
Condio
Quantidade de Execues
Condio de
Existncia
Enquanto
Incio
Indeterminada
Condio
verdadeira
Repita
Fim
Mnimo 1
Condio falsa
Para
Implcita no
incio
(fim inicio)
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP
95
Algoritmos
Algoritmos ee
Lgica
Lgica de
de Programao
Programao
Material de apoio ao estudo
Nomenclatura
Bsica do Pascal
Notas de aulas
Material disponvel para download em: http://prof.vania.cristina.sites.uol.com.br
96
Pascal
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP
97
Pascal
PASCAL
Program
Var
Begin
End
String
Integer
Real
Readln / Read
Writeln / Write
:=
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP
98
Pascal
PASCAL
If
Then
Else
While
Do
Repeat
Until / To
For
Case... of
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP
99
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP
100
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP
101
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP
102
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP
103
Algoritmos
Algoritmos ee
Lgica
Lgica de
de Programao
Programao
Material de apoio ao estudo
Exerccios
Notas de aulas
Material disponvel para download em: http://prof.vania.cristina.sites.uol.com.br
104
Exerccios: Lgica - 1
1. Menos conhecidos que seus primos distantes, companheiros da Branca de
Neve, os cinco anes desta histria raramente tm companhia. Eles so
lenhadores. Quando vo para a floresta, cada um pe na cabea um bon de
cor diferente. E cada ano derruba apenas um tipo de rvore, diferente da
dos outros quatro.
Com as indicaes a seguir, voc conseguiria associar cada ano ao seu
bon e sua rvore?
Lo usa bon vermelho.
Dino derruba olmos.
O ano que derruba carvalhos no usa bon amarelo.
Quem usa bon verde corta salgueiros
Boni no usa bon amarelo.
Leno usa bon azul e no preto.
Boni derruba maarandubas.
O ano de bon azul derruba pinheiros.
Tito
Dino
Lo
Boni
Leno
rvore
Bon
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP
105
Exerccios: Lgica - 2
2. Oito carros de marcas e cores diferentes esto alinhados, lado a
lado, para uma corrida. Estabelea a ordem em que os carros esto
dispostos, baseando-se nas seguintes informaes:
Ordem
Cor
Carro
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP
106
Exerccios: Lgica - 3
4. Voc tem trs caixas e apenas uma delas tem um presente dentro.
Cada caixa contm uma inscrio, fornecendo uma pista, mas
apenas uma dessas inscries verdadeira.
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP
Exerccios: Lgica - 4
107
108
Exerccios: Lgica - 5
10. Jos tem o mesmo nmero de irmos e irms. Cada irm, contudo,
tem duas vezes mais irmos que irms. Quantos irmos e irms tem
a famlia?
11. Trs pessoas que almoaram em um restaurante, resolveram dividir
a conta de R$ 30,00 igualmente, ou seja, cada um colaborou com R$
10,00. Contudo o dono do restaurante disse ao garom:
Aqueles so meus conhecidos. Irei cobrar apenas R$ 25,00. Devolva R$
5,00 a eles.
Porm, o garom pensou:
Como vou dividir R$ 5,00 por 3 pessoas ? Devolverei apenas R$ 3,00 e
eles ficaro contentes de qualquer forma!
Feito isso, o garom guardou R$ 2,00 e devolveu os R$ 3,00 restantes. Ou
seja, cada um gastou ento R$ 9,00 que totalizam R$ 27,00 gastos. Estes
R$ 27,00 mais os R$ 2,00 que ficaram com o garom do R$ 29,00. O que
aconteceu com R$ 1,00 ?! Como se explica isso ?
109
Exerccios: Algoritmos - 1
1. Construa um algoritmo em diagrama de blocos (fluxograma) que :
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP
110
Cotao do dlar
Valor em dlares
Valor em Real
Identificao do vendedor
Cdigo da pea
Preo unitrio da pea
Quantidade vendida
___________________________
___________________________
___________________________
___________________________
___________________________
___________________________
___________________________
Nome
Idade
Sexo
Salrio
quantidade de mulheres
quantidade de homens
total de salrio
___________________________
___________________________
___________________________
___________________________
___________________________
___________________________
___________________________
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP
111
112
Exerccios: Atribuio - 1
1. Cada um dos comandos de atribuio abaixo tem um erro.
Identifique-os
a) -V A + B
d) PROD A + B
b) 4 I
e) A ((2 + A) * C
c) V - 3,96 X * 1,65
f) A C + D, E + F
113
114
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP
115
b) 3 * ( 1 2 ) + 4 * 2
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP
116
4. Preencha a Tabela-verdade
T1
T2
( T1 > T2 ) ou ( T1 = T2 )
( ( T1 + T2 ) - ( T1 * 2 ) ) > ( T2 * 4 )
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP
117
a)
Se A = V, B = V, C = F, quais
comandos sero executados?
b)
Se A = F, B = V, C = F, quais
comandos sero executados?
c)
Se A = F, B = V, C = V, quais
comandos sero executados?
d)
Quais os so os valores de A, B, e
C para que sempre o Comando_5
seja executado?
e)
Quais os so os valores de A, B, e
C para que somente o Comando_6
seja executado?
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP
118
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP
119
Gasolina R$ 1,70;
lcool R$ 1,20;
Diesel R$ 0,90.
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP
120
Item
Preo
100
cachorro-quente
1,10
101
bauru simples
1,30
102
1,50
103
refrigerante
0,70
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP
121
Cargo
Aumento
001
gerente
10%
002
engenheiro
20%
003
tcnico
30%
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP
122
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP
123
124
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP
125
Algoritmos
Algoritmos ee
Lgica
Lgica de
de Programao
Programao
Material de apoio ao estudo
Soluo dos
Exerccios de Lgica
Notas de aulas
Material disponvel para download em: http://prof.vania.cristina.sites.uol.com.br
126
Exerccios: Lgica - 1
1. Menos conhecidos que seus primos distantes, companheiros da Branca de
Neve, os cinco anes desta histria raramente tm companhia. Eles so
lenhadores. Quando vo para a floresta, cada um pe na cabea um bon de
cor diferente. E cada ano derruba apenas um tipo de rvore, diferente da
dos outros quatro.
Com as indicaes a seguir, voc conseguiria associar cada ano ao seu bon e sua
rvore?
Lo usa bon vermelho.
Dino derruba olmos.
O ano que derruba carvalhos no usa bon amarelo.
Quem usa bon verde corta salgueiros
Boni no usa bon amarelo.
Leno usa bon azul e no preto.
Boni derruba maarandubas.
O ano de bon azul derruba pinheiros.
rvore
Tito
Dino
Lo
Boni
Leno
salgueiros
olmos
carvalhos
maarandubas
pinheiros
verde
amarelo
vermelho
preto
azul
Bon
127
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP
Exerccios: Lgica - 2
2. Oito carros de marcas e cores diferentes esto alinhados, lado a lado, para
uma corrida. Estabelea a ordem em que os carros esto dispostos,
baseando-se nas seguintes informaes:
5 O Ferrari est entre os carros vermelho e cinza
8 O Honda o segundo carro direita do carro creme e o segundo a esquerda
co carro marrom
6 O carro cinza est esquerda da Honda
4 direita do carro verde est o Sauber
2 O Renault no tem carro algum sua esquerda e est esquerda do carro
verde
7 O Mclaren o segundo carro esquerda do Ferrari e o primeiro direita do
carro azul
1 O Williams no tem carro sua direita e est logo depois do carro preto.
3 O carro preto est entre o Williams e o carro amarelo
9 O Toyota o segundo carro esquerda do RBR
Ordem
Cor
Azul
Verde
Vermelho
Creme
Cinza
Amarelo
Preto
Marrom
Carro
Renault
Mclaren
Sauber
Ferrari
Toyota
Honda
RBR
Willians
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP
128
Exerccios: Lgica - 3
P = (a - x) . (b - x) . (c - x) . ... . (z - x)
4. Voc tem trs caixas e apenas uma delas tem um presente dentro. Cada caixa contm
uma inscrio, fornecendo uma pista, mas apenas uma dessas inscries verdadeira.
5. Daniela mais jovem do que Adriano; Carlos mais velho do que Daniela.
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP
Exerccios: Lgica - 4
129
6. Trs senhoras, Dona Branca, Dona Rosa e Dona Violeta, passeavam juntas quando
Dona Rosa disse:
No curioso que estejamos usando vestidos das cores branca, rosa e violeta, embora nenhuma de
ns esteja usando um vestido de cor igual ao seu prprio nome ?
Uma simples coincidncia respondeu a senhora com vestido violeta.
Qual a cor do vestido de cada senhora ? Explique como voc chegou sua concluso.
9. Pelas leis do Brasil, um homem pode se casar com a irm de sua viva?
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP
130
Exerccios: Lgica - 5
10. Jos tem o mesmo nmero de irmos e irms. Cada irm, contudo, tem duas vezes
mais irmos que irms. Quantos irmos e irms tem a famlia?
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP
Exerccios: Lgica - 5
131
11. Trs pessoas que almoaram em um restaurante, resolveram dividir a conta de R$ 30,00
igualmente, ou seja, cada um colaborou com R$ 10,00. Contudo o dono do restaurante disse ao
garom:
Aqueles so meus conhecidos. Irei cobrar apenas R$ 25,00. Devolva R$ 5,00 a eles.
Porm, o garom pensou:
Como vou dividir R$ 5,00 por 3 pessoas ? Devolverei apenas R$ 3,00 e eles ficaro contentes de
qualquer forma!
Feito isso, o garom guardou R$ 2,00 e devolveu os R$ 3,00 restantes. Ou seja, cada um gastou ento
R$ 9,00 que totalizam R$ 27,00 gastos. Estes R$ 27,00 mais os R$ 2,00 que ficaram com o garom
do R$ 29,00. O que aconteceu com R$ 1,00 ?! Como se explica isso ?
12. Dois guardas vigiam a porta do Cu e a do Inferno. Um deles s fala a verdade. O outro guarda s
fala mentiras, sempre dando respostas contrrias. Voc no sabe qual o mentiroso. Com uma
pergunta apenas, a somente um dos guardas, voc deve descobrir a porta do Cu. Qual pergunta
voc faria ?
Profa. Vnia Cristina de Souza Pereira Ago/2006 - Material de apoio ao estudo - Notas de aulas - ALP
132
Algoritmos
Algoritmos ee
Lgica
de
Programao
Lgica
de
Programao
Material de apoio ao estudo
Em
Em caso
caso de
de dvidas
dvidas escreva
escreva para:
para:
vcspereira@uninove.br
vcspereira@uninove.br
Material
Material disponvel
disponvel para
para download
download em:
em:
http://prof.vania.cristina.sites.uol.com.br
http://prof.vania.cristina.sites.uol.com.br
Notas de aulas
Professora Vnia Cristina de Souza Pereira
133