Buscar

Desenvolvimento de Algoritmos com Fluxogramas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 3, do total de 52 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 6, do total de 52 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você viu 9, do total de 52 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Prévia do material em texto

I
C
C
-
A
u
l
a
 
0
3
 
–
P
r
o
f
.
 
 
P
i
t
e
r
i
E. R. Davidson
Lembre-se.
Computers do not solve 
problems. People do!
Aula de Hoje
I
C
C
-
A
u
l
a
 
0
3
 
–
P
r
o
f
.
 
 
P
i
t
e
r
i
¾ Desenvolvimento de algoritmos (continuação ...)
¾ Representação por fluxogramas:
¾ Simbologia básica (seleção);
¾ Operadores boleanos;
¾ Operadores relacionais; 
¾ Expressões boleanas; 
¾ Exemplos, exercícios;
Representação de Algoritmos (Fluxogramas)
. . . Continuação dos conceitos já vistos sobre algoritmos
algoritmos
¾Comandos de Atribuição
¾Comandos de Seleção
¾Comandos de Repetição
¾Comandos de entrada e saída
Estruturas de Controle : Existem somente três classes (tipos) delas. O 
objetivo é controlar o fluxo de execução num algoritmo, ou seja, a ordem em 
que as instruções são executadas.
Estruturas de 
Controle
¾Comandos de Atribuição 
¾Comandos de entrada e saída
9
9
Aula de 
Hoje
I
C
C
-
A
u
l
a
 
0
3
 
–
P
r
o
f
.
 
 
P
i
t
e
r
i
Fluxogramas – Estrutura de Controle de Seleção
igual=
diferente≠
DescriçãoOperadores
maior>
menor<
maior ou igual≥
menor ou igual ≤
Operadores Relacionais
I
C
C
-
A
u
l
a
 
0
3
 
–
P
r
o
f
.
 
P
i
t
e
r
i
OBSERVAÇÃO: Os símbolos acima serão usados nas representações de 
algoritmos por fluxogramas e pseudocódigos. Quando iniciarmos o estudo da 
linguagem de programação C, iremos verificar que os símbolos associados 
aos operadores relacionais, são ligeiramente diferentes.
Fluxogramas – Estrutura de Controle de Seleção
Expressões Boleanas / Lógicas
Envolvem constantes, variáveis, funções (pré-definidas ou não), operadores 
aritméticos, operadores relacionais e operadores boleanos/lógicos. Sempre 
produz um valor/resultado boleano (falso (F), verdadeiro (V)).
DescriçãoOperadores
conjunçãoE
disjunçãoOU
negaçãoNÃO
Operadores Boleanos/Lógicos
Cachorros são mamíferos e sabem nadar.
Cachorros são mamíferos e sabem voar.
Exemplos de frases (afirmações ou proposições) usando o conectivo E, cujos 
resultados são valores lógicos:
Verdadeiro
Falso
I
C
C
-
A
u
l
a
 
0
3
 
–
P
r
o
f
.
 
 
 
P
i
t
e
r
i
Fluxogramas – Estrutura de Controle de Seleção
VFFFF
VVFVF
FVFFV
FVVVV
NÃO AA OU BA E BBA
Tabela Verdade
OBSERVAÇÃO: Com o auxílio da Tabela Verdade acima, você será capaz 
de resolver qualquer expressão boleana.
I
C
C
-
A
u
l
a
 
0
3
 
–
P
r
o
f
.
 
 
P
i
t
e
r
i
Fluxogramas – Estrutura de Controle de Seleção
Exemplos de Expressões Boleanas :
(2*seno(3.141565) – 13+(b/c)*c ) > ( (a+b)*raiz(c*d) )
( a ≤ 12.7 ) E ( b ≥ (c*d) )
( raiz(a) ≤ 12.7 ) OU ( ( b ≥ d ) OU (a = c) ) 
( (b%2 = 0) OU ( b ≥ d ) ) E ( QUOC(a,b) ≠ 3 ) OU (NÃO (a > 7) ) 
Observem os diferentes tipos de operadores e de operandos 
existentes numa expressão boleana.
( 25 ≤ 13 )
I
C
C
-
A
u
l
a
 
0
3
 
