Você está na página 1de 6

Sub MEDIA_da_TURMA()

Dim aluno(8) As String


Dim Soma, MEDIA
Dim i As Integer
Soma = 0
'LEIA Notas
For i = 1 To 8
aluno(i) = InputBox("nome do aluno " & i, "Medias")
md(i) = InputBox("nota do aluno " & i, "Medias")
Soma = Soma + md(i)
Next
MEDIA = Soma / 8
For i = 1 To 8
Cells(1 + i, 1).Value = aluno(i)
Cells(1 + i, 2).Value = md(i)
Next
Cells(1, 1).Value = "Aluno"
Cells(1, 2).Value = "Nota"
Cells(10, 1).Value = "MEDIA"
Cells(10, 2).Value = MEDIA
End Sub

Sub indice_par_ou_impar()
Dim a(10) As Double
Dim b(10) As Double
Dim i As Integer
'rotina de entrada
For i = 1 To 10
a(i) = InputBox("Valor para o indice " & i, "Indice par ou impar")
Next
'Fim rotina de entrada

For i = 1 To 10
If �_PAR(i) Then
b(i) = a(i) * 5
Else
b(i) = a(i) + 5
End If
Next

'rotina saida
For i = 1 To 10
Cells(i, 1).Value = a(i)
Cells(i, 2).Value = b(i)
Next
'Fim rotina saida
End Sub

Sub elemento_impar()
Dim a(5) As Integer
Dim i, Soma As Integer
Soma = 0
'rotina de entrada
For i = 1 To 5
a(i) = InputBox("Valor para o indice " & i, "Soma os valores Impares")
Next
'Fim rotina de entrada
'rotina de verifica��o se elemento � impar
For i = 1 To 5
If Not �_PAR(a(i)) Then
Soma = Soma + a(i)
End If
Next
'fim da rotina
MsgBox Soma, , "Total"
End Sub
Sub Lista_entrada()
Dim Nome(10) As String
Dim i As Integer
'rotina de entrada
For i = 1 To 10
Nome(i) = InputBox(i & "� Nome", "Lista de nomes")
Next
End Sub
Sub Lista_saida()
Dim Nome(10) As String
Dim i As Integer
'rotina de saida
For i = 1 To 10
Cells(i, 1) = Nome(i)
Next
End Sub

Sub LISTA_Ordenar()
Dim Nome(10) As String
Dim x As String
Lista_entrada
For i = 1 To 9
For j = i + 1 To 10
If Nome(i) > Nome(j) Then
x = Nome(i)
Nome(i) = Nome(j)
Nome(j) = x
End If
Next
Next
Lista_saida
End Sub

