Olá Pessoal, tudo bem com todo mundo? Espero que sim!
To desenvolvendo um sistema de cálculo de médias bimestrais de notas escolares para um colégio. Só que esse colégio usa um sistema complicado para definir essas médias. Em um bimestre a escola faz duas provas e um simulado.
A fórmula é a seguinte:
PROVA1+PROVA2
RESULTADO DA PROVA1 + PROVA2 / 2
(RESULTADO DA PROVA1 + PROVA2 / 2) * 7
RESULTADO DO SIMULADO * 3
(RESULTADO DA PROVA1 + PROVA2 / 2 * 7) + (RESULTADO DO SIMULADO * 3) / 10
Complexo para conseguir uma média né?
Vou dar um exemplo pra ficar claro:
PROVA 1 = 8.0
PROVA 2 = 7.5
SIMULADO = 8.5
Passo 1 : PROVA1+PROVA2 = 15.5
Passo 2 : RESULTADO DA PROVA1 + PROVA2 / 2 = 7.75
Passo 3 : (RESULTADO DA PROVA1 + PROVA2 / 2) * 7 = 54.25
Passo 4 : RESULTADO DO SIMULADO * 3 = 25.5
Passo 5 : (RESULTADO DA PROVA1 + PROVA2 / 2 * 7) + (RESULTADO DO SIMULADO * 3) / 10 = 54.25 + 25.5 / 10 = 7.9
Minha pergunta é: como fazer tudo isso em PHP? Estou apanhando pra caramba. Eu tô fazendo assim(vejam os comentários em cada linha):
#######Começo Media 1B
$prova1 = 8;
$prova2 = 7.5;
$simulado = 8.5;
$passo1 = $prova1+$prova2; //(8+7.5 = 15.5)
$passo2 = $passo1/2; //(15.5 / 2 = 7.75)
$passo3 = $passo2*7; //(7.75 * 7 = 54.25)
$passo4 = $simulado*3; //(8.5 * 3 = 25.5) ATÉ AQUI TUDO CERTO
$passo5 = $passo3+$passo4; // (54.25 + 25.5 = 79.75) AQUI É QUE DÁ PAU. O resultado deveria ser 79.75 mas dá 25.5. Por quê???
$passo6 = $mG5/10;
$media = $passo6;
Claro que no sistema as váriaveis vem pelo banco de dados através de um loop. Veja o código fonte original desta pequena parte:
<?php
################Começo Media 1B
$gram1pm = $res_notas[16];
$gram2pm = $res_notas[17];
$gramS1 = $res_notas[205];
$mG1 = $gram1pm+$gram2pm;
$mG2 = $mG1/2;
$mG3 = $mG2*7;
$mG4 = $gramS1*3;
$mG5 = $mg3+$mG4 / 10;
$mG6 = $mG5/10;
$med1Gr = $mG5;
Alguém pode me ajudar?
Espero ter sido claro!
Até já!!!
Expressões Numéricas Em Php
Started By tux small, 05/07/2011, 11:50
3 replies to this topic
#1
Posted 05/07/2011, 11:50
#2
Posted 06/07/2011, 10:15
Bom pelo que eu entendi é bem cimples, você só precisa do último passo.
$MEDIA = ($RESULTADO_DA_PROVA1 + $PROVA2 / 2 * 7) + ($RESULTADO_DO_SIMULADO * 3) / 10;
Agora sobre o loop, bom considerando que você usa uma base de dados mysql, ficaria assim:
$query = mysql_query("SELECT * FROM sua_tabela");
$row = mysql_fetch_assoc($query);
$i = 0;
while($row = mysql_fetch_assoc($query)){
$MEDIA[$i] = ($row['RESULTADO_DA_PROVA1'] + $row['PROVA2'] / 2 * 7) + ($row['RESULTADO_DO_SIMULADO'] * 3) / 10;
$i++;
}
Neste caso, as notas serão armazenadas em um array associativo, mas é possível dar um echo direto, além disso, você pode alterar o código do select para melhorar a busca no banco de dados, ou também mexer no código dentro do while, aplicando os dados em uma tabela, ou mesmo aplicando um css.
Caso tenha ajudado colabore com um ponto
$MEDIA = ($RESULTADO_DA_PROVA1 + $PROVA2 / 2 * 7) + ($RESULTADO_DO_SIMULADO * 3) / 10;
Agora sobre o loop, bom considerando que você usa uma base de dados mysql, ficaria assim:
$query = mysql_query("SELECT * FROM sua_tabela");
$row = mysql_fetch_assoc($query);
$i = 0;
while($row = mysql_fetch_assoc($query)){
$MEDIA[$i] = ($row['RESULTADO_DA_PROVA1'] + $row['PROVA2'] / 2 * 7) + ($row['RESULTADO_DO_SIMULADO'] * 3) / 10;
$i++;
}
Neste caso, as notas serão armazenadas em um array associativo, mas é possível dar um echo direto, além disso, você pode alterar o código do select para melhorar a busca no banco de dados, ou também mexer no código dentro do while, aplicando os dados em uma tabela, ou mesmo aplicando um css.
Caso tenha ajudado colabore com um ponto
- tux small likes this
#3
Posted 06/07/2011, 16:39
Vou dar uma verificada aqui mais tarde com base nas sugestões e depois eu posto no que deu. Como eu colaboro com um ponto?
#4
Posted 07/07/2011, 16:17
É só apertar no maisinho em baixo do post, valew
0 user(s) are reading this topic
0 membro(s), 0 visitante(s) e 0 membros anônimo(s)