Você está aqui: Ruby ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes) |
Como retornar o tamanho de um array em Ruby usando a função sizeQuantidade de visualizações: 7014 vezes |
Em algumas situações nós precisamos saber como retornar a quantidade de itens em um array Ruby. Para isso nós podemos usar a função size do objeto Array. Veja o exemplo: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- # vamos declarar um array com 5 elementos valores = [3, 6, 78, 32, 1] # vamos obter o seu tamanho tamanho = valores.size # e mostramos o resultado puts "O array contém #{tamanho} elementos" Ao executar este código Ruby nós teremos o seguinte resultado: O array contém 5 elementos |
![]() |
Ruby ::: Desafios e Lista de Exercícios Resolvidos ::: Arrays e Matrix (Vetores e Matrizes) |
Exercícios Resolvidos de Ruby - Escreva um programa Ruby para mover todos os zeros para o final do vetor, sem alterar a ordem dos elementos já presentes no arrayQuantidade de visualizações: 1156 vezes |
Pergunta/Tarefa: Dado o seguinte vetor de inteiros: # vamos declarar e construir um vetor de 8 inteiros valores = [0, 3, 0, 5, 7, 4, 0, 9] Sua saída deverá ser parecida com: Vetor na ordem original: 0 3 0 5 7 4 0 9 Vetor com os zeros deslocados para o final: 3 5 7 4 9 0 0 0 Veja a resolução comentada deste exercício usando Ruby: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- # vamos declarar e construir um vetor de 8 inteiros valores = [0, 3, 0, 5, 7, 4, 0, 9] # vamos mostrar o vetor na ordem original print("Vetor na ordem original:\n") for i in (0..valores.length - 1) printf("%d ", valores[i]) end # vamos inicializar j como 0 para que ele aponte para # o primeiro elemento do vetor j = 0 # agora o laço for percorre todos os elementos do vetor, # incrementanto a variável i e deixando o j em 0 for i in (0..valores.length - 1) # encontramos um valor que não é 0 if(valores[i] != 0) # fazemos a troca entre os elementos nos índices # i e j temp = valores[i] valores[i] = valores[j] valores[j] = temp # e avançamos o j para o elemento seguinte j = j + 1 end end # agora mostramos o resultado print("\n\nVetor com os zeros deslocados para o final:\n") for i in (0..valores.length - 1) printf("%d ", valores[i]) end Não se esqueça: A resolução do exercício deve ser feita sem a criação de um vetor, array ou lista adicional, e os elementos diferentes de zero devem permanecer na mesma ordem que eles estavam antes. |
Ruby ::: Fundamentos da Linguagem ::: Métodos, Procedimentos e Funções |
Como criar métodos que aceitam um número variável de argumentos em RubyQuantidade de visualizações: 7854 vezes |
Como criar uma função que aceita um número variável de argumentos em Ruby É muito fácil criar métodos que aceitam um número variável de argumentos na linguagem Ruby. Tudo que temos que fazer é fornecer um parâmetro antecedido por um asterisco. Se mais parâmetros forem fornecidos, aquele que contém o asterisco deverá vir no final da lista. Veja um exemplo: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- # Um método que aceita um número variável de # argumentos def somar(*args) total = 0 args.each do | arg | total = total + arg end return total end # Usa o método com 3 argumentos puts(somar(3, 4, 2)) # Usa o método com 2 argumentos puts(somar(10, 20)) # Usa o método com 1 argumento puts(somar(5)) Ao executar este código Ruby nós teremos o seguinte resultado: 9 30 5 Neste exemplo eu dei o nome args para o parâmetro com asterisco, mas podemos usar qualquer nome. |
Ruby ::: Fundamentos da Linguagem ::: Passos Iniciais |
Qual é a diferença entre print e puts em Ruby?Quantidade de visualizações: 12282 vezes |
Tanto a função print quanto a função puts do Ruby nos permite escrever na tela, ou seja, exibir ao usuário o resultado do processamento das operações requisitas. Então, qual a diferença entre elas? A instrução puts é uma abreviação de "put string" e automaticamente move o cursor para a próxima linha. A instrução print é usada quando queremos escrever e manter o cursor na mesma linha. Veja um exemplo completo a seguir: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- # Este exemplo mostra a diferença entre as funções # print e puts da linguagem Ruby # vamos construir uma frase aqui frase = "Gosto muito de Ruby" # vamos exibir a frase usando duas chamadas print e # depois duas chamadas puts print frase print frase puts frase puts frase Ao executar este código Ruby nós teremos o seguinte resultado: Gosto muito de RubyGosto muito de RubyGosto muito de Ruby Gosto muito de Ruby Note que as duas primeiras chamadas a print escreveram na mesma linha. Porém, a primeira chamada a puts escreveu na mesma linha anterior, mas já colocou uma quebra de linha após a escrita. As duas funções, contudo, permitem o uso do caractere de quebra de linha. Veja: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- # Este exemplo mostra a diferença entre as funções # print e puts da linguagem Ruby # vamos construir uma frase aqui frase = "Gosto muito de Ruby" # vamos exibir a frase usando duas chamadas print e # depois duas chamadas puts print frase + "\n" print frase + "\n" puts frase + "\n\n" puts frase Ao executar este novo código nós teremos o seguinte resultado: Gosto muito de Ruby Gosto muito de Ruby Gosto muito de Ruby Gosto muito de Ruby |
Ruby ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes) |
Como adicionar itens ao final de um array em Ruby usando a função push()Quantidade de visualizações: 7869 vezes |
Em algumas situações nós precisamos adicionar novos elementos ao final de um array em Ruby. Para isso nós podemos usar a função push() do objeto Array. Veja como isso pode ser feito no código abaixo: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- # vamos criar um array de nomes nomes = [] # Lê entrada até que o valor -1 seja # fornecido loop do print "Digite um nome (-1 para sair): " nome = gets.chomp # vamos adicionar este nome no final do # array if nome != "-1" nomes.push(nome) # adiciona o nome ao array end # vamos sair do laço se o valor for "-1" if nome == "-1" break end end # Exibe todos os valores do array puts "\nOs nomes fornecidos foram:" nomes.each do | nome | puts nome end Ao executar este código Ruby nós teremos o seguinte resultado: Digite um nome (-1 para sair): MARCELO Digite um nome (-1 para sair): JOANA Digite um nome (-1 para sair): OSMAR Digite um nome (-1 para sair): JAQUELINE Digite um nome (-1 para sair): -1 Os nomes fornecidos foram: MARCELO JOANA OSMAR JAQUELINE |
Ruby ::: Dicas & Truques ::: Hashes (Arrays Associativas) |
Como criar um hash em Ruby - Criação e uso de arrays associativos na linguagem RubyQuantidade de visualizações: 9255 vezes |
Os hashes (também chamados de arrays associativas, mapas ou dicionários) são parecidos com arrays no sentido em que são coleções indexadas de referências a objetos. Contudo, enquanto podemos indexar arrays usando inteiros, hashes podem ser indexados usando-se qualquer tipo de dados: strings, expressões regulares, inteiros, e assim por diante. Quando guardamos um valor em um hash, estamos na verdade guardando dois objetos: o índice (geralmente chamado de chave) e o valor. Os valores em um hash Ruby podem ser de qualquer tipo. Hashes em Ruby podem ser criados de duas formas: usando a notação literal ou criando-se um objeto da classe Hash. Veja como criamos um hash usando notação literal: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- # cria um hash de estados e capitais capitais = {'Goiás' => 'Goiânia', 'Mato Grosso' => 'Cuiabá', 'Paraná' => 'Curitiba'} # exibe a capital correspondente ao estado de Mato Grosso puts capitais['Mato Grosso'] Veja como usamos os nomes dos estados como chaves e os nomes das capitais como valores para cada um dos elementos do hash. Veja agora como criar este mesmo hash por meio da criação de um objeto da classe Hash: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- # cria um hash de estados e capitais capitais = Hash.new capitais['Goiás'] = 'Goiânia' capitais['Mato Grosso'] = 'Cuiabá' capitais['Paraná'] = 'Curitiba' # exibe a capital correspondente ao estado de Mato Grosso puts capitais['Mato Grosso'] |
Ruby ::: Dicas & Truques ::: Data e Hora |
Como construir uma data e hora em Ruby usando os métodos mktime() e local() da classe TimeQuantidade de visualizações: 7497 vezes |
Há situações em que precisamos trabalhar com datas e horas no passado ou futuro em Ruby. Para estas situações nós precisamos construir a data ou a data e a hora. Nesta dica mostrarei como usar os métodos mktime() e local() para esta finalidade. Os métodos mktime() e local() são sinônimos e ambos aceitam os seguintes argumentos: # argumentos para mktime Time.mktime(year [, month, day, hour, min, sec, usec) => time #argumentos para local Time.local(year [, month, day, hour, min, sec, usec]) => time Estes métodos criam um novo objeto Time baseado nos parâmetros fornecidos. As unidades de tempo são fornecidas em ordem inversa do mais longo para o mais curto: ano, mês, dia, horas, minutos, segundos e microsegundos. Todos os parâmetros, exceto ano, são opcionais. Quando não fornecidos, estes parâmetros são automaticamente inicializados com seus menores valores possíveis. O parâmetro de microsegundos (usec) pode ser ignorado em muitas arquiteturas. O valor para as horas deve estar na faixa 0..23 (formato 24 horas). Veja um trecho de código no qual usamos os métodos mktime() e local() para construir uma data e uma data e hora: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- # constrói uma data usando o método mktime # passando o ano, mês e dia hoje = Time.mktime(2008, 11, 22) # exibe o resultado puts "A data é: " + hoje.to_s # constrói uma data e hora usando o método mktime # passando o ano, mês, dia, horas, minutos e segundos hoje = Time.mktime(2008, 11, 22, 20, 25, 10) # exibe o resultado puts "A data e hora é: " + hoje.to_s Ao executar este código Ruby nós teremos o seguinte resultado: A data é: 2008-11-22 00:00:00 -0300 A data e hora é: 2008-11-22 20:25:10 -0300 |
Ruby ::: Dicas & Truques ::: Strings e Caracteres |
Como acessar os caracteres individuais de uma string em Ruby usando o método slice() da classe StringQuantidade de visualizações: 7443 vezes |
O método slice() da classe String da linguagem Ruby se torna realmente útil quando precisamos acessar os caracteres individuais de uma string. Neste caso, só precisamos fornecer o índice do caractere a ser acessado e o número 1. O retorno do método é uma nova string ou nulo. Veja o exemplo a seguir: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- nome = "Arquivo de Códigos" # vamos acessar os caracteres individualmente usando # o método slice for i in (0..nome.length - 1) letra = nome.slice(i, 1) print letra + " " end Ao executar este código Ruby nós teremos o seguinte resultado: A r q u i v o d e C ó d i g o s |
Ruby ::: Dicas & Truques ::: Programação Orientada a Objetos |
Como usar variáveis de instância em Ruby - Programação Orientada a Objetos em RubyQuantidade de visualizações: 7685 vezes |
Na programação orientada a objetos, as variáveis de instância são variáveis associadas a cada um dos objetos de uma classe. Podemos pensar assim: temos vários carros de uma mesma montadora e da mesma marca, porém, com cores diferentes. Nessa analogia, a cor pertence a cada um dos carros, de forma particular, ou seja, é uma variável de instância. Vamos ver um exemplo? Veja o código Ruby a seguir: ---------------------------------------------------------------------- Se precisar de ajuda para ajustar o código abaixo de acordo com as suas necessidades, chama a gente no WhatsApp +55 (62) 98553-6711 (Osmar) Ah, e se puder, faça uma DOAÇÃO de qualquer valor para nos ajudar a manter o site livre de anúncios. Ficaremos eternamente gratos ;-) Nosso PIX é: osmar@arquivodecodigos.com.br ---------------------------------------------------------------------- # Definição da classe Cliente class Cliente # construtor da classe def initialize(nome, idade) @nome = nome @idade = idade end # método que permite retornar o nome do cliente def obter_nome @nome end # método que permite retornar a idade do cliente def obter_idade @idade end end # Cria duas instâncias da classe Cliente cliente_a = Cliente.new("Osmar", 35) cliente_b = Cliente.new("Salvador", 28) # Efetua chamadas aos métodos obter_nome e obter_idade # dos dois objetos puts "#{cliente_a.obter_nome} - #{cliente_a.obter_idade}" puts "#{cliente_b.obter_nome} - #{cliente_b.obter_idade}" Ao executar este código Ruby nós teremos o seguinte resultado: Osmar - 35 Salvador - 28 Veja que aqui nós temos duas variáveis de instância: @nome e @idade. Variáveis de instância são sempre precedidas pelo símbolo @ em Ruby. Neste exemplo os valores das variáveis são inicializados por meio do uso do construtor da classe e obtidos por meio de métodos acessores chamados obter_nome e obter_idade. |
Vamos testar seus conhecimentos em Ética e Legislação Profissional |
Ética, Legislação e Entidades que regulamentam a profissão A diretriz mais importante para ser ético é: A) Não comprometer intencionalmente a integridade de outras pessoas com nossas ações. B) O que a empresa para a qual você trabalha estabelece como códigos de ética. C) O que seu supervisor e seus colegas dizem ser o correto. D) O que as organizações profissionais publicam sobre ética. E) A lei. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Engenharia Civil - Construção Civil |
Locação da obra Locar ou marcar a obra é uma das etapas de maior importância da construção. Sobre essa etapa, assinale a alternativa que apresenta a afirmação verdadeira. A) A demarcação dos pontos que definem o edifício no terreno é feita a partir de um referencial previamente definido, considerando-se três coordenadas, sendo duas planimétricas e uma altimétrica. B) Para a locação da obra, são necessários somente os projetos de estrutura e de arquitetura. C) A locação da obra deve ser realizada somente após a movimentação de terra e a execução das fundações. D) As tábuas que compõem os quadros de madeira (gabaritos) só precisam ser niveladas nos casos em que o terreno possui desnível superior a um metro. E) O gabarito somente poderá ser desmontado após a execução da totalidade da estrutura de concreto. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em Engenharia Civil - Estruturas de Aço e Madeira |
Perfil em aço O perfil de aço apresenta diversas características e uma infinidade de composições que podem permanecer resistentes por meio da conexão de diferentes peças mediante conexões. A esse respeito, assinale a alternativa que indica corretamente o elemento de conexão de perfis de aço que oferece a possibilidade de união das peças de uma moldura de aço como se fosse um todo monolítico. A) Rebite. B) Pinos de alta resistência. C) Pinos de aço-carbono. D) Pinos de controle de tensão. E) Solda. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em |
Pilares centrais: dimensionamento e detalhes construtivos No cálculo de pilares centrais, existem alguns preceitos em relação aos efeitos de primeira e segunda ordens. Assinale a alternativa correta em relação a essa afirmação. A) O método do pilar padrão é deduzido de acordo com a equação da linha elástica deformada. B) Para o cálculo do efeito de segunda ordem, deve-se utilizar apenas o método da rigidez aproximada. C) Se apenas um lado tem efeito de segunda ordem, não necessariamente o calcula-se. D) Para o cálculo do efeito de segunda ordem, existe apenas um método. E) O efeito de segunda ordem só é considerado quando a esbeltez estiver abaixo da esbeltez limite. Verificar Resposta Estudar Cards Todas as Questões |
Vamos testar seus conhecimentos em |
Madeiras A madeira desempenha um papel significativo na construção civil, sendo empregada em uma variedade de aplicações, desde montagem de canteiros de obras, escoramentos e formas até esquadrias e estruturas de cobertura. Essa versatilidade da madeira na construção civil está diretamente relacionada às suas propriedades físicas e mecânicas, que determinam suas diversas funcionalidades. Com relação às propriedades das madeiras, assinale a resposta correta: A) A resistência à flexão da madeira é uma das propriedades físicas que permitem que esse material seja usado na construção civil. B) O módulo de elasticidade das madeiras varia em função da espécie, da direção considerada e da umidade da madeira. C) A fluência na madeira é inversamente proporcional ao tempo em que o carregamento atua. D) A resistência das madeiras é a mesma, independentemente da direção na qual a peça será mobilizada. E) A estabilidade dimensional da madeira está relacionada à resistência da madeira à penetração ou ao desgaste. Verificar Resposta Estudar Cards Todas as Questões |
Desafios, Exercícios e Algoritmos Resolvidos de Ruby |
Veja mais Dicas e truques de Ruby |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |