SlideShare uma empresa Scribd logo
Lógica de
Programação com
Ruby
Array’s e Hashes
Ricardo Silva
O que são e para que servem?
- De modo geral são coleções(listas) de elementos
identificados por ao menos um índice ou uma chave
- No Ruby os arrays não possuem um limite de elementos,
eles crescem conforme a necessidade.
Declarando e utilizando arrays
Recusos do Array
- Quando utilizamos Arrays ganhamos com ele alguns
recursos bem legais:
O first e o last são alguns deles
Utilizando “ << “ para adicionar
elementos em arrays
Podemos adicionar diferentes
tipos de dados em um Array?
- Sim. Ruby é uma linguagem com tipagem dinâmica,
lembra?
Percorrendo nosso Array
- Quando utilizamos o comando puts seguido do nosso
array herois , todos os valores do nosso array foram
impressos. Mas e se fosse preciso percorrer nosso array e
imprimir somente alguns desses elementos?
- Digamos que é queremos imprimir somente os elementos
“Batman” e “Superman”, como podemos resolver isso?
Podemos usar o comando .each para percorrer nosso array,
extraindo elemento por elemento e verificando se o elemento
em questão é igual a “Batman” ou “Superman
Utilizando o for
Também podemos utilizar o for para percer esse array.
Trabalhando com Hashes
- Arrays são ótimos, mas não resolvem todos os nossos
problemas.
- E se nossa lista de herois aumentasse um pouco mais? E
se nós precisassemos dividir esses heróis por gênero?
Hashes podem nos ajudar
- Para declarar um hash nós só precisamos fazer algumas
alterações. No lugar dos colchetes( [] ), por exemplo,
utilizamos chaves ( {} ).
- :homens: e :mulheres são Symbols, que se parece com um
nome de variável, mas prefixado por dois pontos(:). Aqui
nós utilizamos eles para definir as duas categorias
possíveis. Depois utilizamos colchetes ( [] ) para passar
uma lista de elementos pertecentes aquela categoria(o
uso do colchete só é necessário caso existam mais de um
elemento pertecente a um Symbol)
Os métodos values
- Da mesma forma que arrays nos entregam alguns
recursos próprios, os hashes também fazem isso.
Podemos citar como exemplo o values
Values
- Utilizado quando precisamos obter todos os valores de
um determinado hash, esse método retorna todos os
valores dentro de um hash dentro de um array ,
independente dos symbols
- Para adicionar elementos no hash e percorrer o mesmo
fazemos isso de forma muito parecida com arrays.
- Vamos tentar buscar no nosso hash somente o herói que
se chamar Batman ou Mulher Gavião e que pertença a
categoria homens. Perceba que Mulher Gavião está no
nosso hash, mas não está em homens, então ela não
deverá ser impressa na tela
Exercicios
1- Faça um programa que receba o nome de 10 pessoas e
imprima na tela todas as pessoas pessoas cadastradas
2 - Crie um algoritmo em que o usuario entre com 10 letras.
Após isso o usuário deverá informar qual a letra deseja
procurar nessa lista e o programa deverá dizer se essa letra
está ou não está na lista.
Mais exercícios
3 - Escreva um programa que o usuário informe 5 valores e o
programa exiba esses valores em ordem crescente
4 - Crie um programa que receba 15 valores e ao final informe
qual é o maior e qual o menor valor informado
5 - Vc precisa criar um sistema que receba o nome e o gênero
da pessoa. Essas pessoas cadastradas precisam ser exibidas
em uma lista onde de um lado constarão somente as pessoas
do gênero masculino, e do outro, do gênero feminino

Mais conteúdo relacionado

Mais procurados

HTML - Aula 01 - Estrutura básica e tags básicas no html
HTML - Aula 01 - Estrutura básica e tags básicas no htmlHTML - Aula 01 - Estrutura básica e tags básicas no html
HTML - Aula 01 - Estrutura básica e tags básicas no html
Tiago Luiz Ribeiro da Silva
 
Programação Orientada a Objetos
Programação Orientada a ObjetosProgramação Orientada a Objetos
Programação Orientada a Objetos
Igor Takenami
 
