Ir ao conteúdo

Portugol Algoritmo que estou fazendo


Ir à solução Resolvido por Pedro Math.pi,

Posts recomendados

Postado

programa
{
    
    funcao inicio()
    {
        real resp, temp, reso, reso1
        escreva("Qual situação(exercício) você quer fazer? a(1) b(2) c(3) d(4)")
leia(resp)

 se (resp == 1) 
escreva("Aqui iremos responder o quanto de água haverá na caixa.")
escreva("Este valor será calculado de acordo com o valor que você nos passará.")
escreva("por qaunto tempo(min) a torneira ficou ligada?")
leia(temp)
reso <= temp *15
escreva("Após",temp," minutos, haverá",reso,"L de água na caixa d'água.")
    } senao se  resp=2 {
escreva("aqui mostraremos a função que resulta no volume de água na caixa.")
escreva("e esta função é:")
escreva("y = x.15L.")
escreva("y(volume de água na caixa)")
escreva("x(Quantidade de minutos em que a torneira ficou ligada)")
    } senao se resp=3 { 
escreva("Aqui te mostraremos quanto de água falta para encher a caixa.")
escreva("Este valor será calculado de acordo com o valor que você passará.")
escreva("por qaunto tempo(min) a torneira ficou ligada?")
leia(temp)
reso1<-temp*15
reso<-(21000-reso1)
escreva("Após",temp," minutos, restará",reso,"L para encher a caixa d'água.")
    } senao se resp=4 {
escreva("Aqui mostraremos o tempo levado para encher completamente a caixa.")
escreva("De acordo com os seguintes dados:")
escreva("-A cada 1 minuto a torneira enche 15L da caixa.")
escreva("-A capacidade total da caixa é de 21000L.")
escreva("Serão levadas 23:33H ou 1400min para encher a caixa completamente.")
    } senao se {
escreva("ERRO")
escreva("Reinicie o programa e digite uma alternativa válida")

    }
}

 

Galera, alguém ae para me dar uma mão?

  • Membro VIP
Postado

Sempre que abrir um bloco de instrução com mais de uma linha, precisa colocar. O primeiro "se" incorpora várias instruções de quando o usuário dá a resposta 1.

Você fechou antes do "senão", mas não abriu no "se"

 

Tente colocar as chaves antes de inserir o corpo do código. Aí você não esquece de nenhuma. Tipo assim:

 

se xxxxxx {

//instruções

} senao se xxxxxx { 

//instruções

} senao se xxxxxx {

//instruções

}

 

Não chequei de há outro erro, mas a princípio, está faltando essa primeira chave.

  • Curtir 1
Postado
13 minutos atrás, Math.Pi disse:

Sempre que abrir um bloco de instrução com mais de uma linha, precisa colocar. O primeiro "se" incorpora várias instruções de quando o usuário dá a resposta 1.

Você fechou antes do "senão", mas não abriu no "se"

 

Tente colocar as chaves antes de inserir o corpo do código. Aí você não esquece de nenhuma. Tipo assim:

 


se xxxxxx {

//instruções

} senao se xxxxxx { 

//instruções

} senao se xxxxxx {

//instruções

}

 

Não chequei de há outro erro, mas a princípio, está faltando essa primeira chave.

Eu fiz isso, mas acho que estou com problemas nas linhas 15,16,17

 

image.thumb.png.417e39b4ff8936cc8a87db1c7504ca96.png

  • Membro VIP
Postado

@Anonimo questionador, alguns pontos:

  • mantenha o código identando. É preciso respeitar o alinhamento dos blocos;
  • por favor, edite tua primeira postagem e insira o código dentro da tag CODE. Basta clicar no botão <> que está na Barra de Ferramentas (onde tem o B, I, U, S etc);

 

Sobre o erro apresentado agora, coloque as sentenças que estão sendo verificadas pelos se entre parênteses...  "se (xxxx) {"

  • Curtir 2
  • Membro VIP
Postado

@Anonimo questionador, outra dica bacana é fazer os algoritmos aos poucos... sempre deixando ele rodável.. exemplo:

 

programa
{
	funcao inicio()
	{
		real resp, temp, reso, reso1
		
		escreva("Qual situação (exercício) você quer fazer? a(1) b(2) c(3) d(4)")
		leia(resp)
		
	}
}

 

Para manter o código identado é muito simples: basta deixar tudo que está dentro das {} um dente para frente. Para dar esse deslocamento, basta selecionar as linhas e dar um TAB (ou shift+TAB para recuar).

 

Ao testar, já veria que o texto digitado ficou muito colado...

 

image.png

 

Poderia fazer algo como:

escreva("Qual situação (exercício) você quer fazer? a(1) b(2) c(3) d(4): ")
leia(resp)

 

Aí insere mais um pedaço do código... por exemplo apenas o primeiro se:

 

programa
{
	funcao inicio()
	{
		real resp, temp, reso, reso1
		
		escreva("Qual situação (exercício) você quer fazer? a(1) b(2) c(3) d(4): ")
		leia(resp)

		se (resp == 1) 
			escreva("Aqui iremos responder o quanto de água haverá na caixa.")
			escreva("Este valor será calculado de acordo com o valor que você nos passará.")
			escreva("por qaunto tempo(min) a torneira ficou ligada?")
			leia(temp)
			reso <= temp * 15
			escreva("Após", temp, " minutos, haverá", reso, "L de água na caixa d'água.")
		}
	}
}

 

Ao inserir essa parte, já veria que tem algo errado.. 

 

image.png

 

Ou seja: você não quer uma "expressão lógica", mas sim uma "atribuição de valor"... o comando utilizado seria apenas o "=". Ficando:

 

reso = temp * 15

 

 

Olhe novamente a imagem acima... só de bater o olho já deveria perceber que está faltando algo.. assim como abaixo do programa, e funcao tem uma "{", embaixo do se também deveria.  Ficando:

 

image.png

 

 

Beleza... executando isso teríamos:

 

image.png

 

 

Opa! Está tudo na mesma linha... basta ir alterando e testando. Exemplo de resultado:

 

image.png

 

 

Pronto... parece que tá bom.. aí vai prum próximo:

 

programa
{
	funcao inicio()
	{
		real resp, temp, reso, reso1
		
		escreva("Qual situação (exercício) você quer fazer? a(1) b(2) c(3) d(4): ")
		leia(resp)

		se (resp == 1)
		{
			escreva("\nAqui iremos responder o quanto de água haverá na caixa.\n")
			escreva("\nEste valor será calculado de acordo com o valor que você nos passará.")
			escreva("\nPor quanto tempo (min) a torneira ficou ligada?: ")
			leia(temp)
			reso = temp * 15
			escreva("\nApós ", temp, " minutos, haverá ", reso, "L de água na caixa d'água.\n")
		} senao se (resp ==2) {
			escreva("testando para ver se entrou na segunda opção")
			
			
		}
	}
}

 

Vai criando o segundo se... 

 

Mas veja: para essas próximas etapas, "eu já sei" que precisa quebrar as linhas para não ficar tudo colado.. que a atribuição de valores é com "=" e não "<=" etc etc. Cada vez mais vai conseguir fazer mais coisas de uma vez só... o que "não pode" é fazer muita coisa de uma vez só... sendo que existem erros no caminho. Tenha em mente que sempre que for inserir algo novo, antes o código atual tem que está certinho...

 

  • Curtir 2

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

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!