SlideShare uma empresa Scribd logo
1 de 15
Subprogramas :
Procedimentos
(procedures) em Pascal
Prof. Luis Otavio Alvares
Funções/procedimentosFunções/procedimentos
• FunçõesFunções
• devolvem 1 valor
• o valor calculado é usado diretamente pelo programa
• ProcedimentosProcedimentos
• podem devolver zero, um ou mais valores
• valores são passados como parâmetros
Procedures sem parâmetros
Exemplo
Program teste;
Procedure asteriscos;
Var I:integer;
Begin
writeln;
for I:=1 to 80 do write(’*’);
Writeln;
End;
{programa principal}
...
Asteriscos; {chamada da procedure}
...
Asteriscos; {chamada da procedure}
...
Procedures com parâmetros
• Há duas formas de passagem de parâmetros nas
procedures em Pascal:
• Por valor e por referência
• Na passagem por valor, como o próprio nome indica,
somente o valor é passado (é usado para os
parâmetros de entrada da procedure). Análogo aos
parâmetros de funções.
• Na passagem por referência, o valor do parâmetro
pode ser alterado e vai ser percebido pelo programa
que chamou a procedure (é usado para os
parâmetros de saída da procedure)
Exemplo
Program ExcomFatorial;
Procedure Fat(A:integer ; Var X:real);
Var I: integer;
begin
X:= 1;
for I:=1 to A do
X:= X * I;
end;
{programa principal}
var Valor : integer;
f : real;
begin
write('digite um numero inteiro: ');
readln(Valor);
If ( Valor >= 1 )
then begin
Fat(Valor, f);
writeln('Fatorial de ',Valor,' = ',f:5:0);
end;
readln;
end.
6
Procedures - PascalProcedures - Pascal
DeclaraçãoDeclaração
Procedure <identificador> [( <lista de parâmetros formais> ) ] ;
[ <declaração de variáveis locais>; ]
begin
< comandos separados por ‘;’ >
end;
Lista de parâmetros formaisLista de parâmetros formais
[ var ] < lista de identificadores > : <tipo>; ...
Procedure Teste ( A, B: integer; var C: real );
begin
C := A / B;
end;
Ex:Ex:
opcionais
Indica passagem de parâmetro
por referência- opcional
Exemplo com dois parâmetros de
saída
• Fazer uma procedure que receba como
parâmetro o nome de um vetor e forneça
como saída o maior elemento do vetor e a sua
posição.
program exemploProcedure;
type tipoVetor = array[1..10] of integer;
procedure maiorElemento(V:tipoVetor; var maior,posicao:integer);
var I:integer;
begin
maior:=V[1];
posicao:= 1;
for I:= 1 to 10 do
if V[I] > maior
then begin
maior:=V[I];
posicao:=I;
end;
end;
var vet:tipoVetor;
I,M,P:integer;
begin
writeln('informe os 10 valores do vetor: ');
for I:=1 to 10 do readln(vet[I]);
maiorElemento(vet,M,P);
writeln('o maior elemento do vetor eh: ',M,' na posicao ',P);
readln;
end.
9
Relembrando...
10
var X : integer;
Procedure Muda;
begin
X := 1
end; { Muda }
begin {programa principal }
X := 0;
Muda;
write ( X );
end.
Procedure Muda;
var X : integer;
begin
X := 1
end; { Muda }
var X : integer; {programa principal }
begin
X := 0;
Muda;
write ( X );
end.
Procedure Muda (X : integer);
begin
X := 1
end; { Muda }
var X : integer; {programa principal }
begin
X := 0;
Muda (X);
write ( X );
end.
Procedure Muda (var X: integer);
begin
X := 1
end; { Muda }
ar X : integer; {programa principal }
begin
X := 0;
Muda (X);
write ( X );
end.
Variável global
Muda valor da variável
Variável local
Não muda valor da
variável do progr.
principal
Parâmetro por valor
Não muda valor da variável
do progr. principal
Parâmetro por referência
Muda valor da variável do
progr. principal
Exercício
• Faça uma procedure que receba como
parâmetro de entrada uma matriz 5x5 e
forneça como saída o maior e o menor
elemento da matriz.
program procedureMatriz;
type tipoMatriz = array[1..5,1..5] of integer;
procedure maiorMenor(M:tipoMatriz; var maior,menor:integer);
var I,K:integer;
begin
maior:=M[1,1];
menor:=M[1,1];
for I:= 1 to 5 do
for K:=1 to 5
do begin
if M[I,K] > maior then maior:=M[I,K];
if M[I,K] < menor then menor:=M[I,K];
end;
end;
var Mat:tipoMatriz;
L,C,M,Menor:integer;
begin
for L:= 1 to 5
do begin
writeln('informe os valores da linha ',L);
for C:=1 to 5 do readln(Mat[L,C]);
end;
maiorMenor(Mat,M,Menor);
writeln('o maior elemento da matriz eh: ',M);
writeln('o menor elemento da matriz eh: ',Menor);
readln;
end.
Units
• Units em Pascal são bibliotecas de funções e
procedures. Algumas já vem com o
compilador, como a unit CRT, que tem
funções para a saída em vídeo.
• As funções e procedures definidas pelo
usuário podem ser salvas em uma unit e desta
forma utilizadas em qualquer programa.
Exemplo de definição de unit
unit minhaUnit;
interface
Function Fat(X:integer): real;
function Pot(base:real;exp:integer):real;
implementation
Function Fat(X:integer): real;
var I:integer;
begin
fat:=1;
for I:= 1 to X do Fat:=Fat*I;
End;
function Pot(base:real;exp:integer):real;
var I:integer;
begin
Pot:=1;
for I:=1 to exp do
Pot:=Pot*base;
end;
end.
Exemplo de uso de unit
{calcula o cosseno de um angulo do 1. quadrante dado em radianos}
uses minhaUnit; {é uma declaração}
function cos1quad(A:real):real;
var
I,sinal:integer;
cos:real;
begin
cos:=1;
sinal:=-1;
I:=2;
while I<= 60 {30 termos da serie}
do begin
cos:=cos+sinal*(Pot(A,I)/fat(I));
sinal:=sinal*-1;
I:=I+2;
end;
cos1quad:=cos;
end;
{--- programa principal ---}
var angulo: real;
begin
write(‘informe o angulo do 1. quadrante em radianos’);
readln(angulo);
writeln('o cosseno de ',angulo,' eh aproximadamente ',
cos1quad(angulo):1:6);
readln;
end.

