SlideShare a Scribd company logo
Disciplina: Constr. de Algoritmos e Prog. de Sistemas
Professor: Jeovane Reges
Caxias – MA
2016
ACULDADE DE CIÊNCIAS
E TECNOLOGIA DO
MARANHÃO
Link Drive
bit.ly/ads-algoritmos
2
3
Algoritmos
4
Procedimentos ou
Funções
• Algoritmos
• Introdução
• Suponha que seja necessário utilizar a fórmula
abaixo em diversas partes de um dado programa.
𝑓 𝑥 =
5𝑥 + 3
𝑥² − 16
• Agora, imagine que você a utilizou em 50 partes do
seu código e precisa altera-la?
• COMO RESOLVERIA ESSE PROBLEMA?
5
6
Fazer tantas alterações é inviável.
Seria mais fácil se fizéssemos uma
ÚNICA alteração.
• Algoritmos
• Introdução
• Para contornar tal problema, utilizamos as funções
ou procedimentos.
• A principal vantagem é não precisar escrever o
mesmo código diversas vezes para um mesmo tipo
de operação.
• Os procedimentos diferem das funções apenas por
não retornarem valor nenhum.
• Ao longo da disciplina já usamos diversas funções.
7
• Algoritmos
• Introdução
• Parâmetros
• Funções (e procedimentos) podem ou não
receber parâmetros.
• No caso da função abaixo, é necessário passar
como parâmetro um valor para ser atribuído a
variável x.
𝑓 𝑥 =
5𝒙 + 3
𝒙² − 16
8
• Algoritmos
• Introdução
• Parâmetros
• São canais por onde os dados são transferidos
pelo algoritmo chamador a um subalgoritmo.
• Parâmetros Formais:
 São os nomes simbólicos usados na definição dos
parâmetros de um subalgoritmo.
• Parâmetros Reais:
 São aqueles que substituem os parâmetros formais
quando da chamada de um subalgoritmo.
9
• Algoritmos
• Introdução
• Parâmetros
 Exemplo:
• Parâmetros Formais
• Parâmetros Reais
10
procedimento soma (a, b: inteiro)
var
soma: inteiro
inicio
x ← 10
y ← 20
soma(x, y)
fimalgoritmo
• Algoritmos
• Procedimento
• A sintaxe para criação de procedimentos é:
11
procedimento <nome do procedimento> (<parâmetros>)
var
<declaração das variáveis locais>
inicio
<bloco de instruções>
fimprocedimento
Faça um procedimento que receba um
valor como parâmetro e escreva o
dobro desse valor.
12
Problema I
• Algoritmos
• Procedimento
13
algoritmo "Problema 01"
var
procedimento dobro(valor: inteiro)
var
total: inteiro
inicio
total ← valor * 2
escreval("O dobro é: ", total)
fimprocedimento
inicio
dobro(8)
fimalgoritmo
SoluçãodoProblemaI...
Problema I
Faça um procedimento que receba um
valor como parâmetro e escreva a
tabuada de 0 a 10 desse valor.
14
Problema II
• Algoritmos
• Procedimento
15
algoritmo "Problema 02"
var
numero: inteiro
procedimento tabuada(valor: inteiro)
var
i: inteiro
inicio
para i de 1 ate 10 faca
escreval(valor * i)
fimpara
fimprocedimento
inicio
escreval("Digite um valor: ")
leia(numero)
tabuada(numero)
fimalgoritmo
SoluçãodoProblemaII...
• Algoritmos
• Procedimento
• Variáveis
• A variável numero do código anterior é uma
variável cujo escopo é global.
• Uma variável pertence ao escopo global quando
ela é visível em qualquer trecho do código.
• Uma variável possui o escopo local quando ela é
visível apenas no trecho onde foi
declarada/criada.
16
17
Funções
• Algoritmos
• Funções
• Introdução
• As funções sempre irão retornar algum valor.
• A sintaxe para criação de funções é:
18
funcao <nome da funcao> (<parâmetros>): tipo
var
<declaração das variáveis locais>
inicio
<bloco de instruções>
retorne <valor>
fimfuncao
Problema I
Crie uma função que receba dois
valores por parâmetro e retorne a
soma desses valores.
19
Problema III
• Algoritmos
• Função
20
algoritmo "Problema 03"
var
res: inteiro
funcao soma(n1, n2: inteiro) : inteiro
var
inicio
retorne n1 + n2
fimfuncao
inicio
res ← soma(8, 7)
escreval("Resultado: ", res)
fimalgoritmo
SoluçãodoProblemaIII...
21
Problema IV
Faça uma função chamada maior que
receba dois números (inteiros) por
parâmetros e retorne o maior deles.
• Algoritmos
• Função
22
algoritmo "Problema 04"
var
funcao maior(v1, v2: inteiro) : inteiro
var
inicio
se (v1 > v2) entao
retorne v1
senao
retorne v2
fimse
fimfuncao
inicio
escreval("Maior: ", maior(8, 7))
fimalgoritmo
SoluçãodoProblemaIV...
23
Problema V
Faça uma função chamada compara que receba
dois números por parâmetros. A função deve
retornar os seguintes resultados:
→ 0, se os dois números forem iguais;
→ 1, se o primeiro número for maior que o segundo;
→ -1 , se o segundo número for maior que o primeiro.
• Algoritmos
• Função
24
SoluçãodoProblemaV...
algoritmo "Problema 05"
var
funcao compara(v1, v2: inteiro) : inteiro
var
inicio
se (v1 = v2) entao
retorne 0
senao
se (v1 > v2) entao
retorne 1
senao
retorne -1
fimse
fimse
fimfuncao
inicio
escreval("Resultado: ", compara(8, 7))
fimalgoritmo
• Algoritmos
• Conclusão
• Funções e procedimentos são utilizados com
muita frequência em desenvolvimento de
software.
• São vários benefícios:
 Evita duplicação de código quando precisamos
