View Full Version : [ VISUAL BASIC 2005 ] Problema na formula de calculo :


jot4p
15-11-2007, 20:50
boas
estou no arranque de aprendizagem em VB:

tive de criar um algoritmo para este problema :

"USANDO UM CICLO CONTROLADO POR UM CONTADOR DESENVOLVA UM ALGORITMO QUE MOSTRE A MEDIA DE "N" NOTAS"

pelo pouco ke sei fiz o seguinte:

Dim NOTA, MEDIA_NOTAS As Double
Dim CONTADOR, N_NOTAS As Integer

' Inicio:
Console.Write(" Introduza um número de notas sujeita a média: ")
N_NOTAS = Console.ReadLine

CONTADOR = 1
While CONTADOR <= N_NOTAS
Console.Write("Introduza a Nota: ")
NOTA = Console.ReadLine

CONTADOR = CONTADOR + 1
End While

MEDIA_NOTAS = NOTA / N_NOTAS

'NOTA: FALTA DETERMINAR UMA FOMULA , ou metodo para escrever no V.B. algo como [(nota1, nota2.....nota N) / N_NOTAS ]

Console.Write("a média: " & MEDIA_NOTAS)
MEDIA_NOTAS = Console.ReadLine
Console.WriteLine()
Console.Write(" criado por João Daniel da Silva Pereira, 2007 ")
portanto , o problema esta aki axo eu : MEDIA_NOTAS = .... / N_NOTAS

alguem sabe como fazer a formula?

:sad:

Baderous
15-11-2007, 21:07
Não sei se é isto que pretendes, mas talvez, fazer logo a soma das notas dentro do ciclo, isto é, declaras uma variável auxiliar NOTAS onde vais guardando o somatório das notas e, à medida que guardas o valor da nota na variável NOTA, somas esse mesmo valor ao valor que já estava guardado na variável NOTAS. Para isso basta inicializar NOTAS a 0 e começar a partir daí. Não sei VB mas talvez:


//Dim NOTAS As Double
//NOTAS = 0
CONTADOR = 1
While CONTADOR <= N_NOTAS
Console.Write("Introduza a Nota: ")
NOTA = Console.ReadLine
//NOTAS = NOTAS + NOTA

CONTADOR = CONTADOR + 1
End While

MEDIA_NOTAS = NOTAS / N_NOTAS

kzip
15-11-2007, 23:30
Tal como já disse o Baderous, tens de somar todas as notas.
No teu código, no ciclo While, sempre que estás a ler uma nota estás a substituir a anterior. Ou seja, quando sais do ciclo só tens a última nota inserida. :D

alfinete
17-11-2007, 01:33
ai tens isso a funcionar

é muito simples
foram 5 mts

podes minimizar o code mas esta a funcionar

Sub Main()

Dim i, CONTADOR As Integer
'guarda a media das notas
Dim media_notas As Double
' vai guardando o total da soma das notas inseridas,
' a medida que o for vai sendo executado
Dim total As Integer = 0
' faz a pegunta ao utilizador de quantas notas deseja inserir para guardar na
'var contador
Console.Write("quantas notas deseja inserir: ")
Console.Write(" Notas: ")
CONTADOR = Console.ReadLine

While i < CONTADOR
Console.Write("Introduza a Nota ")
Console.Write("Nota " & i & " ->>")
Dim nota As Integer = Console.ReadLine
total = total + nota
i = i + 1
End While

media_notas = total / i
Console.Write("media = " & media_notas)
' para o ecrã para ver o resultado
Console.ReadLine()

End Sub

espero que tenha ajudado