Last active
December 12, 2015 00:39
-
-
Save lrlucena/4685753 to your computer and use it in GitHub Desktop.
Lista07
This file contains 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
# encoding: utf-8 | |
# Escreva um programa que leia um número inteiro n e um nome. O | |
# programa deve mostrar o nome n vezes, cada um em uma linha. | |
puts "Digite um número" | |
n = gets.to_i | |
puts "Digite um nome" | |
nome = gets.chomp | |
n.times do puts nome end | |
# for i in 1..n do puts nome end |
This file contains 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 um programa que leia dois números n e m. O programa | |
# deve mostrar todos os números menores que m que sejam | |
# múltiplos de n. | |
puts "Digite o valor de n" | |
n = gets.to_i | |
puts "Digite o valor de m" | |
m = gets.to_i | |
for i in 1..(m-1) do | |
puts i if i%n==0 | |
end | |
# Alternativas: | |
# puts (1..(m-1)).select do |i| i%n==0 end | |
# puts (1..(m-1)).select{|i| i%n==0} |
This file contains 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 um programa que efetue a soma de dois arrays. | |
print "Digite o primeiro array (valores separdos por virgula): " | |
s1 = gets.chomp | |
a1 = s1.split(",") | |
print "Digite o segundo array (valores separdos por virgula): " | |
s2 = gets.chomp | |
a2 = s2.split(",") | |
a3 = a1 + a2 | |
print a3 |
This file contains 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
# encoding: utf-8 | |
# Escreva um programa que leia n notas e calcule a média da turma | |
# (soma das notas dividido por n). O programa deve então mostrar | |
# quantas notas estão acima da média calculada e quais são e | |
# mostrar quantas estão abaixo da média calculada e quais são. | |
print "Quantas notas: " | |
n = gets.to_i | |
puts "Digite as #{n} notas" | |
notas = n.times.map{gets.to_i} | |
soma = 0 | |
for nota in notas do | |
soma = soma + nota | |
end | |
media = 1.0 * soma / notas.length | |
acima = [] | |
abaixo = [] | |
for nota in notas do | |
if nota>=media then | |
acima << nota | |
else | |
abaixo << nota | |
end | |
end | |
# Alternativa (linhas 14 - 28): | |
# media = 1.0*notas.inject(:+)/notas.length | |
# acima, abaixo = notas.partition{|nota| nota>=media} | |
puts "#{acima.length} notas acima da média: #{acima}" | |
puts "#{abaixo.length} notas acima da média: #{abaixo}" |
This file contains 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 um programa que leia dois números inteiros m e n e gere | |
# um vetor (array) contento n+1 elementos, contendo a sequencia de m | |
# até m+n | |
m = gets.to_i | |
n = gets.to_i | |
vetor = (m..(m+n)).to_a | |
print vetor | |
# Alternativa (linhas 8-9) | |
# for i in m .. m+n do puts i end |
This file contains 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 um programa que leia um número inteiro e mostre o fatorial | |
# do mesmo. | |
n = gets.to_i | |
fat = 1 | |
for i in 2 .. n do | |
fat = fat * i | |
end | |
# Alternativa (linhas 6-9) | |
# fat = (2..n).inject(1, :*) | |
puts fat |
This file contains 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 um programa que mostre todos os números entre 1 e 100 | |
# que são múltiplos de 3 e 7. | |
for n in 1 .. 100 do | |
puts n if n%3==0 or n%7==0 | |
end | |
# Alternativa (linhas 4-6) | |
# multiplos = (1..100).select{|n| n%3==0 or n%7==0} | |
# print multiplos |
This file contains 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 um programa que leia um número inteiro n e mostre a | |
# tabuada de multiplicar de n | |
n = gets.to_i | |
for i in 1..9 do | |
puts "#{i} * #{n} = #{i*n}" | |
end | |
# Alternativa (linhas 6-8) | |
# puts (1..9).map{|i| "#{i} * #{n} = #{i*n}"} |
This file contains 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 um programa que leia dois números inteiros a e b, de uma | |
# equação do primeiro grau na forma f(x)=ax+b. O programa deve | |
# mostrar todos os valores de f(x) e x para o intervalo de 0 a 100, | |
# separados por vírgula, um par por linha. | |
a = gets.to_i | |
b = gets.to_i | |
for x in 0 .. 100 do | |
puts "#{x} , #{a*x+b}" | |
end | |
# Alternativa (linhas 9-11) | |
# puts (0..10).map{|x| "#{x} , #{a*x+b}"} |
This file contains 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 um programa que leia um número inteiro positivo n, calcule | |
# e mostre a soma: 1/1+1/2+1/3+1/4+...+1/(n-1)+1/n | |
n = gets.to_i | |
soma = 0.0 | |
for i in 1..n do | |
soma = soma + 1.0/i | |
end | |
# Alternativa (linhas 6-9) | |
# soma = (1..n).map{|i| 1.0/i}.inject(:+) | |
puts soma |
This file contains 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 um programa que leia duas palavras e mostre a | |
# quantidade de letras que aparecem nas duas palavras. | |
a = gets.chomp | |
b = gets.chomp | |
soma1 = 0 | |
for c in a.upcase.split("") do | |
soma1 = soma1 + 1 if c>="A" and c<="Z" | |
end | |
soma2 = 0 | |
for c in b.upcase.split("") do | |
soma2 = soma2 + 1 if c>="A" and c<="Z" | |
end | |
# Alternativa (linhas 7-15) | |
# soma1 = a.upcase.split("").select{|c| c>="A" and c<="Z"}.length | |
# soma2 = b.upcase.split("").select{|c| c>="A" and c<="Z"}.length | |
puts soma1 | |
puts soma2 |
This file contains 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
# encoding: utf-8 | |
# Escreva um programa que leia um número inteiro n e mostre todos | |
# os números entre 0 e n. | |
puts "Digite um número" | |
n = gets.to_i | |
print (0..n).to_a | |
# for i in 0..n do puts i end |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment