Ir ao conteúdo

Ajuda funções aritmeticas


jonatassc

Posts recomendados

Postado

Boa tarde pessoal, estou lendo o livro LOGICA de PROGRAMACAO do Gley Fabiano Cardoso Xavier pois quero aprender a programar, está indo muito bem mas estou com uma duvida na seguinte exemplo:

Z <- (X + (RESTO ( ELEV (X,2), DIV (X,3)))

Z <- (X + (RESTO (100,3))

Z <- (X + 1 )

Z <- 11

Sendo que X <- 10....a minha duvida é aqui....

Z <- (X + (RESTO (100,3))

Z <- (X + 1 )

porque o resto fez transformar o 100,3 no numero 1?

No outro exemplo do RESTO é assim:

C <- RESTO ( B,A ) Armazenar na variavel C o valor do resto da divisao inteira do valor da variavel B(8) pelo valor da variavel A(2) (8/2 = 4 RESTO = 0)

Tambem nao entendi esse ultimo exemplo.

Obrigado, quem soube matar esse minha duvida agradeço desde já.

  • Membro VIP
Postado
Sendo que X <- 10....a minha duvida é aqui....

Z <- (X + (RESTO (100,3))

Z <- (X + 1 )

porque o resto fez transformar o 100,3 no numero 1?

Vou tenta fazer uma analise um pouco mais profundo...

Vamos lá:

Então, na programação, "uma variável" também pode ser interpretada como sendo "um link para um setor da memória do computador", ou seja, essa variável "X", é um atalho para determinada posição da memória, que previamente (na declaração) foi definida como com uma estrutura para armazenar números (inteiro ou real, por exemplo), ou seja, a depender do tipo de dado, ela organiza "os bits" de forma a "entender números". Então, o número que está armazenado lá é o 10... Ou seja, X ou 10 são a mesma coisa no contexto. Até ai tudo bem?

Ao "chamar" o procedimento e passar o link, ou melhor, a variável, o "executor de código" vai entender que esse "X" na verdade é um número de valor 10. E vai "copiar" esse valor para a variável "receptora" que está no procedimento.

Da do outro lado, o "procedimento" RESTO(), foi "concebido" para receber dois dados por parâmetro, ou seja, nela tem duas outras variáveis que vão copiar os valores do parâmetro: no caso, um para o dividendo e outro para o divisor. E nele mesmo (no próprio procedimento) retornará o resto desta divisão, ou seja, o procedimento RESTO() funciona ao mesmo tempo também como variável. (obedecendo o mesmo princípio do X)...

No caso, o procedimento ELEV() e DIV() também tem essa funcionalidade de retornar o valor neles mesmos, ou seja, elas recebem alguns valores, fazem algo dentro delas e retornam uma resposta no próprio procedimento.

Ao chamar ELEV(X,2), será o mesmo que chamar ELEV(10,2)... Então, quanto é 10^2 (10 elevado a 2)? 100, logo, ELEV(X,2) vale 100. Já com DIV(X,3), qual é a parte inteira da divisão de 10 por 3? 3, logo ela valerá 3.

Vamos analisar a expressão:

Z <- (X + (RESTO ( ELEV (X,2), DIV (X,3)))

Onde tem X, entendem-se por 10, logo:

Z <- (10 + (RESTO ( ELEV (10,2), DIV (10,3)))

Da mesma forma que na matemática, resolvem primeiros os parênteses mais internos. Ficando:

Z <- (10 + (RESTO ( 100, 3))

O resto de 100 por 3 dá, 1, logo?

Z <- 10+1

Z <- 11.

PS: Observe que na sua postagem o X não foi traduzido, mas acredito que deveria...

O Z provavelmente inicia com 0, mas como ele vai receber um valor, fica mais claro deixar como Z mesmo... que no final, passou a valer 11.

No outro exemplo do RESTO é assim:

C <- RESTO ( B,A ) Armazenar na variavel C o valor do resto da divisao inteira do valor da variavel B(8) pelo valor da variavel A(2) (8/2 = 4 RESTO = 0)

Tambem nao entendi esse ultimo exemplo.

Então, como já explicado, as variáveis B e A "valem" um número, e o RESTO, ao mesmo tempo é um procedimento e também é uma variável, como A e B. A diferença é que RESTO, "está recebendo valores, processando-os e retornado uma resposta nele mesmo". Daí:

RESTO(B,A) =

RESTO(8,2) =

0 (já que 8/2=4, e tem "resto" 0)

Tente entender os procedimentos como variáveis que são "formadas" a parte de outro valores... sacou?

Por enquanto, fico por aqui.

Qualquer coisa é só postar..

No aguardo

Abraços

Arquivado

Este tópico foi arquivado e está fechado para 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...