Java: strings e arrays
Java: strings e arraysJava: strings e arrays
Java: strings e arrays
Arthur Emanuel
 
POO - Aula 10 - Polimorfismo
POO - Aula 10 - PolimorfismoPOO - Aula 10 - Polimorfismo
POO - Aula 10 - Polimorfismo
Felipe J. R. Vieira
 
Introdução ao desenvolvimento Web
Introdução ao desenvolvimento WebIntrodução ao desenvolvimento Web
Introdução ao desenvolvimento WebSérgio Souza Costa
 
Curso de Desenvolvimento Web - Módulo 02 - CSS
Curso de Desenvolvimento Web - Módulo 02 - CSSCurso de Desenvolvimento Web - Módulo 02 - CSS
Curso de Desenvolvimento Web - Módulo 02 - CSS
Rodrigo Bueno Santa Maria, BS, MBA
 
Lógica de Programação - Estrutura de repetição
Lógica de Programação - Estrutura de repetiçãoLógica de Programação - Estrutura de repetição
Lógica de Programação - Estrutura de repetição
Wesley R. Bezerra
 
Introdução básica ao JavaScript
Introdução básica ao JavaScriptIntrodução básica ao JavaScript
Introdução básica ao JavaScript
Carlos Eduardo Kadu
 
PHP - Introdução
PHP - IntroduçãoPHP - Introdução
PHP - Introdução
Fabio Moura Pereira
 
Tags HTML
Tags HTMLTags HTML
Tags HTML
Romario Moreira
 
Introdução à Linguagem C
Introdução à Linguagem CIntrodução à Linguagem C
Introdução à Linguagem C
Elaine Cecília Gatto
 
Java: Collections
Java: CollectionsJava: Collections
Java: Collections
Arthur Emanuel
 
Estrutura de Dados - Procedimentos e Funções
Estrutura de Dados - Procedimentos e FunçõesEstrutura de Dados - Procedimentos e Funções
Estrutura de Dados - Procedimentos e FunçõesAdriano Teixeira de Souza
 
Introdução ao editor de texto Word
Introdução ao editor de texto WordIntrodução ao editor de texto Word
Introdução ao editor de texto Word
Daniel Brandão
 
Aula15 - Array PHP
Aula15 - Array PHPAula15 - Array PHP
Aula15 - Array PHP
Jorge Ávila Miranda
 
Algoritmos e lp parte 4-vetores matrizes e registros
Algoritmos e lp parte 4-vetores matrizes e registrosAlgoritmos e lp parte 4-vetores matrizes e registros
Algoritmos e lp parte 4-vetores matrizes e registros
Mauro Pereira
 
Java introdução ao java
Java   introdução ao javaJava   introdução ao java
Java introdução ao javaArmando Daniel
 
Módulo 1 de PSI
Módulo 1 de PSIMódulo 1 de PSI
Módulo 1 de PSI
Hilário Santos Russo
 

Mais procurados (20)

HTML - Aula 01 - Estrutura básica e tags básicas no html
HTML - Aula 01 - Estrutura básica e tags básicas no htmlHTML - Aula 01 - Estrutura básica e tags básicas no html
HTML - Aula 01 - Estrutura básica e tags básicas no html
 
Programação Orientada a Objetos
Programação Orientada a ObjetosProgramação Orientada a Objetos
Programação Orientada a Objetos
 
Java: strings e arrays
Java: strings e arraysJava: strings e arrays
Java: strings e arrays
 
POO - 10 - Herança
POO - 10 - HerançaPOO - 10 - Herança
POO - 10 - Herança
 
POO - Aula 10 - Polimorfismo
POO - Aula 10 - PolimorfismoPOO - Aula 10 - Polimorfismo
POO - Aula 10 - Polimorfismo
 
Introdução ao desenvolvimento Web
Introdução ao desenvolvimento WebIntrodução ao desenvolvimento Web
Introdução ao desenvolvimento Web
 
