• Home »
  • Artigos »
  • Curso de programação em Python aula 8 – Estruturas de controle e decisão

Curso de programação em Python aula 8 – Estruturas de controle e decisão

Bem vindos á oitava aula do curso de programação em PythonEste artigo faz parte do curso de programação em Python do INFOmoz. Para acessar outras aulas do curso, por favor visite o índice do curso de programação em Python .

Objectivos da oitava aula do curso de programação em Python

  • Estruturas de controle e decisão(if)
  • Algumas noções de lógica de programação
  • Comandos lógicos(comparação)

Vamos começar agora a estudar uma das mais importantes ferramentas de programação: as estruturas de controle.As estruturas de controle se dividem em dois tipos: de selecção(decisão) e de repetição, Para esta aula apenas veremos a estrutura de selecção e as outras ficarão para as próximas aulas.A estrutura de selecção que o Python(e quase todas linguagens de programação) utiliza é o if. Algumas linguagens possuem ainda outras estruturas, como o switch..case.Para entendermos melhor o que é a estrutura if e como funciona, vamos agora analisar alguns problema

1. Dados os lados de um triângulo, verificar se ele é equilátero,isósceles ou escaleno, ou então:2. Num jogo, sabendo que o jogador morre se o seu sangue for menorou igual a zero, dado o seu sangue, verificar se ele morreu ou não.

É claro que seria impossível resolver estes problemas sem usar a estrutura if: A estrutura if ajuda-nos a escolher uma dentre várias condições ou opções.Por exemplo, para o caso do triângulo teremos:

-Se os lados forem todos iguais, então é eqüilátero;-Se os lados forem todos diferentes, então é escaleno;-Se não for nenhuma das opções acima, então é isósceles.

Ou então para o nosso jogador:

-se sangue for menor ou igual a zero, então o jogador morreu-Senão(então o sangue é maior que zero), o jogador continua          vivo.

Basicamente a estrutura if funciona assim: a única diferença é que teremos que traduzir os algoritmos acima para a linguagem que estivermos a usar, neste caso: Python.Para fazermos a tradução do algoritmo acima, teremos antes que saber qual é a sintaxe do if em Python, então aqui vai(Você ainda se lembra do conceito de identação????):[/text]if(condição): instruçõeselif(condição): instruções…else instruções[/python]Então o que está acima é mais ou menos isso: se a primeira condição for verdadeira,faça as instruções que estão no primeiro bloco; Senão(se não for a primeira), e se for a segunda, então faça as instruções que estão no segundo bloco e assim por diante; O último else significa, se não for nenhuma das opções acima, então fará as instruções abaixo.

NOTA: As condições elif e else são opcionais, isto é: podemos ter uma estrutura com uma única condição ou com infinitas condições.

Agora já podemos fazer os exemplos referentes a nossa aula, do triângulo e do jogo.Para o triângulo, o programa completo ficaria assim(Por causa dos sérios problemas que tive com a versão beta de Python3000, voltei a fazer os exemplos na versão 2.51, mas como você já conhece os dois, não terá problemas.):

#Programa de verificacao dos tipos de triangulos#Elisio Leonardo#Curso de Programacao em Python (www.infomoz.net)#21/10/2007lado1=float(raw_input("introduza o primeiro lado do triangulo"))lado2=float(raw_input("Introduza o segundo lado do triangulo"))lado3=float(raw_input("Introduza o terceiro lado do triangulo"))if((lado1==lado2) and (lado2==lado3)):    print "O triangulo e equilatero e os lados sao %f %f %f" %(lado1,lado2,lado3)elif((lado1<>lado2)and(lado2<>lado3)and(lado1<>lado3)):    print "o triangulo e escaleno e os lados sao %f %f %f" %(lado1,lado2,lado3)else:    print "O triangulo e isosceles e os lados sao %f %f %f" %(lado1,lado2,lado3)print "pressione qualquer tecla para sair"raw_input()

O programa é consideravelmente simples e espero que tenha percebido a partir dai o uso do if. Como já disse, o elif e o else são opcionais, como verás a seguir, no exemplo do jogo:

#Programa de verificacao do estado do jogador#Elisio Leonardo#Curso de Programacao em Python (www.infomoz.net)#21/10/2007HP=raw_input("Introduza a quantidade de sangue do jogador") #HP vai guardar o valor do sangue do jogadortry:    HP=int(HP)    if(HP<=0):        print "Jogador morreu"    else:        print "Jogador continua vivo"except:    print "Valor nao valido para o sangue do jogador"print "pressione qualquer tecla para continuar"raw_input()

Seguindo os algoritmos citados no inicio, você facilmente entenderá o que faz cada linha do programa, referentes a estrutura. Os comandos para entrada de dados e controle de erros e excepções foram introduzidos nas aulas anteriores, notar que o raw_input() de Python2.51 é equivalente a input() de Python3000. Outra coisa que talvez seja nova para você é a maneira que imprimimos o resultado para o programa do triângulo:

print “Os lados sao %f   %f   %f”    %(x,y,z)

É o mesmo que :

print (“os lados sao”,x,” ”,y,” ”,z)

De Python3000 onde %f %f %f representam os valores de x,y,z a concatenar com a String a imprimir.Agora mais um programa com sentido para você analisar enquanto espera pela próxima aula; este exemplo vai ilustrar mais uma forma de impressão, util quando queremos imprimir mais de uma linha simultaneamente, veja como o menu de opções é impresso. Implementa também o método try-except, para evitar erros de incompatibilidades de tipos(melhor te habituares a usar este método para que os seus programas sejam mais estáveis).

#Programa de verificacao do estado do jogador#Elisio Leonardo#Curso de Programacao em Python (www.infomz.net)#21/10/2007print "**********************************menu do jogo*************************"print """                                  1.Novo jogo2. Reiniciar jogo3.Opcoes4.Creditos5.Pontuacao maxima6.Sair                              """opcao=(raw_input("escolha o numero da opcao que deseja:"))try:    opcao=int(opcao)    if(opcao==1):        print "Escolheu comecar um novo jogo"    elif(opcao==2):        print "escolheu reiniciar jogo"    elif(opcao==3):        print "Escoheu entrar nas opcoes"    elif(opcao==4):        print "escolheu verificar creditos"    elif(opcao==5):        print "escolheu consultar pontuacao maxima"    elif(opcao==6):        print "escolheu sair"    else:        print "Numero invalido"except:    print "Valor nao valido para opcao"print "pressione qualquer tecla para sair"raw_input()

Pergunta:Você já deve estar chateado de tantas aulas sem fazer um jogo famoso né?, pelo menos já tens um programa útil, o do triângulo(Só espero que não use como cabula na aula de Matemática). Então saiba que na próxima aula, farás o teu primeiro jogo famoso, talvez um dos mais famosos jogos de computador. Queres saber qual??? Então espera pela próxima aula!!!Comentários são sempre bem vindos!Nos vemos na nona aula do curso de Programação em Python

Receba nossas actualizações por email

Ver Campanhas anteriores.

(Visited 101 times, 1 visits today)
Share