Ir ao conteúdo

Posts recomendados

Postado

De acordo com o Algoritmo abaixo (calculadora_nerd), realize as modificações seguindo as 4 (quatro) especificações a seguir:
 
1) Criar uma função chamada incremento que receba um valor numérico e retorne o seu incremento (valor do parâmetro adicionado 1)
2) Criar uma função chamada decremento que receba um valor numérico e retorne o seu decremento (valor do parâmetro subtraído 1)
3) Criar uma função chamada módulo que receba dois parâmetros numéricos, sendo que o primeiro será o número o segundo será o divisor para o cálculo do resto da divisão.
4) Substitua os cálculos realizados dentro da estrutura caso pelas funções criadas.
 

Algoritmo calculadora_nerd
Var
            num, resultado : real
            escolha : inteiro
Inicio
            Escreva(“Incremento: 1”)
            Escreva(“Decremento: 2”)
            Escreva(“Módulo de 2: 3”)
            Escreva(“Módulo de 5: 4”)
            Escreva(“Digite a opção desejada: ”)
            Leia(escolha)
            Escreva(“Digite o valor: “)
            Leia(num)
            Caso(escolha)
                        Seja 1 Faça
                                   resultado = num + 1
                        Seja 2 Faça
                                   resultado = num - 1
                        Seja 3 Faça
                                   resultado = num % 2
                        Seja 4 Faça
                                   resultado = num % 5
                        Senão
                                   Escreva(“Opção inválida....”)
                                   escolha = 0
            Fim_caso
            Se (escolha <> 0) Então
                        Escreva(“O resultado da operação é “, resultado)
            Fim_se
Fim.

 

  • Curtir 1
Postado

@Rodrigo2018      esse código parece ser do visualg, então a sintaxe das funções no visualg seria assim:

funcao Nome-da-função(variável : tipo) : tipo
inicio
  retorne expressão
fimfuncao

Exemplo de como criar uma função:

funcao somar(x,y : inteiro) : inteiro
var
soma : inteiro
inicio
  soma := x + y
  retorne soma
fimfuncao

 

Postado

Alguém poderia escrever este código completo porque não estou conseguindo, desculpem estou iniciando agora na programação!!

  • Curtir 1
  • Membro VIP
Postado

Olá @Tio dri,

 

Por favor crie uma nova postagem... para evitar quebrar a linha de raciocínio do @Rodrigo2018. Mesmo que seja o mesmo código, acho melhor que cada um tenha o seu tópico e evolua de acordo com seu ritmo.

 

obs.: tente fazer algo, e poste também o que já conseguiu fazer e onde está com dúvidas.

 

No aguardo.

  • Curtir 1
Postado
algoritmo "incremento"
var
n,res: real
funcao incremento (x: real) : real
var
resultado : real
inicio
resultado <- (x)+(1)
retorne resultado
fimfuncao

inicio
escreva ("Digite o número para incremento:")
leia (n)
res <- incremento(n)
escreval ("O Resultado do incremento é:", res)
fimalgoritmo

 

  • Curtir 1
Postado

Estou com a mesma dúvida que ele, estou começando agora na programação, leigo em muita coisa, precisava visualizar esse exercício resolvido para me contextualizar, se postasse ele resolvido seria de grande ajuda, não pela cópia dele somente, mas para entender onde se localiza a função dentro da estrutura de algoritimo.

 

se pudessem postar seria de imensa ajuda

adicionado 0 minutos depois

@Simon Viegas

  • Curtir 1
  • Membro VIP
Postado

Olá @Bruno Miller.

 

O código de @Tio dri já demonstra um uso funções:

Algoritmo "incremento"
var
   n,res:real
      
funcao incremento (x: real):real
   var
      resultado:real
   inicio
      resultado<-x+1
      retorne resultado
   fimFuncao

inicio
   escreva ("Digite o número para incremento:")
   leia (n)
   res <- incremento(n)
   escreval ("O Resultado do incremento é:", res)
fimalgoritmo

As funções são como subprogramas. Podemos dizer que são procedimentos que retornam valores neles mesmo... ou seja, sempre algo será retornado na própria função, como se fosse ao mesmo tempo uma variável.

 

Basicamente ficam declaradas entre o VAR e o INICIO (principal).

 

Nesse caso, está recebendo um valor real, via parâmetro, e está retornando outro valor real, na própria função (o valor que está no retorne)

 

Pesquise um pouco sobre funções em VisuAlg, tente entender o seu funcionamento e sua sintaxe. Analise esse código já postado e tente fazer algo para o seu contexto...

 

Ai posta o código aqui e em qual parte está com dúvidas.

 

No aguardo.

  • Curtir 2
Postado

@Simon Viegas já deu sim uma clareada!

 

var
   n,res:real

funcao incremento (x: real):real
   var
      resultado:real
   inicio
      retorne resultado
   fim_Funcao

função decremento (y:real):real
   var
      resultado:real
   retorne resultado
   fim_funcao

 

Assim está minha função,

 

Agora preciso desenvolver a mesma coisa pra seguinte orientação:

 

3) Criar uma função chamada módulo que receba dois parâmetros numéricos, sendo que o primeiro será o número o segundo será o divisor para o cálculo do resto da divisão.

 

 

Desde já agradeço sua ajuda, que foi de muita importância!

  • Curtir 1
  • Membro VIP
Postado

Olá @Bruno Miller.

 

14 horas atrás, Bruno Miller disse:

@Simon Viegas já deu sim uma clareada!


var
   n,res:real

funcao incremento (x: real):real
   var
      resultado:real
   inicio
      retorne resultado
   fim_Funcao

função decremento (y:real):real
   var
      resultado:real
   retorne resultado
   fim_funcao

Assim está minha função

 

Você está retornando o valor de resultado na próprio função, ok. Mas qual o valor que resultado terá nesses momentos? ou seja, o que essa função deveria fazer, e o que ela está fazendo... está dando a resposta esperada?

 

Já testou as funções? Está funcionando?

 

Por favor, poste o código completo de como está testando e onde está com dúvidas.

 

No aguardo.

  • Curtir 1
Visitante
Este tópico está impedido de receber novas respostas.

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...