Skip to content

Instantly share code, notes, and snippets.

@lrlucena
Last active December 14, 2015 06:39
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 2 You must be signed in to fork a gist
  • Save lrlucena/5044520 to your computer and use it in GitHub Desktop.
Save lrlucena/5044520 to your computer and use it in GitHub Desktop.
Lista 10
# Escreva uma função, chamada maior2, que retorne o maior de 2 números
def maior2(a,b)
if a>b then a else b end
end
# Escreva um função, chamada maior3, que retorne o maior de 3 números
def maior3(a,b,c)
if a>b and a>c then a elsif b>c then b else c end
end
# Escreva uma função, chamada impar, que retorne true se o número for
# ímpar ou false se ele não for ímpar.
def impar(n)
n%2==1
end
# Escreva uma função, chamada fat, que retorna o fatorial de um
# número. A função deve verificar se o parâmetro passado é inteiro e
# maior do que zero, caso contrário deve retornar -1.
def fat(n)
f = 1
for i in 2..n
f = f * i
end
return f
end
#Alternativa
# def fat(n)
# (1..n).inject(1,:*)
# end
# Escreva uma função chamada mdc2 que calcule o MDC de dois
# números. Caso os números passados não forem inteiros positivos
# a função deve retornar -1.
def mdc2(a,b)
if a<1 or b<1 then return -1
a.gcd(b)
end
# Escreva uma função, chamada soma_array, que retorne a soma
# dos elementos de um array.
def soma_array(a)
s = 0
for i in a
s = s + i
end
return s
end
# Alternativa
# def soma_array(a)
# a.inject(:+)
# end
# Escreva uma função, chamada primos_entre_si, que recebe
# parâmetros, verifique se os mesmos são números inteiros e retorne
# true se eles forem primos entre si.
def primos_entre_si(a,b)
mdc2(a,b) == 1
end
# Escreva uma função, chamada media_ifrn, que recebe dois
# parâmetros reais e calcule a média ponderada, considerando o
# cálculo da média dos cursos superiores do IFRN
def media_ifrn(n1,n2)
(n1*2.0 + n2*3.0) / 5.0
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment