Ir ao conteúdo

Cálculo de médias, maior e menor notas


erysouza

Posts recomendados

Postado

Faça um programa que calcule a média de Duas ou mais turmas de 20 alunos,imprimindo

a média dessas turma é a maior média.

Está acontecendo o seguinte, ele pega o resultado da 1º média e soma com o da segunda media e retornando a soma da segunda como maior e não calcula para depois retornar a maior.

program mediaTurma;

uses crt;

var i,nota,quant:integer;
soma,media,maior:real;

begin
clrscr;
soma:=0;
maior:=0;

write('A media de quantas turma deseja calcular! ');
readln(quant);

for i:= 1 to quant do

begin
if quant > 1 then
writeln('');
write('Digite a nota! ');
readln(nota);

soma:= soma + nota;

media:= soma/quant;

if media > maior then
maior:= media;


writeln('A média é: ',media:0:2);

end;

write('A maior média foi: ',maior:0:2);
readkey;
end.

  • Membro VIP
Postado

Olá erysouza.

Faça um programa que calcule a média de Duas ou mais turmas de 20 alunos,imprimindo

a média dessas turma é a maior média.

Está acontecendo o seguinte, ele pega o resultado da 1º média e soma com o da segunda media e retornando a soma da segunda como maior e não calcula para depois retornar a maior.



uses crt;

var i,nota,quant:integer;
soma,media,maior:real;

begin
clrscr;
soma:=0;
maior:=0;

write('A media de quantas turma deseja calcular! ');
readln(quant);

for i:= 1 to quant do

begin
if quant > 1 then
writeln('');
write('Digite a nota! ');
readln(nota);

soma:= soma + nota;

media:= soma/quant;

if media > maior then
maior:= media;


writeln('A média é: ',media:0:2);

end;

write('A maior média foi: ',maior:0:2);
readkey;
end.
program mediaTurma;

1) Definição de conceitos

Você está misturando "quantidade de turmas" com "quantidade de notas de uma turma". São coisas diferentes! (ou nas turmas só tem 1 aluno? ^_^)

2) Programe "em módulos"

Sugiro que faça o programa por partes. Primeiro simplesmente faça o programa que calcule a média de uma turma e exiba o resultado; Depois com N turmas e exiba o resultado de cada uma... por ai vai.

***

No aguardo.

Abraços

Postado

Cara tentei várias possibilidade mas não deu certo,pois estou no 2º semestre

tive poucas aulas de pascal, o que está me ajundando e umas videos aulas que baixei no youtube. Fiz esse mas não funcionou!


program mediaTurma;

uses crt;

var i,nota,quant,cont:integer;
soma,media,maior:real;

begin
clrscr;
soma:=0;
maior:=0;

write('A media de quantas turma deseja calcular! ');
readln(quant);
for cont:=1 to quant do

for i:= 1 to 10 do


begin
if quant > 1 then
writeln('');
write('Digite a nota! ');
readln(nota);

soma:= soma + nota;

media:= soma/10;

if media > maior then
maior:= media;


writeln('A média é: ',media:0:2);

end;

write('A maior média foi: ',maior:0:2);
readkey;
end.

  • Membro VIP
Postado
Cara tentei várias possibilidade mas não deu certo,pois estou no 2º semestre

tive poucas aulas de pascal, o que está me ajundando e umas videos aulas que baixei no youtube. Fiz esse mas não funcionou!



uses crt;

var i,nota,quant,cont:integer;
soma,media,maior:real;

begin
clrscr;
soma:=0;
maior:=0;

write('A media de quantas turma deseja calcular! ');
readln(quant);
for cont:=1 to quant do

for i:= 1 to 10 do


begin
if quant > 1 then
writeln('');
write('Digite a nota! ');
readln(nota);

soma:= soma + nota;

media:= soma/10;

if media > maior then
maior:= media;


writeln('A média é: ',media:0:2);

end;

write('A maior média foi: ',maior:0:2);
readkey;
end.[/SPOILER]

program mediaTurma;

A dica continua:

Primeiro simplesmente faça o programa que calcule a média de uma turma e exiba o resultado.

Depois tente fazer de N turmas... entendendo com "uma" funciona, fica mais fácil entender com "N".

