SlideShare uma empresa Scribd logo
1 de 11
Baixar para ler offline
Lógica de Programação com
Ruby
Funções
Ricardo Silva
O que são e para que servem?
- Até agora nós conseguimos construir alguns programas bacanas, porém sempre
em um único arquivo.
- E se nossos programas precisassem ganhar novas funcionalidades? Seria
interessante continuar deixando tudo em um unico lugar?
- Nosso sistemas virariam verdadeiros monstrinhos caso essa forma de programar
que adotamos até aqui continuasse, concorda?
- Para amenizar esse problema nós recorremos ao uso de funções!
- Uma função ajuda a evitar duplicação de código, de maneira que um bloco de
código pode ser guardado dentro dessa função e ser executado sempre que o
nome da função for chamada(invocada)
Exemplo
- No exemplo acima criamos uma função que sempre que invocada executará o
bloco de código contido nela. Nesse caso seria uma verificação se o número 2 é
par ou ímpar.
- Esse exemplo é legal, mas é bastante limitado, pois ele sempre verifica o mesmo
valor (número dois). E se a gente quisesse verificar outro número?
Parâmetros
- Para isso podemos utilizar parâmetros, que nada mais são que valores passados
nas funções para que uma determinada lógica seja executada.
- Vamos modificar um pouco o exemplo anterior para podermos utilizar
parâmetros e deixar nossa função mais poderosa
Retorno de função
- Funções podem retornar valores para que possamos utilizá-los em outras partes
do nosso programa
Limpando nosso código
Exercício
- Escolha um dos exercícios realizados durante o curso e tente refazê-lo utilizando
funções

Mais conteúdo relacionado

Mais procurados

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 registrosMauro Pereira
 
Linguagem C - Funções e ponteiros
Linguagem C - Funções e ponteiros Linguagem C - Funções e ponteiros
Linguagem C - Funções e ponteiros Karoline Tavares
 
Algoritmos de ordenação
Algoritmos de ordenaçãoAlgoritmos de ordenação
Algoritmos de ordenaçãoJonas Mendonça
 
Argentina Programa Apendix parte 2.pdf
Argentina Programa Apendix parte 2.pdfArgentina Programa Apendix parte 2.pdf
Argentina Programa Apendix parte 2.pdfenzo935311
 
[Curso Java Basico - Orientacaoo a Objetos] Aula 24: Classes e atributos
[Curso Java Basico - Orientacaoo a Objetos] Aula 24: Classes e atributos[Curso Java Basico - Orientacaoo a Objetos] Aula 24: Classes e atributos
[Curso Java Basico - Orientacaoo a Objetos] Aula 24: Classes e atributosLoiane Groner
 
Aula 2 - Lógica de Programação
Aula 2 - Lógica de ProgramaçãoAula 2 - Lógica de Programação
Aula 2 - Lógica de ProgramaçãoInstituto CENTEC
 
Algoritmos - Introdução à Computação
Algoritmos - Introdução à ComputaçãoAlgoritmos - Introdução à Computação
Algoritmos - Introdução à ComputaçãoElaine Cecília Gatto
 
Aula 01 - Algoritmo e Programação
Aula 01 - Algoritmo e ProgramaçãoAula 01 - Algoritmo e Programação
Aula 01 - Algoritmo e ProgramaçãoAislan Rafael
 
Estrutura de Dados Aula 13 - Árvores (conceito, elementos, tipos e utilizações)
Estrutura de Dados Aula 13 - Árvores (conceito, elementos, tipos e utilizações)Estrutura de Dados Aula 13 - Árvores (conceito, elementos, tipos e utilizações)
Estrutura de Dados Aula 13 - Árvores (conceito, elementos, tipos e utilizações)Leinylson Fontinele
 
Programando em python funcoes
Programando em python   funcoesProgramando em python   funcoes
Programando em python funcoessamuelthiago
 
Alguns algoritmos resolvidos
Alguns algoritmos resolvidosAlguns algoritmos resolvidos
Alguns algoritmos resolvidosjaoozinhoqi123
 
Lógica de Programação e Algoritmos
Lógica de Programação e AlgoritmosLógica de Programação e Algoritmos
Lógica de Programação e AlgoritmosMario Jorge Pereira
 
Material de Apoio de Algoritmo e Lógica de Programação
Material de Apoio de Algoritmo e Lógica de ProgramaçãoMaterial de Apoio de Algoritmo e Lógica de Programação
Material de Apoio de Algoritmo e Lógica de Programaçãorodfernandes
 
