Escolar Documentos
Profissional Documentos
Cultura Documentos
Revisão Textual:
Prof.ª Esp. Kelciane da Rocha Campos
Estruturas de Decisão
Caro Aluno(a)!
Normalmente, com a correria do dia a dia, não nos organizamos e deixamos para o úl-
timo momento o acesso ao estudo, o que implicará o não aprofundamento no material
trabalhado ou, ainda, a perda dos prazos para o lançamento das atividades solicitadas.
Assim, organize seus estudos de maneira que entrem na sua rotina. Por exemplo, você
poderá escolher um dia ao longo da semana ou um determinado horário todos ou alguns
dias e determinar como o seu “momento do estudo”.
Após o contato com o conteúdo proposto, participe dos debates mediados em fóruns de
discussão, pois estes ajudarão a verificar o quanto você absorveu do conteúdo, além de
propiciar o contato com seus colegas e tutores, o que se apresenta como rico espaço de
troca de ideias e aprendizagem.
Bons Estudos!
UNIDADE
Estruturas de Decisão
Contextualização
Em muitos momentos, nosso aplicativo deve tomar decisões de acordo com as condi-
ções pré-estabelecidas. As estruturas de decisão exigem que o programador especifique
uma ou mais condições a serem avaliadas ou testadas pelo programa, juntamente com
uma declaração ou instruções a serem executadas. No Scratch, como em qualquer outra
linguagem de programação, as condições são testadas e retornam sempre um resultado
do tipo Boolean (verdadeiro ou falso).
6
Estruturas de Decisão
Em muitos momentos, nosso aplicativo deve tomar decisões de acordo com as con-
dições pré-estabelecidas. As estruturas de decisão exigem que o programador especifi-
que uma ou mais condições a serem avaliadas ou testadas pelo programa, juntamente
com uma declaração ou instruções a serem executadas.
Figura 1
Figura 2
7
7
UNIDADE
Estruturas de Decisão
Operadores relacionais
Operadores relacionais são utilizados para comparar valores entre dois termos. O
resultado dessa comparação sempre irá retornar um valor booleano, ou seja, true ou
false. No Scratch, temos os seguintes operadores:
Tabela 1
OPERADORES RELACIONAIS
Operador Nome Descrição Exemplo
Operadores lógicos
Um operador lógico é um operador que retorna um resultado booleano (true ou false),
baseado no resultado booleano de uma ou duas outras expressões. O conceito de opera-
dores lógicos é simples. Eles permitem que um programa tome uma decisão com base em
múltiplas condições. Cada operando é considerado uma condição que pode ser avaliada de
acordo com o valor (verdadeiro ou falso). Os operadores lógicos no Scratch são e, ou e não.
Tabela 2
OPERADORES LÓGICOS
Operador Descrição Exemplo
8
OPERADORES LÓGICOS
Operador Descrição Exemplo
Blocos de Decisão
A linguagem Scratch fornece os seguintes tipos de declarações de tomada de decisão:
Tabela 3
Bloco de comando Nome do conceito em
(categoria controle) programação
se... então (if... then)
9
9
UNIDADE
Estruturas de Decisão
Se (condição) então
Figura 3
A condição é que a soma das notas A e B deve ser maior que seis (6); caso o teste
dessa condição retorne verdadeiro, o programa executa as instruções previstas para
esta situação.
10
Nesse cenário, vejamos o seguinte exemplo no Scratch:
Figura 4
Explicando o código
• Linha 1 – bloco “quando for clicado”. Esse bloco indica que o programa será exe-
cutado quando o usuário clicar no ícone da bandeira verde.
• Linha 2 – bloco “pergunte e espere”. Esse bloco é responsável pela funcionalidade
de entrada de dados. Nesse caso, essa instrução solicita ao usuário que digite a
primeira nota.
• Linha 3 – bloco “mude para”. Esse bloco é responsável por alterar o valor contido
na variável “nota_A”. O resultado da resposta solicitada na linha 3 será inserido na
variável “nota_A”.
• Linha 4 – bloco “pergunte e espere”. Esse bloco é responsável pela funcionalidade
de entrada de dados. Nesse caso, essa instrução solicita ao usuário que digite a
segunda nota.
• Linha 5 – bloco “mude para”. Esse bloco é responsável por alterar o valor contido
na variável “nota_B”. O resultado da resposta solicitada na linha 3 será inserido na
variável “nota_B”.
• Linha 6 – nessa linha, utiliza-se o bloco “mude para” para alterar o valor contido na
variável “soma”. Para isso, utilizamos o bloco “+” da categoria Operadores.
• Linha 7 – bloco “se... então”. Esse bloco testa a condição proposta pelo operador
relacional “>” (maior). Ou seja, caso o teste resulte em verdadeiro (a soma for maior
que 6), será executada a linha 8.
11
11
UNIDADE
Estruturas de Decisão
• Linha 8 – bloco “diga por”. Esse bloco é responsável por exibir mensagens em
texto na área do ator. Nesse caso específico, essa linha será executada somente se
a condição testada pelo bloco “se... então” for verdadeira.
Toda declaração se... então... senão segue uma sintaxe padrão: teste uma condição
e, se for verdade, execute o bloco de instrução 1; caso contrário, o bloco de instrução 2.
Se (condição) então
senão
12
Figura 6
Explicando o código
• Linha 1 – bloco “quando for clicado”. Esse bloco indica que o programa será exe-
cutado quando o usuário clicar no ícone da bandeira verde.
• Linha 2 – bloco “pergunte e espere”. Esse bloco é responsável pela funcionalidade
de entrada de dados. Nesse caso, essa instrução solicita ao usuário que digite a
primeira nota.
• Linha 3 – bloco “mude para”. Esse bloco é responsável por alterar o valor contido
na variável “nota_A”. O resultado da resposta solicitada na linha 3 será inserido na
variável “nota_A”.
• Linha 4 – bloco “pergunte e espere”. Esse bloco é responsável pela funcionalidade
de entrada de dados. Nesse caso, essa instrução solicita ao usuário que digite a
segunda nota.
• Linha 5 – bloco “mude para”. Esse bloco é responsável por alterar o valor contido
na variável “nota_B”. O resultado da resposta solicitada na linha 3 será inserido na
variável “nota_B”.
• Linha 6 – nessa linha, utiliza-se o bloco “mude para” para alterar o valor contido na
variável “soma”. Para isso, utilizamos o bloco “+” da categoria Operadores.
• Linha 7 – bloco “se... então... senão”. Esse bloco testa a condição proposta pelo
operador relacional “>” (maior). Ou seja, caso o teste resulte em verdadeiro (a soma
for maior que 6), será executada a linha 8. Por outro lado, se o teste resultar falso,
a linha 9 será executada.
• Linha 8 – bloco “diga por”. Esse bloco é responsável por exibir mensagens em
texto na área do ator. Essa linha será executada somente se a condição testada pelo
bloco “se... então... senão” for verdadeira.
• Linha 9 – bloco “diga por”. Essa linha será executada somente se a condição testa-
da pelo bloco “se... então... senão” for falsa.
13
13
UNIDADE
Estruturas de Decisão
Se (condição) então
senão
Se (condição2) então
Vamos dar continuidade ao exemplo do programa que recebe duas notas e em segui-
da efetua a soma das notas e exibe na tela “Aprovado” ou “Reprovado”. Iremos com-
plementar com mais uma condição. Caso a nota seja inferior a seis (6), porém superior
a quatro (4), o programa irá imprimir na tela o texto “Avaliação Final”.
Figura 6
14
A condição para o aluno ser aprovado é possuir uma nota maior que seis (6); porém
abaixo dessa nota, temos uma nova condição. O aluno pode efetuar a avaliação final
se sua nota for maior que quatro (4). Se sua nota for menor ou igual a quatro (4), será
reprovado.
No Scratch, essa estrutura se dá por meio do encaixe entre blocos “se... então” e/ou
“se... então...senão”. Vejamos a implementação desse algoritmo no Scratch:
Figura 7
Explicando o código
• Linha 1 – bloco “quando for clicado”. Esse bloco indica que o programa será exe-
cutado quando o usuário clicar no ícone da bandeira verde.
• Linha 2 – bloco “pergunte e espere”. Esse bloco é responsável pela funcionalidade
de entrada de dados. Nesse caso, essa instrução solicita ao usuário que digite a
primeira nota.
• Linha 3 – bloco “mude para”. Esse bloco é responsável por alterar o valor contido
na variável “nota_A”. O resultado da resposta solicitada na linha 3 será inserido na
variável “nota_A”.
• Linha 4 – bloco “pergunte e espere”. Esse bloco é responsável pela funcionalidade
de entrada de dados. Nesse caso, essa instrução solicita ao usuário que digite a
segunda nota.
• Linha 5 – bloco “mude para”. Esse bloco é responsável por alterar o valor contido
na variável “nota_B”. O resultado da resposta solicitada na linha 3 será inserido na
variável “nota_B”.
• Linha 6 – nessa linha, utiliza-se o bloco “mude para” para alterar o valor contido na
variável “soma”. Para isso, utilizamos o bloco “+” da categoria Operadores.
15
15
UNIDADE
Estruturas de Decisão
• Linha 7 – bloco “se... então... senão”. Esse bloco testa a condição proposta pelo
operador relacional “>” (maior). Ou seja, caso o teste resulte em verdadeiro (a soma
for maior que 6), será executada a linha 8. Por outro lado, se o teste resultar falso,
o bloco se... então... senão na linha 9 será executado.
• Linha 8 – bloco “diga por”. Essa linha será executada somente se a condição testa-
da pelo bloco “se... então... senão” for verdadeira.
• Linha 9 – bloco “se... então... senão”. Essa linha será executada somente se a con-
dição da linha 7 retornar falso. Uma vez executado, esse bloco testa a condição:
Soma “>” (maior) que “4”. Caso retorne verdadeiro, a linha 10 será executada;
caso retorne falso, será executada a linha 11.
• Linha 10 – bloco “diga por”. Essa linha será executada somente se a condição tes-
tada pelo bloco “se... então... senão” da linha 9 for verdadeira.
• Linha 11 – bloco “diga por”. Essa linha será executada somente se a condição tes-
tada pelo bloco “se... então... senão” da linha 9 for falso.
Considerações finais
Concluímos nossa unidade de estudo sobre estruturas de decisão.
Dito isso, deixo como sugestão a leitura do livro Algoritmos: lógica para desenvol-
vimento de programação de computadores, dos autores José Augusto N. G. Manza-
no e Jayr F. de Oliveira.
Até breve!
16
Material Complementar
Indicações para saber mais sobre os assuntos abordados nesta Unidade:
Livros
Algoritmos: Lógica para desenvolvimento de programação de computadores
MANZANO, José Augusto N. G.; OLIVEIRA, Jayr F. de. Algoritmos: lógica para desenvol-
vimento de programação de computadores. 28ª edição. Cap. 4 - Programação com decisão.
Vídeos
Lógica de programação com Scratch - Parte 3 - Condicionais e mais operadores
Tutorial sobre Scratch focando em condicionais. Vamos entender o funcionamento dos
dois tipos de condicionais se... então e se... então... senão.
https://youtu.be/YiPCIvItJnc
Leitura
Estruturas de condição encadeadas
https://goo.gl/oRsLq6
Algoritmo - estruturas condicionais
https://goo.gl/ycyXNt
17
17
UNIDADE
Estruturas de Decisão
Referências
MARJI, Majed. Aprenda a programar com Scratch: uma introdução visual à pro-
gramação com jogos, arte, ciência e matemática. São Paulo: Novatec Editora, 2014.
18