Last active
December 14, 2015 06:39
-
-
Save lrlucena/5044520 to your computer and use it in GitHub Desktop.
Lista 10
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# 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