Laboratório de Programação II: Tipo Abstrato de Dados (TAD)
Laboratório de Programação II: Tipo Abstrato de Dados (TAD)Laboratório de Programação II: Tipo Abstrato de Dados (TAD)
Laboratório de Programação II: Tipo Abstrato de Dados (TAD)Alex Camargo
 
Inteligência Artificial - Aula2 - Busca em Grafos
Inteligência Artificial - Aula2 - Busca em GrafosInteligência Artificial - Aula2 - Busca em Grafos
Inteligência Artificial - Aula2 - Busca em GrafosRafael Pinto
 

Mais procurados (20)

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
 
Java 13 Excecoes
Java 13 ExcecoesJava 13 Excecoes
Java 13 Excecoes
 
Linguagem C - Funções e ponteiros
Linguagem C - Funções e ponteiros Linguagem C - Funções e ponteiros
Linguagem C - Funções e ponteiros
 
Aula02 - JavaScript
Aula02 - JavaScriptAula02 - JavaScript
Aula02 - JavaScript
 
Algoritmos de ordenação
Algoritmos de ordenaçãoAlgoritmos de ordenação
Algoritmos de ordenação
 
Argentina Programa Apendix parte 2.pdf
Argentina Programa Apendix parte 2.pdfArgentina Programa Apendix parte 2.pdf
Argentina Programa Apendix parte 2.pdf
 
[Curso Java Basico - Orientacaoo a Objetos] Aula 24: Classes e atributos
[Curso Java Basico - Orientacaoo a Objetos] Aula 24: Classes e atributos[Curso Java Basico - Orientacaoo a Objetos] Aula 24: Classes e atributos
[Curso Java Basico - Orientacaoo a Objetos] Aula 24: Classes e atributos
 
Aula 2 - Lógica de Programação
Aula 2 - Lógica de ProgramaçãoAula 2 - Lógica de Programação
Aula 2 - Lógica de Programação
 
Algoritmos - Introdução à Computação
Algoritmos - Introdução à ComputaçãoAlgoritmos - Introdução à Computação
Algoritmos - Introdução à Computação
 
Aula 01 - Algoritmo e Programação
Aula 01 - Algoritmo e ProgramaçãoAula 01 - Algoritmo e Programação
Aula 01 - Algoritmo e Programação
 
Estrutura de Dados Aula 13 - Árvores (conceito, elementos, tipos e utilizações)
Estrutura de Dados Aula 13 - Árvores (conceito, elementos, tipos e utilizações)Estrutura de Dados Aula 13 - Árvores (conceito, elementos, tipos e utilizações)
Estrutura de Dados Aula 13 - Árvores (conceito, elementos, tipos e utilizações)
 
Programando em python funcoes
Programando em python   funcoesProgramando em python   funcoes
Programando em python funcoes
 
Lógica de Programação
Lógica de ProgramaçãoLógica de Programação
Lógica de Programação
 
Alguns algoritmos resolvidos
Alguns algoritmos resolvidosAlguns algoritmos resolvidos
Alguns algoritmos resolvidos
 
Lógica de Programação e Algoritmos
Lógica de Programação e AlgoritmosLógica de Programação e Algoritmos
Lógica de Programação e Algoritmos
 
Material de Apoio de Algoritmo e Lógica de Programação
Material de Apoio de Algoritmo e Lógica de ProgramaçãoMaterial de Apoio de Algoritmo e Lógica de Programação
Material de Apoio de Algoritmo e Lógica de Programação
 
Algoritmos - capítulo 1
Algoritmos - capítulo 1Algoritmos - capítulo 1
Algoritmos - capítulo 1
 
Laboratório de Programação II: Tipo Abstrato de Dados (TAD)
Laboratório de Programação II: Tipo Abstrato de Dados (TAD)Laboratório de Programação II: Tipo Abstrato de Dados (TAD)
Laboratório de Programação II: Tipo Abstrato de Dados (TAD)
 
Inteligência Artificial - Aula2 - Busca em Grafos
Inteligência Artificial - Aula2 - Busca em GrafosInteligência Artificial - Aula2 - Busca em Grafos
Inteligência Artificial - Aula2 - Busca em Grafos
 
Aula02
Aula02Aula02
Aula02
 

Destaque

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
 
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
 
Arrays e Hashes com Ruby[AULA 4]
Arrays e Hashes com Ruby[AULA 4]Arrays e Hashes com Ruby[AULA 4]
Arrays e Hashes com Ruby[AULA 4]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
 