–
P
r
o
f
.
 
 
P
i
t
e
r
i
( (ano % 400 = 0) OU ((ano % 4 = 0) E (ano % 100 ≠ 0))
Simbologia associada a Fluxogramas
Significado
Indica um processo (ação) de decisão. 
Está associado aos Comandos de 
Seleção e de Repetição.
Símbolo
I
C
C
-
A
u
l
a
 
0
3
 
 
–
P
r
o
f
.
 
 
P
i
t
e
r
i
OBSERVAÇÕES: 
¾ Esse símbolo sempre vem acompanhado de uma seta de entrada e 
duas, de saída;
¾ Em seu interior sempre deverá existir uma expressão boleana;
¾ Em geral, nos slides que forneço a vocês, as diferentes caixas 
associadas aos símbolos de fluxograma estão preenchidas com cores. Isso 
não possui nenhum significado. O Objetivo é apenas fazer um destaque. 
Fluxogramas – Estrutura de Controle de Seleção
(expressão boleana)
FV
próximo_comando
açãon : pode ser qualquer instrução válida (uma ou mais).
I
C
C
-
A
u
l
a
 
0
3
 
–
P
r
o
f
.
 
 
P
i
t
e
r
i
ação1 ação2
O propósito de um Comando de Seleção é selecionar o curso de uma ação 
entre duas possíveis;
Forma Geral :
Fluxogramas – Estrutura de Controle de Seleção
Forma Geral :
(expressão boleana)
FV
comando21
comando22
.......
comando2n
comando11
comando12
.......
comando1n
próximo_comando
I
C
C
-
A
u
l
a
 
0
3
 
–
P
r
o
f
.
 
 
P
i
t
e
r
i
Fluxogramas – Estrutura de Controle de Seleção
Variante 1 :
(expressão boleana)
FV
comando21comando11
próximo_comando
I
C
C
-
A
u
l
a
 
0
3
 
–
P
r
o
f
.
 
P
i
t
e
r
i
Fluxogramas – Estrutura de Controle de Seleção
Variante 2:
(expressão boleana)
FV
comando11
comando12
...
comando1n
próximo_comando
(expressão boleana)
F
V
próximo_comando
comando11
comando12
.......
comando1n
I
C
C
-
A
u
l
a
 
0
3
 
–
P
r
o
f
.
 
P
i
t
e
r
i
Fluxogramas – Estrutura de Controle de Seleção
Variante 3 :
(expressão boleana)
FV
comando11
próximo_comando
I
C
C
-
A
u
l
a
 
0
3
 
–
P
r
o
f
.
 
P
i
t
e
r
i
Estrutura de Controle de Seleção
OBSERVAÇÕES:
I
C
C
-
A
u
l
a
 
0
3
 
–
P
r
o
f
.
 
P
i
t
e
r
i
¾ O número de instruções/comandos associados ao fato da expressão boleana ser 
verdadeira ou falsa, pode variar;
¾ As instruções/comandos associados ao fato da expressão boleana ser falsa, não 
necessariamente precisam estar presentes. Em outras palavras, elas podem ser omitidas. 
Isso acontece quando estamos interessados somente no caso (situação) em que a 
expressão boleana é verdadeira. Nesse caso, quando a expressão boleana for falsa, 
nenhuma ação (comando/instrução) será executado;
¾ Lembre-se, as instruções/comandos associadas ao fato da expressão boleana ser 
verdadeira ou falsa, são mutuamente excludentes (se uma delas for executada, 
automaticamente a outra não será);
¾ A estrutura de controle de seleção sempre escolhe uma ação, entre duas possíveis. 
Quem decide qual o “caminho” a seguir, é o valor da expressão boleana;
¾ Uma instrução ou comando pode ser quaisquer daqueles já vistos (Entrada/Saída, 
atribuição/sequência, seleção, repetição);
¾ Para todos os exercícios a seguir, vamos supor a validade dos dados de entrada. 
Voltaremos a discutir essa questão em outro momento. 
Problema: Dado um número inteiro positivo p, verificar se esse número é PAR ou 
ÍMPAR. 
Lembrem-se!!! O operador % 
(símbolo de porcentagem) indica o 
resto da divisão entre dois operandos 
inteiros.
Como é possível caracterizar se um número inteiro positivo é par? 
¾ Todo número inteiro positivo par é divisível por 2; 
FATOS:Æ
¾ Em outras palavras, o resto da divisão do número p por 2 é igual 
a zero. 
p%2 = 0 V
F
I
C
C
-
A
u
l
a
 
0
3
 
–
P
r
o
f
.
 
P
i
t
e
r
i
Análise básica do problema:
Problema: Dado um número inteiro positivo p, verificar se esse número é
PAR ou ÍMPAR. 
algoritmoDados de Entrada Dados de Saída
p
É Par
algoritmo
É Ímpar
Dados (quantidades) gerados pelo algoritmo.
O algoritmo tem que representar outros valores intermediários?
Análise básica do problema:
Problema: Dado um número inteiro positivo p, verificar se esse número é PAR ou 
ÍMPAR. 
p
“O número 
introduzido é
ímpar”
V
F
(p%2) = 0
FIM
INICIO
I
C
C
-
A
u
l
a
 
0
3
 
–
P
r
o
f
.
 
P
i
t
e
r
i
“O número 
introduzido é par”
Problema: Calcule a Nota Final (verificar se o aluno foi aprovado) de um aluno 
numa dada disciplina, sabendo que esta nota é obtida a partir da média aritmética 
de 4 provas e de 3 trabalhos. Considere um peso de 80% para as provas e de 
20% para os trabalhos.
Lembre-se que você precisa representar todas as quantidades 
envolvidas em seu problema através de variáveis ou de constantes.
I
C
C
-
A
u
l
a
 
0
3
 
–
P
r
o
f
.
 
P
i
t
e
r
i
Análise básica do problema:
1 2 3 4( ) / 4.0map p p p p← + + +
1 2 3( ) / 3.0mat t t t← + +
0.8* 0.2*mf map mat← +
Média aritmética de provas
Média aritmética de trabalhos
Média final
5.0 aluno aprovado
5.0 aluno reprovado
mf
≥ →⎧⎨ < →⎩
algoritmoDados de Entrada Dados deSaída
p1, p2, p3, p4, t1, t2, t3
Aluno aprovado
algoritmo
Problema: Calcule a Nota Final (verificar se o aluno foi aprovado) de um aluno 
numa dada disciplina, sabendo que esta nota é obtida a partir da média aritmética 
de 4 provas e de 3 trabalhos. Considere um peso de 80% para as provas e de 
20% para os trabalhos.
I
C
C
-
A
u
l
a
 
0
3
 
–
P
r
o
f
.
 
P
i
t
e
r
i
Aluno Reprovado
Variáveis para representar:
Æ Média aritmética das provas (map); 
ÆMédia aritmética dos trabalhos (mat);
Æ Média final (mf).
Dados (quantidades) gerados pelo algoritmo.
O algoritmo tem que representar outros valores intermediários?
p1, p2, p3, p4
“O Aluno foi 
aprovado”
t1, t2, t3
matÅ(t1+t2+t3) / 3
mapÅ(p1+p2+p3+p4)/4
mfÅ0.8*map+0.2*mat
“O Aluno foi 
reprovado”mf ≥ 5.0
F
V
FIM
INICIO
I
C
C
-
A
u
l
a
 
0
3
 
–
P
r
o
f
.
 
P
i
t
e
r
i
Problema: Dados dois valores inteiros quaisquer, encontre o MAIOR (ou igual) 
entre eles. Observem que por enquanto não estou interessado na igualdade.
I
C
C
-
A
u
l
a
 
0
3
 
–
P
r
o
f
.
 
P
i
t
e
r
i
]
a b
]
b a
Análise básica do problema:
]
b
a
algoritmoDados de Entrada Dados de Saída
a,b Maior (a, b)algoritmo
I
C
C
-
A
u
l
a
 