Curso de Desenvolvimento Web - Módulo 02 - CSS
Curso de Desenvolvimento Web - Módulo 02 - CSSCurso de Desenvolvimento Web - Módulo 02 - CSS
Curso de Desenvolvimento Web - Módulo 02 - CSS
 
Lógica de Programação - Estrutura de repetição
Lógica de Programação - Estrutura de repetiçãoLógica de Programação - Estrutura de repetição
Lógica de Programação - Estrutura de repetição
 
Introdução básica ao JavaScript
Introdução básica ao JavaScriptIntrodução básica ao JavaScript
Introdução básica ao JavaScript
 
PHP - Introdução
PHP - IntroduçãoPHP - Introdução
PHP - Introdução
 
Tags HTML
Tags HTMLTags HTML
Tags HTML
 
Introdução à Linguagem C
Introdução à Linguagem CIntrodução à Linguagem C
Introdução à Linguagem C
 
Java: Collections
Java: CollectionsJava: Collections
Java: Collections
 
Estrutura de Dados - Procedimentos e Funções
Estrutura de Dados - Procedimentos e FunçõesEstrutura de Dados - Procedimentos e Funções
Estrutura de Dados - Procedimentos e Funções
 
Introdução ao editor de texto Word
Introdução ao editor de texto WordIntrodução ao editor de texto Word
Introdução ao editor de texto Word
 
Aula15 - Array PHP
Aula15 - Array PHPAula15 - Array PHP
Aula15 - Array PHP
 
Algoritmos e lp parte 4-vetores matrizes e registros
Algoritmos e lp parte 4-vetores matrizes e registrosAlgoritmos e lp parte 4-vetores matrizes e registros
Algoritmos e lp parte 4-vetores matrizes e registros
 
Aula 6 banco de dados
Aula 6   banco de dadosAula 6   banco de dados
Aula 6 banco de dados
 
Java introdução ao java
Java   introdução ao javaJava   introdução ao java
Java introdução ao java
 
Módulo 1 de PSI
Módulo 1 de PSIMódulo 1 de PSI
Módulo 1 de PSI
 

Destaque

Estrutura de repetição com Ruby[AULA-3]
Estrutura de repetição com Ruby[AULA-3]Estrutura de repetição com Ruby[AULA-3]
Estrutura de repetição com Ruby[AULA-3]
Ricardo Silva
 
Logica de programação. introdução[AULA-1]
Logica de programação. introdução[AULA-1]Logica de programação. introdução[AULA-1]
Logica de programação. introdução[AULA-1]
Ricardo Silva
 
Rest API's with Ruby on Rails
Rest API's with Ruby on RailsRest API's with Ruby on Rails
Rest API's with Ruby on RailsRicardo Silva
 
Ruby Language: Array, Hash and Iterators
Ruby Language: Array, Hash and IteratorsRuby Language: Array, Hash and Iterators
Ruby Language: Array, Hash and Iterators
Sarah Allen
 
Codeplay Software - Open Standards for Automotive Vision Processing & Machine...
Codeplay Software - Open Standards for Automotive Vision Processing & Machine...Codeplay Software - Open Standards for Automotive Vision Processing & Machine...
Codeplay Software - Open Standards for Automotive Vision Processing & Machine...
Charles Macfarlane
 
10 augusto salazar bondy
10 augusto salazar bondy10 augusto salazar bondy
10 augusto salazar bondy
JESUS HUAPAYA GARCIA
 
Katja Henttonen ja Maija Federley: Yhteistoimintatalouden tulevaisuutta etsim...
Katja Henttonen ja Maija Federley: Yhteistoimintatalouden tulevaisuutta etsim...Katja Henttonen ja Maija Federley: Yhteistoimintatalouden tulevaisuutta etsim...
Katja Henttonen ja Maija Federley: Yhteistoimintatalouden tulevaisuutta etsim...
VTT Technical Research Centre of Finland Ltd
 
Taller de Creatividad - Escuela Da Vinci - Clase 3
Taller de Creatividad - Escuela Da Vinci - Clase 3Taller de Creatividad - Escuela Da Vinci - Clase 3
Taller de Creatividad - Escuela Da Vinci - Clase 3
José Francisco Hiebaum
 