Introdução à programação em Ruby
Introdução à programação em RubyIntrodução à programação em Ruby
Introdução à programação em RubyDaniel Andrade
 
Nicol.collaguazo 6 b
Nicol.collaguazo 6 bNicol.collaguazo 6 b
Nicol.collaguazo 6 bNicol Ojeda C
 
Biomechanics Coursework Group C5
Biomechanics Coursework Group C5Biomechanics Coursework Group C5
Biomechanics Coursework Group C5Joel Huskisson
 
Pebble Beach 2016
Pebble Beach 2016 Pebble Beach 2016
Pebble Beach 2016 INDatAAU
 
Psy 101 told by calvin and hobbs power point
Psy 101 told by calvin and hobbs power pointPsy 101 told by calvin and hobbs power point
Psy 101 told by calvin and hobbs power pointCasey Hines
 
Análisis morfológico nivel medio 1
Análisis morfológico nivel medio 1Análisis morfológico nivel medio 1
Análisis morfológico nivel medio 1Marga Casaus
 
Taller de creatividad - Clase 7 - Escuela Da Vinci - Videojuegos
Taller de creatividad - Clase 7 - Escuela Da Vinci - VideojuegosTaller de creatividad - Clase 7 - Escuela Da Vinci - Videojuegos
Taller de creatividad - Clase 7 - Escuela Da Vinci - VideojuegosJosé Francisco Hiebaum
 
10 Reasons Facebook Topic Data Will Change Your World
10 Reasons Facebook Topic Data Will Change Your World 10 Reasons Facebook Topic Data Will Change Your World
10 Reasons Facebook Topic Data Will Change Your World DataSift
 
Corporate Voice | Weber Shandwick India Profile
Corporate Voice | Weber Shandwick India ProfileCorporate Voice | Weber Shandwick India Profile
Corporate Voice | Weber Shandwick India ProfileRanjeet M. Vicharay
 

Destaque (20)

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]
 
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]
 
Arrays e Hashes com Ruby[AULA 4]
Arrays e Hashes com Ruby[AULA 4]Arrays e Hashes com Ruby[AULA 4]
Arrays e Hashes com Ruby[AULA 4]
 
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
 
Introdução à programação em Ruby
Introdução à programação em RubyIntrodução à programação em Ruby
Introdução à programação em Ruby
 
Tusco002
Tusco002Tusco002
Tusco002
 
Nicol.collaguazo 6 b
Nicol.collaguazo 6 bNicol.collaguazo 6 b
Nicol.collaguazo 6 b
 
ecosystem-Africa- Hema Krishnan
ecosystem-Africa- Hema Krishnanecosystem-Africa- Hema Krishnan
ecosystem-Africa- Hema Krishnan
 
Biomechanics Coursework Group C5
Biomechanics Coursework Group C5Biomechanics Coursework Group C5
Biomechanics Coursework Group C5
 
SEM-4
SEM-4SEM-4
SEM-4
 
Pebble Beach 2016
Pebble Beach 2016 Pebble Beach 2016
Pebble Beach 2016
 
Psy 101 told by calvin and hobbs power point
Psy 101 told by calvin and hobbs power pointPsy 101 told by calvin and hobbs power point
Psy 101 told by calvin and hobbs power point
 
Análisis morfológico nivel medio 1
Análisis morfológico nivel medio 1Análisis morfológico nivel medio 1
Análisis morfológico nivel medio 1
 
Microwave Imaging Of The Breast With Incorporated Structural Information Final
Microwave Imaging Of The Breast With Incorporated Structural Information FinalMicrowave Imaging Of The Breast With Incorporated Structural Information Final
Microwave Imaging Of The Breast With Incorporated Structural Information Final
 
Taller de creatividad - Clase 7 - Escuela Da Vinci - Videojuegos
Taller de creatividad - Clase 7 - Escuela Da Vinci - VideojuegosTaller de creatividad - Clase 7 - Escuela Da Vinci - Videojuegos
Taller de creatividad - Clase 7 - Escuela Da Vinci - Videojuegos
 
10 Reasons Facebook Topic Data Will Change Your World
10 Reasons Facebook Topic Data Will Change Your World 10 Reasons Facebook Topic Data Will Change Your World
10 Reasons Facebook Topic Data Will Change Your World
 
Corporate Voice | Weber Shandwick India Profile
Corporate Voice | Weber Shandwick India ProfileCorporate Voice | Weber Shandwick India Profile
Corporate Voice | Weber Shandwick India Profile
 
