Você está aqui: VB.NET ::: Desafios e Lista de Exercícios Resolvidos ::: Recursão (Recursividade) |
Uma função recursiva que conta quantas vezes um valor inteiro k ocorre em um vetor de inteiros - Desafio de Programação Resolvido em VB.NETQuantidade de visualizações: 594 vezes |
|
Pergunta/Tarefa: Escreva uma função recursiva em VB.NET que conta quantas vezes um valor inteiro k ocorre em um vetor de 10 inteiros. Sua função deverá ter a seguinte assinatura:
// função recursiva que recebe um valor e um vetor e retorna quantas
// vezes o valor é encontrado no vetor
public static int QuantRepeticoes(int indice, int valor, int[] vetor) {
// sua implementação aqui
}
Informe o 1 valor: 2 Informe o 2 valor: 7 Informe o 3 valor: 4 Informe o 4 valor: 7 Informe o 5 valor: 1 Informe o valor a ser pesquisado no vetor: 7 O valor informado se repete 2 vezes. Veja a resolução comentada deste exercício usando VB.NET: ----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------
Imports System
Module Program
' função principal do programa VB.NET
Sub Main(args As String())
' vamos declarar um vetor de 10 inteiros
Dim valores(4) As Integer
' vamos pedir ao usuário que informe os valores do vetor
For i As Integer = 0 To valores.Length - 1
Console.Write("Informe o " & (i + 1) & " valor: ")
' efetua a leitura do valor informado para a posição atual do vetor
valores(i) = Int32.Parse(Console.ReadLine())
Next
' agora vamos pedir para informar o valor a ser pesquisado
Console.Write(vbCrLf & "Informe o valor a ser pesquisado no vetor: ")
Dim valor As Integer = Int32.Parse(Console.ReadLine())
' e vamos ver a quantidade de repetições
Dim repeticoes As Integer = QuantRepeticoes(0, valor, valores)
Console.WriteLine("O valor informado se repete " & repeticoes & " vezes.")
Console.WriteLine(vbCrLf & vbCrLf & "Pressione qualquer tecla para sair...")
' pausa o programa
Console.ReadKey()
End Sub
' função recursiva que recebe um valor e um vetor e retorna quantas
' vezes o valor é encontrado no vetor
Function QuantRepeticoes(indice As Integer, valor As Integer,
vetor() As Integer) As Integer
If indice = vetor.Length - 1 Then ' caso base...hora de parar a recursividade
If vetor(indice) = valor Then
Return 1 ' mais um repetição foi encontrada
End If
Else ' dispara mais uma chamada recursiva
If vetor(indice) = valor Then ' houve mais uma repetição
Return 1 + QuantRepeticoes(indice + 1, valor, vetor)
Else
Return 0 + QuantRepeticoes(indice + 1, valor, vetor) ' não repetiu
End If
End If
Return 0 ' só para deixar o compilador satisfeito...esta linha nunca é
' executada
End Function
End Module
|
|
|
Mais Desafios de Programação e Exercícios e Algoritmos Resolvidos de VB.NET |
Veja mais Dicas e truques de VB.NET |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
|
1º lugar: Java |