0
3
 
–
P
r
o
f
.
 
P
i
t
e
r
i
Problema: Dados dois valores inteiros quaisquer, encontre o MAIOR (ou igual) 
entre eles. Observem que por enquanto não estou interessado na igualdade.
Dados (quantidades) gerados pelo algoritmo.
O algoritmo tem que representar outros valores intermediários?
Problema: Dados dois valores inteiros quaisquer, encontre o MAIOR (ou igual) 
entre eles.
a,b
a ≥ b
b, “é maior que a 
”, a
a, “é maior (ou igual) 
a ”, bV
F
FIM
INICIO
I
C
C
-
A
u
l
a
 
0
3
 
–
P
r
o
f
.
 
P
i
t
e
r
i
Problema: Verificar se o algarismo da unidade dos números inteiros positivos 
num1 e num2, são iguais.
I
C
C
-
A
u
l
a
 
0
3
 
–
P
r
o
f
.
 
P
i
t
e
r
i
¾ Vamos lembrar que estamos manipulando números no sistema de numeração decimal 
(base 10);
¾ Todas as vezes que dividimos um número por 10, quais são os restos possíveis? 
Exemplos:
1234 10
¾ Lembrem-se que o operador de resto é dado pelo símbolo % (porcentagem);
4 123
798 10
8 79
1234%10 = 4
QUOC(1234,10) = 123
798%10 = 8
QUOC(798,10) = 79
¾ O quociente da divisão inteira de a por b é dado pela primitiva QUOC(a,b).
Análise básica do problema:
Problema: Verificar se o algarismo da unidade dos números inteiros positivos 
num1 e num2, são iguais.
I
C
C
-
A
u
l
a
 
