Parte I Capítulo 5 Reutilizando código e escrevendo funções.

Slides:



Advertisements
Apresentações semelhantes
Python: Funções Claudio Esperança.
Advertisements

Programação em Java Prof. Maurício Braga
Pseudo-código: sintaxe
Prof.: Sergio Pacheco Linguagem PHP Prof.: Sergio Pacheco 1.
Capítulo II – Algoritmos e Programas
Programação de Computadores I Prof. Eduardo 2011
Algoritmos e Programação Linguagens de Programação Teoria Aula (09/06)
Algoritmos e Estrutura de Dados I
Introdução à Computação - Jorge Macêdo
Funções e Subrotinas.
Disciplina: AAM Profa. Ana Watanabe 03/13 vol.2
Linguagem PHP Prof.: Sergio Pacheco Prof.: Sergio Pacheco 1 1.
Linguagem PHP Prof.: Sergio Pacheco Prof.: Sergio Pacheco 1 1.
Estruturas de Dados II Prof.: Sergio Pacheco Prof.: Sergio Pacheco 1 1.
Universidade Federal do Espírito Santo
OBS: Este ppt não é o definitivo (Versão Beta)
Linguagem C Funções.
Classes e objetos P. O. O. Prof. Grace.
Algoritmos e Programação
O Portal do Estudante de Computação
JAVA: Conceitos Iniciais
Folha de Cálculo Como Dar Nome a Uma ou mais Células?
Introdução a Computação e Cálculo Numérico
Aula prática 8 Ponteiros Monitoria de Introdução à Programação
Aula prática 6 Vetores e Matrizes
Aula R Prof. Naércio Filho Técnico em Informática
Aula PHPdoc Prof. Naércio Filho Técnico em Informática
Prof. Natalia Castro Fernandes Mestrado em Telecomunicações – UFF 2º semestre/2012.
Prof. Natalia Castro Fernandes Mestrado em Telecomunicações – UFF 2º semestre/2012.
Por André Luis e Arthur Kalsing Mini-curso de PHP.
Curso básico de PHP 1 Vantagens: Gratuito Multiplataforma Estável Rapidez Comunicação.
PROGRAMAÇÃO ESTRUTURADA II
PROGRAMAÇÃO ESTRUTURADA II
Apresentação Shell Script
PROGRAMAÇÃO ESTRUTURADA (MODULARIZAÇÃO/SUBPROGRAMAÇÃO)
Prof. Ricardo Santos PONTEIROS
Algoritmo e Programação
Técnicas de Desenvolvimento de Programas
PrograMação para internet
Capítulo III Modularização Procedimentos e Funções Universidade Federal de São Carlos Departamento de Computação Aluna: Luanna Lopes Lobato
Educação Profissional Técnica de Nível Médio Curso Técnico de Informática
Algoritmos - Profa. Alciléia1 Profa. Maria Alciléia Alves Rocha Funções em C 2011.
Modularização Dividir um problema em subproblemas Módulos menores facilita a depuração Dividir o desenvolvimento entre vários programadores “Reutilização”
Linguagens de Programação
Aula Prática 4 Monitoria IP/CC (~if669).
Aula 4 Prof. Naércio Filho Técnico em Informática
Acabias Marques Luiz. I - Introdução ao Ruby Parte 1 – Introdução a linguagem  O que é Ruby  Instalação  O IRB  Operadores Aritméticos  Tipos de.
PHP – Aula01 Ferramentas -Web.
CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2014 Capítulo IX Subprogramação e Recursividade.
Aula Prática 5 Monitoria IP/CC (~if669). Roteiro 1. 1.Recursão 2. 2.Escopo de Variáveis 3. 3.Arrays 4. 4.Strings.
Iº Workshop Linux da Unijorge
Aula 3 Prof. Naércio Filho Técnico em Informática
Linguagem de programação I A Carlos Oberdan Rolim Ciência da Computação Sistemas de Informação.
Prof. Renato de Oliveira Bastos
Trechos de código que permitem reutilização de uma mesma tarefa. Qualquer código PHP pode estar contido no interior de uma função. Não se pode definir.
Linguagem de Programação I Parte IV
Shell Script Parte 2.
Linguaguem de Programação II
Programação para Web I AULA 4 ESTRUTURAS DE CONTROLE.
PCI- Funções e Procedimentos Profa. Mercedes Gonzales Márquez.
Include é uma função do PHP que permite a inclusão do conteúdo de um outro arquivo no arquivo PHP atual, permitindo-se o reaproveitamento de uma ou mais.
11 Revisão da Linguagem C Prof. Kariston Pereira Adaptado de Material gentilmente fornecido pelo Prof. Rui Tramontin (DCC/UDESC)
Linguagem de Programação 11 Estruturas de Decisão e Repetição. Prof. Luiz José Hoffmann Filho
PROGRAMAÇÃO PARA INTERNET Prof.: Jean Carlo Mendes
Módulo I Capítulo 7: Funções e Procedimentos William Ivanski Curso de Programação C#
JavaScript Introdução ao JavaScript 1. Objetivos Introdução Sintaxe Básica Arquivo (script) externo Script no HEAD da página Script no BODY da página.
Felipe Nunes Flores – Programa de Educação Tutorial.
Laboratório de Computação Aula 06 e 07 – Implementação de classes Prof. Fábio Dias
Informática – Senai. Include e Require O PHP tem duas formas normalmente usadas para incluir o conteúdo de um arquivo PHP, em uma outra página. São elas:
FUNÇÕES Dilvan Moreira (baseado em material de Z. Liang)
Transcrição da apresentação:

Parte I Capítulo 5 Reutilizando código e escrevendo funções

Breve Sumário Usando require() e include(). Usando require() e include(). Usando funções em PHP Usando funções em PHP Estrutura básica de função Estrutura básica de função Parâmetros Parâmetros Retornando valores de funções Retornando valores de funções Passando por referência x passando por valor Passando por referência x passando por valor Escopo Escopo Recursão Recursão

Usando require() e include() O conteúdo de um arquivo externo é referenciado e importado para o arquivo principal. O conteúdo de um arquivo externo é referenciado e importado para o arquivo principal. Quando utilizamos o include e o arquivo passado como parâmetro não for localizado, será gerado um erro do tipo Warning. Quando utilizamos o include e o arquivo passado como parâmetro não for localizado, será gerado um erro do tipo Warning. Com include, não necessariamente o arquivo vigente precisa do outro incluido. Com include, não necessariamente o arquivo vigente precisa do outro incluido. Com require,o arquive vigente precisa do outro incluido. Com require,o arquive vigente precisa do outro incluido. Se usar o require() e o arquivo que você está incluíndo não existe, o seu script vai parar e criar um erro. Se usar o require() e o arquivo que você está incluíndo não existe, o seu script vai parar e criar um erro. Se você quer que, na falta do arquivo incluído o script seja interrompido, use require(). Se você quer que, na falta do arquivo incluído o script seja interrompido, use require(). Pode ser utilizado em uma estrutura de condicionais que terá seu efeito perpetuado todas as vezes que for chamado. Pode ser utilizado em uma estrutura de condicionais que terá seu efeito perpetuado todas as vezes que for chamado.

Exemplo Arquivo teste.php <?php $var = "Olá moooooooodle"; $var = "Olá moooooooodle";?> Arquivo arquivo.php <?php include( "teste.php" ); include( "teste.php" ); echo $var; //mostra Olá moooooooodle echo $var; //mostra Olá moooooooodle $var = "Olá, Mundo!"; $var = "Olá, Mundo!"; echo $var; //mostra Olá, Mundo! echo $var; //mostra Olá, Mundo!?>

Variações Tanto include quanto require tem uma variação: once. Tanto include quanto require tem uma variação: once. Once é traduzido como uma vez.Once é traduzido como uma vez.Exemplos:require_once(arquivo);include_once(arquivo);

Usando funções em PHP As funções no PHP não diferem muito das outras linguagens. Algumas características das funções em PHP: Devem ser declaradas antes de serem usadas. Podem receber parâmetros por valor ou por referência. Podem ter quantidade variável de parâmetros (Apenas a partir da versão 4). Os parâmetros podem ser declarados com um valor default. Uma vez definida, uma função não poderá ser "redefinida". Não é case sensitive. Nome da função pode conter letas, dígitos e sublinhados. Nome da função não pode começar por dígitos.

Estrutura de funções A sintaxe básica para definir uma função é: function nome_da_função([arg1, arg2, arg3]) { Comandos;... ; [return ]; } Qualquer código PHP válido pode estar contido no interior de uma função. Qualquer código PHP válido pode estar contido no interior de uma função. O tipo devolvido não deve ser declarado. O tipo devolvido não deve ser declarado. É recomendável que esteja tudo bem documentado para facilitar a leitura e compreensão do código. É recomendável que esteja tudo bem documentado para facilitar a leitura e compreensão do código. Devemos estar atento aos tipos dos valores passados como parâmetros. Devemos estar atento aos tipos dos valores passados como parâmetros.

