Funções Declaração function nomedafunção (arg_1, arg_2,..., arg_n) corpoDaFunção end.

Slides:



Advertisements
Apresentações semelhantes
Classes e Funções.
Advertisements

Estruturação de Linguagens (Pascal e C++)
Python: Funções Claudio Esperança.
Python: Recursão Claudio Esperança.
Programação Orientada a Objetos*
Paulo Marques Hernâni Pedroso
SISTEMAS DE INFORMAÇÃO Sistemas de Bancos de Dados 2º Semestre – 2010 Pedro Antonio Galvão Junior Fone:
Universidade Federal de São Carlos Introdução à Linguagem C Comandos.
Teste de Software Parte 3.
Orientação a Objetos Introdução. Objetos: o que são? Olhando o mundo real pode-se ver vários objetos: mesa, cadeiras, alunos, professores etc. Esses objetos.
INF Computação Gráfica
Sobrecarga de Operadores
Singleton.
7 Abstração Genérica Unidades genéricas e instanciação.
00(c) 2007 Gustavo Motta1 Introdução ao -calculus Prof. Gustavo Motta Departamento de Informática/UFPB.
Instrutor: Nilo Menezes
Programação em Perl.
Robson Godoi / Sandra Siebra
DALua Framework de Algoritmos Distribuídos.
Capítulo 9 Herança 1.
Classes e objetos Arrays e Sobrecarga
Classes e objetos P. O. O. Prof. Grace.
Estrutura de Dados em Java
Tópicos Tipos de Dados Variáveis por Valor Variáveis por Referência
CRIANDO OBJETOS EM JAVA
Programação Orientada a Objetos em Delphi
I- Introdução A Evolução dos Modelos de Dados e dos Sistemas de Gerência de Banco de Dados.
I- Introdução A Evolução dos Modelos de Dados e dos Sistemas de Gerência de Banco de Dados.
Departamento de Estatística e Informática
Prof. Natalia Castro Fernandes Mestrado em Telecomunicações – UFF 2º semestre/2012.
PROGRAMAÇÃO ESTRUTURADA II
Tópicos avançados em internet A
Argumentos por valor Passagem de valor da variável indicada Não permite alteração de variável indicada Exemplo: int quadrado_de(int ); //protótipo int.
Linguagem de programação I A Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação.
Primeira aula de PL/SQL Parte II
Tipos Abstratos de Dados
Paradigmas de Linguagens de Programação Linguagem Orientada a Objetos 1 Augusto Sampaio e Paulo Borba Departamento de Informática Universidade Federal.
Compilação de Linguagens OO Marco Simões (macs3) André Santos (alms)
Augusto Sampaio e Paulo Borba Gustavo Pinto Marcelo Queiroz
Introdução à linguagem C
Linguagens de Programação II
Pilhas Profa. Nádia Félix.
INTRODUÇÃO À ORIENTAÇÃO A OBJETOS EM JAVA
Paradigma funcional.
Aula prática 14 Orientação a Objetos – C++ Parte 2
PostGres: Um Banco de Dados Orientado a Objetos
Orientação a Objetos usando Java
Orientação a Objetos e Java Graduação em Ciência da Computação  Centro de Informática, UFPE Alexandre Mota (com material da Qualiti Software Process)
Conversão de Tipos Exemplo: x + i, onde x é do tipo real e i é do tipo integer. A especificação da linguagem deve indicar se a linguagem suporta este tipo.
Triggers (Gatilhos) Professor Esp. Diego André Sant’Ana
Ruby André Braga Patrícia Lustosa. Yukihiro Matsumoto (“Matz”), 1993 Perl Smalltalk Eiffel Ada Lisp “Natural, not simple” “More powerful than Perl and.
III – Oracle 9i Indexação. Índices Baseados em Funções É um índice baseado no valor de retorno de uma expressão ou função –A função pode ser um método.
Construtores e Destrutores
Recursividade Profs. De Prog2 e Lab2.
Copyright 1998, Departamento de Informática da UFPE. Todos os direitos reservados sob a legislação em vigor. Variáveis e métodos estáticos, Passagem de.
Conteúdos Programáticos Criação de classes em VB Criar Criar Manipular Manipular Tipos de acesso Tipos de acesso Constructores Constructores.
JR: Flexible Distributed Programming in an Extended Java Elmário Gomes Dutra Jr. Gustavo Romano.
Paradigmas de Linguagens de Programação Conceitos da Linguagem Imperativa 1 Augusto Sampaio e Paulo Borba Centro de Informática Universidade Federal de.
Conceitos de OO em Java Parte I
VBA – Visual Basic para Aplicativos
Programação Orientada a Objetos para Redes de Computadores Prof. Miguel Elias Mitre Campista POO para Redes de Computadores.
MATA56 Tipos, Verificação de Tipos Agenda Objetivo desta aula: Introduzir os principais aspectos semânticos de variáveis Palavras-chave – nomes.
Orientação a Objetos com PHP
Paradigmas de Linguagens de Programação BNF e Interpretador da Linguagem Orientada a Objetos Augusto Sampaio e Paulo Borba Gustavo Pinto Marcelo Queiroz.
Aula 13 - Triggers. Triggers no SGBD Postgres  Os Triggers (Gatilhos) são funções preparadas para serem disparadas no caso de alguma alteração ocorrer.
Felipe Nunes Flores – Programa de Educação Tutorial.
Lua – O simples é tudo Aluno: Flávio Henrique Schuindt da Silva Características das Linguagens de Programação.
Variáveis, expressões e comandos Dilvan Moreira. Lembrando …  Instalação normal (para utilizar no PC com Windows) 
Laboratório de Computação Aula 06 e 07 – Implementação de classes Prof. Fábio Dias
Linguagem de Programação – Aula 04 Prof. Me. Ronnison Reges Vidal.
Transcrição da apresentação:

