Algoritmos e Linguagem
de Programação
Professor: Mauro Jansen

Parte 5 – Sub-algoritmos

09/11/2010
Introdução
Conforme a complexidade dos problemas, os
algoritmos tornam-se mais extensos e difíceis de
acompanhar
Solução: ...
Conceito
Sub-algoritmos, sub-rotinas, subprogramas ou módulos são blocos de
instruções que realizam tarefas específicas
Ca...
Funcionamento
Um algoritmo completo é dividido em:
UM Algoritmo principal
Diversos Sub-algoritmos

A execução sempre começ...
Funcionamento (ilustração)
Algoritmo Principal
instrução 1
instrução 2
Subalgoritmo 1
instrução 3

Subalgoritmo 1
instruçã...
Funcionamento (ilustração)
A execução pode ser visualizada como segue:
Algoritmo Principal
instrução 1
instrução 2

Subalg...
Variáveis Locais e Variáveis Globais
Variáveis Globais são declaradas no início do algoritmo
e pode ser usadas no algoritm...
Tipos de sub-algoritmos
Existem dois tipos de sub-algoritmos:
PROCEDIMENTOS
FUNÇÕES

Prof. Mauro

Algoritmos e Ling.de Pro...
Procedimentos
PROCEDIMENTO é um sub-algoritmo que
não retorna valor ao algoritmo chamador
ou que retorna dois ou mais valo...
Funções
FUNÇÃO é um sub-algoritmo que calcula um
valor a partir de outros fornecidos a ela,
retornando o valor calculado
A...
Parâmetros e retorno
Os parâmetros possibilitam a comunicação entre um
subalgoritmo e o algoritmo chamador.
Corresponde ao...
Parâmetros e retorno
A passagem de parâmetros pode se dar de duas formas:
Por valor: neste caso é passada uma cópia do
con...
Declarando sub-algoritmos
O NOME dos sub-algoritmo deve seguir as
mesmas regras para definição de nomes
de variáveis
Sempr...
Declarando procedimentos
Para declarar um procedimento, devemos seguir o
modelo a seguir.
Algoritmo NomeAlgoritmo
Variávei...
Declarando funções
Para declarar uma função, devemos seguir o modelo a
seguir.
Algoritmo NomeAlgoritmo
Variáveis
<Aqui são...
Exemplo
Um algoritmo, com uma função que recebe dois números inteiros
como parâmetros e retorna a soma desses números ao a...
Exemplo (algoritmo completo)
Algoritmo SomaDeDoisNumeros
Variáveis
num1, num2, s: Inteiro
Função soma (x, y: Inteiro)
Vari...
Exercícios
Reescreva um dos exercícios de vetores ou
matrizes criando um procedimento para ler
os dados e outro para proce...
Upcoming SlideShare
Loading in …5
×

Algoritmos e lp parte 5-subalgoritmos

1,179
-1

Published on

sub-algoritmos

Published in: Technology
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,179
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
170
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

