Home › Fóruns › Programação Básica › Quando usar a condição “Se”
- Este tópico contém 3 respostas, 3 vozes e foi atualizado pela última vez 3 anos, 6 meses atrás por Pedro Castilhos da Rosa.
-
AutorPosts
-
-
6 de junho de 2021 às 16:21 #68774Pedro Castilhos da RosaParticipante
Olá, boa tarde.
Tenho dúvidas sobre como utilizar a condição “Se” no Portugol Studio.
Vejo nas vídeo aulas aparecendo, “Se”, “Senao”, “Senao se”. E não tenho certeza qual utilizar, se é melhor dois “Se” ou um “se” e um “Senao” por exemplo.
Outra dúvida relacionado a isso é com qual tipo de “Se” terminar a condição, as vezes vejo o professor finalizar com “Senao” outras vezes com um “Se” básico, confesso que estou com dificuldades para entender essa parte.Att
-
6 de junho de 2021 às 22:57 #68793IcaroFilhoModerador
Boa noite Pedro.
tentarei de resumir de forma bem simples.
vc utilizará o “se”, sempre determinada situação tiver mais de uma opção.
ex.: Supondo que passa com um veiculo por um radar:programa { funcao inicio() { inteiro vel = 60 se (vel > 70){ escreva("Velcidade superior a 70 km/h") // bloco 1 } senao { escreva("Velocidade inferior a 70 km/h") // bloco 2 } } }
Ou seja, se o veiculo estiver acima de 70, executará o bloco 1 e não executará o resto de se.
Neste exemplo, o valor de vel é inferior a 70, logo ele faz o teste no se, como a condição é falsa ele executa automaticamente o senaoSe nos criássemos vários ” SE “. todas as condições verdadeiras seriam atendidas.
por exemplo.: Suponha que queiramos que o programa nos informe que o veiculo esta abaixo de determinada velocidade. se utilizarmos apenas o se:inteiro vel = 30 se (vel < 10){ escreva("Velocidade menor que 10\n") } se (vel < 20){ escreva("Velocidade menor que 20\n") } se (vel < 40){ escreva("Velocidade menor que 40\n") } se (vel < 50){ escreva("Velocidade menor que 50\n") }
isso nos daria uma saida:
Velocidade menor que 40 Velocidade menor que 50
sabendo que 40 é menor que 50, fica desnecessário continuar os testes lógicos. Sempre que utilizarmos múltiplas opções, usaremos senao se:
inteiro vel = 30 se (vel < 10){ escreva("Velocidade menor que 10\n") } senao se (vel < 20){ escreva("Velocidade menor que 20\n") } senao se (vel < 40){ escreva("Velocidade menor que 40\n") } senao se (vel < 50){ escreva("Velocidade menor que 50\n") }
output:
Velocidade menor que 40
Com isso, quando o teste logico for verdadeiro, irá encerrar. -
7 de junho de 2021 às 11:22 #68843Tutora MaylaMestre
Pedro, a resposta do Icaro está maravilhosa, mas vou complementar de um outro jeito pra ver se te ajuda também.
Para saber quando usar qual tipo de condição é necessário analisar o problema.
- Se há uma situação onde só é necessário saber se uma variável tem ou não um valor, o caso mais simples, podemos usar aqui o
se
apenas.se(num == 1)
- Se há um caso onde além de precisar saber se uma variável tem um valor, nos precisamos tratar também o caso onde ela tem todos os valores que não são o desejado. Note aqui que o
senao
irá englobar todos os valores de idade menores que 18, ou seja, tudo que não pertencer ao blocose
. Podemos fazer algo como:se(idade >= 18) {... }senao {...}
- Se temos um caso, onde além de precisar saber se uma variável tem ou não um determinado valor, precisamos saber se ela tem outro determinado valor, podemos usar o
senao se
. Como uma variável não pode conter ambos valores ao mesmo tempo, o que estamos dizendo em forma de código aqui é “se a variável não for uma maça então ela pode ser uma banana” mas nunca ela vai ser maça e banana ao mesmo tempo.se(fruta == "maça") {... }senao se("fruta == "banana") {...}
se aqui quisermos englobar ainda os casos onde a variável é qualquer fruta que não seja maça ou banana podemos adicionar o
senao
no final.se(fruta == "maça") {... }senao se("fruta == "banana") {... }senao {...} //aqui é tudo que <strong>não </strong>é maça ou banana
O
senao se
ajuda a não fazer testes desnecessários, imagine que já foi descoberto que a fruta é uma maça, pra que eu irei testar se ela é também uma banana? Com osenao se
, ele só ira fazer o teste se é uma banana se souber que não é uma maça. E só irá para o blocosenao
se souber que não é nem maça e nem banana. - É possível utilizar uma sequencia como a abaixo :
se(num == 10){... }se(num == 20){... }se(num == 30){...}
Mas como eu expliquei anteriormente não é possível que a variável tenha 2 valores ao mesmo tempo, então nessa situação provavelmente é melhor utilizar o
senao ne
.
A condição pode ser finalizada com qualquer um dos 3 tipos, se for apenas um teste básico pode terminar apenas com o
se
, se for um teste onde se quer englobar todos os casos restantes termina-se com osenao
e se for um teste onde eu quero realiza-lo apenas se os teste anteriores derem falsos, pode-se terminar com osenao se
.
Note que só é possível começar com ose
(e pode aparecer também no meio e no final), enquanto osenao se
pode ser utilizado no meio e no final e osenao
só pode ser utilizado no final.
O código abaixo é um exemplo de código ERRADO pois todosenao se
e todosenao
tem que estar associado a umse
escrito imediatamente anteriormente:
Senao se(nome == "Mayla")
.Não mencionei aqui
se
aninhados, se houver dúvida sobre como utilizar blocos condicionais aninhados basta deixar sua dúvida aqui que lhe ajudaremos também.Espero ter ajudado, quaisquer dúvidas estamos a disposição. Bons estudos!
- Se há uma situação onde só é necessário saber se uma variável tem ou não um valor, o caso mais simples, podemos usar aqui o
-
8 de junho de 2021 às 15:11 #68931Pedro Castilhos da RosaParticipante
Icaro e Mayla, obrigado pelas respostas.
Agora consegui entender perfeitamente as condições, me ajudaram bastante.
-
-
AutorPosts
- Você deve fazer login para responder a este tópico.