Estrutura de funções Exemplos de delaração de função: function my_function(){ // sem argumentos echo Bom dia moodle; } function my_function2($nome){ // com argumento echo $nome; } function my_function3($valor = 2){ //argumento com valor pré-definido - Default echo $valor; } My_function3(); // imprime 2 My_function3(25); // imprime 25

Chamando funções Sintaxe: function_name(); // esta função não requer parâmetros function_name(parametro); // requerem parâmetros function_name(2);function_name(7.993);function_name($variable); phpinfo(); // exibe informações sobre a configuração do php.

Retornando valores de funções Toda a função pode opcionalmente devolver um valor, ou Toda a função pode opcionalmente devolver um valor, ou simplesmente executar os comandos e não devolver nenhum valor. simplesmente executar os comandos e não devolver nenhum valor. Não é possível que uma função devolva mais do que um valor, mas é permitido fazer com que uma função devolva um valor composto, como listas ou arrays. Não é possível que uma função devolva mais do que um valor, mas é permitido fazer com que uma função devolva um valor composto, como listas ou arrays.Exemplo: function igual($a,$b){ if($a == $b) return 1; else return 0; }

Retornando de funções O comando return faz com que interrompa a execução da função.Exemplo: function test_return(){ echo Bom dia moodle; return; echo Bom dia moooooooodle; // não é executado } Test_return(); // retorna Bom dia moodle

Escopo O escopo de uma variável em PHP define a porção do programa onde ela pode ser utilizada. O escopo de uma variável em PHP define a porção do programa onde ela pode ser utilizada. Na maioria dos casos todas as variáveis têm escopo global. Na maioria dos casos todas as variáveis têm escopo global. Funções definidas pelo utilizador, um escopo local é criado. Funções definidas pelo utilizador, um escopo local é criado. Uma variável de escopo global não pode ser utilizada no interior de uma função sem que haja uma declaração. Uma variável de escopo global não pode ser utilizada no interior de uma função sem que haja uma declaração.Exemplo: $vivas = "Testando"; function Teste() { echo $vivas; }Teste(); O codigo acima não produzirá saída alguma, pois a variável $vivas é de escopo global, e não pode ser referida num escopo local,

Escopo Para que o script funcione da forma desejada, a variavel global a ser utilizada deve ser declarada. $vivas = "Testando"; function Teste() { global $vivas; * echo $vivas; }Teste(); Ou então, utilizar um array pré-definido pelo PHP cujo nome é $GLOBALS echo $GLOBALS["vivas"]; // imprime $vivas * echo $GLOBALS["vivas"]; // imprime $vivas *

Passando por referência X passando por valor Normalmente, a passagem de parâmetros em PHP é feita por valor, ou seja, se o conteúdo da variável for alterado, essa alteração não afeta a variável original. Exemplo: function incrementa($numero) { $numero += 5; function incrementa($numero) { $numero += 5; } $a = 3; $a = 3; incrementa($a); //$a continua a valer 3 incrementa($a); //$a continua a valer 3 após a execução sair da função, o valor anterior da variável é recuperado. após a execução sair da função, o valor anterior da variável é recuperado. Se a passagem fosse feita por referência, a variável $a teria 8 como valor. Se a passagem fosse feita por referência, a variável $a teria 8 como valor. o interpretador salva os conteúdos das variáveis. o interpretador salva os conteúdos das variáveis.

Passando por referência X passando por valor Há duas maneiras de fazer com que uma função tenha parâmetros passados por referência. Indicar na declaração da função. Indicar na declaração da função. Indicar na chamada da função. Indicar na chamada da função. Nos dois casos utiliza-se o modificador &. Nos dois casos utiliza-se o modificador &. function incremeta(&$num1, $num2) { $num1 += 5; $num2 += 5; } $a = $b = 1; incrementa($a, $b); // só $num1 terá seu valor alterado Ou incrementa($a, &$b); // Aqui as duas variáveis terão seus valores alterados.

Recursão Recursividade nada mais é do que a função chamar ela mesmo dentro do seu escopo. Recursividade nada mais é do que a função chamar ela mesmo dentro do seu escopo. Exemplo: cálculo do fatorial Exemplo: cálculo do fatorial<?phpfatorial($n){ if($n > 0) return $n*fatorial($n-1); else return 1; echo("O fatorial de".$n."é".fatorial($n)); echo("O fatorial de".$n."é".fatorial($n)); return 0; return 0;}?> Esta técnica deve ser utilizada com o maior cuidado possível, pois se aplicada erroneamente ocorre muito consumo de memória da máquina.