Começar a programar em Small Basic - Parte 6

Na série de artigos para aprender Small Basic: Começar a programar em Small Basic, neste artigo, vamos novamente dar mais um passo acima no nosso programa Olá Mundo!. Basicamente o que vamos fazer é adicionar um menu ao nosso programa. Com tantas funcionalidades que agora tem o nosso programa precisamos de o organizar.

Está a começar a aprender a programar Small Basic? Então recomendo-lhe que leia esta série de artigos por ordem. Os artigos já publicados são:
Mas, como é que vamos fazer um menu no nosso programa? Primeiro temos de apresentar o menu. Isto já é fácil de fazer. Depois temos de perguntar qual a opção do menu, que o utilizador quer. Isto também já fácil de fazer.

Agora, depois de sabermos qual a opção escolhida temos de colocar no programa a verificar qual a opção escolhida e executar o código para essa opção.

Para isso temos de aprender a estrutura condicional: IF. Traduzindo para português significa: SE. Isto basicamente é uma estrutura de condições Verdadeiro ou Falso. Ele permite que você tome diferentes decisões de acordo com a situação. Explicando melhor como isto funciona:  
SE opção escolhida = (for igual) a 1, ENTÃO faz X;
SENÃO SE opção escolhida = (for igual) a 2, ENTÃO faz Y;
SENÃO faz Z
FIM SE
Explicando o exemplo acima:
  • Na primeira linha, ele verifica se a opção escolhida é igual ao numero 1. Se esta condição for verdadeira, então ele executa o código X. Se for falsa, então passa para a próxima condição. 
  • A segunda linha, ele verifica se a opção escolhida é igual ao número 2. Se esta condição for verdadeira, então ele executa o código Y. Se for falsa, então passa para a próxima condição.
  • A terceira linha, ele não verifica nada, porque como todas as condições anteriores deram resultado falso, ele imediatamente executa o código Z.
  • A quarta linha, diz que a condição SE terminou.
Este exemplo é uma das maneiras do que podemos usar com o IF (SE). Para ajuda a perceber melhor como o IF (SE) funciona, vamos colocar a estrutura de como podemos fazer o menu para o nosso programa. O menu vai dividir todas as funcionalidades que o programa faz até agora. Ou seja, em vez de o programa executar todas as funcionalidades de uma só vez, com este menu vamos escolher qual executar. A estrutura do menu ficará assim:
  1. Mostrar menu
  2. Perguntar qual opção pretendida
  3. Executar condição
    1. Se opção pretendida = 1, Então faz "Perguntar nome"
    2. Senão se opção pretendida = 2, Então faz "Calcular idade"
    3. Senão se opção pretendida = 3, Então faz "Conversor"
    4. Senão, faz "Sair programa"
    5. Fim Se
Com este exemplo, ficamos mais esclarecidos de como o IF (SE) funciona. Agora traduzindo isto para a linguagem de programação Small Basic, teremos de usar a seguinte estrutura:
If (condição) Then
(Código a executar)
ElseIf (condição) Then
(Código a executar)
Else
(Código a executar)
EndIf
Esta é a base da estrutura IF no Small Basic. Mas esta estrutura nem tudo é obrigatório. Se caso a condição que quermos fazer tem apenas uma condição apenas usamos isto:
IF (condição) Then
(Código a executar)
EndIf
Esta é a estrutura mínima para uma condição IF. O resto é opcional.

Voltando ao nosso programa, a verificação de qual opção escolhida ficaria então assim:
If opcao = 1 Then
(Pergunta o nome...)
ElseIf opcao = 2 Then
(Calcular idade...)
ElseIf opcao = 3 Then
(Conversor...)
EndIf
Esta é a estrutura, mas o código completo ficaria assim:
'Aplica a formatação da janela e texto
TextWindow.Title = "Programa Olá Mundo!"
TextWindow.ForegroundColor = "Green"
TextWindow.BackgroundColor = "DarkRed"

'Apresenta o Menu
TextWindow.WriteLine("Menu")
TextWindow.WriteLine("1. Perguntar nome")
TextWindow.WriteLine("2. Calcular idade")
TextWindow.WriteLine("3. Conversor")
TextWindow.Write("Escolha uma opção: ")
opcao = TextWindow.ReadNumber()

'Verifica qual a opção escolhida
If opcao = 1 Then 'Perguntar nome
  TextWindow.Write("Qual é o teu nome? ")
  nome = TextWindow.Read()
  TextWindow.WriteLine("Olá " + nome + "!")
ElseIf opcao = 2 Then 'Calcular idade
  TextWindow.Write("Em que ano nasceste? ")
  ano = TextWindow.ReadNumber()
  idade = Clock.Year - ano
  TextWindow.WriteLine("A tua idade é " + idade + " anos.")
ElseIf opcao = 3 Then 'Conversor
  TextWindow.Write("Escreva um valor em polegadas para converter para centímetros: ")
  polegada = TextWindow.ReadNumber()
  conversao = polegada * 2.54
  TextWindow.WriteLine(polegada + " polegadas = " + conversao + " centímetros")
EndIf
O resultado seria este:

Muito melhor! Agora ao adicionar novas funcionalidades, o programa será mais organizado e apenas executará a opção escolhida.

Este artigo foi um pouco extenso, mas foi para explicar bem as bases da estrutura IF. No próximo artigo iremos aprofundar mais sobre o IF e adicionando mais funcionalidades usando o IF. E já sabem, se tiverem alguma dúvida, é só colocarem aqui em baixo o vosso comentário!

10 comentários:

  1. mto útil os toturias estão de párabens!!

    ResponderEliminar
  2. Concordo plenamente, foram tutoriais bastante úteis e de fácil compreensão, os meus melhores cumprimentos...

    ResponderEliminar
  3. Mas os próximos estão para breve??

    ResponderEliminar
  4. Legal. Sabes mecher no Visual Basic também?

    ResponderEliminar
  5. Parabéns, seus artigos foram ótimos parra meu aprendizado.

    Por favor,onde estão os outros?

    ResponderEliminar
  6. Parabéns mano. Não para de escrever mais artigos, falou? Você está sendo muito importante para muitos. Continua...

    ResponderEliminar
  7. ACOMPANHEI TODOS E FORAM MUITO ÚTEIS.
    QUE VC SEJA ILUMINADO POR COMPARTILHAR O CONHECIMENTO E ESTENDER ESSA FILOSOFIA QUE O CONHECIMENTO TEM QUE SER GRATUITO PARA TODOS TEREM ACESSO !
    GRATO

    ResponderEliminar
  8. show de bola, parabéns, continue atualizando teu blog que tá nota 10, principalmente para iniciantes como eu.

    ResponderEliminar
  9. Estão super bem explicados, parabéns!

    ResponderEliminar
  10. cade o próximo artigo?

    ResponderEliminar

Esteja à vontade para comentar! Critique, pergunte, sugira, o que quiser! Qualquer um pode comentar, e anonimamente!