Ir ao conteúdo
  • Cadastre-se
Eric Pulquerio

(exercício) tirar média e verificar qual é maior

Recommended Posts

Bom dia Galera de TI! :)

 

Estou começando a aprender pascal e estou com algumas dúvidas.

Eu escrevi um código ao qual as funções básicas dele é:

• Fazer a leitura de 3 notas de provas.

• Verificar se a media das duas primeiras é maior que 7 ou se a terceira é maior que 7.

• Verificar qual foi a maior e menor nota.

• Retornar se foi aprovado ou reprovado de acordo com a nota.

 

O meu problema está sendo fazer um loop para encontrar a maior e menor nota.

Será que alguém pode me ajudar?

 

program Teste;

var
	{ INICIO: DIZER MEU TIPO DE VARIAVÉL }
	NotaMaior, NotaMenor : real;
	nota1, nota2, nota3, media : real;
	i : integer;
	{ FIM: DIZER MEU TIPO DE VARIAVÉL }

begin
	{ INICIO: EXECUÇÃO DO MEU SCRIPT }

	{ INICIO: INFORMAÇÃO INICIAL DO SCRIPT }
	writeln('Olá. Como vai?');
	writeln;
	writeln('Este programa ira tirar sua media anual. Você ira inserir suas 3 notas');
	writeln('do primeiro semestre, e depois as 3 do segundo semestre.');
	writeln;
	writeln('Vamos começar?');
	writeln;
	{ FIM: INFORMAÇÃO INICIAL DO SCRIPT }

	{ INICIO: PEGAR VALOR DAS NOTAS }
	writeln('Insira por favor a nota da P1 do primeiro semestre:');
	readln(nota1);
	writeln('Insira por favor a nota da P2 do primeiro semestre:');
	readln(nota2);
	writeln('Insira por favor a nota da P3 do primeiro semestre: (Caso não tenha feiro digite 0.)');
	readln(nota3);
	{ FIM: PEGAR VALOR DAS NOTAS }

	{ INICIO: CALCULO DE MÉDIAS }
	media := (nota1*0.25 + nota2*10/6) / 2;
	NotaMaior := 0;
	NotaMenor := 1;
	for i:= 1 to 3 do
		Begin;
		read(nota);
		if nota[i] > NotaMaior then
			NotaMaior := nota[i];
		if nota[i] < NotaMenor then
			NotaMenor := nota[i]
		End;
				
	
	{ FIM: CALCULO DE MÉDIAS }

	{ INICIO: RESULTADO }
	if (media >= 7.0) or nota3sem1 >= 7.0 then
		Begin;
		writeln(' _____       ___   _____        ___   _____   _____   __   _   _____  ');
		writeln(' |  _  \     /   | |  _  \      /   | |  _  \ | ____| |  \ | | /  ___/');
		writeln(' | |_| |    / /| | | |_| |     / /| | | |_| | | |__   |   \| | | |___  ');
		writeln(' |  ___/   / / | | |  _  /    / / | | |  _  { |  __|  | |\   | \___  \ ');
		writeln(' | |      / /  | | | | \ \   / /  | | | |_| | | |___  | | \  |  ___| | ');
		writeln(' |_|     /_/   |_| |_|  \_\ /_/   |_| |_____/ |_____| |_|  \_| /_____/ ');
		writeln('Sua maior nota foi ', NotaMaior);
		writeln('Sua menor nota foi ', NotaMenor);
		End
	else
		Begin;
		writeln(' _     _       ___        _____   _____   _____   _   _   _____       ___   _____   ');
		writeln('| |   / /     /   |      | ____| /  ___/ |_   _| | | | | |  _  \     /   | |  _  \  ');
		writeln('| |  / /     / /| |      | |__   | |___    | |   | | | | | | | |    / /| | | |_| |  ');
		writeln('| | / /     / / | |      |  __|  \___  \   | |   | | | | | | | |   / / | | |  _  /  ');
		writeln('| |/ /     / /  | |      | |___   ___| |   | |   | |_| | | |_| |  / /  | | | | \ \  ');
		writeln('|___/     /_/   |_|      |_____| /_____/   |_|   \_____/ |_____/ /_/   |_| |_|  \_\ ');
		End;
	{ FIM: RESULTADO }

	end .

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá

1) Cálculo das médias

 

Em 10/03/2016 às 09:31, Eric Pulquerio disse:

• Verificar se a media das duas primeiras é maior que 7 ou se a terceira é maior que 7.

Esse "a média" também precisa ser verificada...

media := (nota1*0.25 + nota2*10/6) / 2;

Daria para nos explicar como foi feito essa fórmula? (acho que tem alguma coisa errada nessa conta)

 

2) Maior e Menor nota

Basicamente você terá que usar as notas que já tem!.. e como você está utilizando variáveis comuns (sem se array), não faz sentido utilizar laços de repetições.

 

O laço de repetição nesse caso serviria para auxiliar a percorrer um suposto array de notas. Ou você faz if a if para cada nota, ou converte a nota para array.

 

Obs.: Se for se basear pela a organização do código, como nos comentários, o trecho da média está misturado com o trecho das "verificações do maior e menor", ou seja, ou você ajusta o comentário, ou separa as coisas.

 

***

 

MINHA SUGESTÃO

Acredito que fazer a média e maior e menor juntos não seja uma boa ideia no momento. Retire a parte do maior e menor, e tente finalizar utilizando apenas média (por si só, tem detalhes que precisam ser revistos). Após, insira a parte do maior e menor... (juntamente com as possíveis modificações que ela pode exigir).

Editado por Simon Viegas

Compartilhar este post


Link para o post
Compartilhar em outros sites

Seria  mais fácil você tirar a média das três notas e se for maior que 7 aprovado e menor que 7 reprovado 

Utilizando as condições if

 

program teste
var  
n1,n2,n3: real; 
m: real;
begin 
writeln('digite a primeira nota');
readln(n1); 
writeln('digite a segunda nota');
readln(n2);
writeln('digite a terceira nota');
readln(n3);
m:= (n1+n2)/2;
if (m >7 ) then 
writeln( 'maior nota e aluno aprovado');
else
writeln(menor nota aluno reprovado'); 
end.

 

Editado por FAWAUGHAN
Inserir tag CODE no código

Compartilhar este post


Link para o post
Compartilhar em outros sites

@FAWAUGHAN, acho que é por ai. Mas tem outros requisitos:

 

Em 10/03/2016 às 09:31, Eric Pulquerio disse:

Fazer a leitura de 3 notas de provas.

• Verificar se a media das duas primeiras é maior que 7 ou se a terceira é maior que 7.

• Verificar qual foi a maior e menor nota.

• Retornar se foi aprovado ou reprovado de acordo com a nota.

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro 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 publicações 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

×