SlideShare uma empresa Scribd logo
1 de 26
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

Mais conteúdo relacionado

Mais procurados

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
 

Mais procurados (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
 

Destaque (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
 

Semelhante a 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
 

Semelhante a 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
 

Último

Slides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptx
Slides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptxSlides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptx
Slides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptxLuizHenriquedeAlmeid6
 
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASB
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASBCRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASB
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASBAline Santana
 
Sociologia Contemporânea - Uma Abordagem dos principais autores
Sociologia Contemporânea - Uma Abordagem dos principais autoresSociologia Contemporânea - Uma Abordagem dos principais autores
Sociologia Contemporânea - Uma Abordagem dos principais autoresaulasgege
 
Apostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptx
Apostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptxApostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptx
Apostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptxIsabelaRafael2
 
William J. Bennett - O livro das virtudes para Crianças.pdf
William J. Bennett - O livro das virtudes para Crianças.pdfWilliam J. Bennett - O livro das virtudes para Crianças.pdf
William J. Bennett - O livro das virtudes para Crianças.pdfAdrianaCunha84
 
HORA DO CONTO4_BECRE D. CARLOS I_2023_2024
HORA DO CONTO4_BECRE D. CARLOS I_2023_2024HORA DO CONTO4_BECRE D. CARLOS I_2023_2024
HORA DO CONTO4_BECRE D. CARLOS I_2023_2024Sandra Pratas
 
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptxSlides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptxLuizHenriquedeAlmeid6
 
Aula 13 8º Ano Cap.04 Revolução Francesa.pptx
Aula 13 8º Ano Cap.04 Revolução Francesa.pptxAula 13 8º Ano Cap.04 Revolução Francesa.pptx
Aula 13 8º Ano Cap.04 Revolução Francesa.pptxBiancaNogueira42
 
ALMANANHE DE BRINCADEIRAS - 500 atividades escolares
ALMANANHE DE BRINCADEIRAS - 500 atividades escolaresALMANANHE DE BRINCADEIRAS - 500 atividades escolares
ALMANANHE DE BRINCADEIRAS - 500 atividades escolaresLilianPiola
 
Investimentos. EDUCAÇÃO FINANCEIRA 8º ANO
Investimentos. EDUCAÇÃO FINANCEIRA 8º ANOInvestimentos. EDUCAÇÃO FINANCEIRA 8º ANO
Investimentos. EDUCAÇÃO FINANCEIRA 8º ANOMarcosViniciusLemesL
 
Simulado 1 Etapa - 2024 Proximo Passo.pdf
Simulado 1 Etapa - 2024 Proximo Passo.pdfSimulado 1 Etapa - 2024 Proximo Passo.pdf
Simulado 1 Etapa - 2024 Proximo Passo.pdfEditoraEnovus
 
A experiência amorosa e a reflexão sobre o Amor.pptx
A experiência amorosa e a reflexão sobre o Amor.pptxA experiência amorosa e a reflexão sobre o Amor.pptx
A experiência amorosa e a reflexão sobre o Amor.pptxfabiolalopesmartins1
 
HORA DO CONTO3_BECRE D. CARLOS I_2023_2024
HORA DO CONTO3_BECRE D. CARLOS I_2023_2024HORA DO CONTO3_BECRE D. CARLOS I_2023_2024
HORA DO CONTO3_BECRE D. CARLOS I_2023_2024Sandra Pratas
 
Gerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem OrganizacionalGerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem OrganizacionalJacqueline Cerqueira
 
cartilha-pdi-plano-de-desenvolvimento-individual-do-estudante.pdf
cartilha-pdi-plano-de-desenvolvimento-individual-do-estudante.pdfcartilha-pdi-plano-de-desenvolvimento-individual-do-estudante.pdf
cartilha-pdi-plano-de-desenvolvimento-individual-do-estudante.pdfIedaGoethe
 
Slides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptx
Slides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptxSlides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptx
Slides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptxLuizHenriquedeAlmeid6
 
Época Realista y la obra de Madame Bovary.
Época Realista y la obra de Madame Bovary.Época Realista y la obra de Madame Bovary.
Época Realista y la obra de Madame Bovary.keislayyovera123
 
ABRIL VERDE.pptx Slide sobre abril ver 2024
ABRIL VERDE.pptx Slide sobre abril ver 2024ABRIL VERDE.pptx Slide sobre abril ver 2024
ABRIL VERDE.pptx Slide sobre abril ver 2024Jeanoliveira597523
 
Programa de Intervenção com Habilidades Motoras
Programa de Intervenção com Habilidades MotorasPrograma de Intervenção com Habilidades Motoras
Programa de Intervenção com Habilidades MotorasCassio Meira Jr.
 

Último (20)

Slides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptx
Slides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptxSlides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptx
Slides Lição 4, CPAD, Como se Conduzir na Caminhada, 2Tr24.pptx
 
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASB
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASBCRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASB
CRÔNICAS DE UMA TURMA - TURMA DE 9ºANO - EASB
 
Sociologia Contemporânea - Uma Abordagem dos principais autores
Sociologia Contemporânea - Uma Abordagem dos principais autoresSociologia Contemporânea - Uma Abordagem dos principais autores
Sociologia Contemporânea - Uma Abordagem dos principais autores
 
Apostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptx
Apostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptxApostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptx
Apostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptx
 
XI OLIMPÍADAS DA LÍNGUA PORTUGUESA -
XI OLIMPÍADAS DA LÍNGUA PORTUGUESA      -XI OLIMPÍADAS DA LÍNGUA PORTUGUESA      -
XI OLIMPÍADAS DA LÍNGUA PORTUGUESA -
 
William J. Bennett - O livro das virtudes para Crianças.pdf
William J. Bennett - O livro das virtudes para Crianças.pdfWilliam J. Bennett - O livro das virtudes para Crianças.pdf
William J. Bennett - O livro das virtudes para Crianças.pdf
 
HORA DO CONTO4_BECRE D. CARLOS I_2023_2024
HORA DO CONTO4_BECRE D. CARLOS I_2023_2024HORA DO CONTO4_BECRE D. CARLOS I_2023_2024
HORA DO CONTO4_BECRE D. CARLOS I_2023_2024
 
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptxSlides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
 
Aula 13 8º Ano Cap.04 Revolução Francesa.pptx
Aula 13 8º Ano Cap.04 Revolução Francesa.pptxAula 13 8º Ano Cap.04 Revolução Francesa.pptx
Aula 13 8º Ano Cap.04 Revolução Francesa.pptx
 
ALMANANHE DE BRINCADEIRAS - 500 atividades escolares
ALMANANHE DE BRINCADEIRAS - 500 atividades escolaresALMANANHE DE BRINCADEIRAS - 500 atividades escolares
ALMANANHE DE BRINCADEIRAS - 500 atividades escolares
 
Investimentos. EDUCAÇÃO FINANCEIRA 8º ANO
Investimentos. EDUCAÇÃO FINANCEIRA 8º ANOInvestimentos. EDUCAÇÃO FINANCEIRA 8º ANO
Investimentos. EDUCAÇÃO FINANCEIRA 8º ANO
 
Simulado 1 Etapa - 2024 Proximo Passo.pdf
Simulado 1 Etapa - 2024 Proximo Passo.pdfSimulado 1 Etapa - 2024 Proximo Passo.pdf
Simulado 1 Etapa - 2024 Proximo Passo.pdf
 
A experiência amorosa e a reflexão sobre o Amor.pptx
A experiência amorosa e a reflexão sobre o Amor.pptxA experiência amorosa e a reflexão sobre o Amor.pptx
A experiência amorosa e a reflexão sobre o Amor.pptx
 
HORA DO CONTO3_BECRE D. CARLOS I_2023_2024
HORA DO CONTO3_BECRE D. CARLOS I_2023_2024HORA DO CONTO3_BECRE D. CARLOS I_2023_2024
HORA DO CONTO3_BECRE D. CARLOS I_2023_2024
 
Gerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem OrganizacionalGerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem Organizacional
 
cartilha-pdi-plano-de-desenvolvimento-individual-do-estudante.pdf
cartilha-pdi-plano-de-desenvolvimento-individual-do-estudante.pdfcartilha-pdi-plano-de-desenvolvimento-individual-do-estudante.pdf
cartilha-pdi-plano-de-desenvolvimento-individual-do-estudante.pdf
 
Slides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptx
Slides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptxSlides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptx
Slides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptx
 
Época Realista y la obra de Madame Bovary.
Época Realista y la obra de Madame Bovary.Época Realista y la obra de Madame Bovary.
Época Realista y la obra de Madame Bovary.
 
ABRIL VERDE.pptx Slide sobre abril ver 2024
ABRIL VERDE.pptx Slide sobre abril ver 2024ABRIL VERDE.pptx Slide sobre abril ver 2024
ABRIL VERDE.pptx Slide sobre abril ver 2024
 
Programa de Intervenção com Habilidades Motoras
Programa de Intervenção com Habilidades MotorasPrograma de Intervenção com Habilidades Motoras
Programa de Intervenção com Habilidades Motoras
 

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