Intro.deck.0-3
Intro.deck.0-3Intro.deck.0-3
Intro.deck.0-3Will Shown
 
Learning Object #1 Energy in a Mass Spring System
Learning Object #1 Energy in a Mass Spring SystemLearning Object #1 Energy in a Mass Spring System
Learning Object #1 Energy in a Mass Spring System
tony2sun
 
Reglamento qh 2015_es
Reglamento qh 2015_esReglamento qh 2015_es
Reglamento qh 2015_esMartaSayas
 
Análisis morfológigo nivel alto 1
Análisis morfológigo nivel alto 1Análisis morfológigo nivel alto 1
Análisis morfológigo nivel alto 1
Marga Casaus
 
先用再学 - 借助 XNA 快速开发游戏原型
先用再学  - 借助 XNA 快速开发游戏原型先用再学  - 借助 XNA 快速开发游戏原型
先用再学 - 借助 XNA 快速开发游戏原型onlyfeng
 
Análisis morfológico nivel inicial 1
Análisis morfológico nivel inicial 1Análisis morfológico nivel inicial 1
Análisis morfológico nivel inicial 1
Marga Casaus
 
CURSO JAVA - AULA 1 - INTRODUÇÃO LÓGICA DE PROGRAMAÇÃO
CURSO JAVA - AULA 1 - INTRODUÇÃO LÓGICA DE PROGRAMAÇÃOCURSO JAVA - AULA 1 - INTRODUÇÃO LÓGICA DE PROGRAMAÇÃO
CURSO JAVA - AULA 1 - INTRODUÇÃO LÓGICA DE PROGRAMAÇÃO
Microsoft
 
La Cultura Escolar y el Clima Escolar ccesa007
La Cultura Escolar y el Clima Escolar  ccesa007La Cultura Escolar y el Clima Escolar  ccesa007
La Cultura Escolar y el Clima Escolar ccesa007
Demetrio Ccesa Rayme
 
Megatendencias tecnológicas silla sube-escaleras
Megatendencias tecnológicas   silla sube-escalerasMegatendencias tecnológicas   silla sube-escaleras
Megatendencias tecnológicas silla sube-escaleras
Angela Garza
 

Destaque (20)

Estrutura de repetição com Ruby[AULA-3]
Estrutura de repetição com Ruby[AULA-3]Estrutura de repetição com Ruby[AULA-3]
Estrutura de repetição com Ruby[AULA-3]
 
Logica de programação. introdução[AULA-1]
Logica de programação. introdução[AULA-1]Logica de programação. introdução[AULA-1]
Logica de programação. introdução[AULA-1]
 
Rest API's with Ruby on Rails
Rest API's with Ruby on RailsRest API's with Ruby on Rails
Rest API's with Ruby on Rails
 
Ruby Language: Array, Hash and Iterators
Ruby Language: Array, Hash and IteratorsRuby Language: Array, Hash and Iterators
Ruby Language: Array, Hash and Iterators
 
Codeplay Software - Open Standards for Automotive Vision Processing & Machine...
Codeplay Software - Open Standards for Automotive Vision Processing & Machine...Codeplay Software - Open Standards for Automotive Vision Processing & Machine...
Codeplay Software - Open Standards for Automotive Vision Processing & Machine...
 
10 augusto salazar bondy
10 augusto salazar bondy10 augusto salazar bondy
10 augusto salazar bondy
 
Katja Henttonen ja Maija Federley: Yhteistoimintatalouden tulevaisuutta etsim...
Katja Henttonen ja Maija Federley: Yhteistoimintatalouden tulevaisuutta etsim...Katja Henttonen ja Maija Federley: Yhteistoimintatalouden tulevaisuutta etsim...
Katja Henttonen ja Maija Federley: Yhteistoimintatalouden tulevaisuutta etsim...
 
newsmag
newsmagnewsmag
newsmag
 
Company Profile Final
Company Profile FinalCompany Profile Final
Company Profile Final
 
Taller de Creatividad - Escuela Da Vinci - Clase 3
Taller de Creatividad - Escuela Da Vinci - Clase 3Taller de Creatividad - Escuela Da Vinci - Clase 3
Taller de Creatividad - Escuela Da Vinci - Clase 3
 
oric1
oric1oric1
oric1
 
Intro.deck.0-3
Intro.deck.0-3Intro.deck.0-3
Intro.deck.0-3
 
Learning Object #1 Energy in a Mass Spring System
Learning Object #1 Energy in a Mass Spring SystemLearning Object #1 Energy in a Mass Spring System
Learning Object #1 Energy in a Mass Spring System
 
Reglamento qh 2015_es
Reglamento qh 2015_esReglamento qh 2015_es
Reglamento qh 2015_es
 
Análisis morfológigo nivel alto 1
Análisis morfológigo nivel alto 1Análisis morfológigo nivel alto 1
Análisis morfológigo nivel alto 1
 
先用再学 - 借助 XNA 快速开发游戏原型
先用再学  - 借助 XNA 快速开发游戏原型先用再学  - 借助 XNA 快速开发游戏原型
先用再学 - 借助 XNA 快速开发游戏原型
 
Análisis morfológico nivel inicial 1
Análisis morfológico nivel inicial 1Análisis morfológico nivel inicial 1
Análisis morfológico nivel inicial 1
 
CURSO JAVA - AULA 1 - INTRODUÇÃO LÓGICA DE PROGRAMAÇÃO
CURSO JAVA - AULA 1 - INTRODUÇÃO LÓGICA DE PROGRAMAÇÃOCURSO JAVA - AULA 1 - INTRODUÇÃO LÓGICA DE PROGRAMAÇÃO
CURSO JAVA - AULA 1 - INTRODUÇÃO LÓGICA DE PROGRAMAÇÃO
 
La Cultura Escolar y el Clima Escolar ccesa007
La Cultura Escolar y el Clima Escolar  ccesa007La Cultura Escolar y el Clima Escolar  ccesa007
La Cultura Escolar y el Clima Escolar ccesa007
 
Megatendencias tecnológicas silla sube-escaleras
Megatendencias tecnológicas   silla sube-escalerasMegatendencias tecnológicas   silla sube-escaleras
Megatendencias tecnológicas silla sube-escaleras
 

Semelhante a Arrays e Hashes com Ruby[AULA 4]

PHP - Arrays
PHP - ArraysPHP - Arrays
PHP - Arrays
Rafael Pinheiro
 
Apostila php 01
Apostila php 01Apostila php 01
Apostila php 01
Gislene Carvalho
 
4234 mysql
4234 mysql4234 mysql
4234 mysqlherbam
 
Manipulacao de arrays
Manipulacao de arraysManipulacao de arrays
Manipulacao de arrays
Nadijar Casarin
 
Aula 02 - JavaScript: Arrays
Aula 02 - JavaScript: ArraysAula 02 - JavaScript: Arrays
Aula 02 - JavaScript: Arrays
Jessyka Lage
 
Curso ruby on rails
Curso ruby on railsCurso ruby on rails
Curso ruby on rails
João Carreira
 
Java básico - Módulo 06: Array
Java básico - Módulo 06: ArrayJava básico - Módulo 06: Array
Java básico - Módulo 06: Array
Professor Samuel Ribeiro
 

Semelhante a Arrays e Hashes com Ruby[AULA 4] (10)

PHP - Arrays
PHP - ArraysPHP - Arrays
PHP - Arrays
 
Apostila php 01
Apostila php 01Apostila php 01
Apostila php 01
 
4234 mysql
4234 mysql4234 mysql
4234 mysql
 
Manipulacao de arrays
Manipulacao de arraysManipulacao de arrays
Manipulacao de arrays
 
Aula 02 - JavaScript: Arrays
Aula 02 - JavaScript: ArraysAula 02 - JavaScript: Arrays
Aula 02 - JavaScript: Arrays
 
Curso ruby on rails
Curso ruby on railsCurso ruby on rails
Curso ruby on rails
 