Mais conteúdo relacionado

Mais procurados

Exercicios sequenciais
Exercicios sequenciaisExercicios sequenciais
Exercicios sequenciaisMirlem Pereira
 
Linguagem C 03 Estruturas De Decisao
Linguagem C 03 Estruturas De DecisaoLinguagem C 03 Estruturas De Decisao
Linguagem C 03 Estruturas De DecisaoRegis Magalhães
 
Linguagem C 04 Estruturas De Repeticao
Linguagem C 04 Estruturas De RepeticaoLinguagem C 04 Estruturas De Repeticao
Linguagem C 04 Estruturas De RepeticaoRegis Magalhães
 
Linguagem c wellington telles - aula 08
Linguagem c   wellington telles - aula 08Linguagem c   wellington telles - aula 08
Linguagem c wellington telles - aula 08profwtelles
 
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
 
0000364 aula 5 estruturas de decisão
0000364 aula 5   estruturas de decisão0000364 aula 5   estruturas de decisão
0000364 aula 5 estruturas de decisãoEvelyneBorges
 
Comandos de pascal e estrutura de repetição (para...fazer)
Comandos de pascal e estrutura de repetição (para...fazer)Comandos de pascal e estrutura de repetição (para...fazer)
Comandos de pascal e estrutura de repetição (para...fazer)111111119
 
Estrutura de controle repetição C++
Estrutura de controle repetição C++Estrutura de controle repetição C++
Estrutura de controle repetição C++Sedu
 
Aula 04 estruturas de repetição
Aula 04   estruturas de repetiçãoAula 04   estruturas de repetição
Aula 04 estruturas de repetiçãoTácito Graça
 
Pseudocódigo - Estrutura de Repetição (Lógica de Programação)
Pseudocódigo - Estrutura de Repetição (Lógica de Programação)Pseudocódigo - Estrutura de Repetição (Lógica de Programação)
Pseudocódigo - Estrutura de Repetição (Lógica de Programação)Gercélia Ramos
 
Alg aula 05-2 - estruturas de-repeticao tp1 (para)
Alg   aula 05-2 - estruturas de-repeticao tp1 (para)Alg   aula 05-2 - estruturas de-repeticao tp1 (para)
Alg aula 05-2 - estruturas de-repeticao tp1 (para)Thalles Anderson
 
