Jump to content

Recommended Posts

Posted

Pessoal Paz do senhor!!!

Estou trabalhando num projecto que é para calcular as seguintes funcoes

um programa que leia 15 numeros

que leia o maior elemento

o menor elemento

imprima em outra lista quais os numeros pares

calcule a media dos numeros impares

a soma dos numeros abaixo de 10

imprima a quantidade de numeros primos

diga o segundo menor elemento da sequencia

a tabuada do quinto elemento

o novesfora da soma

a soma do novesfora

A Minha grande preocupacao esta em achar os tres ultimos pontos é que nao sei por onde comecar... necessito de ajuda de vc pessoal por favor!!!

estou a programar em vb 6 projecto standart

Posted (edited)

boas

tabuada do quinto elemento:

ciclo for

for x=1 to 10

numero = elemento + x

next

o nevesfora da soma e a soma do novesfora

veja isto:

http://www.somatematica.com.br/faq/r36.html

cumps

acao

deixo-lhje aqui um exemplo à divisão, é só alterar para a soma.

Private Sub CommandButton2_Click()
Dim dividendo As Long
Dim divisor As Long
Dim resto As Long
Dim resultado As Long
Dim v9foraDividendo As Long
Dim v9foradivisor As Long
Dim v9foraresultado  As Long
Dim v9foraResto As Long
Dim resultDividendo As Long
Dim resultDivisor As Long
Dim resultResultado As Long
Dim resultResto As Long
resultDividendo = 123456
resultDivisor = 46
resultResultado = resultDividendo \ resultDivisor
resultResto = resultDividendo Mod resultDivisor
dividendo = resultDividendo
divisor = resultDivisor
resultado = resultResultado
resto = resultResto
'-------------------9foradividendo--------------------------
Dim x1 As Byte
Dim contDividendo As Boolean
v9foraDividendo = dividendo
Do
contDividendo = False
dividendo = v9foraDividendo
v9foraDividendo = 0
 For x1 = 1 To Len(Trim(dividendo))
	If Mid(dividendo, x1, 1) > 0 Then
		v9foraDividendo = v9foraDividendo + Mid(dividendo, x1, 1)
	End If
Next
If Len(Trim(v9foraDividendo)) > 1 Then
	contDividendo = True
End If

Loop While contDividendo
'-------------------9foradivisor--------------------------
Dim x2 As Byte
Dim contDivisor As Boolean
v9foradivisor = divisor
Do
contDivisor = False
divisor = v9foradivisor
v9foradivisor = 0
 For x2 = 1 To Len(Trim(divisor))
	If Mid(divisor, x2, 1) > 0 Then
		v9foradivisor = v9foradivisor + Mid(divisor, x2, 1)
	End If
Next
If Len(Trim(v9foradivisor)) > 1 Then
	contDivisor = True
End If

Loop While contDivisor
'------------------9foraresultado-------------------------
Dim contResultado As Boolean
Dim x As Byte
v9foraresultado = resultado
Do
contResultado = False
resultado = v9foraresultado
v9foraresultado = 0
For x = 1 To Len(Trim(resultado))
	If Mid(resultado, x, 1) > 0 Then
		v9foraresultado = v9foraresultado + Mid(resultado, x, 1)
	End If
Next
If Len(Trim(v9foraresultado)) > 1 Then
	contResultado = True
End If
Loop While contResultado
'-------------------9foraresto--------------------------
Dim x3 As Byte
Dim contResto As Boolean
v9foraResto = resto
Do
contResto = False
resto = v9foraResto
v9foraResto = 0
 For x3 = 1 To Len(Trim(resto))
	If Mid(resto, x3, 1) > 0 Then
		v9foraResto = v9foraResto + Mid(resto, x3, 1)
	End If
Next
If Len(Trim(v9foraResto)) > 1 Then
	contResto = True
End If

Loop While contResto
'--------------------v9foradivisor*v9foraresultado+v9foraresto----------------------
Dim vdvsorQcftresto As Long
Dim x4 As Byte
Dim contdivdivd As Boolean
Dim result As Long
Dim somarResto As Boolean
vdvsorQcftresto = v9foradivisor * v9foraresultado
Do
contdivdivd = True
result = vdvsorQcftresto
vdvsorQcftresto = 0
 For x4 = 1 To Len(Trim(result))
	If Mid(result, x4, 1) > 0 Then
		vdvsorQcftresto = vdvsorQcftresto + Mid(result, x4, 1)
	End If
