Introduo
Etc
Introduo
Aprender a programar no uma tarefa trivial:
Pois envolve manipular uma representao abstrata do
Programao:
Instruo e sequncia de instrues
Objetivos da Aula
Objetivos desta aula:
Apresentaremos um conceito mais elaborado:
As estruturas condicionais
Estruturas
Estruturas de controle permitem o controle do fluxo de
Estrutura Seqencial
Os comandos sero
executados na
mesma ordem em
que foram escritos
C1
C2
...
Cn
alternativos de ao em um programa
Estrutura Condicional:
caracterizada por executar determinados cdigos de
bicicleta
Estudar para a disciplina de Bases ou ir festa
Para cada deciso, h conseqncias especficas
Estrutura Condicional:
Esta estrutura se subdivide em outras duas estruturas:
Estrutura/desvio condicional simples (se-ento)
Estrutura/desvio condicional composta(o) (se-ento-
seno)
Exemplo:
Descrio narrativa: SE fizer sol ENTO vou praia
Fluxograma:
Linguagem
Algortmica SE tempo = Sol
ENTO
{
Vou Praia
}
10
Ento
Seno
Na estrutura composta
temos:
Se.....Ento.....Sen
o.
11
Sen
o
Linguagem
Algortmica
SE tempo = sol
ENTO
{
Vou praia
}
SENO
{
Jogarei cartas
}
12
RoboMind
13
Mapas no RoboMind
Para maiores detalhes de como montar um mapa no
14
Mapas no RoboMind
15
Mapas no RoboMind
mapaTeste2.map
16
Mapas no RoboMind
Objeto/Baliza: o
caracter * (asterisco)
insere um objeto/baliza
no arquivo mapa
17
Mapas no RoboMind
(cor, tipo, x , y)
. = um ponto
18
Mapas no RoboMind
19
20
Esquerda
Direita
Frente
21
22
Comandos so
executados somente
se a CONDIO for
VERDADEIRA
23
24
25
se (condio)
{comandos}
seno
{comandos}
Nesse caso, caso SE a clula
esteja pintada de branco, o rob
ir pint-la de preto e voltar a sua
posio
anterior.
CASO
CONTRRIO, o rob ir andar
trs posies para a frente e
parar
26
Expresses Lgicas
No arquivo mapaTeste2.map altere a posio do rob
seno
{
andarFrente(3)
}
27
Expresses Lgicas
Expresses lgicas:
No
Ou
28
Expresses Lgicas
29
Expresses Lgicas
se(sortear() e no
brancoEsquerda())
{
virarEsquerda()
andarFrente(1)
pintarPreto()
pararPintar()
andarTrs(1)
virarDireita()
}
seno
{
andarFrente(3)
}
30
Exerccio
31
32
O caminho a ser percorrido pelo rob para esse mapa pode ser
visto na figura abaixo. A princpio poderamos usar uma estratgia
parecida com a da aula passada, e programar o caminho na mo,
e passando pelos pontos que contornam a caixa. Entretanto, essa
abordagem no muito flexvel, pois se mudarmos a caixa de
posio, o programa perde a utilidade
33
simulao
34
se
(temObstculoFrente())
{
andarNorte(1)
andarLeste(2)
andarSul(1)
}
seno
{
andarLeste(1)
}
}
35
repetir(10)
{
se
(temObstculoFrente())
{
andarNorte(1)
andarLeste(2)
andarSul(1)
}
seno
{
andarLeste(1)
}
}
36
repetir(9)
{
se
(temObstculoFrente(
))
{
andarNorte(1)
andarLeste(2)
andarSul(1)
}
seno
{
andarLeste(1)
}
}
37
38
39
pintarBranco()
andarNorte(3)
se (sortear())
{
andarLeste(3)
andarSul(3)
andarOeste(3)
}
seno
{
andarOeste(3)
andarSul(3)
andarLeste(3)
}
pararPintar()
40
41