Microwave imaging
Microwave imagingMicrowave imaging
Microwave imaging
 
Tere Vaden: Robin Hood Project
Tere Vaden: Robin Hood ProjectTere Vaden: Robin Hood Project
Tere Vaden: Robin Hood Project
 
Päivi Janka, TEM: Energia ja ilmastostrategia 2030
Päivi Janka, TEM: Energia ja ilmastostrategia 2030Päivi Janka, TEM: Energia ja ilmastostrategia 2030
Päivi Janka, TEM: Energia ja ilmastostrategia 2030
 

Semelhante a Funções com Ruby[AULA 5]

Entendendo um pouco melhor o que é Ruby
Entendendo um pouco melhor o que é RubyEntendendo um pouco melhor o que é Ruby
Entendendo um pouco melhor o que é Rubycodeland
 
A importância da programação funcional no dia a-dia
A importância da programação funcional no dia a-diaA importância da programação funcional no dia a-dia
A importância da programação funcional no dia a-diaGabriel Schade Cardoso
 
MSP Tech Days 2018 - Programação Funcional com F#
MSP Tech Days 2018 - Programação Funcional com F#MSP Tech Days 2018 - Programação Funcional com F#
MSP Tech Days 2018 - Programação Funcional com F#Gustavo Bellini Bigardi
 
Qualidade no desenvolvimento de Sistemas por Anderson Augustinho (Celepar)
Qualidade no desenvolvimento de Sistemas por Anderson Augustinho (Celepar)Qualidade no desenvolvimento de Sistemas por Anderson Augustinho (Celepar)
Qualidade no desenvolvimento de Sistemas por Anderson Augustinho (Celepar)Joao Galdino Mello de Souza
 
Introdução à programação funcional
Introdução à programação funcionalIntrodução à programação funcional
Introdução à programação funcionalGabriel Schade Cardoso
 
Objects calisthenics - Os 10 mandamentos do rei do código
Objects calisthenics - Os 10 mandamentos do rei do códigoObjects calisthenics - Os 10 mandamentos do rei do código
Objects calisthenics - Os 10 mandamentos do rei do códigoBonoBee
 
TDC2018SP | Trilha Modern Web - Programacao funcional com Javascript - Seu co...
TDC2018SP | Trilha Modern Web - Programacao funcional com Javascript - Seu co...TDC2018SP | Trilha Modern Web - Programacao funcional com Javascript - Seu co...
TDC2018SP | Trilha Modern Web - Programacao funcional com Javascript - Seu co...tdc-globalcode
 
Tutorial java script orientado à objeto e jquery
Tutorial java script orientado à objeto e jqueryTutorial java script orientado à objeto e jquery
Tutorial java script orientado à objeto e jqueryLuan Campos
 
DDD linguagem ubiqua + codigo expressivo
DDD  linguagem ubiqua + codigo expressivoDDD  linguagem ubiqua + codigo expressivo
DDD linguagem ubiqua + codigo expressivoGabriel Schade Cardoso
 
Por que testar é importante e algumas boas práticas
Por que testar é importante e algumas boas práticasPor que testar é importante e algumas boas práticas
Por que testar é importante e algumas boas práticasLucas Caton
 
40 php orientado a objetos
40 php orientado a objetos40 php orientado a objetos
40 php orientado a objetosFrancisco Santos
 
php orientado_a_objetos
php orientado_a_objetosphp orientado_a_objetos
php orientado_a_objetosFer Nando
 
Apostila php orientado a objetos
Apostila php   orientado a objetosApostila php   orientado a objetos
Apostila php orientado a objetosFabiano Rodrigues
 
Comandos gerais do PHP
Comandos gerais do PHPComandos gerais do PHP
Comandos gerais do PHPPaulo Dayvson
 
Django Object factory
Django Object factoryDjango Object factory
Django Object factoryitalomaia
 

Semelhante a Funções com Ruby[AULA 5] (20)

Entendendo um pouco melhor o que é Ruby
Entendendo um pouco melhor o que é RubyEntendendo um pouco melhor o que é Ruby
Entendendo um pouco melhor o que é Ruby
 
A importância da programação funcional no dia a-dia
A importância da programação funcional no dia a-diaA importância da programação funcional no dia a-dia
A importância da programação funcional no dia a-dia
 
