Você está na página 1de 23

PROGRAMA

DE INFORMÁTICA BÁSICA
Programando Decisão

Prof. João Dallyson


Objetivo

• Compreender o funcionamento das estruturas


condicionais
• Condicional simples e composta
• Compreender o conceito de comandos
encadeados

02/10/17 Prof. João Dallyson (DEINF – UFMA) Algoritmos 2


Estruturas de Controle

• Estrutura Sequencial

• Estruturas de Decisão ou Seleção

• Estruturas de Repetição ou Iteração

02/10/17 Prof. João Dallyson (DEINF – UFMA) Algoritmos 3


Vamos começar......

• Assista o vídeo disponível no link abaixo. Nele Bill


Gate (Criador da Microsoft) apresenta o comando
de tomada de decisão:

• https://youtu.be/m2Ux2PnJe6E

• OBS: Clique em detalhes, canto inferior direito do


vídeo, e depois em legenda para escolher a
legenda do vídeo.
02/10/17 Prof. João Dallyson (DEINF – UFMA) Algoritmos 4
Introdução

• Os algoritmos que escrevemos até agora possuem lógica


fixa, não tem capacidade de escolha de fluxo de execução.

• As estruturas de controle de fluxo oferecem a capacidade


de escolha entre resultados baseando-se nos
acontecimentos gerados durante a execução do programa.

02/10/17 Prof. João Dallyson (DEINF – UFMA) Algoritmos 5


Introdução

• Classificação das Estruturas de Decisão:


– Condicional Simples;
– Condicional Composta;
– Seleção entre duas ou mais sequências de
comandos.

02/10/17 Prof. João Dallyson (DEINF – UFMA) Algoritmos 6


Introdução

• Examine o código exemplo. Você verá o tipo de programa que


poderá escrever quando tiver dominado o controle de fluxo.
• Reescreva, Execute e veja o que acontece!

02/10/17 Prof. João Dallyson (DEINF – UFMA) Algoritmos 7


Estrutura condicional simples

• Tem a finalidade de tomar uma decisão e efetuar


um desvio no fluxo de execução do programa,
dependendo da condição atribuída ser Verdadeira
ou Falsa.
Sintaxe em portugol

Se (<condição> ) então
<instrução>
fim_se

Sintaxe em python

If <condição> :
<instrução>

FONTE: MANZANO (2013)


02/10/17 Prof. João Dallyson (DEINF – UFMA) Algoritmos 8
Estrutura condicional simples

02/10/17 Prof. João Dallyson (DEINF – UFMA) Algoritmos 9


Estrutura condicional simples

Em Python

if < (condição) >:


<instrução executada para condição verdadeira>
<instrução executada após condição ser falsa ou após ter executado a condição
verdadeira>

Exemplo1:
if valor > 5:
print (“ O valor digitado eh maior que 5 ”)

• Python é uma das poucas linguagens que utiliza o deslocamento do texto a


direita (recuo) para marcar o inicio e fim de um bloco

02/10/17 Prof. João Dallyson (DEINF – UFMA) Algoritmos 10


Estrutura condicional simples

• Exercício 1: Algoritmo para ordenar 2 elementos


1. Conhecer dois valores inteiros (A e B)
2. Verificar se o valor de A é maior que o valor de B
a) Se for verdadeiro efetuar a troca (usar variável auxiliar) de
valores das variáveis
b) Se for falso, executar passo 3
3. Exibir os valores das duas variáveis.

02/10/17 Prof. João Dallyson (DEINF – UFMA) Algoritmos 11


Resposta Exercício 1

02/10/17 Prof. João Dallyson (DEINF – UFMA) Algoritmos 12


Desvio condicional composto

FONTE: (ENGELBRECHT, 2012)

Assita ao vídeo:
https://studio.code.org/s/20-hour/stage/17/puzzle/6
02/10/17 Prof. João Dallyson (DEINF – UFMA) Algoritmos 13
Decisão composta em Python

if <(condição)> :
<instruções para condição verdadeira>
else:
<instruções para condição falsa>
Ex:
if valor > 5:
print ("Maior que cinco.”)
else:
print ("Menor que cinco.”)

02/10/17 Prof. João Dallyson (DEINF – UFMA) Algoritmos 14


Decisão composta

• Exemplo:
– Escreva um algoritmo que faça a leitura de 3 notas e
calcule a média. Se média for maior ou igual a 7,
imprima “Aluno Aprovado”, Senão, imprima “Aluno
Reprovado”.

02/10/17 Prof. João Dallyson (DEINF – UFMA) Algoritmos 15


Decisão composta

02/10/17 Prof. João Dallyson (DEINF – UFMA) Algoritmos 16


Desvio condicional encadeado

Em python

if valor> 0:
print ("Maior que Zero.”)
else:
if soma = 0:
print ("Igual a Zero.”)
else:
print ("Menor que Zero.”)
02/10/17 Prof. João Dallyson (DEINF – UFMA) Algoritmos 17
Desvio condicional encadeado

02/10/17 Prof. João Dallyson (DEINF – UFMA) Algoritmos 18


Python comando elif

• O alinhamento pode se tornar um problema quando


tivermos muitos ifs, neste caso teremos que fazer vários
deslocamentos a direita.
• Em python, podemos substituir um par else if por elif, sem
ter que criar outro nível de estrutura, evitando problema de
deslocamento. Ex:

FONTE: https://panda.ime.usp.br/pensepy/static/pensepy/06-Selecao/selecao.html

02/10/17 Prof. João Dallyson (DEINF – UFMA) Algoritmos 19


Exemplo 2

• programa em python do ajusta salarial,


apresentado no slide anterior.

02/10/17 Prof. João Dallyson (DEINF – UFMA) Algoritmos 20


Controle de Fluxo no Codeacademy

• https://www.codecademy.com/pt-
BR/courses/python-beginner-pt-BR-
p4udu/1/2?curriculum_id=53594ed4fed2a853270
00001

02/10/17 Prof. João Dallyson (DEINF – UFMA) Algoritmos 21


Referências

• MANZANO, J. A. N. G; OLIVEIRA, J. F. Algoritmos: Lógica


para Desenvolvimento de Programação de
Computadores. 26ª Ed. São Paulo: Érica, 2013;
• ENGELBRECHT, A. M. et al. Algoritmos e Programação
de Computadores. Editora Campus, São Paulo, 2012.
• FORBELLONE, André Luiz Villar; EBERSPÄCHER, Henri
Frederico. Lógica de programação: a construção de
algoritmos e estruturas de dados. Prentice Hall, 3ª
Ed.,2005.

02/10/17 Prof. João Dallyson (DEINF – UFMA) Algoritmos 22


Perguntas....

02/10/17 Prof. João Dallyson (DEINF – UFMA) Algoritmos 23

Você também pode gostar