Java básico - Módulo 06: Array
Java básico - Módulo 06: ArrayJava básico - Módulo 06: Array
Java básico - Módulo 06: Array
 
PHP Básico - Parte 3
PHP Básico - Parte 3PHP Básico - Parte 3
PHP Básico - Parte 3
 
Aprendendo ruby
Aprendendo rubyAprendendo ruby
Aprendendo ruby
 
Capítulo 6
Capítulo 6Capítulo 6
Capítulo 6
 

Arrays e Hashes com Ruby[AULA 4]

  • 2. O que são e para que servem? - De modo geral são coleções(listas) de elementos identificados por ao menos um índice ou uma chave - No Ruby os arrays não possuem um limite de elementos, eles crescem conforme a necessidade.
  • 3.
  • 5. Recusos do Array - Quando utilizamos Arrays ganhamos com ele alguns recursos bem legais:
  • 6. O first e o last são alguns deles
  • 7. Utilizando “ << “ para adicionar elementos em arrays
  • 8. Podemos adicionar diferentes tipos de dados em um Array? - Sim. Ruby é uma linguagem com tipagem dinâmica, lembra?
  • 9.
  • 10. Percorrendo nosso Array - Quando utilizamos o comando puts seguido do nosso array herois , todos os valores do nosso array foram impressos. Mas e se fosse preciso percorrer nosso array e imprimir somente alguns desses elementos? - Digamos que é queremos imprimir somente os elementos “Batman” e “Superman”, como podemos resolver isso?
  • 11. Podemos usar o comando .each para percorrer nosso array, extraindo elemento por elemento e verificando se o elemento em questão é igual a “Batman” ou “Superman
  • 12. Utilizando o for Também podemos utilizar o for para percer esse array.
  • 13. Trabalhando com Hashes - Arrays são ótimos, mas não resolvem todos os nossos problemas. - E se nossa lista de herois aumentasse um pouco mais? E se nós precisassemos dividir esses heróis por gênero?
  • 15. - Para declarar um hash nós só precisamos fazer algumas alterações. No lugar dos colchetes( [] ), por exemplo, utilizamos chaves ( {} ). - :homens: e :mulheres são Symbols, que se parece com um nome de variável, mas prefixado por dois pontos(:). Aqui nós utilizamos eles para definir as duas categorias possíveis. Depois utilizamos colchetes ( [] ) para passar uma lista de elementos pertecentes aquela categoria(o uso do colchete só é necessário caso existam mais de um elemento pertecente a um Symbol)
  • 16.
  • 17. Os métodos values - Da mesma forma que arrays nos entregam alguns recursos próprios, os hashes também fazem isso. Podemos citar como exemplo o values
  • 18. Values - Utilizado quando precisamos obter todos os valores de um determinado hash, esse método retorna todos os valores dentro de um hash dentro de um array , independente dos symbols
  • 19.
  • 20. - Para adicionar elementos no hash e percorrer o mesmo fazemos isso de forma muito parecida com arrays. - Vamos tentar buscar no nosso hash somente o herói que se chamar Batman ou Mulher Gavião e que pertença a categoria homens. Perceba que Mulher Gavião está no nosso hash, mas não está em homens, então ela não deverá ser impressa na tela
  • 21.
  • 22. Exercicios 1- Faça um programa que receba o nome de 10 pessoas e imprima na tela todas as pessoas pessoas cadastradas 2 - Crie um algoritmo em que o usuario entre com 10 letras. Após isso o usuário deverá informar qual a letra deseja procurar nessa lista e o programa deverá dizer se essa letra está ou não está na lista.
  • 23. Mais exercícios 3 - Escreva um programa que o usuário informe 5 valores e o programa exiba esses valores em ordem crescente 4 - Crie um programa que receba 15 valores e ao final informe qual é o maior e qual o menor valor informado 5 - Vc precisa criar um sistema que receba o nome e o gênero da pessoa. Essas pessoas cadastradas precisam ser exibidas em uma lista onde de um lado constarão somente as pessoas do gênero masculino, e do outro, do gênero feminino