Algoritmos e Programação: Estruturas de repetição
Algoritmos e Programação: Estruturas de repetiçãoAlgoritmos e Programação: Estruturas de repetição
Algoritmos e Programação: Estruturas de repetiçãoAlex Camargo
 
Tutorial pascal zim
Tutorial pascal zimTutorial pascal zim
Tutorial pascal zim12anogolega
 
Lógica de programação pascal
Lógica de programação   pascalLógica de programação   pascal
Lógica de programação pascalJocelma Rios
 
Introdução à linguagem c
Introdução à linguagem cIntrodução à linguagem c
Introdução à linguagem cRafael_Lima87
 

Mais procurados (20)

Exercicios sequenciais
Exercicios sequenciaisExercicios sequenciais
Exercicios sequenciais
 
Linguagem C 03 Estruturas De Decisao
Linguagem C 03 Estruturas De DecisaoLinguagem C 03 Estruturas De Decisao
Linguagem C 03 Estruturas De Decisao
 
Linguagem C 04 Estruturas De Repeticao
Linguagem C 04 Estruturas De RepeticaoLinguagem C 04 Estruturas De Repeticao
Linguagem C 04 Estruturas De Repeticao
 
Linguagem c wellington telles - aula 08
Linguagem c   wellington telles - aula 08Linguagem c   wellington telles - aula 08
Linguagem c wellington telles - aula 08
 
Linguagem C - Funções e ponteiros
Linguagem C - Funções e ponteiros Linguagem C - Funções e ponteiros
Linguagem C - Funções e ponteiros
 
0000364 aula 5 estruturas de decisão
0000364 aula 5   estruturas de decisão0000364 aula 5   estruturas de decisão
0000364 aula 5 estruturas de decisão
 
Comandos de pascal e estrutura de repetição (para...fazer)
Comandos de pascal e estrutura de repetição (para...fazer)Comandos de pascal e estrutura de repetição (para...fazer)
Comandos de pascal e estrutura de repetição (para...fazer)
 
Aula 05 subprogramas
Aula 05   subprogramasAula 05   subprogramas
Aula 05 subprogramas
 
Estrutura de controle repetição C++
Estrutura de controle repetição C++Estrutura de controle repetição C++
Estrutura de controle repetição C++
 
Aula 04 estruturas de repetição
Aula 04   estruturas de repetiçãoAula 04   estruturas de repetição
Aula 04 estruturas de repetição
 
Pseudocódigo - Estrutura de Repetição (Lógica de Programação)
Pseudocódigo - Estrutura de Repetição (Lógica de Programação)Pseudocódigo - Estrutura de Repetição (Lógica de Programação)
Pseudocódigo - Estrutura de Repetição (Lógica de Programação)
 
Alg aula 05-2 - estruturas de-repeticao tp1 (para)
Alg   aula 05-2 - estruturas de-repeticao tp1 (para)Alg   aula 05-2 - estruturas de-repeticao tp1 (para)
Alg aula 05-2 - estruturas de-repeticao tp1 (para)
 
Linguagem C 02 String
Linguagem C 02 StringLinguagem C 02 String
Linguagem C 02 String
 
Ponteiros de Função
Ponteiros de FunçãoPonteiros de Função
Ponteiros de Função
 
Algoritmos e Programação: Estruturas de repetição
Algoritmos e Programação: Estruturas de repetiçãoAlgoritmos e Programação: Estruturas de repetição
Algoritmos e Programação: Estruturas de repetição
 
Tutorial pascal zim
Tutorial pascal zimTutorial pascal zim
Tutorial pascal zim
 
Lógica de programação pascal
Lógica de programação   pascalLógica de programação   pascal
Lógica de programação pascal
 
Algop - aula 04
Algop - aula 04Algop - aula 04
Algop - aula 04
 
Aula 16
Aula 16Aula 16
Aula 16
 
Introdução à linguagem c
Introdução à linguagem cIntrodução à linguagem c
Introdução à linguagem c
 

Destaque

191ª Asamblea Plenaria Extraordinaria de la CEP
191ª Asamblea Plenaria Extraordinaria de la CEP191ª Asamblea Plenaria Extraordinaria de la CEP
191ª Asamblea Plenaria Extraordinaria de la CEPEpiscopalpy
 
Πρόγραμμα γιορτής 28ης Οκτωβρίου 2014
Πρόγραμμα γιορτής 28ης Οκτωβρίου 2014Πρόγραμμα γιορτής 28ης Οκτωβρίου 2014
Πρόγραμμα γιορτής 28ης Οκτωβρίου 2014Σπύρος Κυριαζίδης
 
R011.04.07.2015-VeteranResourceCenterResolutionFinal
R011.04.07.2015-VeteranResourceCenterResolutionFinalR011.04.07.2015-VeteranResourceCenterResolutionFinal
R011.04.07.2015-VeteranResourceCenterResolutionFinalSteven D. N
 
งานคอม
งานคอมงานคอม
งานคอมKim Noiz
 
Homilía de la toma de posesión de la sede
Homilía de la toma de posesión de la sedeHomilía de la toma de posesión de la sede
Homilía de la toma de posesión de la sedeEpiscopalpy
 
14 Google Glass Innovative Use Cases in Education
14 Google Glass Innovative Use Cases in Education14 Google Glass Innovative Use Cases in Education
14 Google Glass Innovative Use Cases in EducationExtreme Networks
 
10 Reasons To Use Open Source Software-Defined Networking
10 Reasons To Use Open Source Software-Defined Networking10 Reasons To Use Open Source Software-Defined Networking
10 Reasons To Use Open Source Software-Defined NetworkingExtreme Networks
 

Destaque (14)

Lukas -6 octubre
Lukas -6 octubreLukas -6 octubre
Lukas -6 octubre
 
certificate (3)
certificate (3)certificate (3)
certificate (3)
 
Παγκόσμια ημέρα τρίτης ηλικίας
Παγκόσμια ημέρα τρίτης ηλικίαςΠαγκόσμια ημέρα τρίτης ηλικίας
Παγκόσμια ημέρα τρίτης ηλικίας
 
191ª Asamblea Plenaria Extraordinaria de la CEP
191ª Asamblea Plenaria Extraordinaria de la CEP191ª Asamblea Plenaria Extraordinaria de la CEP
191ª Asamblea Plenaria Extraordinaria de la CEP
 
Πρόγραμμα γιορτής 28ης Οκτωβρίου 2014
Πρόγραμμα γιορτής 28ης Οκτωβρίου 2014Πρόγραμμα γιορτής 28ης Οκτωβρίου 2014
Πρόγραμμα γιορτής 28ης Οκτωβρίου 2014
 
R011.04.07.2015-VeteranResourceCenterResolutionFinal
R011.04.07.2015-VeteranResourceCenterResolutionFinalR011.04.07.2015-VeteranResourceCenterResolutionFinal
R011.04.07.2015-VeteranResourceCenterResolutionFinal
 
Omilia 3 ierarxon 30 1-2014
Omilia 3 ierarxon 30 1-2014Omilia 3 ierarxon 30 1-2014
Omilia 3 ierarxon 30 1-2014
 
งานคอม
งานคอมงานคอม
งานคอม
 
Homilía de la toma de posesión de la sede
Homilía de la toma de posesión de la sedeHomilía de la toma de posesión de la sede
Homilía de la toma de posesión de la sede
 
14 Google Glass Innovative Use Cases in Education
14 Google Glass Innovative Use Cases in Education14 Google Glass Innovative Use Cases in Education
14 Google Glass Innovative Use Cases in Education
 
10 Reasons To Use Open Source Software-Defined Networking
10 Reasons To Use Open Source Software-Defined Networking10 Reasons To Use Open Source Software-Defined Networking
10 Reasons To Use Open Source Software-Defined Networking
 
Internet of Things
Internet of ThingsInternet of Things
Internet of Things
 
Curriculo nacional 2016
Curriculo nacional 2016Curriculo nacional 2016
Curriculo nacional 2016
 
Διαγωνισμός Καγκουρώ 2016 17
Διαγωνισμός Καγκουρώ 2016 17Διαγωνισμός Καγκουρώ 2016 17
Διαγωνισμός Καγκουρώ 2016 17
 

Semelhante a Procedures - Pascal

Semelhante a Procedures - Pascal (20)

Aula 2 - TEÓRICA - Prof. MSc. Cloves Rocha - PIE - AA - (2018.2) CCO 8 NA
Aula 2 - TEÓRICA - Prof. MSc. Cloves Rocha - PIE - AA - (2018.2) CCO 8 NAAula 2 - TEÓRICA - Prof. MSc. Cloves Rocha - PIE - AA - (2018.2) CCO 8 NA
Aula 2 - TEÓRICA - Prof. MSc. Cloves Rocha - PIE - AA - (2018.2) CCO 8 NA
 
0001
00010001
0001
 
000003 complexidade
000003 complexidade000003 complexidade
000003 complexidade
 
Aula 3-lógica.pptx
Aula 3-lógica.pptxAula 3-lógica.pptx
Aula 3-lógica.pptx
 
Manual PSInf - Modulo 5
Manual PSInf - Modulo 5Manual PSInf - Modulo 5
Manual PSInf - Modulo 5
 
Estratégias e Técnicas de Testes - Parte 2
Estratégias e Técnicas de Testes - Parte 2Estratégias e Técnicas de Testes - Parte 2
Estratégias e Técnicas de Testes - Parte 2
 
Math
MathMath
Math
 
Construcao de Algoritmos - Aula 12
Construcao de Algoritmos - Aula 12Construcao de Algoritmos - Aula 12
Construcao de Algoritmos - Aula 12
 
Módulo 2 pascal
Módulo 2  pascalMódulo 2  pascal
Módulo 2 pascal
 
Visualg
VisualgVisualg
Visualg
 
Algoritmo e lógica de programação - Aula 1
Algoritmo e lógica de programação - Aula 1Algoritmo e lógica de programação - Aula 1
Algoritmo e lógica de programação - Aula 1
 
Linguagem c wellington telles - aula 06
Linguagem c   wellington telles - aula 06Linguagem c   wellington telles - aula 06
Linguagem c wellington telles - aula 06
 
Curso Básico de Java - Aula 10
Curso Básico de Java - Aula 10Curso Básico de Java - Aula 10
Curso Básico de Java - Aula 10
 
Curso Básico de Java - Aula 5
Curso Básico de Java - Aula 5Curso Básico de Java - Aula 5
Curso Básico de Java - Aula 5
 
03 algoritmos basicos
03 algoritmos basicos03 algoritmos basicos
03 algoritmos basicos
 
Recursividade
RecursividadeRecursividade
Recursividade
 
Linguagem C - Vetores
Linguagem C - VetoresLinguagem C - Vetores
Linguagem C - Vetores
 
Algoritmos e LP - Aula 09 - Linguagem C - p2.pdf
Algoritmos e LP - Aula 09 - Linguagem C - p2.pdfAlgoritmos e LP - Aula 09 - Linguagem C - p2.pdf
Algoritmos e LP - Aula 09 - Linguagem C - p2.pdf
 
Programação aula002
Programação aula002Programação aula002
Programação aula002
 
Logica Algoritmo 07 Subalgoritmos
Logica Algoritmo 07 SubalgoritmosLogica Algoritmo 07 Subalgoritmos
Logica Algoritmo 07 Subalgoritmos
 

Procedures - Pascal

  • 1. Subprogramas : Procedimentos (procedures) em Pascal Prof. Luis Otavio Alvares
  • 2. Funções/procedimentosFunções/procedimentos • FunçõesFunções • devolvem 1 valor • o valor calculado é usado diretamente pelo programa • ProcedimentosProcedimentos • podem devolver zero, um ou mais valores • valores são passados como parâmetros
  • 3. Procedures sem parâmetros Exemplo Program teste; Procedure asteriscos; Var I:integer; Begin writeln; for I:=1 to 80 do write(’*’); Writeln; End; {programa principal} ... Asteriscos; {chamada da procedure} ... Asteriscos; {chamada da procedure} ...
  • 4. Procedures com parâmetros • Há duas formas de passagem de parâmetros nas procedures em Pascal: • Por valor e por referência • Na passagem por valor, como o próprio nome indica, somente o valor é passado (é usado para os parâmetros de entrada da procedure). Análogo aos parâmetros de funções. • Na passagem por referência, o valor do parâmetro pode ser alterado e vai ser percebido pelo programa que chamou a procedure (é usado para os parâmetros de saída da procedure)
  • 5. Exemplo Program ExcomFatorial; Procedure Fat(A:integer ; Var X:real); Var I: integer; begin X:= 1; for I:=1 to A do X:= X * I; end; {programa principal} var Valor : integer; f : real; begin write('digite um numero inteiro: '); readln(Valor); If ( Valor >= 1 ) then begin Fat(Valor, f); writeln('Fatorial de ',Valor,' = ',f:5:0); end; readln; end.
  • 6. 6 Procedures - PascalProcedures - Pascal DeclaraçãoDeclaração Procedure <identificador> [( <lista de parâmetros formais> ) ] ; [ <declaração de variáveis locais>; ] begin < comandos separados por ‘;’ > end; Lista de parâmetros formaisLista de parâmetros formais [ var ] < lista de identificadores > : <tipo>; ... Procedure Teste ( A, B: integer; var C: real ); begin C := A / B; end; Ex:Ex: opcionais Indica passagem de parâmetro por referência- opcional
  • 7. Exemplo com dois parâmetros de saída • Fazer uma procedure que receba como parâmetro o nome de um vetor e forneça como saída o maior elemento do vetor e a sua posição.
  • 8. program exemploProcedure; type tipoVetor = array[1..10] of integer; procedure maiorElemento(V:tipoVetor; var maior,posicao:integer); var I:integer; begin maior:=V[1]; posicao:= 1; for I:= 1 to 10 do if V[I] > maior then begin maior:=V[I]; posicao:=I; end; end; var vet:tipoVetor; I,M,P:integer; begin writeln('informe os 10 valores do vetor: '); for I:=1 to 10 do readln(vet[I]); maiorElemento(vet,M,P); writeln('o maior elemento do vetor eh: ',M,' na posicao ',P); readln; end.
  • 10. 10 var X : integer; Procedure Muda; begin X := 1 end; { Muda } begin {programa principal } X := 0; Muda; write ( X ); end. Procedure Muda; var X : integer; begin X := 1 end; { Muda } var X : integer; {programa principal } begin X := 0; Muda; write ( X ); end. Procedure Muda (X : integer); begin X := 1 end; { Muda } var X : integer; {programa principal } begin X := 0; Muda (X); write ( X ); end. Procedure Muda (var X: integer); begin X := 1 end; { Muda } ar X : integer; {programa principal } begin X := 0; Muda (X); write ( X ); end. Variável global Muda valor da variável Variável local Não muda valor da variável do progr. principal Parâmetro por valor Não muda valor da variável do progr. principal Parâmetro por referência Muda valor da variável do progr. principal
  • 11. Exercício • Faça uma procedure que receba como parâmetro de entrada uma matriz 5x5 e forneça como saída o maior e o menor elemento da matriz.
  • 12. program procedureMatriz; type tipoMatriz = array[1..5,1..5] of integer; procedure maiorMenor(M:tipoMatriz; var maior,menor:integer); var I,K:integer; begin maior:=M[1,1]; menor:=M[1,1]; for I:= 1 to 5 do for K:=1 to 5 do begin if M[I,K] > maior then maior:=M[I,K]; if M[I,K] < menor then menor:=M[I,K]; end; end; var Mat:tipoMatriz; L,C,M,Menor:integer; begin for L:= 1 to 5 do begin writeln('informe os valores da linha ',L); for C:=1 to 5 do readln(Mat[L,C]); end; maiorMenor(Mat,M,Menor); writeln('o maior elemento da matriz eh: ',M); writeln('o menor elemento da matriz eh: ',Menor); readln; end.
  • 13. Units • Units em Pascal são bibliotecas de funções e procedures. Algumas já vem com o compilador, como a unit CRT, que tem funções para a saída em vídeo. • As funções e procedures definidas pelo usuário podem ser salvas em uma unit e desta forma utilizadas em qualquer programa.
  • 14. Exemplo de definição de unit unit minhaUnit; interface Function Fat(X:integer): real; function Pot(base:real;exp:integer):real; implementation Function Fat(X:integer): real; var I:integer; begin fat:=1; for I:= 1 to X do Fat:=Fat*I; End; function Pot(base:real;exp:integer):real; var I:integer; begin Pot:=1; for I:=1 to exp do Pot:=Pot*base; end; end.
  • 15. Exemplo de uso de unit {calcula o cosseno de um angulo do 1. quadrante dado em radianos} uses minhaUnit; {é uma declaração} function cos1quad(A:real):real; var I,sinal:integer; cos:real; begin cos:=1; sinal:=-1; I:=2; while I<= 60 {30 termos da serie} do begin cos:=cos+sinal*(Pot(A,I)/fat(I)); sinal:=sinal*-1; I:=I+2; end; cos1quad:=cos; end; {--- programa principal ---} var angulo: real; begin write(‘informe o angulo do 1. quadrante em radianos’); readln(angulo); writeln('o cosseno de ',angulo,' eh aproximadamente ', cos1quad(angulo):1:6); readln; end.