Sistema de Colégio

01/03/2006

Um Colégio pediu para eu fazer um sistema para adminstrar as notas dos alunos.

Existe 7 unidades e 3 recupeção.
1ª Semestre tem 3 Unidades depois vem uma recuperação.
2ª Semestre tem 4 Unidades depois vem duas recuperação.

Nota Média é 6.0
Nota Max é 10.0

[b:393f93d990]Exemplo 1[/b:393f93d990]
1ª - 5.0 2ª - 5.0 3ª - 5.0 Total - 15.0 Ficou em recuperação precisava de no mínimo 18.0 Tirou 7 na prova da recuperação, ai vamos ao calculo: Soma as 3 Unidades (15.0) + a prova da recuperação (9.0) dividido por 4 = 6.0 A Nota da Recuperação é 6.0 Ai substituimos as notas das 3 unidades que tiverem abaixo da nota da recuperação, ficando assim: 1ª - 5.0 -> 6.0 (Nota da Recuperação maior por isso substitui) 2ª - 5.0 -> 6.0 (Nota da Recuperação maior por isso substitui) 3ª - 5.0 -> 6.0 (Nota da Recuperação maior por isso substitui) Total - 18.0 Recuperou as notas.


[b:393f93d990]Exemplo 2[/b:393f93d990]
1ª - 7.0 2ª - 4.0 3ª - 4.0 Total - 15.0 Ficou em recuperação precisava de no mínimo 18.0 Tirou 7 na prova da recuperação, ai vamos ao calculo: Soma as 3 Unidades (15.0) + a prova da recuperação (7.0) dividido por 4 = 5.5 A Nota da Recuperação é 5.5 Ai substituimos as notas das 3 unidades que tiverem abaixo da nota da recuperação, ficando assim: 1ª - 7.0 -> 7.0 (Nota da Recuperação menor por isso não substitui) 2ª - 4.0 -> 5.5 (Nota da Recuperação maior por isso substitui) 3ª - 4.0 -> 5.5 (Nota da Recuperação maior por isso substitui) Total - 18.0 Recuperou as notas.


Observando dois alunos com um total de 15 pontos tem que tirar valores diferentes para passar, já que depende de como foi as notas da 3 unidades.

[b:393f93d990]O que eu quero saber é dando as notas das 3 unidades como faço para calcular quanto precisa??[/b:393f93d990]

Depois posto o 2ª Semestre é que praticamente igual só que com algumas coisas a mais.


Rudá

Respostas

04/03/2006

Carlos Rausch

Coloca em um form para teste :
2 labels , 3 edits , 1 button
no click do botão faça:

Var
a,b,c,nota1,nota2,nota3,MediaN,NotaN : real;
I : integer;
begin
   I := 0;
   a := strtofloat(edit1.text);
   b := strtofloat(edit2.text);
   c := strtofloat(edit3.text);
   nota1 := strtofloat(edit1.text);
   nota2 := strtofloat(edit2.text);
   nota3 := strtofloat(edit3.text);
   MediaN := 0;
   NotaN := 0;
  If a < 6 then
    begin
       I := I + 1;
       a := 0;
    end;
  If b < 6 then
    begin
       I := I + 1;
       b := 0;
    end;
  If c < 6 then
    begin
       I := I + 1;
       c := 0;
    end;
  If I > 0 then
    begin
       MediaN := (18 - (a+b+c))/I;
       NotaN   := (MediaN * 4) - (nota1 + nota2 +nota3);
       label1.caption := ´Média a ser substituída ´ +formatfloat(´0.00´,MediaN);
       label2.Caption := ´Nota necessária na recuperação ´ + formatfloat(´0.00´,NotaN);
    end
  else
    ShowMessage(´Aluno aprovado´);
end;


Faça um teste e veja se é isso q vc precisa...


Responder Citar

05/03/2006

Rudá

Value cara vc me ajudou muito.

Agora a segunda periódica é assim:

Tem o Total da Primeiro Semestre, ex: 17.0

4ª - 6.0
5ª - 5.0
6ª - 7.0
7ª - 5.0
Total - 23.0

É igual ao 1ª Semestre só que agora soma com o 1ª Semestre.

A pessoa teria que tirar 4.5 para poder recuperar o 2ª Semestre, ficaria assim(23.0 + 4.5 / 5 = 5.5):

4ª - 6.0 -> 6.0 (Nota da Recuperação menor por isso não substitui)
5ª - 5.0 -> 5.5 (Nota da Recuperação maior por isso substitui)
6ª - 7.0 -> 7.0 (Nota da Recuperação menor por isso não substitui)
7ª - 5.0 -> 5.5 (Nota da Recuperação maior por isso substitui)
Total - 24.0

Total Geral - 41.0

Falta 1.0 para ficar na média que é 42(7 Unidades * 6 Média da Unidade).

Então a pessoa no 1ª Semestre não recuperou ficou faltando 1 ponto então precisa tirar 7.0, para ficar assim:

4ª - 6.0 -> 6.0 (Nota da Recuperação igual por isso não substitui)
5ª - 5.0 -> 6.0 (Nota da Recuperação maior por isso substitui)
6ª - 7.0 -> 7.0 (Nota da Recuperação menor por isso não substitui)
7ª - 5.0 -> 6.0 (Nota da Recuperação maior por isso substitui)
Total - 25.0

Agora não falta nada para ficar na média que é 42(17 do 1ª Semestre + 25 do 2ª Semestre = 42).

Se poder me ajudar agradeço!


Responder Citar

05/03/2006

Carlos Rausch

além do q foi criado anteriormente, crie mais 4 edits e um botão

no clique do 2º botão digite :

var
a,b,c,d,nota1,nota2,nota3,nota4,MediaN,NotaN,soma1sem : real;
I : integer;
begin
   I := 0;
   a := strtofloat(edit4.text);
   b := strtofloat(edit5.text);
   c := strtofloat(edit6.text);
   d := strtofloat(edit7.text);
   nota1    := strtofloat(edit4.text);
   nota2    := strtofloat(edit5.text);
   nota3    := strtofloat(edit6.text);
   nota4    := strtofloat(edit7.text);
   soma1sem := strtofloat(edit1.text) + strtofloat(edit2.text)+ strtofloat(edit3.text);
   MediaN := 0;
   NotaN := 0;
  If a < 6 then
    begin
       I := I + 1;
       a := 0;
    end;
  If b < 6 then
    begin
       I := I + 1;
       b := 0;
    end;
  If c < 6 then
    begin
       I := I + 1;
       c := 0;
    end;
  If d < 6 then
    begin
       I := I + 1;
       d := 0;
    end;
  If I > 0 then
    begin
       MediaN := ((42 - soma1sem) - (a+b+c+d))/I;
       NotaN   := (MediaN * 5) - (nota1 + nota2 +nota3 + nota4);
       label1.caption := ´Média a ser substituída ´ +formatfloat(´0.00´,MediaN);
       label2.Caption := ´Nota necessária na recuperação ´ + formatfloat(´0.00´,NotaN);
    end
  else
    ShowMessage(´Aluno aprovado´);
end;


coloque valores q somem 17 nos 3 primeiros edits, e coloque os valores das outras notas nos outros edits...

deve funcionar...


Responder Citar