Algoritmos e lp parte 5-subalgoritmos

  1. 1. Algoritmos e Linguagem de Programação Professor: Mauro Jansen Parte 5 – Sub-algoritmos 09/11/2010
  2. 2. Introdução Conforme a complexidade dos problemas, os algoritmos tornam-se mais extensos e difíceis de acompanhar Solução: Dividir para conquistar Nesses casos (e mesmo em problemas mais simples) é importante dividirmos a tarefa de resolução do problema em tarefas menores chamados MÓDULOS ou SUB-ALGORITMOS Cada parte (módulo) do algoritmo fica responsável por uma determinada parte do processo e o conjunto de módulos resolve o problema principal Prof. Mauro Algoritmos e Ling.de Programação Sub-algoritmos 2
  3. 3. Conceito Sub-algoritmos, sub-rotinas, subprogramas ou módulos são blocos de instruções que realizam tarefas específicas Cada sub-algoritmo é um trecho do algoritmo completo e resolve uma parte do problema Os algoritmos podem também ser REUTILIZADO na solução de outros problemas Prof. Mauro Algoritmos e Ling.de Programação Sub-algoritmos 3
  4. 4. Funcionamento Um algoritmo completo é dividido em: UM Algoritmo principal Diversos Sub-algoritmos A execução sempre começa pelo algoritmo principal A execução de um subalgoritmo é solicitada sempre que necessário, através de uma chamada ou invocação. Quando um subalgoritmo é chamado, a execução do algoritmo principal é interrompida para que o subalgoritmo seja executado. Após isso, o algoritmo principal continua de onde parou Prof. Mauro Algoritmos e Ling.de Programação Sub-algoritmos 4
  5. 5. Funcionamento (ilustração) Algoritmo Principal instrução 1 instrução 2 Subalgoritmo 1 instrução 3 Subalgoritmo 1 instrução 1 Subalgoritmo 2 instrução 2 Subalgoritmo 2 instrução 1 instrução 2 Prof. Mauro A execução inicial aqui e segue a sequência das instruções. A execução do Algoritmo Principal é interrompida até que o Subalgoritmo 1 seja executado, continuando em seguida a partir da instrução 3. Executado no momento em que é invocado pelo Algoritmo Principal. A execução do Subalgoritmo 1 é interrompida até que o Subalgoritmo 2 seja executado, continuando em seguida a partir da instrução 2. Executado no momento em que é invocado pelo Subalgoritmo 1. Terminada a execução, volta para continuar o Subalgoritmo 1. Quando terminar o Subalgoritmo 1, volta para continuar com a execução do Algoritmo Principal. Algoritmos e Ling.de Programação Sub-algoritmos 5
  6. 6. Funcionamento (ilustração) A execução pode ser visualizada como segue: Algoritmo Principal instrução 1 instrução 2 Subalgoritmo 1 instrução 1 Subalgoritmo 2 instrução 1 instrução 2 instrução 2 instrução 3 Prof. Mauro Algoritmos e Ling.de Programação Sub-algoritmos 6
  7. 7. Variáveis Locais e Variáveis Globais Variáveis Globais são declaradas no início do algoritmo e pode ser usadas no algoritmo principal e por todos os subalgoritmos. Variáveis Locais são definidas dentro de um subalgoritmo e só podem ser utilizadas dentro dele. As variáveis A e B são globais e podem ser usadas por qualquer subalgoritmo A, B: Real instrução 1 instrução 2 Subalgoritmo 1 Subalgoritmo 2 X, Y: Inteiro instrução 1 instrução 2 num: Inteiro instrução 1 instrução 2 As variáveis X e Y só podem ser utilizadas no subalgoritmo 1 e a variável num só pode ser utilizada no subalgoritmo 2. instrução 3 Prof. Mauro Algoritmos e Ling.de Programação Sub-algoritmos 7
  8. 8. Tipos de sub-algoritmos Existem dois tipos de sub-algoritmos: PROCEDIMENTOS FUNÇÕES Prof. Mauro Algoritmos e Ling.de Programação Sub-algoritmos 8
  9. 9. Procedimentos PROCEDIMENTO é um sub-algoritmo que não retorna valor ao algoritmo chamador ou que retorna dois ou mais valores A chamada de procedimentos só pode ser feita com uma linha de comando isolada dentro do algoritmo Se retornar valores, o retorno é feito por meio de parâmetros ou variáveis globais Exemplos: solicita_valores, lista_resultados Prof. Mauro Algoritmos e Ling.de Programação Sub-algoritmos 9
  10. 10. Funções FUNÇÃO é um sub-algoritmo que calcula um valor a partir de outros fornecidos a ela, retornando o valor calculado A chamada a uma função sempre ocorre dentro de uma expressão do mesmo tipo que tem o valor retornado por ela. Sua chamada é feita pelo seu nome, seguido de seus respectivos parâmetros entre parênteses. A função é executada e, ao seu término, o trecho do comando que a invocou é substituído pelo valor retornado Exemplos: primo(<número>), fatorial(<número>) Prof. Mauro Algoritmos e Ling.de Programação Sub-algoritmos 10
  11. 11. Parâmetros e retorno Os parâmetros possibilitam a comunicação entre um subalgoritmo e o algoritmo chamador. Corresponde aos dados que são passados ao subalgoritmo pelo algoritmo chamador. A passagem de dados para procedimentos e funções se dá da mesma forma. Retorno de Dados No caso dos procedimentos os dados são retornados através dos parâmetros. No caso das funções, o retorne se dá pelo comando Retorne. Retorne <expressão> Ao encontrar este comando, a expressão é retornada ao chamador e a função é terminada. Prof. Mauro Algoritmos e Ling.de Programação Sub-algoritmos 11
  12. 12. Parâmetros e retorno A passagem de parâmetros pode se dar de duas formas: Por valor: neste caso é passada uma cópia do conteúdo de uma variável. Essa cópia só existirá no procedimento ou na função. Qualquer alteração que for feita no valor, não irá alterar o conteúdo da variável original. Por referência: não existe cópia do conteúdo enviado, o que ocorre é o envio do endereço de memória onde a variável se encontra. Neste caso, qualquer alteração no valor alterará o valor da variável original. Prof. Mauro Algoritmos e Ling.de Programação Sub-algoritmos 12
  13. 13. Declarando sub-algoritmos O NOME dos sub-algoritmo deve seguir as mesmas regras para definição de nomes de variáveis Sempre que um sub-algoritmo recebe parâmetros, estes devem ser especificados entre parênteses, com seus respectivos tipos, logo após o nome do sub-algoritmo Prof. Mauro Algoritmos e Ling.de Programação Sub-algoritmos 13
  14. 14. Declarando procedimentos Para declarar um procedimento, devemos seguir o modelo a seguir. Algoritmo NomeAlgoritmo Variáveis <Aqui são declaradas as Variáveis Globais> Início <Aqui são colocadas as instruções do Algoritmo Principal> Fim Procedimento NomeProcedimento (Lista de Parâmetros) Variáveis <Aqui são declaradas as Variáveis do Procedimento> Início <Aqui são colocadas as instruções do Procedimento> Fim Prof. Mauro Algoritmos e Ling.de Programação Sub-algoritmos 14
  15. 15. Declarando funções Para declarar uma função, devemos seguir o modelo a seguir. Algoritmo NomeAlgoritmo Variáveis <Aqui são declaradas as Variáveis Globais> Início <Aqui são colocadas as instruções do Algoritmo Principal> Fim Função NomeFunção (Lista de Parâmetros) Variáveis <Aqui são declaradas as Variáveis da Função> Início <Aqui são colocadas as instruções da Função> Fim Prof. Mauro Algoritmos e Ling.de Programação Sub-algoritmos 15
  16. 16. Exemplo Um algoritmo, com uma função que recebe dois números inteiros como parâmetros e retorna a soma desses números ao algoritmo principal. Nome da Função Parâmetros e seus tipos Neste caso, os parâmetros são os dois valores que serão somados. Função soma (x, y: Inteiro) Variáveis adicao: Inteiro Início adicao ← x + y Retorne adicao Fim Uma variável local para armazenar o valor da soma O comando que retorna o valor da soma para o algoritmo que chamou a função Prof. Mauro Algoritmos e Ling.de Programação Sub-algoritmos 16
  17. 17. Exemplo (algoritmo completo) Algoritmo SomaDeDoisNumeros Variáveis num1, num2, s: Inteiro Função soma (x, y: Inteiro) Variáveis adicao: Inteiro Início adicao ← x + y Retorne adicao Fim Início Escreva “Digite o Primeiro Numero” Leia num1 Escreva “Digite o Segundo Numero” Leia num2 s ← soma(num1, num2) Escreva s Fim Prof. Mauro Aqui se inicia o algoritmo principal, que solicita dois números ao usuário e, em seguida, chama a função que realiza a soma dos números. Guarda a soma retornada pela função na variável s e mostra o valor na tela. Quando a função é chamada, a execução do algoritmo principal fica parada até que a função seja finalizada e retorne o resultado. Algoritmos e Ling.de Programação Sub-algoritmos 17
  18. 18. Exercícios Reescreva um dos exercícios de vetores ou matrizes criando um procedimento para ler os dados e outro para processar e mostrar os resultados Crie uma função para calcular o fatorial de um número Crie uma função para determinar se um número é primo Prof. Mauro Algoritmos e Ling.de Programação Sub-algoritmos 18
  1. ¿Le ha llamado la atención una diapositiva en particular?

    Recortar diapositivas es una manera útil de recopilar información importante para consultarla más tarde.

×