Ir ao conteúdo

Posts recomendados

Postado

Fiz um exercício com vetores e agora queria introduzir uma função ou procedimento nele. Não estou a conseguir. Alguém pode ajudar? O código é este:

 

Var
   // Seção de Declarações das variáveis
   n,i,dif,maior,posant,pospos:inteiro
   vet: vetor[1..10] de inteiro

Inicio
   // Seção de Comandos, procedimento, funções, operadores, etc...
   Escreva("Indique o comprimento do vetor :")
   leia (n)
   para i de 1 ate n faca
      Escreva("Indique o",i,"º número :")
      leia(vet[i])
   fimpara
   para i de 1 ate n-1 faca
      se vet[i]<vet[i+1] entao
         dif<-vet[i+1]-vet[i]
      senao
         dif<- vet[i]-vet[i+1]
      fimse
      se maior < dif entao
         maior <- dif
         posant<-vet[i]
         pospos<-vet[i+1]
      fimse
   fimpara
   Escreva("A maior diferença é: ", maior, " entre ",posant, " e ", pospos)
Fimalgoritmo

 

Eu queria arranjar uma maneira de introduzir uma função ou procedimento ou os 2 até. Como fosse melhor.

Postado

Esqueci-me de colocar, desculpa. O enunciado é: Dado um vector de N elementos determine a maior
diferença entre dois elementos consecutivos e em que posição.

  • Membro VIP
Postado
1 hora atrás, r00ki3 disse:

Esqueci-me de colocar, desculpa. O enunciado é: Dado um vector de N elementos determine a maior
diferença entre dois elementos consecutivos e em que posição.

 

beleza.

 

 

5 horas atrás, r00ki3 disse:

Eu queria arranjar uma maneira de introduzir uma função ou procedimento ou os 2 até. Como fosse melhor.

 

Você fazer um procedimento ou função para qualquer coisa... Por exemplo, crie um procedimento para preencher o vetor.

Depois, crie um procedimento para calcular e exibir a maior diferença entre dois elementos consecutivos e em que posição, desse vetor etc.

 

Adendo: creio que o enunciado deve está se referindo a "elementos em posições consecutivas", pois "elementos consecutivo seriam outra coisa". Creio que números consecutivos seja algo como "1, 2, 3, 4, 5"... ou seja: a diferença seria sempre 1... "68 é consecutivo ao 67"... por aí vai.

 

Postado
procedimento principal(a:inteiro)
var
   dif,maior,posant,pospos:inteiro
Inicio
   para i de 1 ate n-1 faca
      se vet[i]<vet[i+1] entao
         dif<-vet[i+1]-vet[i]
      senao
         dif<- vet[i]-vet[i+1]
      fimse
      se maior < dif entao
         maior <- dif
         posant<-vet[i]
         pospos<-vet[i+1]
      fimse
   fimpara
   Escreva("A maior diferença é: ", maior, " entre ",posant, " e ", pospos)
Fimprocedimento


var
   n,i:inteiro
   vet: vetor[1..10] de inteiro
Inicio
   // Seção de Comandos, procedimento, funções, operadores, etc...
   Escreva("Indique o comprimento do vetor :")
   leia (n)
   para i de 1 ate n faca
      Escreva("Indique o",i,"º número :")
      leia(vet[i])
   fimpara
   principal(n)


Fimalgoritmo

 

 

Assim parece bem? Ele corre bem.

  • Curtir 1
  • Membro VIP
Postado

Um exemplo de código:

 

algoritmo "Maior diferença entre números números de índices consecutivos"

funcao posicaoMaiorDiferenca(tamVetor: inteiro; var maiorDiferenca: inteiro): inteiro
var
   diferenca, posicao: inteiro
   i: inteiro
inicio
   maiorDiferenca <- 0

   para i de 1 ate tamVetor-1 faca
      diferenca <- Abs(vet[i]-vet[i+1])

      se (diferenca > maiorDiferenca) entao
         posicao <- i
         maiorDiferenca <- diferenca
      fimSe
   fimPara

   retorne posicao
fimFuncao

var
   n, i: inteiro
   vet: vetor[1..100] de inteiro
   p: inteiro
   md: inteiro
inicio
   escreva ("Indique o comprimento do vetor: ")
   leia(n)

   ALEATORIO 1, 30
   para i de 1 ate n faca
      escreva ("Indique o ", i:1, "º número: ")
      leia(vet[i])
   fimPara
   ALEATORIO off
   
   p <- posicaoMaiorDiferenca(n, md)

   escreval("")
   escreva ("A maior diferença é ", md:1, ", entre a ", p:1, "ª e ", p+1:1, "ª posições")
fimAlgoritmo

 

  • Obrigado 1

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!