Ir ao conteúdo

Posts recomendados

Postado

Olá! Sou novo na área de programação e peço ajuda para resolver esse exercício de lógica de programação de acordo com o visualg e se possível uma explicação do porque o comando foi executado, pois segundo minha lógica meu professor disse que estava errado.

algoritmo "semnome"
   var
      condicao1, condicao2, condicao3: logico
   inicio
         se (condicao1)então
            comando1
         senao
              se (condicao2)então
                 se (condicao3) então
                    comando2
                    comando3
                 senao
                      comando4
                 fimse
              fimse
         fimse
         comando5
fimalgoritmo

 

a)se condicao1 <- verdadeiro, condicao2 <- verdadeiro, condicao3 <- falso, quais os comandos que serão executados?

 

b)se condicao1 <- falso, condicao2 <- verdadeiro, condicao3 <- falso, quais os comandos que serão executados?

 

c)quais os valores de condicao1, condicao2, condicao3 para que somente o comando 5 seja executado?

 

  • mês depois...
  • Membro VIP
Postado

Olá @leolimaf,

 

Vamos lá...


RESUMIDAMENTE SERIA
O se precisa de um valor lógico para decidir se devia o caminho ou não da execução do programa..., se o valor for VERDADEIRO, ele executa as linhas dentro do se, se for FALSO não executa.

 

No caso do SE/SENAO, se o valor lógico for VERDADEIRO, ele executa o que está no SE, e pula o SENAO. Se o valor lógico for FALSO, ele pula o SE e executa o que tem no SENAO.
 

Sugiro que tente fazer e poste sua resposta aqui e/ou possíveis dúvidas...

 

 

 





VERSÃO EXTENDIDA
 

Para esse exercício, você basicamente necessita ter conhecimento no comando "SE" ("Comando de Desvio Condicional" ou "Estrutura de Seleção") e no conceito de "Valor lógico".

 

O próprio VisuAlg tem uma "referência" que ajuda a explicar esses conceitos... basta ir em Ajuda/Referência da Linguagem do VisuAlg  (atalho Ctrl+Alt+H). Lá procura por "SE" e por "LOGICO". Vale dar uma pesquisada no Google também.

 

 

Vou tentar dar uma explicada sobre nos conceitos e afins...

 

Então, de um modo geral o "computador" vai executar o código compilado seguindo em ordem os comandos, no caso "da esquerda para direita, de cima para baixo" (da mesma forma como lemos um texto, por exemplo). O comando se vai servir para possibilitar o programa ter mais de uma rota, ou seja, executar determinada instrução a depender de uma condição!!! Algo como: "se determinada condição for verdadeira, execute a próxima instrução depois de mim, caso a condição seja falsa, pule a instrução depois de mim". Vai funcionar como o nome sugere: "desviando condicionalmente".

 

O se/senao é semelhante, mudando apenas para "se condição verdadeira, execute o que vem depois de mim e pule o que está no senao, caso contrário pule o que vem depois de mim, execute o que está no senão". (ou executa uma coisa, ou executa a outra).

 

Em relação ao valor lógico, seria resumidamente "algo", no caso, "um tipo de dado", que só tem 2 valores possíveis. Que por definição é true ou false (verdadeiro ou falso). O comando "se" utiliza desse "tipo de dado" para justamente decidir para qual "desvio" o programa vai seguir...

 

Se usarmos um valor fixo no se, como "se (verdadeiro) então", o comando perderá o sentido, pois SEMPRE verdadeiro vai ser verdadeiro e SEMPRE vai executar o que vez depois... logo não precisaria ter um se (já que SEMPRE vai desviar para o mesmo caminho, é melhor logo não ter nenhum comando tentando controlar)... Daí, é necessário que esse valor, utilizado no se, seja "variável"... que dependa de algo... ai que que entra as "expressões lógicas".

 

As expressões lógicas seriam algo que após serem calculados, sempre retornem o tipo de dado lógico, no caso TRUE ou FALSE. Para isso, elas (as expressões lógicas) utilizam de outro recurso, chamado "Operadores Relacionais" (=, <, >, <=, >=, <> ). Ex.: 2>5 (false).  4*4=16 (true). Nos exemplo, também foi utilizado outro conceito chamado "Operadores Aritméticos" (sinal de +. Consulte os outros lá na referência).  Outro conceito que também pode ser utilizado é o "Operadores Lógicos" (vide referência)....

Enfim,

Ai termos

"a)se condicao1 <- verdadeiro, condicao2 <- verdadeiro, condicao3 <- falso, quais os comandos que serão executados?"

, ele está utilizando de "Comando de Atribuição" (No caso o <- ) para "atribuir o valor que está na direita, na variável que está na esquerda... (a variável condicao1 vai ter o valor verdadeiro)

Ex.:

condicao1 <- verdadeiro
se (condicao1) então
  comando1

Como o que está em parênteses resulta em verdadeiro, logo vai executar o que vem depois...daí é só seguir os princípios de "executar" ou "pular" para cada se.

No aguardo.

 

 

 

 

 

 

 

 

 

 

 

 

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!