0
3
 
–
P
r
o
f
.
 
P
i
t
e
r
i
num1,num2
São iguais
algoritmo São diferentes
Erro nos dados de entrada
Dados (quantidades) gerados pelo algoritmo.
O algoritmo tem que representar outros valores intermediários?
algoritmoDados de Entrada Dados de Saída
Variáveis para representar:
Æ algarismo da unidade de num1: uni1
Æ algarismo da unidade de num1: uni1
INICIO num1, num2
FIM
uni1Å num1 %10
uni2Å num2 %10
“Os algarismos dos 
respectivos valores de 
entrada SÃO IGUAIS”
(num1>0) E
(num2 > 0)
“Dados Incorretos”
(un1 = un2)
“Os algarismos dos 
respectivos valores de entrada 
SÃO DIFERENTES”
F
V
V
F
I
C
C
-
A
u
l
a
 
0
3
 
–
P
r
o
f
.
 
P
i
t
e
r
i
Estrutura de Controle de Seleção
I
C
C
-
A
u
l
a
 
0
3
 
–
P
r
o
f
.
 
 
P
i
t
e
r
i
Sabemos que o propósito de um Comando de Seleção é selecionar o curso de 
uma ação entre duas possíveis. Além disso, vimos nos exemplos anteriores, 
problemas onde isso se aplica. 
A questão agora é:
E quando for necessário escolher o curso de uma ação entre várias 
possíveis?
A solução será usar vários comandos de seleção (tantos quanto necessários) 
encadeados (aninhados), como mostram os próximos dois slides.
Múltiplas Estruturas de Controle de Seleção Aninhadas
Estrutura de Controle de Seleção Aninhadas
expressão 
boleana1
FV
I
C
C
-
A
u
l
a
 
0
3
 
–
P
r
o
f
.
 
 
P
i
t
e
r
i
expressão 
boleana3
FVexpressão 
boleana2
FV
ação1
ação2
ação4ação3
açãon : pode ser qualquer instrução válida (uma ou mais).
expressão 
boleana1
FV
I
C
C
-
A
u
l
a
 
0
3
 
–
P
r
o
f
.
 
 
P
i
t
e
r
i expressão 
boleana2
Vação1
ação2
ação4
ação3
F
expressão 
boleana3
V F
expressão 
boleana4
V F
ação5
próximo_comando
Problema: Dados três valores inteiros quaisquer, encontre o MAIOR (OU IGUAL) 
entre eles.
]
c a b
Nas situações abaixo, quem é o maior entre os três ?
]
b c a
]
c b a
I
C
C
-
A
u
l
a
 
0
3
 
–
P
r
o
f
.
 
P
i
t
e
r
i
Observe que não foram colocadas todas as possibilidades.
Para três valores, qual o número total de permutações possíveis ?
Análise básica do problema:
V
F V
F
F
V
b a
ba
b a
a
b
c
?? ?
ccc
I
C
C
-
A
u
l
a
 
0
3
 
–
P
r
o
f
.
 
P
i
t
e
r
i
a ≥ b b ≥ c
a ≥ c
Análise básica do problema:
algoritmoDados de Entrada Dados de Saída
a, b, c algoritmo
I
C
C
-
A
u
l
a
 
