Ir ao conteúdo

Posts recomendados

Postado

Gostaria de saber a melhor forma de construir o algoritmo dessas duas questões no Portugol Studio. (Obs.: não se trata de nenhum exercício ou atividade de escola ou faculdade).

 

1- Faça um algoritmo que receba vários números inteiros positivos (o algoritmo deverá encerrar quando um número negativo for digitado). O mesmo deverá exibir o maior número digitado;

 

2- Faça um algoritmo que lê a idade de 10 pessoas. Em seguida, o algoritmo deverá apresentar a quantidade de adolescentes (de 12 a 17 anos);

  • Curtir 1
  • Moderador
Postado

Caro usuário,

 

Seja bem-vindo ao Fórum do Clube do Hardware.

 

No intuito de servir como fonte de pesquisa no caso de instituições de ensino, informamos que incorrer no resolvimento por completo de questões relacionadas a disciplinas escolares de cursos técnicos e faculdades podem ser revistas e removidas pela Equipe de Moderação do Clube do Hardware.

 

Para sanar dúvidas sobre esse tipo de problema, por gentileza, publique o passo a passo do desenvolvimento da questão, projeto, monografia ou conteúdo em dúvida para que possamos analisar se a resposta está correta ou não, ou para que possa ser auxiliado com a dúvida no desenvolvimento do exercício.

 

Infelizmente, não há como resolver os trabalhos pelos usuários. O objetivo do Fórum do Clube do Hardware é auxiliar seus usuários a encontrar soluções para que possam sanar suas dúvidas, e não de trazer soluções prontas para seus usuários. Além disso, copiar e colar respostas que não são de autoria própria do qualquer usuário é considerado plágio, o que é ilegal.

 

Esperamos que compreenda.

 

Atenciosamente,

Equipe Clube do Hardware

  • Curtir 1
Postado

@Lukinh4s   use uma variável que seja atualizada a cada número digitado , comparando se o atual é maior que o anterior e se for coloca esse valor na tal variável , assim no final o maior número digitado estará nessa variável , ai imprime o valor dela . 

  • Membro VIP
Postado
38 minutos atrás, Lukinh4s disse:

@devair1010 , obrigado pela resposta, me ajudou muito. Mas estou travado em como faço para o programa exibir o maior número digitado. 😕


@Lukinh4s, por favor, poste seu código atual completo e onde está com dúvidas.

 

Obs.: para postar um código, primeiro clique no botão <>, como indicado abaixo:

botao_code.png

 

  • Curtir 2
Postado

@Simon Viegas Olá Simon. Após eu ter assistido algumas video-aulas e ter tentado fazer, o algoritmo se encontra assim:

