Questionário Básico

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

Questionário Básico

Desembargador Lucas
Estou lendo o livro "Programando em Lua", e me deparei com a primeira questão:

Execute o exemplo do fatorial. O que acontecerá com o seu programa se você inserir um número negativo? Modifique o
exemplo para evitar esse problema.

O Código é esse:
-- define uma função fatorial function fact (n)
 if n == 0 then return 1 
else 
return n * fact(n-1) 
end 
end 
print("entre com um número:")
 a = io.read("*number") -- lê um número print(fact(a))  

--
Você recebeu essa mensagem porque está inscrito no grupo "Lua BR" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para [hidden email].
Para ver essa discussão na Web, acesse https://groups.google.com/d/msgid/lua-br/8464e864-937a-4c9d-a738-4be1c7afb05bn%40googlegroups.com.
Reply | Threaded
Open this post in threaded view
|

Re: Questionário Básico

Eric Chiesse
Oi Lucas. Entendi o problema. Qual é a sua dúvida?
---
Eric Chiesse


Em ter., 15 de set. de 2020 às 19:38, Desembargador Lucas <[hidden email]> escreveu:
Estou lendo o livro "Programando em Lua", e me deparei com a primeira questão:

Execute o exemplo do fatorial. O que acontecerá com o seu programa se você inserir um número negativo? Modifique o
exemplo para evitar esse problema.

O Código é esse:
-- define uma função fatorial function fact (n)
 if n == 0 then return 1 
else 
return n * fact(n-1) 
end 
end 
print("entre com um número:")
 a = io.read("*number") -- lê um número print(fact(a))  

--
Você recebeu essa mensagem porque está inscrito no grupo "Lua BR" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para [hidden email].
Para ver essa discussão na Web, acesse https://groups.google.com/d/msgid/lua-br/8464e864-937a-4c9d-a738-4be1c7afb05bn%40googlegroups.com.

--
Você recebeu essa mensagem porque está inscrito no grupo "Lua BR" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para [hidden email].
Para ver essa discussão na Web, acesse https://groups.google.com/d/msgid/lua-br/CAE%3Dv0fyeeBUhmZGt-4QiV4CA%3D0DYZL%3DQNQiM1%3Db6kVeLYq9_ew%40mail.gmail.com.
Reply | Threaded
Open this post in threaded view
|

Re: Questionário Básico

Armando Staib
In reply to this post by Desembargador Lucas
Eu nunca rodei com negativo
Mas ou vc proibe a entrada do n negativo
Ou faz o valor absoluto do n na entrada

Em ter, 15 de set de 2020 19:38, Desembargador Lucas <[hidden email]> escreveu:
Estou lendo o livro "Programando em Lua", e me deparei com a primeira questão:

Execute o exemplo do fatorial. O que acontecerá com o seu programa se você inserir um número negativo? Modifique o
exemplo para evitar esse problema.

O Código é esse:
-- define uma função fatorial function fact (n)
 if n == 0 then return 1 
else 
return n * fact(n-1) 
end 
end 
print("entre com um número:")
 a = io.read("*number") -- lê um número print(fact(a))  

--
Você recebeu essa mensagem porque está inscrito no grupo "Lua BR" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para [hidden email].
Para ver essa discussão na Web, acesse https://groups.google.com/d/msgid/lua-br/8464e864-937a-4c9d-a738-4be1c7afb05bn%40googlegroups.com.

--
Você recebeu essa mensagem porque está inscrito no grupo "Lua BR" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para [hidden email].
Para ver essa discussão na Web, acesse https://groups.google.com/d/msgid/lua-br/CAOB%2Bzfm_TqLhviCid-8n0COh7SLZoOKDR4mm5aySDC5rSETJ4A%40mail.gmail.com.
Reply | Threaded
Open this post in threaded view
|

Re: Questionário Básico

Denis Dos Santos Silva
>> O que acontecerá com o seu programa se você inserir um número negativo?
- em calculo tem algo parecido chamado função gama, mas, o propósito aqui é calcular fatorial que não permite números negativos.
- inserir um numero negativo, parece que a função iria rumo ao infinito

>>Modifique o exemplo para evitar esse problema.

--

function fact (n)
  if (n < 0) then error("numero "); end -- se for valor informado menor que zero (ou poderia ate ser menor/igual a -1)
  if n == 0 then return 1; else  return n * fact(n-1); end 
end 

print("entre com um número:");
a = io.read("*number");

a = ( tonumber( string.format("%.0f", a)) or nil); -- converte o que o usuario informou para um numero E tira as casas decimais OU retorna 'nil'
if (not a) then error("entrada de dados invalida"); end

print( fact(a) );

--
--
--




Em terça-feira, 15 de setembro de 2020 às 22:07:43 UTC-3, Hermann escreveu:
Eu nunca rodei com negativo
Mas ou vc proibe a entrada do n negativo
Ou faz o valor absoluto do n na entrada

Em ter, 15 de set de 2020 19:38, Desembargador Lucas <[hidden email]> escreveu:
Estou lendo o livro "Programando em Lua", e me deparei com a primeira questão:

Execute o exemplo do fatorial. O que acontecerá com o seu programa se você inserir um número negativo? Modifique o
exemplo para evitar esse problema.

O Código é esse:
-- define uma função fatorial function fact (n)
 if n == 0 then return 1 
else 
return n * fact(n-1) 
end 
end 
print("entre com um número:")
 a = io.read("*number") -- lê um número print(fact(a))  

--
Você recebeu essa mensagem porque está inscrito no grupo "Lua BR" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para [hidden email].
Para ver essa discussão na Web, acesse https://groups.google.com/d/msgid/lua-br/8464e864-937a-4c9d-a738-4be1c7afb05bn%40googlegroups.com.

--
Você recebeu essa mensagem porque está inscrito no grupo "Lua BR" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para [hidden email].
Para ver essa discussão na Web, acesse https://groups.google.com/d/msgid/lua-br/aae2ae83-431e-419d-8ae8-f0219f47d26fn%40googlegroups.com.