0
3
 
–
P
r
o
f
.
 
P
i
t
e
r
i
Maior (a, b, c)
Problema: Dados três valores inteiros quaisquer, encontre o MAIOR (OU IGUAL) 
entre eles.
Dados (quantidades) gerados pelo algoritmo.
O algoritmo tem que representar outros valores intermediários?
INICIO a,b,c
b, “é o maior (ou igual) 
valor entre”, a, b, c
V
F V
F
FIM
F
V
I
C
C
-
A
u
l
a
 
0
3
 
–
P
r
o
f
.
 
P
i
t
e
r
i
a, “é o maior (ou igual) 
valor entre”, a, b, c
c , “é o maior (ou igual) 
valor entre”, a, b, c
Solução 01: 
a ≥ b
a ≥ c
b ≥ c
INICIO a,b,c
b, “é o maior (ou igual) 
valor entre”, a, b, c
(a ≥ b) E (a ≥ c)
F
V
FIM
a, “é o maior (ou igual) 
valor entre”, a, b, c
c , “é o maior (ou igual) 
valor entre”, a, b, c
Solução 02: 
(b ≥ a) E (b ≥ c)
F
V
I
C
C
-
A
u
l
a
 
0
3
 
–
P
r
o
f
.
 
P
i
t
e
r
i
INICIO a,b,c
b, “é o maior (ou igual) 
valor entre”, a, b, c
(a ≥ b) E (a ≥ c)
F
V
FIM
a, “é o maior (ou igual) 
valor entre”, a, b, c
c , “é o maior (ou igual) 
valor entre”, a, b, c
Solução 03: 
(b ≥ c)
F
V
I
C
C
-
A
u
l
a
 
0
3
 
–
P
r
o
f
.
 
P
i
t
e
r
i
INICIO a,b,c
b ≥ maior
F
V
FIM
maior, “é o maior (ou 
igual) valor entre”, a, b, c
Solução 04: 
F
V
I
C
C
-
A
u
l
a
 
0
3
 
–
P
r
o
f
.
 
P
i
t
e
r
i
maior Å a
maior Å b
c ≥ maior maior Å c
Problema: Encontre as raízes reais de uma equação do segundo grau.
2 0, 0.ax bx c a+ + = ≠
1 2
bx
a
− + Δ=
2 2
bx
a
− − Δ=Raízes:Æ
2 4b acΔ = −Onde:
Se
Æ Raízes reais
Æ Raízes complexas
0Δ ≥
0Δ <
Variáveis do problema
I
C
C
-
A
u
l
a
 
0
3
 
–
P
r
o
f
.
 
P
i
t
e
r
i Análise básica do problema:
Problema: Encontre as raízes reais de uma equação qualquer do segundo grau, 
dada pela equação: 
Variáveis para representar:
Æ valor do delta: delta
Æ raiz 1: x1
Æ raiz 2: x2
2 0, 0.ax bx c a+ + = ≠
I
C
C
-
A
u
l
a
 
0
3
 
–
P
r
o
f
.
 
P
i
t
e
r
i
a, b, c
x1
algoritmo x2
Raízes reais.
Erro nos dados de entrada
algoritmoDados de Entrada Dados de Saída
Dados (quantidades) gerados pelo algoritmo.
O algoritmo tem que representar outros valores intermediários?
INICIO a,b,c
“Raiz X1=”, x1
“Raiz X2-”, x2
“Os valores dados não 
determinam uma equação 
de segundo grau”
FIM
F
V
deltaÅ (b*b)-(4*a*c) a ≠ 0
delta ≥ 0 “Raízes Complexas”
V
F
1 ( ) /(2* )x b delta a← − +
2 ( ) /(2* )x b delta a← − −
I
C
C
-
A
u
l
a
 
0
3
 
–
P
r
o
f
.
 
P
i
t
e
r
i
Problema: Dados três números reais l1, l2 e l3, representando os lados de um 
triângulo, verifique se o triângulo é Eqüilátero, Isósceles ou Escaleno. Em outras 
palavras, classifique o triângulo em função de seus lados.
Condição de Existência de um triângulo:Æ Cada um dos lados deve ser 
menor que a soma dos outros dois. Ou seja, as relações abaixo devem ser 
satisfeitas.
1 2 3
21 3
3 1 2
l l l
l l l
l l l
< +
< +
< +
As medidas ao lado não 
definem um triângulo 
válido.
1l
2l
3l
I
C
C
-
A
u
l
a
 