Next
If Len(Trim(vdvsorQcftresto)) < 2 And somarResto = False Then
	If v9foraResto > 0 Then
		vdvsorQcftresto = vdvsorQcftresto + v9foraResto
	End If
	If Len(Trim(vdvsorQcftresto)) > 1 Then
		contdivdivd = True
		somarResto = True
	Else
		contdivdivd = False
	End If
ElseIf Len(Trim(vdvsorQcftresto)) < 2 And somarResto = True Then
contdivdivd = False
End If

Loop While contdivdivd
If v9foraDividendo = vdvsorQcftresto Then
MsgBox ("Dividendo = " & resultDividendo & vbCrLf & "Divisor = " & resultDivisor & vbCrLf & "Quociente = " & resultResultado & vbCrLf _
& "Resto = " & resultResto & vbCrLf & vbCrLf & "Prova dos nove " & vbCrLf & v9foradivisor & " | " & vdvsorQcftresto _
& vbCrLf & "____" & vbCrLf & v9foraresultado & " | " & v9foraDividendo), vbInformation, "Conta certa"
Else
MsgBox ("Dividendo = " & resultDividendo & vbCrLf & "Divisor = " & resultDivisor & vbCrLf & "Quociente = " & resultResultado & vbCrLf _
& "Resto = " & resultResto & vbCrLf & vbCrLf & "Prova dos nove " & vbCrLf & v9foradivisor & " | " & vdvsorQcftresto _
& vbCrLf & "____" & vbCrLf & v9foraresultado & " | " & v9foraDividendo), vbInformation, "Conta errada"
End If
End Sub

ou

Private Sub CommandButton2_Click()
Dim dividendo As Long
Dim divisor As Long
Dim resto As Long
Dim resultado As Long
Dim v9foraDividendo As Long
Dim v9foradivisor As Long
Dim v9foraresultado  As Long
Dim v9foraResto As Long
dividendo = 123456
divisor = 46
resultado = dividendo \ divisor
resto = dividendo Mod divisor
'------Contar os nevesfora----------------------
v9foraDividendo = NovesFora(dividendo)
v9foradivisor = NovesFora(divisor)
v9foraresultado = NovesFora(resultado)
v9foraResto = NovesFora(resto)
Dim vDivisorXcoficienteMaisResto As Long
Dim vdvsorQcftresto As Long
vDivisorXcoficienteMaisResto = v9foradivisor * v9foraresultado
vdvsorQcftresto = NovesFora(vDivisorXcoficienteMaisResto)
vDivisorXcoficienteMaisResto = vdvsorQcftresto + v9foraResto
vdvsorQcftresto = NovesFora(vDivisorXcoficienteMaisResto)
If v9foraDividendo = vdvsorQcftresto Then
'------resultado---------------------------------------------------
MsgBox ("Dividendo = " & dividendo & vbCrLf & "Divisor = " & divisor & vbCrLf & "Quociente = " & resultado & vbCrLf _
& "Resto = " & resto & vbCrLf & vbCrLf & "Prova dos nove " & vbCrLf & v9foradivisor & " | " & vdvsorQcftresto _
& vbCrLf & "____" & vbCrLf & v9foraresultado & " | " & v9foraDividendo), vbInformation, "Conta certa"
Else
MsgBox ("Dividendo = " & dividendo & vbCrLf & "Divisor = " & divisor & vbCrLf & "Quociente = " & resultado & vbCrLf _
& "Resto = " & resto & vbCrLf & vbCrLf & "Prova dos nove " & vbCrLf & v9foradivisor & " | " & vdvsorQcftresto _
& vbCrLf & "____" & vbCrLf & v9foraresultado & " | " & v9foraDividendo), vbInformation, "Conta errada"
End If
End Sub
Function NovesFora(ByVal vValor As Long) As Long
Dim x As Byte
Dim contValor As Boolean
NovesFora = vValor
Do
   contValor = False
  vValor = NovesFora
   NovesFora = 0
 For x = 1 To Len(Trim(vValor))
    If Mid(vValor, x, 1) > 0 Then
	    NovesFora = NovesFora + Mid(vValor, x, 1)
    End If
   Next
   If Len(Trim(NovesFora)) > 1 Then
    contValor = True
   End If

Loop While contValor
End Function

cumps

acao

Edited by acao
  • Vote 1

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.