EXTRAS

  • Use begin/end em todos os comandos para evitar confusão.
    É simples, onde os comandos podem ou não precisar de begin/end, insira-os, como no for e no if. Daí, todos os comandos que devem ficar relacionados a eles, ficaram dentro dos seus begin/end repectivos.
    Por exemplo, esse seu último código ficaria assim:

    [color=#0000ff]uses[/color]
    crt[color=#000000];[/color]
    [color=#0000ff]var[/color]
    i[color=#000000],[/color]nota[color=#000000],[/color]quant[color=#000000],[/color]cont[color=#000000]:[/color][color=#0000ff]integer[/color][color=#000000];[/color]
    soma[color=#000000],[/color]media[color=#000000],[/color]maior[color=#000000]:[/color][color=#0000ff]real[/color][color=#000000];[/color]
    [color=#0000ff]begin[/color]
    clrscr[color=#000000];[/color]
    soma[color=#000000]:=[/color][color=#ff8000]0[/color][color=#000000];[/color]
    maior[color=#000000]:=[/color][color=#ff8000]0[/color][color=#000000];[/color]
    [color=#ff0080]write[/color][color=#000000]([/color][color=#a31515]'A media de quantas turma deseja calcular! '[/color][color=#000000]);[/color]
    [color=#ff0080]readln[/color][color=#000000]([/color]quant[color=#000000]);[/color]
    [color=#0000ff]for[/color] cont[color=#000000]:=[/color][color=#ff8000]1[/color] [color=#0000ff]to[/color] quant [color=#0000ff]do[/color]
    [color=#0000ff]begin[/color]
    [color=#0000ff]for[/color] i[color=#000000]:=[/color] [color=#ff8000]1[/color] [color=#0000ff]to[/color] [color=#ff8000]10[/color] [color=#0000ff]do[/color]
    [color=#0000ff]begin[/color]
    [color=#0000ff]if[/color] quant [color=#000000]>[/color] [color=#ff8000]1[/color] [color=#0000ff]then[/color]
    [color=#0000ff]begin[/color]
    [color=#ff0080]writeln[/color][color=#000000]([/color][color=#a31515]''[/color][color=#000000]);[/color]
    [color=#0000ff]end[/color][color=#000000];[/color]
    [color=#ff0080]write[/color][color=#000000]([/color][color=#a31515]'Digite a nota! '[/color][color=#000000]);[/color]
    [color=#ff0080]readln[/color][color=#000000]([/color]nota[color=#000000]);[/color]
    soma[color=#000000]:=[/color] soma [color=#000000]+[/color] nota[color=#000000];[/color]
    media[color=#000000]:=[/color] soma[color=#000000]/[/color][color=#ff8000]10[/color][color=#000000];[/color]
    [color=#0000ff]if[/color] media [color=#000000]>[/color] maior [color=#0000ff]then[/color]
    [color=#0000ff]begin[/color]
    maior[color=#000000]:=[/color] media[color=#000000];[/color]
    [color=#0000ff]end[/color][color=#000000];[/color]
    [color=#ff0080]writeln[/color][color=#000000]([/color][color=#a31515]'A média é: '[/color][color=#000000],[/color]media[color=#000000]:[/color][color=#ff8000]0[/color][color=#000000]:[/color][color=#ff8000]2[/color][color=#000000]);[/color]
    [color=#0000ff]end[/color][color=#000000];[/color]
    [color=#0000ff]end[/color][color=#000000];[/color]
    [color=#ff0080]write[/color][color=#000000]([/color][color=#a31515]'A maior média foi: '[/color][color=#000000],[/color]maior[color=#000000]:[/color][color=#ff8000]0[/color][color=#000000]:[/color][color=#ff8000]2[/color][color=#000000]);[/color]
    readkey[color=#000000];[/color]
    [color=#0000ff]end[/color][color=#000000].[/color]
    [color=#0000ff]program[/color] mediaTurma[color=#000000];[/color]


    Ou seja, a lógica desse código acima está exatamente igual a sua. Mas com o begin/end fica mais descriminado.

  • O cálculo da média só precisa ser calculado uma vez, ou seja, primeiro se "soma todos os valores", depois "se divide pelo total". Você está calculando (e exibindo) a média a cada leitura de uma nota.
    Primeiro ler as notas, depois se calcula.
  • Como sugerido, faça uma programa mais simples como supracitado lá no topo desta mensagem. Mas quando for partir para fazer mais um uma turma ao mesmo tempo (lembrando: faça um programa mais simples e correto para servir como base e experiência, para depois fazer um mais "complicado") lembre-se de zerar novamente as variáveis necessáris para evitar que acumule com os valores anteriores.

No aguardo.

Abraços

Postado

Cara já tentei de todas maneiras, que pude mas como meu conhecimento é pouco, não consegui encontra a maneira certa de fazer o código, mas valeu pelas dicas!

  • Membro VIP
Postado
Cara já tentei de todas maneiras, que pude mas como meu conhecimento é pouco, não consegui encontra a maneira certa de fazer o código, mas valeu pelas dicas!

Se precisar de ajudar, estamos aqui...

PS: Se quiser dar continuidade, como sugerido, tente fazer um programa mais simples!

1) Faça um programa que calcule a média de UMA turma de 20 alunos, imprimindo a média ao final.

Depois...

2) Faça um programa que calcule a média e a maior nota de UMA turma de 20 alunos, imprimindo a média e a maior nota ao final.

Repare que este acima "só" foi inserido a questão da "maior nota".

No aguardo.

Abraços.

Arquivado

Este tópico foi arquivado e está fechado para 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...