0
3
 
–
P
r
o
f
.
 
P
i
t
e
r
i
Exemplo :
Análise básica do problema:
Problema: Dados três números reais que representam os lados de um triângulo, 
classifique-o em função de seus lados, ou seja, o triângulo pode ser Eqüilátero, 
Isósceles ou Escaleno.
I
C
C
-
A
u
l
a
 
0
3
 
–
P
r
o
f
.
 
P
i
t
e
r
i
I
C
C
-
A
u
l
a
 
0
3
 
–
P
r
o
f
.
 
P
i
t
e
r
i
l1, l2, l3 algoritmo
Triângulo classificado
algoritmoDados de Entrada Dados de Saída
Dados (quantidades) gerados pelo algoritmo.
O algoritmo tem que representar outros valores intermediários?
Erro nos dados de entrada
INICIO l1, l2, l3
“Os valores 
dados não 
definem um 
triângulo”
V
F
V
F
(l1 < l2 + l3) E
(l2 < l1 + l3) E
(l3 < l1 + l2)
(l1 = l2) (l2 = l3)
V “O triângulo é
Eqüilátero”
(l2 = l3)
“O triângulo é
Isósceles”
V
F
V
F “O triângulo é
Escaleno”
FIM
(l1 = l3)
F
versão 1 :
I
C
C
-
A
u
l
a
 
0
3
 
–
P
r
o
f
.
 
P
i
t
e
r
i
INICIO l1, l2, l3
“Os valores 
dados não 
definem um 
triângulo”
V
F
V
(l1 < l2 + l3) E
(l2 < l1 + l3) E
(l3 < l1 + l2)
(l1 = l2) E
(l2 = l3)
“O triângulo é
Eqüilátero” “O triângulo éIsósceles”
F F “O triângulo é
Escaleno”
FIM
(l1 = l2) OU
(l1 = l3) OU
(l2 = l3)
V
versão 2 :
I
C
C
-
A
u
l
a
 
0
3
 
–
P
r
o
f
.
 
P
i
t
e
r
i
Observação:
Quando houver intersecção entre as setas, é comum o uso de uma simbologia 
alternativa, como a representada abaixo.
I
C
C
-
A
u
l
a
 
0
3
 
–
P
r
o
f
.
 
P
i
t
e
r
i
Exercício 01: Dados quatro valores inteiros quaisquer, encontre o maior entre eles.
Elabore duas versões deste problema: 
(versão a) - as caixas de seleção contêm expressões boleanas simples (sem 
operadores boleanos); 
(versão b) – as caixas de seleção poderão conter operadores boleanos. 
Exercício 02: Dado um ano no intervalo fechado [1750,2500], verifique se esse ano é
bissexto.
Observação: Um ano é bissexto se for múltiplo de 4 mas não de 100, ou, se for 
múltiplo de 400.
EXEMPLO: 1900 não foi um ano bissexto, enquanto os anos 2000 e 2004 foram, e, 
2008, é.
Para cada um dos exercícios abaixo, elabore os respectivos fluxogramas.
Exercício 03: Leia um número inteiro e verifique se ele pertence ao intervalo [0,100].
Observação: Se , também é comum usarmos a notação[ , ]x a b∈ .a x b≤ ≤
Matematicamente está correto. Entretanto, quando formos escrever essa expressão 
lógica em nossos algoritmos, iremos dividi-la em duas e usar o conectivo E. Assim, 
esta expressão será reescrita da seguinte forma: ( ) E ( ).x a x b≥ ≤
I
C
C
-
A
u
l
a
 
0
3
 
–
P
r
o
f
.
 
