Aula 7 -_aed_-_sub_algoritmos
Upcoming SlideShare
Loading in...5
×
 

Aula 7 -_aed_-_sub_algoritmos

on

  • 391 views

 

Statistics

Views

Total Views
391
Views on SlideShare
391
Embed Views
0

Actions

Likes
0
Downloads
4
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Aula 7 -_aed_-_sub_algoritmos Aula 7 -_aed_-_sub_algoritmos Presentation Transcript

  • Algoritmos eEstruturas de DadosAula 7 e Aula 818 e 25/09/2012Profª Ms. Engª Elaine Cecília GattoUnidade 6: Procedimentos e FunçõesCurso de Bacharelado em Engenharia de ComputaçãoUniversidade do Sagrado Coração – USCBauru/SP
  • SubAlgoritmos• DIVIDIR PARA CONQUISTAR:• Método para resolução de problemas que consiste em dividir um problema, em problemas menores e mais fáceis de solucionar.• PROJETO DESCENDENTE (TOP-DOWN DESIGN):• Método de projetar a solução de um problema principal obtendo soluções de seus subproblemas.• As partes em que se divide um programa devem ser desenvolvidas independentemente umas das outras
  • SubAlgoritmos ALGORITMO PRINCIPALSUBALGORITMO 1 SUBALGORITMO 2 SUBALGORITMO 3 PROGRAMA PRINCIPALSUBPROGRAMA1 SUBPROGRAMA 2 SUBPROGRAMA 3
  • SubAlgoritmos• Um subprograma/subalgoritmo pode ralizar as mesmas ações que um programa:1. Aceitar dados2. Realizar alguns cálculos3. Devolver resultados• Entretanto, um subprograma é utilizado por um programa para um propósito específico.• O programa principal chama ou invoca um subprograma.• O subprograma, quando invocado, obtém o controle, executa sua tarefa e devolve o controle ao programa principal.• Existem dois tipos de subprogramas: FUNÇÕES e PROCEDIMENTOS.
  • SubAlgoritmos PROGRAMA Chamada 1 PRINCIPAL--------------------- Retorno 1 SUBPROGRAMA ALGORITMO Chamada 2 -------------------------- SUBALGORITMO Retorno 2
  • SubAlgoritmos Chamada 1 SUBPROGRAMA 1 Retorno 1 Chamada 2PROGRAMA SUBPROGRAMA 2 SUBPROGRAMA 2.1 PRINCIPAL Retorno 2 SUBPROGRAMA 3
  • SubAlgoritmos: FUNÇÕES•
  • SubAlgoritmos: FUNÇÕES•
  • Declarando Funções<tipo_de_resultado> função <nome_função> (lista_de_paramêtros)(declarações locais)início <ações> //corpo da função devolver (<expressão>)fim_função
  • Declarando Funções<tipo_de_resultado> função <nome_função> (lista_de_paramêtros)(declarações locais) Tipo de resultado que a função retorna:início inteiro, real, string, caracter, <ações> //corpo da função booleano, etc. devolver (<expressão>)fim_função
  • Declarando Funções<tipo_de_resultado> função <nome_função> (lista_de_paramêtros)(declarações locais) Nome da função:início Dê um nome simples, objetivo e que te lembre o <ações> //corpo da função que está fazendo! devolver (<expressão>)fim_função
  • Declarando Funções<tipo_de_resultado> função <nome_função> (lista_de_parametros)(declarações locais) Lista de Parâmetros:início Parâmetros formais ou argumentos, com um ou mais argumentos <ações> //corpo da função devolver (<expressão>) ({E|S|E/S} tipo_de_dadoA: parametrofim_função 1; {E|S|E/S} tipo_de_dadoB: parametro 2; {E|S|E/S} tipo_de_dadoX: parametro x) Exemplo: inteiro funcao fatorial (E inteiro: n)
  • Declarando Funções<tipo_de_resultado> função <nome_função> (lista_de_parametros)(declarações locais) Declaração de Variáveis e Estruturas de Dados casoinício necessário <ações> //corpo da função devolver (<expressão>)fim_função
  • Declarando Funções<tipo_de_resultado> função <nome_função> (lista_de_parametros)(declarações locais) Instruções que constituem a definição da função e queinício devem conter uma única <ações> //corpo da função instrução; devolver (<expressão>)fim_função
  • Declarando Funções<tipo_de_resultado> função <nome_função> (lista_de_parametros)(declarações locais) Esta expressão existe se ainício função foi declarada com <ações> //corpo da função valor de retorno e expressão no valor devolvido pela devolver (<expressão>) função.fim_função Exemplo: uma função do tipo inteiro deve retornar um resultado do tipo inteiro
  • Declarando FunçõesExemplo:real função F(E real:x)início devolver ( x/(1+x*x) )fim_funçãoreal função tan(E real:X)início devolver (sem(x)/cos(x))fim_função
  • Declarando Funções• Parâmetros formas, fictícios ou mudos: são nomes de variáveis, de outras funções ou procedimentos e que somente são utilizados dentro do corpo da função.• Parâmetros atuais: são os argumentos utilizados quando chamamos a função e que podem ser constantes, variáveis, expressões, valores de funções, nomes de funções ou procedimentos.
  • Ativando Funçõesnome_função (lista_de_parametros_atuais)nome_função: função que chamalista_de_parametros_atuais: constantes, variáveis, expressões, valoresde funções, nomes de funções ou procedimentos;Quando chamamos uma função, automaticamente se estabelece umacorrespondência entre os parâmetros formais e os atuais, e por estemotivo, a quantidade destes parâmetros devem ser idênticas nachamada e na declaração da função.
  • Ativando FunçõesExemplo 1:real : função potência ( E real : x; E inteiro: n)var inteiro: i, y;início y  1; desde i  1 até abs(n) fazer //estrutura for y  y*x; fim_desde se n<0 então y  1/y; fim_sedevolver(y);fim_função
  • Ativando FunçõesExemplo 2:algoritmo Elevar_a_Potencia;var real : a, n;inicio escreva(‘Digite um número positivo’); leia(n); escreva(‘Digite um expoente’); leia(a); escreva(‘N elevado a = ’, potencia(n, a) ); //chama a funçãofimreal funcao potencia(E real: n, a)inicio devolver(EXP(a * LN(n)));fim_funcao
  • Ativando FunçõesExemplo 3:inteiro funcao FATORIAL (E inteiro:n)var inteiro: i, f; //advertência, segundo o resultado, f pode ser realinicio f  1; desde i  1 até n fazer //for f  f*1; fim_desde devolver(f);fim_funcao
  • Ativando Funçõesalgoritmo funcao_fatorial;var inteiro: x, y, numero;inicio escreva(‘Digite um número inteiro e positivo’); leia(numero); x  fatorial(numero); //chama a função y  fatorial(5); //chama a função escreva(x,y);Fim
  • Exercícios FUNÇÕES1. Projetar uma função para o cálculo do cubo de um número2. Projetar uma função para calcular o máximo divisor comum3. Projetar uma função para calcular o mínimo divisor comum4. Projetar uma função para calcular o seno5. Projetar uma função para calcular o cosseno6. Projetar uma função para calcular a tangente