[box class=windowbg1]
Índice das aulas básicas
Bem legal as suas aulas, bom você está de parabéns pois as aulas estão bem explicadas e tão... Aí fiz o dever de casa... Optei pelo avançado.;
red = 3
[1, 2, 3].each { |i| if red == i then p "red é #{i}" else p "red não é #{i}" end }
Muito boa a aula Raizen, como sempre! ^^.
Duas coisas:
== # se for igual
!= # diferente de
> #maior que
>= #maior ou igual a que
< #menor que
< #menor ou igual que
Exercícios & Comclusão
Dois pequenos erros de digitação xD.
Não fiz os exercícios, até porque eu já conhecia tudo o que havia escrito xD, mas eu li o tópico para ver se não encontrava algo novo em folha :B
Parabéns!
Citação de: Dax online 13/03/2013 às 10:16
Bem legal as suas aulas, bom você está de parabéns pois as aulas estão bem explicadas e tão... Aí fiz o dever de casa... Optei pelo avançado.;
red = 3
[1, 2, 3].each { |i| if red == i then p "red é #{i}" else p "red não é #{i}" end }
Vish, mas ai é avançado demais k x], mas gostei do medo que você fez :D, essas aulas são básicas, então é só para quem está começando mesmo :P, tipo você qé é bolado nisso já kk, tira isso de letra u_u.
@cristianoforce: oooops xD, vlws manin já arrumei :D.
Agora corrija meu código, sei que têm algo errado, acho.
class Felipef
def laranjas
laranjas = 12
if laranjas == 12
p "Possui uma dúzia de laranjas"
else
p "Não tem uma dúzia"
end
end
def horas
horas = 24
if horas == 1
p "ímpar"
elsif horas == 3
p "ímpar"
elsif horas == 5
p "ímpar"
elsif horas == 9
p "ímpar"
elsif horas == 11
p "ímpar"
elsif horas == 13
p "ímpar"
elsif horas == 15
p "ímpar"
elsif horas == 17
p "ímpar"
elsif horas == 19
p "ímpar"
elsif horas == 21
p "ímpar"
elsif horas == 23
p "ímpar"
else
p "par"
end
end
end
conta = Felipef.new
conta.laranjas
conta.horas
Tem como você me explicar, se tiver como, deixar esta condição que eu fiz das horas, tipo bem simplificada XD?(Acho que escrevi mt)
Sim sim k ^^, na verdade era algo assim apenas que eu esperava xD.
class Felipef
def laranjas
laranja = 12
if laranja == 12
p "Possui uma dúzia de laranjas"
else
p "Não tem uma dúzia"
end
end
def horas
hora = 24
if hora % 2 == 1
p "ímpar"
else
p "par"
end
end
end
conta = Felipef.new
conta.laranjas
conta.horas
Lembrando 2 coisas, não use nome de variáveis iguais a nome de métodos :X.
Você havia colocado laranjas e laranjas, e horas e horas, isso não é muito legal xD, na verdade da StackError se você testar, provavelmente... porque ele tenta chamar o método dentro dele mesmo, então só deixar uma variável com nome diferente do método =D.
E, a ideia do impar e par, era usar esse simbolo %, que é resto logo... 5 % 2 == 1
4 % 2 == 0
O resto de 5 por 2, é 1.
O resto de 4 por 2, é 0.
=D
Citação de: Raizen online 09/04/2013 às 00:00
Sim sim k ^^, na verdade era algo assim apenas que eu esperava xD.
class Felipef
def laranjas
laranja = 12
if laranja == 12
p "Possui uma dúzia de laranjas"
else
p "Não tem uma dúzia"
end
end
def horas
hora = 24
if hora % 2 == 1
p "ímpar"
else
p "par"
end
end
end
conta = Felipef.new
conta.laranjas
conta.horas
Lembrando 2 coisas, não use nome de variáveis iguais a nome de métodos :X.
Você havia colocado laranjas e laranjas, e horas e horas, isso não é muito legal xD, na verdade da StackError se você testar, provavelmente... porque ele tenta chamar o método dentro dele mesmo, então só deixar uma variável com nome diferente do método =D.
E, a ideia do impar e par, era usar esse simbolo %, que é resto logo... 5 % 2 == 1
4 % 2 == 0
O resto de 5 por 2, é 1.
O resto de 4 por 2, é 0.
=D
Obrigadopor corrigir, não sabia deste troço aí dos métodos e váriaveis não vlw XD
Vai ver porque nunca precisei usar.^^
Na verdade, sendo bem chato kk, mas se ler acho que entenderá bem, isso funciona para qualquer coisa.
Imagina o seguinte, eu tenho uma caixa.
Essa caixa eu coloco o nome de box, sempre que no programa eu buscar o box, ele vai pegar essa caixa e abrir, abrindo a caixa é que vemos se é uma variável, método, tanto que se eu buscar box2, e eu não criei essa box2, ele vai falar objeto não encontrado, ou seja não existe. Então criando com o nome laranja o método, só haverá uma caixa com nome laranja, se houver por exemplo uma classe com nome Laranja, não pode haver uma constante com nome Laranja. Isso porque Laranja já está sendo ocupado por outra coisa, ele pega um espaço no programa :P, então serve para qualquer coisa, não "nomeie" 2 coisas diferentes com mesmo nome, isso em qualquer linguagem ^^.
Aeee, to aprendendo hehe
Fiz a lição 1:
Spoiler
=begin
###############################################################################
TESTE [Horas/Maçãs]
###############################################################################
=end
class Ryan_bag
def apples
all_apples = 12
if all_apples == 12
p "Você tem 12 maçãs!"
else all_apples < 12
p "Você não tem 12 maçãs!"
end
end
def clock
hours = 19
if hours % 2 == 1
p "Impar"
else
p "Par"
end
end
end
resultado = Ryan_bag.new
resultado.apples
resultado.clock
E Lição 2: :clap:
Spoiler
=begin
###############################################################################
TESTE 2 [Soma/Poções]
###############################################################################
=end
class Ryan_potions
def potions (x, y)
all_potions = x + y
if all_potions >= 10
p "Você tem 10 poções"
else all_potions < 10
p "Você não tem 10 poções"
end
end
end
resultado = Ryan_potions.new
resultado.potions(5,5)
A 3º não entendi muito bem kkkk, já quebrei a cabeça pra fazer a 2 kkkk
Perfeito :wow:, depois tente os outros, a 3 na verdade, é só escrever aquele código de um jeito mais curto do que está xD.
Ah e na um eu havia pedido constante que seria...
Constante, aquele valor que não muda, de resto parabéns, e fico feliz que esteja acompanhando :D, a aula 5 deve sair lá na próxima semana provavelmente.
Ok, ops sorry kkkk, mas entendi como funfa, isso é o mais importante kk agradeço a você pelas aulas, eu sempre quis aprender scripts :3
Nossa, eu to caçando a 5º aula aqui e to "Cadê? Só tem 6º" kkkkk, aguardo então, enquanto isso leio as outras. obrigado :3
O exercício fácil, mas acho que não é assim a verificação se é impar ou par. :rei:
class Netinho
laranjas = 12
hora = 12
if laranjas == 12
p "uma dúzia"
else
p "não tem 12"
end
if hora =
if horas = 0 or 2 or 4 or 6 or 8 or 10 or 12 or 13 or 14 or 15 or 16 or 18 or 20 or 22 or 24
p "par"
else
p "impar"
end
end
Esse intermediário foi um pouco fácil também, só não entendi direito o segundo ponto pedido.
"Crie um método de somar, em que os argumentos sejam 2 números, porém que imprima se a soma é acima de 10, ou abaixo de 10."
red = 5
if red >= 1 and red <= 5
p "red está entre 1 e 5"
else
p "red não é nenhum dos anteriores"
end
Posso melhorar em alguma coisa?!
Exercícios Facieis
Laranjas
class Laranjas;
def laranja(x);
laranja = x
if laranja < 0
puts " você não tem nenhuma Laranja";
elsif laranja.between?(1,5);
puts " Voce tem #{laranja} Laranjas ";
elsif laranja == 6 then puts " Você tem meia duzia ";
elsif laranja.between?(7,11);
puts " Voce tem #{laranja} Laranjas ";
elsif laranja == 12 then puts " Você tem uma duzia ";
elsif laranja > 12;
puts " Voce tem #{laranja} Laranjas ";
end;
end;
end;
resultado = Laranjas.new
resultado.laranja(6)
Horas
class Tempo;
def horas;
hora = 23;
if hora % 2 == 1;
puts "ímpar";
else;
puts "par";
end;
end;
end;
resultado = Tempo.new
resultado.horas
Codigo Optimizado - Intermediario
case red = 4
when 1
puts "red é 1"
when 2
puts "red é 2"
when 3
"red é 3"
else
puts "red nao é nenhum dos anteriores"
end
Programa de Soma de 2 Algoritimos
class Matematica;
def soma(x,y);
soma = x + y;
if soma < 10;
puts " A soma e menor que 10 seu valor é #{soma}";
elsif soma > 10
puts " a soma e Maior que 10 seu valor é #{soma}";
end;
end;
end;
resultado = Matematica.new
resultado.soma(5,6)
resultado.soma(5,6)
Avançado
class Division;
def arg(x)
arg = [x]
divisivel = "Divisivel por 3 "
ndivisivel = "Desculpe Não é divisivel por 3"
if arg.each{|chave,valor,retorno|puts"#{chave} => #{divisivel} e seu resultado é : #{chave/3} " if chave%3==0}
if arg.each{|chave,valor|puts"#{chave} => #{ndivisivel}" unless chave%3==0}
end
end
end
end
resultado = Division.new
resultado.arg(11)
Vou só responder a esse exercicio Mepps, das outras aulas nem preciso falar que está certo né shUAs xD.
Bom você manja a valer, nem tem tanta razão de eu corrigir algo rs, mas muito bem x], usou até um bloco para uma array, apesar que nem precisava de tanto x], anyway vlws por ter dado uma olhada na aula, tento fazer de um modo simples para ser entendível e claro, vamos movimentar essa área mais :D, boa sorte man.
Faltou corrigir o meu Raizen, que está acima do Mepps.
Citação de: NetinhoMaker online 27/07/2013 às 20:52
Faltou corrigir o meu Raizen, que está acima do Mepps.
Me desculpe eu não havia visto D:
Citação de: NetinhoMaker online 27/07/2013 às 02:52
O exercício fácil, mas acho que não é assim a verificação se é impar ou par. :rei:
class Netinho
laranjas = 12
hora = 12
if laranjas == 12
p "uma dúzia"
else
p "não tem 12"
end
if hora =
if horas = 0 or 2 or 4 or 6 or 8 or 10 or 12 or 13 or 14 or 15 or 16 or 18 or 20 or 22 or 24
p "par"
else
p "impar"
end
end
Esse intermediário foi um pouco fácil também, só não entendi direito o segundo ponto pedido.
"Crie um método de somar, em que os argumentos sejam 2 números, porém que imprima se a soma é acima de 10, ou abaixo de 10."
red = 5
if red >= 1 and red <= 5
p "red está entre 1 e 5"
else
p "red não é nenhum dos anteriores"
end
Posso melhorar em alguma coisa?!
então o segundo não vou bem corrigir, pois é bem diferente do pedido xD, acho que não entendeu muito, bem, seria um método de somar tipo.
def soma(x, y)....
e ai ele imprime se a soma é mais que 10, ou menor que 10.
O primeiro, acho melhor vc testar no maker para ver o erro que dará, tem alguns erros ai :P, um de digitação, e o de par o ideal é usar isso daqui. %, isso é simbolo de resto, então dá para fazer uma verificação com o resto, tem outro modo que seria o .even, mas tente fazer com o resto(%).
Obrigado Raizen pela correção, me dei uma segunda chance, espero que não seja incomodo:
class Netinho
def laranja
laranjas = 12
if laranjas == 12
p "Você tem uma dúzia"
else
p "Você não tem uma dúzia"
end
end
def hora
horas = 14
if horas % 2 == 0
p "Par"
else
p "Impar"
end
end
end
result = Netinho.new
result.laranja
result.hora
Optei pelos níveis fáceis e intermediários x3
Fácil
1. Crie uma Constante, que indica o número de laranjas, esse número é colocado pelo usuário, e se tiver um número exato a 12, imprima "uma dúzia".
module Orange_Number # O módulo do número de laranjas
ORANGE_NUMBER = 12
end
class Orange_Print # A classe que vai checar e printar o número de laranjas
include Orange_Number
def print
if ORANGE_NUMBER == 12
p 'Uma dúzia'
end
end
print = Orange_Print.new
print.print
end
2. Crie uma condição aonde eu imprima a hora, que é colocado pelo usuário e que imprima se a hora é ímpar, ou ela é par.
hour = 13
if hour % 2 == 0
p "A hora atual é #{hour}, que é par."
else
p "A hora atual é #{hour}, que é ímpar."
end
Intermediário
1. Optimize o código a seguir com o que foi aprendido nessa aula.
código antigo:
red = 5
if red == 1 then
p "red eh 1"
else
if red == 2 then
p "red eh 2"
else
if red == 3 then
p "red eh 3"
else
p "red nao é nenhum dos anteriores"
end
end
end
código novo:
red = 5
if red == 1
p "red eh 1"
elsif red == 2
p "red eh 2"
elsif red == 3
p "red eh 3"
else
p "red nao é nenhum dos anteriores"
end
2. Crie um método de somar, em que os argumentos sejam 2 números, porém que imprima se a soma é acima de 10, ou abaixo de 10.
def addition(a1,a2)
a12 = a1 + a2
if a12 >= 10
p "O resultado da soma foi maior ou igual à 10"
else
p "O resultado da soma foi menor que 10"
end
end
addition(3,2)
print "\n"
addition(4,6)
print "\n"
addition(6,19)
Espero que goste de meus humildes códigos PAKSPOAKS' u_u
Opa,terminei as tarefas dessa aula(não fiz avançado,porque é avançado :lol: )
Fácil:
Spoiler
Laranja:
class Laranja
def laranjas(x)
laranjas = x
if laranjas == 12
p "Uma duzia"
elsif laranjas < 12
p "Menos que 12"
else
p "Mais que 12"
end
end
end
seila = Laranja.new
seila.laranjas(12)
Hora:
class Tarefa_horas
def hora(x)
horas = x
if horas >= 25
p "Não é uma hora"
elsif horas %2 == 1
p "Impar"
else
p "Par"
end
end
end
result = Tarefa_horas.new
result.hora(16)
Spoiler
Edit: Fiz do jeito que era esperado agora,esta ali em cima,mas deixo aqui o antigo:
class Horas
def hora(x)
hora = x
case hora
when 1
p "Hora impar"
when 3
p "Hora impar"
when 5
p "Hora impar"
when 7
p "Hora impar"
when 9
p "Hora impar"
when 11
p "Hora impar"
when 13
p "Hora impar"
when 15
p "Hora impar"
when 17
p "Hora impar"
when 19
p "Hora impar"
when 21
p "Hora impar"
when 23
p "Hora impar"
when
if hora >= 25
p "Não é uma hora"
else
p "Hora par"
end
end
end
end
seila = Horas.new
seila.hora(10)
Eu sei que não é assim o da hora,eu fiz do jeito que achei que era,e agora vim ler os posts e vi que não fiz do jeito mais fácil. Vou fazer do jeito que você mostrou e depois dou um edit aqui.
Intermediário:
Spoiler
Adaptar código:
red = 5
if red == 1
p "red eh 1"
elsif red == 2
p "red eh 2"
elsif red == 3
p "red eh 3"
else
p "red nao é nenhum dos anteriores"
end
Soma de dois valores mostrando se é maior ou menos que 10:
class Tarefa_interme
def somar(x, y)
soma = x + y
if soma == 10
p "O resultado é 10 exato"
elsif soma > 10
p "O resultado é maior que 10"
else
p "O resultado é menor que 10"
end
end
end
result = Tarefa_interme.new
result.somar(3, 3)
Está aí,não entendi nenhum dos dois avançados,aí fui olhar a tarefa dos outros,e quem fez avançado usou uns código que não conheço :ded:
E já aproveito pra perguntar: Essas aulas você esta ensinando ruby(e não rgss em si).Então tudo aprendido nas suas aulas poderá ser usado no rgss1,rgss2 e no 3 néh?!
E quais são as particularidades de cada rgss?A diferença de programar nas 3 é muita?
Té :wow:
@Netinho: bem melhor :D, agora tentar as outras tarefas mais difíceis :malvado:
@Ryugo: Sobre o de horas, bom qualquer modo que mostrou está correto, apenas que como pode ver, usar o resto(%), é beeem mais fácil :P. Mas de resto está bem legalz.
Sobre sua pergunta, o RGSS é só uma biblioteca, não é todo feito em Ruby o RGSS, porém aquela parte de scripts que editamos lá no editor é, para o RGSS1/2, pelo que eu sei, ele tem 95% de todos os comandos/classes de Ruby, então sem problemas, e o RGSS3 tem ele inteiro(até agora pelo menos :D).
Você aprendendo Ruby, você programa em qualquer RGSS, você aprendendo RGSS, tem mais dificuldade para transitar de um para outro :=p:, então sim, pegando bem a linguagem, você programa em qualquer versão.
Tem mais diferença apenas na hora de usar comandos de RGSS, por exemplo $game_player.x, ou algo que é da biblioteca mesmo, mas sabendo o Ruby, você mexe em todos sem problema. Basta ver que os scripters mais avançados no dia que o Ace foi lançado, já tinha vários scripts saindo.
@SuperPig: Bão bão xD, eu não usaria um método/objeto com nome de print, não é politicamente correto kk, é que tem a função print no Ruby, e você está basicamente usando o mesmo nome o que daria erro.
E nada a comentar dos outros 2, eles estão bons :D.
Boa sorte com as lições, qualquer dúvida podem mandar aqui, ah e sempre testem, é bom para ver como está rodando o código.
Opa, hola Raizen! Como estou persistindo no RGSS3, voltei aqui para te mostrar os exercícios avançados que fiz, acredito que estejam certos. ^^
1:
Spoiler
def divisores(d)
d1 = d % 3
d2 = d % 4
d3 = d % 5
p "Divisível por 3" if d1 == 0
p "Divisível por 4" if d2 == 0
p "Divisível por 5" if d3 == 0
end
divisores(90)
2: (OBS: Obrigado pela dica dos floats ^^)
Spoiler
class Aleatory
def metho1(a,b)
@a = a
@b = b
if a % b == 0
p metho2
else
p metho3
end
end
def metho2
return @a / @b
end
def metho3
return @a / @b
end
end
test = Aleatory.new
test.metho1(6.0,2.0)
Dá uma olhada aí, ^^
Citação de: SuperPig online 26/01/2014 às 00:27
Opa, hola Raizen! Como estou persistindo no RGSS3, voltei aqui para te mostrar os exercícios avançados que fiz, acredito que estejam certos. ^^
1:
Spoiler
def divisores(d)
d1 = d % 3
d2 = d % 4
d3 = d % 5
p "Divisível por 3" if d1 == 0
p "Divisível por 4" if d2 == 0
p "Divisível por 5" if d3 == 0
end
divisores(90)
2: (OBS: Obrigado pela dica dos floats ^^)
Spoiler
class Aleatory
def metho1(a,b)
@a = a
@b = b
if a % b == 0
p metho2
else
p metho3
end
end
def metho2
return @a / @b
end
def metho3
return @a / @b
end
end
test = Aleatory.new
test.metho1(6.0,2.0)
Dá uma olhada aí, ^^
Muitoooo bom :D, de verdade. Não vejo como poderia ser muito melhor, fico feliz de estar acompanhando, agora faltam poucas aulas pela frente :)
Mais um dever pronto, fiz os fáceis e os intermediários
#-------------------------------------------------------------------------------
# Dever de Condições
#-------------------------------------------------------------------------------
#Fáceis
class Links1
def laranjas
laranja = 10
if laranja = 12
p "Tenho uma dúzia de laranjas"
else
p "Não tenho uma dúzia de laranjas"
end
end
def horas
hora = 20
if hora % 2 == 0
p "A hora é par"
else
p "A hora é ímpar"
end
end
end
resultado1 = Links1.new
resultado1.laranjas
resultado1.horas
#Intermediários
#Original
red = 5
if red == 1 then
p "red eh 1"
else
if red == 2 then
p "red eh 2"
else
if red == 3 then
p "red eh 3"
else
p "red nao é nenhum dos anteriores"
end
end
end
#Reduzido
red = 5
if red == 1
p "red eh 1"
elsif red == 2
p "red eh 2"
elsif red == 3
p "red eh 3"
else
p "red não é nenhum dos anteriores"
end
class Links2
def somar(x, y)
soma = x + y
if soma > 10
p "A soma é maior que 10"
else
p "A soma é menor que 10"
end
end
end
resultado2 = Links2
resultado2.somar(7, 6)
Só não entendi uma coisa, o segundo intermediário eu fiz só que quando testo dá erro, o que fiz de errado? Obs.: Esses números depois das palavras é por que acho que pode dar conflito com os scripts das outras aulas.
Citação de: Linksplays online 24/05/2015 às 21:05
Mais um dever pronto, fiz os fáceis e os intermediários
#-------------------------------------------------------------------------------
# Dever de Condições
#-------------------------------------------------------------------------------
#Fáceis
class Links1
def laranjas
laranja = 10
if laranja = 12
p "Tenho uma dúzia de laranjas"
else
p "Não tenho uma dúzia de laranjas"
end
end
def horas
hora = 20
if hora % 2 == 0
p "A hora é par"
else
p "A hora é ímpar"
end
end
end
resultado1 = Links1.new
resultado1.laranjas
resultado1.horas
#Intermediários
#Original
red = 5
if red == 1 then
p "red eh 1"
else
if red == 2 then
p "red eh 2"
else
if red == 3 then
p "red eh 3"
else
p "red nao é nenhum dos anteriores"
end
end
end
#Reduzido
red = 5
if red == 1
p "red eh 1"
elsif red == 2
p "red eh 2"
elsif red == 3
p "red eh 3"
else
p "red não é nenhum dos anteriores"
end
class Links2
def somar(x, y)
soma = x + y
if soma > 10
p "A soma é maior que 10"
else
p "A soma é menor que 10"
end
end
end
resultado2 = Links2
resultado2.somar(7, 6)
Só não entendi uma coisa, o segundo intermediário eu fiz só que quando testo dá erro, o que fiz de errado? Obs.: Esses números depois das palavras é por que acho que pode dar conflito com os scripts das outras aulas.
resultado2 = Links2
Não faltou o .new xD? Para instanciar a classe :)?
Do jeito que fez daria certo de outro modo, mas ai é nas aulas avançadas que verá, mas acho que só faltou isso mesmo.
Citação de: Raizen online 25/05/2015 às 10:15
Citação de: Linksplays online 24/05/2015 às 21:05
Mais um dever pronto, fiz os fáceis e os intermediários
#-------------------------------------------------------------------------------
# Dever de Condições
#-------------------------------------------------------------------------------
#Fáceis
class Links1
def laranjas
laranja = 10
if laranja = 12
p "Tenho uma dúzia de laranjas"
else
p "Não tenho uma dúzia de laranjas"
end
end
def horas
hora = 20
if hora % 2 == 0
p "A hora é par"
else
p "A hora é ímpar"
end
end
end
resultado1 = Links1.new
resultado1.laranjas
resultado1.horas
#Intermediários
#Original
red = 5
if red == 1 then
p "red eh 1"
else
if red == 2 then
p "red eh 2"
else
if red == 3 then
p "red eh 3"
else
p "red nao é nenhum dos anteriores"
end
end
end
#Reduzido
red = 5
if red == 1
p "red eh 1"
elsif red == 2
p "red eh 2"
elsif red == 3
p "red eh 3"
else
p "red não é nenhum dos anteriores"
end
class Links2
def somar(x, y)
soma = x + y
if soma > 10
p "A soma é maior que 10"
else
p "A soma é menor que 10"
end
end
end
resultado2 = Links2
resultado2.somar(7, 6)
Só não entendi uma coisa, o segundo intermediário eu fiz só que quando testo dá erro, o que fiz de errado? Obs.: Esses números depois das palavras é por que acho que pode dar conflito com os scripts das outras aulas.
resultado2 = Links2
Não faltou o .new xD? Para instanciar a classe :)?
Do jeito que fez daria certo de outro modo, mas ai é nas aulas avançadas que verá, mas acho que só faltou isso mesmo.
Caraca não acredito que não vi isso vei, vlw ai.
Agora sim:
[code]#-------------------------------------------------------------------------------
# Dever de Condições
#-------------------------------------------------------------------------------
#Fáceis
class Links1
def laranjas
laranja = 10
if laranja = 12
p "Tenho uma dúzia de laranjas"
else
p "Não tenho uma dúzia de laranjas"
end
end
def horas
hora = 20
if hora % 2 == 0
p "A hora é par"
else
p "A hora é ímpar"
end
end
end
resultado1 = Links1.new
resultado1.laranjas
resultado1.horas
#Intermediários
#Original
red = 5
if red == 1 then
p "red eh 1"
else
if red == 2 then
p "red eh 2"
else
if red == 3 then
p "red eh 3"
else
p "red nao é nenhum dos anteriores"
end
end
end
#Reduzido
red = 5
if red == 1
p "red eh 1"
elsif red == 2
p "red eh 2"
elsif red == 3
p "red eh 3"
else
p "red não é nenhum dos anteriores"
end
class Links2
def somar1(x, y)
soma = x + y
if soma > 10
p "A soma é maior que 10"
else
p "A soma é menor que 10"
end
end
end
resultado2 = Links2.new
resultado2.somar1(7, 6)
kkkkk
Cara ótimas aulas, estou gostando muito, ai esta meu dever de casa:
Fáceis:
Laranja = 24
if Laranja == 12
p "Você possui uma dúzia de laranjas"
elsif Laranja < 12
p "Você possui menos que uma dúzia de laranjas"
else
p "Você possui mais que uma dúzia de laranjas"
end
horas = 15
if horas % 2 == 0
p "É par"
else
p "É impar"
end
Intermediário:
red = 5
case red
if red == 1 then
p "red é 1"
elsif red == 2 then
p "red é 2"
elsif red == 3 then
p "red é 3"
else
p "red nao é nenhum dos anteriores"
end
def soma(x, y)
z = x + y
if z > 10
p "A soma é maior que 10"
elsif z < 10
p "A soma é menor que 10"
else
p "A soma é igual a 10"
end
end
soma(3, 8)
Avançado:
def verifica (x)
if x % 3 == 0
p "O número é divisivel por 3"
end
if x % 4 == 0
p "O número é divisivel por 4"
end
if x % 5 == 0
p "O nùmero é divisivel por 5"
end
end
verifica(15)
class Qualquer
def metodo1(x, y)
@x = x
@y = y
if x % y == 0
p metodo2
else
p metodo3
end
end
def metodo2
return @x / @y
end
def metodo3
if @x > @y
return @x / @y
else
return @y / @x
end
end
end
q = Qualquer.new
q.metodo1(3.0, 4.0)
@RaizenRapaz... que dificuldade que eu tive no último do avançado, acho que não foi como tu queria, mas foi o máximo que consegui encontrar de lógico para se fazer. Me corrija se eu errei em alguns dos exercícios:Nível Fácil: Exercício 1Spoiler
#-------------------------------------------------------------------------------
# Exercício 1 Aula 4 do Raizen RGSS3: NÍVEL FÁCIL
#-------------------------------------------------------------------------------
class Laranja
def laranjas
a = 12
if a == 12
print "uma dúzia"
else
print a
end
end
end
var = Laranja.new
var.laranjas
Nível Fácil: Exercício 2Spoiler
#-------------------------------------------------------------------------------
# Exercício 2 Aula 4 do Raizen RGSS3: NÍVEL FÁCIL
#-------------------------------------------------------------------------------
class Tempo
def horas
hrs = 12
if hrs % 2 == 1
print "Número ímpar."
else
print "Número par."
end
end
end
var = Tempo.new
var.horas
Nível Intermediário: Exercício 1 e 2Spoiler
#-------------------------------------------------------------------------------
# Exercício 1 e 2 Aula 4 do Raizen RGSS3: NÍVEL INTERMEDIÁRIO
#-------------------------------------------------------------------------------
class Red_class
def red
red = 5
if red == 1 then p "red eh 1"
else
if red == 2 then p "red eh 2"
else
if red == 3 then p "red eh 3"
else
p "red nao é nenhum dos anteriores"
end
end
end
end
#-------------------------------------------------------------------------------
def red1(a, b)
if a + b > 10
print "acima de 10"
elsif a + b == 10
print ""
else
print "abaixo de 10"
end
end
end
var = Red_class.new
var.red
var.red1(5, 5)
Nível Avançado: Exercício 1Spoiler
#-------------------------------------------------------------------------------
# Exercício 1 Aulas 4 do Raizen RGSS3: NÍVEL AVANÇADO
#-------------------------------------------------------------------------------
class Number
def divo(a)
if a % 3 == 0 then print "É divisível por 3.\n" end
if a % 4 == 0 then print "É divisível por 4.\n" end
if a % 5 == 0 then print "É divisível por 5.\n" end
if a % 3 != 0 and a % 4 != 0 and a % 5 != 0
print "Não é divisível por nenhum."
end
end
end
var2 = Number.new
var2.divo(3)
Nível Avançado: Exercício 2Spoiler
#-------------------------------------------------------------------------------
# Exercício 2 Aulas 4 do Raizen RGSS3: NÍVEL AVANÇADO
#-------------------------------------------------------------------------------
class Nunnu
def met1
@x = 2.0
@y = 4.0
if @x / @y % 1 == 0
p met2
else
p met3
end
end
def met2
@x = 2
@y = 4
if @x > @y == true
@x / @y
else
@y / @x
end
end
def met3
if @x > @y == true
@x / @y
else
@y / @x
end
end
end
var = Nunnu.new
var.met1
Desculpe ter que fazer tu trabalhar mais xD, tá cheio de exercício pendente. Mas é que realmente é importante pra mim aprender Ruby atualmente, preciso saber se estou indo no caminho certo. As tuas aulas são muito boas e tal, mas o que eu mais gosto são dos exercícios, se não fosse isso não lembraria tão facilmente do que aprendi.
Resumindo, está muito bom seu trabalho, continue com as aulas se já não terminou.
OBS: Desculpem em reviver o tópico, mas é importante pra mim saber meu desempenho.