executar a mesma operação várias vezes;
 Deixa o entendimento do algoritmo mais intuitivo,
pois tiramos a parte complexa do código do fluxo
principal do algoritmo.
25
• Algoritmos
• Conclusão
• São vários benefícios:
 Dividir e estruturar um algoritmo em partes
logicamente coerentes.
 Proporcionar ao programador a reutilização de
código, através da criação de bibliotecas de
funções personalizadas.
 Maior legibilidade do algoritmo.
 Evitar a repetição de código, substituindo códigos
semelhantes por chamadas a uma única função.
26

More Related Content

What's hot

Introdução a Algoritmos: Conceitos Básicos
Introdução a Algoritmos: Conceitos BásicosIntrodução a Algoritmos: Conceitos Básicos
Introdução a Algoritmos: Conceitos BásicosElaine Cecília Gatto
 
Introdução à analise e complexidade de algoritmos
Introdução à analise e complexidade de algoritmosIntrodução à analise e complexidade de algoritmos
Introdução à analise e complexidade de algoritmosNécio de Lima Veras
 
Lista funcões e recursividade
Lista funcões e recursividadeLista funcões e recursividade
Lista funcões e recursividadeAnielli Lemes
 
Course in GNU Octave / Matlab and Applications for Engineers (in Portuguese: ...
Course in GNU Octave / Matlab and Applications for Engineers (in Portuguese: ...Course in GNU Octave / Matlab and Applications for Engineers (in Portuguese: ...
Course in GNU Octave / Matlab and Applications for Engineers (in Portuguese: ...Tiago Oliveira Weber
 
Exercicios Php
Exercicios PhpExercicios Php
Exercicios Phpsofteam
 
Lista de exercício resposta
Lista de exercício   respostaLista de exercício   resposta
Lista de exercício respostaHercules Santhus
 
Algoritmos e Programação: Matrizes
Algoritmos e Programação: MatrizesAlgoritmos e Programação: Matrizes
Algoritmos e Programação: MatrizesAlex Camargo
 
5 expressoes logicas - operadores - base binaria - operadores de bits
5   expressoes logicas - operadores - base binaria - operadores de bits5   expressoes logicas - operadores - base binaria - operadores de bits
5 expressoes logicas - operadores - base binaria - operadores de bitsRicardo Bolanho
 
Estrutura de decisão switch case
Estrutura de decisão switch caseEstrutura de decisão switch case
Estrutura de decisão switch caseAlessandra Sra JM
 
Algoritmos 01 - Semana 08 - Estruturas de repetição
Algoritmos 01 - Semana 08 - Estruturas de repetiçãoAlgoritmos 01 - Semana 08 - Estruturas de repetição
Algoritmos 01 - Semana 08 - Estruturas de repetiçãoEder Samaniego
 

What's hot (20)

Construcao de Algoritmos - Aula 03
Construcao de Algoritmos - Aula 03Construcao de Algoritmos - Aula 03
Construcao de Algoritmos - Aula 03
 
Construcao de Algoritmos - Aula 11
Construcao de Algoritmos - Aula 11Construcao de Algoritmos - Aula 11
Construcao de Algoritmos - Aula 11
 
Introdução a Algoritmos: Conceitos Básicos
Introdução a Algoritmos: Conceitos BásicosIntrodução a Algoritmos: Conceitos Básicos
Introdução a Algoritmos: Conceitos Básicos
 
Introdução à analise e complexidade de algoritmos
Introdução à analise e complexidade de algoritmosIntrodução à analise e complexidade de algoritmos
Introdução à analise e complexidade de algoritmos
 
000003 complexidade
000003 complexidade000003 complexidade
000003 complexidade
 
0001
00010001
0001
 
Lista funcões e recursividade
Lista funcões e recursividadeLista funcões e recursividade
Lista funcões e recursividade
 
Course in GNU Octave / Matlab and Applications for Engineers (in Portuguese: ...
Course in GNU Octave / Matlab and Applications for Engineers (in Portuguese: ...Course in GNU Octave / Matlab and Applications for Engineers (in Portuguese: ...
Course in GNU Octave / Matlab and Applications for Engineers (in Portuguese: ...
 
Introdução ao matlab
Introdução ao matlabIntrodução ao matlab
Introdução ao matlab
 
Aula 05 Vetores
Aula 05  VetoresAula 05  Vetores
Aula 05 Vetores
 
Aula 2 aed - pseudocódigo
Aula 2   aed - pseudocódigoAula 2   aed - pseudocódigo
Aula 2 aed - pseudocódigo
 
Exercicios Php
Exercicios PhpExercicios Php
Exercicios Php
 
Lista de exercício resposta
Lista de exercício   respostaLista de exercício   resposta
Lista de exercício resposta
 
Algoritmos e Programação: Matrizes
Algoritmos e Programação: MatrizesAlgoritmos e Programação: Matrizes
Algoritmos e Programação: Matrizes
 
5 expressoes logicas - operadores - base binaria - operadores de bits
5   expressoes logicas - operadores - base binaria - operadores de bits5   expressoes logicas - operadores - base binaria - operadores de bits
5 expressoes logicas - operadores - base binaria - operadores de bits
 
Estrutura de decisão switch case
Estrutura de decisão switch caseEstrutura de decisão switch case
Estrutura de decisão switch case
 
Arquitetura 6 1
Arquitetura 6   1Arquitetura 6   1
Arquitetura 6 1
 
Manual lindo 6.1
Manual lindo 6.1Manual lindo 6.1
Manual lindo 6.1
 
Algoritmos 01 - Semana 08 - Estruturas de repetição
Algoritmos 01 - Semana 08 - Estruturas de repetiçãoAlgoritmos 01 - Semana 08 - Estruturas de repetição
Algoritmos 01 - Semana 08 - Estruturas de repetição
 
Arquitetura 4
Arquitetura 4Arquitetura 4
Arquitetura 4
 

Viewers also liked (14)

Banco de Dados 01 - Semana 02
Banco de Dados 01 - Semana 02 Banco de Dados 01 - Semana 02
Banco de Dados 01 - Semana 02
 
Lista de Exercícios Algoritmo Semana 04
Lista de Exercícios Algoritmo Semana 04Lista de Exercícios Algoritmo Semana 04
Lista de Exercícios Algoritmo Semana 04
 
Visualg primeira interação
Visualg   primeira interaçãoVisualg   primeira interação
Visualg primeira interação
 
Proyecto nacional simon bolivar1
Proyecto nacional simon bolivar1Proyecto nacional simon bolivar1
Proyecto nacional simon bolivar1
 
Business plan
Business planBusiness plan
Business plan
 
Adnovus
AdnovusAdnovus
Adnovus
 
TV projekat Ekipa (mozaik)
TV projekat Ekipa (mozaik)TV projekat Ekipa (mozaik)
TV projekat Ekipa (mozaik)
 
Web RDF
Web RDFWeb RDF
Web RDF
 
Construcao de Algoritmos - Aula 13
Construcao de Algoritmos - Aula 13Construcao de Algoritmos - Aula 13
Construcao de Algoritmos - Aula 13
 
Lógica de programação com visu alg
Lógica de programação com visu algLógica de programação com visu alg
Lógica de programação com visu alg
 
Algoritmo 01 - Semana 01
Algoritmo 01 - Semana 01Algoritmo 01 - Semana 01
Algoritmo 01 - Semana 01
 
Algoritmos 01 - Semana 03 - Exercícios de Leitura e Atribuição
Algoritmos 01 - Semana 03  - Exercícios de Leitura e AtribuiçãoAlgoritmos 01 - Semana 03  - Exercícios de Leitura e Atribuição
Algoritmos 01 - Semana 03 - Exercícios de Leitura e Atribuição
 
Semana 01 - Lista de Exercícios
Semana 01 - Lista de ExercíciosSemana 01 - Lista de Exercícios
Semana 01 - Lista de Exercícios
 
Construcao de Algoritmos - Aula 01
Construcao de Algoritmos - Aula 01Construcao de Algoritmos - Aula 01
Construcao de Algoritmos - Aula 01
 

Similar to Construcao de Algoritmos - Aula 12

Introdução aos algoritmos e à algoritmia.pptx
Introdução aos algoritmos e à algoritmia.pptxIntrodução aos algoritmos e à algoritmia.pptx
Introdução aos algoritmos e à algoritmia.pptxPaulo Cardoso
 
Introdução - Algoritmos
Introdução - AlgoritmosIntrodução - Algoritmos
Introdução - AlgoritmosPsLucas
 
Aula 9 - Resultado Operandos Matemáticos, Operadores Aritmeticos, Relacionais...
Aula 9 - Resultado Operandos Matemáticos, Operadores Aritmeticos, Relacionais...Aula 9 - Resultado Operandos Matemáticos, Operadores Aritmeticos, Relacionais...
Aula 9 - Resultado Operandos Matemáticos, Operadores Aritmeticos, Relacionais...André Constantino da Silva
 
Aula02_Vars_Ident_Ent_Saida_Algoritmos.pptx
Aula02_Vars_Ident_Ent_Saida_Algoritmos.pptxAula02_Vars_Ident_Ent_Saida_Algoritmos.pptx
Aula02_Vars_Ident_Ent_Saida_Algoritmos.pptxaronoliveira3
 
Unidade 111 estrutura de dados e lógica de programação - com respostas 15-0...
Unidade 111   estrutura de dados e lógica de programação - com respostas 15-0...Unidade 111   estrutura de dados e lógica de programação - com respostas 15-0...
Unidade 111 estrutura de dados e lógica de programação - com respostas 15-0...Alex Casañas
 
Unidade 111 estrutura de dados e lógica de programação - com respostas 15-0...
Unidade 111   estrutura de dados e lógica de programação - com respostas 15-0...Unidade 111   estrutura de dados e lógica de programação - com respostas 15-0...
Unidade 111 estrutura de dados e lógica de programação - com respostas 15-0...Alex Casañas
 
Unidade 111 estrutura de dados e lógica de programação - com respostas 15-0...
Unidade 111   estrutura de dados e lógica de programação - com respostas 15-0...Unidade 111   estrutura de dados e lógica de programação - com respostas 15-0...
Unidade 111 estrutura de dados e lógica de programação - com respostas 15-0...Alex Casañas
 
Unidade 111 estrutura de dados e lógica de programação - com respostas 15-0...
Unidade 111   estrutura de dados e lógica de programação - com respostas 15-0...Unidade 111   estrutura de dados e lógica de programação - com respostas 15-0...
Unidade 111 estrutura de dados e lógica de programação - com respostas 15-0...Alex Casañas
 
Alg aula 08 - modularizacao
Alg   aula 08 - modularizacaoAlg   aula 08 - modularizacao
Alg aula 08 - modularizacaoThalles Anderson
 
Algoritmos e Programação: Funcionamento do computador. Conceito e definição d...
Algoritmos e Programação: Funcionamento do computador. Conceito e definição d...Algoritmos e Programação: Funcionamento do computador. Conceito e definição d...
Algoritmos e Programação: Funcionamento do computador. Conceito e definição d...Alex Camargo
 
Conceitos e técnicas de programação aula 2
Conceitos e técnicas de programação aula 2Conceitos e técnicas de programação aula 2
Conceitos e técnicas de programação aula 2Robson Ferreira
 

Similar to Construcao de Algoritmos - Aula 12 (20)

Aula 3-lógica.pptx
Aula 3-lógica.pptxAula 3-lógica.pptx
Aula 3-lógica.pptx
 
Visualg
VisualgVisualg
Visualg
 
Introdução aos algoritmos e à algoritmia.pptx
Introdução aos algoritmos e à algoritmia.pptxIntrodução aos algoritmos e à algoritmia.pptx
Introdução aos algoritmos e à algoritmia.pptx
 
Test-driven Development
Test-driven DevelopmentTest-driven Development
Test-driven Development
 
Introdução - Algoritmos
Introdução - AlgoritmosIntrodução - Algoritmos
Introdução - Algoritmos
 
Refactoring - Design no Código
Refactoring - Design no CódigoRefactoring - Design no Código
Refactoring - Design no Código
 
Aula 9 - Resultado Operandos Matemáticos, Operadores Aritmeticos, Relacionais...
Aula 9 - Resultado Operandos Matemáticos, Operadores Aritmeticos, Relacionais...Aula 9 - Resultado Operandos Matemáticos, Operadores Aritmeticos, Relacionais...
Aula 9 - Resultado Operandos Matemáticos, Operadores Aritmeticos, Relacionais...
 
Aula02_Vars_Ident_Ent_Saida_Algoritmos.pptx
Aula02_Vars_Ident_Ent_Saida_Algoritmos.pptxAula02_Vars_Ident_Ent_Saida_Algoritmos.pptx
Aula02_Vars_Ident_Ent_Saida_Algoritmos.pptx
 
Series lab
Series labSeries lab
Series lab
 
Procedures
ProceduresProcedures
Procedures
 
Unidade 111 estrutura de dados e lógica de programação - com respostas 15-0...
Unidade 111   estrutura de dados e lógica de programação - com respostas 15-0...Unidade 111   estrutura de dados e lógica de programação - com respostas 15-0...
Unidade 111 estrutura de dados e lógica de programação - com respostas 15-0...
 
Unidade 111 estrutura de dados e lógica de programação - com respostas 15-0...
Unidade 111   estrutura de dados e lógica de programação - com respostas 15-0...Unidade 111   estrutura de dados e lógica de programação - com respostas 15-0...
Unidade 111 estrutura de dados e lógica de programação - com respostas 15-0...
 
Unidade 111 estrutura de dados e lógica de programação - com respostas 15-0...
Unidade 111   estrutura de dados e lógica de programação - com respostas 15-0...Unidade 111   estrutura de dados e lógica de programação - com respostas 15-0...
Unidade 111 estrutura de dados e lógica de programação - com respostas 15-0...
 
Unidade 111 estrutura de dados e lógica de programação - com respostas 15-0...
Unidade 111   estrutura de dados e lógica de programação - com respostas 15-0...Unidade 111   estrutura de dados e lógica de programação - com respostas 15-0...
Unidade 111 estrutura de dados e lógica de programação - com respostas 15-0...
 
Curs omatlab52
Curs omatlab52Curs omatlab52
Curs omatlab52
 
Alg aula 08 - modularizacao
Alg   aula 08 - modularizacaoAlg   aula 08 - modularizacao
Alg aula 08 - modularizacao
 
Java - Primeiros passos
Java - Primeiros passosJava - Primeiros passos
Java - Primeiros passos
 
Algoritmos e Programação: Funcionamento do computador. Conceito e definição d...
Algoritmos e Programação: Funcionamento do computador. Conceito e definição d...Algoritmos e Programação: Funcionamento do computador. Conceito e definição d...
Algoritmos e Programação: Funcionamento do computador. Conceito e definição d...
 
Conceitos e técnicas de programação aula 2
Conceitos e técnicas de programação aula 2Conceitos e técnicas de programação aula 2
Conceitos e técnicas de programação aula 2
 
Laços de Repetição
Laços de RepetiçãoLaços de Repetição
Laços de Repetição
 

Recently uploaded

São Filipe Neri, fundador da a Congregação do Oratório 1515-1595.pptx
São Filipe Neri, fundador da a Congregação do Oratório 1515-1595.pptxSão Filipe Neri, fundador da a Congregação do Oratório 1515-1595.pptx
São Filipe Neri, fundador da a Congregação do Oratório 1515-1595.pptxMartin M Flynn
 
Respostas prova do exame nacional Port. 2008 - 1ª fase - Criterios.pdf
Respostas prova do exame nacional Port. 2008 - 1ª fase - Criterios.pdfRespostas prova do exame nacional Port. 2008 - 1ª fase - Criterios.pdf
Respostas prova do exame nacional Port. 2008 - 1ª fase - Criterios.pdfssuser06ee57
 
UFCD_9184_Saúde, nutrição, higiene, segurança, repouso e conforto da criança ...
UFCD_9184_Saúde, nutrição, higiene, segurança, repouso e conforto da criança ...UFCD_9184_Saúde, nutrição, higiene, segurança, repouso e conforto da criança ...
UFCD_9184_Saúde, nutrição, higiene, segurança, repouso e conforto da criança ...Manuais Formação
 
Slides Lição 8, Betel, Ordenança para confessar os pecados e perdoar as ofens...
Slides Lição 8, Betel, Ordenança para confessar os pecados e perdoar as ofens...Slides Lição 8, Betel, Ordenança para confessar os pecados e perdoar as ofens...
Slides Lição 8, Betel, Ordenança para confessar os pecados e perdoar as ofens...LuizHenriquedeAlmeid6
 
CONTO-3º-4º-E-5ºANO-A-PRINCESA-E-A-ERVILHA[1] (1).docx
CONTO-3º-4º-E-5ºANO-A-PRINCESA-E-A-ERVILHA[1] (1).docxCONTO-3º-4º-E-5ºANO-A-PRINCESA-E-A-ERVILHA[1] (1).docx
CONTO-3º-4º-E-5ºANO-A-PRINCESA-E-A-ERVILHA[1] (1).docxEduardaMedeiros18
 
Exercícios de Clima no brasil e no mundo.pdf
Exercícios de Clima no brasil e no mundo.pdfExercícios de Clima no brasil e no mundo.pdf
Exercícios de Clima no brasil e no mundo.pdfRILTONNOGUEIRADOSSAN
 
Atividades-Sobre-o-Conto-Venha-Ver-o-Por-Do-Sol.docx
Atividades-Sobre-o-Conto-Venha-Ver-o-Por-Do-Sol.docxAtividades-Sobre-o-Conto-Venha-Ver-o-Por-Do-Sol.docx
Atividades-Sobre-o-Conto-Venha-Ver-o-Por-Do-Sol.docxSolangeWaltre
 
bem estar animal em proteção integrada componente animal
bem estar animal em proteção integrada componente animalbem estar animal em proteção integrada componente animal
bem estar animal em proteção integrada componente animalcarlamgalves5
 
Hans Kelsen - Teoria Pura do Direito - Obra completa.pdf
Hans Kelsen - Teoria Pura do Direito - Obra completa.pdfHans Kelsen - Teoria Pura do Direito - Obra completa.pdf
Hans Kelsen - Teoria Pura do Direito - Obra completa.pdfLeandroTelesRocha2
 
Descrever e planear atividades imersivas estruturadamente
Descrever e planear atividades imersivas estruturadamenteDescrever e planear atividades imersivas estruturadamente
Descrever e planear atividades imersivas estruturadamenteLeonel Morgado
 
Slides Lição 8, CPAD, Confessando e Abandonando o Pecado.pptx
Slides Lição 8, CPAD, Confessando e Abandonando o Pecado.pptxSlides Lição 8, CPAD, Confessando e Abandonando o Pecado.pptx
Slides Lição 8, CPAD, Confessando e Abandonando o Pecado.pptxLuizHenriquedeAlmeid6
 
APH- Avaliação de cena , analise geral do ambiente e paciente.
APH- Avaliação de cena , analise geral do ambiente e paciente.APH- Avaliação de cena , analise geral do ambiente e paciente.
APH- Avaliação de cena , analise geral do ambiente e paciente.HandersonFabio
 
Multiplicação - Caça-número
Multiplicação - Caça-número Multiplicação - Caça-número
Multiplicação - Caça-número Mary Alvarenga
 
Meu corpo - Ruth Rocha e Anna Flora livro
Meu corpo - Ruth Rocha e Anna Flora livroMeu corpo - Ruth Rocha e Anna Flora livro
Meu corpo - Ruth Rocha e Anna Flora livroBrenda Fritz
 
"Nós Propomos! Mobilidade sustentável na Sertã"
"Nós Propomos! Mobilidade sustentável na Sertã""Nós Propomos! Mobilidade sustentável na Sertã"
"Nós Propomos! Mobilidade sustentável na Sertã"Ilda Bicacro
 
Produção de poemas - Reciclar é preciso
Produção  de  poemas  -  Reciclar é precisoProdução  de  poemas  -  Reciclar é preciso
Produção de poemas - Reciclar é precisoMary Alvarenga
 
Semana Interna de Prevenção de Acidentes SIPAT/2024
Semana Interna de Prevenção de Acidentes SIPAT/2024Semana Interna de Prevenção de Acidentes SIPAT/2024
Semana Interna de Prevenção de Acidentes SIPAT/2024Rosana Andrea Miranda
 
prova do exame nacional Port. 2008 - 2ª fase - Criterios.pdf
prova do exame nacional Port. 2008 - 2ª fase - Criterios.pdfprova do exame nacional Port. 2008 - 2ª fase - Criterios.pdf
prova do exame nacional Port. 2008 - 2ª fase - Criterios.pdfssuser06ee57
 
Atividade do poema sobre mãe de mário quintana.pdf
Atividade do poema sobre mãe de mário quintana.pdfAtividade do poema sobre mãe de mário quintana.pdf
Atividade do poema sobre mãe de mário quintana.pdfmaria794949
 
ufcd_9649_Educação Inclusiva e Necessidades Educativas Especificas_índice.pdf
ufcd_9649_Educação Inclusiva e Necessidades Educativas Especificas_índice.pdfufcd_9649_Educação Inclusiva e Necessidades Educativas Especificas_índice.pdf
ufcd_9649_Educação Inclusiva e Necessidades Educativas Especificas_índice.pdfManuais Formação
 

Recently uploaded (20)

São Filipe Neri, fundador da a Congregação do Oratório 1515-1595.pptx
São Filipe Neri, fundador da a Congregação do Oratório 1515-1595.pptxSão Filipe Neri, fundador da a Congregação do Oratório 1515-1595.pptx
São Filipe Neri, fundador da a Congregação do Oratório 1515-1595.pptx
 
Respostas prova do exame nacional Port. 2008 - 1ª fase - Criterios.pdf
Respostas prova do exame nacional Port. 2008 - 1ª fase - Criterios.pdfRespostas prova do exame nacional Port. 2008 - 1ª fase - Criterios.pdf
Respostas prova do exame nacional Port. 2008 - 1ª fase - Criterios.pdf
 
UFCD_9184_Saúde, nutrição, higiene, segurança, repouso e conforto da criança ...
UFCD_9184_Saúde, nutrição, higiene, segurança, repouso e conforto da criança ...UFCD_9184_Saúde, nutrição, higiene, segurança, repouso e conforto da criança ...
UFCD_9184_Saúde, nutrição, higiene, segurança, repouso e conforto da criança ...
 
Slides Lição 8, Betel, Ordenança para confessar os pecados e perdoar as ofens...
Slides Lição 8, Betel, Ordenança para confessar os pecados e perdoar as ofens...Slides Lição 8, Betel, Ordenança para confessar os pecados e perdoar as ofens...
Slides Lição 8, Betel, Ordenança para confessar os pecados e perdoar as ofens...
 
CONTO-3º-4º-E-5ºANO-A-PRINCESA-E-A-ERVILHA[1] (1).docx
CONTO-3º-4º-E-5ºANO-A-PRINCESA-E-A-ERVILHA[1] (1).docxCONTO-3º-4º-E-5ºANO-A-PRINCESA-E-A-ERVILHA[1] (1).docx
CONTO-3º-4º-E-5ºANO-A-PRINCESA-E-A-ERVILHA[1] (1).docx
 
Exercícios de Clima no brasil e no mundo.pdf
Exercícios de Clima no brasil e no mundo.pdfExercícios de Clima no brasil e no mundo.pdf
Exercícios de Clima no brasil e no mundo.pdf
 
Atividades-Sobre-o-Conto-Venha-Ver-o-Por-Do-Sol.docx
Atividades-Sobre-o-Conto-Venha-Ver-o-Por-Do-Sol.docxAtividades-Sobre-o-Conto-Venha-Ver-o-Por-Do-Sol.docx
Atividades-Sobre-o-Conto-Venha-Ver-o-Por-Do-Sol.docx
 
bem estar animal em proteção integrada componente animal
bem estar animal em proteção integrada componente animalbem estar animal em proteção integrada componente animal
bem estar animal em proteção integrada componente animal
 
Hans Kelsen - Teoria Pura do Direito - Obra completa.pdf
Hans Kelsen - Teoria Pura do Direito - Obra completa.pdfHans Kelsen - Teoria Pura do Direito - Obra completa.pdf
Hans Kelsen - Teoria Pura do Direito - Obra completa.pdf
 
Descrever e planear atividades imersivas estruturadamente
Descrever e planear atividades imersivas estruturadamenteDescrever e planear atividades imersivas estruturadamente
Descrever e planear atividades imersivas estruturadamente
 
Slides Lição 8, CPAD, Confessando e Abandonando o Pecado.pptx
Slides Lição 8, CPAD, Confessando e Abandonando o Pecado.pptxSlides Lição 8, CPAD, Confessando e Abandonando o Pecado.pptx
Slides Lição 8, CPAD, Confessando e Abandonando o Pecado.pptx
 
APH- Avaliação de cena , analise geral do ambiente e paciente.
APH- Avaliação de cena , analise geral do ambiente e paciente.APH- Avaliação de cena , analise geral do ambiente e paciente.
APH- Avaliação de cena , analise geral do ambiente e paciente.
 
Multiplicação - Caça-número
Multiplicação - Caça-número Multiplicação - Caça-número
Multiplicação - Caça-número
 
Meu corpo - Ruth Rocha e Anna Flora livro
Meu corpo - Ruth Rocha e Anna Flora livroMeu corpo - Ruth Rocha e Anna Flora livro
Meu corpo - Ruth Rocha e Anna Flora livro
 
"Nós Propomos! Mobilidade sustentável na Sertã"
"Nós Propomos! Mobilidade sustentável na Sertã""Nós Propomos! Mobilidade sustentável na Sertã"
"Nós Propomos! Mobilidade sustentável na Sertã"
 
Produção de poemas - Reciclar é preciso
Produção  de  poemas  -  Reciclar é precisoProdução  de  poemas  -  Reciclar é preciso
Produção de poemas - Reciclar é preciso
 
Semana Interna de Prevenção de Acidentes SIPAT/2024
Semana Interna de Prevenção de Acidentes SIPAT/2024Semana Interna de Prevenção de Acidentes SIPAT/2024
Semana Interna de Prevenção de Acidentes SIPAT/2024
 
prova do exame nacional Port. 2008 - 2ª fase - Criterios.pdf
prova do exame nacional Port. 2008 - 2ª fase - Criterios.pdfprova do exame nacional Port. 2008 - 2ª fase - Criterios.pdf
prova do exame nacional Port. 2008 - 2ª fase - Criterios.pdf
 
Atividade do poema sobre mãe de mário quintana.pdf
Atividade do poema sobre mãe de mário quintana.pdfAtividade do poema sobre mãe de mário quintana.pdf
Atividade do poema sobre mãe de mário quintana.pdf
 
ufcd_9649_Educação Inclusiva e Necessidades Educativas Especificas_índice.pdf
ufcd_9649_Educação Inclusiva e Necessidades Educativas Especificas_índice.pdfufcd_9649_Educação Inclusiva e Necessidades Educativas Especificas_índice.pdf
ufcd_9649_Educação Inclusiva e Necessidades Educativas Especificas_índice.pdf
 

Construcao de Algoritmos - Aula 12

  • 1. Disciplina: Constr. de Algoritmos e Prog. de Sistemas Professor: Jeovane Reges Caxias – MA 2016 ACULDADE DE CIÊNCIAS E TECNOLOGIA DO MARANHÃO
  • 5. • Algoritmos • Introdução • Suponha que seja necessário utilizar a fórmula abaixo em diversas partes de um dado programa. 𝑓 𝑥 = 5𝑥 + 3 𝑥² − 16 • Agora, imagine que você a utilizou em 50 partes do seu código e precisa altera-la? • COMO RESOLVERIA ESSE PROBLEMA? 5
  • 6. 6 Fazer tantas alterações é inviável. Seria mais fácil se fizéssemos uma ÚNICA alteração.
  • 7. • Algoritmos • Introdução • Para contornar tal problema, utilizamos as funções ou procedimentos. • A principal vantagem é não precisar escrever o mesmo código diversas vezes para um mesmo tipo de operação. • Os procedimentos diferem das funções apenas por não retornarem valor nenhum. • Ao longo da disciplina já usamos diversas funções. 7
  • 8. • Algoritmos • Introdução • Parâmetros • Funções (e procedimentos) podem ou não receber parâmetros. • No caso da função abaixo, é necessário passar como parâmetro um valor para ser atribuído a variável x. 𝑓 𝑥 = 5𝒙 + 3 𝒙² − 16 8
  • 9. • Algoritmos • Introdução • Parâmetros • São canais por onde os dados são transferidos pelo algoritmo chamador a um subalgoritmo. • Parâmetros Formais:  São os nomes simbólicos usados na definição dos parâmetros de um subalgoritmo. • Parâmetros Reais:  São aqueles que substituem os parâmetros formais quando da chamada de um subalgoritmo. 9
  • 10. • Algoritmos • Introdução • Parâmetros  Exemplo: • Parâmetros Formais • Parâmetros Reais 10 procedimento soma (a, b: inteiro) var soma: inteiro inicio x ← 10 y ← 20 soma(x, y) fimalgoritmo
  • 11. • Algoritmos • Procedimento • A sintaxe para criação de procedimentos é: 11 procedimento <nome do procedimento> (<parâmetros>) var <declaração das variáveis locais> inicio <bloco de instruções> fimprocedimento
  • 12. Faça um procedimento que receba um valor como parâmetro e escreva o dobro desse valor. 12 Problema I
  • 13. • Algoritmos • Procedimento 13 algoritmo "Problema 01" var procedimento dobro(valor: inteiro) var total: inteiro inicio total ← valor * 2 escreval("O dobro é: ", total) fimprocedimento inicio dobro(8) fimalgoritmo SoluçãodoProblemaI...
  • 14. Problema I Faça um procedimento que receba um valor como parâmetro e escreva a tabuada de 0 a 10 desse valor. 14 Problema II
  • 15. • Algoritmos • Procedimento 15 algoritmo "Problema 02" var numero: inteiro procedimento tabuada(valor: inteiro) var i: inteiro inicio para i de 1 ate 10 faca escreval(valor * i) fimpara fimprocedimento inicio escreval("Digite um valor: ") leia(numero) tabuada(numero) fimalgoritmo SoluçãodoProblemaII...
  • 16. • Algoritmos • Procedimento • Variáveis • A variável numero do código anterior é uma variável cujo escopo é global. • Uma variável pertence ao escopo global quando ela é visível em qualquer trecho do código. • Uma variável possui o escopo local quando ela é visível apenas no trecho onde foi declarada/criada. 16
  • 18. • Algoritmos • Funções • Introdução • As funções sempre irão retornar algum valor. • A sintaxe para criação de funções é: 18 funcao <nome da funcao> (<parâmetros>): tipo var <declaração das variáveis locais> inicio <bloco de instruções> retorne <valor> fimfuncao
  • 19. Problema I Crie uma função que receba dois valores por parâmetro e retorne a soma desses valores. 19 Problema III
  • 20. • Algoritmos • Função 20 algoritmo "Problema 03" var res: inteiro funcao soma(n1, n2: inteiro) : inteiro var inicio retorne n1 + n2 fimfuncao inicio res ← soma(8, 7) escreval("Resultado: ", res) fimalgoritmo SoluçãodoProblemaIII...
  • 21. 21 Problema IV Faça uma função chamada maior que receba dois números (inteiros) por parâmetros e retorne o maior deles.
  • 22. • Algoritmos • Função 22 algoritmo "Problema 04" var funcao maior(v1, v2: inteiro) : inteiro var inicio se (v1 > v2) entao retorne v1 senao retorne v2 fimse fimfuncao inicio escreval("Maior: ", maior(8, 7)) fimalgoritmo SoluçãodoProblemaIV...
  • 23. 23 Problema V Faça uma função chamada compara que receba dois números por parâmetros. A função deve retornar os seguintes resultados: → 0, se os dois números forem iguais; → 1, se o primeiro número for maior que o segundo; → -1 , se o segundo número for maior que o primeiro.
  • 24. • Algoritmos • Função 24 SoluçãodoProblemaV... algoritmo "Problema 05" var funcao compara(v1, v2: inteiro) : inteiro var inicio se (v1 = v2) entao retorne 0 senao se (v1 > v2) entao retorne 1 senao retorne -1 fimse fimse fimfuncao inicio escreval("Resultado: ", compara(8, 7)) fimalgoritmo
  • 25. • Algoritmos • Conclusão • Funções e procedimentos são utilizados com muita frequência em desenvolvimento de software. • São vários benefícios:  Evita duplicação de código quando precisamos executar a mesma operação várias vezes;  Deixa o entendimento do algoritmo mais intuitivo, pois tiramos a parte complexa do código do fluxo principal do algoritmo. 25
  • 26. • Algoritmos • Conclusão • São vários benefícios:  Dividir e estruturar um algoritmo em partes logicamente coerentes.  Proporcionar ao programador a reutilização de código, através da criação de bibliotecas de funções personalizadas.  Maior legibilidade do algoritmo.  Evitar a repetição de código, substituindo códigos semelhantes por chamadas a uma única função. 26