P
i
t
e
r
i
Exercício 04: Leia um número inteiro positivo e verifique se ele é divisível por 2, 3 e 5 
simultaneamente.
Exercício 05: A Fórmula de Héron computa a área de um triângulo a partir das 
medidas de seus lados a, b e c, e, é dada por , onde 
é o semi-perímetro do triângulo. 
( )( )( )s s a s b s c− − −
( )/2s a b c= + +
Exercício 06 (**): Leia as coordenadas de um ponto c relativas ao centro de uma 
circunferência e um valor positivo r, relativo a seu raio. Em seguida, leia as coordenadas 
de um ponto arbitrário p, e determine se p pertence ao interior, exterior, ou, se está
sobre a curva definida pela circunferência (locus geométrico). Utilize conhecimentos 
básicos de GAV e Geometria Plana.
Classificação de pontos em relação a circunferências:
interior exterior sobre
I
C
C
-
A
u
l
a
 
0
3
 
–
P
r
o
f
.
 
P
i
t
e
r
i
Exercício 06 (**): Dados três pontos p1, p2, e p3 e um quarto ponto arbitrário p, 
determine se p pertence ao interior, exterior, ou, se está sobre a curva definida pela 
circunferência (locus geométrico) que passa pelos três primeiros pontos.
Classificação de pontos em relação a circunferências:
interior exterior sobre
I
C
C
-
A
u
l
a
 
0
3
 
–
P
r
o
f
.
 
P
i
t
e
r
i
Um enunciado alternativo para o exercício 06, seria:
Exercício 09 (***): Dado as coordenadas c1 e c2 relativas aos centros de dois círculos 
e seus respectivos raios r1 e r2, determine se há ou não intersecção entre eles. Se 
houver, calcule a área de intersecção e imprima o resultado.
Exercício 07: Leia três números inteiros positivos dd, mm e ano, representando, 
respectivamente, dia, mês e ano, e, determine se os valores introduzidos caracterizam 
uma data válida.
Exercício 08 (*): Dado as coordenadas p1 e p2 relativas aos pontos extremos de um
sem intersecção
tangentes
intersecção
coincidentes
I
C
C
-
A
u
l
a
 
0
3
 
–
P
r
o
f
.
 
P
i
t
e
r
i
segmento orientado e as coordenadas de um terceiro ponto p, classifique este 
ponto em relação ao segmento orientado, ou seja, se ele se localiza a esquerda, a 
direita, ou sobre a reta suporte que passa pelo segmento (pontos são colineares).
1 2p p
JJJJJJG
2
2
2 2
0 0
0 0
( , )
0 0
0 0
x y se x e y
x y se x e y
f x y
x y se x e y
x y se x e y
+ ≥ ≥⎧⎪ + ≥ <⎪= ⎨ + < ≥⎪⎪ + < <⎩
Exercício 10: Avalie a função abaixo para quaisquer dois 
valores de entrada introduzidos pelo usuário.
( , )f x y
Próxima aula: Continuação da representação de algoritmos por meio de 
fluxogramas.
I
C
C
-
A
u
l
a
 
0
3
 
 
–
P
r
o
f
.
 
 
P
i
t
e
r
i
¾ Estrutura de controle de repetição;
¾ Resolução de exercícios usando esta estrutura e todas as anteriores;
¾ Obviamente que o nível de dificuldade de nossos exercícios (problemas) 
vão aumentar consideravelmente. Portanto, estudem todas as aulas
anteriores e não deixem as dúvidas se acumularem.
Bons estudos e excelentes leituras!!!
A linguagem é apenas o instrumento da ciência, e as palavras não 
passam de símbolos das idéias.
Samuel Johnson (1709-1794)
Um bom programador pode superar uma linguagem ruim ou um 
sistema operacional desajeitado, mas nem mesmo um excelente 
ambiente de programação poderá salvar um programador ruim.
Brian W. Kernighan e Rob Pike
The Practice of Programming
I
C
C
-
A
u
l
a
 
0
3
 
–
P
r
o
f
.
 
P
i
t
e
r
i
Na primeira noite /eles se aproximam
Colhem uma flor de nosso jardim/
E não dizemos nada./ Na segunda noite/
Já não se escondem;/ pisam as flores/
Matam nosso cão/ e não dizemos nada/
Até que um dia/ o mais frágil deles/
Entra sozinho em nossa casa/ rouba-nos a lua e,/
conhecendo nosso medo/
Arranca-nos a voz da garganta./
E porque não dissemos nada,/
Já não podemos dizer nada.
Maiakowski
I
C
C
-
A
u
l
a
 
0
3
 
–
P
r
o
f
.
 
P
i
t
e
r
i

Outros materiais