Jump to content


tux small

Member Since 13/04/2009
Offline Last Active 06/07/2011, 16:35
-----

Topics I've Started

Expressões Numéricas Em Php

05/07/2011, 11:50

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á!!!

IPB Skin By Virteq