programa
{
	
	funcao inicio()
	{
		inteiro idade, i

		escreva("Digite a idade: ")
		leia(idade)
		faca {
			escreva("Informe um número e lhe informo se ele está entre 12 e 17: ")
		leia(num)
		se (idade >=12 e idade <=17) {
			escreva("Adolescente identificado.")}
			enquanto(num < 0) {
			escreva("Programa encerrado! O número de adolescentes entre 12 e 17 anos foi: ") 
			senao {
				escreva("Próximo")}
		
		}
		}
	}

Mas ele nem sequer roda, eu consegui realizá-lo em Phyton, mas estou aprendendo Portugol e estou achando muito complicado.

adicionado 2 minutos depois

E este é o código referente à primeira questão:

programa
{
	
	funcao inicio()
	{
		inteiro idade, i

		escreva("Digite a idade: ")
		leia(idade)
		faca {
			escreva("Informe um número e lhe informo se ele está entre 12 e 17: ")
		leia(num)
		se (idade >=12 e idade <=17) {
			escreva("Adolescente identificado.")}
			enquanto(num < 0) {
			escreva("Programa encerrado! O número de adolescentes entre 12 e 17 anos foi: ") 
			senao {
				escreva("Próximo")}
		
		}
		}
	}

Mas também não está gerando a saída desejada.

  • Curtir 1
  • Membro VIP
Postado

@Lukinh4s, você postou 2 códigos iguais.

 

Creio que você não está criando a estrutura se/senao e faca/enquanto corretamente... no caso, ou coloca as estruturas separadas, ou seja: um depois o outro, ou coloca uma estrutura completa dentro da outra, nunca intercalados. No teu código, por exemplo, você fechou o se, iniciou um enquanto, e depois colocou um senao. Acho que seria algo assim:

faca {

  se (yyyyy) {

  } senao {

  }
  
} enquanto (xxxxx)

 

 

Um segredo é entender o problema e fazer o que está dendo pedido.

 

Veja:

Em 25/04/2020 às 03:13, Lukinh4s disse:

2- Faça um algoritmo que lê a idade de 10 pessoas. Em seguida, o algoritmo deverá apresentar a quantidade de adolescentes (de 12 a 17 anos);

 

 

Exemplo de base inicial:

programa
{	
	funcao inicio()
	{
		inteiro idade
		
		escreva("Digite 10 idades")

		para (inteiro i = 1; i<=10; i++) {
			escreva("Idade: ")
			leia(idade)
		}
	}
}

Eu não sei se o código acima está certo, pois estou sem um compilador/interpretador aqui...

 

 

 

Complementando:

programa
{
	funcao inicio()
	{
		inteiro idade
		inteiro qtdAdolescente = 0 //12 a 17 anos
		
		escreva("Digite 10 idades")		
		para (inteiro i = 1; i<=10; i++) {
			escreva("Idade: ")
			leia(idade)			
			se (idade >=12 e idade <=17) {
				qtdAdolescente = qtdAdolescente+1
			}
		}
		
		escreva("Quantidade de adolescentes: ", qtdAdolescente)
	}
}

Obs.: estou sem um compilador aqui para testar, mas a base da lógica poderia ser algo do tipo.

 

Resumindo:

  • leia 10 idades;
  • a medida que ler uma idade, se for adolescente, atualiza a quantidade de adolescentes;
  • ao final, exibe a quantidade de adolescente.

 

 

 

Sobre:

Em 25/04/2020 às 03:13, Lukinh4s disse:

1- Faça um algoritmo que receba vários números inteiros positivos (o algoritmo deverá encerrar quando um número negativo for digitado). O mesmo  Ele deverá exibir o maior número digitado;

 

Acho que poderia ser algo como:

  • enquanto um número lido não for negativo, leia um novo número (use um faca/enquanto);
  • a medida que ler um novo número, se esse número for maior que o maior número, então passa a ser o maior;
  • ao final, exibe o maior número.

Por aí vai...

 

  • Curtir 1
  • Obrigado 1
Postado

@Simon Viegas Bom dia, Simon. Muito obrigado por dedicar o seu tempo para me responder, referente à primeira questão eu entendi perfeitamente. Perdão por ter repetido o mesmo código, referente à questão 2, não me atentei. Mas segue a forma que eu estava tentando fazê-lo:

programa
{
	
	funcao inicio()
	{
		inteiro numero, novonumero


		faca {
			escreva("Digite um número: ")	
			leia(numero)
			escreva("Digite outro número: ")
			leia(novonumero)}
			
			enquanto(numero >= 0)
			enquanto(novonumero >= 0)

			se (numero > novonumero) {
				escreva("Este é o maior número digitado: ", numero)
				}
			senao {
				escreva("Este é o maior número digitado: ", novonumero)
			}
		}

	}

Mas ele não exibe a mensagem informando qual número é maior. Poderia me corrigir, por favor?!

  • Curtir 1
  • Membro VIP
Postado
/* 1- Faça um algoritmo que receba vários números inteiros 
 * positivos (o algoritmo deverá encerrar quando um número 
 * negativo for digitado). Ele deverá exibir o maior 
 * número digitado;
 */

programa
{
	funcao inicio()
	{
		inteiro numero, maior = 0

		escreva("Digite números positivos (ou um número negativo para sair) ")	
		escreva("\n\n")

		faca {
			escreva("Número : ")	
			leia(numero)

			se (numero > maior)
			{
				maior = numero
			}			
		} enquanto(numero >= 0)

		escreva("Maior número informado: ", maior)
	}
}

 

  • Curtir 1
  • Obrigado 1

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...