Sub LISTA_NOME_pesquisa_sequencial()
Dim Nome(10) As String
Dim PESQ As String
Dim RESP As String
Dim acha As Boolean
Dim i As Integer
RESP = vbYes
'trecho de entrada
For i = 1 To 10
Nome(i) = Cells(i, 1)
Next
Do While RESP = vbYes
'trecho da pesquisa
PESQ = InputBox("Nome a ser pesquisado", "Pesquisa Lista de nomes")
i = 1
acha = False
Do While i <= 10 And acha = False
If PESQ = Nome(i) Then
acha = True
Else
i = i + 1
End If
Loop
'trecho de saida
If acha = True Then
RESP = MsgBox(PESQ & " est� na posi��o " & i & Chr(10) & "Quer Continuar a
pesquisa? ", vbYesNo, "Pesquisa")
Else
RESP = MsgBox(PESQ & " n�o existe nesse Arquivo" & Chr(10) & "Quer Continuar a
pesquisa? ", vbYesNo, "Pesquisa")
End If
Loop
End Sub

Sub LISTANOME_pesquisa_binaria()
Dim Nome(10) As String
Dim PESQ As String
Dim RESP As String
Dim acha As Boolean
Dim i, come�o, final, meio As Integer
RESP = vbYes
'INICIO
For i = 1 To 10
Nome(i) = Cells(i, 1)
Next
'ordena��o
For i = 1 To 10
Nome(i) = Cells(i, 1)
Next
For i = 1 To 9
For j = i + 1 To 10
If Nome(i) > Nome(j) Then
x = Nome(i)
Nome(i) = Nome(j)
Nome(j) = x
End If
Next
Next
Do While RESP = vbYes
'trecho de pesquisa
PESQ = InputBox("Nome a ser pesquisado", "Pesquisa Lista de nomes")
come�o = 1
final = 10
acha = False
Do While come�o <= final And acha = False
meio = (come�o + final) / 2
If PESQ = Nome(meio) Then
acha = True
Else
If PESQ < Nome(meio) Then
final = meio - 1
Else
come�o = meio + 1
End If
End If
Loop
If acha = True Then
RESP = MsgBox(PESQ & " est� na posi��o " & meio - 1 & Chr(10) & "Quer Continuar a
pesquisa? ", vbYesNo, "Pesquisa")
Else
RESP = MsgBox(PESQ & " n�o existe nesse Arquivo" & Chr(10) & "Quer Continuar a
pesquisa? ", vbYesNo, "Pesquisa")
End If
Loop
End Sub

Sub TABELA_ler()
Dim NOTAS(8, 4)
Dim i, j As Integer
For i = 1 To 8
For j = 1 To 4
NOTAS(i, j) = Cells(i, j)
Next
Next
End Sub

Sub TABELA_escrever()
Dim NOTAS(8, 4)
Dim i, j As Integer
For i = 1 To 8
For j = 1 To 4
Cells(i, j) = NOTAS(i, j)
Next
Next
End Sub

Sub MEDIA_das_notas()
Dim x As String
Dim i, j, AT, PX As Integer
Dim y, SOMANT, SOMAMD, MEDIAGP As Variant
Dim nota(8, 4)
Dim MEDIA(8)
Dim Nome(8) As String
'
'INICIO
'
SOMAMD = 0
For i = 1 To 8
SOMANT = 0
Nome(i) = InputBox("Nome do Aluno", "Calculo Media")
For j = 1 To 4
nota(i, j) = InputBox("Nota do Aluno " & Nome(i) & " no " & j & "� Bimestre",
"Calculo Media")
SOMANT = SOMANT + nota(i, j)
Next
MEDIA(i) = SOMANT / 4
SOMAMD = SOMAMD + MEDIA(i)
Next
'
'ROTINA DE ORDENA�AO
'
For AT = 1 To 7
For PX = AT + 1 To 8
If MEDIA(AT) < MEDIA(PX) Then
y = MEDIA(AT)
MEDIA(AT) = MEDIA(PX)
MEDIA(PX) = y
x = Nome(AT)
Nome(AT) = Nome(PX)
Nome(PX) = x
End If
Next
Next
MEDIAGP = SOMAMD / 8
'
'ROTINA SAIDA
'
For i = 1 To 8
Cells(1, 8) = "Aluno"
Cells(i + 1, 8) = Nome(i)
Cells(1, 9) = "medias"
Cells(i + 1, 9) = MEDIA(i)
Next
Cells(11, 9) = MEDIAGP
End Sub

Sub AGENDA()
'PROGRAMA AGENDA
'VAR
Dim DADO(10, 5) As String
Dim ag As String
Dim i, j, ATUAL, PROXIMO As Integer
Dim x As String
ag = "Agenda"
'
'rotina de entrada
'
For i = 1 To 10
DADO(i, 1) = InputBox("Nome", ag)
DADO(i, 2) = InputBox("Endere�o", ag)
DADO(i, 3) = InputBox("CEP", ag)
DADO(i, 4) = InputBox("Bairro", ag)
DADO(i, 5) = InputBox("Telefone", ag)
Next
'
'rotina de ordena��o
'
For ATUAL = 1 To 9
For PROXIMO = ATUAL + 1 To 10
If DADO(ATUAL, 1) > DADO(PROXIMO, 1) Then
'troca nome
x = DADO(ATUAL, 1)
DADO(ATUAL, 1) = DADO(PROXIMO, 1)
DADO(PROXIMO, 1) = x
'troca rua
x = DADO(ATUAL, 2)
DADO(ATUAL, 2) = DADO(PROXIMO, 2)
DADO(PROXIMO, 2) = x
'troca cep
x = DADO(ATUAL, 3)
DADO(ATUAL, 3) = DADO(PROXIMO, 3)
DADO(PROXIMO, 3) = x
'troca cidade
x = DADO(ATUAL, 4)
DADO(ATUAL, 4) = DADO(PROXIMO, 4)
DADO(PROXIMO, 4) = x
'troca fone
x = DADO(ATUAL, 5)
DADO(ATUAL, 5) = DADO(PROXIMO, 5)
DADO(PROXIMO, 5) = x
End If
Next
Next
'
'rotina de saida
'
For i = 1 To 10
For j = 1 To 5
Cells(i, j) = DADO(i, j)
Next
Next
End Sub

Sub soma_duas_tabelas()
Dim a(5, 3) As Integer
Dim b(5, 3) As Integer
Dim C(5, 3) As Integer
Dim i, j As Integer
For i = 1 To 5
For j = 1 To 3
a(i, j) = Cells(i, j)
b(i, j) = Cells(j, i)
Next
Next
For i = 1 To 5
For j = 1 To 3
C(i, j) = a(i, j) + b(i, j)
Next
Next
For i = 1 To 5
For j = 1 To 3
Cells(i + 5, j) = C(i, j)
Next
Next
End Sub

Você também pode gostar