Funções Declaração function nomedafunção (arg_1, arg_2,..., arg_n) corpoDaFunção end

Funções Exemplo function foo (a, b) local x = a or 1 -- x recebe o valor padrão quando a e um valor falso local y = b or 1 -- y recebe o valor padrão 1 quando b e um valor falso return x + y, x * y End Chamada s, p = foo (3, 4) -- a e 3 e b e 4 print (s, p) --> 7 12 s, p = foo (2) -- b e nil e y e inicializado com 1 print (s, p) --> 3 2

Funções Número variável de parâmetros function maior3 (...) for i, v in ipairs {...} do if #v > 3 then print (v) end

Funções Retornando um único valor avaliando uma lista de expressões, obtém-se somente o primeiro valor de retorno de cada membro da lista, com exceção da ultima expressão, que pode retornar múltiplos valores normalmente a, b, c, d = foo (1, 2), foo (3, 4), foo (5, 6) print (a, b, c, d) -->

Funções Valores de Primeira Classe Funções em Lua são valores de primeira classe, o que quer dizer que podemos passar funções como argumentos para outras funções, bem como retornar funções. function map (f, t) for k, v in pairs (t) do t [k] = f (v) end

Funções Fechos sempre que Lua executa a definição de uma função, a função é instanciada (ou fechada) fecho => valor final da expressão

Tabelas Único mecanismo de estruturação de dados em Lua Implementam diretamente arrays associativos e arrays numéricos Podem ser usadas para implementar conjuntos e grafos Usadas também para representar registros, objetos e módulos Lua

Tabelas Manipulando Tabelas local t = {} for i=1, 3 do table.insert (t, i) end Ou local t = {} for i=1, 3 do t [i] = i end Ou ainda local t = {} for i=1, 3 do t [#t+1] = i end Operador # local t = {"a", "b", "c"} print (#t) --> 3 Retorna o tamanho da Tabela

Tabelas Programação OO em Lua Lua não é uma linguagem orientada a objetos Porém provê mecanismos que tornam possível a programação orientada a objetos

Tabelas Programação OO em Lua Uso de protótipos Classes Rectangle = { width = 0, height = 0 } Construtores function Rectangle.new (self, o) o = o or {} setmetatable (o, self) self.__index = self return o end

Tabelas Herança Cuboid = Rectangle:new ({depth=0}) function Cuboid:area () return 2 * (self.width * self.height + self.width * self.depth + self.depth * self.height) end function Cuboid:volume () return self.width * self.height * self.depth end local c1 = Cuboid:new () print (c1:area ()) --> 0 local c2 = Cuboid:new {width=1, height=2, depth=5} print (c2:area ()) --> 34 print (c2:volume ()) --> 10