MSP Tech Days 2018 - Programação Funcional com F#
MSP Tech Days 2018 - Programação Funcional com F#MSP Tech Days 2018 - Programação Funcional com F#
MSP Tech Days 2018 - Programação Funcional com F#
 
Qualidade no desenvolvimento de Sistemas por Anderson Augustinho (Celepar)
Qualidade no desenvolvimento de Sistemas por Anderson Augustinho (Celepar)Qualidade no desenvolvimento de Sistemas por Anderson Augustinho (Celepar)
Qualidade no desenvolvimento de Sistemas por Anderson Augustinho (Celepar)
 
Introdução à programação funcional
Introdução à programação funcionalIntrodução à programação funcional
Introdução à programação funcional
 
Curso ruby on rails
Curso ruby on railsCurso ruby on rails
Curso ruby on rails
 
Objects calisthenics - Os 10 mandamentos do rei do código
Objects calisthenics - Os 10 mandamentos do rei do códigoObjects calisthenics - Os 10 mandamentos do rei do código
Objects calisthenics - Os 10 mandamentos do rei do código
 
TDC2018SP | Trilha Modern Web - Programacao funcional com Javascript - Seu co...
TDC2018SP | Trilha Modern Web - Programacao funcional com Javascript - Seu co...TDC2018SP | Trilha Modern Web - Programacao funcional com Javascript - Seu co...
TDC2018SP | Trilha Modern Web - Programacao funcional com Javascript - Seu co...
 
Tutorial java script orientado à objeto e jquery
Tutorial java script orientado à objeto e jqueryTutorial java script orientado à objeto e jquery
Tutorial java script orientado à objeto e jquery
 
Ruby & Rails
Ruby & RailsRuby & Rails
Ruby & Rails
 
DDD linguagem ubiqua + codigo expressivo
DDD  linguagem ubiqua + codigo expressivoDDD  linguagem ubiqua + codigo expressivo
DDD linguagem ubiqua + codigo expressivo
 
Por que testar é importante e algumas boas práticas
Por que testar é importante e algumas boas práticasPor que testar é importante e algumas boas práticas
Por que testar é importante e algumas boas práticas
 
40 php orientado a objetos
40 php orientado a objetos40 php orientado a objetos
40 php orientado a objetos
 
php orientado_a_objetos
php orientado_a_objetosphp orientado_a_objetos
php orientado_a_objetos
 
40 php orientado a objetos
40 php orientado a objetos40 php orientado a objetos
40 php orientado a objetos
 
Apostila php orientado a objetos
Apostila php   orientado a objetosApostila php   orientado a objetos
Apostila php orientado a objetos
 
Comandos gerais do PHP
Comandos gerais do PHPComandos gerais do PHP
Comandos gerais do PHP
 
Shell script
Shell script Shell script
Shell script
 
Estudos Technocorp
Estudos TechnocorpEstudos Technocorp
Estudos Technocorp
 
Django Object factory
Django Object factoryDjango Object factory
Django Object factory
 

Funções com Ruby[AULA 5]

  • 1. Lógica de Programação com Ruby Funções Ricardo Silva
  • 2. O que são e para que servem? - Até agora nós conseguimos construir alguns programas bacanas, porém sempre em um único arquivo. - E se nossos programas precisassem ganhar novas funcionalidades? Seria interessante continuar deixando tudo em um unico lugar? - Nosso sistemas virariam verdadeiros monstrinhos caso essa forma de programar que adotamos até aqui continuasse, concorda? - Para amenizar esse problema nós recorremos ao uso de funções!
  • 3. - Uma função ajuda a evitar duplicação de código, de maneira que um bloco de código pode ser guardado dentro dessa função e ser executado sempre que o nome da função for chamada(invocada)
  • 5. - No exemplo acima criamos uma função que sempre que invocada executará o bloco de código contido nela. Nesse caso seria uma verificação se o número 2 é par ou ímpar. - Esse exemplo é legal, mas é bastante limitado, pois ele sempre verifica o mesmo valor (número dois). E se a gente quisesse verificar outro número?
  • 6. Parâmetros - Para isso podemos utilizar parâmetros, que nada mais são que valores passados nas funções para que uma determinada lógica seja executada. - Vamos modificar um pouco o exemplo anterior para podermos utilizar parâmetros e deixar nossa função mais poderosa
  • 7.
  • 8. Retorno de função - Funções podem retornar valores para que possamos utilizá-los em outras partes do nosso programa
  • 9.
  • 11. Exercício - Escolha um dos exercícios realizados durante o curso e tente refazê-lo utilizando funções