Академический Документы
Профессиональный Документы
Культура Документы
profjosecarrera@gmail.com http://ead.gilsonteixeira.com
Sumrio - Funes
Introduo Funes Variveis Locais x Variveis Globais Funes com parmetros
Exerccios
Introduo - Funes
um bloco de programa.
Aplicam-se todas as regras de programao j estudadas. A diferena em relao a um procedimento est no fato de sempre retornar um valor.
3
Funes
Sintaxe:
Function Identificador: tipo de dado ; var <variveis> Begin <instrues> End;
Onde:
Identificador o nome da funo. Tipo de dado indica o tipo que ser retornado.
4
Funes
Estrutura de programa autnoma que est includa num programa Pascal. Nele podemos utilizar todos os elementos j vistos anteriormente em pascal, como se fosse um programa completo.
Funes
Function Identificador: tipo de dado ; ...
Tipo de dado necessariamente um tipo de dado simples ou uma string. Esse tipo de dado associado funo chamado de tipo da funo
6
Funes
Obrigatrio
Declarao e Retorno
Exemplo: Criar uma funo que verifica se nmero par, retornando TRUE ou FALSE.
Function parOuImpar:boolean; Var num:integer; Begin write('Digite um numero: '); read(num); if(num mod 2 = 0) then parOuImpar := true else parOuImpar := false; end;
Exemplo: Criar o programa principal, que chama a funo par ou impar. Program exemplo; Var opcao:integer; x:boolean; Begin writeln('--- Menu Principal ---'); writeln(' 1 - Par ou Impar'); writeln('Escolha uma opo: '); read(opcao); if (opcao=1) then x:=parOuImpar; writeln('funcao retornou: ', x); End.
Chamada
Variveis Globais:
Declarada no incio de um programa. Pode ser utilizada por qualquer procedimento ou funo.
Variveis Locais:
Declarada dentro de uma funo ou procedimento. valida apenas dentro da subrotina que est declarada.
10
Funes
Variveis Globais
Variveis Locais
Function parOuImpar:boolean; Var num:integer; begin ... end;
11
Sintaxe:
Onde:
Servem como ponto de comunicao entre o programa principal e a rotina. Asseguram que a rotina receber os dados necessrios para execuo. Podem ser passados de duas formas: por valor e por referncia
13
Caracteriza-se pela no alterao do valor do parmetro real, quando este manipulado dentro da rotina. O contedo da varivel passada copiado para a rotina, onde, qualquer modificao no afeta o valor real.
Function fatorial(num:integer):integer; Var fat, i:integer; Begin fat:=1; for i:=1 to num do fat:= fat*I; fatorial:= fat; end;
15
16
17
Caracteriza-se pela alterao do valor do parmetro real, quando este manipulado dentro da rotina. O parmetro passado referenciado pela rotina, onde, qualquer modificao afeta o valor real. Parmetros so precedidos da palavra reservada var
18
Function numeroReal(var a:real):real; Begin parteFracionaria:= frac(a); parteInteira:= trunc(a); numeroReal:= parteInteira + parteFracionaria; end;
19
20
Subprogramas
Exerccio 1:
Faa um programa contendo uma sub-rotina que retorne 1 se o nmero digitado for positivo ou 0 se for negativo.
Ex1 Lista
21
Subprogramas
Exerccio 2:
Elabore um programa contendo uma subrotina que receba as trs notas de um aluno como parmetros em uma letra. Se a letra for A, a sub-rotina dever calcular a mdia aritmtica das notas do aluno; se for P, dever calcular a mdia ponderada com pesos 5, 3 e 2. A mdia calculada dever ser devolvida ao programa principal para, ento, ser mostrada. Ex 7 Lista
22
profjosecarrera@gmail.com
23